[
  {
    "path": ".dockerignore",
    "content": "**/.dockerignore\n**/.env\n**/.git\n**/.gitignore\n**/.vs\n**/.vscode\n**/*.*proj.user\n**/azds.yaml\n**/charts\n**/bin\n**/obj\n**/Dockerfile\n**/Dockerfile.develop\n**/docker-compose.yml\n**/docker-compose.*.yml\n**/*.dbmdl\n**/*.jfm\n**/secrets.dev.yaml\n**/values.dev.yaml\n**/.toolstarget"
  },
  {
    "path": ".gitattributes",
    "content": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs     diff=csharp\n\n# Standard to msysgit\n*.doc\t diff=astextplain\n*.DOC\t diff=astextplain\n*.docx diff=astextplain\n*.DOCX diff=astextplain\n*.dot  diff=astextplain\n*.DOT  diff=astextplain\n*.pdf  diff=astextplain\n*.PDF\t diff=astextplain\n*.rtf\t diff=astextplain\n*.RTF\t diff=astextplain\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# User-specific files\n*.rsuser\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\n[Aa][Rr][Mm]/\n[Aa][Rr][Mm]64/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_h.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*_wpftmp.csproj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n*.appx\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!?*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk\n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n*- Backup*.rdl\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush personal settings\n.cr/personal\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output\nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder\n.mfractor/\n\n# Local History for Visual Studio\n.localhistory/\n\n# BeatPulse healthcheck temp database\nhealthchecksdb\n\n#add by lulianqi"
  },
  {
    "path": "AutoTest/CsvFileHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\n\n\n/*******************************************************************************\n* Copyright (c) 2016 lijie\n* All rights reserved.\n* \n* 文件名称: \n* 内容摘要: mycllq@hotmail.com\n* \n* 历史记录:\n* 日\t  期:   201601010          创建人: lulianqi\n* 描    述: 创建\n*******************************************************************************/\n\nnamespace FreeHttp.AutoTest.MyCommonHelper.FileHelper\n{\n    /// <summary>\n    /// 单个元素支持包括tab，换行回车（\\r\\n），空内容等在内的所有文本字符 （在使用时请确定文件的编码方式）\n    /// 可指定元素分割符，行非官方必须为\\r\\n(\\r\\n可以作为内容出现在元素中)，转义字符必须为\".\n    /// 转义所有的引号必须出现在首尾（如果不在首尾，则不会按转义符处理，直接作为引号处理）[excel可以读取转义出现在中间的情况，而本身存储不会使用这种方式，保存时并会强制修复这种异常，所以这里遇到中间转义的情况直接抛出指定异常]\n    /// 如果在被转义的情况下需要出现引号，则使用2个引号代替（如果需要在首部使用双引号，则需要转义该元素，其他地方可直接使用）（excel对所有双引号都进行转义，无论其出现位置,对于保存方式可以选择是否按excel的方式进行保存）\n    /// 每一行的结尾是不需要逗号结束的，如果多加一个逗号则标识该行会多一个空元素\n    /// 空行也是一个空元素,一个逗号是2个空元素，所以不可能出现有的行元素为空\n    /// 使用问题或疑问可通过mycllq@hotmail.com进行联系\n    /// </summary>\n    public sealed class CsvFileHelper : IDisposable\n    {\n\n        #region Members\n\n        //private FileStream _fileStream;\n        private Stream _stream;\n        private StreamReader _streamReader;\n        //private StreamWriter _streamWriter;\n        //private Stream _memoryStream;\n        private Encoding _encoding;\n        //private readonly StringBuilder _columnBuilder = new StringBuilder(100);\n        private Type _type = Type.File;\n        private bool _trimColumns = false;\n\n        private char _csvSeparator = ',';\n\n\n        #endregion Members\n\n        #region Properties\n\n        /// <summary>\n        /// Gets or sets whether column values should be trimmed\n        /// </summary>\n        public bool TrimColumns\n        {\n            get { return _trimColumns; }\n            set { _trimColumns = value; }\n        }\n\n        public Type DataSouceType\n        {\n            get{ return _type;}\n        }\n\n        /// <summary>\n        /// get or set Csv Separator (Default Values is ,)\n        /// </summary>\n        public char CsvSeparator\n        {\n            get { return _csvSeparator; }\n            set { _csvSeparator = value; }\n        }\n        #endregion Properties\n\n        #region Enums\n\n        /// <summary>\n        /// Type enum\n        /// </summary>\n        public enum Type\n        {\n            File,\n            Stream\n        }\n\n        #endregion Enums\n\n        #region Methods\n        \n        /// <summary>\n        /// Initialises the reader to work from a file\n        /// </summary>\n        /// <param name=\"filePath\">File path</param>\n        public CsvFileHelper(string filePath):this(filePath, Encoding.Default)\n        {\n        }\n\n        /// <summary>\n        /// Initialises the reader to work from a file\n        /// </summary>\n        /// <param name=\"filePath\">File path</param>\n        /// <param name=\"encoding\">Encoding</param>\n        public CsvFileHelper(string filePath, Encoding encoding)\n        {\n            _type = Type.File;\n            if (!File.Exists(filePath))\n            {\n                throw new FileNotFoundException(string.Format(\"The file '{0}' does not exist.\", filePath));\n            }\n            //_stream = File.OpenRead(filePath); //return a FileStream   (OpenRead 源码就是 return new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);)\n            _stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);\n            _stream.Position = 0;\n            _encoding = (encoding ?? Encoding.Default);\n            _streamReader = new StreamReader(_stream, _encoding);\n        }\n\n       \n        /// <summary>\n        /// Initialises the reader to work from an existing stream\n        /// </summary>\n        /// <param name=\"stream\">Stream</param>\n        public CsvFileHelper(Stream stream):this(stream, Encoding.Default)\n        {\n        }\n\n        /// <summary>\n        /// Initialises the reader to work from an existing stream\n        /// </summary>\n        /// <param name=\"stream\">Stream</param>\n        /// <param name=\"encoding\">Encoding</param>\n        public CsvFileHelper(Stream stream, Encoding encoding)\n        {\n            _type = Type.Stream;\n            if (stream == null)\n            {\n                throw new ArgumentNullException(\"The supplied stream is null.\");\n            }\n            _stream = stream;\n            _stream.Position = 0;\n            _encoding = (encoding ?? Encoding.Default);\n            _streamReader = new StreamReader(_stream, _encoding);\n        }\n\n        /// <summary>\n        /// Initialises the reader to work from an existing stream (with the Separator char)\n        /// </summary>\n        /// <param name=\"stream\">Stream</param>\n        /// <param name=\"encoding\">Encoding</param>\n        /// <param name=\"yourSeparator\"> the Separator char</param>\n        public CsvFileHelper(Stream stream, Encoding encoding, char yourSeparator): this(stream, encoding)\n        {\n            CsvSeparator = yourSeparator;\n        }\n\n\n        private List<string> ParseLine(string line)\n        {\n            StringBuilder _columnBuilder = new StringBuilder();\n            List<string> Fields = new List<string>();\n            bool inColumn = false;  //是否是在一个列元素里\n            bool inQuotes = false;  //是否需要转义\n            bool isNotEnd = false;  //读取完毕未结束转义\n            _columnBuilder.Remove(0, _columnBuilder.Length);\n\n\n            // Iterate through every character in the line\n            for (int i = 0; i < line.Length; i++)\n            {\n                char character = line[i];\n\n                // If we are not currently inside a column\n                if (!inColumn)\n                {\n                    // If the current character is a double quote then the column value is contained within\n                    // double quotes, otherwise append the next character\n                    inColumn = true;\n                    if (character == '\"')\n                    {\n                        inQuotes = true;\n                        continue;\n                    }\n                    \n                }\n\n                // If we are in between double quotes\n                if (inQuotes)\n                {\n                    if ((i + 1) == line.Length)//这个字符已经结束了整行\n                    {\n                        if (character == '\"') //正常转义结束，且该行已经结束\n                        {\n                            inQuotes = false;\n                            continue;     //当前字符不用添加，跳出后直结束后会添加该元素\n                        }\n                        else //异常结束，转义未收尾\n                        {\n                            isNotEnd = true;\n                        }\n                    }\n                    else if (character == '\"' && line[i + 1] == _csvSeparator) //结束转义，且后面有可能还有数据\n                    {\n                        inQuotes = false;\n                        inColumn = false;\n                        i++; //跳过下一个字符\n                    }\n                    else if (character == '\"' && line[i + 1] == '\"') //双引号转义\n                    {\n                        i++; //跳过下一个字符\n                    }\n                    else if (character == '\"') //双引号单独出现（这种情况实际上已经是格式错误，为了兼容可暂时不处理）\n                    {\n                        throw new Exception(string.Format(\"[{0}]:格式错误，错误的双引号转义 near [{1}] \",\"ParseLine\", line));\n                    }\n                    //其他情况直接跳出，后面正常添加\n\n                }\n                else if (character == _csvSeparator)\n                    inColumn = false;\n\n                // If we are no longer in the column clear the builder and add the columns to the list\n                if (!inColumn) //结束该元素时inColumn置为false，并且不处理当前字符，直接进行Add\n                {\n                    Fields.Add(TrimColumns ? _columnBuilder.ToString().Trim() : _columnBuilder.ToString());\n                    _columnBuilder.Remove(0, _columnBuilder.Length);\n                   \n                }\n                else // append the current column\n                    _columnBuilder.Append(character);\n            }\n\n            // If we are still inside a column add a new one （标准格式一行结尾不需要逗号结尾，而上面for是遇到逗号才添加的，为了兼容最后还要添加一次）\n            if (inColumn)\n            {\n                if (isNotEnd)\n                {\n                    _columnBuilder.Append(\"\\r\\n\");\n                }\n                Fields.Add(TrimColumns ? _columnBuilder.ToString().Trim() : _columnBuilder.ToString());\n            }\n            //如果inColumn为false，说明已经添加，因为最后一个字符为分隔符，所以后面要加上一个空元素\n            //另外一种情况是line为\"\"空行，（空行也是一个空元素,一个逗号是2个空元素），正好inColumn为默认值false，在此处添加一空元素\n            else  \n            {\n                Fields.Add(\"\");\n            }\n\n\n            return Fields;\n        }\n\n        /// <summary>\n        /// 处理未完成的Csv单行\n        /// </summary>\n        /// <param name=\"line\">数据源</param>\n        /// <returns>元素列表</returns>\n        private List<string> ParseContinueLine(string line)\n        {\n            StringBuilder _columnBuilder = new StringBuilder();\n            List<string> Fields = new List<string>();\n            _columnBuilder.Remove(0, _columnBuilder.Length);\n            if (line == \"\")\n            {\n                Fields.Add(\"\\r\\n\");\n                return Fields;\n            }\n\n            for (int i = 0; i < line.Length; i++)\n            {\n                char character = line[i];\n\n                if ((i + 1) == line.Length)//这个字符已经结束了整行\n                {\n                    if (character == '\"') //正常转义结束，且该行已经结束\n                    {\n                        Fields.Add(TrimColumns ? _columnBuilder.ToString().TrimEnd() : _columnBuilder.ToString());\n                        return Fields;\n                    }\n                    else //异常结束，转义未收尾\n                    {\n                        _columnBuilder.Append(\"\\r\\n\");\n                        Fields.Add(_columnBuilder.ToString());\n                        return Fields;\n                    }\n                }\n                else if (character == '\"' && line[i + 1] == _csvSeparator) //结束转义，且后面有可能还有数据\n                {\n                    Fields.Add(TrimColumns ? _columnBuilder.ToString().TrimEnd() : _columnBuilder.ToString());\n                    i++; //跳过下一个字符\n                    Fields.AddRange(ParseLine(line.Remove(0, i+1)));\n                    break;\n                }\n                else if (character == '\"' && line[i + 1] == '\"') //双引号转义\n                {\n                    i++; //跳过下一个字符\n                }\n                else if (character == '\"') //双引号单独出现（这种情况实际上已经是格式错误，转义用双引号一定是【,\"】【\",】形式，包含在里面的双引号需要使用一对双引号进行转义）\n                {\n                    throw new Exception(string.Format(\"[{0}]:格式错误，错误的双引号转义 near [{1}]\", \"ParseContinueLine\", line));\n                }\n                _columnBuilder.Append(character);\n            }\n            return Fields;\n        }\n\n        public List<List<string>> GetListCsvData()\n        {\n            _stream.Position = 0;\n            List<List<string>> tempListCsvData = new List<List<string>>();\n            bool isNotEndLine = false;\n            //这里的ReadLine可能把转义的/r/n分割，需要后面单独处理\n            string tempCsvRowString = _streamReader.ReadLine();\n            while (tempCsvRowString!=null)\n            {\n                List<string> tempCsvRowList;\n                if (isNotEndLine)\n                {\n                    tempCsvRowList = ParseContinueLine(tempCsvRowString);\n                    isNotEndLine = (tempCsvRowList.Count > 0 && tempCsvRowList[tempCsvRowList.Count - 1].EndsWith(\"\\r\\n\"));\n                    List<string> myNowContinueList = tempListCsvData[tempListCsvData.Count - 1];\n                    myNowContinueList[myNowContinueList.Count - 1] += tempCsvRowList[0];\n                    tempCsvRowList.RemoveAt(0);\n                    myNowContinueList.AddRange(tempCsvRowList);\n                }\n                else\n                {\n                    tempCsvRowList = ParseLine(tempCsvRowString);\n                    isNotEndLine = (tempCsvRowList.Count > 0 && tempCsvRowList[tempCsvRowList.Count - 1].EndsWith(\"\\r\\n\"));\n                    tempListCsvData.Add(tempCsvRowList);\n                }\n                tempCsvRowString = _streamReader.ReadLine();\n            }\n            return tempListCsvData;\n        }\n\n        public void Dispose()\n        {\n            if(_streamReader!=null)\n            {\n                _streamReader.Dispose();\n            }\n            if(_stream!=null)\n            {\n                _stream.Dispose();\n            }\n        }\n\n        #endregion\n\n        #region StaticTool\n    \n        #region 编码方式可接受值\n        //请考虑让应用程序使用 UTF-8 或 Unicode (UTF-16) 作为默认编码。大多数其他编码要么不完整并将许多字符转换为“?”，要么在不同的平台上具有稍有不同的行为。非 Unicode 编码通常具有多义性，应用程序则不再试图确定合适的编码，也不再提供用户用来修复文本语言或编码的更正下拉菜单。 \n        /* \n        This code produces the following output.\n\n        CodePage identifier and name     BrDisp   BrSave   MNDisp   MNSave   1-Byte   ReadOnly \n        37     IBM037                    False    False    False    False    True     True     \n        437    IBM437                    False    False    False    False    True     True     \n        500    IBM500                    False    False    False    False    True     True     \n        708    ASMO-708                  True     True     False    False    True     True     \n        720    DOS-720                   True     True     False    False    True     True     \n        737    ibm737                    False    False    False    False    True     True     \n        775    ibm775                    False    False    False    False    True     True     \n        850    ibm850                    False    False    False    False    True     True     \n        852    ibm852                    True     True     False    False    True     True     \n        855    IBM855                    False    False    False    False    True     True     \n        857    ibm857                    False    False    False    False    True     True     \n        858    IBM00858                  False    False    False    False    True     True     \n        860    IBM860                    False    False    False    False    True     True     \n        861    ibm861                    False    False    False    False    True     True     \n        862    DOS-862                   True     True     False    False    True     True     \n        863    IBM863                    False    False    False    False    True     True     \n        864    IBM864                    False    False    False    False    True     True     \n        865    IBM865                    False    False    False    False    True     True     \n        866    cp866                     True     True     False    False    True     True     \n        869    ibm869                    False    False    False    False    True     True     \n        870    IBM870                    False    False    False    False    True     True     \n        874    windows-874               True     True     True     True     True     True     \n        875    cp875                     False    False    False    False    True     True     \n        932    shift_jis                 True     True     True     True     False    True     \n        936    gb2312                    True     True     True     True     False    True     \n        949    ks_c_5601-1987            True     True     True     True     False    True     \n        950    big5                      True     True     True     True     False    True     \n        1026   IBM1026                   False    False    False    False    True     True     \n        1047   IBM01047                  False    False    False    False    True     True     \n        1140   IBM01140                  False    False    False    False    True     True     \n        1141   IBM01141                  False    False    False    False    True     True     \n        1142   IBM01142                  False    False    False    False    True     True     \n        1143   IBM01143                  False    False    False    False    True     True     \n        1144   IBM01144                  False    False    False    False    True     True     \n        1145   IBM01145                  False    False    False    False    True     True     \n        1146   IBM01146                  False    False    False    False    True     True     \n        1147   IBM01147                  False    False    False    False    True     True     \n        1148   IBM01148                  False    False    False    False    True     True     \n        1149   IBM01149                  False    False    False    False    True     True     \n        1200   utf-16                    False    True     False    False    False    True     \n        1201   unicodeFFFE               False    False    False    False    False    True     \n        1250   windows-1250              True     True     True     True     True     True     \n        1251   windows-1251              True     True     True     True     True     True     \n        1252   Windows-1252              True     True     True     True     True     True     \n        1253   windows-1253              True     True     True     True     True     True     \n        1254   windows-1254              True     True     True     True     True     True     \n        1255   windows-1255              True     True     True     True     True     True     \n        1256   windows-1256              True     True     True     True     True     True     \n        1257   windows-1257              True     True     True     True     True     True     \n        1258   windows-1258              True     True     True     True     True     True     \n        1361   Johab                     False    False    False    False    False    True     \n        10000  macintosh                 False    False    False    False    True     True     \n        10001  x-mac-japanese            False    False    False    False    False    True     \n        10002  x-mac-chinesetrad         False    False    False    False    False    True     \n        10003  x-mac-korean              False    False    False    False    False    True     \n        10004  x-mac-arabic              False    False    False    False    True     True     \n        10005  x-mac-hebrew              False    False    False    False    True     True     \n        10006  x-mac-greek               False    False    False    False    True     True     \n        10007  x-mac-cyrillic            False    False    False    False    True     True     \n        10008  x-mac-chinesesimp         False    False    False    False    False    True     \n        10010  x-mac-romanian            False    False    False    False    True     True     \n        10017  x-mac-ukrainian           False    False    False    False    True     True     \n        10021  x-mac-thai                False    False    False    False    True     True     \n        10029  x-mac-ce                  False    False    False    False    True     True     \n        10079  x-mac-icelandic           False    False    False    False    True     True     \n        10081  x-mac-turkish             False    False    False    False    True     True     \n        10082  x-mac-croatian            False    False    False    False    True     True     \n        20000  x-Chinese-CNS             False    False    False    False    False    True     \n        20001  x-cp20001                 False    False    False    False    False    True     \n        20002  x-Chinese-Eten            False    False    False    False    False    True     \n        20003  x-cp20003                 False    False    False    False    False    True     \n        20004  x-cp20004                 False    False    False    False    False    True     \n        20005  x-cp20005                 False    False    False    False    False    True     \n        20105  x-IA5                     False    False    False    False    True     True     \n        20106  x-IA5-German              False    False    False    False    True     True     \n        20107  x-IA5-Swedish             False    False    False    False    True     True     \n        20108  x-IA5-Norwegian           False    False    False    False    True     True     \n        20127  us-ascii                  False    False    True     True     True     True     \n        20261  x-cp20261                 False    False    False    False    False    True     \n        20269  x-cp20269                 False    False    False    False    True     True     \n        20273  IBM273                    False    False    False    False    True     True     \n        20277  IBM277                    False    False    False    False    True     True     \n        20278  IBM278                    False    False    False    False    True     True     \n        20280  IBM280                    False    False    False    False    True     True     \n        20284  IBM284                    False    False    False    False    True     True     \n        20285  IBM285                    False    False    False    False    True     True     \n        20290  IBM290                    False    False    False    False    True     True     \n        20297  IBM297                    False    False    False    False    True     True     \n        20420  IBM420                    False    False    False    False    True     True     \n        20423  IBM423                    False    False    False    False    True     True     \n        20424  IBM424                    False    False    False    False    True     True     \n        20833  x-EBCDIC-KoreanExtended   False    False    False    False    True     True     \n        20838  IBM-Thai                  False    False    False    False    True     True     \n        20866  koi8-r                    True     True     True     True     True     True     \n        20871  IBM871                    False    False    False    False    True     True     \n        20880  IBM880                    False    False    False    False    True     True     \n        20905  IBM905                    False    False    False    False    True     True     \n        20924  IBM00924                  False    False    False    False    True     True     \n        20932  EUC-JP                    False    False    False    False    False    True     \n        20936  x-cp20936                 False    False    False    False    False    True     \n        20949  x-cp20949                 False    False    False    False    False    True     \n        21025  cp1025                    False    False    False    False    True     True     \n        21866  koi8-u                    True     True     True     True     True     True     \n        28591  iso-8859-1                True     True     True     True     True     True     \n        28592  iso-8859-2                True     True     True     True     True     True     \n        28593  iso-8859-3                False    False    True     True     True     True     \n        28594  iso-8859-4                True     True     True     True     True     True     \n        28595  iso-8859-5                True     True     True     True     True     True     \n        28596  iso-8859-6                True     True     True     True     True     True     \n        28597  iso-8859-7                True     True     True     True     True     True     \n        28598  iso-8859-8                True     True     False    False    True     True     \n        28599  iso-8859-9                True     True     True     True     True     True     \n        28603  iso-8859-13               False    False    False    False    True     True     \n        28605  iso-8859-15               False    True     True     True     True     True     \n        29001  x-Europa                  False    False    False    False    True     True     \n        38598  iso-8859-8-i              True     True     True     True     True     True     \n        50220  iso-2022-jp               False    False    True     True     False    True     \n        50221  csISO2022JP               False    True     True     True     False    True     \n        50222  iso-2022-jp               False    False    False    False    False    True     \n        50225  iso-2022-kr               False    False    True     False    False    True     \n        50227  x-cp50227                 False    False    False    False    False    True     \n        51932  euc-jp                    True     True     True     True     False    True     \n        51936  EUC-CN                    False    False    False    False    False    True     \n        51949  euc-kr                    False    False    True     True     False    True     \n        52936  hz-gb-2312                True     True     True     True     False    True     \n        54936  GB18030                   True     True     True     True     False    True     \n        57002  x-iscii-de                False    False    False    False    False    True     \n        57003  x-iscii-be                False    False    False    False    False    True     \n        57004  x-iscii-ta                False    False    False    False    False    True     \n        57005  x-iscii-te                False    False    False    False    False    True     \n        57006  x-iscii-as                False    False    False    False    False    True     \n        57007  x-iscii-or                False    False    False    False    False    True     \n        57008  x-iscii-ka                False    False    False    False    False    True     \n        57009  x-iscii-ma                False    False    False    False    False    True     \n        57010  x-iscii-gu                False    False    False    False    False    True     \n        57011  x-iscii-pa                False    False    False    False    False    True     \n        65000  utf-7                     False    False    True     True     False    True     \n        65001  utf-8                     True     True     True     True     False    True     \n        65005  utf-32                    False    False    False    False    False    True     \n        65006  utf-32BE                  False    False    False    False    False    True     \n\n        */\n        #endregion\n\n        /// <summary>\n        /// 静态构造函数只有在静态方法将要使用的时候才进行调用（静态成员同理）\n        /// </summary>\n        static CsvFileHelper()\n        {\n            isSaveAsExcel = true;\n            defaultEncoding = new System.Text.UTF8Encoding(false);\n        }\n\n        private static bool isSaveAsExcel ;\n        private static Encoding defaultEncoding;\n        private static char csvSeparator = ',';\n        //private static Encoding utfBom = System.Text.Encoding.GetEncoding(\"GB2312\");\n\n        /// <summary>\n        /// get or set Csv Separator (Default Values is ,)\n        /// </summary>\n        public static char DefaultCsvSeparator\n        {\n            get { return csvSeparator; }\n            set { csvSeparator = value; }\n        }\n\n        /// <summary>\n        /// get or set if save as Excel type (出现在首部的“是必须转义的，而出现在中间的不可以不用专门转义，而excel对所有双引号都进行转义，无论其出现位置)\n        /// </summary>\n        public static bool IsSaveAsExcel\n        {\n            get { return isSaveAsExcel; }\n            set { isSaveAsExcel = value; }\n        }\n\n        /// <summary>\n        /// get or set Default Encoding (notice : if your want the System not with bom ,you should use the relevant Encoding)\n        /// </summary>\n        public static Encoding DefaultEncoding\n        {\n            get { return defaultEncoding; }\n            set { defaultEncoding = value; }\n        }\n\n        private static void WriteCsvVeiw(List<List<string>> yourListCsvData, TextWriter writer)\n        {\n            foreach(List<string> tempField in yourListCsvData)\n            {\n                if (tempField == null || tempField.Count==0)\n                {\n                    continue;\n                }\n                WriteCsvLine(tempField, writer);\n            }\n        }\n\n        private static void WriteCsvLine(List<string> fields, TextWriter writer)\n        {\n            if (fields == null || fields.Count == 0)\n            {\n                return;\n            }\n            StringBuilder myStrBld = new StringBuilder();\n            //对于CSV数据来说不可能出现一行的数据元素的数量是0的情况，所以不用考虑fields.Count为0的情况(如果为0则为错误数据直接忽略)\n            //foreach(string tempField in fields)  //使用foreach会产生许多不必要的string拷贝\n            for (int i = 0; i < fields.Count; i++)\n            {\n                //通过文件转换出来的fields是不会为null的，为了兼容外部构建数据源，可能出现null的情况，这里强制转换为\"\"\n                if (fields[i] == null)\n                {\n                    myStrBld.Append(\"\");\n                }\n                else\n                {\n                    bool quotesRequired = (isSaveAsExcel ? (fields[i].Contains(csvSeparator) || fields[i].Contains(\"\\r\\n\") || fields[i].Contains(\"\\\"\")) : (fields[i].Contains(csvSeparator) || fields[i].Contains(\"\\r\\n\") || fields[i].StartsWith(\"\\\"\")));\n                    if (quotesRequired)\n                    {\n                        if (fields[i].Contains(\"\\\"\"))\n                        {\n                            myStrBld.Append(String.Format(\"\\\"{0}\\\"\", fields[i].Replace(\"\\\"\", \"\\\"\\\"\")));\n                        }\n                        else\n                        {\n                            myStrBld.Append(String.Format(\"\\\"{0}\\\"\", fields[i]));\n                        }\n                    }\n                    else\n                    {\n                        myStrBld.Append(fields[i]);\n                    }\n                }\n\n                if (i < fields.Count - 1)\n                {\n                    myStrBld.Append(csvSeparator);\n                }\n            }\n            writer.WriteLine(myStrBld.ToString());\n        }\n\n        public static void SaveCsvFile(string yourFilePath,List<List<string>> yourDataSouse,bool isAppend,Encoding yourEncode)\n        {\n            //FileStream myCsvStream = new FileStream(yourFilePath, FileMode.Create, FileAccess.ReadWrite);\n            if (isAppend && !File.Exists(yourFilePath))\n            {\n                throw new Exception(\"in Append mode the FilePath must exist\");\n            }\n            if(!isAppend && !File.Exists(yourFilePath))\n            {\n                if (yourFilePath.Contains('\\\\'))\n                {\n                    if (!Directory.Exists(yourFilePath.Remove(yourFilePath.LastIndexOf('\\\\'))))\n                    {\n                        throw new Exception(\"the FilePath or the Directory it not exist\");\n                    }\n                    \n                }\n                else\n                {\n                    throw new Exception(\"find error in your FilePath\");\n                }\n            }\n            //StreamWriter myCsvSw = new StreamWriter(yourFilePath, isAppend, yourEncode);   //isAppend对应的Stream的FileMode 为 append  ? FileMode.Append : FileMode.Create\n            //文件如果被其他任务打开并处于Write模式，此处会抛出异常（该工具也含多处异常抛出，使用时务必考虑接收这些异常）\n            StreamWriter myCsvSw = new StreamWriter(new FileStream(yourFilePath, isAppend ? FileMode.Append : FileMode.Create, FileAccess.Write, FileShare.ReadWrite), yourEncode);\n            if (yourDataSouse == null)\n            {\n                throw new Exception(\"your DataSouse is null\");\n            }\n            WriteCsvVeiw(yourDataSouse, myCsvSw);\n            myCsvSw.Dispose();\n        }\n\n        public static void SaveCsvFile(string yourFilePath, List<List<string>> yourDataSouse)\n        {\n            SaveCsvFile(yourFilePath, yourDataSouse, false, defaultEncoding);\n        }\n\n        public static Stream OpenFile(string filePath)\n        {\n            Stream myStream;\n            try\n            {\n                myStream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);\n            }\n            catch (Exception)\n            {\n                return null;\n            }\n            return myStream;\n        }\n\n        #endregion\n    }\n}\n"
  },
  {
    "path": "AutoTest/MyBytesHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest\n{\n    /// <summary>\n    /// hex 字符串显示时的分割方式\n    /// </summary>\n    public enum ShowHexMode\n    {\n        @null = 0,    //不分格每个字节\n        space = 1,   //以分格分割\n        spit0x = 2,   //以0x分割 (用于显示16进制)\n        spitSpace0x = 3,   //以 0x分割 (用于显示16进制)\n        spit0b = 4,   //以0b分割 (用于显示2进制)\n        spitSpace0b = 5,   //以 0b分割 (用于显示2进制)\n        spit0d = 6,   //以0d分割 (用于显示10进制)\n        spitSpace0d = 7,   //以 0d分割 (用于显示10进制)\n        spit_ = 8,    //以下划线分割\n        spitM_ = 9  //以中划线分割\n\n    }\n\n    /// <summary>\n    /// 表示要代表数据的进制\n    /// </summary>\n    public enum HexDecimal\n    {\n        hex2 = 2,\n        hex10 = 10,        //001 224 023  表示显示需要补0\n        hex16 = 16\n    }\n\n    public class MyBytes\n    {\n        #region ByteSring\n\n        private static Dictionary<HexDecimal, int> DictionaryHexDecimal = new Dictionary<HexDecimal, int>() { { HexDecimal.hex2, 8 }, { HexDecimal.hex10, 3 }, { HexDecimal.hex16, 2 } };\n        private static Dictionary<ShowHexMode, string> DictionaryShowHexMode = new Dictionary<ShowHexMode, string>() { { ShowHexMode.spitSpace0x, \" 0x\" }, { ShowHexMode.spit0x, \"0x\" }, { ShowHexMode.spitSpace0d, \" 0d\" }, { ShowHexMode.spit0d, \"0d\" }, { ShowHexMode.spitSpace0b, \" 0b\" }, { ShowHexMode.spit0b, \"0b\" }, { ShowHexMode.spitM_, \"-\" }, { ShowHexMode.spit_, \"_\" }, { ShowHexMode.space, \" \" }, { ShowHexMode.@null, \"\" } };\n\n\n        /// <summary>\n        /// 将字符串转换成16进制的可读字符串（使用默认UTF8编码）\n        /// </summary>\n        /// <param name=\"yourStr\">用户字符串</param>\n        /// <returns>返回结果</returns>\n        public static string StringToHexString(string yourStr)\n        {\n            return StringToHexString(yourStr, Encoding.UTF8, HexDecimal.hex16, ShowHexMode.space);\n        }\n\n        /// <summary>\n        /// 将字符串转换成指定进制的可读字符串 （使用指定编码指定进制及指定格式）\n        /// </summary>\n        /// <param name=\"yourStr\">用户字符串</param>\n        /// <param name=\"encode\">指定编码</param>\n        /// <param name=\"hexaDecimal\">指定进制</param>\n        /// <param name=\"stringMode\">指定格式</param>\n        /// <returns>返回结果</returns>\n        public static string StringToHexString(string yourStr, Encoding encode, HexDecimal hexaDecimal, ShowHexMode stringMode)\n        {\n            byte[] tempBytes = encode.GetBytes(yourStr);\n            return ByteToHexString(tempBytes, hexaDecimal, stringMode);\n        }\n\n        /// <summary>\n        /// 将字节数组转换为指定进制的可读字符串\n        /// </summary>\n        /// <param name=\"yourBytes\">需要转换的字节数组</param>\n        /// <param name=\"hexDecimal\">指定进制</param>\n        /// <param name=\"stringMode\">指定格式</param>\n        /// <returns>返回结果</returns>\n        public static string ByteToHexString(byte[] yourBytes, HexDecimal hexDecimal, ShowHexMode stringMode)\n        {\n            // 如果只考虑16进制对格式没有特殊要求 可以直接使用 ((byte)233).ToString(\"X2\"); 或 BitConverter.ToString(new byte[]{1,2,3,10,12,233})\n            if (yourBytes == null)\n            {\n                return null;\n            }\n            StringBuilder result = new StringBuilder(DictionaryHexDecimal[hexDecimal] + DictionaryShowHexMode[stringMode].Length);\n\n            for (int i = 0; i < yourBytes.Length; i++)\n            {\n                result.Append(DictionaryShowHexMode[stringMode]);\n                result.Append(Convert.ToString(yourBytes[i], (int)hexDecimal).PadLeft(DictionaryHexDecimal[hexDecimal], '0'));\n            }\n            return result.ToString().Trim();\n        }\n\n        /// <summary>\n        /// 将可读指定进制的数据转换为字节数组（因为用户数据可能会是非法数据，遇到非法数据非法会抛出异常）\n        /// </summary>\n        /// <param name=\"yourStr\">需要转换的字符串</param>\n        /// <param name=\"hexDecimal\">指定进制</param>\n        /// <param name=\"stringMode\">指定格式</param>\n        /// <returns>返回结果(如果yourStr为\"\"返回长度为0的byte[])</returns>\n        public static byte[] HexStringToByte(string yourStr, HexDecimal hexDecimal, ShowHexMode stringMode)\n        {\n            if (hexDecimal == HexDecimal.hex16 && (stringMode == ShowHexMode.spit0b || stringMode == ShowHexMode.spit0d || stringMode == ShowHexMode.spitSpace0b || stringMode == ShowHexMode.spitSpace0d))\n            {\n                throw new Exception(\"your HexaDecimal and ShowHexMode is conflict\");\n            }\n            string[] hexStrs;\n            byte[] resultBytes;\n            string modeStr = string.Empty;   //string.Empty 不等于 null\n            if (stringMode != ShowHexMode.@null)\n            {\n                modeStr = DictionaryShowHexMode[stringMode];\n            }\n            if (modeStr == string.Empty)\n            {\n                if (yourStr.Length % DictionaryHexDecimal[hexDecimal] != 0)\n                {\n                    throw new Exception(\"error leng of your data\");\n                }\n                long tempHexNum = yourStr.Length / DictionaryHexDecimal[hexDecimal];\n                hexStrs = new string[tempHexNum];\n                for (int startIndex = 0; startIndex < tempHexNum; startIndex++)\n                {\n                    hexStrs[startIndex] = yourStr.Substring(startIndex * DictionaryHexDecimal[hexDecimal], DictionaryHexDecimal[hexDecimal]);\n                }\n            }\n            else\n            {\n                //使用StringSplitOptions.RemoveEmptyEntries去除空值因为0xFF0xFF可能会有第一个值为空的情况\n                //对于0xFF 0xFF使用 0x分割，第一个值可能会带0x，不过 Convert.ToByte可以兼容这种情况（不过还是可能带来第一个字节允许使用不应用的分割的情况）\n                hexStrs = yourStr.Split(new string[] { modeStr }, StringSplitOptions.RemoveEmptyEntries);\n            }\n            try\n            {\n                resultBytes = new byte[hexStrs.Length];\n                for (int i = 0; i < hexStrs.Length; i++)\n                {\n                    resultBytes[i] = Convert.ToByte(hexStrs[i], (int)hexDecimal);\n                }\n            }\n            catch (Exception ex)\n            {\n                throw new Exception(string.Format(\"error data ,can not change your hex string to your hex,  hexDecimal[{0}] ShowHexMode[{1}]\", hexDecimal, stringMode), ex);\n            }\n            return resultBytes;\n        }\n\n\n        /// <summary>\n        /// 将可读指定进制的数据转换为字节数组（因为用户数据可能会是非法数据，遇到非法数据非法会抛出异常）(使用猜测的方式发现分割字符串)\n        /// </summary>\n        /// <param name=\"yourStr\">需要转换的字符串</param>\n        /// <param name=\"hexDecimal\">指定进制</param>\n        /// <returns>返回结果(如果yourStr为\"\"返回长度为0的byte[])</returns>\n        public static byte[] HexStringToByte(string yourStr, HexDecimal hexDecimal)\n        {\n            if (yourStr == null) throw new Exception(\"your source string is null\");\n            foreach(var tryStringSpitMode in DictionaryShowHexMode)\n            {\n                if (hexDecimal == HexDecimal.hex16 && (tryStringSpitMode.Key == ShowHexMode.spit0b || tryStringSpitMode.Key == ShowHexMode.spit0d || tryStringSpitMode.Key == ShowHexMode.spitSpace0b || tryStringSpitMode.Key == ShowHexMode.spitSpace0d)) continue;\n                if (yourStr.Contains(tryStringSpitMode.Value)) return HexStringToByte(yourStr, hexDecimal, tryStringSpitMode.Key);\n            }\n            throw new Exception(\"unknown exception with HexStringToByte\");\n        }\n\n        public static bool ByteToSring(byte[] yourBytes, Encoding yourEncoding, ref string outStr)\n        {\n            try\n            {\n                outStr = yourEncoding.GetString(yourBytes);\n                return true;\n            }\n            catch\n            {\n                return false;\n            }\n        }\n\n        public static bool StringToByte(string yourStr, Encoding yourEncoding, ref byte[] outBytes)\n        {\n            try\n            {\n                outBytes = yourEncoding.GetBytes(yourStr);\n                return true;\n            }\n            catch\n            {\n                return false;\n            }\n        }\n\n        #endregion\n\n        /// <summary>\n        /// 比较两个字节数组\n        /// </summary>\n        /// <param name=\"bytesA\"></param>\n        /// <param name=\"bytesB\"></param>\n        /// <returns></returns>\n        public static bool IsBytesSame(byte[] bytesA, byte[] bytesB)\n        {\n            if (bytesA == null || bytesB == null)\n            {\n                return false;\n            }\n            if (bytesA.Length == bytesB.Length)\n            {\n                for (int i = 0; i < bytesB.Length; i++)\n                {\n                    if (bytesA[i] != bytesB[i])\n                    {\n                        return false;\n                    }\n                }\n                return true;\n            }\n            else\n            {\n                return false;\n            }\n        }\n\n        /// <summary>\n        /// 去除bytes尾部空值\n        /// </summary>\n        /// <param name=\"yourBytes\"></param>\n        /// <returns></returns>\n        public static byte[] RmBytesEnd(byte[] yourBytes)\n        {\n            if (yourBytes == null)\n            {\n                return null;\n            }\n            int tempLen = yourBytes.Length;\n            for (int i = yourBytes.Length - 1; i > 0; i--)\n            {\n                if (yourBytes[i] == 0x00)\n                {\n                    tempLen--;\n                }\n                else\n                {\n                    break;\n                }\n            }\n            byte[] tempBytes = new byte[tempLen];\n            for (int i = 0; i < tempLen; i++)\n            {\n                tempBytes[i] = yourBytes[i];\n            }\n            return tempBytes;\n        }\n\n        /// <summary>\n        /// 生成随机字节数组\n        /// </summary>\n        /// <param name=\"byteLen\">数组长度</param>\n        /// <returns>随机字节数组</returns>\n        public static byte[] CreatRandomBytes(int byteLen)\n        {\n            byte[] tempBytes = new byte[byteLen];\n            for (int i = 0; i < byteLen; i++)\n            {\n                Random ran = new Random(Guid.NewGuid().GetHashCode());\n                {\n                    tempBytes[i] = (byte)ran.Next(0x00, 0xff);\n                }\n            }\n            return tempBytes;\n        }\n\n\n        /// <summary>\n        /// i will change your bytes to IP by vanelife way\n        /// </summary>3\n        /// <param name=\"yourData\">your bytes</param>\n        /// <returns>your IP</returns>\n        public static string GetIpByBytes(byte[] yourData)\n        {\n            if (yourData == null)\n            {\n                return \"null data\";\n            }\n            if (yourData.Length > 6)\n            {\n                return \"length error\";\n            }\n            else\n            {\n                string tempIp = \"\";\n                for (int i = 0; i < yourData.Length; i++)\n                {\n                    tempIp += (int)yourData[i] + \".\";\n                }\n                tempIp = tempIp.TrimEnd(new char[] { '.' });\n                return tempIp;\n            }\n        }\n\n        /// <summary>\n        /// i will change your bytes to int,and bytes can not more than 4 byte(默认 小端序，低位在前，这里使用大端序列，并仅取2字节)  \n        /// </summary>\n        /// <param name=\"yourLen\">your bytes</param>\n        /// <returns>your len</returns>\n        public static int GetByteLen(byte[] yourLen)\n        {\n            //return BitConverter.ToUInt16(yourLen,0);\n            if (yourLen.Length > 4)\n            {\n                return -1;\n            }\n            else\n            {\n                int tempLen = 0;\n                for (int i = 0; i < yourLen.Length; i++)\n                {\n                    tempLen += (int)Math.Pow(256, yourLen.Length - i - 1) * yourLen[i];\n                }\n                return tempLen;\n            }\n        }\n\n        /// <summary>\n        /// i will change a int to byte and change the 1,2(默认 小端序，低位在前，这里使用大端序列，并仅取2字节)\n        /// </summary>\n        /// <param name=\"yourLen\">your Len</param>\n        /// <returns>your bytes</returns>\n        public static byte[] CreateInt16Bytes(int yourLen)\n        {\n            byte[] tempData = BitConverter.GetBytes(yourLen);\n            byte[] dataToBack = new byte[2];\n            dataToBack[0] = tempData[1];\n            dataToBack[1] = tempData[0];\n            return dataToBack;\n\n            //int c = 97;\n            //byte[] cb = BitConverter.GetBytes(c);//小端\n            //Array.Reverse(cb);//反转成大端   Reverse() 无返回值直接反转目标\n\n            //也可以先把数值转换再转成字节数组\n            //int c2 = IPAddress.HostToNetworkOrder(c);//大端字节数\n            //byte[] bb = System.BitConverter.GetBytes(c2);//字节数组\n\n            //string s = \"code\";\n            //byte[] sbb = Encoding.BigEndianUnicode.GetBytes(s);//大端\n            //byte[] sbs = Encoding.Unicode.GetBytes(s);//小端\n\n            //.NET short 网络大小端转换 一般操作系统文件都是小端，网络传输一般使用大端\n            //System.Net.IPAddress.HostToNetworkOrder（本机到网络转换）\n            //System.Net.IPAddress.NetworkToHostOrder(网络字节转成本机)\n        }\n\n        /// <summary>\n        /// 拼接一组byte[]\n        /// </summary>\n        /// <param name=\"yourByteList\">byte[] List</param>\n        /// <returns>拼接完成的的byte[]</returns>\n        public static byte[] GroupByteList(List<byte[]> yourByteList)\n        {\n            if (yourByteList == null)\n            {\n                throw new Exception(\"yourByteList is null\");\n            }\n            int byteLen = 0;\n            int nowCopyIndex = 0;\n            byte[] outBytes;\n            foreach (byte[] tempBytes in yourByteList)\n            {\n                byteLen += tempBytes.Length;\n            }\n            outBytes = new byte[byteLen];\n            foreach (byte[] tempBytes in yourByteList)\n            {\n                Array.Copy(tempBytes, 0, outBytes, nowCopyIndex, tempBytes.Length);\n                nowCopyIndex += tempBytes.Length;\n            }\n            return outBytes;\n        }\n\n        /// <summary>\n        /// byte[]替换 (如果 搜索目标或替换目标为null，直接返回源数组)\n        /// </summary>\n        /// <param name=\"src\">替换源数组</param>\n        /// <param name=\"search\">需要被替换目标数组</param>\n        /// <param name=\"repl\">替换进入的数组</param>\n        /// <returns>完成替换的byte[]</returns>\n        public static byte[] ReplaceBytes(byte[] src, byte[] search, byte[] repl)\n        {\n            if (repl == null) return src;\n            int index = FindBytes(src, search);\n            if (index < 0) return src;\n            byte[] dst = new byte[src.Length - search.Length + repl.Length];\n            Buffer.BlockCopy(src, 0, dst, 0, index);\n            Buffer.BlockCopy(repl, 0, dst, index, repl.Length);\n            Buffer.BlockCopy(src, index + search.Length, dst, index + repl.Length,src.Length - (index + search.Length));\n            return dst;\n        }\n\n        /// <summary>\n        /// 在目标数组中查找指定目标第一次出现的索引（没有指定目标返回-1）\n        /// </summary>\n        /// <param name=\"src\">查找源</param>\n        /// <param name=\"find\">需要查找的目标</param>\n        /// <returns>第一次出现的索引（没有指定目标返回-1）</returns>\n        public static int FindBytes(byte[] src, byte[] find)\n        {\n            if(src==null|| find==null|| src.Length==0|| find.Length == 0 || find.Length> src.Length) return -1;\n            for (int i = 0; i < src.Length - find.Length +1 ; i++)\n            {\n                if (src[i] == find[0])\n                {\n                   if (find.Length == 1) return i;\n                   for(int m=1;m< find.Length;m++)\n                   {\n                        if (src[i + m] != find[m]) break;\n                        if (m == find.Length - 1) return i;\n                   }\n                }\n            }\n            return -1;\n        }\n    }\n}\n"
  },
  {
    "path": "AutoTest/MyCommonTool.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest\n{\n    public static class MyCommonTool\n    {\n        public static string rootPath = System.Environment.CurrentDirectory;\n\n        /// <summary>\n        /// seed for GenerateRandomStr\n        /// </summary>\n        private static int externRandomSeed = 0;\n\n        /// <summary>\n        /// 生成随机字符串\n        /// </summary>\n        /// <param name=\"strCount\">字符串长度</param>\n        /// <param name=\"GenerateType\">生成模式： 0-是有可见ASCII / 1-数字 / 2-大写字母 / 3-小写字母 / 4-特殊字符 / 5-大小写字母 / 6-字母和数字</param>\n        /// <returns>随机字符串</returns>\n        public static string GenerateRandomStr(int strCount, int GenerateType)\n        {\n            externRandomSeed++;\n            StringBuilder myRandomStr = new StringBuilder(strCount);\n            long mySeed = DateTime.Now.Ticks + externRandomSeed;\n            Random random = new Random((int)(mySeed & 0x0000ffff));\n            for (int i = 0; i < strCount; i++)\n            {\n                char tempCh;\n                int num = random.Next();\n                switch (GenerateType)\n                {\n                    case 1:\n                        tempCh = (char)(0x30 + (num % 10));\n                        break;\n                    case 2:\n                        tempCh = (char)(0x41 + (num % 26));\n                        break;\n                    case 3:\n                        tempCh = (char)(0x61 + (num % 26));\n                        break;\n                    case 4:\n                        int tempValue = 0x20 + ((num % 95));\n                        if ((tempValue >= 0x30 && tempValue <= 0x39) || (tempValue >= 0x41 && tempValue <= 0x5a) || (tempValue >= 0x61 && tempValue <= 0x7a))\n                        {\n                            i--;\n                            continue;\n                        }\n                        else\n                        {\n                            tempCh = (char)tempValue;\n                        }\n                        break;\n                    case 5:\n                        tempValue = 0x20 + ((num % 95));\n                        if ((tempValue >= 0x41 && tempValue <= 0x5a) || (tempValue >= 0x61 && tempValue <= 0x7a))\n                        {\n                            tempCh = (char)tempValue;\n                        }\n                        else\n                        {\n                            i--;\n                            continue;\n                        }\n                        break;\n                    case 6:\n                        tempValue = 0x20 + ((num % 95));\n                        if ((tempValue >= 0x30 && tempValue <= 0x39) || (tempValue >= 0x41 && tempValue <= 0x5a) || (tempValue >= 0x61 && tempValue <= 0x7a))\n                        {\n                            tempCh = (char)tempValue;\n                        }\n                        else\n                        {\n                            i--;\n                            continue;\n                        }\n                        break;\n                    default:\n                        tempCh = (char)(0x20 + (num % 95));\n                        break;\n                }\n                myRandomStr.Append(tempCh);\n            }\n            return myRandomStr.ToString();\n        }\n\n    }\n}\n"
  },
  {
    "path": "AutoTest/MyExtensionMethods.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest\n{\n    public static class MyExtensionMethods\n    {\n        /// <summary>\n        /// 以指定字符将字符串分割并转换为int(eg: \"10-11-12-13\")\n        /// </summary>\n        /// <param name=\"str\">指定字符串</param>\n        /// <param name=\"yourSplitChar\">分割字符</param>\n        /// <param name=\"yourIntArray\">转换结果</param>\n        /// <returns>是否成功（任意一个转换失败都会返回False）</returns>\n        public static bool MySplitToIntArray(this string str, char yourSplitChar, out int[] yourIntArray)\n        {\n            yourIntArray = null;\n            if (str == null)\n            {\n                return false;\n            }\n            string[] strArray = str.Split(new char[] { yourSplitChar }, StringSplitOptions.None);\n            yourIntArray = new int[strArray.Length];\n            for (int i = 0; i < strArray.Length; i++)\n            {\n                if (!int.TryParse(strArray[i], out yourIntArray[i]))\n                {\n                    return false;\n                }\n            }\n            return true;\n        }\n\n        /// <summary>\n        /// 以指定字符将字符串中末尾int数据提取出来(eg: \"testdata-10\")\n        /// </summary>\n        /// <param name=\"str\">指定字符串</param>\n        /// <param name=\"yourSplitChar\">分割字符</param>\n        /// <param name=\"yourStr\">提取后的前半截字符串</param>\n        /// <param name=\"yourInt\">提取后的int</param>\n        /// <returns>是否成功 int转换失败后也返回错误</returns>\n        public static bool MySplitIntEnd(this string str, char yourSplitChar, out string yourStr, out int yourInt)\n        {\n            yourStr = null;\n            yourInt = 0;\n            if (str == null)\n            {\n                return false;\n            }\n            if (str.Contains(yourSplitChar))\n            {\n                int lastSplitCharIndex = str.LastIndexOf(yourSplitChar);\n                if (lastSplitCharIndex == str.Length - 1) // 如果使用endwith会产生多余的string对象\n                {\n                    return false;\n                }\n                if (int.TryParse(str.Substring(lastSplitCharIndex + 1, str.Length - lastSplitCharIndex - 1), out yourInt))\n                {\n                    yourStr = str.Substring(0, lastSplitCharIndex);\n                    return true;\n                }\n            }\n            return false;\n        }\n\n\n        /// <summary>\n        /// 添加键值，若遇到已有key则覆盖\n        /// </summary>\n        /// <param name=\"dc\">Dictionary</param>\n        /// <param name=\"yourKey\">Key</param>\n        /// <param name=\"yourValue\">Value</param>\n        public static void MyAdd(this Dictionary<string, string> dc, string yourKey, string yourValue)\n        {\n            if (dc.ContainsKey(yourKey))\n            {\n                dc[yourKey] = yourValue;\n            }\n            else\n            {\n                dc.Add(yourKey, yourValue);\n            }\n        }\n\n        /// <summary>\n        /// 添加键值，若遇到已有key则覆盖\n        /// </summary>\n        /// <typeparam name=\"T\">T Type</typeparam>\n        /// <param name=\"dc\">Dictionary</param>\n        /// <param name=\"yourKey\">yourKey</param>\n        /// <param name=\"yourValue\">yourValue</param>\n        public static void MyAdd<T>(this Dictionary<string, T> dc, string yourKey, T yourValue)\n        {\n            if (dc.ContainsKey(yourKey))\n            {\n                dc[yourKey] = yourValue;\n            }\n            else\n            {\n                dc.Add(yourKey, yourValue);\n            }\n        }\n\n        /// <summary>\n        /// 【NameValueCollection】添加键值，检查NameValueCollection是否为null\n        /// </summary>\n        /// <param name=\"nvc\">NameValueCollection</param>\n        /// <param name=\"yourKey\">Key</param>\n        /// <param name=\"yourValue\">Value</param>\n        public static void MyAdd(this NameValueCollection nvc, string yourName, string yourValue)\n        {\n            if (nvc != null)\n            {\n                nvc.Add(yourName, yourValue);\n            }\n        }\n\n        /// <summary>\n        ///  转换为{[key:value][key:value].......}\n        /// </summary>\n        /// <param name=\"nvc\">NameValueCollection</param>\n        /// <returns>{[key:value][key:value].......}</returns>\n        public static string MyToFormatString(this NameValueCollection nvc)\n        {\n            if (nvc != null)\n            {\n                if (nvc.Count > 0)\n                {\n                    if (nvc.Count < 2)\n                    {\n                        return string.Format(\"{{ [{0}:{1}] }}\", nvc.Keys[0], nvc[nvc.Keys[0]]);\n                    }\n                    else\n                    {\n                        StringBuilder tempStrBld = new StringBuilder(\"{ \", nvc.Count * 32);\n                        foreach (string tempKey in nvc.Keys)\n                        {\n                            tempStrBld.AppendFormat(\"[{0}:{1}] \", tempKey, nvc[tempKey]);\n                        }\n                        tempStrBld.Append(\"}\");\n                        return tempStrBld.ToString();\n                    }\n                }\n            }\n            return \"\";\n        }\n\n        /// <summary>\n        /// 返回对象的深度克隆(泛型数据，要求T必须为值类型，或类似string的特殊引用类型[因为虽然使用string的克隆会有相同的引用，但对string进行修改的时都会创建新的对象])\n        /// </summary>\n        /// <typeparam name=\"TKey\">TKey</typeparam>\n        /// <typeparam name=\"TValue\">TKey</typeparam>\n        /// <param name=\"dc\">目标Dictionary</param>\n        /// <returns>对象的深度克隆</returns>\n        public static Dictionary<TKey, TValue> MyClone<TKey, TValue>(this Dictionary<TKey, TValue> dc)\n        {\n            Dictionary<TKey, TValue> cloneDc = new Dictionary<TKey, TValue>();\n            foreach (KeyValuePair<TKey, TValue> tempKvp in dc)\n            {\n                cloneDc.Add(tempKvp.Key, tempKvp.Value);\n            }\n            return cloneDc;\n        }\n\n        /// <summary>\n        /// 返回对象的深度克隆(泛型数据，要求T必须为值类型，或类似string的特殊引用类型[因为虽然使用string的克隆会有相同的引用，但对string进行修改的时都会创建新的对象](该重载可以约束支持clone的TValue))\n        /// </summary>\n        /// <typeparam name=\"TKey\">TKey</typeparam>\n        /// <typeparam name=\"TValue\">TKey</typeparam>\n        /// <param name=\"dc\">目标Dictionary</param>\n        /// <returns>对象的深度克隆</returns>\n        public static Dictionary<TKey, TValue> MyDeepClone<TKey, TValue>(this Dictionary<TKey, TValue> dc) where TValue : ICloneable\n        {\n            Dictionary<TKey, TValue> cloneDc = new Dictionary<TKey, TValue>();\n            foreach (KeyValuePair<TKey, TValue> tempKvp in dc)\n            {\n                cloneDc.Add(tempKvp.Key, (TValue)tempKvp.Value.Clone());\n            }\n            return cloneDc;\n        }\n\n        public static Dictionary<string, TTargetValue> ToChangeType<TValue,TTargetValue>(this Dictionary<string, TValue> dc) where TValue : TTargetValue\n        {\n            if(dc!=null)\n            {\n                Dictionary<string, TTargetValue> newDc = new Dictionary<string, TTargetValue>();\n                foreach(var item in dc)\n                {\n                    newDc.Add(item.Key, item.Value);\n                }\n                return newDc;\n            }\n            return null;\n        }\n\n        public static void Add(this List<List<string>> myList, object[] yourValue)\n        {\n            if(yourValue!=null)\n            {\n                List<string> tempAddList = new List<string>(yourValue.Length);\n                for(int i =0 ; i<yourValue.Length;i++)\n                {\n                    //tempAddList.Add((yourValue[i] is System.DBNull)?\"\":(string)yourValue[i]);\n                    tempAddList.Add((yourValue[i] is string) ? (string)yourValue[i]:\"\");\n                }\n                myList.Add(tempAddList);\n            }\n        }\n\n    }\n}\n"
  },
  {
    "path": "AutoTest/ParameterizationContent/CaseParameterizationContent.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.ParameterizationContent\n{\n    /// <summary>\n    /// 描述可参数化数据结构 (请尽量不要自行解析数据，建议使用getXmlParametContent解析xml数据)\n    /// </summary>\n    [Serializable]\n    public class CaseParameterizationContent\n    {\n        public string contentData;\n        public bool hasParameter;\n        public ParameterizationContentEncodingType encodetype;\n\n        public CaseParameterizationContent()\n        {\n            contentData=null;\n            hasParameter = false;\n            encodetype = ParameterizationContentEncodingType.encode_default;\n        }\n        public CaseParameterizationContent(string yourContentData, bool isParameter)\n        {\n            contentData = yourContentData;\n            hasParameter = isParameter;\n            encodetype = ParameterizationContentEncodingType.encode_default;\n        }\n        public CaseParameterizationContent(string yourContentData)\n        {\n            contentData = yourContentData;\n            hasParameter = false;\n            encodetype = ParameterizationContentEncodingType.encode_default;\n        }\n\n        /// <summary>\n        ///返回一个值指示该caseParameterizationContent是否有被任何数据填充过\n        /// </summary>\n        /// <returns></returns>\n        public bool IsFilled()\n        {\n            if (contentData != null)\n            {\n                if (contentData != \"\")\n                {\n                    return true;\n                }\n            }\n            return false;\n        }\n\n        /// <summary>\n        /// 获取运算后的值，掉用此法的该版本的重载将会改变涉及到的staticData数据的游标\n        /// </summary>\n        /// <param name=\"yourActuatorStaticDataCollection\">可用staticData集合</param>\n        /// <param name=\"yourDataResultCollection\">返回对所有staticData数据运算后的结果列表</param>\n        /// <param name=\"errorMessage\">错误消息（如果没有错误则为null）(在获取参数化数据产生错误后因对当前case设置警示)</param>\n        /// <returns>运算结果</returns>\n        public string GetTargetContentData(ActuatorStaticDataCollection yourActuatorStaticDataCollection, NameValueCollection yourDataResultCollection, out string errorMessage)\n        {\n            string myTargetContentData = contentData;\n            errorMessage = null;\n            if (hasParameter)\n            {\n                myTargetContentData = ParameterizationContentHelper.GetCurrentParametersData(contentData, MyConfiguration.ParametersDataSplitStr, yourActuatorStaticDataCollection, yourDataResultCollection, out errorMessage);\n            }\n            if (encodetype != ParameterizationContentEncodingType.encode_default)\n            {\n                switch (encodetype)\n                {\n                    //base64\n                    case ParameterizationContentEncodingType.encode_base64:\n                        myTargetContentData = Convert.ToBase64String(Encoding.UTF8.GetBytes(myTargetContentData));\n                        break;\n                    case ParameterizationContentEncodingType.decode_base64:\n                        try\n                        {\n                            myTargetContentData = Encoding.UTF8.GetString(Convert.FromBase64String(myTargetContentData));\n                        }\n                        catch (Exception ex)\n                        {\n                            myTargetContentData = \"ContentEncoding Error:\" + ex.Message;\n                        }\n                        break;\n                    //hex 16\n                    case ParameterizationContentEncodingType.encode_hex16:\n                        myTargetContentData = MyBytes.StringToHexString(myTargetContentData);\n                        break;\n                    case ParameterizationContentEncodingType.decode_hex16:\n                        try\n                        {\n                            byte[] nowBytes = MyBytes.HexStringToByte(myTargetContentData, HexDecimal.hex16, ShowHexMode.space);\n                            myTargetContentData = Encoding.UTF8.GetString(nowBytes);\n                        }\n                        catch (Exception ex)\n                        {\n                            myTargetContentData = \"ContentEncoding Error:\" + ex.Message;\n                        }\n                        break;\n                    //hex 2\n                    case ParameterizationContentEncodingType.encode_hex2:\n                        myTargetContentData = MyBytes.StringToHexString(myTargetContentData, Encoding.UTF8, HexDecimal.hex2, ShowHexMode.space);\n                        break;\n                    case ParameterizationContentEncodingType.decode_hex2:\n                        try\n                        {\n                            byte[] nowBytes = MyBytes.HexStringToByte(myTargetContentData, HexDecimal.hex2, ShowHexMode.space);\n                            myTargetContentData = Encoding.UTF8.GetString(nowBytes);\n                        }\n                        catch (Exception ex)\n                        {\n                            myTargetContentData = \"ContentEncoding Error:\" + ex.Message;\n                        }\n                        break;\n                    default:\n                        errorMessage = \"[getTargetContentData] unknow or not supported this encodetype\";\n                        break;\n                }\n            }\n            return myTargetContentData;\n        }\n\n        /// <summary>\n        /// 获取原始数据，掉用此法的该版本的重载将不会会改变涉及到的staticData数据的游标，也不会对其进行运算\n        /// </summary>\n        /// <returns>原始数据数据</returns>\n        public string GetTargetContentData()\n        {\n            return contentData;\n        }\n\n        public override string ToString()\n        {\n            return contentData;\n        }\n    }\n\n}\n"
  },
  {
    "path": "AutoTest/ParameterizationContent/ParameterizationContentEncodingType.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.ParameterizationContent\n{\n    /// <summary>\n    /// 描述[caseParameterizationContent]使用的数据附加编码类型，0标识不进行操作，基数encode偶数decode\n    /// </summary>\n    [Serializable]\n    public enum ParameterizationContentEncodingType\n    {\n        encode_default = 0,\n        encode_base64 = 1,\n        decode_base64 = 2,\n        encode_hex16 = 3,\n        decode_hex16 = 4,\n        encode_hex2 = 5,\n        decode_hex2 = 6\n\n    }\n}\n"
  },
  {
    "path": "AutoTest/ParameterizationContent/ParameterizationContentHelper.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.ParameterizationContent\n{\n    public static class ParameterizationContentHelper\n    {\n\n        //仅用于【caseParameterizationContent】内部\n        //如果没有任何valid identification，直接返回原始数据，不报错（为实现最大兼容）\n        /// <summary>\n        /// get the getTargetContentData in caseParameterizationContent\n        /// </summary>\n        /// <param name=\"yourSourceData\">Source Data</param>\n        /// <param name=\"yourParameterList\">ParameterList</param>\n        /// <param name=\"yourStaticDataList\">StaticDataList</param>\n        /// <param name=\"errorMessage\">error Message</param>\n        /// <returns></returns>\n        public static string GetCurrentParametersData(string yourSourceData, string splitStr, ActuatorStaticDataCollection yourActuatorStaticDataCollection, NameValueCollection yourDataResultCollection, out string errorMessage)\n        {\n            errorMessage = null;\n            if (yourSourceData.Contains(splitStr))\n            {\n                var yourParameterList = yourActuatorStaticDataCollection.RunActuatorStaticDataKeyList;\n                var yourStaticDataList = yourActuatorStaticDataCollection.RunActuatorStaticDataParameterList;\n                var yourStaticDataSourceList = yourActuatorStaticDataCollection.RunActuatorStaticDataSouceList;\n                int tempStart, tempEnd = 0;\n                string tempKeyVaule = null;\n                string keyParameter = null;\n                string keyAdditionData = null;\n                string tempVaule = null;\n                while (yourSourceData.Contains(splitStr))\n                {\n                    tempStart = yourSourceData.IndexOf(splitStr);\n                    tempEnd = yourSourceData.IndexOf(splitStr, tempStart + splitStr.Length);\n                    if (tempEnd == -1)\n                    {\n                        errorMessage = string.Format(\"the identification  not enough in Source[{0}]\", yourSourceData);\n                        return yourSourceData;\n                    }\n                    tempKeyVaule = yourSourceData.Substring(tempStart + splitStr.Length, tempEnd - (tempStart + splitStr.Length));\n                    keyParameter = TryGetParametersAdditionData(tempKeyVaule, out keyAdditionData);\n                    if (keyAdditionData != null)\n                    {\n                        keyAdditionData = GetCurrentParametersData(keyAdditionData, MyConfiguration.ParametersExecuteSplitStr, yourActuatorStaticDataCollection, yourDataResultCollection, out errorMessage);\n                    }\n\n                    Func<string> DealErrorAdditionData = () =>\n                    {\n                        tempVaule = \"[ErrorData]\";\n                        return string.Format(\"ParametersAdditionData error find in the runTime data with keyParameter:[{0}] keyAdditionData:[{1}]\", keyParameter, keyAdditionData);\n                    };\n\n                    #region RunTimeStaticKey\n                    if (yourParameterList.Keys.Contains(keyParameter))\n                    {\n                        //RunTimeParameter 不含有参数信息，所以不处理keyParameter\n                        tempVaule = yourParameterList[keyParameter].DataCurrent();\n                        yourSourceData = yourSourceData.Replace(splitStr + tempKeyVaule + splitStr, tempVaule);\n                        yourDataResultCollection.MyAdd(tempKeyVaule, tempVaule);\n                    }\n                    #endregion\n\n                    #region RunTimeStaticParameter\n                    else if (yourStaticDataList.Keys.Contains(keyParameter))\n                    {\n                        if (keyAdditionData == null)\n                        {\n                            tempVaule = yourStaticDataList[keyParameter].DataCurrent();\n                        }\n                        else if (keyAdditionData == \"=\")\n                        {\n                            tempVaule = yourStaticDataList[keyParameter].DataCurrent();\n                        }\n                        else if (keyAdditionData == \"+\")\n                        {\n                            tempVaule = yourStaticDataList[keyParameter].DataMoveNext();\n                        }\n                        else if (keyAdditionData.StartsWith(\"+\")) //+10 前移10\n                        {\n                            int tempTimes;\n                            if (int.TryParse(keyAdditionData.Remove(0, 1), out tempTimes))\n                            {\n                                if (tempTimes > 0)\n                                {\n                                    for (int i = 0; i < tempTimes; i++)\n                                    {\n                                        yourStaticDataList[keyParameter].DataMoveNext();\n                                    }\n                                    tempVaule = yourStaticDataList[keyParameter].DataCurrent();\n                                }\n                                else\n                                {\n                                    errorMessage = DealErrorAdditionData();\n                                }\n                            }\n                            else\n                            {\n                                errorMessage = DealErrorAdditionData();\n                            }\n                        }\n                        else\n                        {\n                            errorMessage = DealErrorAdditionData();\n                        }\n                        yourSourceData = yourSourceData.Replace(splitStr + tempKeyVaule + splitStr, tempVaule);\n                        yourDataResultCollection.MyAdd(tempKeyVaule, tempVaule);\n                    }\n                    #endregion\n\n                    #region RunTimeStaticDataSource\n                    else if (yourStaticDataSourceList.Keys.Contains(keyParameter))\n                    {\n                        if (keyAdditionData == null)\n                        {\n                            tempVaule = yourStaticDataSourceList[tempKeyVaule].DataCurrent();\n                        }\n                        else if (keyAdditionData == \"=\")\n                        {\n                            tempVaule = yourStaticDataSourceList[keyParameter].DataCurrent();\n                        }\n                        else if (keyAdditionData == \"+\")\n                        {\n                            tempVaule = yourStaticDataSourceList[keyParameter].DataMoveNext();\n                        }\n                        else if (keyAdditionData.StartsWith(\"+\")) //+10 前移10\n                        {\n                            int tempTimes;\n                            if (int.TryParse(keyAdditionData.Remove(0, 1), out tempTimes))\n                            {\n                                if (tempTimes > 0)\n                                {\n                                    for (int i = 0; i < tempTimes; i++)\n                                    {\n                                        yourStaticDataSourceList[keyParameter].DataMoveNext();\n                                    }\n                                    tempVaule = yourStaticDataSourceList[keyParameter].DataCurrent();\n                                }\n                                else\n                                {\n                                    errorMessage = DealErrorAdditionData();\n                                }\n                            }\n                            else\n                            {\n                                errorMessage = DealErrorAdditionData();\n                            }\n                        }\n                        else\n                        {\n                            tempVaule = yourStaticDataSourceList[keyParameter].GetDataVaule(keyAdditionData);\n                            if (tempVaule == null)\n                            {\n                                errorMessage = DealErrorAdditionData();\n                            }\n                        }\n\n                        yourSourceData = yourSourceData.Replace(splitStr + tempKeyVaule + splitStr, tempVaule);\n                        yourDataResultCollection.MyAdd(tempKeyVaule, tempVaule);\n                    }\n                    #endregion\n\n                    else\n                    {\n                        tempVaule = \"[ErrorData]\";\n                        errorMessage = string.Format(\"can not find your key [{0}] in StaticDataList\", keyParameter);\n                        yourSourceData = yourSourceData.Replace(splitStr + tempKeyVaule + splitStr, tempVaule);\n                        yourDataResultCollection.MyAdd(tempKeyVaule, tempVaule);\n                    }\n                }\n\n            }\n\n            return yourSourceData;\n        }\n\n        /// <summary>\n        /// 处理ParametersData，解析静态数据名及其参数\n        /// </summary>\n        /// <param name=\"souceData\">souce parameter data 原数据</param>\n        /// <param name=\"additionData\">返回辅助参数数据，若没有或无法解析返回null</param>\n        /// <returns></returns>\n        private static string TryGetParametersAdditionData(string souceData, out string additionData)\n        {\n            additionData = null;\n            string parametersData = null;\n            if (souceData != null)\n            {\n                if (souceData.EndsWith(\")\"))\n                {\n                    int startIndex = souceData.LastIndexOf('(');\n                    if (startIndex > 0)\n                    {\n                        parametersData = souceData.Remove(startIndex);\n                        additionData = souceData.Substring(startIndex + 1, souceData.Length - startIndex - 2);\n                    }\n                    else\n                    {\n                        parametersData = souceData;\n                    }\n                }\n                else\n                {\n                    parametersData = souceData;\n                }\n            }\n            return parametersData;\n        }\n\n    }\n\n    public class MyConfiguration\n    {\n        //◎●◐◑◒◓◔◕◖◗▼▲\n        public static string ParametersDataSplitStr = \"*#\";                                                     //参数化数据分隔符\n        public static string ParametersExecuteSplitStr = \"`\";                                                   //参数再运算风格符\n        public static string CaseShowTargetAndContent = \"➤\";\n        public static string CaseShowCaseNodeStart = \"◆\";\n        public static string CaseShowJumpGotoNode = \"▼\";\n        public static string CaseShowGotoNodeStart = \"▲\";\n    }\n}\n"
  },
  {
    "path": "AutoTest/ParameterizationPick/ParameterPick.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.ParameterizationPick\n{\n\n     [Serializable]\n     [DataContract]\n    public class ParameterPick\n    {\n        [DataMember]\n        public string ParameterName { get; set; }\n        [DataMember]\n        public ParameterPickType PickType { get; set; }\n        [DataMember]\n        public ParameterPickRange PickRange { get; set; }\n        [DataMember]\n        public string PickTypeAdditional { get; set; }\n        [DataMember]\n        public string PickTypeExpression { get; set; }\n\n        public override string ToString()\n        {\n            return string.Format(\"get [{0}] from [{1}] by [{2} grep]({3}) with [{4}]\", ParameterName, PickRange.ToString(), PickType.ToString(), PickTypeAdditional, PickTypeExpression);\n        }\n    }\n\n    public class ParameterPickInfo\n    {\n        public ParameterPickType PickType{get;private set;}\n        public List<KeyValuePair<string, string>> PickTypeAdditionalList { get; private set; }\n        public bool Editable { get; private set; }\n        public Func<string,string, string, string> ParameterPickFunc { get; private set; }\n\n        public ParameterPickInfo(ParameterPickType pickType, List<KeyValuePair<string, string>> pickTypeAdditionalList, bool editable, Func<string,string, string, string> parameterPickFunc)\n        {\n            PickType = pickType;\n            PickTypeAdditionalList = pickTypeAdditionalList;\n            Editable = editable;\n            ParameterPickFunc = parameterPickFunc;\n        }\n\n    }\n\n    public class ParameterPickTypeEngine\n    {\n        public static Dictionary<ParameterPickType, ParameterPickInfo> dictionaryParameterPickFunc = new Dictionary<ParameterPickType, ParameterPickInfo>() { \n            {ParameterPickType.Str , new ParameterPickInfo(ParameterPickType.Str,new List<KeyValuePair<string,string>>(){new KeyValuePair<string,string>(\"str-str\",\"StartString-EndString\"),new KeyValuePair<string,string>(\"str-len\",\"StartString-StringLength\"),new KeyValuePair<string,string>(\"index-len\",\"StartIndex-StringLength\")},false,ParameterPickHelper.ParameterPickStr)},\n            {ParameterPickType.Regex , new ParameterPickInfo(ParameterPickType.Regex,new List<KeyValuePair<string,string>>(){new KeyValuePair<string,string>(\"1\",\"RegexExpression\"),new KeyValuePair<string,string>(\"0\",\"RegexExpression\")},true,ParameterPickHelper.ParameterPickRegex)},\n            {ParameterPickType.Xml , new ParameterPickInfo(ParameterPickType.Xml,new List<KeyValuePair<string,string>>(){new KeyValuePair<string,string>(\"1\",\"XpathExpression\"),new KeyValuePair<string,string>(\"0\",\"XpathExpression\")},true,ParameterPickHelper.ParameterPickXml)}\n        };\n    }\n\n}\n"
  },
  {
    "path": "AutoTest/ParameterizationPick/ParameterPickHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Text.RegularExpressions;\nusing System.Threading.Tasks;\nusing System.Xml;\n\nnamespace FreeHttp.AutoTest.ParameterizationPick\n{\n    public class ParameterPickHelper\n    {\n\n        /// <summary>\n        /// 使用xpth查找xml匹配项\n        /// </summary>\n        /// <param name=\"yourTarget\">xpth表达式 （如//从匹配选择的当前节点选择文档中的节点，而不考虑它们的位置）</param>\n        /// <param name=\"yourSouce\">数据源</param>\n        /// <returns>返回结果（结果为XmlNodeList的InnerXml字符串数组）</returns>\n        public static string[] PickXmlParameter(string yourTarget, string yourSouce)\n        {\n            XmlDocument xml = new XmlDocument();\n            try\n            {\n                xml.LoadXml(yourSouce);\n\n            }\n            catch (Exception)\n            {\n                return null;\n            }\n            XmlNodeList tempNodeList;\n            try\n            {\n                tempNodeList = xml.SelectNodes(\"//\" + yourTarget);\n            }\n            catch (Exception)\n            {\n                return null;\n            }\n            if (tempNodeList.Count > 0)\n            {\n                string[] backStrs = new string[tempNodeList.Count];\n                for (int i = 0; i < tempNodeList.Count; i++)\n                {\n                    backStrs[i] = tempNodeList[i].InnerXml;\n                }\n                return backStrs;\n            }\n            return null;\n        }\n\n        public static string[] PickRegexParameter(string yourTarget, string yourSouce)\n        {\n            MatchCollection mc;\n            try\n            {\n                mc = Regex.Matches(yourSouce, yourTarget);\n            }\n            catch (Exception )\n            {\n                return null;\n            }\n            if (mc.Count > 0)\n            {\n                string[] backStrs = new string[mc.Count];\n                for (int i = 0; i < mc.Count; i++)\n                {\n                    backStrs[i] = mc[i].Value;\n                }\n                return backStrs;\n            }\n            return null;\n        }\n\n        public static string PickStrParameter(int yourStrStart, int yourStrLen, string yourSouce)\n        {\n            if (yourStrStart < 0 || yourStrLen < 0)\n            {\n                return null;\n            }\n            if (yourSouce.Length >= yourStrStart + yourStrLen)\n            {\n                if (yourStrLen==0)\n                {\n                    return yourSouce.Remove(0, yourStrStart);\n                }\n                return yourSouce.Substring(yourStrStart, yourStrLen);\n            }\n            return null;\n        }\n\n        public static string PickStrParameter(string yourTarget, int yourStrLen, string yourSouce)\n        {\n            if (yourStrLen < 0)\n            {\n                return null;\n            }\n            if (yourSouce.Contains(yourTarget))\n            {\n                string tempPickStr;\n                int tempStart = yourSouce.IndexOf(yourTarget) + yourTarget.Length;\n                tempPickStr = yourSouce.Remove(0, tempStart);\n                if (tempPickStr.Length > yourStrLen)\n                {\n                    if (yourStrLen != 0)\n                    {\n                        tempPickStr = tempPickStr.Remove(yourStrLen);\n                    }\n                }\n                return tempPickStr;\n            }\n            return null;\n        }\n\n        public static string PickStrParameter(string yourTarget, string yourStrEnd, string yourSouce)\n        {\n            if (yourSouce.Contains(yourTarget))\n            {\n                string tempPickStr;\n                int tempStart = yourSouce.IndexOf(yourTarget) + yourTarget.Length;\n                tempPickStr = yourSouce.Remove(0, tempStart);\n                if (tempPickStr.Contains(yourStrEnd))\n                {\n                    int tempEnd = tempPickStr.IndexOf(yourStrEnd);\n                    tempPickStr = tempPickStr.Remove(tempEnd);\n                    return tempPickStr;\n                }\n            }\n            return null;\n        }\n\n        public static bool GetStrPickData(string yourSouce, out string yourFrontTarget, out string yourBackStr)\n        {\n            yourFrontTarget = null;\n            yourBackStr = null;\n            if (yourSouce.Contains(\"-\"))\n            {\n                yourFrontTarget = yourSouce.Remove(yourSouce.LastIndexOf(\"-\"));\n                yourBackStr = yourSouce.Remove(0, yourSouce.LastIndexOf(\"-\") + 1);\n                return true;\n            }\n            else\n            {\n                yourFrontTarget = yourSouce;\n            }\n            return false;\n        }\n\n        public static string ParameterPickStr(string sourceStr,string pickExpression,string pickExpressionAdditional)\n        {\n            if (string.IsNullOrEmpty(sourceStr) || string.IsNullOrEmpty(pickExpression) || string.IsNullOrEmpty(pickExpressionAdditional))\n            {\n                throw new Exception(\"your ParameterPick data is null or empty\");\n            }\n            string frontStr;\n            string backStr;\n            int frontIndex;\n            int strLen;\n            if (!GetStrPickData(pickExpression, out frontStr, out backStr))\n            {\n                throw new Exception( string.Format(\"this Expressions error :{0}\", \"it should contain '-'\"));\n            }\n            if (string.IsNullOrEmpty(frontStr) || string.IsNullOrEmpty(backStr))\n            {\n                throw new Exception( string.Format(\"this Expressions error :{0}\", \"the '-' position is illegal\"));\n            }\n            switch(pickExpressionAdditional)\n            {\n                case \"str-str\":\n                    return PickStrParameter(frontStr, backStr, sourceStr);\n                case \"str-len\":\n                    if(!int.TryParse(backStr,out strLen))\n                    {\n                        throw new Exception(string.Format(\"this Expressions error :{0}\", \"the len should be a int value\"));\n                    }\n                    return PickStrParameter(frontStr, strLen, sourceStr);\n                case \"index-len\":\n                    if (!int.TryParse(backStr, out strLen) )\n                    {\n                        throw new Exception(string.Format(\"this Expressions error :{0}\", \"the len should be a int value\"));\n                    }\n                    if(!int.TryParse(frontStr, out frontIndex))\n                    {\n                        throw new Exception(string.Format(\"this Expressions error :{0}\", \"the index should be a int value\"));\n                    }\n                    return PickStrParameter(frontIndex, strLen, sourceStr);\n                default:\n                    throw new Exception(\"your ParameterPick data is null or empty\");\n            }\n        }\n\n        public static string ParameterPickXml(string sourceStr, string pickExpression, string pickExpressionAdditional)\n        {\n            if (string.IsNullOrEmpty(sourceStr) || string.IsNullOrEmpty(pickExpression) || string.IsNullOrEmpty(pickExpressionAdditional))\n            {\n                throw new Exception(\"your ParameterPick data is null or empty\");\n            }\n            int returnIndex;\n            if (!int.TryParse(pickExpressionAdditional, out returnIndex))\n            {\n                throw new Exception(\"this PickTypeAdditional should be a number\");\n            }\n            if (returnIndex<0)\n            {\n                throw new Exception(\"this PickTypeAdditional should greater than 0\");\n            }\n            string[] returnArray = PickXmlParameter(pickExpressionAdditional, sourceStr);\n            if (returnArray==null)\n            {\n                return null; \n            }\n            if (returnIndex==0)\n            {\n                return string.Join(\",\", returnArray);\n            }\n            else if (returnIndex > returnArray.Length)\n            {\n                return null;\n            }\n            else\n            {\n                return returnArray[returnIndex - 1];\n            }\n        }\n\n        public static string ParameterPickRegex(string sourceStr, string pickExpression, string pickExpressionAdditional)\n        {\n            {\n                if (string.IsNullOrEmpty(sourceStr) || string.IsNullOrEmpty(pickExpression) || string.IsNullOrEmpty(pickExpressionAdditional))\n                {\n                    throw new Exception(\"your ParameterPick data is null or empty\");\n                }\n                int returnIndex;\n                if (!int.TryParse(pickExpressionAdditional, out returnIndex))\n                {\n                    throw new Exception(\"this PickTypeAdditional should be a number\");\n                }\n                if (returnIndex < 0)\n                {\n                    throw new Exception(\"this PickTypeAdditional should greater than 0\");\n                }\n                string[] returnArray = PickRegexParameter(pickExpression, sourceStr);\n                if (returnArray == null)\n                {\n                    return null;\n                }\n                if (returnIndex == 0)\n                {\n                    return string.Join(\",\", returnArray);\n                }\n                else if (returnIndex > returnArray.Length)\n                {\n                    return null;\n                }\n                else\n                {\n                    return returnArray[returnIndex - 1];\n                }\n            }\n        }\n\n        public static string CheckParameterPickExpression(ParameterPick yourParameterPick)\n        {\n            if (string.IsNullOrEmpty(yourParameterPick.PickTypeExpression))\n            {\n                return \"your Expression is empty\";\n            }\n            switch (yourParameterPick.PickType)\n            {\n\n                case ParameterPickType.Regex:\n                    int tempAdditionalIndex;\n                    if (int.TryParse(yourParameterPick.PickTypeAdditional, out tempAdditionalIndex))\n                    {\n                        if (tempAdditionalIndex < 0)\n                        {\n                            return \"this PickTypeAdditional should greater than 0\";\n                        }\n                    }\n                    else\n                    {\n                        return \"this PickTypeAdditional should be a number\";\n                    }\n                    try\n                    {\n\n                        System.Text.RegularExpressions.Regex.Matches(\"\", yourParameterPick.PickTypeExpression);\n                    }\n                    catch (Exception ex)\n                    {\n                        return string.Format(\"this Regex Expressions error :{0}\", ex.Message);\n                    }\n                    break;\n                case ParameterPickType.Xml:\n                    if (int.TryParse(yourParameterPick.PickTypeAdditional, out tempAdditionalIndex))\n                    {\n                        if (tempAdditionalIndex < 0)\n                        {\n                            return \"this PickTypeAdditional should greater than 0\";\n                        }\n                    }\n                    else\n                    {\n                        return \"this PickTypeAdditional should be a number\";\n                    }\n                    try\n                    {\n                        XmlDocument xml = new XmlDocument();\n                        xml.LoadXml(\"<example/>\");\n                        xml.SelectSingleNode(yourParameterPick.PickTypeExpression);\n                    }\n                    catch (Exception ex)\n                    {\n                        return string.Format(\"this Xpath Expressions error :{0}\", ex.Message);\n                    }\n                    break;\n                case ParameterPickType.Str:\n                    string frontStr;\n                    string backStr;\n                    if (!GetStrPickData(yourParameterPick.PickTypeExpression, out frontStr, out backStr))\n                    {\n                        return string.Format(\"this Expressions error :{0}\", \"it should contain '-'\");\n                    }\n                    if (string.IsNullOrEmpty(frontStr) || string.IsNullOrEmpty(backStr))\n                    {\n                        return string.Format(\"this Expressions error :{0}\", \"the '-' position is illegal\");\n                    }\n                    if (yourParameterPick.PickTypeAdditional == \"str-str\")\n                    {\n\n                    }\n                    else if (yourParameterPick.PickTypeAdditional == \"str-len\")\n                    {\n                        if (!int.TryParse(backStr, out tempAdditionalIndex))\n                        {\n                            return string.Format(\"this Expressions error :{0}\", \"the len should be a int value\");\n                        }\n                    }\n                    else if (yourParameterPick.PickTypeAdditional == \"index-len\")\n                    {\n                        if (!int.TryParse(frontStr, out tempAdditionalIndex))\n                        {\n                            return string.Format(\"this Expressions error :{0}\", \"the index should be a int value\");\n                        }\n                        if (!int.TryParse(backStr, out tempAdditionalIndex))\n                        {\n                            return string.Format(\"this Expressions error :{0}\", \"the len should be a int value\");\n                        }\n                    }\n                    break;\n                default:\n                    return \"unknow ParameterPickType\";\n            }\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "AutoTest/ParameterizationPick/ParameterPickType.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.ParameterizationPick\n{\n    \n    [Serializable]\n    public enum ParameterPickType\n    {\n        Str,\n        Xml,\n        Regex\n    }\n\n\n     [Serializable]\n    public enum ParameterPickRange\n    {\n        Line,\n        Heads,\n        Entity\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/ActuatorStaticDataCollection.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData.MyStaticData;\nusing System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData\n{\n    /// <summary>\n    /// ActuatorStaticData 集合\n    /// </summary>\n    [DataContract]  //[Serializable] 默认序列化公开字段及属性，且要求其有公开的Set,用[DataContract]指没有这个限制，使用 [DataMember(Name = \"ID\")] / [DataMember]  标记成员\n    [KnownType(typeof(MyStaticDataValue)), KnownType(typeof(MyStaticDataIndex)), KnownType(typeof(MyStaticDataList)), KnownType(typeof(MyStaticDataLong)), KnownType(typeof(MyStaticDataNowTime)), KnownType(typeof(MyStaticDataRandomStr)), KnownType(typeof(MyStaticDataSourceCsv)), KnownType(typeof(MyStaticDataStrIndex))]\n    public class ActuatorStaticDataCollection : IDisposable, ICloneable ,IEnumerable\n    {\n        public class ChangeDataEventArgs : EventArgs\n        {\n            public bool IsAddOrDel { get; set; }\n            public ChangeDataEventArgs(bool isAddOrDel)\n            {\n                IsAddOrDel = isAddOrDel;\n            }\n        }\n\n        [DataMember]\n        public bool IsAllCollectionKeyUnique { get; private set; }\n\n        //3组数据源Dictionary都分别实现了_version版本控制，这里可以不用单独实现了\n        private int _version;\n\n        /// <summary>\n        /// is all staticdata list is empty in ActuatorStaticDataCollection\n        /// </summary>\n        public bool IsEmpty\n        {\n            get\n            {\n                if (runActuatorStaticDataKeyList != null && runActuatorStaticDataKeyList.Count > 0) return false;\n                if (runActuatorStaticDataParameterList != null && runActuatorStaticDataParameterList.Count > 0) return false;\n                if (runActuatorStaticDataSouceList != null && runActuatorStaticDataSouceList.Count > 0) return false;\n                return true;\n            }\n        }\n\n        public int Count\n        {\n            get\n            {\n                int tempCount = 0;\n                if (runActuatorStaticDataKeyList != null) tempCount += runActuatorStaticDataKeyList.Count;\n                if (runActuatorStaticDataParameterList != null) tempCount += runActuatorStaticDataParameterList.Count;\n                if (runActuatorStaticDataSouceList != null) tempCount += runActuatorStaticDataSouceList.Count;\n                return tempCount;\n            }\n        }\n\n        /// <summary>\n        /// RunTimeParameter List\n        /// </summary>\n        [DataMember]\n        private Dictionary<string, IRunTimeStaticData> runActuatorStaticDataKeyList;\n\n        /// <summary>\n        /// RunTimeStaticData List\n        /// </summary>\n        [DataMember]\n        private Dictionary<string, IRunTimeStaticData> runActuatorStaticDataParameterList;\n\n        /// <summary>\n        /// RunTimeDataSouce List\n        /// </summary>\n        [DataMember]\n        private Dictionary<string, IRunTimeDataSource> runActuatorStaticDataSouceList;\n\n\n        private readonly object padlock = new object();\n\n        public ActuatorStaticDataCollection()\n        {\n            runActuatorStaticDataKeyList = new Dictionary<string, IRunTimeStaticData>();\n            runActuatorStaticDataParameterList = new Dictionary<string, IRunTimeStaticData>();\n            runActuatorStaticDataSouceList = new Dictionary<string, IRunTimeDataSource>();\n            IsAllCollectionKeyUnique = false;\n        }\n\n        public ActuatorStaticDataCollection(bool isAllCollectionKeyUnique):this()\n        {\n            IsAllCollectionKeyUnique = isAllCollectionKeyUnique;\n        }\n\n        public ActuatorStaticDataCollection(Dictionary<string, IRunTimeStaticData> yourActuatorParameterList, Dictionary<string, IRunTimeStaticData> yourActuatorStaticDataList, Dictionary<string, IRunTimeDataSource> yourActuatorStaticDataSouceList)\n        {\n            runActuatorStaticDataKeyList = yourActuatorParameterList;\n            runActuatorStaticDataParameterList = yourActuatorStaticDataList;\n            runActuatorStaticDataSouceList = yourActuatorStaticDataSouceList;\n            IsAllCollectionKeyUnique = false;\n        }\n\n        //public event EventHandler OnChangeCollection;\n        public delegate void ChangeCollectionEventHandler(object sender, ChangeDataEventArgs e);\n        public event ChangeCollectionEventHandler OnChangeCollection;\n\n        private void OnListChanged(bool isAddOrDel)\n        {\n            _version++;\n            if (OnChangeCollection!=null)\n            {\n                this.OnChangeCollection(this, new ChangeDataEventArgs(isAddOrDel));\n            }\n        }\n\n        /// <summary>\n        /// Get RunActuatorStaticDataKeyList (do not modify this dictionary yourselves, you can call \n        /// [AddStaticDataKey][AddStaticDataParameter][AddStaticDataParameter][RemoveStaticData][SetStaticDataValue]do that)\n        /// </summary>\n        public Dictionary<string, IRunTimeStaticData> RunActuatorStaticDataKeyList\n        {\n            get { return runActuatorStaticDataKeyList; }\n        }\n\n        /// <summary>\n        ///  Get RunActuatorStaticDataParameterList (do not modify this dictionary yourselves, you can call \n        /// [AddStaticDataKey][AddStaticDataParameter][AddStaticDataParameter][RemoveStaticData][SetStaticDataValue]do that)\n        /// </summary>\n        public Dictionary<string, IRunTimeStaticData> RunActuatorStaticDataParameterList\n        {\n            get { return runActuatorStaticDataParameterList; }\n        }\n\n        /// <summary>\n        ///  Get RunActuatorStaticDataSouceList (do not modify this dictionary yourselves, you can call \n        /// [AddStaticDataKey][AddStaticDataParameter][AddStaticDataParameter][RemoveStaticData][SetStaticDataValue]do that)\n        /// </summary>\n        public Dictionary<string, IRunTimeDataSource> RunActuatorStaticDataSouceList\n        {\n            get { return runActuatorStaticDataSouceList; }\n        }\n\n\n        private object IsHasSameKey(string key, int ignoreListIndex)\n        {\n            if (runActuatorStaticDataKeyList.ContainsKey(key) && ignoreListIndex != 1)\n            {\n                return runActuatorStaticDataKeyList;\n            }\n            if (runActuatorStaticDataParameterList.ContainsKey(key) && ignoreListIndex != 2)\n            {\n                return runActuatorStaticDataParameterList;\n            }\n            if (runActuatorStaticDataSouceList.ContainsKey(key) && ignoreListIndex != 3)\n            {\n                return runActuatorStaticDataSouceList;\n            }\n            return null;\n        }\n\n        /// <summary>\n        /// Is the StaticDataCollection has th same key name \n        /// </summary>\n        /// <param name=\"yourKey\">your Key</param>\n        /// <returns>is has </returns>\n        public bool IsHaveSameKey(string yourKey)\n        {\n            return (IsHasSameKey(yourKey, 0) != null);\n        }\n\n        /// <summary>\n        /// Add Data into runActuatorStaticDataKeyList (if DataParameter or DataSouce has same key retrun false , if DataKey has same key cover the vaule)\n        /// </summary>\n        /// <param name=\"key\">key</param>\n        /// <param name=\"vaule\">vaule</param>\n        /// <returns>is success</returns>\n        [MethodImplAttribute(MethodImplOptions.Synchronized)]\n        public bool AddStaticDataKey(string key, IRunTimeStaticData vaule)\n        {\n            //if (!(vaule is MyStaticDataValue))\n            //{\n            //    return false;\n            //}\n            if (IsHasSameKey(key, IsAllCollectionKeyUnique?0:1) != null)\n            {\n                if (!RemoveStaticData(key, false))\n                {\n                    return false;\n                }\n            }\n            runActuatorStaticDataKeyList.MyAdd(key, vaule);\n            OnListChanged(true);\n            return true;\n        }\n\n        /// <summary>\n        /// Add Data into runActuatorStaticDataParameterList (if DataKey or DataSouce has same key retrun false , if DataParameter has same key cover the vaule) \n        /// </summary>\n        /// <param name=\"key\">key</param>\n        /// <param name=\"vaule\">vaule</param>\n        /// <returns>is success</returns>\n        [MethodImplAttribute(MethodImplOptions.Synchronized)]\n        public bool AddStaticDataParameter(string key, IRunTimeStaticData vaule)\n        {\n            if (IsHasSameKey(key, IsAllCollectionKeyUnique ? 0 : 2) != null)\n            {\n                if (!RemoveStaticData(key, false))\n                {\n                    return false;\n                }\n            }\n            runActuatorStaticDataParameterList.MyAdd<IRunTimeStaticData>(key, vaule);\n            OnListChanged(true);\n            return true;\n        }\n\n        /// <summary>\n        /// Add Data into runActuatorStaticDataSouceList (if DataKey or DataParameter has same key retrun false , if DataSouce has same key cover the vaule)\n        /// </summary>\n        /// <param name=\"key\">key</param>\n        /// <param name=\"vaule\">vaule</param>\n        /// <returns>is success</returns>\n        [MethodImplAttribute(MethodImplOptions.Synchronized)]\n        public bool AddStaticDataSouce(string key, IRunTimeDataSource vaule)\n        {\n            if (IsHasSameKey(key, IsAllCollectionKeyUnique ? 0 : 3) != null)\n            {\n                if (!RemoveStaticData(key, false))\n                {\n                    return false;\n                }\n            }\n            runActuatorStaticDataSouceList.MyAdd<IRunTimeDataSource>(key, vaule);\n            OnListChanged(true);\n            return true;\n        }\n\n        /// <summary>\n        /// Add Data by CaseStaticDataType with vaule\n        /// </summary>\n        /// <param name=\"key\">key</param>\n        /// <param name=\"vaule\">vaule</param>\n        /// <returns></returns>\n        [MethodImplAttribute(MethodImplOptions.Synchronized)]\n        public bool AddStaticData(string key, IRunTimeStaticData vaule)\n        {\n            switch(vaule.RunTimeStaticDataType)\n            {\n                case CaseStaticDataType.caseStaticData_vaule:\n                    return AddStaticDataKey(key, vaule);\n                case CaseStaticDataType.caseStaticData_index:\n                case CaseStaticDataType.caseStaticData_long:\n                case CaseStaticDataType.caseStaticData_random:\n                case CaseStaticDataType.caseStaticData_time:\n                case CaseStaticDataType.caseStaticData_list:\n                case CaseStaticDataType.caseStaticData_strIndex:\n                    return AddStaticDataParameter(key, vaule);\n                case CaseStaticDataType.caseStaticData_csv:\n                case CaseStaticDataType.caseStaticData_mysql:\n                case CaseStaticDataType.caseStaticData_redis:\n                    IRunTimeDataSource tempDataSource = vaule as IRunTimeDataSource;\n                    if (tempDataSource == null) return false;\n                    return AddStaticDataSouce(key, tempDataSource);\n                default:\n                    throw new NotSupportedException(\"nukonw CaseStaticDataType\");\n            }\n        }\n\n        /// <summary>\n        /// Remove Static Data in any list (if there not has any same key retrun false)\n        /// </summary>\n        /// <param name=\"key\">key or Regex</param>\n        /// <param name=\"isRegex\">is use Regex</param>\n        /// <returns>is success</returns>\n        [MethodImplAttribute(MethodImplOptions.Synchronized)]\n        public bool RemoveStaticData(string key, bool isRegex)\n        {\n            if (!isRegex)\n            {\n                var tempDataList = IsHasSameKey(key, 0);\n                if (tempDataList == null)\n                {\n                    return false;\n                }\n                else if (tempDataList == runActuatorStaticDataKeyList)\n                {\n                    runActuatorStaticDataKeyList.Remove(key);\n                }\n                else if (tempDataList == runActuatorStaticDataParameterList)\n                {\n                    runActuatorStaticDataParameterList.Remove(key);\n                }\n                else if (tempDataList == runActuatorStaticDataSouceList)\n                {\n                    runActuatorStaticDataSouceList.Remove(key);\n                }\n                else\n                {\n                    //ErrorLog.PutInLog(string.Format(\"error to [RemoveStaticData] in ActuatorStaticDataCollection  the key is {0} \", key));\n                    return false;\n                }\n            }\n            else\n            {\n                try\n                {\n                    bool isFindAndRegexKey = false;\n                    System.Text.RegularExpressions.Regex sr;\n                    sr = new System.Text.RegularExpressions.Regex(key, System.Text.RegularExpressions.RegexOptions.None);\n                    List<string> dataToDel = new List<string>();\n\n                    foreach (var tempKey in runActuatorStaticDataKeyList.Keys)\n                    {\n                        if (sr.IsMatch(tempKey))\n                        {\n                            dataToDel.Add(tempKey);\n                        }\n                    }\n                    foreach (string tempKey in dataToDel)\n                    {\n                        runActuatorStaticDataKeyList.Remove(tempKey);\n                    }\n                    if (dataToDel.Count > 0)\n                    {\n                        isFindAndRegexKey = true;\n                        dataToDel.Clear();\n                    }\n\n                    foreach (var tempKey in runActuatorStaticDataParameterList.Keys)\n                    {\n                        if (sr.IsMatch(tempKey))\n                        {\n                            dataToDel.Add(tempKey);\n                        }\n                    }\n                    foreach (string tempKey in dataToDel)\n                    {\n                        runActuatorStaticDataParameterList.Remove(tempKey);\n                    }\n                    if (dataToDel.Count > 0)\n                    {\n                        isFindAndRegexKey = true;\n                        dataToDel.Clear();\n                    }\n\n                    foreach (var tempKey in runActuatorStaticDataSouceList.Keys)\n                    {\n                        if (sr.IsMatch(tempKey))\n                        {\n                            dataToDel.Add(tempKey);\n                        }\n                    }\n                    foreach (string tempKey in dataToDel)\n                    {\n                        runActuatorStaticDataSouceList.Remove(tempKey);\n                    }\n                    if (dataToDel.Count > 0)\n                    {\n                        isFindAndRegexKey = true;\n                        dataToDel.Clear();\n                    }\n\n                    if (!isFindAndRegexKey)\n                    {\n                        return false;\n                    }\n                }\n                catch (Exception ex)\n                {\n                    //ErrorLog.PutInLog(ex);\n                    return false;\n                }\n\n            }\n            OnListChanged(true);\n            return true;\n        }\n\n        /// <summary>\n        /// set or change data in any list\n        /// </summary>\n        /// <param name=\"key\">key</param>\n        /// <param name=\"configVaule\">config Vaule</param>\n        /// <returns>is success</returns>\n        [MethodImplAttribute(MethodImplOptions.Synchronized)]\n        public bool SetStaticDataValue(string key, string configVaule)\n        {\n            var tempDataList = GetStaticData(key, 0);\n            if (tempDataList == null)\n            {\n                return false;\n            }\n            if (tempDataList.DataSet(configVaule))\n            {\n                OnListChanged(false);\n                return true;\n            }\n            return false;\n        }\n\n        public IRunTimeStaticData GetStaticData(string key ,int GetListIndex)\n        {\n            if (runActuatorStaticDataKeyList.ContainsKey(key) && (GetListIndex == 1 || GetListIndex == 0))\n            {\n                return runActuatorStaticDataKeyList[key];\n            }\n            if (runActuatorStaticDataParameterList.ContainsKey(key) && (GetListIndex == 1 || GetListIndex == 0))\n            {\n                return runActuatorStaticDataParameterList[key];\n            }\n            if (runActuatorStaticDataSouceList.ContainsKey(key) && (GetListIndex == 1 || GetListIndex == 0))\n            {\n                return runActuatorStaticDataSouceList[key];\n            }\n            return null;\n        }\n\n        public IRunTimeStaticData this[string key]\n        {\n            get\n            {\n                return GetStaticData(key, 0);\n            }\n            set\n            {\n                var tempDataList = IsHasSameKey(key, 0);\n                if (tempDataList == null)\n                {\n                    throw new Exception(\"ActuatorStaticDataCollection do not have this key\");\n                }\n                else if (tempDataList == runActuatorStaticDataKeyList )\n                {\n                    if (value is MyStaticDataValue)\n                    {\n                        runActuatorStaticDataKeyList[key] = value;\n                    }\n                    else\n                    {\n                        throw new Exception(\"this StaticData must be a MyStaticDataValue\");\n                    }\n                }\n                else if (tempDataList == runActuatorStaticDataParameterList)\n                {\n                    runActuatorStaticDataParameterList[key] = value;\n                }\n                else if (tempDataList == runActuatorStaticDataSouceList )\n                {\n                    if (value is IRunTimeDataSource)\n                    {\n                        runActuatorStaticDataSouceList[key] = (IRunTimeDataSource)value;\n                    }\n                    else\n                    {\n                        throw new Exception(\"this StaticData must be a IRunTimeDataSource\");\n                    }\n                }\n                else\n                {\n                    throw new Exception(\"nuknow DataSource\");\n                }\n                OnListChanged(false);\n            }\n        }\n\n        public IEnumerator GetEnumerator()\n        {\n            return new ActuatorStaticDataEnum(this);\n        }\n\n        public object Clone()\n        {\n            return new ActuatorStaticDataCollection(runActuatorStaticDataKeyList.MyDeepClone(), runActuatorStaticDataParameterList.MyDeepClone(), runActuatorStaticDataSouceList.MyDeepClone());\n        }\n\n        public void Dispose()\n        {\n            runActuatorStaticDataKeyList.Clear();\n            runActuatorStaticDataParameterList.Clear();\n            runActuatorStaticDataSouceList.Clear();\n        }\n\n        public class ActuatorStaticDataEnum : IEnumerator\n        {\n\n            private Dictionary<string, IRunTimeStaticData> _staticDataKeyList;\n    \n            private Dictionary<string, IRunTimeStaticData> _staticDataParameterList;\n\n            private Dictionary<string, IRunTimeDataSource> _staticDataSouceList;\n\n            private int _index;\n            private readonly int _version;\n            private KeyValuePair<string, IRunTimeStaticData> _current;\n            private IEnumerator innerEnumerator = null;\n\n            internal ActuatorStaticDataEnum(ActuatorStaticDataCollection actuatorStaticDataCollection)\n            {\n                _staticDataKeyList = actuatorStaticDataCollection.runActuatorStaticDataKeyList;\n                _staticDataParameterList = actuatorStaticDataCollection.runActuatorStaticDataParameterList;\n                _staticDataSouceList = actuatorStaticDataCollection.runActuatorStaticDataSouceList;\n\n                _index = 0;\n                _version = actuatorStaticDataCollection._version;\n                _current = default;\n            }\n\n            object IEnumerator.Current\n            {\n                get\n                {\n                    return Current;\n                }\n            }\n\n            public KeyValuePair<string, IRunTimeStaticData> Current => _current;\n\n\n            public bool MoveNext()\n            {\n                //if (_version != _actuatorStaticDataCollection._version)\n                //{\n                //    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();\n                //}\n                if (_index == 0)\n                {\n                    innerEnumerator = _staticDataKeyList.GetEnumerator();\n                    _index = -1;\n                }\n                else if (_index == 1)\n                {\n                    innerEnumerator = _staticDataParameterList.GetEnumerator();\n                    _index = -2;\n                }\n                else if (_index == 2)\n                {\n                    innerEnumerator = _staticDataSouceList.GetEnumerator();\n                    _index = -3;\n                }\n                else if(_index == 3) // end\n                {\n                    _current = default;\n                    return false;\n                }\n  \n\n                if (_index < -2 && _index > 2)\n                {\n                    throw new Exception(\"unkonw StaticData in [MoveNext]\");\n                }\n\n                if (innerEnumerator.MoveNext())\n                {\n                    if(_index == -3)\n                    {\n                        KeyValuePair<string, IRunTimeDataSource> tempDataSourceKvp = (KeyValuePair<string, IRunTimeDataSource>)innerEnumerator.Current;\n                        _current = new KeyValuePair<string, IRunTimeStaticData>(tempDataSourceKvp.Key, tempDataSourceKvp.Value);\n                    }\n                    else\n                    {\n                        _current = (KeyValuePair<string, IRunTimeStaticData>)innerEnumerator.Current;\n                    }\n                    \n                    return true;\n                }\n                else\n                {\n                    _index = Math.Abs(_index);\n                    return MoveNext();\n                }\n            }\n\n            public void Reset()\n            {\n                _index = 0;\n                _current = default;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/CaseRunTimeDataTypeEngine.cs",
    "content": "﻿#define ALLOW_CSV_EMPTY\n\nusing FreeHttp.AutoTest.RunTimeStaticData.MyStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData\n{\n    /// <summary>\n    /// 如果您想要添加新类型的【RunTimeStaticData】请在此处添加解释器，并为它添加相应的继承于【IRunTimeStaticData】存储的结构\n    /// 然后在CaseStaticDataType枚举中直接新增自己的类型（请与原有格式保持一致），最后您还需要在执行器【LoadScriptRunTime】函数中添加自己的分支\n    /// </summary>\n    public class CaseRunTimeDataTypeEngine\n    {\n        #region TypeDictionary\n\n        public static Dictionary<CaseStaticDataType, List<string>> dictionaryStaticDataAnnotation = new Dictionary<CaseStaticDataType, List<string>>()\n        {\n            {CaseStaticDataType.caseStaticData_vaule,new List<string>(){\"Key-Value\",\"value\",\"value\",\"this value the meaning is the key\",\"provide a key value list like dictionary\"}},\n            {CaseStaticDataType.caseStaticData_index,new List<string>(){\"Index\",\"start-end-step\",\"1-1000-2\",\"start: the start of the number \\nend: the end of the number (the max is 2147483647)\\nstep: when get next value the number will add step (default is 1)\",\"provide a number index ,you can get a increase index each time\"}},\n            {CaseStaticDataType.caseStaticData_long,new List<string>(){\"LongIndex\",\"start-end-step\",\"1-1000-2\",\"start: the start of the number \\nend: the end of the number (the max is 9223372036854775807)\\nstep: when get next value the number will add step (default is 1)\",\"provide a number long index ,you can get a increase index each time\"}},\n            {CaseStaticDataType.caseStaticData_strIndex,new List<string>(){\"StringIndex\",\"start-end-step\",\"0001-1000-2\",\"start: the start of the number string (the lengh should equal to the end lengh)\\nend: the end of the number sting (the max is 9223372036854775807)\\nstep: when get next value the number will add step (default is 1)\",\"provide a number string index ,you can keep the same lengh of the string each time\"}},\n            {CaseStaticDataType.caseStaticData_time,new List<string>(){\"Time\",\"DateTimeFormatInfo\",\"yyyy-MM-ddTHH:mm:ss\",\"DateTimeFormatInfo: the format for data time (find DateTimeFormatInfo in dotnet doc) \\n[another expression] a int number mean timestamp ,10000 is microsecond  timestamp;10000000 is second timestamp \",\"provide a data time string with your format\"}},\n            {CaseStaticDataType.caseStaticData_random,new List<string>(){\"Random\",\"len-type\",\"10-1\",\"len: the lengh of the random string\\ntype: the type of random mode  (0 is all the visible asc2 ; 1 is only number ; 2 is letter in upper ; 3 is letter in lower ; 4 is the special character ; 5 is all the letters ; 6 is all the letters or numbers)(default is 1)\",\"provide a random strng with your mode\"}},\n            {CaseStaticDataType.caseStaticData_list,new List<string>(){\"List\",\"v1,v2,v3,v4-mode\",\"ab,c,de-1\",\"v1,v2,v3: the value of the list (the value list segmentation by ,) \\nmode: the mode read 1 is read by order ; 2 is read by random (default is 1)\",\"provide a list value ,you can get it by order or random\"}},\n            {CaseStaticDataType.caseStaticData_csv,new List<string>(){\"CSV\",\"path-encode\",\"csvdatasouce.csv-65001\",\"path: the file path (start with @ means absolute path) \\nencode: the encode of the file (default is 65001) \\n[another expression] start with'*' and followed by ColumnCount-RowCount (like *10-10 mean creat a 10*10 empty csv data source)\",\"provide a data souce form csv file ,you can get it by order or location\"}}\n        };\n\n        /// <summary>\n        /// 参数化数据类型映射表\n        /// </summary>\n        public static Dictionary<CaseStaticDataType, CaseStaticDataClass> dictionaryStaticDataTypeClass = new Dictionary<CaseStaticDataType, CaseStaticDataClass>() { \n        { CaseStaticDataType.caseStaticData_vaule, CaseStaticDataClass.caseStaticDataKey },\n        { CaseStaticDataType.caseStaticData_index, CaseStaticDataClass.caseStaticDataParameter },\n        { CaseStaticDataType.caseStaticData_long, CaseStaticDataClass.caseStaticDataParameter},\n        { CaseStaticDataType.caseStaticData_list, CaseStaticDataClass.caseStaticDataParameter},\n        { CaseStaticDataType.caseStaticData_time, CaseStaticDataClass.caseStaticDataParameter},\n        { CaseStaticDataType.caseStaticData_random, CaseStaticDataClass.caseStaticDataParameter},\n        { CaseStaticDataType.caseStaticData_csv, CaseStaticDataClass.caseStaticDataSource},\n        { CaseStaticDataType.caseStaticData_mysql, CaseStaticDataClass.caseStaticDataSource},\n        { CaseStaticDataType.caseStaticData_redis, CaseStaticDataClass.caseStaticDataSource},\n        {CaseStaticDataType.caseStaticData_strIndex, CaseStaticDataClass.caseStaticDataParameter}};\n\n        public static Dictionary<CaseStaticDataClass, List<CaseStaticDataType>> dictionaryStaticDataTypeSource = new Dictionary<CaseStaticDataClass, List<CaseStaticDataType>>()\n        {\n            {CaseStaticDataClass.caseStaticDataKey,new List<CaseStaticDataType>(){CaseStaticDataType.caseStaticData_vaule}},\n            {CaseStaticDataClass.caseStaticDataParameter,new List<CaseStaticDataType>(){CaseStaticDataType.caseStaticData_index,CaseStaticDataType.caseStaticData_list,CaseStaticDataType.caseStaticData_long,CaseStaticDataType.caseStaticData_random,CaseStaticDataType.caseStaticData_strIndex,CaseStaticDataType.caseStaticData_time}},\n            {CaseStaticDataClass.caseStaticDataSource,new List<CaseStaticDataType>(){CaseStaticDataType.caseStaticData_csv}}\n        };\n\n        //参数化数据处理函数委托\n        public delegate bool GetStaticDataAction<T>(out T yourStaticData, out string errorMes, string yourFormatData) where T : IRunTimeStaticData;\n\n        /// <summary>\n        /// CaseStaticDataType数据与处理函数映射表\n        /// </summary>\n        public static Dictionary<CaseStaticDataType, GetStaticDataAction<IRunTimeStaticData>> dictionaryStaticDataParameterAction = new Dictionary<CaseStaticDataType, GetStaticDataAction<IRunTimeStaticData>>() { \n        { CaseStaticDataType.caseStaticData_index, new GetStaticDataAction<IRunTimeStaticData>(CaseRunTimeDataTypeEngine.GetIndexStaticData) } ,\n        { CaseStaticDataType.caseStaticData_strIndex, new GetStaticDataAction<IRunTimeStaticData>(CaseRunTimeDataTypeEngine.GetStrIndexStaticData) } ,\n        { CaseStaticDataType.caseStaticData_long, new GetStaticDataAction<IRunTimeStaticData>(CaseRunTimeDataTypeEngine.GetLongStaticData) } ,\n        { CaseStaticDataType.caseStaticData_list, new GetStaticDataAction<IRunTimeStaticData>(CaseRunTimeDataTypeEngine.GetListStaticData) } ,\n        { CaseStaticDataType.caseStaticData_time, new GetStaticDataAction<IRunTimeStaticData>(CaseRunTimeDataTypeEngine.GetTimeStaticData) } ,\n        { CaseStaticDataType.caseStaticData_random, new GetStaticDataAction<IRunTimeStaticData>(CaseRunTimeDataTypeEngine.GetRandomStaticData) } \n        };\n\n        /// <summary>\n        /// CaseStaticDataType数据与处理函数映射表\n        /// </summary>\n        public static Dictionary<CaseStaticDataType, GetStaticDataAction<IRunTimeDataSource>> dictionaryStaticDataSourceAction = new Dictionary<CaseStaticDataType, GetStaticDataAction<IRunTimeDataSource>>() { \n        { CaseStaticDataType.caseStaticData_csv, new GetStaticDataAction<IRunTimeDataSource>(CaseRunTimeDataTypeEngine.GetCsvStaticDataSource) } \n         };\n\n        #endregion\n\n        #region IRunTimeStaticData\n\n        public static bool GetIndexStaticData(out IRunTimeStaticData yourStaticData, out string errorMes, string yourFormatData)\n        {\n            try\n            {\n                string[] tempStartEnd;\n                tempStartEnd = yourFormatData.Split('-');\n                if (tempStartEnd.Length == 2)\n                {\n                    yourStaticData = new MyStaticDataIndex(int.Parse(tempStartEnd[0]), int.Parse(tempStartEnd[1]), 1, yourFormatData);\n                    errorMes = null;\n                    return true;\n                }\n                if (tempStartEnd.Length == 3)\n                {\n                    yourStaticData = new MyStaticDataIndex(int.Parse(tempStartEnd[0]), int.Parse(tempStartEnd[1]), int.Parse(tempStartEnd[2]), yourFormatData);\n                    errorMes = null;\n                    return true;\n                }\n                else\n                {\n                    yourStaticData = new MyStaticDataIndex(0, 2147483647, 1, yourFormatData);\n                    errorMes = \"find error data[myStaticDataIndex] in RunTimeStaticData - ScriptRunTime :(find error number of parameters)\";\n                }\n            }\n            catch (Exception)\n            {\n                yourStaticData = new MyStaticDataIndex(0, 2147483647, 1, yourFormatData);\n                errorMes = \"find error data[myStaticDataIndex] in RunTimeStaticData - ScriptRunTime \";\n            }\n            return false;\n        }\n\n        public static bool GetStrIndexStaticData(out IRunTimeStaticData yourStaticData, out string errorMes, string yourFormatData)\n        {\n            try\n            {\n                string[] tempStartEnd;\n                tempStartEnd = yourFormatData.Split('-');\n                if (tempStartEnd.Length == 2)\n                {\n                    if (tempStartEnd[0].Length == tempStartEnd[0].Length)\n                    {\n                        yourStaticData = new MyStaticDataStrIndex(long.Parse(tempStartEnd[0]), long.Parse(tempStartEnd[1]), 1, tempStartEnd[0].Length, yourFormatData);\n                        errorMes = null;\n                        return true;\n                    }\n                    else\n                    {\n                        yourStaticData = new MyStaticDataStrIndex(0, 9223372036854775807, 1, 19, yourFormatData);\n                        errorMes = \"find error data[myStaticDataStrIndex] with error len in RunTimeStaticData - ScriptRunTime \";\n                    }\n\n                }\n                else if (tempStartEnd.Length == 3)\n                {\n                    if (tempStartEnd[0].Length == tempStartEnd[0].Length)\n                    {\n                        yourStaticData = new MyStaticDataStrIndex(long.Parse(tempStartEnd[0]), long.Parse(tempStartEnd[1]), long.Parse(tempStartEnd[2]), tempStartEnd[0].Length, yourFormatData);\n                        errorMes = null;\n                        return true;\n                    }\n                    else\n                    {\n                        yourStaticData = new MyStaticDataStrIndex(0, 9223372036854775807, 1, 19, yourFormatData);\n                        errorMes = \"find error data[myStaticDataStrIndex] with error len in RunTimeStaticData - ScriptRunTime \";\n                    }\n                }\n                else\n                {\n                    yourStaticData = new MyStaticDataStrIndex(0, 9223372036854775807, 1, 19, yourFormatData);\n                    errorMes = \"find error data[myStaticDataLong] in RunTimeStaticData - ScriptRunTime  :(find error number of parameters)\";\n                }\n            }\n            catch (Exception)\n            {\n                yourStaticData = new MyStaticDataStrIndex(0, 9223372036854775807, 1, 19, yourFormatData);\n                errorMes = \"find error data[myStaticDataLong] in RunTimeStaticData - ScriptRunTime \";\n            }\n            return false;\n        }\n        public static bool GetLongStaticData(out IRunTimeStaticData yourStaticData, out string errorMes, string yourFormatData)\n        {\n            try\n            {\n                string[] tempStartEnd;\n                tempStartEnd = yourFormatData.Split('-');\n                if (tempStartEnd.Length == 2)\n                {\n                    yourStaticData = new MyStaticDataLong(long.Parse(tempStartEnd[0]), long.Parse(tempStartEnd[1]), 1, yourFormatData);\n                    errorMes = null;\n                    return true;\n                }\n                else if (tempStartEnd.Length == 3)\n                {\n                    yourStaticData = new MyStaticDataLong(long.Parse(tempStartEnd[0]), long.Parse(tempStartEnd[1]), long.Parse(tempStartEnd[2]), yourFormatData);\n                    errorMes = null;\n                    return true;\n                }\n                else\n                {\n                    yourStaticData = new MyStaticDataLong(0, 9223372036854775807, 1, yourFormatData);\n                    errorMes = \"find error data[myStaticDataLong] in RunTimeStaticData - ScriptRunTime  :(find error number of parameters)\";\n                }\n            }\n            catch (Exception)\n            {\n                yourStaticData = new MyStaticDataLong(0, 9223372036854775807, 1, yourFormatData);\n                errorMes = \"find error data[myStaticDataLong] in RunTimeStaticData - ScriptRunTime \";\n            }\n            return false;\n        }\n\n        public static bool GetTimeStaticData(out IRunTimeStaticData yourStaticData, out string errorMes, string yourFormatData)\n        {\n            errorMes = null;\n            try\n            {\n                System.DateTime.Now.ToString(yourFormatData);\n            }\n            catch\n            {\n                errorMes = \"find error data[myStaticDataNowTime] in RunTimeStaticData - ScriptRunTime \";\n                yourStaticData = new MyStaticDataNowTime(\"\", yourFormatData);\n                return false;\n            }\n            yourStaticData = new MyStaticDataNowTime(yourFormatData, yourFormatData);\n            return true;\n        }\n\n        public static bool GetRandomStaticData(out IRunTimeStaticData yourStaticData, out string errorMes, string yourFormatData)\n        {\n            try\n            {\n                string[] tempStartEnd;\n                tempStartEnd = yourFormatData.Split('-');\n                if (tempStartEnd.Length < 2)\n                {\n                    yourStaticData = new MyStaticDataRandomStr(10, 0, yourFormatData);\n                    errorMes = \"find error data[myStaticDataRandomNumber] in RunTimeStaticData - ScriptRunTime \";\n                }\n                else\n                {\n                    yourStaticData = new MyStaticDataRandomStr(int.Parse(tempStartEnd[0]), int.Parse(tempStartEnd[1]), yourFormatData);\n                    errorMes = null;\n                    return true;\n                }\n            }\n            catch (Exception)\n            {\n                yourStaticData = new MyStaticDataRandomStr(10, 0, yourFormatData);\n                errorMes = \"find error data[myStaticDataRandomNumber] in RunTimeStaticData - ScriptRunTime \";\n            }\n            return false;\n        }\n\n        public static bool GetListStaticData(out IRunTimeStaticData yourStaticData, out string errorMes, string yourFormatData)\n        {\n            try\n            {\n                if (yourFormatData.EndsWith(\"-1\"))\n                {\n                    yourFormatData = yourFormatData.Remove(yourFormatData.Length - 2);\n                    yourStaticData = new MyStaticDataList(yourFormatData, false, yourFormatData);\n                }\n                else if (yourFormatData.EndsWith(\"-2\"))\n                {\n                    yourFormatData = yourFormatData.Remove(yourFormatData.Length - 2);\n                    yourStaticData = new MyStaticDataList(yourFormatData, true, yourFormatData);\n                }\n                else\n                {\n                    yourStaticData = new MyStaticDataList(yourFormatData, false, yourFormatData);\n                }\n                errorMes = null;\n                return true;\n            }\n            catch (Exception)\n            {\n                yourStaticData = new MyStaticDataList(\"\", false, yourFormatData);\n                errorMes = \"find error data[myStaticDataList] in RunTimeStaticData - ScriptRunTime \";\n            }\n            return false;\n        }\n\n        #endregion\n\n        #region IRunTimeDataSource\n\n        public static bool GetCsvStaticDataSource(out IRunTimeDataSource yourStaticData, out string errorMes, string yourFormatData)\n        {\n            errorMes = null;\n            yourStaticData = null;\n            string csvPath = null;\n            int CodePage = 65001;\n            Encoding csvEncoding = null;\n#if ALLOW_CSV_EMPTY\n            if (yourFormatData.StartsWith(\"*\"))\n            {\n                int[] tempConuts;\n                if (!yourFormatData.Remove(0, 1).MySplitToIntArray('-', out tempConuts) || tempConuts.Length!=2)\n                {\n                    errorMes = string.Format(\"[GetCsvStaticDataSource]error in [MySplitToIntArray] with :[{0}]\", yourFormatData);\n                    return false;\n                }\n                if(tempConuts[0]<1||tempConuts[1]<1)\n                {\n                    errorMes = string.Format(\"[GetCsvStaticDataSource]error in [MySplitToIntArray] with :[{0}] \\nYour row conut and columu conut should greater than 0 \", yourFormatData);\n                    return false;\n                }\n                List<string> tempRow = new List<string>(tempConuts[0]);\n                for (int i = 0; i < tempConuts[0]; i++)\n                {\n                    tempRow.Add(null);\n                }\n                List<List<string>> tempCsvDataSource = new List<List<string>>(tempConuts[1]);\n                for (int i = 0; i < tempConuts[1];i++ )\n                {\n                    tempCsvDataSource.Add(tempRow.ToList());\n                }\n                yourStaticData = new MyStaticDataSourceCsv(tempCsvDataSource, yourFormatData);\n                return true;\n            }\n#endif\n            if (yourFormatData.Contains('-'))\n            {\n                if (!yourFormatData.MySplitIntEnd('-', out csvPath, out CodePage))\n                {\n                    errorMes = string.Format(\"[GetCsvStaticDataSource]error in [MySplitIntEnd] with :[{0}]\", yourFormatData);\n                    return false;\n                }\n            }\n            else\n            {\n                csvPath = yourFormatData;\n            }\n            try\n            {\n                csvEncoding = System.Text.Encoding.GetEncoding(CodePage);\n            }\n            catch\n            {\n                errorMes = string.Format(\"[GetCsvStaticDataSource]error in 【CodePage】 [{0}]\", yourFormatData);\n                return false;\n            }\n            csvPath = csvPath.StartsWith(\"@\") ? csvPath.Remove(0, 1) : string.Format(\"{0}\\\\FreeHttp\\\\{1}\", MyCommonTool.rootPath, csvPath);\n            if (!System.IO.File.Exists(csvPath))\n            {\n                errorMes = string.Format(\"[GetCsvStaticDataSource]error in csv path [path not exixts] [{0}]\", yourFormatData);\n                return false;\n            }\n            MyCommonHelper.FileHelper.CsvFileHelper myCsv = new MyCommonHelper.FileHelper.CsvFileHelper(csvPath, csvEncoding);\n            try\n            {\n                yourStaticData = new MyStaticDataSourceCsv(myCsv.GetListCsvData(), yourFormatData);\n            }\n            catch (Exception ex)\n            {\n                errorMes = ex.Message;\n                return false;\n            }\n            finally\n            {\n                myCsv.Dispose();\n            }\n            return true;\n        }\n\n        #endregion\n\n    }\n\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/CaseStaticDataType.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData\n{\n    public enum CaseStaticDataType\n    {\n        caseStaticData_vaule = 10000,\n\n        caseStaticData_index = 20000,\n        caseStaticData_long = 20001,\n        caseStaticData_random = 20002,\n        caseStaticData_time = 20003,\n        caseStaticData_list = 20004,\n        caseStaticData_strIndex = 20005,\n\n        caseStaticData_csv = 30000,\n        caseStaticData_mysql = 30001,\n        caseStaticData_redis = 30002,\n    }\n\n    /// <summary>\n    /// 静态参数化数据大分类\n    /// </summary>\n    public enum CaseStaticDataClass\n    {\n        caseStaticDataKey = 0,\n        caseStaticDataParameter = 1,\n        caseStaticDataSource = 2\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/IRunTimeDataSource.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData\n{\n    public interface IRunTimeDataSource : IRunTimeStaticData\n    {\n        /// <summary>\n        /// 获取一个值指示该数据源是否已经连接\n        /// </summary>\n        bool IsConnected { get; }\n\n        /// <summary>\n        /// 连接数据源\n        /// </summary>\n        /// <returns></returns>\n        bool ConnectDataSource();\n\n        /// <summary>\n        /// 断开数据源连接\n        /// </summary>\n        /// <returns></returns>\n        bool DisConnectDataSource();\n\n        /// <summary>\n        /// 以指定地址返回数据源中的数据（地址无效或错误请返回null）\n        /// </summary>\n        /// <param name=\"vauleAddress\">地址字符串（需要按格式指定并定义）</param>\n        /// <returns>目标数据</returns>\n        string GetDataVaule(string vauleAddress);\n\n        /// <summary>\n        /// 设置指定地址的数据值 （IRunTimeStaticData 中的DataSet 设置的是当前值）\n        /// </summary>\n        /// <param name=\"vauleAddress\">地址字符串（需要按格式指定并定义）</param>\n        /// <param name=\"expectData\">期望值</param>\n        /// <returns>是否成功设置</returns>\n        bool DataSet(string vauleAddress, string expectData);\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/IRunTimeStaticData.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData\n{\n    /// <summary>\n    /// StaticData数据结构接口\n    /// Current 属性指向集合中的当前成员。\n    /// MoveNext 属性将枚举数移到集合中的下一成员\n    /// Reset 属性将枚举数移回集合的开始处\n    /// </summary>\n    //[ServiceKnownType(typeof(System.DBNull))]\n    public interface IRunTimeStaticData : ICloneable\n    {\n        /// <summary>\n        ///原始连接字符串\n        /// </summary>\n        string OriginalConnectString\n        {\n            get;\n        }\n\n        /// <summary>\n        /// 获取当前初始化数据类型别名\n        /// </summary>\n        string RunTimeStaticDataTypeAlias\n        {\n            get;\n        }\n\n        /// <summary>\n        /// 获取当前初始化数据类型\n        /// </summary>\n        CaseStaticDataType RunTimeStaticDataType\n        {\n            get;\n        }\n\n        /// <summary>\n        /// 获取当前游标地址的值\n        /// </summary>\n        /// <returns></returns>\n        string DataCurrent();\n        /// <summary>\n        /// 将游标下移，并返回下移之后的值（如何已经到达上边界，则重置游标）（为方便使用请特殊处理初始游标也包括重置后的DataMoveNext与DataCurrent一致，即此时DataMoveNext不向下移动）\n        /// </summary>\n        /// <returns></returns>\n        string DataMoveNext();\n        /// <summary>\n        /// 重置游标\n        /// </summary>\n        void DataReset();\n        /// <summary>\n        /// 设置当前游标指示的数据的值\n        /// </summary>\n        /// <param name=\"expectData\">期望值</param>\n        /// <returns>设置是否成功</returns>\n        bool DataSet(string expectData);\n    }\n\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataIndex.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n    /// <summary>\n    /// 为StaticData提供类似索引递增的动态数据【IRunTimeStaticData】\n    /// </summary>\n    [DataContract]\n    public class MyStaticDataIndex : IRunTimeStaticData\n    {\n        [DataMember]\n        private bool isNew;\n        [DataMember]\n        private int dataIndex;\n        [DataMember]\n        private int defaultStart;\n        [DataMember]\n        private int defaultEnd;\n        [DataMember]\n        private int defaultStep;\n\n        [DataMember]\n        public string OriginalConnectString { get; private set; }\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticData_index\"; }\n        }\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_index; }\n        }\n        public MyStaticDataIndex(int yourStart, int yourEnd, int yourStep)\n        {\n            isNew = true;\n            dataIndex = defaultStart = yourStart;\n            defaultEnd = yourEnd;\n            defaultStep = yourStep;\n        }\n\n        public MyStaticDataIndex(int yourStart, int yourEnd, int yourStep, string originalConnectString)\n            : this(yourStart, yourEnd, yourStep)\n        {\n            OriginalConnectString = originalConnectString;\n        }\n\n        public object Clone()\n        {\n            return new MyStaticDataIndex(defaultStart, defaultEnd, defaultStep);\n        }\n\n\n        public string DataCurrent()\n        {\n            return dataIndex.ToString();\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        public string DataMoveNext()\n        {\n            if (isNew)\n            {\n                isNew = false;\n                return dataIndex.ToString();\n            }\n            if (dataIndex >= defaultEnd)\n            {\n                DataReset();\n                return DataMoveNext();\n            }\n            else\n            {\n                dataIndex += defaultStep;\n            }\n            return dataIndex.ToString();\n        }\n\n\n        public void DataReset()\n        {\n            isNew = true;\n            dataIndex = defaultStart;\n        }\n\n\n        public bool DataSet(string expectData)\n        {\n            int tempData;\n            if (int.TryParse(expectData, out tempData))\n            {\n                if (tempData >= defaultStart && tempData <= defaultEnd)\n                {\n                    dataIndex = tempData;\n                    return true;\n                }\n            }\n            return false;\n        }\n\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataList.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n    /// <summary>\n    ///  为StaticData提供当基于List的列表数据支持据【IRunTimeStaticData】\n    /// </summary>\n     [DataContract]\n    public class MyStaticDataList : IRunTimeStaticData\n    {\n         [DataMember]\n        private bool isNew;\n         [DataMember]\n        private string souseData;\n         [DataMember]\n        private List<string> souseListData;\n         [DataMember]\n        private int nowIndex;\n         [DataMember]\n        private bool isRandom;\n        private Random ran;\n\n         [DataMember]\n        public string OriginalConnectString { get;private set; }\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticData_list\"; }\n        }\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_list; }\n        }\n        public MyStaticDataList(string yourSourceData, bool isRandomNext)\n        {\n            isNew = true;\n            souseData = yourSourceData;\n            souseListData = yourSourceData.Split(',').ToList();\n            nowIndex = 0;\n            isRandom = isRandomNext;\n            if (isRandom)\n            {\n                ran = new Random();\n            }\n            else\n            {\n                ran = null;\n            }\n        }\n\n        public MyStaticDataList(string yourSourceData, bool isRandomNext, string originalConnectString)\n            : this(yourSourceData, isRandomNext)\n        {\n            OriginalConnectString = originalConnectString;\n        }\n\n        public object Clone()\n        {\n            return new MyStaticDataList(souseData, isRandom);\n        }\n\n        public string DataCurrent()\n        {\n            return souseListData[nowIndex];\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        public string DataMoveNext()\n        {\n            if (isRandom)\n            {\n                nowIndex = ran.Next(0, souseListData.Count - 1);\n                return souseListData[nowIndex];\n            }\n            else\n            {\n                if (isNew)\n                {\n                    isNew = false;\n                }\n                else\n                {\n                    nowIndex++;\n                    if (nowIndex > (souseListData.Count - 1))\n                    {\n                        nowIndex = 0;\n                    }\n                }\n                return souseListData[nowIndex];\n            }\n        }\n\n        public void DataReset()\n        {\n            isNew = true;\n            nowIndex = 0;\n        }\n\n        public bool DataSet(string expectData)\n        {\n            if (souseListData.Contains(expectData))\n            {\n                nowIndex = souseListData.IndexOf(expectData);\n            }\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataLong.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n    /// <summary>\n    /// 为StaticData提供长数字索引支持【IRunTimeStaticData】\n    /// </summary>\n     [DataContract]\n    public class MyStaticDataLong : IRunTimeStaticData\n    {\n         [DataMember]\n        private bool isNew;\n         [DataMember]\n        private long dataIndex;\n         [DataMember]\n        private long defaultStart;\n         [DataMember]\n        private long defaultEnd;\n         [DataMember]\n        private long defaultStep;\n\n         [DataMember]\n        public string OriginalConnectString { get; private set; }\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticData_long\"; }\n        }\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_long; }\n        }\n        public MyStaticDataLong(long yourStart, long yourEnd, long yourStep)\n        {\n            isNew = true;\n            dataIndex = defaultStart = yourStart;\n            defaultEnd = yourEnd;\n            defaultStep = yourStep;\n        }\n\n        public MyStaticDataLong(long yourStart, long yourEnd, long yourStep, string originalConnectString)\n            : this(yourStart, yourEnd, yourStep)\n        {\n            OriginalConnectString = originalConnectString;\n        }\n\n        public object Clone()\n        {\n            return new MyStaticDataLong(defaultStart, defaultEnd, defaultStep);\n        }\n\n\n        public string DataCurrent()\n        {\n            return dataIndex.ToString();\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        public string DataMoveNext()\n        {\n            if (isNew)\n            {\n                isNew = false;\n                return dataIndex.ToString();\n            }\n            if (dataIndex >= defaultEnd)\n            {\n                DataReset();\n                return DataMoveNext();\n            }\n            else\n            {\n                //lock(this)\n                //{\n                    dataIndex += defaultStep;\n                //}\n            }\n            return dataIndex.ToString();\n        }\n\n\n        public void DataReset()\n        {\n            isNew = true;\n            dataIndex = defaultStart;\n        }\n\n\n        public bool DataSet(string expectData)\n        {\n            long tempData;\n            if (long.TryParse(expectData, out tempData))\n            {\n                if (tempData >= defaultStart && tempData <= defaultEnd)\n                {\n                    dataIndex = tempData;\n                    return true;\n                }\n            }\n            return false;\n        }\n\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataNowTime.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n    /// <summary>\n    /// 为StaticData提供当前时间的动态数据【IRunTimeStaticData】\n    /// </summary>\n     [DataContract]\n    public class MyStaticDataNowTime : IRunTimeStaticData\n    {\n         [DataMember]\n        string myNowStr;\n         [DataMember]\n        string myDataFormatInfo;\n         [DataMember]\n        int timestampFormatdividend;\n\n         [DataMember]\n        public string OriginalConnectString { get; private set; }\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticData_time\"; }\n        }\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_time; }\n        }\n        public MyStaticDataNowTime(string yourRormatInfo)\n        {\n            myNowStr = \"\";\n            if (int.TryParse(yourRormatInfo, out timestampFormatdividend))\n            {\n                if(timestampFormatdividend<=0)\n                {\n                    timestampFormatdividend = 0;\n                    myDataFormatInfo = \"\";\n                }\n            }\n            else\n            {\n                myDataFormatInfo = yourRormatInfo;\n            }\n        }\n\n        public MyStaticDataNowTime(string yourRormatInfo, string originalConnectString)\n            : this(yourRormatInfo)\n        {\n            OriginalConnectString = originalConnectString;\n        }\n\n        public object Clone()\n        {\n            return new MyStaticDataNowTime(myDataFormatInfo);\n        }\n\n        public string DataCurrent()\n        {\n            return myNowStr;\n        }\n\n        public string DataMoveNext()\n        {\n            if (timestampFormatdividend == 0)\n            {\n                myNowStr = System.DateTime.Now.ToString(myDataFormatInfo);\n            }\n            else\n            {\n                myNowStr = ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / timestampFormatdividend).ToString();\n            }\n            return myNowStr;\n        }\n\n        public void DataReset()\n        {\n            myNowStr = \"\";\n        }\n\n\n        public bool DataSet(string expectData)\n        {\n            if (expectData != null)\n            {\n                myNowStr = expectData;\n                return true;\n            }\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataRandomStr.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n    /// <summary>\n    /// 为StaticData提供随机字符串动态数据【IRunTimeStaticData】\n    /// </summary>\n     [DataContract]\n    public class MyStaticDataRandomStr : IRunTimeStaticData\n    {\n         [DataMember]\n        string myNowStr;\n         [DataMember]\n        int myStrNum;\n         [DataMember]\n        int myStrType;\n\n         [DataMember]\n        public string OriginalConnectString { get; private set; }\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticData_random\"; }\n        }\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_random; }\n        }\n        public MyStaticDataRandomStr(int yourStrNum, int yourStrType)\n        {\n            myNowStr = \"\";\n            myStrNum = yourStrNum;\n            myStrType = yourStrType;\n        }\n\n        public MyStaticDataRandomStr(int yourStrNum, int yourStrType, string originalConnectString)\n            : this(yourStrNum, yourStrType)\n        {\n            OriginalConnectString = originalConnectString;\n        }\n\n        public object Clone()\n        {\n            return new MyStaticDataRandomStr(myStrNum, myStrType);\n        }\n\n        public string DataCurrent()\n        {\n            return myNowStr;\n        }\n\n        public string DataMoveNext()\n        {\n            myNowStr = MyCommonTool.GenerateRandomStr(myStrNum, myStrType);\n            return myNowStr;\n        }\n\n        public void DataReset()\n        {\n            myNowStr = \"\";\n        }\n\n\n        public bool DataSet(string expectData)\n        {\n            if (expectData != null)\n            {\n                myNowStr = expectData;\n                return true;\n            }\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataSourceCsv.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n    [DataContract]\n    public class MyStaticDataSourceCsv : IRunTimeDataSource\n    {\n        [DataMember]\n        private bool isNew;\n        [DataMember]\n        private int nowRowIndex;\n        [DataMember]\n        private int nowColumnIndex;\n        [DataMember]\n        private List<List<string>> csvData;\n\n        [DataMember]\n        public string OriginalConnectString { get; private set; }\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticDataSource_csv\"; }\n        }\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_csv; }\n        }\n        public MyStaticDataSourceCsv(List<List<string>> yourCsvData)\n        {\n            isNew = true;\n            nowRowIndex = 0;\n            nowColumnIndex = 0;\n            if(!SetDataSource(yourCsvData))\n            {\n                csvData = new List<List<string>>() { new List<string>() { \"NullData\" } };\n            }\n        }\n\n        public MyStaticDataSourceCsv(List<List<string>> yourCsvData, string originalConnectString)\n            : this(yourCsvData)\n        {\n            OriginalConnectString = originalConnectString;\n        }\n        public object Clone()\n        {\n            return new MyStaticDataSourceCsv(csvData);\n        }\n        public bool IsConnected\n        {\n            get { return true; }\n        }\n\n        public bool ConnectDataSource()\n        {\n            return true;\n        }\n\n        public bool DisConnectDataSource()\n        {\n            return true;\n        }\n\n        public List<List<string>> GetDataSource()\n        {\n            return csvData;\n        }\n\n        public bool SetDataSource(List<List<string>> yourDataSource)\n        {\n            if (yourDataSource.Count == 0 || yourDataSource[0] == null || yourDataSource[0].Count==0)\n            {\n                return false;\n            }\n            for (int i = yourDataSource.Count -1 ; i >= 0; i--)\n            {\n                if (yourDataSource[i] == null || yourDataSource[i].Count==0)\n                {\n                    yourDataSource.RemoveAt(i);\n                }\n            }\n            csvData = yourDataSource;\n            if(nowRowIndex>=yourDataSource.Count || nowColumnIndex>=yourDataSource[nowRowIndex].Count)\n            {\n                DataReset();\n            }\n            return true;\n        }\n\n        public string GetDataVaule(string vauleAddress)\n        {\n            if (vauleAddress != null)\n            {\n                int[] csvPosition;\n                if (vauleAddress.MySplitToIntArray('-', out csvPosition))\n                {\n                    if (csvPosition.Length == 2)\n                    {\n                        return GetDataVaule(csvPosition[1], csvPosition[0]);\n                    }\n                }\n            }\n            return null;\n        }\n\n        public string GetDataVaule(int yourRowIndex, int yourColumnIndex)\n        {\n            if (yourRowIndex < csvData.Count)\n            {\n                if (yourColumnIndex < csvData[yourRowIndex].Count)\n                {\n                    return csvData[yourRowIndex][yourColumnIndex] ?? \"\";\n                }\n            }\n            return null;\n        }\n\n        public string DataCurrent()\n        {\n            //不需要检查 Index ，索引在内部操作，不可能越界\n            return csvData[nowRowIndex][nowColumnIndex] ?? \"\";\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        public string DataMoveNext()\n        {\n            if (isNew)\n            {\n                isNew = false;\n            }\n            else\n            {\n                //内部游标没有变化前不会越界\n                if (nowColumnIndex + 1 < csvData[nowRowIndex].Count)\n                {\n                    nowColumnIndex++;\n                }\n                else if (nowRowIndex + 1 < csvData.Count)\n                {\n                    nowColumnIndex = 0;\n                    nowRowIndex++;\n                }\n                else\n                {\n                    DataReset();\n                }\n            }\n            return DataCurrent();\n        }\n\n        public void DataReset()\n        {\n            //对于csv文件解析出来的数据不可能出现空行空列的情况，所以（0,0）\n            nowRowIndex = 0;\n            nowColumnIndex = 0;\n            isNew = true;\n        }\n\n        /// <summary>\n        ///  设置源数据（使用|分割数据地址及数据值，如果以|开头则表示设置当前地址的值，不含有|的数据也表示当前值）\n        /// </summary>\n        /// <param name=\"ExpressionData\">数据地址及数据内容字符串</param>\n        /// <returns>是否完成</returns>\n        public bool DataExpressionSet(string ExpressionData)\n        {\n            if (ExpressionData != null)\n            {\n                int splitIndex = ExpressionData.IndexOf('|');\n                if (splitIndex > 0)\n                {\n                    return DataSet(ExpressionData.Substring(0, splitIndex), ExpressionData.Remove(0, splitIndex + 1));\n                }\n                else if(splitIndex ==0)\n                {\n                    return DataSet(ExpressionData.Remove(0, 1));\n                }\n                else\n                {\n                    return DataSet(ExpressionData);\n                }\n            }\n            return false;\n        }\n\n        public bool DataSet(string expectData)\n        {\n            if (expectData != null)\n            {\n                csvData[nowRowIndex][nowColumnIndex] = expectData;\n                return true;\n            }\n            return false;\n        }\n\n        public bool DataSet(int yourRowIndex, int yourColumnIndex, string expectData)\n        {\n            if (yourRowIndex < 0 || yourColumnIndex<0)\n            {\n                return false;\n            }\n            if (yourColumnIndex > csvData.Count - 1)\n            {\n                for (int i = 0;  yourColumnIndex > csvData.Count - 1; i++)\n                {\n                    csvData.Add(new List<string> { \"\" }); \n                }\n            }\n            if (yourRowIndex > csvData[yourColumnIndex].Count - 1)\n            {\n                for (int i = 0;  yourRowIndex > csvData[yourRowIndex].Count-1; i++)\n                {\n                    csvData[yourRowIndex].Add(\"\");\n                }\n            }\n            csvData[yourRowIndex][yourColumnIndex] = expectData;\n            return true;\n        }\n\n        public bool DataSet(string vauleAddress, string expectData)\n        {\n            if (vauleAddress != null)\n            {\n                int[] csvPosition;\n                if (vauleAddress.MySplitToIntArray('-', out csvPosition))\n                {\n                    if (csvPosition.Length == 2)\n                    {\n                        DataSet(csvPosition[1], csvPosition[0], expectData);\n                        return true;\n                    }\n                }\n            }\n            return false;\n        }\n        public bool SetDataLocation(int yourRowIndex, int yourColumnIndex)\n        {\n            if (yourRowIndex < 0 || yourColumnIndex < 0)\n            {\n                return false;\n            }\n            if (yourRowIndex > csvData.Count - 1 || yourColumnIndex > csvData[yourRowIndex].Count - 1)\n            {\n                return false;\n            }\n            nowRowIndex = yourRowIndex;\n            nowColumnIndex = yourColumnIndex;\n            return true;\n        }\n\n        public Point GetDataLocation()\n        {\n            return new Point(nowColumnIndex, nowRowIndex);\n        }\n    \n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataStrIndex.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n    /// <summary>\n    /// 为StaticData提定长字符串型数字索引支持【IRunTimeStaticData】\n    /// </summary>\n     [DataContract]\n    public class MyStaticDataStrIndex : IRunTimeStaticData\n    {\n         [DataMember]\n        private bool isNew;\n         [DataMember]\n        private long dataIndex;\n         [DataMember]\n        private long defaultStart;\n         [DataMember]\n        private long defaultEnd;\n         [DataMember]\n        private long defaultStep;\n         [DataMember]\n        private int strLen;\n\n         [DataMember]\n        public string OriginalConnectString { get; private set; }\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticData_strIndex\"; }\n        }\n\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_strIndex; }\n        }\n        public MyStaticDataStrIndex(long yourStart, long yourEnd, long yourStep, int yourStrLen)\n        {\n            isNew = true;\n            dataIndex = defaultStart = yourStart;\n            defaultEnd = yourEnd;\n            defaultStep = yourStep;\n            strLen = yourStrLen;\n        }\n\n        public MyStaticDataStrIndex(long yourStart, long yourEnd, long yourStep, int yourStrLen, string originalConnectString)\n            : this(yourStart, yourEnd, yourStep, yourStrLen)\n        {\n            OriginalConnectString = originalConnectString;\n        }\n\n        public object Clone()\n        {\n            return new MyStaticDataStrIndex(defaultStart, defaultEnd, defaultStep, strLen);\n        }\n\n        private string GetLenStr(long yourLeng)\n        {\n            string outStr = yourLeng.ToString();\n            int distinction = strLen - outStr.Length;\n            if (distinction > 0)\n            {\n                for (int i = 0; i < distinction; i++)\n                {\n                    outStr = \"0\" + outStr;\n                }\n            }\n            return outStr;\n        }\n\n        public string DataCurrent()\n        {\n            return GetLenStr(dataIndex);\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        public string DataMoveNext()\n        {\n            if (isNew)\n            {\n                isNew = false;\n                return GetLenStr(dataIndex);\n            }\n            if (dataIndex >= defaultEnd)\n            {\n                DataReset();\n                return DataMoveNext();\n            }\n            else\n            {\n                dataIndex += defaultStep;\n            }\n            return GetLenStr(dataIndex);\n        }\n\n\n        public void DataReset()\n        {\n            isNew = true;\n            dataIndex = defaultStart;\n        }\n\n\n        public bool DataSet(string expectData)\n        {\n            long tempData;\n            if (long.TryParse(expectData, out tempData))\n            {\n                if (tempData >= defaultStart && tempData <= defaultEnd)\n                {\n                    dataIndex = tempData;\n                    return true;\n                }\n            }\n            return false;\n        }\n        \n    }\n\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/MyStaticData/MyStaticDataValue.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Runtime.Serialization;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData.MyStaticData\n{\n     [DataContract]\n    public class MyStaticDataValue : IRunTimeStaticData\n    {\n         [DataMember]\n        private string defaultValue;\n\n         [DataMember]\n        public string OriginalConnectString { get;private set; }\n\n\n        public string RunTimeStaticDataTypeAlias\n        {\n            get { return \"staticData_value\"; }\n        }\n        public CaseStaticDataType RunTimeStaticDataType\n        {\n            get { return CaseStaticDataType.caseStaticData_vaule; }\n        }\n\n\n        public MyStaticDataValue(string yourVaule)\n        {\n            defaultValue=OriginalConnectString=yourVaule;\n        }\n\n\n        public object Clone()\n        {\n            return new MyStaticDataValue(defaultValue);\n        }\n\n\n        public string DataCurrent()\n        {\n            return defaultValue;\n        }\n\n        public string DataMoveNext()\n        {\n            return defaultValue;\n        }\n\n\n        public void DataReset()\n        {\n            \n        }\n\n\n        public bool DataSet(string expectData)\n        {\n            if (expectData!=null)\n            {\n                defaultValue = expectData;\n                return true;\n            }\n            return false;\n        }\n\n    }\n}\n"
  },
  {
    "path": "AutoTest/RunTimeStaticData/RunTimeStaticDataHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.AutoTest.RunTimeStaticData\n{\n    public static class RunTimeStaticDataHelper\n    {\n        public static bool AddStaticDataToCollection(ActuatorStaticDataCollection actuatorStaticDataCollection, CaseStaticDataType dataType, string staticDataKey, string staticDataVaule, out string errorMes)\n        {\n            errorMes = null;\n            if (actuatorStaticDataCollection==null)\n            {\n                errorMes = \"your ActuatorStaticDataCollection is null\";\n                return false;\n            }\n\n            if (actuatorStaticDataCollection.IsHaveSameKey(staticDataKey))\n            {\n                errorMes = (string.Format(\"find same key 【{0}】in RunTimeParameter with [ CaseStaticDataClass.caseStaticDataKey] in - ScriptRunTime ,and will drop this key\", staticDataKey));\n                return false;\n            }\n\n            switch(CaseRunTimeDataTypeEngine.dictionaryStaticDataTypeClass[dataType])\n            {\n                case CaseStaticDataClass.caseStaticDataKey:\n                    if (dataType == CaseStaticDataType.caseStaticData_vaule)\n                    {\n                        if (!actuatorStaticDataCollection.AddStaticDataKey(staticDataKey, new FreeHttp.AutoTest.RunTimeStaticData.MyStaticData.MyStaticDataValue(staticDataVaule)))\n                        {\n                            errorMes = (string.Format(\"can not add {0} into ActuatorStaticDataCollection\", staticDataKey));\n                            return false;\n                        }\n                        //runActuatorStaticDataCollection.RunActuatorStaticDataKeyList.MyAdd(new KeyValuePair<string, string>());\n                    }\n                    else\n                    {\n                        throw new Exception(string.Format(\"find nonsupport Protocol 【{0}】with [ CaseStaticDataClass.caseStaticDataKey] in - ScriptRunTime \", dataType));\n                    }\n                    break;\n                case CaseStaticDataClass.caseStaticDataParameter:\n                    IRunTimeStaticData tempRunTimeStaticData;\n                    string tempTypeError;\n                    if (CaseRunTimeDataTypeEngine.dictionaryStaticDataParameterAction[dataType](out tempRunTimeStaticData, out tempTypeError, staticDataVaule))\n                    {\n                        if (!actuatorStaticDataCollection.AddStaticDataParameter(staticDataKey, tempRunTimeStaticData))\n                        {\n                            errorMes = (string.Format(\"can not add {0} into ActuatorStaticDataCollection\", staticDataKey));\n                            return false;\n                        }\n                        //runActuatorStaticDataCollection.RunActuatorStaticDataParameterList.MyAdd(tempName, tempRunTimeStaticData);\n                    }\n                    else\n                    {\n                        errorMes = string.Format(\"find error in 【RunTimeStaticData】->【{0}】:value:【{1}】 by {2}\", staticDataKey, staticDataVaule, tempTypeError);\n                        return false;\n                    }\n                    break;\n                case CaseStaticDataClass.caseStaticDataSource:\n                    IRunTimeDataSource tempRunTimeDataSource;\n                    if (CaseRunTimeDataTypeEngine.dictionaryStaticDataSourceAction[dataType](out tempRunTimeDataSource, out tempTypeError, staticDataVaule))\n                    {\n                        if (!actuatorStaticDataCollection.AddStaticDataSouce(staticDataKey, tempRunTimeDataSource))\n                        {\n                            errorMes = (string.Format(\"can not add {0} into ActuatorStaticDataCollection\", staticDataKey));\n                            return false;\n                        }\n                        //runActuatorStaticDataCollection.RunActuatorStaticDataSouceList.MyAdd<IRunTimeDataSource>(tempName, tempRunTimeDataSource);\n                    }\n                    else\n                    {\n                        errorMes = (string.Format(\"find error in 【RunTimeStaticData】->【{0}】:value:【{1}】 by {2}\", staticDataKey, staticDataVaule, tempTypeError));\n                        return false;\n                    }\n                    break;\n                default:\n                    throw new Exception(\" find nonsupport CaseStaticDataClass\");\n            }\n            return true;\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerFreeHttp.cs",
    "content": "﻿using Fiddler;\nusing FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.FiddlerHelper;\nusing FreeHttp.FreeHttpControl;\nusing FreeHttp.MyHelper;\nusing FreeHttp.WebService;\nusing System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\n\n/*******************************************************************************\n* Copyright (c) 2018 lulianqi\n* All rights reserved.\n* \n* 文件名称: \n* 内容摘要: mycllq@hotmail.com\n* \n* 历史记录:\n* 日\t  期:   20181103           创建人: lulianqi [mycllq@hotmail.com]\n* 描    述: 创建\n*\n* 历史记录:\n* 日\t  期:                      修改:  \n* 描    述: \n*******************************************************************************/\n\n[assembly: Fiddler.RequiredVersion(\"2.3.5.0\")]\nnamespace FreeHttp\n{\n\n    public class FiddlerFreeHttp : IAutoTamper, IDisposable\n    {\n        private bool isOnLoad = false;                  //是否已经加载过tab\n        private bool isCheckedUpdata = false;           //是否已经成功完成更新检查，如果检查失败会被重新设置为false\n        private bool isInFreeHttpTab = false;           //是否在正在FreeHttp Tab页中\n        private Image myIco;\n        private TabPage tabPage;\n        private FreeHttpWindow myFreeHttpWindow;\n        private UpgradeService upgradeService;\n        private OperationReportService operationReportService;\n\n        public bool IsSkipConnectTunnels\n        {\n            get \n            {\n                if (myFreeHttpWindow != null && myFreeHttpWindow.ModificSettingInfo != null)\n                    return myFreeHttpWindow.ModificSettingInfo.IsSkipConnectTunnels;\n                else\n                    return true;\n            }\n        }\n\n        public bool IsSkipUiHide\n        {\n            get\n            {\n                if (myFreeHttpWindow != null && myFreeHttpWindow.ModificSettingInfo != null)\n                    return myFreeHttpWindow.ModificSettingInfo.IsSkipUiHide;\n                else\n                    return true;\n            }\n        }\n\n        public bool IsOnlyMatchFistTamperRule\n        {\n            get\n            {\n                if (myFreeHttpWindow != null && myFreeHttpWindow.ModificSettingInfo != null)\n                    return myFreeHttpWindow.ModificSettingInfo.IsOnlyMatchFirstTamperRule;\n                else\n                    return false;\n            }\n        }\n\n        public bool IsHideFreeHttpSession\n        {\n            get\n            {\n                return isCheckedUpdata && myFreeHttpWindow.ModificSettingInfo.IsHideSelfSession;\n            }\n        }\n\n        private void ShowMes(string mes)\n        {\n            ShowMes(mes, false);\n        }\n        private void ShowMes(string mes , bool isReport = false)\n        {\n            if (!isOnLoad)\n            {\n                return;\n            }\n            if (isReport) _ = RemoteLogService.ReportLogAsync(mes, RemoteLogService.RemoteLogOperation.SessionTamp, RemoteLogService.RemoteLogType.Info);\n            if (myFreeHttpWindow.InvokeRequired)\n            {\n                //BeginInvoke,Invoke will execute in the contol ui thread, but Invoke will with the end in the ui thread\n                //myFreeHttpWindow.Invoke(new Action(()=>{System.Threading.Thread.Sleep(10000);}) );\n                myFreeHttpWindow.BeginInvoke(new Action<string>(myFreeHttpWindow.PutInfo), mes);\n            }\n            else\n            {\n                myFreeHttpWindow.PutInfo(mes);\n            }\n        }\n\n        private void ShowError(string mes)\n        {\n            ShowError(mes, true);\n        }\n\n        private void ShowError(string mes ,bool isReport = true)\n        {\n            if (!isOnLoad)\n            {\n                return;\n            }\n            AddFiddlerObjectLog(mes);\n            if(isReport)  _ = RemoteLogService.ReportLogAsync(mes, RemoteLogService.RemoteLogOperation.SessionTamp, RemoteLogService.RemoteLogType.Error);\n            if (myFreeHttpWindow.InvokeRequired)\n            {\n                myFreeHttpWindow.BeginInvoke(new Action<string>(myFreeHttpWindow.PutError), mes);\n            }\n            else\n            {\n                myFreeHttpWindow.PutError(mes);\n            }\n        }\n\n        private void AddFiddlerObjectLog(string mes)\n        {\n            FiddlerObject.log(string.Format(\"【FiddlerFreeHttp】:{0}\", mes));\n        }\n        private void SetStatusText(string mes)\n        {\n            FiddlerObject.StatusText = mes;\n        }\n\n        private void MarkSession(Session oSession)\n        {\n            oSession[\"ui-backcolor\"] = \"Khaki\";\n            oSession[\"ui-bold\"] = \"true\";\n            oSession[\"ui-color\"] = \"Indigo\";\n            oSession.RefreshUI();\n        }\n        public void OnBeforeUnload()\n        {\n            SerializableHelper.SerializeRuleList(myFreeHttpWindow.RequestRuleListView, myFreeHttpWindow.ResponseRuleListView);\n            SerializableHelper.SerializeData<FiddlerModificSettingInfo>(myFreeHttpWindow.ModificSettingInfo, \"FreeHttp\\\\FreeHttpSetting.xml\");\n            SerializableHelper.SerializeContractData<ActuatorStaticDataCollection>(myFreeHttpWindow.StaticDataCollection, \"FreeHttp\\\\FreeHttpStaticDataCollection.xml\");\n            SerializableHelper.SerializeContractData<FiddlerRuleGroup>(myFreeHttpWindow.ModificRuleGroup, \"FreeHttp\\\\FreeHttpModificRuleGroup.xml\");\n\n            if (isInFreeHttpTab)\n            {\n                operationReportService.OutOperation(DateTime.Now, myFreeHttpWindow.RequestRuleListView.Items.Count, myFreeHttpWindow.ResponseRuleListView.Items.Count);\n            }\n            if (operationReportService.HasAnyOperation && IsSkipConnectTunnels)\n            {\n                operationReportService.StaticDataCollection = myFreeHttpWindow.StaticDataCollection.IsEmpty? null: myFreeHttpWindow.StaticDataCollection;\n                operationReportService.RuleGroup = myFreeHttpWindow.ModificRuleGroup.IsEmpty ? null : myFreeHttpWindow.ModificRuleGroup;\n                operationReportService.FiddlerRequestChangeRuleList = myFreeHttpWindow.FiddlerRequestChangeList;\n                operationReportService.FiddlerResponseChangeRuleList = myFreeHttpWindow.FiddlerResponseChangeList;\n                operationReportService.StartReportThread();\n            }\n            upgradeService.TrySilentUpgrade();\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        public void OnLoad()\n        {\n            AddFiddlerObjectLog(\"OnLoad\");\n            //string workPath = string.Format(\"{0}\\\\FreeHttp\", System.Windows.Forms.Application.StartupPath);\n            //System.Threading.Tasks.Task.Run(OnLoad);\n            string workPath = string.Format(\"{0}\\\\FreeHttp\", Directory.GetCurrentDirectory());\n            if (!isOnLoad)\n            {\n                tabPage = new TabPage();\n                tabPage.Text = \"Free Http\";\n                if (FiddlerApplication.UI.tabsViews.ImageList != null)\n                {\n                    myIco = FreeHttp.Resources.MyResource.freehttp;\n                    FiddlerApplication.UI.tabsViews.ImageList.Images.Add(myIco);\n                    tabPage.ImageIndex = FiddlerApplication.UI.tabsViews.ImageList.Images.Count - 1;\n                }\n                try\n                {\n                    if (!Directory.Exists(workPath))\n                    {\n                        AddFiddlerObjectLog(string.Format(\"Create working directory {0}\", workPath));\n                        Directory.CreateDirectory(workPath);\n                    }\n                    AddFiddlerObjectLog(string.Format(\"load configuration\"));\n                    myFreeHttpWindow = new FreeHttpWindow(SerializableHelper.DeserializeRuleList(),\n                        SerializableHelper.DeserializeData<FiddlerModificSettingInfo>(\"FreeHttp\\\\FreeHttpSetting.xml\"), \n                        SerializableHelper.DeserializeContractData<ActuatorStaticDataCollection>(\"FreeHttp\\\\FreeHttpStaticDataCollection.xml\"),\n                        SerializableHelper.DeserializeContractData<FiddlerRuleGroup>(\"FreeHttp\\\\FreeHttpModificRuleGroup.xml\"));\n                }\n                catch (Exception ex)\n                {\n                    AddFiddlerObjectLog(string.Format(\"load configuration fial ,{0}\", ex.Message));\n                }\n                finally\n                {\n                    if (myFreeHttpWindow == null)\n                    {\n                        myFreeHttpWindow = new FreeHttpWindow(null, null, null ,null);\n                    }\n                }\n                myFreeHttpWindow.OnUpdataFromSession += myFreeHttpWindow_OnUpdataFromSession;\n                myFreeHttpWindow.OnGetSessionRawData += myFreeHttpWindow_OnGetSessionRawData;\n                myFreeHttpWindow.OnGetSessionEventArgs += MyFreeHttpWindow_OnGetSessionEventArgs;\n                myFreeHttpWindow.OnGetSessionSeekHead += myFreeHttpWindow_OnGetSessionSeekHead;\n                myFreeHttpWindow.OnShowInIndependentWindow += MyFreeHttpWindow_OnShowInIndependentWindow;\n                myFreeHttpWindow.Dock = DockStyle.Fill;\n                myFreeHttpWindow.Enter += myFreeHttpWindow_Enter;\n                tabPage.Controls.Add(myFreeHttpWindow);\n                FiddlerApplication.UI.tabsViews.TabPages.Add(tabPage);\n                Fiddler.FiddlerApplication.UI.Deactivate += UI_Deactivate;\n                FiddlerApplication.UI.tabsViews.SelectedIndexChanged += tabsViews_SelectedIndexChanged;\n                FiddlerApplication.OnWebSocketMessage += FiddlerApplication_OnWebSocketMessage;\n                FiddlerApplication.UI.tabsViews.ParentChanged += TabsViews_ParentChanged;\n\n                upgradeService = new UpgradeService();\n                upgradeService.GetUpgradeMes += upgradeService_GetUpgradeMes;\n                operationReportService = new OperationReportService();\n                isOnLoad = true;\n            }\n        }\n\n       \n        private void TabsViews_ParentChanged(object sender, EventArgs e)\n        {\n            myFreeHttpWindow.FreeHttpWindowParentChanged(sender);\n        }\n\n        void tabsViews_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            if (isCheckedUpdata == false && FiddlerApplication.UI.tabsViews.SelectedTab == tabPage)\n            {\n                isCheckedUpdata = true;\n                upgradeService.StartCheckUpgrade();\n                //upgradeService.StartCheckUpgradeThread();\n            }\n\n            //operation report\n            if (FiddlerApplication.UI.tabsViews.SelectedTab == tabPage)\n            {\n                isInFreeHttpTab = true;\n                operationReportService.InOperation(DateTime.Now);\n                myFreeHttpWindow.FreeHttpWindowSelectedChanged(true);\n            }\n            else if (isInFreeHttpTab)\n            {\n                isInFreeHttpTab = false;\n                operationReportService.OutOperation(DateTime.Now, myFreeHttpWindow.RequestRuleListView.Items.Count, myFreeHttpWindow.ResponseRuleListView.Items.Count);\n                myFreeHttpWindow.FreeHttpWindowSelectedChanged(false);\n            }\n        }\n\n        void myFreeHttpWindow_Enter(object sender, EventArgs e)\n        {\n            //when myFreeHttpWindow is enter do somethings\n        }\n\n\n        void UI_Deactivate(object sender, EventArgs e)\n        {\n            myFreeHttpWindow.CloseEditRtb();\n        }\n\n\n        private void upgradeService_GetUpgradeMes(object sender, UpgradeService.UpgradeServiceEventArgs e)\n        {\n            Action<string, string> ShowDialogResultBox = (message, title) =>\n             {\n                 if (string.IsNullOrEmpty(e.UpgradeInfo.url))\n                 {\n                     MessageBox.Show(message, title);\n                 }\n                 else\n                 {\n                     if (MessageBox.Show(message, title,e.UpgradeInfo.isForceEnter? MessageBoxButtons.OK : MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)\n                     {\n                         ShowMes(string.Format(\"enter message details [flag:{0}]\", e.UpgradeInfo.messageFlag??\"any\"),true);\n                         if (string.IsNullOrEmpty(e.UpgradeInfo.url))\n                         {\n                             MessageBox.Show(\"UpgradeInfo.url is error\");\n                             return;\n                         }\n                         try\n                         {\n                             System.Diagnostics.Process.Start(e.UpgradeInfo.url);\n                         }\n                         catch (Exception ex)\n                         {\n                             MessageBox.Show(string.Format(\"UpgradeMes is error \\r\\n{0}\", ex.Message));\n                             ShowError(string.Format(\"process start fail [{0}] [{1}] \", e.UpgradeInfo.url , ex.Message));\n                         }\n                     }\n                     else\n                     {\n                         ShowMes(string.Format(\"cancel enter message details [flag:{0}]\", e.UpgradeInfo.messageFlag ?? \"any\"),true);\n                     }\n                 }\n             };\n\n            if (e.IsSuccess)\n            {\n                if(!string.IsNullOrEmpty(e.UpgradeInfo.uuid)&& string.IsNullOrEmpty(myFreeHttpWindow.ModificSettingInfo.UserToken))\n                {\n                    myFreeHttpWindow.ModificSettingInfo.UserToken = e.UpgradeInfo.uuid;\n                }\n\n                if (e.UpgradeInfo.isNeedUpdata && !e.UpgradeInfo.isSilentUpgrade)\n                {\n                    //ShowDialogResultBox(string.IsNullOrEmpty(e.UpgradeInfo.message)?\"Find new version for [ FreeHttp Plug-in ] \\r\\nDo you want goto upgrade page to udpade your FreeHttp\" : e.UpgradeInfo.message , \"find new version\");\n                    myFreeHttpWindow.Invoke(new Action(() => {\n                        ShowDialogResultBox(string.IsNullOrEmpty(e.UpgradeInfo.message) ? \"Find new version for [ FreeHttp Plug-in ] \\r\\nDo you want goto upgrade page to udpade your FreeHttp\" : e.UpgradeInfo.message, \"find new version\");\n                    }));\n                    return;\n                }\n                else if(e.UpgradeInfo.isNeedUpdata && e.UpgradeInfo.isSilentUpgrade)\n                {\n                    //Silent Upgrade\n                }\n                else if (e.UpgradeInfo.isShowMessage && !string.IsNullOrEmpty(e.UpgradeInfo.message))\n                {\n                    //show meaasge\n                    if(string.IsNullOrEmpty(e.UpgradeInfo.messageFlag))\n                    {\n                        myFreeHttpWindow.Invoke(new Action(() => {\n                            ShowDialogResultBox(e.UpgradeInfo.message, \"new message\");\n                        }));\n                    }\n                    else\n                    {\n                        if (!myFreeHttpWindow.ModificSettingInfo.ReadedMessageFlags.Contains(e.UpgradeInfo.messageFlag))\n                        {\n                            myFreeHttpWindow.Invoke(new Action(() =>\n                            {\n                                ShowDialogResultBox(e.UpgradeInfo.message, \"new message\");\n                            }));\n                        myFreeHttpWindow.ModificSettingInfo.ReadedMessageFlags.Add(e.UpgradeInfo.messageFlag);\n                        }\n                    }\n                }\n                else\n                {\n                    //not any thing\n                }\n            }\n            else\n            {\n                isCheckedUpdata = false;\n            }\n        }\n        private void myFreeHttpWindow_OnGetSessionRawData(object sender, FreeHttpWindow.GetSessionRawDataEventArgs e)\n        {\n            Session tempSession = Fiddler.FiddlerObject.UI.GetFirstSelectedSession();\n            if (tempSession == null)\n            {\n                Fiddler.FiddlerObject.UI.ShowAlert(new frmAlert(\"STOP\", \"please select a session\", \"OK\"));\n                FreeHttpWindow.MarkWarnControl(Fiddler.FiddlerApplication.UI.lvSessions);\n                return;\n            }\n            switch (e.SessionAction)\n            {\n                case FreeHttpWindow.GetSessionAction.ShowShowResponse:\n                    string tempStr = FiddlerSessionTamper.GetSessionRawData(tempSession, true);\n                    ShowMes(tempStr == null ? \"error session\" : string.Format(\"Get Raw Data\\r\\n{0}\", tempStr));\n                    myFreeHttpWindow.ShowOwnerWindow(tempSession.fullUrl, tempStr);\n                    break;\n                case FreeHttpWindow.GetSessionAction.SetCookies:\n                    myFreeHttpWindow.SetClientAddCookies(tempSession.RequestHeaders[\"Cookie\"]);\n                    break;\n                case FreeHttpWindow.GetSessionAction.DeleteCookies:\n                    myFreeHttpWindow.SetClientDelCookies(tempSession.RequestHeaders[\"Cookie\"]);\n                    break;\n                default:\n                    Fiddler.FiddlerObject.UI.ShowAlert(new frmAlert(\"STOP\", \"Not supported this SessionAction\", \"OK\"));\n                    break;\n            }\n        }\n        private void MyFreeHttpWindow_OnGetSessionEventArgs(object sender, FreeHttpWindow.GetSessionEventArgs e)\n        {\n            Session tempSession = Fiddler.FiddlerObject.UI.GetFirstSelectedSession();\n            if (tempSession == null)\n            {\n                e.IsGetSuccess = false;\n            }\n            else\n            {\n                e.IsGetSuccess = FiddlerSessionTamper.GetSessionData(tempSession, e);\n            }\n        }\n        private void myFreeHttpWindow_OnGetSessionSeekHead(object sender, FreeHttpWindow.GetSessionSeekHeadEventArgs e)\n        {\n            Session tempSession = Fiddler.FiddlerObject.UI.GetFirstSelectedSession();\n            if (tempSession == null)\n            {\n                FreeHttpWindow.MarkWarnControl(Fiddler.FiddlerApplication.UI.lvSessions);\n            }\n            else\n            {\n                if (e != null && e.ResquestHead.Key != null)\n                {\n                    //HTTPHeaderItem nowHTTPHeaderItem = tempSession.RequestHeaders.First(hTTPHeaderItem => hTTPHeaderItem.Name == e.ResquestHead.Key);\n                    HTTPHeaderItem nowHTTPHeaderItem = tempSession.RequestHeaders.FirstOrDefault(hTTPHeaderItem => hTTPHeaderItem.Name == e.ResquestHead.Key);\n\n                    if (nowHTTPHeaderItem != null)\n                    {\n                        e.ResquestHead = new KeyValuePair<string, string>(nowHTTPHeaderItem.Name, nowHTTPHeaderItem.Value);\n                        e.SeekUri = tempSession.fullUrl;\n                    }\n                }\n\n                if (e != null && e.ResponseHead.Key != null)\n                {\n                    HTTPHeaderItem nowHTTPHeaderItem = tempSession.ResponseHeaders.FirstOrDefault(hTTPHeaderItem => hTTPHeaderItem.Name == e.ResponseHead.Key);\n                    if (nowHTTPHeaderItem != null)\n                    {\n                        e.ResponseHead = new KeyValuePair<string, string>(nowHTTPHeaderItem.Name, nowHTTPHeaderItem.Value);\n                        e.SeekUri = tempSession.fullUrl;\n                    }\n                }\n            }\n        }\n\n        private void MyFreeHttpWindow_OnShowInIndependentWindow(object sender, bool e)\n        {\n            if(e)\n            {\n                myFreeHttpWindow.FreeHttpWindowParentChanged(sender);\n                Form newForm = new Form();\n                newForm.Icon = FreeHttp.Resources.MyResource.freehttpico;\n                newForm.Text = \"FreeHttp\";\n                newForm.Size = tabPage.Size;\n                newForm.FormClosing += new FormClosingEventHandler((yourSender, yourE) => {\n                    myFreeHttpWindow.FreeHttpWindowParentChanged(sender);\n                    MyControlHelper.SetControlFreeze(tabPage);\n                    myFreeHttpWindow.independentWindowToolStripMenuItem.Text = \"independent window\";\n                    tabPage.Controls.Clear();\n                    tabPage.Controls.Add(myFreeHttpWindow);\n                    MyControlHelper.SetControlUnfreeze(tabPage);\n                });\n                MyControlHelper.SetControlFreeze(newForm);\n                Label lb_info = new Label();\n                lb_info.Text = \"closing...\";\n                lb_info.ForeColor = Color.Blue;\n                lb_info.Location = new Point((newForm.Width - lb_info.Width) / 2, (newForm.Height - lb_info.Height) / 2);\n                lb_info.Anchor = AnchorStyles.None;\n                newForm.Controls.Add(lb_info);\n                newForm.Controls.Add(myFreeHttpWindow);\n                lb_info.SendToBack();\n                MyControlHelper.SetControlUnfreeze(newForm);\n                newForm.Show();\n\n                LinkLabel llb_info = new LinkLabel();\n                llb_info.Text = \"FreeHttp is in independent mode\";\n                llb_info.ForeColor = Color.Blue;\n                llb_info.AutoSize = true;\n                llb_info.Location = new Point((tabPage.Width - llb_info.Width) / 2, (tabPage.Height - llb_info.Height) / 2);\n                llb_info.Anchor = AnchorStyles.None;\n                llb_info.LinkClicked += new LinkLabelLinkClickedEventHandler((yourSender, yourE) => { newForm.Activate(); });\n                tabPage.Controls.Add(llb_info);\n\n                LinkLabel llb_infoRecover = new LinkLabel();\n                llb_infoRecover.Text = \"recover to addin mode\";\n                llb_infoRecover.ForeColor = Color.Blue;\n                llb_infoRecover.AutoSize = true;\n                llb_infoRecover.Location = new Point((tabPage.Width - llb_infoRecover.Width) / 2, ((tabPage.Height - llb_infoRecover.Height) / 2) + 20);\n                llb_infoRecover.Anchor = AnchorStyles.None;\n                llb_infoRecover.LinkClicked += new LinkLabelLinkClickedEventHandler((yourSender, yourE) => { myFreeHttpWindow.independentWindowToolStripMenuItem_Click(null, null);});\n                tabPage.Controls.Add(llb_infoRecover);\n            }\n            else\n            {\n                (myFreeHttpWindow.Parent as Form)?.Close();\n            }\n           \n        }\n\n        private void myFreeHttpWindow_OnUpdataFromSession(object sender, EventArgs e)\n        {\n            Session tempSession = Fiddler.FiddlerObject.UI.GetFirstSelectedSession();\n            if (tempSession != null)\n            {\n                ShowMes(string.Format(\"Get http session in {0}\", tempSession.fullUrl));\n                ((FreeHttpWindow)sender).SetModificSession(tempSession);\n            }\n            else\n            {\n                Fiddler.FiddlerObject.UI.ShowAlert(new frmAlert(\"STOP\", \"please select a session\", \"OK\"));\n                //((FreeHttpWindow)sender).MarkWarnControl(Fiddler.FiddlerApplication.UI.Controls[0]);\n                FreeHttpWindow.MarkWarnControl(Fiddler.FiddlerApplication.UI.lvSessions);\n            }\n        }\n\n        private void FiddlerApplication_OnWebSocketMessage(object sender, WebSocketMessageEventArgs e)\n        {\n            //((Bitmap)((Fiddler.Session)sender).ViewItem.ImageList.Images[34]).Save(@\"D:\\A1.ico\", System.Drawing.Imaging.ImageFormat.Icon);\n            Session oSession = (Session)sender;\n            WebSocketMessage webSocketMessage = e.oWSM;\n            if (!isOnLoad)\n            {\n                return;\n            }\n            if(webSocketMessage==null)\n            {\n                AddFiddlerObjectLog(\"get null WebSocketMessage\");\n                return;\n            }\n            if (webSocketMessage.FrameType == WebSocketFrameTypes.Close ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.Ping ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.Pong ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.Reservedx3 ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.Reservedx4 ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.Reservedx5 ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.Reservedx6 ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.Reservedx7 ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.ReservedxB ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.ReservedxC ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.ReservedxD ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.ReservedxE ||\n                webSocketMessage.FrameType == WebSocketFrameTypes.ReservedxF)\n            {\n                return;\n            }\n            if ((myFreeHttpWindow.IsRequestRuleEnable && webSocketMessage.IsOutbound)|| (myFreeHttpWindow.IsResponseRuleEnable && !webSocketMessage.IsOutbound))\n            {\n                if (IsSkipUiHide && oSession[\"ui-hide\"] !=null)\n                {\n                    return;\n                }\n                if (IsSkipConnectTunnels && oSession.RequestMethod == \"CONNECT\") \n                {\n                    return;\n                }\n                bool isRequest = webSocketMessage.IsOutbound;\n                List<IFiddlerHttpTamper> matchItems = null;\n                if(isRequest)\n                {\n                    matchItems = FiddlerSessionHelper.FindMatchTanperRule(oSession, myFreeHttpWindow.FiddlerRequestChangeList, isRequest, webSocketMessage);\n                }\n                else\n                {\n                    //oSession.WriteResponseToStream(new MemoryStream(new Byte[] { 0x81,0x81,0x01,0x41 }), false);\n                    //WebSocket ws = oSession.__oTunnel as WebSocket;\n                    //ws.listMessages.Add(webSocketMessage);\n                    matchItems = FiddlerSessionHelper.FindMatchTanperRule(oSession, myFreeHttpWindow.FiddlerResponseChangeList, isRequest, webSocketMessage);\n                }\n                if (matchItems != null && matchItems.Count > 0)\n                {\n                    foreach (var matchItem in matchItems)\n                    {\n                        ListViewItem tempListViewItem = myFreeHttpWindow.FindListViewItemFromRule(matchItem);\n                        FreeHttpWindow.MarkMatchRule(tempListViewItem);\n                        MarkSession(oSession);\n                        ShowMes(string.Format(\"macth the [requst rule {0}] with {1}\", tempListViewItem.SubItems[0].Text, oSession.fullUrl));\n                        FiddlerSessionTamper.ModificWebSocketMessage(oSession, webSocketMessage, matchItem ,isRequest, ShowError, ShowMes);\n                        if (!isRequest)\n                        {\n                            FiddlerResponseChange nowFiddlerResponseChange = ((FiddlerResponseChange)matchItem);\n                            if (nowFiddlerResponseChange.ResponseLatency > 0)\n                            {\n                                ShowMes(string.Format(\"[reponse rule {0}] is modified , now delay {1} ms\", tempListViewItem.SubItems[0].Text, nowFiddlerResponseChange.ResponseLatency));\n                                System.Threading.Thread.Sleep(nowFiddlerResponseChange.ResponseLatency);\n                            }\n                            if (IsOnlyMatchFistTamperRule)\n                            {\n                                break;\n                            }\n                        }\n                    }\n                }\n            }\n        }\n\n        public void AutoTamperRequestAfter(Session oSession)\n        {\n            //throw new NotImplementedException();\n            \n        }\n\n        public void AutoTamperRequestBefore(Session oSession)\n        {\n\n            //if (oSession.HTTPMethodIs(\"CONNECT\") && oSession.HostnameIs(\"api.map.baidu.com\"))\n            //{\n            //    oSession[\"x-OverrideSslProtocols\"] = \"ssl3.0\";\n            //}\n            //oSession.oRequest[\"AddOrigin\"] = \"from lijie PC\";\n            if (!isOnLoad)\n            {\n                return;\n            }\n            if(IsHideFreeHttpSession && oSession.oRequest.host==\"api.lulianqi.com\")\n            {\n                oSession[\"ui-hide\"] = \"true\";\n            }\n            if (myFreeHttpWindow.IsRequestRuleEnable)\n            {\n                //IsRequestRuleEnable is more efficient then string comparison (so if not IsRequestRuleEnable the string comparison will not execute)\n                if (IsSkipUiHide && oSession[\"ui-hide\"] != null)\n                {\n                    return;\n                }\n                if (IsSkipConnectTunnels && oSession.RequestMethod == \"CONNECT\")\n                {\n                    return;\n                }\n                List<IFiddlerHttpTamper> matchItems = FiddlerSessionHelper.FindMatchTanperRule(oSession, myFreeHttpWindow.FiddlerRequestChangeList,true);\n                if (matchItems != null && matchItems.Count>0)\n                {\n                    foreach (var matchItem in matchItems)\n                    {\n                        FiddlerRequestChange nowFiddlerRequsetChange = ((FiddlerRequestChange)matchItem);\n                        ListViewItem tempListViewItem = myFreeHttpWindow.FindListViewItemFromRule(matchItem);\n                        FreeHttpWindow.MarkMatchRule(tempListViewItem);\n                        MarkSession(oSession);\n                        ShowMes(string.Format(\"macth the [requst rule {0}] with {1}\", tempListViewItem.SubItems[0].Text, oSession.fullUrl));\n                        FiddlerSessionTamper.ModificSessionRequest(oSession, nowFiddlerRequsetChange,ShowError,ShowMes);\n                        if(IsOnlyMatchFistTamperRule)\n                        {\n                            break;\n                        }\n                    }\n                }\n            }\n\n            if (myFreeHttpWindow.IsResponseRuleEnable)\n            {\n                if (IsSkipConnectTunnels && oSession.RequestMethod == \"CONNECT\")\n                {\n                    return;\n                }\n                List<IFiddlerHttpTamper> matchItems = FiddlerSessionHelper.FindMatchTanperRule(oSession, myFreeHttpWindow.FiddlerResponseChangeList,false);\n                if (matchItems != null && matchItems.Count>0)\n                {\n                    oSession.bBufferResponse = true;//  if any response rule may match the Session, we should set bBufferResponse true (When streaming is enabled for a response, each block of data read from the server is immediately passed to the client application. )\n                    foreach (var matchItem in matchItems)\n                    {\n                        FiddlerResponseChange nowFiddlerResponseChange = ((FiddlerResponseChange)matchItem);\n                        ListViewItem tempListViewItem = myFreeHttpWindow.FindListViewItemFromRule(matchItem);\n                        if (nowFiddlerResponseChange.IsIsDirectRespons)\n                        {\n                            FreeHttpWindow.MarkMatchRule(tempListViewItem);\n                            MarkSession(oSession);\n                            ShowMes(string.Format(\"macth the [reponse rule {0}] with {1}\", tempListViewItem.SubItems[0].Text, oSession.fullUrl));\n                            FiddlerSessionTamper.ReplaceSessionResponse(oSession, nowFiddlerResponseChange,ShowError,ShowMes);\n                            //oSession.state = SessionStates.Done;\n                            if (IsOnlyMatchFistTamperRule)\n                            {\n                                break;\n                            }\n                        }\n                    }\n                }\n            }\n        }\n\n        public void AutoTamperResponseAfter(Session oSession)\n        {\n            if (!isOnLoad)\n            {\n                return;\n            }\n            if (myFreeHttpWindow.IsResponseRuleEnable)\n            {\n                if (IsSkipUiHide && oSession[\"ui-hide\"] !=null)\n                {\n                    return;\n                }\n                if (IsSkipConnectTunnels && oSession.RequestMethod == \"CONNECT\")\n                {\n                    return;\n                }\n                List<IFiddlerHttpTamper> matchItems = FiddlerSessionHelper.FindMatchTanperRule(oSession, myFreeHttpWindow.FiddlerResponseChangeList,false);\n                if (matchItems != null && matchItems.Count>0)\n                {\n                    foreach (var matchItem in matchItems)\n                    {\n                        FiddlerResponseChange nowFiddlerResponseChange = ((FiddlerResponseChange)matchItem);\n                        ListViewItem tempListViewItem = myFreeHttpWindow.FindListViewItemFromRule(matchItem);\n                        if (!(nowFiddlerResponseChange.IsRawReplace && nowFiddlerResponseChange.IsIsDirectRespons))\n                        {\n                            FreeHttpWindow.MarkMatchRule(tempListViewItem);\n                            MarkSession(oSession);\n                            ShowMes(string.Format(\"macth the [reponse rule {0}] with {1}\", tempListViewItem.SubItems[0].Text, oSession.fullUrl));\n                            FiddlerSessionTamper.ModificSessionResponse(oSession, nowFiddlerResponseChange,ShowError,ShowMes);\n                        }\n                        if (nowFiddlerResponseChange.ResponseLatency > 0)\n                        {\n                            ShowMes(string.Format(\"[reponse rule {0}] is modified , now delay {1} ms\", tempListViewItem.SubItems[0].Text, nowFiddlerResponseChange.ResponseLatency));\n                            System.Threading.Thread.Sleep(nowFiddlerResponseChange.ResponseLatency);\n                        }\n                        if (IsOnlyMatchFistTamperRule)\n                        {\n                            break;\n                        }\n                    }\n                }\n            }\n\n        }\n\n        public void AutoTamperResponseBefore(Session oSession)\n        {\n            //throw new NotImplementedException();\n        }\n\n        public void OnBeforeReturningError(Session oSession)\n        {\n            this.AutoTamperResponseAfter(oSession);\n        }\n\n\n        public void Dispose()\n        {\n            tabPage.Dispose();\n            myFreeHttpWindow.Dispose();\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerActuatorStaticDataCollectionController.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.AutoTest.RunTimeStaticData.MyStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    public class FiddlerActuatorStaticDataCollectionController\n    {\n        public ActuatorStaticDataCollection actuatorStaticDataCollection;\n\n        public FiddlerActuatorStaticDataCollectionController(ActuatorStaticDataCollection yourStaticDataCollection)\n        {\n            actuatorStaticDataCollection = yourStaticDataCollection;\n        }\n\n        public void SetActuatorStaticDataCollection(ActuatorStaticDataCollection yourStaticDataCollection)\n        {\n            actuatorStaticDataCollection = yourStaticDataCollection;\n        }\n\n        public bool SetActuatorStaticData(string key, string value)\n        {\n            if (actuatorStaticDataCollection == null)\n            {\n                return false;\n            }\n            IRunTimeStaticData nowStaticData = actuatorStaticDataCollection[key];\n            if (nowStaticData != null)\n            {\n                nowStaticData.DataMoveNext();\n                return actuatorStaticDataCollection.SetStaticDataValue(key, value);\n            }\n            else\n            {\n                return actuatorStaticDataCollection.AddStaticDataKey(key, new MyStaticDataValue(value));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerHttpFilter.cs",
    "content": "﻿using Fiddler;\nusing FreeHttp.AutoTest;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    public enum FiddlerUriMatchMode\n    {\n        Contain,\n        StartWith,\n        EndWith,\n        Is,\n        Regex,\n        AllPass\n    }\n\n    [Serializable]\n    [DataContract]\n    public class FiddlerUriMatch\n    {\n        [DataMember]\n        public FiddlerUriMatchMode MatchMode { get; set; }\n        [DataMember]\n        public String MatchUri { get; set; }\n\n        public FiddlerUriMatch()\n        {\n            MatchMode = FiddlerUriMatchMode.AllPass;\n            MatchUri = null;\n        }\n        public FiddlerUriMatch(FiddlerUriMatchMode matchMode,string matchUri)\n        {\n            MatchMode = matchMode;\n            MatchUri = matchUri;\n        }\n\n        public bool Match(string matchString)\n        {\n            switch(MatchMode)\n            {\n                case FiddlerUriMatchMode.AllPass:\n                    return true;\n                case FiddlerUriMatchMode.Contain:\n                    return (matchString.Contains(MatchUri));\n                case FiddlerUriMatchMode.Is:\n                    return matchString == MatchUri;\n                case FiddlerUriMatchMode.Regex:\n                    return System.Text.RegularExpressions.Regex.IsMatch(matchString, MatchUri);\n                case FiddlerUriMatchMode.StartWith:\n                    return matchString.StartsWith(MatchUri);\n                case FiddlerUriMatchMode.EndWith:\n                    return matchString.EndsWith(MatchUri);\n                default:\n                    return false;\n            }\n        }\n        public bool Equals(FiddlerUriMatch targetUriMatch)\n        {\n            return (this.MatchMode == targetUriMatch.MatchMode && this.MatchUri == targetUriMatch.MatchUri);\n        }\n        public new bool Equals(object targetFiddlerHttpTamper)\n        {\n            IFiddlerHttpTamper fiddlerHttpTamper = targetFiddlerHttpTamper as IFiddlerHttpTamper;\n            if(fiddlerHttpTamper== null)\n            {\n                return false;\n            }\n            return this.Equals(fiddlerHttpTamper.HttpFilter.UriMatch);\n        }\n\n        public new string ToString()\n        {\n            return string.Format(\"[{0}] {1}\", MatchMode.ToString(), string.IsNullOrEmpty(MatchUri) ? \"\" : MatchUri);\n        }\n    }\n\n    [Serializable]\n    [DataContract]\n    public class FiddlerHeadMatch\n    {\n        [DataMember]\n        public List<MyKeyValuePair<string, string>> HeadsFilter { get; set; }\n\n        public FiddlerHeadMatch()\n        {\n            HeadsFilter = null;\n        }\n\n        public FiddlerHeadMatch(List<MyKeyValuePair<string, string>> headsFilter)\n        {\n            HeadsFilter = headsFilter;\n        }\n\n        public void AddHeadMatch(MyKeyValuePair<string, string> yourHeadMatch)\n        {\n            if(HeadsFilter==null)\n            {\n                HeadsFilter=new List<MyKeyValuePair<string,string>>();\n            }\n            HeadsFilter.Add(yourHeadMatch);\n        }\n\n        public bool Match(HTTPHeaders matchHeaders)\n        {\n            if(HeadsFilter!=null && HeadsFilter.Count>0)\n            {\n                foreach(MyKeyValuePair<string, string> headFilter in HeadsFilter)\n                {\n                    if(!matchHeaders.ExistsAndContains(headFilter.Key,headFilter.Value))\n                    {\n                        return false;\n                    }\n                }\n            }\n            return true;\n        }\n\n        public bool Equals(FiddlerHeadMatch yourFiddlerHeadMatch)\n        {\n            if (yourFiddlerHeadMatch.HeadsFilter.Count == HeadsFilter.Count)\n            {\n                List<MyKeyValuePair<string, string>> HeadsFilterForEqual = HeadsFilter.MyClone();\n                foreach(var tempHead in yourFiddlerHeadMatch.HeadsFilter)\n                {\n                    if(HeadsFilterForEqual.MyContains(tempHead))\n                    {\n                        HeadsFilterForEqual.Remove(tempHead);\n                    }\n                    else\n                    {\n                        return false;\n                    }\n                }\n                if(HeadsFilterForEqual.Count==0)\n                {\n                    return true;\n                }\n            }\n            return false;\n        }\n\n        public new string ToString()\n        {\n            if (HeadsFilter == null || HeadsFilter.Count == 0)\n            {\n                return null;\n            }\n            StringBuilder tempSb = new StringBuilder(HeadsFilter.Count * 30);\n            foreach(MyKeyValuePair<string, string> tempKv in HeadsFilter)\n            {\n                tempSb.AppendLine(string.Format(\"{0} [contain] {1}\", tempKv.Key, tempKv.Value));\n            }\n            if(tempSb[tempSb.Length-2]=='\\r'&& tempSb[tempSb.Length - 1] == '\\n')\n            {\n                tempSb.Remove(tempSb.Length - 2, 2);\n            }\n            return tempSb.ToString();\n        }\n    }\n\n    [Serializable]\n    [DataContract]\n    public class FiddlerBodyMatch: FiddlerUriMatch\n    {\n        [DataMember]\n        public Byte[] MatchBodyBytes { get; set; }\n\n        [System.Xml.Serialization.XmlIgnore]\n        public bool IsHexMatch{ get { return MatchBodyBytes != null; } }\n\n        private string bufferBodyBytesStr;\n\n        public new bool Match(string matchString)\n        {\n            if (IsHexMatch)\n            {\n                return false;\n            }\n            return base.Match(matchString);\n        }\n\n        public FiddlerBodyMatch() : base()\n        { }\n        public FiddlerBodyMatch(FiddlerUriMatchMode matchMode, string matchData) //: base(matchMode, matchUri)\n        {\n            if (String.IsNullOrEmpty(matchData) && matchMode != FiddlerUriMatchMode.AllPass)\n            {\n                throw new Exception(\"empty data is illegal for this mode\");\n            }\n            if (matchData.StartsWith(\"<hex>\"))\n            {\n                if(matchMode== FiddlerUriMatchMode.Regex)\n                {\n                    throw new Exception(\"Regex can not use hex mode\");\n                }\n                MatchBodyBytes = MyBytes.HexStringToByte(matchData.Remove(0, \"<hex>\".Length), HexDecimal.hex16);\n                if((MatchBodyBytes==null || MatchBodyBytes.Length==0)&& matchMode != FiddlerUriMatchMode.AllPass)\n                {\n                    throw new Exception(\"empty data is illegal for this mode\");\n                }\n                MatchMode = matchMode;\n                MatchUri = string.Format(\"<hex>{0}\", BitConverter.ToString(MatchBodyBytes));\n            }\n            else\n            {\n                MatchMode = matchMode;\n                MatchUri = matchData;\n            }\n        }\n\n        public static FiddlerBodyMatch GetFiddlerBodyMatch(FiddlerUriMatchMode matchMode, string matchData)\n        {\n            try { return new FiddlerBodyMatch(matchMode, matchData); } catch { }\n            return null;            \n        }\n\n        public bool Match(Byte[] matchBytes)\n        {\n            if(MatchBodyBytes==null && MatchBodyBytes.Length==0)\n            {\n                return false;\n            }\n            if (bufferBodyBytesStr == null)\n            {\n                bufferBodyBytesStr = BitConverter.ToString(MatchBodyBytes);\n            }\n            string matchString= BitConverter.ToString(matchBytes);\n            switch (MatchMode)\n            {\n                case FiddlerUriMatchMode.AllPass:\n                    return true;\n                case FiddlerUriMatchMode.Contain:\n                    return (matchString.Contains(bufferBodyBytesStr));\n                case FiddlerUriMatchMode.Is:\n                    return matchString == bufferBodyBytesStr;\n                case FiddlerUriMatchMode.Regex:\n                    return false;\n                case FiddlerUriMatchMode.StartWith:\n                    return matchString.StartsWith(bufferBodyBytesStr);\n                default:\n                    return false;\n            }\n        }\n    }\n\n    [Serializable]\n    [DataContract]\n    public class FiddlerHttpFilter\n    {\n        [DataMember]\n        public string Name { get; set; }\n        [DataMember]\n        public FiddlerUriMatch UriMatch { get; set; }   //UriMatch  must not be null\n        [DataMember]\n        public FiddlerHeadMatch HeadMatch { get; set; }\n        [DataMember]\n        public FiddlerBodyMatch BodyMatch { get; set; }\n\n        public FiddlerHttpFilter()\n        {\n            UriMatch = null;\n        }\n\n        public FiddlerHttpFilter(FiddlerUriMatch uriMatch)\n        {\n            UriMatch = uriMatch;\n        }\n        public bool Match(Session oSession, bool isRequest, WebSocketMessage webSocketMessage = null)\n        {\n            bool isWebSocket = webSocketMessage != null;// oSession.BitFlags.HasFlag(SessionFlags.IsWebSocketTunnel);\n            bool isMatch = true;\n            if (isWebSocket)\n            {\n                if(!oSession.BitFlags.HasFlag(SessionFlags.IsWebSocketTunnel))\n                {\n                    return false;\n                }\n                if(!((isRequest && webSocketMessage.IsOutbound) || (!isRequest && !webSocketMessage.IsOutbound)))\n                {\n                    return false;\n                }\n                if (!UriMatch.Match(oSession.fullUrl))\n                {\n                    return false;\n                }\n                if (BodyMatch != null)\n                {\n                    if (webSocketMessage.FrameType == WebSocketFrameTypes.Binary && BodyMatch.IsHexMatch)\n                    {\n                        if(! BodyMatch.Match(webSocketMessage.PayloadAsBytes()))\n                        {\n                            return false;\n                        }\n                    }\n                    else if (webSocketMessage.FrameType == WebSocketFrameTypes.Text && !BodyMatch.IsHexMatch)\n                    {\n                        if (!BodyMatch.Match(webSocketMessage.PayloadAsString()))\n                        {\n                            return false;\n                        }\n                    }\n                    else if(webSocketMessage.FrameType == WebSocketFrameTypes.Continuation)\n                    {\n                        //延续帧\n                        return false;\n                    }\n                    else\n                    {\n                        return false;\n                    }\n                }\n            }\n            else\n            {\n                if (UriMatch != null)\n                {\n                    if (!UriMatch.Match(oSession.fullUrl))\n                    {\n                        return false;\n                    }\n                }\n                if (HeadMatch != null)\n                {\n                    if (!HeadMatch.Match(true ? (HTTPHeaders)oSession.RequestHeaders : (HTTPHeaders)oSession.ResponseHeaders))\n                    {\n                        return false;\n                    }\n                }\n                if (BodyMatch != null)\n                {\n                    if (BodyMatch.IsHexMatch)\n                    {\n                        if (!BodyMatch.Match(true ? oSession.requestBodyBytes : oSession.responseBodyBytes))\n                        {\n                            return false;\n                        }\n                    }\n                    else\n                    {\n                        if (!BodyMatch.Match(true ? oSession.GetRequestBodyAsString() : oSession.GetResponseBodyAsString()))\n                        {\n                            return false;\n                        }\n                    }\n                }\n            }\n            return isMatch;\n        }\n    \n        public bool Equals(FiddlerHttpFilter yourFiddlerHttpFilter)\n        {\n            if (!UriMatch.Equals(yourFiddlerHttpFilter.UriMatch))\n            {\n                return false;\n            }\n\n            if ((HeadMatch == null || yourFiddlerHttpFilter.HeadMatch == null) && (!(HeadMatch == null && yourFiddlerHttpFilter.HeadMatch == null)))\n            {\n                return false;\n            }\n            if (HeadMatch != null && yourFiddlerHttpFilter.HeadMatch != null)\n            {\n                if(!HeadMatch.Equals(yourFiddlerHttpFilter.HeadMatch))\n                {\n                    return false;\n                }\n            }\n\n            if ((BodyMatch == null || yourFiddlerHttpFilter.BodyMatch == null) && (!(BodyMatch == null && yourFiddlerHttpFilter.BodyMatch == null)))\n            {\n                return false;\n            }\n            if (BodyMatch != null && yourFiddlerHttpFilter.BodyMatch != null)\n            {\n                if (!BodyMatch.Equals(yourFiddlerHttpFilter.BodyMatch))\n                {\n                    return false;\n                }\n            }\n\n            return true;\n        }\n\n        public new bool Equals(object targetFiddlerHttpFilter)\n        {\n            IFiddlerHttpTamper fiddlerHttpTamper = targetFiddlerHttpFilter as IFiddlerHttpTamper;\n            if (fiddlerHttpTamper == null)\n            {\n                return false;\n            }\n            return this.Equals(fiddlerHttpTamper.HttpFilter);\n        }\n\n        public string GetShowTitle()\n        {\n            if (!String.IsNullOrEmpty(this.Name))\n            {\n                return this.Name;\n            }\n            if (this.UriMatch != null)\n            {\n                return string.Format(\"【{0}】: {1}\", this.UriMatch.MatchMode.ToString(), this.UriMatch.MatchUri);\n            }\n            return default;\n        }\n\n        public new string ToString()\n        {\n            StringBuilder tempSb = new StringBuilder(string.Format(\"Uri:\\r\\n{0}\\r\\n\",UriMatch.ToString()));\n            if(HeadMatch!=null)\n            {\n                tempSb.AppendLine(string.Format(\"Heads:\\r\\n{0}\", HeadMatch.ToString()));\n            }\n            if(BodyMatch!=null)\n            {\n                tempSb.AppendLine(string.Format(\"Body:\\r\\n{0}\", BodyMatch.ToString()));\n            }\n            return tempSb.ToString();\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerModificHttpRuleCollection.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\n\nnamespace FreeHttp.FiddlerHelper\n{\n    [Serializable]\n    public class FiddlerModificHttpRuleCollection\n    {\n        List<FiddlerRequestChange> requestRuleList;\n        List<FiddlerResponseChange> responseRuleList;\n\n        public List<FiddlerRequestChange> RequestRuleList { get { return requestRuleList; } set { requestRuleList = value; } }\n        public List<FiddlerResponseChange> ResponseRuleList { get { return responseRuleList; } set { responseRuleList = value; } }\n\n\n        public FiddlerModificHttpRuleCollection()  // Serializable 需要空参数的构造函数\n        {\n            requestRuleList = null;\n            responseRuleList = null;\n        }\n\n        public FiddlerModificHttpRuleCollection(List<FiddlerRequestChange> yourRequestRuleList, List<FiddlerResponseChange> yourResponseRuleList)\n        {\n            requestRuleList = yourRequestRuleList;\n            responseRuleList = yourResponseRuleList;\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerModificSettingInfo.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    [Serializable]\n    public class FiddlerModificSettingInfo\n    {\n\n        /// <summary>\n        /// the rule will skip tls handshake when it is true\n        /// </summary>\n        public bool IsSkipConnectTunnels { get; set; } = true;\n\n        /// <summary>\n        /// if it is true the FiddlerFreeHttp will only match the fist request or response rule \n        /// </summary>\n        public bool IsOnlyMatchFirstTamperRule { get; set; } = false;\n\n        /// <summary>\n        /// if it is sync TamperRule in server\n        /// </summary>\n        public bool IsSyncTamperRule { get; set; } = true;\n\n        /// <summary>\n        /// if it is hide freehttp self session\n        /// </summary>\n        public bool IsHideSelfSession { get; set; } = true;\n\n        /// <summary>\n        /// is skip when the session is hide\n        /// </summary>\n        public bool IsSkipUiHide { get; set; } = true;\n\n        /// <summary>\n        /// is enable request rule when the application load\n        /// </summary>\n        public bool IsEnableRequestRule { get; set; }\n\n        /// <summary>\n        /// is enable response rule when the application load\n        /// </summary>\n        public bool IsEnableResponseRule { get; set; }\n\n\n        /// <summary>\n        /// user token \n        /// </summary>\n        public string UserToken { get; set; }\n\n        /// <summary>\n        /// message flag\n        /// </summary>\n        public List<string> ReadedMessageFlags { get; set; }\n\n\n        public FiddlerModificSettingInfo():this(true, false ,true,true)\n        {\n            \n        }\n        public FiddlerModificSettingInfo( bool isSkipTlsHandshake, bool isOnlyMatchFirstTamperRule ,bool isSyncTamperRule, bool isSkipUiHide,bool isHideSelfSession = true ,bool isEnableRequestRule = false, bool isEnableResponseRule = false ,string userToken=null)\n        {\n            IsSkipConnectTunnels = isSkipTlsHandshake;\n            IsOnlyMatchFirstTamperRule = isOnlyMatchFirstTamperRule;\n            IsSyncTamperRule = isSyncTamperRule ;\n            IsSkipUiHide = isSkipUiHide;\n            IsHideSelfSession = isHideSelfSession;\n            IsEnableRequestRule = isEnableRequestRule;\n            IsEnableResponseRule = isEnableResponseRule;\n            UserToken = userToken;\n            ReadedMessageFlags = new List<string>();\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerRequsetChange.cs",
    "content": "﻿using FreeHttp.AutoTest.ParameterizationPick;\nusing FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.AutoTest.RunTimeStaticData.MyStaticData;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    [Serializable]\n    [System.Runtime.Serialization.DataContract()]\n    public class FiddlerRequestChange : IFiddlerHttpTamper\n    {\n        private string _uid;\n\n        /// <summary>\n        /// get rule uid (not set this vaule in your business code) \n        /// </summary>\n        [DataMember]\n        public string RuleUid\n        {\n            get\n            {\n                if(_uid==null)\n                {\n                    _uid = Guid.NewGuid().ToString(\"D\");\n                }\n                return _uid;\n            }\n            set\n            {\n                _uid = value;\n            }\n        }\n\n        [DataMember]\n        public bool IsEnable { get; set; }\n\n        [DataMember]\n        public bool IsHasParameter { get ; set; }\n\n        [DataMember]\n        public TamperProtocalType TamperProtocol { get ; set ; }\n        [DataMember]\n        public FiddlerHttpFilter HttpFilter{ get; set; }\n        [DataMember]\n        public List<ParameterPick> ParameterPickList { get; set; }\n        [DataMember]\n        public ParameterHttpRequest HttpRawRequest { get; set; }\n        [DataMember]\n        public ParameterContentModific UriModific { get; set; }\n\n        [DataMember]\n        public List<string> HeadAddList { get; set; }\n        [DataMember]\n        public List<string> HeadDelList { get; set; }\n        [DataMember]\n        public ParameterContentModific BodyModific { get; set; }\n\n        //[NonSerialized]\n        [System.Xml.Serialization.XmlIgnore]\n        public object Tag { get; set; }\n\n        [System.Xml.Serialization.XmlIgnore]\n        public FiddlerActuatorStaticDataCollectionController ActuatorStaticDataController { get; set; }\n        public bool IsRawReplace\n        {\n            get { return HttpRawRequest != null; }\n        }\n       \n        public void SetHasParameter(bool hasParameter , ActuatorStaticDataCollection staticDataController = null)\n        {\n            if(staticDataController!=null)\n            {\n                ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(staticDataController);\n            }\n            IsHasParameter = hasParameter;\n\n            if(IsRawReplace)\n            {\n                if(HttpRawRequest!=null)\n                {\n                    HttpRawRequest.SetUseParameterInfo(IsHasParameter, ActuatorStaticDataController.actuatorStaticDataCollection);\n                }\n            }\n            else\n            {\n                if (UriModific != null && UriModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    UriModific.SetUseParameterInfo(IsHasParameter, ActuatorStaticDataController.actuatorStaticDataCollection);\n                }\n                if (BodyModific != null && BodyModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    BodyModific.SetUseParameterInfo(IsHasParameter, ActuatorStaticDataController.actuatorStaticDataCollection);\n                }\n            }\n        }\n\n        public object Clone()\n        {\n            FiddlerRequestChange cloneFiddlerRequestChange = this.MyDeepClone();\n            cloneFiddlerRequestChange?.SetHasParameter(IsHasParameter, ActuatorStaticDataController?.actuatorStaticDataCollection);\n            return cloneFiddlerRequestChange;\n        }\n\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerResponseChange.cs",
    "content": "﻿using FreeHttp.AutoTest.ParameterizationPick;\nusing FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.AutoTest.RunTimeStaticData.MyStaticData;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    [Serializable]\n    [System.Runtime.Serialization.DataContract()]\n    public class FiddlerResponseChange : IFiddlerHttpTamper\n    {\n        private string _uid;\n\n        /// <summary>\n        /// get rule uid (not set this vaule in your business code) \n        /// </summary>\n        [DataMember]\n        public string RuleUid\n        {\n            get\n            {\n                if (_uid == null)\n                {\n                    _uid = Guid.NewGuid().ToString(\"D\");\n                }\n                return _uid;\n            }\n            set\n            {\n                _uid = value;\n            }\n        }\n        [DataMember]\n        public bool IsEnable { get; set; }\n        [DataMember]\n        public bool IsHasParameter { get; set; }\n        [DataMember]\n        public TamperProtocalType TamperProtocol { get; set; }\n        [DataMember]\n        public FiddlerHttpFilter HttpFilter { get; set; }\n        [DataMember]\n        public List<ParameterPick> ParameterPickList { get; set; }\n        [DataMember]\n        public ParameterHttpResponse HttpRawResponse { get; set; }\n        [DataMember]\n        public bool IsIsDirectRespons { get; set; } //only for HttpRawResponse\n        [DataMember]\n        public int ResponseLatency { get; set; }\n        [DataMember]\n        public List<string> HeadAddList { get; set; }\n        [DataMember]\n        public List<string> HeadDelList { get; set; }\n        [DataMember]\n        public ParameterContentModific BodyModific { get; set; }\n\n        //[NonSerialized]\n        [System.Xml.Serialization.XmlIgnore]\n        public object Tag { get; set; }\n\n        [System.Xml.Serialization.XmlIgnore]\n        public FiddlerActuatorStaticDataCollectionController ActuatorStaticDataController { get; set; }\n        public bool IsRawReplace\n        {\n            get { return HttpRawResponse != null; }\n        }\n        public void SetHasParameter(bool hasParameter, ActuatorStaticDataCollection staticDataController = null)\n        {\n            if (staticDataController != null)\n            {\n                ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(staticDataController);\n            }\n            IsHasParameter = hasParameter;\n\n            if (IsRawReplace)\n            {\n                if (HttpRawResponse != null)\n                {\n                    HttpRawResponse.SetUseParameterInfo(IsHasParameter, ActuatorStaticDataController.actuatorStaticDataCollection);\n                }\n            }\n            else\n            {\n                if (BodyModific != null && BodyModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    BodyModific.SetUseParameterInfo(IsHasParameter, ActuatorStaticDataController.actuatorStaticDataCollection);\n                }\n            }\n        }\n\n        public object Clone()\n        {\n            FiddlerResponseChange cloneFiddlerResponseChange = this.MyDeepClone();\n            cloneFiddlerResponseChange?.SetHasParameter(IsHasParameter, ActuatorStaticDataController?.actuatorStaticDataCollection);\n            return cloneFiddlerResponseChange;\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerRuleGroup.cs",
    "content": "﻿using FreeHttp.WebService;\nusing System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    [Serializable]\n    [System.Runtime.Serialization.DataContract()]\n    public class FiddlerRuleGroup\n    {\n        private ListView RequestRuleListView;\n        private ListView ResponseRuleListView;\n\n        private bool _isRequestRuleGroupInTemporaryStatus = false;\n        private bool _isResponseRuleGroupInTemporaryStatus = false;\n\n        [DataMember]\n\n        public Dictionary<string, List<string>> RequestGroupDictionary { get; set; }\n\n        [DataMember]\n\n        public Dictionary<string, List<string>> ResponseGroupDictionary { get; set; }\n\n        public FiddlerRuleGroup(ListView rqLv,ListView rpLv)\n        {\n            RequestRuleListView = rqLv;\n            ResponseRuleListView = rpLv;\n            RequestGroupDictionary = new Dictionary<string, List<string>>();\n            ResponseGroupDictionary = new Dictionary<string, List<string>>();\n        }\n\n        public bool IsEmpty\n        {\n            get\n            {\n                return (RequestGroupDictionary == null || RequestGroupDictionary.Count == 0) && (ResponseGroupDictionary == null || ResponseGroupDictionary.Count == 0);\n            }\n        }\n        public void SetRuleGroupListView(ListView rqLv, ListView rpLv)\n        {\n            RequestRuleListView = rqLv;\n            ResponseRuleListView = rpLv;\n        }\n\n        /// <summary>\n        /// 重排listView顺序（因为在存在分组的情况下拖拽排序会不生效，所以需要强制刷新，任何地方都不要自行调用该方法修改ListView）\n        /// </summary>\n        /// <param name=\"listView\"></param>\n        private void ReflushListViewItem(ListView listView)\n        {\n            List<ListViewItem> listViewItems = new List<ListViewItem>();\n            foreach (ListViewItem itm in listView.Items)\n            {\n                listViewItems.Add(itm);\n            }\n            listView.Items.Clear();\n            foreach (ListViewItem itm in listViewItems)\n            {\n                listView.Items.Add(itm);\n            }\n        }\n\n        /// <summary>\n        /// 更新GroupDictionary\n        /// </summary>\n        /// <param name=\"listView\">选择更新指定ListView（默认null表示全部更新）</param>\n        public void ReflushGroupDc(ListView listView=null)\n        {\n            if (RequestRuleListView == listView || listView==null)\n            {\n                RequestGroupDictionary.Clear();\n                if (RequestRuleListView.Groups != null && RequestRuleListView.Groups.Count > 0)\n                {\n                    foreach (ListViewGroup listViewGroup in RequestRuleListView.Groups)\n                    {\n                        List<string> ruleUidList = new List<string>();\n                        foreach (ListViewItem listViewItem in listViewGroup.Items)\n                        {\n                            ruleUidList.Add(((IFiddlerHttpTamper)listViewItem.Tag).RuleUid);\n                        }\n\n                        if (RequestGroupDictionary.ContainsKey(listViewGroup.Header))\n                        {\n                            _ = RemoteLogService.ReportLogAsync($\"find same key :{listViewGroup.Header} in[ReflushGroupDc]\", RemoteLogService.RemoteLogOperation.EditRule, RemoteLogService.RemoteLogType.Error);\n                        }\n                        else\n                        {\n                            RequestGroupDictionary.Add(listViewGroup.Header, ruleUidList);\n                        }\n                    }\n                }\n            }\n            if (ResponseRuleListView == listView || listView == null)\n            {\n                ResponseGroupDictionary.Clear();\n                if (ResponseRuleListView.Groups != null && ResponseRuleListView.Groups.Count > 0)\n                {\n                    foreach (ListViewGroup listViewGroup in ResponseRuleListView.Groups)\n                    {\n                        List<string> ruleUidList = new List<string>();\n                        foreach (ListViewItem listViewItem in listViewGroup.Items)\n                        {\n                            ruleUidList.Add(((IFiddlerHttpTamper)listViewItem.Tag).RuleUid);\n                        }\n\n                        if (ResponseGroupDictionary.ContainsKey(listViewGroup.Header))\n                        {\n                            _ = RemoteLogService.ReportLogAsync($\"find same key :{listViewGroup.Header} in[ReflushGroupDc]\", RemoteLogService.RemoteLogOperation.EditRule, RemoteLogService.RemoteLogType.Error);\n                        }\n                        else\n                        {\n                            ResponseGroupDictionary.Add(listViewGroup.Header, ruleUidList);\n                        }\n                    }\n                }\n            }\n        }\n\n        /// <summary>\n        /// 对item进行重新排列，在有group且顺序发送变化时需要重排\n        /// </summary>\n        /// <param name=\"listView\"></param>\n        public void ReArrangeGroup(ListView listView = null)\n        {\n            if (RequestRuleListView == listView || listView == null)\n            {\n                FreeHttpControl.MyControlHelper.SetControlFreeze(RequestRuleListView);\n                RemoveGroupTemporary(RequestRuleListView);\n                RecoverTemporaryGroup(RequestRuleListView);\n                FreeHttpControl.MyControlHelper.SetControlUnfreeze(RequestRuleListView);\n            }\n            if (ResponseRuleListView == listView || listView == null)\n            {\n                FreeHttpControl.MyControlHelper.SetControlFreeze(ResponseRuleListView);\n                RemoveGroupTemporary(ResponseRuleListView);\n                RecoverTemporaryGroup(ResponseRuleListView);\n                FreeHttpControl.MyControlHelper.SetControlUnfreeze(ResponseRuleListView);\n            }\n        }\n\n\n        /// <summary>\n        /// 临时移除分组，需要与RecoverTemporaryGroup配合使用\n        /// </summary>\n        /// <param name=\"listView\"></param>\n        public void RemoveGroupTemporary(ListView listView)\n        {\n            if (RequestRuleListView == listView)\n            {\n                if (_isRequestRuleGroupInTemporaryStatus) return;\n                if (RequestRuleListView.Groups != null && RequestRuleListView.Groups.Count > 0)\n                {\n                    ReflushGroupDc(RequestRuleListView);\n                    RequestRuleListView.Groups.Clear();\n                    foreach(ListViewItem listViewItem in listView.Items)\n                    {\n                        listViewItem.Group = null;\n                    }\n                    _isRequestRuleGroupInTemporaryStatus = true;\n                }\n            }\n            else if (ResponseRuleListView == listView)\n            {\n                if (_isResponseRuleGroupInTemporaryStatus) return;\n                if (ResponseRuleListView.Groups != null && ResponseRuleListView.Groups.Count > 0)\n                {\n                    ReflushGroupDc(ResponseRuleListView);\n                    ResponseRuleListView.Groups.Clear();\n                    foreach (ListViewItem listViewItem in listView.Items)\n                    {\n                        listViewItem.Group = null;\n                    }\n                    _isResponseRuleGroupInTemporaryStatus = true;\n                }\n            }\n            else\n            {\n                _ = RemoteLogService.ReportLogAsync(\"unknow listView in [RemoveGroupTemporary]\", RemoteLogService.RemoteLogOperation.EditRule, RemoteLogService.RemoteLogType.Error);\n            }\n        }\n\n        /// <summary>\n        /// 恢复分组\n        /// </summary>\n        /// <param name=\"listView\"></param>\n        /// <param name=\"isCheckStatuus\">是否检查_isRequestRuleGroupInTemporaryStatus/_isResponseRuleGroupInTemporaryStatus状态，如果不检查即直接恢复</param>\n        public void RecoverTemporaryGroup(ListView listView ,bool isCheckStatuus = true)\n        {\n            if (RequestRuleListView == listView)\n            {\n                if (!_isRequestRuleGroupInTemporaryStatus && isCheckStatuus) return;\n                if (!isCheckStatuus) listView.Groups.Clear(); //如果不检查状态需要清除listView自己的Groups，以免照成重复，或空的Groups。\n                if (RequestGroupDictionary != null && RequestGroupDictionary.Count > 0)\n                {\n                    ReflushListViewItem(listView);\n                    Dictionary<string, ListViewGroup> tempIdGroupDc = new Dictionary<string, ListViewGroup>();\n                    foreach (var kv in RequestGroupDictionary)\n                    {\n                        ListViewGroup tempListViewGroup = new ListViewGroup(kv.Key);\n                        listView.Groups.Add(tempListViewGroup);\n                        foreach (var tempUid in kv.Value)\n                        {\n                            try\n                            {\n                                tempIdGroupDc.Add(tempUid, tempListViewGroup);\n                            }\n                            catch(Exception ex)\n                            {\n                                _ = RemoteLogService.ReportLogAsync($\"error in [RecoverTemporaryGroup] :{ex}\", RemoteLogService.RemoteLogOperation.EditRule, RemoteLogService.RemoteLogType.Error);\n                            }\n                        }\n                    }\n                    if(tempIdGroupDc.Count>0)\n                    {\n                        foreach(ListViewItem listViewItem in listView.Items)\n                        {\n                            if(tempIdGroupDc.ContainsKey(((IFiddlerHttpTamper)listViewItem.Tag).RuleUid))\n                            {\n                                listViewItem.Group = tempIdGroupDc[((IFiddlerHttpTamper)listViewItem.Tag).RuleUid];\n                            }\n                        }\n                    }\n                    ((FreeHttpControl.MyListView)listView).SetGroupState(FreeHttpControl.ListViewGroupState.Collapsible);\n                    _isRequestRuleGroupInTemporaryStatus = false;\n                }\n            }\n            else if (ResponseRuleListView == listView)\n            {\n                if (!_isResponseRuleGroupInTemporaryStatus && isCheckStatuus) return;\n                if (!isCheckStatuus) listView.Groups.Clear();\n                if (ResponseGroupDictionary != null && ResponseGroupDictionary.Count > 0)\n                {\n                    ReflushListViewItem(listView);\n                    Dictionary<string, ListViewGroup> tempIdGroupDc = new Dictionary<string, ListViewGroup>();\n                    foreach (var kv in ResponseGroupDictionary)\n                    {\n                        ListViewGroup tempListViewGroup = new ListViewGroup(kv.Key);\n                        listView.Groups.Add(tempListViewGroup);\n                        foreach (var tempUid in kv.Value)\n                        {\n                            try\n                            {\n                                tempIdGroupDc.Add(tempUid, tempListViewGroup);\n                            }\n                            catch (Exception ex)\n                            {\n                                _ = RemoteLogService.ReportLogAsync($\"error in [RecoverTemporaryGroup] :{ex}\", RemoteLogService.RemoteLogOperation.EditRule, RemoteLogService.RemoteLogType.Error);\n                            }\n                        }\n                    }\n                    if (tempIdGroupDc.Count > 0)\n                    {\n                        foreach (ListViewItem listViewItem in listView.Items)\n                        {\n                            if (tempIdGroupDc.ContainsKey(((IFiddlerHttpTamper)listViewItem.Tag).RuleUid))\n                            {\n                                listViewItem.Group = tempIdGroupDc[((IFiddlerHttpTamper)listViewItem.Tag).RuleUid];\n                            }\n                        }\n                    }\n                    ((FreeHttpControl.MyListView)listView).SetGroupState(FreeHttpControl.ListViewGroupState.Collapsible);\n                    _isResponseRuleGroupInTemporaryStatus = false;\n                }\n            }\n            else\n            {\n                _ = RemoteLogService.ReportLogAsync(\"unknow listView in [RecoverTemporaryGroup]\", RemoteLogService.RemoteLogOperation.EditRule, RemoteLogService.RemoteLogType.Error);\n            }\n        }\n\n        /// <summary>\n        /// 恢复分组信息（首次加载时可以用于还原保存的上一次分组）\n        /// </summary>\n        public void RecoverGroup()\n        {\n            RecoverTemporaryGroup(RequestRuleListView, false);\n            RecoverTemporaryGroup(ResponseRuleListView, false);\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/FiddlerSessionHelper.cs",
    "content": "﻿using Fiddler;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    class FiddlerSessionHelper\n    {\n        /// <summary>\n        /// 在指定rule列表中寻找匹配rule列表\n        /// </summary>\n        /// <typeparam name=\"T\">IFiddlerHttpTamper 类型</typeparam>\n        /// <param name=\"oSession\">目标oSession</param>\n        /// <param name=\"ruleList\">目标rule列表</param>\n        /// <param name=\"isRequest\">是否是request （如果不是则为response）</param>\n        /// <param name=\"webSocketMessage\">是否为WebSocket规则</param>\n        /// <returns>匹配成功的rule列表</returns>\n        public static List<IFiddlerHttpTamper> FindMatchTanperRule<T>(Session oSession, List<T> ruleList,bool isRequest,WebSocketMessage webSocketMessage = null) where T : IFiddlerHttpTamper\n        {\n            if (oSession == null || ruleList == null || ruleList.Count == 0)\n            {\n                return null;\n            }\n            List<IFiddlerHttpTamper> matchRuleList = new List<IFiddlerHttpTamper>();\n            bool isMatchWebsocket = webSocketMessage != null;\n            foreach (IFiddlerHttpTamper tempItem in ruleList)\n            {\n                if (!tempItem.IsEnable)\n                {\n                    continue;\n                }\n                if (isMatchWebsocket)\n                {\n                    if (tempItem.TamperProtocol == TamperProtocalType.Http)\n                    {\n                        continue;\n                    }\n                    if (!oSession.BitFlags.HasFlag(SessionFlags.IsWebSocketTunnel))\n                    {\n                        continue;\n                    }\n                    if (tempItem.HttpFilter.Match(oSession, isRequest, webSocketMessage))\n                    {\n                        matchRuleList.Add(tempItem);\n                    }\n                }\n                else\n                {\n                    if (tempItem.TamperProtocol == TamperProtocalType.WebSocket)\n                    {\n                        continue;\n                    }\n                    if (tempItem.HttpFilter.Match(oSession, isRequest))\n                    {\n                        matchRuleList.Add(tempItem);\n                    }\n                }\n            }\n            return matchRuleList;\n        }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/IFiddlerHttpTamper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.FiddlerHelper\n{\n    public interface IFiddlerHttpTamper:ICloneable\n    {\n        string RuleUid { get; set; }\n        bool IsEnable { get; set; }\n        bool IsHasParameter { get; set; }\n        TamperProtocalType TamperProtocol { get; set; }\n        FiddlerHttpFilter HttpFilter { get; set; }\n\n        List<FreeHttp.AutoTest.ParameterizationPick.ParameterPick> ParameterPickList { get; set; }\n        FiddlerActuatorStaticDataCollectionController ActuatorStaticDataController { get; set; }\n        bool IsRawReplace { get; }\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/TamperProtocalType.cs",
    "content": "﻿\nnamespace FreeHttp.FiddlerHelper\n{\n    public enum TamperProtocalType\n    {\n        Http,\n        WebSocket\n    }\n}\n"
  },
  {
    "path": "FiddlerHelper/VersionControl/FiddlerModificHttpRuleCollectionV1.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n//using FiddlerRequsetChange = FreeHttp.FiddlerHelper.FiddlerRequestChange;\n\n\nnamespace FreeHttp.FiddlerHelper.VersionControlV1\n{\n    [Serializable]\n    public class FiddlerModificHttpRuleCollection\n    {\n        List<FiddlerRequsetChange> requestRuleList;\n        List<FiddlerResponseChange> responseRuleList;\n\n        //因为V1.0-V1.3 版本 FiddlerRequsetChange 这个英文拼错了 这里进行进行升级修复\n        public List<FiddlerRequsetChange> RequestRuleList { get { return requestRuleList; } set { requestRuleList = value; } }\n        public List<FiddlerResponseChange> ResponseRuleList { get { return responseRuleList; } set { responseRuleList = value; } }\n\n\n        public FiddlerModificHttpRuleCollection()  // Serializable 需要空参数的构造函数\n        {\n            requestRuleList = null;\n            responseRuleList = null;\n        }\n\n        public FiddlerModificHttpRuleCollection(List<FiddlerRequsetChange> yourRequestRuleList, List<FiddlerResponseChange> yourResponseRuleList)\n        {\n            requestRuleList = yourRequestRuleList;\n            responseRuleList = yourResponseRuleList;\n        }\n\n        public static explicit operator FreeHttp.FiddlerHelper.FiddlerModificHttpRuleCollection(FiddlerModificHttpRuleCollection fiddlerModificHttpRuleCollectionV1)\n        {\n            List<FiddlerRequestChange> RequestRuleList = new List<FiddlerRequestChange>();\n            if(fiddlerModificHttpRuleCollectionV1.RequestRuleList!=null && fiddlerModificHttpRuleCollectionV1.RequestRuleList.Count>0)\n            {\n                foreach(FiddlerRequsetChange item in fiddlerModificHttpRuleCollectionV1.RequestRuleList)\n                {\n                    RequestRuleList.Add(item.GetBase());\n                }\n            }\n            FreeHttp.FiddlerHelper.FiddlerModificHttpRuleCollection fiddlerModificHttpRuleCollection = new FreeHttp.FiddlerHelper.FiddlerModificHttpRuleCollection(RequestRuleList, fiddlerModificHttpRuleCollectionV1.ResponseRuleList);\n            \n            if(fiddlerModificHttpRuleCollection.RequestRuleList!=null && fiddlerModificHttpRuleCollection.RequestRuleList.Count>0)\n            {\n                foreach (FiddlerRequestChange item in fiddlerModificHttpRuleCollection.RequestRuleList)\n                {\n                    if(item.UriModific!=null && item.UriModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                    {\n                        item.UriModific.ParameterReplaceContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(item.UriModific.ReplaceContent);\n                        item.UriModific.ParameterTargetKey = new AutoTest.ParameterizationContent.CaseParameterizationContent(item.UriModific.TargetKey);\n                    }\n                    if (item.BodyModific != null && item.BodyModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                    {\n                        item.BodyModific.ParameterReplaceContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(item.BodyModific.ReplaceContent);\n                        item.BodyModific.ParameterTargetKey = new AutoTest.ParameterizationContent.CaseParameterizationContent(item.BodyModific.TargetKey);\n                    }\n                    if(item.IsRawReplace && item.HttpRawRequest.ParameterizationContent.hasParameter)\n                    {\n                        item.IsHasParameter = true;\n                        //item.SetHasParameter(true);\n                    }\n                }\n            }\n            if (fiddlerModificHttpRuleCollection.ResponseRuleList != null && fiddlerModificHttpRuleCollection.ResponseRuleList.Count > 0)\n            {\n                foreach (FiddlerResponseChange item in fiddlerModificHttpRuleCollection.ResponseRuleList)\n                {\n                    if (item.BodyModific != null && item.BodyModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                    {\n                        item.BodyModific.ParameterReplaceContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(item.BodyModific.ReplaceContent);\n                        item.BodyModific.ParameterTargetKey = new AutoTest.ParameterizationContent.CaseParameterizationContent(item.BodyModific.TargetKey);\n                    }\n                    if (item.IsRawReplace && item.HttpRawResponse.ParameterizationContent.hasParameter)\n                    {\n                        item.IsHasParameter = true;\n                        //item.SetHasParameter(true);\n                    }\n                }\n            }\n            return fiddlerModificHttpRuleCollection;\n        }\n    }\n\n    [Serializable]\n    [System.Runtime.Serialization.DataContract()]\n    public class FiddlerRequsetChange : FiddlerRequestChange\n    {\n       public FiddlerRequestChange GetBase()\n        {\n            FiddlerRequestChange fiddlerRequestChange = new FiddlerRequestChange();\n            fiddlerRequestChange.IsEnable = IsEnable;\n            fiddlerRequestChange.TamperProtocol = TamperProtocol;\n            fiddlerRequestChange.HttpFilter = HttpFilter;\n            fiddlerRequestChange.ParameterPickList = ParameterPickList;\n            fiddlerRequestChange.HttpRawRequest = HttpRawRequest;\n            fiddlerRequestChange.UriModific = UriModific;\n            fiddlerRequestChange.HeadAddList = HeadAddList;\n            fiddlerRequestChange.HeadDelList = HeadDelList;\n            fiddlerRequestChange.BodyModific = BodyModific;\n            fiddlerRequestChange.Tag = Tag;\n            fiddlerRequestChange.ActuatorStaticDataController = ActuatorStaticDataController;\n            return fiddlerRequestChange;\n        }\n    }\n\n}\n"
  },
  {
    "path": "FiddlerSessionTamper.cs",
    "content": "﻿using Fiddler;\nusing FreeHttp.FiddlerHelper;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.AutoTest;\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing FreeHttp.AutoTest.ParameterizationPick;\n\nnamespace FreeHttp\n{\n    public class FiddlerSessionTamper\n    {\n        /// <summary>\n        /// Modific the http request in oSession with your rule\n        /// </summary>\n        /// <param name=\"oSession\">oSession</param>\n        /// <param name=\"nowFiddlerRequsetChange\">FiddlerRequsetChange</param>\n        public static void ModificSessionRequest(Session oSession, FiddlerRequestChange nowFiddlerRequsetChange, Action<string> ShowError, Action<string> ShowMes)\n        {\n            if (nowFiddlerRequsetChange.ParameterPickList != null)\n            {\n                PickSessionParameter(oSession, nowFiddlerRequsetChange, ShowError, ShowMes, true);\n            }\n            if (nowFiddlerRequsetChange.IsRawReplace)\n            {\n                ReplaceSessionRequest(oSession, nowFiddlerRequsetChange, ShowError, ShowMes);\n            }\n            else\n            {\n                string errMes;\n                NameValueCollection nameValueCollection = new NameValueCollection();\n                //Modific uri\n                if (nowFiddlerRequsetChange.UriModific != null && nowFiddlerRequsetChange.UriModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    try\n                    {\n                        oSession.fullUrl = nowFiddlerRequsetChange.UriModific.GetFinalContent(oSession.fullUrl, nameValueCollection, out errMes);\n                    }\n                    catch(Exception ex)\n                    {\n                        errMes = ex.Message;\n                    }\n                    if(errMes!=null)\n                    {\n                        ShowError(string.Format(\"error in GetFinalContent in UriModific that [{0}]\", errMes));\n                    }\n                }\n                //Modific body\n                if (nowFiddlerRequsetChange.BodyModific != null && nowFiddlerRequsetChange.BodyModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    if (nowFiddlerRequsetChange.BodyModific.ModificMode == ContentModificMode.HexReplace)\n                    {\n                        try\n                        {\n                            oSession.RequestBody = nowFiddlerRequsetChange.BodyModific.GetFinalContent(oSession.requestBodyBytes);\n                        }\n                        catch (Exception ex)\n                        {\n                            ShowError(string.Format(\"error in GetFinalContent in HexReplace with [{0}]\", ex.Message));\n                        }\n                    }\n                    else\n                    {\n                        string sourceRequestBody = null;\n                        try  //GetRequestBodyAsString may throw exception\n                        {\n                            //oSession.utilDecodeRequest();\n                            sourceRequestBody = oSession.GetRequestBodyAsString();\n                        }\n                        catch (Exception ex)\n                        {\n                            ShowError(string.Format(\"error in GetRequestBodyAsString [{0}]\", ex.Message));\n                            oSession.utilDecodeRequest();\n                            sourceRequestBody = oSession.GetRequestBodyEncoding().GetString(oSession.requestBodyBytes);\n                        }\n                        finally\n                        {\n                            if (nowFiddlerRequsetChange.BodyModific.ModificMode == ContentModificMode.ReCode)\n                            {\n                                try\n                                {\n                                    oSession.RequestBody = nowFiddlerRequsetChange.BodyModific.GetRecodeContent(sourceRequestBody);\n                                }\n                                catch (Exception ex)\n                                {\n                                    ShowError(string.Format(\"error in GetRecodeContent in ReCode with [{0}]\", ex.Message));\n                                }\n                            }\n                            else\n                            {\n                                //oSession.requestBodyBytes = oSession.GetRequestBodyEncoding().GetBytes(nowFiddlerRequsetChange.BodyModific.GetFinalContent(sourceRequestBody)); // requestBodyBytes直接修改内部成员\n                                //oSession.ResponseBody = oSession.GetRequestBodyEncoding().GetBytes(nowFiddlerRequsetChange.BodyModific.GetFinalContent(sourceRequestBody)); //ResponseBody修改内部成员 更新Content-Length ，同时删除编码头，适用于hex数据\n                                //Session.RequestBody : Gets or Sets the HTTP Request body bytes. Setter adjusts Content-Length header, and removes Transfer-Encoding and Content-Encoding headers. Setter DOES NOT CLONE the passed array. Setter will throw if the Request object does not exist for some reason. Use utilSetRequestBody(sStr) to ensure proper character encoding if you need to use a string. \n                                //oSession.utilSetRequestBody(nowFiddlerRequsetChange.BodyModific.GetFinalContent(sourceRequestBody));  //utilSetRequestBody 虽然会自动更新Content-Length 但是会强制使用utf8 ，适用于字符串\n                                string tempRequestBody = nowFiddlerRequsetChange.BodyModific.GetFinalContent(sourceRequestBody, nameValueCollection, out errMes);\n                                if (errMes != null)\n                                {\n                                    ShowError(string.Format(\"error in GetFinalContent in BodyModific that [{0}]\", errMes));\n                                }\n                                if (tempRequestBody != sourceRequestBody)\n                                {\n                                    oSession.utilSetRequestBody(tempRequestBody);\n                                }\n                            }\n                        }\n                    }\n                }\n                //Modific heads\n                if (nowFiddlerRequsetChange.HeadDelList != null && nowFiddlerRequsetChange.HeadDelList.Count > 0)\n                {\n                    foreach (var tempDelHead in nowFiddlerRequsetChange.HeadDelList)\n                    {\n                        oSession.RequestHeaders.Remove(tempDelHead);\n                    }\n                }\n                if (nowFiddlerRequsetChange.HeadAddList != null && nowFiddlerRequsetChange.HeadAddList.Count > 0)\n                {\n                    foreach (var tempAddHead in nowFiddlerRequsetChange.HeadAddList)\n                    {\n                        if (tempAddHead.Contains(\": \"))\n                        {\n                            oSession.RequestHeaders.Add(tempAddHead.Remove(tempAddHead.IndexOf(\": \")), tempAddHead.Substring(tempAddHead.IndexOf(\": \") + 2));\n                        }\n                        else\n                        {\n                            ShowError(string.Format(\"error to deal add head string with [{0}]\", tempAddHead));\n                        }\n                    }\n                }\n                //other action              \n                if (nameValueCollection != null && nameValueCollection.Count > 0)\n                {\n                    ShowMes(string.Format(\"[ParameterizationContent]:{0}\", nameValueCollection.MyToFormatString()));\n                }\n\n            }\n        }\n\n        /// <summary>\n        /// Replace the http request in oSession with your rule (it may call by ModificSessionRequest)\n        /// </summary>\n        /// <param name=\"oSession\">oSession</param>\n        /// <param name=\"nowFiddlerRequsetChange\">FiddlerRequsetChange</param>\n        public static void ReplaceSessionRequest(Session oSession, FiddlerRequestChange nowFiddlerRequsetChange, Action<string> ShowError, Action<string> ShowMes)\n        {\n            string errMes;\n            NameValueCollection nameValueCollection;\n            HttpRequest tempRequestHttpRequest;\n            try\n            {\n                tempRequestHttpRequest = nowFiddlerRequsetChange.HttpRawRequest.UpdateHttpRequest(out errMes, out nameValueCollection);\n            }\n            catch (Exception ex)\n            {\n                ShowError(string.Format(\"Fail to ReplaceSessionResponse :{0}\", ex.Message));\n                return;\n            }\n            if (errMes != null)\n            {\n                ShowError(errMes);\n            }\n            if (nameValueCollection != null && nameValueCollection.Count > 0)\n            {\n                ShowMes(string.Format(\"[ParameterizationContent]:{0}\", nameValueCollection.MyToFormatString()));\n            }\n\n            oSession.oRequest.headers = new HTTPRequestHeaders();\n            oSession.RequestMethod = tempRequestHttpRequest.RequestMethod;\n            try\n            {\n                oSession.fullUrl = tempRequestHttpRequest.RequestUri;\n            }\n            catch (ArgumentException ex)\n            {\n                if (ex.Message == \"URI scheme must be http, https, or ftp\")\n                {\n                    oSession.url = tempRequestHttpRequest.RequestUri;\n                }\n                else\n                {\n                    ShowError(ex.Message);\n                }\n            }\n            catch (Exception ex)\n            {\n                ShowError(ex.Message);\n            }\n            ((Fiddler.HTTPHeaders)(oSession.RequestHeaders)).HTTPVersion = tempRequestHttpRequest.RequestVersions;\n            if (tempRequestHttpRequest.RequestHeads != null)\n            {\n\n                foreach (var tempHead in tempRequestHttpRequest.RequestHeads)\n                {\n                    if (tempHead.Key == \"Host\")\n                    {\n                        oSession.oRequest.headers.Remove(\"Host\");\n                    }\n                    oSession.oRequest.headers.Add(tempHead.Key, tempHead.Value);\n                }\n            }\n            oSession.requestBodyBytes = tempRequestHttpRequest.RequestEntity;\n        }\n\n        /// <summary>\n        /// Modific the http response in oSession with your rule (if IsRawReplace and  IsIsDirectRespons it will not call ReplaceSessionResponse)\n        /// </summary>\n        /// <param name=\"oSession\">oSession</param>\n        /// <param name=\"nowFiddlerResponseChange\">FiddlerResponseChange</param>\n        public static void ModificSessionResponse(Session oSession, FiddlerResponseChange nowFiddlerResponseChange, Action<string> ShowError, Action<string> ShowMes)\n        {\n            if (nowFiddlerResponseChange.ParameterPickList != null && nowFiddlerResponseChange.ParameterPickList.Count>0)\n            {\n                PickSessionParameter(oSession, nowFiddlerResponseChange, ShowError, ShowMes, false);\n            }\n            if (nowFiddlerResponseChange.IsRawReplace)\n            {\n                //if IsIsDirectRespons do nothing\n                if (!nowFiddlerResponseChange.IsIsDirectRespons)\n                {\n                    ReplaceSessionResponse(oSession, nowFiddlerResponseChange, ShowError, ShowMes);\n                }\n            }\n            else\n            {\n                string errMes;\n                NameValueCollection nameValueCollection = new NameValueCollection();\n                //modific body\n                if (nowFiddlerResponseChange.BodyModific != null && nowFiddlerResponseChange.BodyModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    if (nowFiddlerResponseChange.BodyModific.ModificMode == ContentModificMode.HexReplace)\n                    {\n                        try\n                        {\n                            oSession.ResponseBody = nowFiddlerResponseChange.BodyModific.GetFinalContent(oSession.responseBodyBytes);\n                        }\n                        catch (Exception ex)\n                        {\n                            ShowError(string.Format(\"error in GetFinalContent in HexReplace with [{0}]\", ex.Message));\n                        }\n                    }\n                    else\n                    {\n                        //you should not change the media data as string\n                        string sourceResponseBody = null;\n                        try\n                        {\n                            sourceResponseBody = oSession.GetResponseBodyAsString(); //if the head encode is change ,GetResponseBodyAsString maybe fail \n                            if (nowFiddlerResponseChange.BodyModific.ParameterTargetKey.ToString().Contains('\\n'))\n                            {\n                                sourceResponseBody = sourceResponseBody.Replace(\"\\r\\n\", \"\\n\");\n                            }\n                        }\n                        catch (Exception ex)\n                        {\n                            ShowError(string.Format(\"error in GetResponseBodyAsString [{0}]\", ex.Message));\n                            oSession.utilDecodeResponse();\n                            sourceResponseBody = oSession.GetResponseBodyEncoding().GetString(oSession.ResponseBody);\n                        }\n                        finally\n                        {\n                            if (nowFiddlerResponseChange.BodyModific.ModificMode == ContentModificMode.ReCode)\n                            {\n                                try\n                                {\n                                    oSession.ResponseBody = nowFiddlerResponseChange.BodyModific.GetRecodeContent(sourceResponseBody);\n                                }\n                                catch (Exception ex)\n                                {\n                                    ShowError(string.Format(\"error in GetRecodeContent in ReCode with [{0}]\", ex.Message));\n                                }\n                            }\n                            else\n                            {\n                                //oSession.utilSetResponseBody(nowFiddlerResponseChange.BodyModific.GetFinalContent(sourceResponseBody));\n                                string tempResponseBody = nowFiddlerResponseChange.BodyModific.GetFinalContent(sourceResponseBody, nameValueCollection, out errMes);\n                                if (errMes != null)\n                                {\n                                    ShowError(string.Format(\"error in GetFinalContent in BodyModific that [{0}]\", errMes));\n                                }\n                                if (tempResponseBody != sourceResponseBody)\n                                {\n                                    oSession.utilSetResponseBody(tempResponseBody);\n                                }\n                            }\n                        }\n\n                        //you can use below code to modific the body\n                        //oSession.utilDecodeResponse();\n                        //oSession.utilReplaceInResponse(\"\",\"\");\n                        //oSession.utilDeflateResponse();\n                    }\n                }\n                //modific heads\n                if (nowFiddlerResponseChange.HeadDelList != null && nowFiddlerResponseChange.HeadDelList.Count > 0)\n                {\n                    foreach (var tempDelHead in nowFiddlerResponseChange.HeadDelList)\n                    {\n                        oSession.ResponseHeaders.Remove(tempDelHead);\n                    }\n                }\n                if (nowFiddlerResponseChange.HeadAddList != null && nowFiddlerResponseChange.HeadAddList.Count > 0)\n                {\n                    foreach (var tempAddHead in nowFiddlerResponseChange.HeadAddList)\n                    {\n                        if (tempAddHead.Contains(\": \"))\n                        {\n                            oSession.ResponseHeaders.Add(tempAddHead.Remove(tempAddHead.IndexOf(\": \")), tempAddHead.Substring(tempAddHead.IndexOf(\": \") + 2));\n                        }\n                        else\n                        {\n                            ShowError(string.Format(\"error to deal add head string with [{0}]\", tempAddHead));\n                        }\n                    }\n                }\n                //other action\n                if (nameValueCollection != null && nameValueCollection.Count > 0)\n                {\n                    ShowMes(string.Format(\"[ParameterizationContent]:{0}\", nameValueCollection.MyToFormatString()));\n                }\n            }\n        }\n\n        /// <summary>\n        /// Replace the http response in oSession with your rule\n        /// </summary>\n        /// <param name=\"oSession\">oSession</param>\n        /// <param name=\"nowFiddlerResponseChange\">FiddlerResponseChange</param>\n        public static void ReplaceSessionResponse(Session oSession, FiddlerResponseChange nowFiddlerResponseChange, Action<string> ShowError, Action<string> ShowMes)\n        {\n            bool isClosePipeWhenReplace = false;\n            byte[] tempResponseBytes;\n            string errMes;\n            NameValueCollection nameValueCollection;\n            HttpResponse tempHttpResponse;\n            try\n            {\n                tempHttpResponse = nowFiddlerResponseChange.HttpRawResponse.UpdateHttpResponse(out errMes, out nameValueCollection);\n                tempResponseBytes = tempHttpResponse.GetRawHttpResponse();\n            }\n            catch (Exception ex)\n            {\n                ShowError(string.Format(\"Fail to ReplaceSessionResponse :{0}\", ex.Message));\n                return;\n            }\n            if (errMes != null)\n            {\n                ShowError(errMes);\n            }\n            if (nameValueCollection != null && nameValueCollection.Count > 0)\n            {\n                ShowMes(string.Format(\"[ParameterizationContent]:{0}\", nameValueCollection.MyToFormatString()));\n            }\n            using (MemoryStream ms = new MemoryStream(tempResponseBytes))\n            {\n                if (isClosePipeWhenReplace)\n                {\n                    oSession.PoisonClientPipe();  //关闭客户端与代理的连接(Ensures that, after the response is complete, the client socket is closed and not reused. Does NOT (and must not) close the pipe. )\n                    oSession.PoisonServerPipe();  //关闭代理与服务器的连接\n                }\n                if (!oSession.LoadResponseFromStream(ms, null))\n                {\n                    ShowError(\"error to oSession.LoadResponseFromStream\");\n                    ShowError(\"try to modific the response\");\n\n                    //modific the response\n                    oSession.oResponse.headers = new HTTPResponseHeaders();\n                    oSession.oResponse.headers.HTTPResponseCode = tempHttpResponse.ResponseCode;\n                    oSession.ResponseHeaders.StatusDescription = tempHttpResponse.ResponseStatusDescription;\n                    ((Fiddler.HTTPHeaders)(oSession.ResponseHeaders)).HTTPVersion = tempHttpResponse.ResponseVersion;\n                    if (tempHttpResponse.ResponseHeads != null && tempHttpResponse.ResponseHeads.Count > 0)\n                    {\n                        foreach (var tempHead in tempHttpResponse.ResponseHeads)\n                        {\n                            oSession.oResponse.headers.Add(tempHead.Key, tempHead.Value);\n                        }\n                    }\n                    oSession.responseBodyBytes = tempHttpResponse.ResponseEntity;\n                }\n            }\n        }\n\n\n        /// <summary>\n        ///  Modific the websocket message with your rule\n        /// </summary>\n        /// <param name=\"oSession\"></param>\n        /// <param name=\"webSocketMessage\"></param>\n        /// <param name=\"nowFiddlerRequsetChange\"></param>\n        /// <param name=\"ShowError\"></param>\n        /// <param name=\"ShowMes\"></param>\n        public static void ModificWebSocketMessage(Session oSession, WebSocketMessage webSocketMessage, IFiddlerHttpTamper nowFiddlerChange, bool isRequest,Action<string> ShowError, Action<string> ShowMes)\n        {\n            if (nowFiddlerChange.ParameterPickList != null)\n            {\n                PickSessionParameter(oSession, nowFiddlerChange, ShowError, ShowMes, webSocketMessage.IsOutbound, webSocketMessage);\n            }\n            ParameterContentModific payLoadModific = null;\n            if (isRequest)\n            {\n                FiddlerRequestChange nowFiddlerRequsetChange = (FiddlerRequestChange)nowFiddlerChange;\n                payLoadModific = nowFiddlerRequsetChange.BodyModific;\n            }\n            else\n            {\n                FiddlerResponseChange nowFiddlerResponseChange = (FiddlerResponseChange)nowFiddlerChange;\n                payLoadModific = nowFiddlerResponseChange.BodyModific;\n            }\n            //Modific body\n            if (payLoadModific != null && payLoadModific.ModificMode != ContentModificMode.NoChange)\n            {\n                if (payLoadModific.ModificMode == ContentModificMode.HexReplace)\n                {\n                    try\n                    {\n                        webSocketMessage.SetPayload(payLoadModific.GetFinalContent(webSocketMessage.PayloadAsBytes()));\n                    }\n                    catch (Exception ex)\n                    {\n                        ShowError(string.Format(\"error in GetFinalContent in HexReplace with [{0}]\", ex.Message));\n                    }\n                }\n                else\n                {\n                    if (webSocketMessage.FrameType == WebSocketFrameTypes.Binary)\n                    {\n                        ShowError(\"error in GetFinalContent that WebSocketFrameTypes is Binary ,just use <hex> mode\");\n                    }\n                    else if (webSocketMessage.FrameType == WebSocketFrameTypes.Ping || webSocketMessage.FrameType == WebSocketFrameTypes.Pong || webSocketMessage.FrameType == WebSocketFrameTypes.Close)\n                    {\n                        // do nothing\n                    }\n                    else\n                    {\n                        string sourcePayload = webSocketMessage.PayloadAsString();\n                        if (payLoadModific.ModificMode == ContentModificMode.ReCode)\n                        {\n                            try\n                            {\n                                webSocketMessage.SetPayload(payLoadModific.GetRecodeContent(sourcePayload));\n                            }\n                            catch (Exception ex)\n                            {\n                                ShowError(string.Format(\"error in GetRecodeContent in ReCode with [{0}]\", ex.Message));\n                            }\n                        }\n                        else\n                        {\n                            string errMes;\n                            NameValueCollection nameValueCollection = new NameValueCollection();\n\n                            //webSocketMessage.SetPayload(payLoadModific.GetFinalContent(sourcePayload));\n                            string tempPayload = payLoadModific.GetFinalContent(sourcePayload, nameValueCollection, out errMes);\n                            if (errMes != null)\n                            {\n                                ShowError(string.Format(\"error in GetFinalContent in PayLoadModific that [{0}]\", errMes));\n                            }\n                            if (tempPayload != sourcePayload) //非标准协议的实现，或没有实现的压缩会导致PayloadAsString()使数据不可逆\n                            {\n                                webSocketMessage.SetPayload(tempPayload);\n                            }\n\n                            if (nameValueCollection != null && nameValueCollection.Count > 0)\n                            {\n                                ShowMes(string.Format(\"[ParameterizationContent]:{0}\", nameValueCollection.MyToFormatString()));\n                            }\n                        }\n                    }\n                }\n            }\n\n        }\n\n\n\n        public static void PickSessionParameter(Session oSession, IFiddlerHttpTamper nowFiddlerHttpTamper, Action<string> ShowError, Action<string> ShowMes, bool isRequest , WebSocketMessage webSocketMessage=null)\n        {\n            Func<string, ParameterPick, string> PickFunc = (sourceStr, parameterPick) =>\n            {\n                try { return ParameterPickTypeEngine.dictionaryParameterPickFunc[parameterPick.PickType].ParameterPickFunc(sourceStr, parameterPick.PickTypeExpression, parameterPick.PickTypeAdditional); }\n                catch (Exception) { return null; }\n            };\n\n            bool isWebSocket = webSocketMessage != null;\n\n            if (nowFiddlerHttpTamper.ParameterPickList != null)\n            {\n                foreach (ParameterPick parameterPick in nowFiddlerHttpTamper.ParameterPickList)\n                {\n                    string pickResult = null;\n                    string pickSource = null;\n                    switch (parameterPick.PickRange)\n                    {\n                        case ParameterPickRange.Line:\n                            if (isRequest)\n                            {\n                                pickSource = oSession.fullUrl;\n                                if (string.IsNullOrEmpty(pickSource))\n                                {\n                                    pickResult = null;\n                                    break;\n                                }\n                            }\n                            else\n                            {\n                                if (oSession.oResponse.headers == null)\n                                {\n                                    pickResult = null;\n                                    break;\n                                }\n                                else\n                                {\n                                    //pickSource = string.Format(\"{0} {1} {}\", oSession.oResponse.headers.HTTPVersion, oSession.oResponse.headers.HTTPResponseCode,oSession.oResponse.headers.StatusDescription);\n                                    pickSource = string.Format(\"{0} {1}\", oSession.oResponse.headers.HTTPVersion, oSession.oResponse.headers.HTTPResponseStatus);\n                                }\n                            }\n                            pickResult = PickFunc(pickSource, parameterPick);\n                            break;\n                        case ParameterPickRange.Heads:\n                            if(isWebSocket)\n                            {\n                                ShowError(\"[ParameterizationPick] can not pick parameter in head when the session is websocket\");\n                                break;\n                            }\n                            IEnumerable<HTTPHeaderItem> headerItems = isRequest ? (IEnumerable<HTTPHeaderItem>)oSession.RequestHeaders : (IEnumerable<HTTPHeaderItem>)oSession.ResponseHeaders;\n                            foreach (HTTPHeaderItem tempHead in headerItems)\n                            {\n                                pickResult = PickFunc(tempHead.ToString(), parameterPick);\n                                if (pickResult != null)\n                                {\n                                    break;\n                                }\n                            }\n                            break;\n                        case ParameterPickRange.Entity:\n                            if (isWebSocket)\n                            {\n                                if(webSocketMessage.PayloadLength==0)\n                                {\n                                    pickResult = null;\n                                    break;\n                                }\n                                pickSource = webSocketMessage.PayloadAsString();\n                                pickResult = PickFunc(pickSource, parameterPick);\n                            }\n                            else\n                            {\n                                if (((oSession.requestBodyBytes == null || oSession.requestBodyBytes.Length == 0) && isRequest) && ((oSession.ResponseBody == null || oSession.ResponseBody.Length == 0) && isRequest))\n                                {\n                                    pickResult = null;\n                                    break;\n                                }\n                                pickSource = isRequest ? oSession.GetRequestBodyAsString() : oSession.GetResponseBodyAsString();\n                                pickResult = PickFunc(pickSource, parameterPick);\n                            }\n                            break;\n                        default:\n                            ShowError(\"[ParameterizationPick] unkonw pick range\");\n                            break;\n                    }\n                    if (pickResult == null)\n                    {\n                        ShowMes(string.Format(\"[ParameterizationPick] can not find the parameter with [{0}]\", parameterPick.ParameterName));\n                    }\n                    else\n                    {\n                        ShowMes(string.Format(\"[ParameterizationPick] pick the parameter [{0} = {1}]\", parameterPick.ParameterName, pickResult));\n                        if (nowFiddlerHttpTamper.ActuatorStaticDataController.SetActuatorStaticData(parameterPick.ParameterName, pickResult))\n                        {\n                            ShowMes(string.Format(\"[ParameterizationPick] add the parameter [{0}] to ActuatorStaticDataCollection\", parameterPick.ParameterName));\n                        }\n                        else\n                        {\n                            ShowError(string.Format(\"[ParameterizationPick] fail to add the parameter [{0}] to ActuatorStaticDataCollection\", parameterPick.ParameterName));\n                        }\n                    }\n                }\n            }\n            else\n            {\n                ShowError(\"[ParameterizationPick] not find ParameterPick to pick\");\n            }\n        }\n\n        public static string GetSessionRawData(Session oSession, bool isHaveResponse)\n        {\n            if (oSession == null)\n            {\n                return null;\n            }\n            StringBuilder sbRawData = new StringBuilder();\n            MemoryStream ms = new MemoryStream();\n            //tempSession.WriteToStream(SmartAssembly, false);\n            oSession.WriteRequestToStream(true, true, ms);\n            ms.Position = 0;\n            StreamReader sr = new StreamReader(ms, Encoding.UTF8);\n            sbRawData.Append(sr.ReadToEnd());\n            sr.Close();\n            ms.Close();\n\n            if (oSession.requestBodyBytes != null && oSession.requestBodyBytes.Length > 0)\n            {\n                sbRawData.AppendLine(oSession.GetRequestBodyAsString());\n                sbRawData.Append(\"\\r\\n\");\n            }\n            if (isHaveResponse && oSession.bHasResponse)\n            {\n                sbRawData.AppendLine(oSession.ResponseHeaders.ToString());\n                if (oSession.responseBodyBytes != null && oSession.responseBodyBytes.Length > 0)\n                {\n                    sbRawData.AppendLine(oSession.GetResponseBodyAsString());\n                }\n            }\n            return sbRawData.ToString();\n        }\n\n        public static bool GetSessionData(Session oSession, FreeHttpControl.FreeHttpWindow.GetSessionEventArgs sessionEventArgs)\n        {\n            if (sessionEventArgs == null || oSession==null)\n            {\n                return false;\n            }\n            sessionEventArgs.Uri = oSession.fullUrl;\n            if (oSession.oRequest!=null)\n            {\n                sessionEventArgs.RequestHeads = new List<KeyValuePair<string, string>>(oSession.oRequest.headers.Count());\n                foreach (var head in oSession.oRequest.headers)\n                {\n                    sessionEventArgs.RequestHeads.Add(new KeyValuePair<string, string>(head.Name, head.Value));\n                }\n                if(sessionEventArgs.IsGetEntity)\n                {\n                    sessionEventArgs.RequestEntity = oSession.GetRequestBodyAsString();\n                }\n            }\n            if (oSession.bHasResponse && oSession.oResponse != null)\n            {\n                sessionEventArgs.ResponseHeads = new List<KeyValuePair<string, string>>(oSession.oResponse.headers.Count());\n                foreach (var head in oSession.oResponse.headers)\n                {\n                    sessionEventArgs.ResponseHeads.Add(new KeyValuePair<string, string>(head.Name, head.Value));\n                }\n                if (sessionEventArgs.IsGetEntity)\n                {\n                    sessionEventArgs.ResponseEntity = oSession.GetResponseBodyAsString();\n                }\n            }\n            return true;\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttp.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{432A476E-3D49-4994-A75C-346EFDAD1E9A}</ProjectGuid>\n    <OutputType>Library</OutputType>\n    <AppDesignerFolder>Properties</AppDesignerFolder>\n    <RootNamespace>FreeHttp</RootNamespace>\n    <AssemblyName>FreeHttp</AssemblyName>\n    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <TargetFrameworkProfile />\n    <NuGetPackageImportStamp>\n    </NuGetPackageImportStamp>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE;NET4_5UP</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <Prefer32Bit>false</Prefer32Bit>\n    <PlatformTarget>AnyCPU</PlatformTarget>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"Fiddler, Version=5.0.20182.28034, Culture=neutral, processorArchitecture=MSIL\">\n      <SpecificVersion>False</SpecificVersion>\n      <HintPath>bin\\Debug\\Fiddler4.5\\Fiddler.exe</HintPath>\n    </Reference>\n    <Reference Include=\"PresentationCore\" />\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Drawing\" />\n    <Reference Include=\"System.Management\" />\n    <Reference Include=\"System.Net.Http\" />\n    <Reference Include=\"System.Runtime.Serialization\" />\n    <Reference Include=\"System.Web.Services\" />\n    <Reference Include=\"System.Windows.Forms\" />\n    <Reference Include=\"System.Xml.Linq\" />\n    <Reference Include=\"System.Data.DataSetExtensions\" />\n    <Reference Include=\"Microsoft.CSharp\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Xml\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"AutoTest\\CsvFileHelper.cs\" />\n    <Compile Include=\"AutoTest\\MyBytesHelper.cs\" />\n    <Compile Include=\"AutoTest\\MyCommonTool.cs\" />\n    <Compile Include=\"AutoTest\\MyExtensionMethods.cs\" />\n    <Compile Include=\"AutoTest\\ParameterizationContent\\CaseParameterizationContent.cs\" />\n    <Compile Include=\"AutoTest\\ParameterizationContent\\ParameterizationContentEncodingType.cs\" />\n    <Compile Include=\"AutoTest\\ParameterizationContent\\ParameterizationContentHelper.cs\" />\n    <Compile Include=\"AutoTest\\ParameterizationPick\\ParameterPickHelper.cs\" />\n    <Compile Include=\"AutoTest\\ParameterizationPick\\ParameterPickType.cs\" />\n    <Compile Include=\"AutoTest\\ParameterizationPick\\ParameterPick.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\ActuatorStaticDataCollection.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\CaseRunTimeDataTypeEngine.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\CaseStaticDataType.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\IRunTimeDataSource.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\IRunTimeStaticData.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataIndex.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataList.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataLong.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataNowTime.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataRandomStr.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataSourceCsv.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataStrIndex.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\MyStaticData\\MyStaticDataValue.cs\" />\n    <Compile Include=\"AutoTest\\RunTimeStaticData\\RunTimeStaticDataHelper.cs\" />\n    <Compile Include=\"FiddlerFreeHttp.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerActuatorStaticDataCollectionController.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerRuleGroup.cs\" />\n    <Compile Include=\"FiddlerHelper\\TamperProtocalType.cs\" />\n    <Compile Include=\"FiddlerHelper\\VersionControl\\FiddlerModificHttpRuleCollectionV1.cs\" />\n    <Compile Include=\"FiddlerSessionTamper.cs\" />\n    <Compile Include=\"FreeHttpControl\\ChangeEncodeForm.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ChangeEncodeForm.Designer.cs\">\n      <DependentUpon>ChangeEncodeForm.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ControlHelper\\LoadBitmap.cs\" />\n    <Compile Include=\"FreeHttpControl\\ControlHelper\\LoadWindowService.cs\" />\n    <Compile Include=\"FreeHttpControl\\EditKeyVaule.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\EditKeyVaule.Designer.cs\">\n      <DependentUpon>EditKeyVaule.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\EditCookieForm.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\EditCookieForm.Designer.cs\">\n      <DependentUpon>EditCookieForm.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\EditParameterPickWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\EditParameterPickWindow.Designer.cs\">\n      <DependentUpon>EditParameterPickWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\EditSheetForm.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\EditSheetForm.Designer.cs\">\n      <DependentUpon>EditSheetForm.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\GetRemoteRuleWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\GetRemoteRuleWindow.Designer.cs\">\n      <DependentUpon>GetRemoteRuleWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\ListViewExtended.cs\">\n      <SubType>Component</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SortRule.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SortRule.Designer.cs\">\n      <DependentUpon>SortRule.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\RuleInfoWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\RuleInfoWindow.designer.cs\">\n      <DependentUpon>RuleInfoWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\AddParameterPickBox.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\AddParameterPickBox.Designer.cs\">\n      <DependentUpon>AddParameterPickBox.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\CBalloonBase.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\EditListView.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\EditListView.Designer.cs\">\n      <DependentUpon>EditListView.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\FreeHttpWindowFunction.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\FreeHttpWindow.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\FreeHttpWindow.Designer.cs\">\n      <DependentUpon>FreeHttpWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\HttpFilterWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\HttpFilterWindow.Designer.cs\">\n      <DependentUpon>HttpFilterWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ControlHelper\\MarkControlService.cs\" />\n    <Compile Include=\"FreeHttpControl\\MyBaseInfoWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ControlHelper\\MyControlHelper.cs\" />\n    <Compile Include=\"FreeHttpControl\\MyControl\\MySwitchPictureButton.cs\">\n      <SubType>Component</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\MyListView.cs\">\n      <SubType>Component</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\MyPanel.cs\">\n      <SubType>Component</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\MyEnableSwitch.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\MyEnableSwitch.Designer.cs\">\n      <DependentUpon>MyEnableSwitch.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\MyEnabledPictureButton.cs\">\n      <SubType>Component</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\RawRequestEdit.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\RawRequestEdit.Designer.cs\">\n      <DependentUpon>RawRequestEdit.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\RawResponseEdit.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\RawResponseEdit.designer.cs\">\n      <DependentUpon>RawResponseEdit.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\RemoveHead.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\RemoveHead.Designer.cs\">\n      <DependentUpon>RemoveHead.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SaveShareRule.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SaveShareRule.Designer.cs\">\n      <DependentUpon>SaveShareRule.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SettingWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SettingWindow.Designer.cs\">\n      <DependentUpon>SettingWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SetVaule.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\SetVaule.Designer.cs\">\n      <DependentUpon>SetVaule.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ShowSheetForm.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ShowSheetForm.Designer.cs\">\n      <DependentUpon>ShowSheetForm.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ShowTextForm.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\ShowTextForm.Designer.cs\">\n      <DependentUpon>ShowTextForm.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\StaticDataAddWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\StaticDataAddWindow.Designer.cs\">\n      <DependentUpon>StaticDataAddWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\StaticDataManageWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\StaticDataManageWindow.Designer.cs\">\n      <DependentUpon>StaticDataManageWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\TextBoxEditer.cs\">\n      <SubType>UserControl</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\TextBoxEditer.Designer.cs\">\n      <DependentUpon>TextBoxEditer.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\MyControl\\WatermakTextBox.cs\">\n      <SubType>Component</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\UserFeedbackWindow.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"FreeHttpControl\\UserFeedbackWindow.Designer.cs\">\n      <DependentUpon>UserFeedbackWindow.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"HttpHelper\\ContentModific.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerModificHttpRuleCollection.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerModificSettingInfo.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerRequsetChange.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerResponseChange.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerSessionHelper.cs\" />\n    <Compile Include=\"FiddlerHelper\\FiddlerHttpFilter.cs\" />\n    <Compile Include=\"HttpHelper\\HttpRequest.cs\" />\n    <Compile Include=\"HttpHelper\\HttpResponse.cs\" />\n    <Compile Include=\"FiddlerHelper\\IFiddlerHttpTamper.cs\" />\n    <Compile Include=\"HttpHelper\\ParameterContentModific.cs\" />\n    <Compile Include=\"HttpHelper\\ParameterHttpRequest.cs\" />\n    <Compile Include=\"HttpHelper\\ParameterHttpResponse.cs\" />\n    <Compile Include=\"MyHelper\\MyExtensionMethods.cs\" />\n    <Compile Include=\"MyHelper\\MyGlobalHelper.cs\" />\n    <Compile Include=\"MyHelper\\MyJsonHelper.cs\" />\n    <Compile Include=\"MyHelper\\MyKeyValuePair.cs\" />\n    <Compile Include=\"MyHelper\\SelfUpgradeHelp.cs\" />\n    <Compile Include=\"MyHelper\\SerializableHelper.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <Compile Include=\"Properties\\Resources.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>Resources.resx</DependentUpon>\n    </Compile>\n    <Compile Include=\"Resources\\MyResource.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>MyResource.resx</DependentUpon>\n    </Compile>\n    <Compile Include=\"WebService\\ConfigurationData.cs\" />\n    <Compile Include=\"WebService\\DataModel\\BaseResultModel.cs\" />\n    <Compile Include=\"WebService\\DataModel\\RuleDetails.cs\" />\n    <Compile Include=\"WebService\\DataModel\\ShareRuleSummary.cs\" />\n    <Compile Include=\"WebService\\FeedbackService.cs\" />\n    <Compile Include=\"WebService\\HttpServer\\CertificatesHelper.cs\" />\n    <Compile Include=\"WebService\\HttpServer\\MyHttpListener.cs\" />\n    <Compile Include=\"WebService\\HttpServer\\MySocketHelper.cs\" />\n    <Compile Include=\"WebService\\MyWebTool.cs\" />\n    <Compile Include=\"WebService\\OperationReportService.cs\" />\n    <Compile Include=\"WebService\\RemoteRuleService.cs\" />\n    <Compile Include=\"WebService\\RemoteLogService.cs\" />\n    <Compile Include=\"WebService\\ShareRuleService.cs\" />\n    <Compile Include=\"WebService\\UpgradeService.cs\" />\n    <Compile Include=\"WebService\\UserComputerInfo.cs\" />\n  </ItemGroup>\n  <ItemGroup>\n    <EmbeddedResource Include=\"FreeHttpControl\\ChangeEncodeForm.resx\">\n      <DependentUpon>ChangeEncodeForm.cs</DependentUpon>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\EditKeyVaule.resx\">\n      <DependentUpon>EditKeyVaule.cs</DependentUpon>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\EditCookieForm.resx\">\n      <DependentUpon>EditCookieForm.cs</DependentUpon>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\EditParameterPickWindow.resx\">\n      <DependentUpon>EditParameterPickWindow.cs</DependentUpon>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\EditSheetForm.resx\">\n      <DependentUpon>EditSheetForm.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\GetRemoteRuleWindow.resx\">\n      <DependentUpon>GetRemoteRuleWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\SortRule.resx\">\n      <DependentUpon>SortRule.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\RuleInfoWindow.resx\">\n      <DependentUpon>RuleInfoWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\AddParameterPickBox.resx\">\n      <DependentUpon>AddParameterPickBox.cs</DependentUpon>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\CBalloonBase.resx\" />\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\EditListView.resx\">\n      <DependentUpon>EditListView.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\FreeHttpWindow.resx\">\n      <DependentUpon>FreeHttpWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\HttpFilterWindow.resx\">\n      <DependentUpon>HttpFilterWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyBaseInfoWindow.resx\">\n      <DependentUpon>MyBaseInfoWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\MyListView.resx\">\n      <DependentUpon>MyListView.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\MyEnableSwitch.resx\">\n      <DependentUpon>MyEnableSwitch.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\RawRequestEdit.resx\">\n      <DependentUpon>RawRequestEdit.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\RawResponseEdit.resx\">\n      <DependentUpon>RawResponseEdit.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\RemoveHead.resx\">\n      <DependentUpon>RemoveHead.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\SaveShareRule.resx\">\n      <DependentUpon>SaveShareRule.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\SettingWindow.resx\">\n      <DependentUpon>SettingWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\SetVaule.resx\">\n      <DependentUpon>SetVaule.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\ShowSheetForm.resx\">\n      <DependentUpon>ShowSheetForm.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\ShowTextForm.resx\">\n      <DependentUpon>ShowTextForm.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\StaticDataAddWindow.resx\">\n      <DependentUpon>StaticDataAddWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\StaticDataManageWindow.resx\">\n      <DependentUpon>StaticDataManageWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\MyControl\\TextBoxEditer.resx\">\n      <DependentUpon>TextBoxEditer.cs</DependentUpon>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"FreeHttpControl\\UserFeedbackWindow.resx\">\n      <DependentUpon>UserFeedbackWindow.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n      <SubType>Designer</SubType>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"Resources\\MyResource.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <SubType>Designer</SubType>\n      <LastGenOutput>MyResource.Designer.cs</LastGenOutput>\n    </EmbeddedResource>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"packages.config\" />\n    <None Include=\"readme.md\" />\n    <None Include=\"Resources\\freehttp.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\add_mode.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\edit_mode.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\开关_关.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\开关_开.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\edit.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\naozhong_off.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\naozhong_on.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\switch_off.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\switch_on.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\filter_on.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\filter_off.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\close.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\minimize.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\pick_off.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\pick_on.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\affirm.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\zoomsmall.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\zoombig.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\cancel5.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\httpEnable.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\wsEnable.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\noParameter.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\useParameter.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\goto.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\show.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\freehttpico.ico\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\cloud.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\copy.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\copy_value.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\delete_value.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\group.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\add.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\move.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\rename.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\remove.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\unselect.png\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\select.png\" />\n  </ItemGroup>\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n  <PropertyGroup>\n    <PostBuildEvent>copy \"$(TargetPath)\" \"$(SYSTEMDRIVE)$(HOMEPATH)\\AppData\\Local\\Programs\\Fiddler\\Scripts\\$(TargetFilename)\"</PostBuildEvent>\n  </PropertyGroup>\n  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \n       Other similar extension points exist, see Microsoft.Common.targets.\n  <Target Name=\"BeforeBuild\">\n  </Target>\n  <Target Name=\"AfterBuild\">\n  </Target>\n  -->\n</Project>"
  },
  {
    "path": "FreeHttp.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.28803.452\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"FreeHttp\", \"FreeHttp.csproj\", \"{432A476E-3D49-4994-A75C-346EFDAD1E9A}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"FreeHttpWebService\", \"..\\FreeHttpWebService\\FreeHttpWebService.csproj\", \"{1BEB4588-FC73-4221-89F3-59913E39BA01}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"FreeHttpTests\", \"..\\FreeHttpTests\\FreeHttpTests.csproj\", \"{4E9B0249-D28D-4CD1-93D6-5EA4AB8D5CF9}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"FreeHttpWeb\", \"..\\FreeHttpWeb\\FreeHttpWeb.csproj\", \"{6B40B9FE-A972-47A9-ACDA-01AE89C8EFC9}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{432A476E-3D49-4994-A75C-346EFDAD1E9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{432A476E-3D49-4994-A75C-346EFDAD1E9A}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{432A476E-3D49-4994-A75C-346EFDAD1E9A}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{432A476E-3D49-4994-A75C-346EFDAD1E9A}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{1BEB4588-FC73-4221-89F3-59913E39BA01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{1BEB4588-FC73-4221-89F3-59913E39BA01}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{1BEB4588-FC73-4221-89F3-59913E39BA01}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{1BEB4588-FC73-4221-89F3-59913E39BA01}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{4E9B0249-D28D-4CD1-93D6-5EA4AB8D5CF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{4E9B0249-D28D-4CD1-93D6-5EA4AB8D5CF9}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{4E9B0249-D28D-4CD1-93D6-5EA4AB8D5CF9}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{4E9B0249-D28D-4CD1-93D6-5EA4AB8D5CF9}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{6B40B9FE-A972-47A9-ACDA-01AE89C8EFC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{6B40B9FE-A972-47A9-ACDA-01AE89C8EFC9}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{6B40B9FE-A972-47A9-ACDA-01AE89C8EFC9}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{6B40B9FE-A972-47A9-ACDA-01AE89C8EFC9}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {5D63C238-74AD-4459-AD37-9BD7804E7E56}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "FreeHttpControl/ChangeEncodeForm.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class ChangeEncodeForm\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChangeEncodeForm));\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.tb_contentType = new System.Windows.Forms.TextBox();\n            this.lb_info_3 = new System.Windows.Forms.Label();\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.cb_body = new System.Windows.Forms.ComboBox();\n            this.lb_info_2 = new System.Windows.Forms.Label();\n            this.tb_recode = new System.Windows.Forms.TextBox();\n            this.SuspendLayout();\n            // \n            // bt_ok\n            // \n            this.bt_ok.Location = new System.Drawing.Point(234, 99);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 10;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);\n            // \n            // tb_contentType\n            // \n            this.tb_contentType.Location = new System.Drawing.Point(99, 67);\n            this.tb_contentType.Name = \"tb_contentType\";\n            this.tb_contentType.Size = new System.Drawing.Size(210, 21);\n            this.tb_contentType.TabIndex = 6;\n            // \n            // lb_info_3\n            // \n            this.lb_info_3.AutoSize = true;\n            this.lb_info_3.Location = new System.Drawing.Point(13, 70);\n            this.lb_info_3.Name = \"lb_info_3\";\n            this.lb_info_3.Size = new System.Drawing.Size(83, 12);\n            this.lb_info_3.TabIndex = 8;\n            this.lb_info_3.Text = \"Content-Type:\";\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(15, 11);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(35, 12);\n            this.lb_info_1.TabIndex = 11;\n            this.lb_info_1.Text = \"Body:\";\n            // \n            // cb_body\n            // \n            this.cb_body.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cb_body.FormattingEnabled = true;\n            this.cb_body.Items.AddRange(new object[] {\n            \"change request encode\",\n            \"change response encode\"});\n            this.cb_body.Location = new System.Drawing.Point(99, 7);\n            this.cb_body.Name = \"cb_body\";\n            this.cb_body.Size = new System.Drawing.Size(210, 20);\n            this.cb_body.TabIndex = 12;\n            // \n            // lb_info_2\n            // \n            this.lb_info_2.AutoSize = true;\n            this.lb_info_2.Location = new System.Drawing.Point(15, 41);\n            this.lb_info_2.Name = \"lb_info_2\";\n            this.lb_info_2.Size = new System.Drawing.Size(47, 12);\n            this.lb_info_2.TabIndex = 13;\n            this.lb_info_2.Text = \"Encode:\";\n            // \n            // tb_recode\n            // \n            this.tb_recode.AutoCompleteCustomSource.AddRange(new string[] {\n            \"utf-8\",\n            \"gb2312\",\n            \"utf-16\",\n            \"utf-32\",\n            \"x-cp20936\",\n            \"gbk\",\n            \"euc-jp\",\n            \"EUC-CN\",\n            \"GB18030\",\n            \"unicodeFFFE\",\n            \"big5\",\n            \"IBM037\",\n            \"IBM437\",\n            \"IBM500\",\n            \"windows-1250\",\n            \"Windows-1252\",\n            \"windows-1253\",\n            \"Johab\",\n            \"x-mac-chinesetrad\",\n            \"utf-32BE\"});\n            this.tb_recode.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;\n            this.tb_recode.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;\n            this.tb_recode.Location = new System.Drawing.Point(99, 36);\n            this.tb_recode.Name = \"tb_recode\";\n            this.tb_recode.Size = new System.Drawing.Size(210, 21);\n            this.tb_recode.TabIndex = 14;\n            this.tb_recode.Text = \"utf-8\";\n            this.tb_recode.TextChanged += new System.EventHandler(this.Tb_recode_TextChanged);\n            // \n            // ChangeEncodeForm\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(315, 128);\n            this.Controls.Add(this.tb_recode);\n            this.Controls.Add(this.lb_info_2);\n            this.Controls.Add(this.cb_body);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.bt_ok);\n            this.Controls.Add(this.lb_info_3);\n            this.Controls.Add(this.tb_contentType);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"ChangeEncodeForm\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;\n            this.Text = \"Change Encode\";\n            this.Load += new System.EventHandler(this.ChangeEncodeForm_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n        private System.Windows.Forms.Button bt_ok;\n        private System.Windows.Forms.TextBox tb_contentType;\n        private System.Windows.Forms.Label lb_info_3;\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.ComboBox cb_body;\n        private System.Windows.Forms.Label lb_info_2;\n        private System.Windows.Forms.TextBox tb_recode;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/ChangeEncodeForm.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class ChangeEncodeForm : Form\n    {\n        public class ChangeEncodeInfo\n        {\n            public String ContentType_Request { get; set; }\n            public String ContentType_Response { get; set; }\n            public String NowEncode { get; set; }\n\n            public FreeHttpWindow.RuleEditMode EditMode { get; set; } = FreeHttpWindow.RuleEditMode.NewRuleMode;\n        }\n\n        ChangeEncodeInfo changeEncodeInfo;\n\n        public ChangeEncodeForm(ChangeEncodeInfo info)\n        {\n            InitializeComponent();\n            if(info!=null)\n            {\n                changeEncodeInfo = info;\n            }\n            else\n            {\n                throw new Exception(\"your ChangeEncodeInfo is null\");\n            }\n        }\n\n\n        private void ChangeEncodeForm_Load(object sender, EventArgs e)\n        {\n            if (changeEncodeInfo.EditMode == FreeHttpWindow.RuleEditMode.EditRequsetRule)\n            {\n                cb_body.Enabled = false;\n                cb_body.SelectedIndex = 0;\n            }\n            else if (changeEncodeInfo.EditMode == FreeHttpWindow.RuleEditMode.EditResponseRule)\n            {\n                cb_body.Enabled = false;\n                cb_body.SelectedIndex = 1;\n            }\n            //cb_body.SelectedIndex = changeEncodeInfo.EditMode ==FreeHttpWindow.RuleEditMode.EditResponseRule ? 1:0 ;\n            UpdataContentType();\n            tb_contentType.Enabled = false;\n            tb_recode.Focus();\n        }\n\n        private void Tb_recode_TextChanged(object sender, EventArgs e)\n        {\n            UpdataContentType();\n        }\n        private void UpdataContentType()\n        {\n            string nowContentType = cb_body.SelectedIndex == 0 ? changeEncodeInfo.ContentType_Request : changeEncodeInfo.ContentType_Response;\n            if (!string.IsNullOrEmpty(nowContentType))\n            {\n                nowContentType = nowContentType.Trim();\n                if (nowContentType.Contains(\"charset\"))\n                {\n                    int startIndex = nowContentType.IndexOf(\"charset\");\n                    int endIndex = nowContentType.IndexOf(';', startIndex);\n                    if (endIndex < 0)\n                    {\n                        tb_contentType.Text = string.Format(\"{0}charset={1}\", nowContentType.Remove(startIndex), tb_recode.Text);\n                    }\n                    else\n                    {\n                        tb_contentType.Text = string.Format(\"{0};charset={1}\", nowContentType.Remove(startIndex, endIndex + 1 - startIndex), tb_recode.Text);\n                    }\n                }\n                else\n                {\n                    tb_contentType.Text = string.Format(\"{0};charset={1}\", nowContentType, tb_recode.Text);\n                }\n            }\n            else\n            {\n                tb_contentType.Text = string.Format(\"charset={0}\", tb_recode.Text);\n            }\n        }\n        private void bt_ok_Click(object sender, EventArgs e)\n        {\n            try\n            {\n                Encoding.GetEncoding(tb_recode.Text);\n                changeEncodeInfo.NowEncode = tb_recode.Text;\n                if(cb_body.SelectedIndex==0)\n                {\n                    changeEncodeInfo.ContentType_Request = tb_contentType.Text;\n                    changeEncodeInfo.ContentType_Response = null;\n                }\n                else\n                {\n                    changeEncodeInfo.ContentType_Response = tb_contentType.Text;\n                    changeEncodeInfo.ContentType_Request = null;\n                }\n            }\n            catch(Exception ex)\n            {\n                MessageBox.Show(string.Format(\"your recode is illegal that {0}\", ex.Message),\"Stop\",MessageBoxButtons.OK,MessageBoxIcon.Stop);\n                return;\n            }\n            this.Close();\n        }\n\n        \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/ChangeEncodeForm.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAQEAAAAAAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXCwAAIBAAACAQ\n        AAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQ\n        AAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQ\n        AAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQ\n        AAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAHxAAAAIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABNJgAAwmICWs1nAuDNaALrzWcC681oAuvNZwLrzWgC681nAuvNaALrzWcC681oAuvNZwLrzWgC681n\n        AuvNaALrzWcC681oAuvNZwLrzWgC681nAuvNaALrzWcC681oAuvNZwLrzWgC681nAuvNaALrzWcC681o\n        AuvNZwLrzWgC681nAuvNaALrzWcC681oAuvNZwLrzWgC681nAuvNaALrzWcC681oAuvNZwLrzWgC681n\n        AuvNaALrzWcC681oAuvNZwLrzWgC681nAuvNaALrzWcC681oAuvNZwLrzWgC68xoAt5wOQFHAgEAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAApFMCJ81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgD/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oA//NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAP/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWcC/x8QABIAAAAAAAAAAAAAAAAAAAAAAAAAAKNTAl/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAP/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oA//MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81nAv8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACkUwJfzWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NZwP/HxAARwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAo1MCX81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWcC/x8Q\n        AEcAAAAAAAAAAAAAAAAAAAAAAAAAAKRTAl/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgD/81o\n        A//NaAL/zWgD/81oA//NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        A//NaAP/zWgC/81oA//NaAP/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAP/zWgD/81oAv/NaAP/zWgD/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgD/81nA/8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACjUwJfzWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NZwL/HxAARwAAAAAAAAAAAAAAAAAAAAAAAAAApFMCX81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWcD/x8QAEcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAKNTAl/NaAL/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAP/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oA//MZwL/zWgC/81nAv/NZwL/zGcC/81o\n        Av/MZwL/zWgD/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAP/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oA//MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/81n\n        Av8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACkUwJfzWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAP/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/y14C/ygU\n        AHwSCQAKSSUBIsZkAvfNaAP/zWgD/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oA//NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NZwP/HxAARwAAAAAAAAAAAAAAAAAAAAAAAAAAo1MCX81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/4k+AeAAAAAAAAAAAAAAAACJRQExzWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWcC/x8QAEcAAAAAAAAAAAAAAAAAAAAAAAAAAKRT\n        Al/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zmUC/79hAv/HZQL/zWgC/81oA/+AQAHNAAAAAAAAAAAAAAAARCQAAM1nA/vNaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zGcC/79hAv/HZAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81nA/8fEABHAAAAAAAA\n        AAAAAAAAAAAAAAAAAACjUwJfzWgD/8xnAv/NaAL/zGcC/81oA//MZwL/zWgC/8xnAv/NaAP/zGcC/81o\n        Av/MZwL/zWgD/8xnAv/NaAL/xmQD/1IcAK0AAAAANBoAAMRjAtvNaAP/xmUC/xUKAAAAAAAAAAAAAAcD\n        AACsVwJ1zGcC/81oA//MZwL/zWgC/8xnAv/NaAP/zGcC/81oAv/MZwL/zGcC/1suAMoAAAAAIxEAAKZU\n        AsLMZwL/zWgC/8xnAv/NaAP/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/81oA//MZwL/zWgC/8xn\n        Av/NZwP/HxAARwAAAAAAAAAAAAAAAAAAAAAAAAAApFMCX81oA//NaAP/zWgD/81oAv/NaAP/zWgC/81o\n        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\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81nAv8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACkUwJfzWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAP/zWgD/81oAv/NaAP/yGUC/38w\n        ARkEAgAAXC4AAMdlAl3NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgD/81oA//NaAL/NhsAKgAA\n        AAAAAAAAAAAAAI1IAQ/NZwL/zWcC/4ZEATscDgAAWy4AAMljAiXNaAL/zWgD/81oA//NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NZwP/HxAARwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAo1MCX81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        A//MZwL/zWgC/8xnAv/NaAL/zWgC4c1oAvXMZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAP/zGcC/5NOAbUAAAAAAAAAAAAAAABGIwAAzWcC9c1oAv/MZwL/zWcC7s1nAuvNaAL/zGcC/81o\n        Av/MZwL/zWgD/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWcC/x8Q\n        AEcAAAAAAAAAAAAAAAAAAAAAAAAAAKRTAl/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/AYQL/GAwAAAAAAAAAAAAARCIAAM1oAtrNaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81nA/8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACjUwJfzWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWcC/5tPAo88HgAAOx0AAMBi\n        AgvMZwL+zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NZwL/HxAARwAAAAAAAAAAAAAAAAAAAAAAAAAApFMCX81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAP/zWgD/81oAv/NaAP/zWgD/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgD/81oA//NaAL/zWgD/81oA//NaAP/zWgC/81o\n        A//NaAL/zWgC5c1nAsLNaAP+zWgC/81oA//NaAL/zWgD/81oA//NaAP/zWgC/81oA//NaAP/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAP/zWcD/x8QAEcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAKNTAl/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81n\n        Av8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACkUwJfzWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NZwP/HxAARwAAAAAAAAAAAAAAAAAAAAAAAAAAo1MCX81oAv/MZwL/zWgC/8xn\n        Av/NaAP/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oA//MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgD/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAP/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oA//MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAP/zGcC/81oAv/MZwL/zWcC/x8QAEcAAAAAAAAAAAAAAAAAAAAAAAAAAKRT\n        Al/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oA//NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAP/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgD/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81nA/8fEABHAAAAAAAA\n        AAAAAAAAAAAAAAAAAABTKgFNaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0\n        Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0\n        Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0\n        Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0Ac9pNAHPaTQBz2k0\n        Ac9pNAHPEAgAOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAXjABAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8\n        AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8\n        AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8\n        AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8AQB2PAEAdjwBAHY8\n        AQB2PAEAdjsBABIJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKRTAl/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81nA/8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACjUwJfzWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NZwL/HxAARwAAAAAAAAAAAAAAAAAA\n        AAAAAAAApFMCX81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/ymYC/8hlAv/IZQL/ymYC/81o\n        Av/NaAL/zWgD/81oAv/NaAL/yWYC/8hlAv/IZQL/ymYC/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        A//NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oAv/JZgL/yGUC/8hlAv/IZQL/yGUC/8hl\n        Av/IZQL/yGUC/8hlAv/IZQL/ymYC/81oAv/NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWcD/x8Q\n        AEcAAAAAAAAAAAAAAAAAAAAAAAAAAKNTAl/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/kUkB/x4P\n        AEgAAAAAAAAAABgMAACFQwJ1zGcC/s1oAv/MZwL/g0EB+BcLABMAAAAAAAAAAB8PAACUSwK5zWgC/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv92PAHkEQgABAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoNAACUSAFgzWcC/81oAv/MZwL/zWgC/8xn\n        Av/NaAL/zGcC/81nAv8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACkUwJfzWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWcC/yEQADsAAAAAAAAAAAAAAAAAAAAAAgEAAMBhAqrNaAP/u18C/wIBAAcAAAAAAAAAAAAA\n        AAAAAAAAJhMAAM1oAv3NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A/+qVgL/AQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgMAAL1f\n        Am/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NZwP/HxAARwAAAAAAAAAAAAAAAAAAAAAAAAAAo1MCX81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81nAv8rFQALAAAAAAAAAAAAAAAAAAAAAAoFAADBYgJXzWgC/71g\n        Av8JBAAAAAAAAAAAAAAAAAAAAAAAAC4XAADNZwLBzGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/sFYB/wgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAQCAADLZgIQzWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWcC/x8QAEcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAKRTAl/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/o1ICtz0eAAAWCwAAFgsAABYL\n        AACZTAEAzWgC481oA//NaAL/lksBXRYLAAAWCwAAFgsAAD8PAAClVAIHzWgD/81oA//NaAP/zWgC/81o\n        A//NaAP/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/85kAv9rMgEhFgsAABYLAAAWCwAAFgsAABYL\n        AAAWCwAAFgsAABYLAAAWCwAAFgsAAB0OAAB8PgEAzWgC181oA//NaAL/zWgD/81oAv/NaAP/zWgD/81n\n        A/8fEABHAAAAAAAAAAAAAAAAAAAAAAAAAACjUwJfzWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xn\n        Av/NaALuzWgCo81oAqHNZwKlzWgC/cxnAv/NaAL/zGcC/81oAv/NZwLWzWgCoc1oAqHNZwKvzGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/81o\n        Ar7NaAKhzWgCoc1oAqHNaAKhzWgCoc1oAqHNaAKhzWgCoc1oAqHNaAKlzWgC9cxnAv/NaAL/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NZwL/HxAARwAAAAAAAAAAAAAAAAAAAAAAAAAApFMCX81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81o\n        Av/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWgD/81oAv/NaAP/zWgC/81o\n        A//NaAL/zWgD/81oAv/NaAP/zWgC/81oA//NaAL/zWcD/x8QAEcAAAAAAAAAAAAAAAAAAAAAAAAAAI9I\n        ATTNZwL/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAP/zGcC/81o\n        Av/MZwL/zWgC/8xnAv/NaAL/zGcC/81oA//MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgD/8xn\n        Av/NaAL/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAP/zGcC/81oAv/MZwL/zWgC/8xnAv/NaAL/zGcC/81o\n        A//MZwL/zWgC/8xnAv/NaAL/zGcC/81oAv/MZwL/zWgD/8xnAv/NaAL/zGcC/7JaAv8LBgAbAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAOBwAAdzwAcqRTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RT\n        Av+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RT\n        Av+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RT\n        Av+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/6RTAv+kUwL/pFMC/45I\n        Af8uFwBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA////////////////////////////////8AAAAAAAAAfgAAAAAAAAA+AAAAAAAAAD4AAAAAAA\n        AAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAA4AAAAA+AA\n        ADwAAAAD4AAGPAAwAAPgAA8cAHgAA+AAHx4AfAAD4AA+DgA+AAPgAHwPAB8AA+AA+AcAD4AD4AHwB4AH\n        wAPgA+AHgAPgA+AHwAOAAfAD4A+AA8AA+APgHgADwAB8A+AeAAHAADwD4B8AAeAAfAPgD4AB4ADwA+AD\n        wADwAeAD4AHgAPADwAPgAPAAcAeAA+AA+AB4D4AD4AA8ADgeAAPgAB4AODwAA+AADwA8eAAD4AAGABww\n        AAPgAAAAHgAAA+AAAAAeAAAD4AAAAAwAAAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AA\n        AAAAAAAD4AAAAAAAAAP//////////////////////////////////////////+AAAAAAAAAD4AAAAAAA\n        AAPgAAAAAAAAA+AHA4AAP/AD4A+HwAB/+APgD4/AAP/4A+APh4AAf/gD4AAAAAAAAAPgAAAAAAAAA+AA\n        AAAAAAAD8AAAAAAAAAf///////////////////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/ControlHelper/LoadBitmap.cs",
    "content": "﻿using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl.ControlHelper\n{\n    class LoadBitmap\n    {\n        //private int count = -1;\n        //private ArrayList images = new ArrayList();\n        //public Bitmap[] bitmap = new Bitmap[8];\n        private int _value = 1;\n        private Color _circleColor = Color.Red;\n        private float _circleSize = 0.8f;\n        private int Width;\n        private int Height;\n\n        public LoadBitmap(Size size)\n        {\n            Width = size.Width;\n            Height = size.Height;\n        }\n\n        internal void SetSize(int size)\n        {\n            SetSize(new Size(size, size));\n        }\n        public void SetSize(Size size)\n        {\n            Width = size.Width;\n            Height = size.Height;\n        }\n\n        public Bitmap DrawCircle(int j)\n        {\n            const float angle = 360.0F / 8; Bitmap map = new Bitmap(Width, Height);\n            Graphics g = Graphics.FromImage(map);\n\n            g.TranslateTransform(Width / 2.0F, Height / 2.0F);\n            g.RotateTransform(angle * _value);\n            g.InterpolationMode = InterpolationMode.HighQualityBicubic;\n            g.SmoothingMode = SmoothingMode.AntiAlias;\n            int[] a = new int[8] { 25, 50, 75, 100, 125, 150, 175, 200 };\n            for (int i = 1; i <= 8; i++)\n            {\n                int alpha = a[(i + j - 1) % 8];\n                Color drawColor = Color.FromArgb(alpha, _circleColor);\n                using (SolidBrush brush = new SolidBrush(drawColor))\n                {\n                    float sizeRate = 3.5F / _circleSize;\n                    float size = Width / (6 * sizeRate);\n\n                    float diff = (Width / 10.0F) - size;\n\n                    float x = (Width / 80.0F) + diff;\n                    float y = (Height / 80.0F) + diff;\n                    g.FillEllipse(brush, x, y, size, size);\n                    g.RotateTransform(angle);\n                }\n            }\n            //g.DrawLine(new Pen(Color.Red),1,1,10,10);\n            //g.Save();\n            return map;\n        }\n\n        \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/ControlHelper/LoadWindowService.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl.ControlHelper\n{\n    public class LoadWindowService\n    {\n        Form loadForm = null;\n        LoadBitmap loadBitmap = new LoadBitmap(new System.Drawing.Size(100,100));\n        PictureBox pictureBox = new PictureBox();\n        Timer timer = new System.Windows.Forms.Timer();\n        System.Timers.Timer asyncTimer = new System.Timers.Timer();\n        int loadTime = 0;\n        bool isInload = false;\n\n        public LoadWindowService()\n        {\n            pictureBox.SizeMode = PictureBoxSizeMode.Zoom;\n            timer.Interval = 300;\n            timer.Tick += Timer_Tick;\n            asyncTimer.Elapsed += Timer_Elapsed;\n        }\n\n        private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)\n        {\n            Timer_Tick(null, null);\n        }\n\n        private void Timer_Tick(object sender, EventArgs e)\n        {\n            if(loadForm==null || loadForm.Created==false)\n            {\n                StopLoad();\n                return;\n            }\n            pictureBox.Image = loadBitmap.DrawCircle(loadTime);\n            loadTime++;\n        }\n\n        public void StartLoad(Form form,bool isAsync = false)\n        {\n            if (isInload) return;\n            loadForm = form;\n            loadForm.Controls.Add(pictureBox);\n            loadForm.FormClosed += new FormClosedEventHandler((o, e) => { StopLoad(); });\n            pictureBox.Dock = DockStyle.Fill;\n            pictureBox.BringToFront();\n            loadBitmap.SetSize(pictureBox.Width > pictureBox.Height ? pictureBox.Height : pictureBox.Width);\n            isInload = true;\n            loadTime = 0;\n            if (isAsync)\n            {\n                asyncTimer.Start();\n            }\n            else\n            {\n                timer.Start();\n            }\n        }\n\n        public void StopLoad()\n        {\n            if (!isInload) return;\n            loadForm?.Controls.Remove(pictureBox);\n            loadForm = null;\n            isInload = false;\n            timer.Stop();\n            asyncTimer.Stop();\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/ControlHelper/MarkControlService.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public class MarkControlService:IDisposable\n    {\n        /// <summary>\n        /// the information for the mark Control\n        /// </summary>\n        class RemindControlInfo\n        {\n            public int RemindTime { get; set; }\n            public Color OriginColor { get; set; }\n\n            public RemindControlInfo(int yourRemindTime, Color yourOriginColor)\n            {\n                RemindTime = yourRemindTime;\n                OriginColor = yourOriginColor;\n            }\n        }\n\n        Timer myTimer = new Timer();\n        Dictionary<ListViewItem, RemindControlInfo> remindItemDc;\n        Dictionary<Control, RemindControlInfo> remindControlDc;\n\n        public MarkControlService(int clickTime)\n        {\n            remindItemDc = new Dictionary<ListViewItem, RemindControlInfo>();\n            remindControlDc = new Dictionary<Control, RemindControlInfo>();\n            myTimer.Interval = clickTime;\n            myTimer.Tick += myTimer_Tick;\n            myTimer.Start();\n        }\n\n        void myTimer_Tick(object sender, EventArgs e)\n        {\n            if (remindItemDc.Count > 0)\n            {\n                //MyControlHelper.SetControlFreeze(lv_requestRuleList);\n                List<ListViewItem> tempRemoveItem = new List<ListViewItem>();\n                List<ListViewItem> tempHighlightList = new List<ListViewItem>();\n                tempHighlightList.AddRange(remindItemDc.Keys);\n                foreach (var tempHighlightItem in tempHighlightList)\n                {\n                    if(tempHighlightItem==null)\n                    {\n                        tempRemoveItem.Add(tempHighlightItem);\n                        continue;\n                    }\n                    remindItemDc[tempHighlightItem].RemindTime--;\n                    if (remindItemDc[tempHighlightItem].RemindTime == 0)\n                    {\n                        tempRemoveItem.Add(tempHighlightItem);\n                    }\n                }\n                //MyControlHelper.SetControlUnfreeze(lv_requestRuleList);\n\n                System.Threading.Monitor.Enter(remindItemDc);\n                foreach (var tempItem in tempRemoveItem)\n                {\n                    tempItem.BackColor = remindItemDc[tempItem].OriginColor;\n                    remindItemDc.Remove(tempItem);\n                }\n                System.Threading.Monitor.Exit(remindItemDc);\n            }\n\n            if (remindControlDc.Count > 0)\n            {\n                List<Control> tempRemoveControl = new List<Control>();\n                List<Control> tempRemindList = new List<Control>();\n                tempRemindList.AddRange(remindControlDc.Keys);\n                foreach (var tempRemindControl in tempRemindList)\n                {\n                    remindControlDc[tempRemindControl].RemindTime--;\n                    if (remindControlDc[tempRemindControl].RemindTime == 0)\n                    {\n                        tempRemoveControl.Add(tempRemindControl);\n                    }\n                }\n\n                System.Threading.Monitor.Enter(remindControlDc);\n                foreach (var tempItem in tempRemoveControl)\n                {\n                    tempItem.BackColor = remindControlDc[tempItem].OriginColor;\n                    remindControlDc.Remove(tempItem);\n                }\n                System.Threading.Monitor.Exit(remindControlDc);\n            }\n        }\n\n        public void MarkControl(Control yourControl, Color yourColor, int yourShowTick)\n        {\n            try\n            {\n                if (yourControl != null)\n                {\n                    System.Threading.Monitor.Enter(remindControlDc);\n                    if (remindControlDc.ContainsKey(yourControl))\n                    {\n                        remindControlDc[yourControl] = new RemindControlInfo(yourShowTick, remindControlDc[yourControl].OriginColor);\n                    }\n                    else\n                    {\n                        remindControlDc.Add(yourControl, new RemindControlInfo(yourShowTick, yourControl.BackColor));\n                    }\n                    System.Threading.Monitor.Exit(remindControlDc);\n                    yourControl.BackColor = yourColor;\n                }\n            }\n            catch(Exception ex)\n            {\n\n            }\n        }\n\n        public void MarkControl(ListViewItem yourItem, Color yourColor, int yourShowTick)\n        {\n            try\n            {\n                if (yourItem != null)\n                {\n                    System.Threading.Monitor.Enter(remindItemDc);\n                    if (remindItemDc.ContainsKey(yourItem))\n                    {\n                        remindItemDc[yourItem] = new RemindControlInfo(yourShowTick, remindItemDc[yourItem].OriginColor);\n                    }\n                    else\n                    {\n                        remindItemDc.Add(yourItem, new RemindControlInfo(yourShowTick, yourItem.BackColor));\n                    }\n                    System.Threading.Monitor.Exit(remindItemDc);\n                    yourItem.BackColor = yourColor;\n                }\n            }\n            catch (Exception ex)\n            {\n\n            }\n        }\n\n        public void SetColor(Control yourControl, Color yourColor)\n        {\n            if (yourControl != null)\n            {\n                if (remindControlDc.ContainsKey(yourControl))\n                {\n                    remindControlDc.Remove(yourControl);\n                }\n                yourControl.BackColor = yourColor;\n            }\n        }\n\n        public void SetColor(ListViewItem yourItem, Color yourColor)\n        {\n            if (yourItem != null)\n            {\n                if (remindItemDc.ContainsKey(yourItem))\n                {\n                    remindItemDc.Remove(yourItem);\n                }\n                yourItem.BackColor = yourColor;\n            }\n        }\n\n        public void Dispose()\n        {\n            myTimer.Dispose();\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/ControlHelper/MyControlHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Linq;\nusing System.Runtime.InteropServices;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public class MyControlHelper\n    {\n        private const int WM_SETREDRAW = 0xB;\n\n        /// <summary>\n        /// 停止控件刷新\n        /// </summary>\n        /// <param name=\"yourCtr\">your Control</param>\n        public static void SetControlFreeze(System.Windows.Forms.Control yourCtr)\n        {\n            UnsafeNativeMethods.SendMessage(yourCtr.Handle, WM_SETREDRAW, 0, IntPtr.Zero);\n        }\n\n        /// <summary>\n        /// 恢复控件刷新\n        /// </summary>\n        /// <param name=\"yourCtr\">your Control</param>\n        public static void SetControlUnfreeze(System.Windows.Forms.Control yourCtr)\n        {\n            UnsafeNativeMethods.SendMessage(yourCtr.Handle, WM_SETREDRAW, 1, IntPtr.Zero);\n            yourCtr.Refresh();\n        }\n\n        /// <summary>\n        /// 为TextBoxBase 控件添加拖放数据的功能\n        /// </summary>\n        /// <param name=\"yourCtr\">需要启用拖放数据的控件</param>\n        /// <param name=\"action\">拖放完成后的辅助事件</param>\n        public static void SetRichTextBoxDropString(System.Windows.Forms.TextBoxBase yourCtr, Action action = null)\n        {\n            if (yourCtr == null)\n            {\n                return;\n            }\n            if (yourCtr is RichTextBox)\n            {\n                ((RichTextBox)yourCtr).AllowDrop = true;\n            }\n            else if (yourCtr is TextBox)\n            {\n                ((TextBox)yourCtr).AllowDrop = true;\n            }\n            else\n            {\n                yourCtr.AllowDrop = true;\n            }\n            yourCtr.DragDrop += (sender, e) =>\n            {\n                System.Windows.Forms.TextBoxBase tempTextBoxBase = sender as System.Windows.Forms.TextBoxBase;\n                string tempText = (string)e.Data.GetData(typeof(string));\n                if (tempText == null || tempTextBoxBase == null)\n                {\n                    return;\n                }\n                int selectionStart = tempTextBoxBase.SelectionStart;\n                tempTextBoxBase.Text = tempTextBoxBase.Text.Insert(selectionStart, tempText);\n                tempTextBoxBase.Select(selectionStart, tempText.Length);\n                action?.Invoke();\n            };\n            yourCtr.DragEnter += (sender,e)=>\n            {\n                if (e.Data.GetData(typeof(string)) == null)\n                {\n                    e.Effect = System.Windows.Forms.DragDropEffects.None;\n                }\n                else\n                {\n                    e.Effect = System.Windows.Forms.DragDropEffects.Move;\n                }\n            };\n        }\n\n\n        public static void SetRichTextBoxDropString(System.Windows.Forms.RichTextBox yourRtb)\n        {\n            if(yourRtb==null)\n            {\n                return;\n            }\n            yourRtb.AllowDrop = true;\n            yourRtb.DragDrop += Rtb_DragDrop;\n            yourRtb.DragEnter += Rtb_DragEnter;\n        }\n\n        private static void Rtb_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)\n        {\n            if (e.Data.GetData(typeof(string)) == null)\n            {\n                e.Effect = System.Windows.Forms.DragDropEffects.None;\n            }\n        }\n\n        private static void Rtb_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)\n        {\n            System.Windows.Forms.RichTextBox tempRichTextBox = sender as System.Windows.Forms.RichTextBox;\n            string tempText = (string)e.Data.GetData(typeof(string));\n            if (tempText == null || tempRichTextBox==null)\n            {\n                return;\n            }\n            int selectionStart = tempRichTextBox.SelectionStart;\n            tempRichTextBox.Text = tempRichTextBox.Text.Insert(selectionStart, tempText);\n            tempRichTextBox.Select(selectionStart, tempText.Length);\n        }\n\n    }\n\n    [System.Security.SuppressUnmanagedCodeSecurity]\n    internal static class UnsafeNativeMethods\n    {\n        [System.Runtime.InteropServices.DllImport(\"user32\")]\n        public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);\n\n    }\n\n    public static class MyExtensionMethods\n    {\n        public static int GetLatency(this System.Windows.Forms.LinkLabel llb)\n        {\n            //delay:200ms\n            string tempText = llb.Text;\n            int latency = 0;\n            if (tempText.StartsWith(\"delay:\") && tempText.EndsWith(\"ms\"))\n            {\n                tempText = tempText.Substring(6, tempText.Length - 8);\n                if(!int.TryParse(tempText,out latency))\n                {\n                    latency = 0;\n                }\n            }\n            return latency;\n        }\n\n        public static void SetLatency(this System.Windows.Forms.LinkLabel llb, int latency)\n        {\n            if(latency>0)\n            {\n                llb.Text = string.Format(\"delay:{0}ms\", latency);\n            }\n            else\n            {\n                llb.Text = \"\";\n            }\n        }\n\n        /// <summary>\n        /// 添加带颜色内容\n        /// </summary>\n        /// <param name=\"rtb\">目标richtextbox</param>\n        /// <param name=\"strInput\">输入内容</param>\n        /// <param name=\"fontColor\">颜色</param>\n        /// <param name=\"isNewLine\">是否换行</param>\n        public static void AddRtbStr(this RichTextBox rtb, string strInput, Color fontColor, bool isNewLine , Font font = null)\n        {\n            lock (rtb)\n            {\n                int p1 = rtb.TextLength;\n                //rtb.SelectionColor = fontColor;\n                if (isNewLine)\n                {\n                    rtb.AppendText(strInput + \"\\n\");  //保留每行的所有颜色。 //  rtb.Text += strInput + \"/n\";  //添加时，仅当前行有颜色。    \n                }\n                else\n                {\n                    rtb.AppendText(strInput);\n                }\n                int p2 = strInput.Length;\n                rtb.Select(p1, p2);\n                rtb.SelectionColor = fontColor;\n                //rtb.SelectionFont = new Font(FontFamily.GenericMonospace, 14);\n                if(font!=null)\n                {\n                    rtb.SelectionFont = font;\n                }\n                rtb.Select(rtb.TextLength, 0);\n                rtb.SelectionColor = rtb.ForeColor;\n                if (font != null)\n                {\n                    rtb.SelectionFont = rtb.Font;\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/EditCookieForm.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class EditCookieForm\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditCookieForm));\n            this.rtb_setValue = new System.Windows.Forms.RichTextBox();\n            this.tb_name = new System.Windows.Forms.TextBox();\n            this.rtb_value = new System.Windows.Forms.RichTextBox();\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.lb_info_2 = new System.Windows.Forms.Label();\n            this.lb_info_3 = new System.Windows.Forms.Label();\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.tb_attribute = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.SuspendLayout();\n            // \n            // rtb_setValue\n            // \n            this.rtb_setValue.Dock = System.Windows.Forms.DockStyle.Top;\n            this.rtb_setValue.Enabled = false;\n            this.rtb_setValue.Location = new System.Drawing.Point(0, 0);\n            this.rtb_setValue.Name = \"rtb_setValue\";\n            this.rtb_setValue.Size = new System.Drawing.Size(449, 70);\n            this.rtb_setValue.TabIndex = 0;\n            this.rtb_setValue.Text = \"\";\n            // \n            // tb_name\n            // \n            this.tb_name.Location = new System.Drawing.Point(87, 76);\n            this.tb_name.Name = \"tb_name\";\n            this.tb_name.Size = new System.Drawing.Size(350, 21);\n            this.tb_name.TabIndex = 1;\n            this.tb_name.TextChanged += new System.EventHandler(this.tb_attribute_TextChanged);\n            // \n            // rtb_value\n            // \n            this.rtb_value.Location = new System.Drawing.Point(87, 103);\n            this.rtb_value.Name = \"rtb_value\";\n            this.rtb_value.Size = new System.Drawing.Size(350, 85);\n            this.rtb_value.TabIndex = 2;\n            this.rtb_value.Text = \"\";\n            this.rtb_value.TextChanged += new System.EventHandler(this.tb_attribute_TextChanged);\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(7, 80);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(35, 12);\n            this.lb_info_1.TabIndex = 4;\n            this.lb_info_1.Text = \"Name:\";\n            // \n            // lb_info_2\n            // \n            this.lb_info_2.AutoSize = true;\n            this.lb_info_2.Location = new System.Drawing.Point(8, 112);\n            this.lb_info_2.Name = \"lb_info_2\";\n            this.lb_info_2.Size = new System.Drawing.Size(41, 12);\n            this.lb_info_2.TabIndex = 5;\n            this.lb_info_2.Text = \"Value:\";\n            // \n            // lb_info_3\n            // \n            this.lb_info_3.AutoSize = true;\n            this.lb_info_3.Location = new System.Drawing.Point(9, 199);\n            this.lb_info_3.Name = \"lb_info_3\";\n            this.lb_info_3.Size = new System.Drawing.Size(71, 12);\n            this.lb_info_3.TabIndex = 6;\n            this.lb_info_3.Text = \"Attributes:\";\n            // \n            // bt_ok\n            // \n            this.bt_ok.Location = new System.Drawing.Point(362, 219);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 7;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);\n            // \n            // tb_attribute\n            // \n            this.tb_attribute.Location = new System.Drawing.Point(87, 195);\n            this.tb_attribute.Name = \"tb_attribute\";\n            this.tb_attribute.Size = new System.Drawing.Size(350, 21);\n            this.tb_attribute.TabIndex = 3;\n            this.tb_attribute.WatermarkText = \"Domain=company.cn; HttpOnly;Path=/; Expires=Wed, 30 Aug 2019 00:00:00 GMT\";\n            this.tb_attribute.TextChanged += new System.EventHandler(this.tb_attribute_TextChanged);\n            // \n            // EditCookieForm\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(449, 254);\n            this.Controls.Add(this.bt_ok);\n            this.Controls.Add(this.lb_info_3);\n            this.Controls.Add(this.lb_info_2);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.tb_attribute);\n            this.Controls.Add(this.rtb_value);\n            this.Controls.Add(this.tb_name);\n            this.Controls.Add(this.rtb_setValue);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"EditCookieForm\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"EditCookieForm\";\n            this.Load += new System.EventHandler(this.EditCookieForm_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.RichTextBox rtb_setValue;\n        private System.Windows.Forms.TextBox tb_name;\n        private System.Windows.Forms.RichTextBox rtb_value;\n        private WatermakTextBox tb_attribute;\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.Label lb_info_2;\n        private System.Windows.Forms.Button bt_ok;\n        private System.Windows.Forms.Label lb_info_3;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/EditCookieForm.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class EditCookieForm : Form\n    {\n\n        ListView editListView;\n        public EditCookieForm(ListView yourEditListView)\n        {\n            InitializeComponent();\n            editListView = yourEditListView;\n            tb_name.Text = \"name\";\n            rtb_value.Text = \"vaule\";\n            tb_attribute.Text = \"Path=/\";\n        }\n\n        public EditCookieForm(ListView yourEditListView , string name, string vaule, string attribute)\n            : this(yourEditListView)\n        {\n            if (name != null) { tb_name.Text = name; }\n            if (vaule != null) { rtb_value.Text = vaule; }\n            if (attribute != null) { tb_attribute.Text = attribute; }\n        }\n\n        private void EditCookieForm_Load(object sender, EventArgs e)\n        {\n            UpdataSetText();\n            //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.MaximumSize = this.Size;\n            this.MinimumSize = this.Size;\n        }\n\n\n        private void tb_attribute_TextChanged(object sender, EventArgs e)\n        {\n            UpdataSetText();\n        }\n\n        private void bt_ok_Click(object sender, EventArgs e)\n        {\n            if (tb_attribute.Text.Contains(\"Domain=www.yourhost.com\"))\n            {\n                MessageBox.Show(\"please change Domain=www.yourhost.com to your web host\\r\\nwww.yourhost.com is just a example\", \"edit Domain\");\n                editListView.Tag = null;\n                return;\n            }\n            editListView.Items.Add(rtb_setValue.Text);\n            this.Close();\n        }\n\n       \n        private void UpdataSetText()\n        {\n            if (tb_attribute.Text != \"\")\n            {\n                rtb_setValue.Text = string.Format(\"Set-Cookie: {0}={1}; {2}\", tb_name.Text, rtb_value.Text, tb_attribute.Text);\n            }\n            else\n            {\n                rtb_setValue.Text = string.Format(\"Set-Cookie: {0}={1}\", tb_name.Text, rtb_value.Text);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/EditCookieForm.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAgGQAAAEAIABozgAAFgAAACgAAACAAAAAyAAAAAEAIAAAAAAAAMgAAGmKAABpigAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABfAAAAsAAAAOAAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA9AAAAMIAAACKAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAlwAA\n        APIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADJAAAATAAA\n        AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAABAAAAUAAAANAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAAigAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAADkAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAiAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAATAAAAuAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAATAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAHsAAAD+AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAADKAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAuAAAA4gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB0AAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFsAAAD2AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAKwAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD8AAAA+QAA\n        APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAA\n        APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAA\n        APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAA\n        APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAA\n        APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAA\n        APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1QAA\n        ABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAKsAAABOAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA\n        AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA\n        AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA\n        AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA\n        AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA\n        AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABNAAAAdAAA\n        APcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADpAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhQAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP4AAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        ADYAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAA2AAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAQAAAFsAAACoAAAAZAAAACMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADzAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAswAAAP8AAAD9AAAA3AAA\n        AJwAAABQAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAANgAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAACDAAAA/wAAAP8AAAD/AAAA/wAAAPcAAADPAAAAiwAAAD8AAAAPAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAA8wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4AAAD7AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAAL4AAAB0AAAAMAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAADYAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAN8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAADnAAAArwAAAGAAAAAhAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAPMAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAvwAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAANsAAACaAAAAUAAA\n        ABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAA2AAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD2AAAAzgAAAIcAAAA9AAAADgAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADzAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AFkAAAD8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAPAAAAC+AAAAdAAAADAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAywAA\n        ADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAA8wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAOAAAAxAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANoAAABNAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAOgAA\n        AAAAAAAAAAAAJQAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAA\n        APMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAF8AAAD7AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAAtAAAACkAAAAAAAAAAAAAADcAAADJAAAA4gAAAEcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALQAAAOoAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAJ4AAAAZAAAAAAAA\n        AAAAAABGAAAA2AAAAP8AAAD/AAAA1QAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        ADYAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAASAAAAxgAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAPkAAACNAAAADwAAAAAAAAADAAAAWwAAAOIAAAD/AAAA/wAAAP8AAAD/AAAAvAAA\n        AB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAAcQAAAAgAAAAAAAAACQAA\n        AHoAAADvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAArAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAA2AAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAD8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA4gAAAFcAAAABAAAAAAAAAA8AAACLAAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAlwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADzAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAA\n        APAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANgAAABGAAAAAAAAAAAAAAAbAAAAoAAA\n        APwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD4AAAAeAAAAAQAAAAAAAAAAAAA\n        AAAAAAAAAAAANgAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAygAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAC/AAAAMwAAAAAAAAAAAAAALQAAALwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAADxAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAA8wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAEAAACjAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAqgAAACAAAAAAAAAAAAAAADoAAADOAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAAUAAA\n        AAAAAAAAAAAAAAAAADYAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGcAAAD+AAAA/wAAAP8AAAD/AAAA/AAA\n        AJsAAAAUAAAAAAAAAAAAAABOAAAA2QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADZAAAANwAAAAAAAAAAAAAANgAAAPMAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAPQAAAPIAAAD/AAAA/wAAAPEAAAB+AAAADAAAAAAAAAAFAAAAawAAAOkAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAADHAAAAJwAAAAAAAAA2AAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAA0AAAAP8AAADpAAAAZAAA\n        AAQAAAAAAAAACwAAAH0AAAD2AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC6AAAAGAAAADMAAADzAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAQAAACqAAAA5AAAAFMAAAAAAAAAAAAAABQAAACSAAAA+QAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAACbAAAARAAAAPIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAAAA/AAAAAAAA\n        AAAAAAAiAAAAsAAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAACzAAAA9QAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwAAAMMAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        ADMAAADQAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAMcAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAANAAAANUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAOoAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAPEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAdQAA\n        APcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAkQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAXwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAATAAAArAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAABeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAugAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAHEAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAsAAAAzwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA3QAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAA5AAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAygAA\n        ACYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAAAA6wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAsgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAEAAABqAAAA9AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAogAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACKAAAA/gAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAiQAAAAYAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAA4AAACdAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD0AAAAbAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAACwAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADtAAAAWgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAADMAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        ADoAAADaAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAADPAAAALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAADkAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC+AAAAIAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAGIAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAACwAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAH4AAAD6AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAACRAAAACgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAI8AAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAAB5AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAA\n        AKgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        APQAAABnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAMQAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAABLAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAALwAAAM8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAANcAAAA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAN8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMsAAAApAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAPEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAALcAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAbwAA\n        APUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAA\n        AJoAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAgwAAAPsAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAIgAAAAIAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAOAAAAoQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA+gAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAtwAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADCAAAALwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAmAAAAxgAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD+AAAAswAAACIAAAAAAAAAAgAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAA2wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAJQAAAAWAAAAAAAAAAMAAABhAAAAvwAA\n        ADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRAAAA6QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        APUAAAB8AAAACwAAAAAAAAAJAAAAdAAAAO8AAAD/AAAAvwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAABqAAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAbAAAAAQAAAAAAAAAEwAAAJMAAAD4AAAA/wAA\n        AP8AAAD/AAAAqAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAACHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUAAADzAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2gAA\n        AFAAAAABAAAAAAAAAB0AAACoAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAmAAAAAsAAAAAAAAAAAAA\n        AAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAANQAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMwAAAA6AAAAAAAAAAAAAAAsAAAAuQAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD7AAAAewAAAAMAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAjAAAAAwAAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAA\n        AA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAA\n        AA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAA\n        AA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAA\n        AA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAA\n        AA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAAsAAABBAAAA8wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC+AAAALAAA\n        AAAAAAAAAAAAQwAAANEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAAYQAA\n        AAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADeAAAAvQAAAL4AAAC+AAAAvgAA\n        AL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAA\n        AL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAA\n        AL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAA\n        AL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAA\n        AL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAAAL4AAAC+AAAAvgAA\n        AL4AAAC+AAAAvQAAAMoAAAD8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD8AAAAoQAAABwAAAAAAAAAAQAAAFMAAADiAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADpAAAATwAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAIoAAAAPAAAAAAAA\n        AAYAAABpAAAA6gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAADbAAAAPwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAPEAAAB5AAAACAAAAAAAAAAOAAAAiQAAAPQAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADVAAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADhAAAAXAAAAAMAAAAAAAAAFwAA\n        AJwAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA1gAAAEUAAAAAAAAAAAAAACUAAACvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMkAAAA2AAAAAAAAAAAAAAA5AAAAyQAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AN8AAACpAAAAJAAAAAAAAAAAAAAASAAAANoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANoAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAcQAAAA4AAAAAAAAABAAAAF8AAADkAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAADUAAAARAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAABeAAAAAAAAAAoAAAB+AAAA8QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxwAAADUAAAAAAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF8AAAAAAAAAIAAAANEAAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAALkAAAAnAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAAXwAAAAAAAAAAAAAATQAAAOgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAACcAAAAGgAAAAAAAAAAAAAAAAAA\n        AP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAaQAA\n        APUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD3AAAAgwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAA1wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA9gAAAEsAAAAAAAAAAAAAAAAAAAAEAAAAewAAAPgAAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAAHIAAAAGAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAACpAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAIgAAAAAAAAAAAAAAAAAA\n        AAAAAAAKAAAAkQAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AN4AAABXAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAD8AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAMcAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAsAAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADQAAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAARgAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAlAAAAAIAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAiAAAAwAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAwwAA\n        ADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAvgAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAPMAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAA0AAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAKYAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAABFAAAA6wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAkwAAAAYAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDAAAA2wAAAP8AAAD/AAAA/wAAAPMAAACMAAAAEgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACBAAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAM0AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAA1AAAAlAAAALUAAACcAAAATgAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAACvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADiAAAASwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACwAAAAIAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        ABYAAACBAAAA6wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD8AAAAtgAAADkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABEAAAAvgAAAPMAAAD8AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD2AAAA3wAAAHkAAAARAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAXAAAARgAAAH0AAACpAAAA1wAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA\n        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAO0AAAC4AAAAkwAA\n        AFoAAAArAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAB////+AAAAAAAAAAAAAAAAf////AAAAAAAA\n        AAAAAAAAD////wAAAAAAAAAAAAAAAAf///8AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAA////wAA\n        AAAAAAAAAAAAAAP///8AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAf///wAAAAAAAAAAAAAAAAH/\n        //8AAAAAAAAAAAAAAAAB////AB/////////////AAf///wAf//////wP////wAH///8AH//////4A///\n        /8AB////AB//////+AB////AAf///wAf//////gAH///wAH///8AH//////4AAP//8AB////AB//////\n        +AAAf//AAf///wAf//////wAAB//wAH///8AH//////8AAAD/8AB////AB///////AAAAP/AAf///wAf\n        //////wAAAD/wAH///8AH//////8AAAA/8AB////AB///////gAAAB/AAf///wAf//////4AAAAPwAH/\n        //8AH//////+AAAAB8AB////AB///////gAAAAPAAf///wAf//////8AAAABwAH///8AH///////AAAA\n        AcAB////AB///////wAAAADAAf///wAf//////8AAAAAQAH///8AH///////gAAAAAAB////AB//////\n        /4AAAAAAAf///wAf//////+AAAAAAAH///8AH///////wAAAAAAB////AB///////8AAAAAAAf///wAf\n        ///////AAAAAAAH///8AH///////wAAAAAAB////AB///////8AAAAAAAf///wAf///////AAAAAAAH/\n        //8AH///////+AAAAAAB////AB////////gAAAAAAf///wAf///////4AAAAAAH///8AH////////AAA\n        AAAB////AB////////4AAAAAAf///wAf////////AAAAAAH///8AH////////4AAAAAB////AB//////\n        //+AAAAAAP///wAf////////wAAAAAB///8AH////////+AAAAAAP///AB/////////wAAAAAB///wAf\n        ////////+AAAAAAf//8AH/////////wAAAAAD///AB/////////8AAAAAAf//wAf/////////gAAAAAD\n        //8AH/////////8AAAAAAf//AB//////////wAAAAAD//wAf/////////8AAAAAAf/8AH//////////g\n        AAAAAH//AB//////////8AAAAAA//wAf//////////gAAAAAD/8AH//////////8AAAAAA//AB//////\n        /////gAAAAAH/wAf//////////4AAAAAA/8AH///////////AAAAAAH/AB///////////4AAAAAA/wAf\n        ///////////AAAAAAP8AH///////////4AAAAAB/AB////////////AAAAAAfwAf///////////4AAAA\n        AB8AH///////////+AAAAAAPAB////////////wAAAAADwAf///////////+AAAAAAMAH///////////\n        /wAAAAABAB////////////+AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAACAAAPAAAAAAAA\n        AAAAAAAAAwAAPwAAAAAAAAAAAAAAAAOAAH8AAAAAAAAAAAAAAAADwAD/AAAAAAAAAAAAAAAAB+AB/wAA\n        AAAAAAAAAAAAAA/wB/8AAAAAAAAAAAAAAAAP+A//gAAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAD//\n        //8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/EditKeyVaule.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class EditKeyVaule\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditKeyVaule));\n            this.lb_info_2 = new System.Windows.Forms.Label();\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.rtb_value = new System.Windows.Forms.RichTextBox();\n            this.tb_key = new System.Windows.Forms.TextBox();\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.SuspendLayout();\n            // \n            // lb_info_2\n            // \n            this.lb_info_2.AutoSize = true;\n            this.lb_info_2.Location = new System.Drawing.Point(14, 48);\n            this.lb_info_2.Name = \"lb_info_2\";\n            this.lb_info_2.Size = new System.Drawing.Size(41, 12);\n            this.lb_info_2.TabIndex = 9;\n            this.lb_info_2.Text = \"Value:\";\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(13, 16);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(29, 12);\n            this.lb_info_1.TabIndex = 8;\n            this.lb_info_1.Text = \"Key:\";\n            // \n            // rtb_value\n            // \n            this.rtb_value.Location = new System.Drawing.Point(93, 39);\n            this.rtb_value.Name = \"rtb_value\";\n            this.rtb_value.Size = new System.Drawing.Size(250, 111);\n            this.rtb_value.TabIndex = 7;\n            this.rtb_value.Text = \"\";\n            // \n            // tb_key\n            // \n            this.tb_key.Location = new System.Drawing.Point(93, 12);\n            this.tb_key.Name = \"tb_key\";\n            this.tb_key.Size = new System.Drawing.Size(250, 21);\n            this.tb_key.TabIndex = 6;\n            // \n            // bt_ok\n            // \n            this.bt_ok.Location = new System.Drawing.Point(268, 157);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 10;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);\n            // \n            // AddHead\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(351, 185);\n            this.Controls.Add(this.bt_ok);\n            this.Controls.Add(this.lb_info_2);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.rtb_value);\n            this.Controls.Add(this.tb_key);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"AddHead\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;\n            this.Text = \"AddHead\";\n            this.Load += new System.EventHandler(this.EditKeyVaule_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.Label lb_info_2;\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.RichTextBox rtb_value;\n        private System.Windows.Forms.TextBox tb_key;\n        private System.Windows.Forms.Button bt_ok;\n\n    }\n}"
  },
  {
    "path": "FreeHttpControl/EditKeyVaule.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class EditKeyVaule : Form\n    {\n        ListView editListView;\n        string splitStr; //splitStr \": \"\n        bool isAdd;      //add or edit mode\n        bool isUnique;   //is not allow repetition\n        public EditKeyVaule(ListView yourEditListView , bool yourIsAdd ,string yourSplitStr)\n        {\n            InitializeComponent();\n            editListView = yourEditListView;\n            isAdd = yourIsAdd;\n            splitStr = yourSplitStr == null ? \": \" : yourSplitStr;\n        }\n\n        public EditKeyVaule(ListView yourEditListView, string yourHeadKey,string yourSplitStr)\n            : this(yourEditListView, true, yourSplitStr)\n        {\n            tb_key.Text = yourHeadKey;\n            tb_key.Enabled = false;\n        }\n\n        public EditKeyVaule(ListView yourEditListView, bool yourIsAdd, bool yourIsUnique, string yourSplitStr)\n            : this(yourEditListView, yourIsAdd, yourSplitStr)\n        {\n            isUnique = yourIsUnique;\n        }\n\n        private void EditKeyVaule_Load(object sender, EventArgs e)\n        {\n            if(!isAdd)\n            {\n                string headStr= editListView.SelectedItems[0].Text;\n                if (headStr.Contains(splitStr))\n                {\n                    tb_key.Text = headStr.Remove(headStr.IndexOf(splitStr));\n                    rtb_value.Text = headStr.Substring(headStr.IndexOf(splitStr) + splitStr.Length);\n                }\n            }\n            //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.MaximumSize = this.Size;\n            this.MinimumSize = this.Size;\n        }\n        private void bt_ok_Click(object sender, EventArgs e)\n        {\n            if(tb_key.Text==\"\"||rtb_value.Text==\"\")\n            {\n                MessageBox.Show(\"input key and value\",\"Stop\" , MessageBoxButtons.OK, MessageBoxIcon.Stop);\n            }\n            else\n            {\n                string tempItemStr = String.Format(\"{0}{1}{2}\", tb_key.Text, splitStr, rtb_value.Text);\n                if(isUnique)\n                {\n                    foreach(ListViewItem tempItem in editListView.Items)\n                    {\n                        if (tempItem.Text == tempItemStr)\n                        {\n                            if(!isAdd && tempItem==editListView.SelectedItems[0])\n                            {\n                                continue;\n                            }\n                            MessageBox.Show(\"Find the same data in the list\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                            return;\n                        }\n                    }\n                }\n                if (isAdd)\n                {\n                    editListView.Items.Add(tempItemStr);\n                }\n                else\n                {\n                    editListView.SelectedItems[0].Text = tempItemStr;\n                }\n                this.Close();\n            }\n        }\n\n        \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/EditKeyVaule.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjQAJAJkALQCXAGUAmACYAJgAzACY\n        AOcAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZ\n        APAAmQDwAJgA5wCYAMwAmACYAJcAZQCZAC0AjQAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAlQApAJkAkQCYANkAmAD4AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA+ACY\n        ANkAmQCRAJUAKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwACAJcAfgCYAPEAmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADxAJcAfgB/AAIAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcAJQCY\n        AL0AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJgAvQCXACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVAC4AmADbAJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA2wCV\n        AC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAjAJgA4ACZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA4ACZACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAH8ABACYAL8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCY\n        AP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgAvwB/AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQB9AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/wCWAP8CmgL/BZwH/wadCP8GnQj/Bp0I/wad\n        CP8GnQj/Bp0I/wadCP8GnQj/Bp0I/wadCP8GnQj/Bp0I/wadCP8GnQj/Bp0I/wadCP8FnAf/ApoC/wCW\n        AP8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkAfQAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJcAJQCYAPQAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wCX\n        AP8Uph3/NbtL/0vJa/9U0Hn/WNJ+/1fRff9X0X3/V9F9/1fRff9X0X3/V9F9/1fRff9X0X3/V9F9/1fR\n        ff9X0X3/V9F9/1fRff9X0X3/WNJ+/1TQef9LyWv/NbtL/xSmHf8AlwD/AJgA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmAD0AJcAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmACTAJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8DmwX/NrxO/13Whv9k2Y//YdiL/2DXif9f1on/X9eJ/1/X\n        if9f14n/X9eJ/1/Xif9f14n/X9eJ/1/Xif9f14n/X9eJ/1/Xif9f14n/X9eJ/1/Xif9f1on/YNeJ/2HY\n        i/9k2Y//XdaG/za8Tv8DmwX/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlwCSAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAH8ACACYAN8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/BZsI/0XG\n        Yf9l2pD/YdeJ/1/Wh/9f1of/X9aH/2DWiP9g1oj/YNaI/2DWiP9g1oj/YNaI/2DWiP9g1oj/YNaI/2DW\n        iP9g1oj/YNaI/2DWiP9g1oj/YNaI/2DWiP9f1of/X9aH/1/Wh/9h14n/ZdqQ/0XGYf8Fmwj/AJgA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAN8AfwAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlgAxAJgA/ACZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCWAP84vU//Z9yS/2DXiP9g14j/YdeI/2LYiv9g14j/X9eH/1/X\n        h/9f14f/X9eH/1/Xh/9f14f/X9eH/1/Xh/9f14f/X9eH/1/Xh/9f14f/X9eH/1/Xh/9f14f/X9eH/2DX\n        iP9i2Ir/YdeI/2DXiP9g14j/Z9yS/zi9T/8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/ACW\n        ADEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAGYAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/FKYc/2HX\n        iP9j2Iv/YdeJ/2LYiv9g14j/TtN7/0PQc/8/z3D/QM9x/0DPcf9Az3H/QM9x/0DPcf9Az3H/QM9x/0DP\n        cf9Az3H/QM9x/0DPcf9Az3H/QM9x/0DPcf8/z3D/Q9Bz/07Te/9g14j/YtiK/2HXif9j2Iv/YdeI/xSm\n        HP8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAnACZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCWAP85vlH/Z9yT/2HYiv9i2Iv/X9eI/0TQdP83zWv/Oc5s/zrO\n        bP86zmz/Os5s/zrObP86zmz/Os5s/zrObP86zmz/Os5s/zrObP86zmz/Os5s/zrObP86zmz/Os5s/zrO\n        bP85zmz/N81r/0TQdP9f14j/YtiL/2HYiv9n3JP/Ob5R/wCWAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmACcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAAUAmADOAJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/ApsD/1DM\n        cf9m2o//YtiL/2XYjP9O03z/OM5r/zvPbv88z27/O89u/zvPbv87z27/O89u/zvPbv87z27/O89u/zvP\n        bv87z27/O89u/zvPbv87z27/O89u/zvPbv87z27/O89u/zzPbv87z27/OM5r/07TfP9l2Iz/YtiL/2ba\n        j/9QzHH/ApsD/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAM4AmQAFAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEADgCZ\n        AOsAmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8GnQj/W9WB/2baj/9k2Yz/Y9mM/0XRdf88z27/PtBv/z7Q\n        b/8+0G//PtBv/z7Qb/8+0G//PtBv/z7Qb/8+0G//PtBv/z7Qb/8+0G//PtBv/z7Qb/8+0G//PtBv/z7Q\n        b/8+0G//PtBv/z7Qb/88z27/RdF1/2PZjP9k2Yz/ZtqP/1vVgf8GnQj/AJgA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA6wCRAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAPAJgA8QCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wad\n        Cf9g1oX/Z9uP/2bajv9k2oz/RdF0/z7QcP8/0HH/P9Bx/z/Qcf8/0HH/P9Bx/z/Qcf8/0HH/P9Bx/z/Q\n        cf8/0HH/P9Bx/z/Qcf8/0HH/P9Bx/z/Qcf8/0HH/P9Bx/z/Qcf8/0HH/P9Bx/z7QcP9F0XT/ZNqM/2ba\n        jv9n24//YNaF/wadCf8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADxAJkADwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ\n        AA8AmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/Bp0J/2HWhv9p25H/aNqP/2bajv9G0nb/P9Fx/0DR\n        cv9A0XL/QNFy/0DRcv9A0XL/QNFy/0DRcv9A0XL/QNFy/0DRcv9A0XL/QNFy/0DRcv9A0XL/QNFy/0DR\n        cv9A0XL/QNFy/0DRcv9A0XL/P9Fx/0bSdv9m2o7/aNqP/2nbkf9h1ob/Bp0J/wCYAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAPAAmQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkADwCZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCY\n        AP8GnQn/YteH/2rck/9p25D/Z9uP/0nTd/9C0nL/Q9Jz/0PSc/9D0nP/Q9Jz/0PSc/9D0nP/Q9Jz/0PS\n        c/9D0nP/Q9Jz/0PSc/9D0nP/Q9Jz/0PSc/9D0nP/Q9Jz/0PSc/9D0nP/Q9Jz/0PSc/9C0nL/SdN3/2fb\n        j/9p25D/atyT/2LXh/8GnQn/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACZAA8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAmQAPAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wadCf9k2Ij/a92U/2rckf9o3JD/StN5/0PS\n        dP9E0nX/RNJ1/0TSdf9E0nX/RNJ1/0TSdf9E0nX/RNJ1/0TSdf9E0nX/RNJ1/0TSdf9E0nX/RNJ1/0TS\n        df9E0nX/RNJ1/0TSdf9E0nX/RNJ1/0PSdP9K03n/aNyQ/2rckf9r3ZT/ZNiI/wadCf8AmAD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQDwAJkADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAA8AmQDwAJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmAD/B50J/2XYif9t3ZX/bNyS/2rckf9M1Hv/RdN2/0bTd/9G03f/RtN3/0bTd/9G03f/RtN3/0bT\n        d/9G03f/RtN3/0bTd/9G03f/RtN3/0bTd/9G03f/RtN3/0bTd/9G03f/RtN3/0bTd/9G03f/RdN2/0zU\n        e/9q3JH/bNyS/23dlf9l2In/B50J/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAmQAPAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAJkADwCZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8HnQn/ZtiJ/2/dlf9t3JL/bNyR/07V\n        fP9H1Hf/SNR4/0jUeP9I1Hj/SNR4/0jUeP9I1Hj/SNR4/0jUeP9I1Hj/SNR4/0jUeP9I1Hj/SNR4/0jU\n        eP9I1Hj/SNR4/0jUeP9I1Hj/SNR4/0jUeP9H1Hf/TtV8/2zckf9t3JL/b92V/2bYif8HnQn/AJgA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACZAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAPAJkA8ACZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgA/wedCf9n2Iv/cN2X/2/clP9t3JP/T9V9/0jUeP9J1Hn/SdR5/0nUef9J1Hn/SdR5/0nU\n        ef9J1Hn/SdR5/0nUef9J1Hn/SdR5/0nUef9J1Hn/SdR5/0nUef9J1Hn/SdR5/0nUef9J1Hn/SdR5/0jU\n        eP9P1X3/bdyT/2/clP9w3Zf/Z9iL/wedCf8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQDwAJkADwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAACZAA8AmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/B50J/2najP9y35j/cN6V/2/e\n        lP9S13//S9Z6/0zWe/9M1nv/TNZ7/0zWe/9M1nv/TNZ7/0zWe/9M1nv/TNZ7/0zWe/9M1nv/TNZ7/0zW\n        e/9M1nv/TNZ7/0zWe/9M1nv/TNZ7/0zWe/9M1nv/S9Z6/1LXf/9v3pT/cN6V/3LfmP9p2oz/B50J/wCY\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAmQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkADwCZAPAAmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCYAP8HnQn/atuN/3Pgmf9x35b/cN+V/1PYgP9N13v/Ttd8/07XfP9O13z/Ttd8/07X\n        fP9O13z/Ttd8/07XfP9O13z/Ttd8/07XfP9O13z/Ttd8/07XfP9O13z/Ttd8/07XfP9O13z/Ttd8/07X\n        fP9N13v/U9iA/3Dflf9x35b/c+CZ/2rbjf8HnQn/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACZ\n        AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAmQAPAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wedCf9r24//dOCb/3Lf\n        mP9x35f/VNiC/07Xff9P137/T9d+/0/Xfv9P137/T9d+/0/Xfv9P137/T9d+/0/Xfv9P137/T9d+/0/X\n        fv9P137/T9d+/0/Xfv9P137/T9d+/0/Xfv9P137/T9d+/07Xff9U2IL/cd+X/3LfmP904Jv/a9uP/wed\n        Cf8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQDwAJkADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAA8AmQDwAJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmAD/B50J/23bkP924Jz/dN+Z/3PfmP9X2YT/Udh//1LYgP9S2ID/UtiA/1LY\n        gP9S2ID/UtiA/1LYgP9S2ID/UtiA/1LYgP9S2ID/UtiA/1LYgP9S2ID/UtiA/1LYgP9S2ID/UtiA/1LY\n        gP9S2ID/Udh//1fZhP9z35j/dN+Z/3bgnP9t25D/B50J/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        APAAmQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJkADwCZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8HnQn/b92S/3ji\n        nf924Zr/deGZ/1nahf9T2YD/VNmB/1TZgf9U2YH/VNmB/1TZgf9U2YH/VNmB/1TZgf9U2YH/VNmB/1TZ\n        gf9U2YH/VNmB/1TZgf9U2YH/VNmB/1TZgf9U2YH/VNmB/1TZgf9T2YD/WdqF/3Xhmf924Zr/eOKd/2/d\n        kv8HnQn/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACZAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAPAJkA8ACZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJgA/wedCv9w3pP/eeOf/3finP924pv/W9uH/1Xagv9W2oP/VtqD/1ba\n        g/9W2oP/VtqD/1bag/9W2oP/VtqD/1bag/9W2oP/VtqD/1bag/9W2oP/VtqD/1bag/9W2oP/VtqD/1ba\n        g/9W2oP/VtqD/1Xagv9b24f/duKb/3finP9545//cN6T/wedCv8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQDwAJkADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAA8AmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/B50K/3Pe\n        lP9846H/euKe/3ninf9d24n/V9qE/1jahf9Y2oX/WNqF/1jahf9Y2oX/WNqF/1jahf9Y2oX/WNqF/1ja\n        hf9Y2oX/WNqF/1jahf9Y2oX/WNqF/1jahf9Y2oX/WNqF/1jahf9Y2oX/V9qE/13bif954p3/euKe/3zj\n        of9z3pT/B50K/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAmQAPAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIsACwCZ\n        APAAmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8InQr/dN6U/33jof974p7/euKd/1/civ9Z24X/WtuG/1rb\n        hv9a24b/WtuG/1rbhv9a24b/WtuG/1rbhv9a24b/WtuG/1rbhv9a24b/WtuG/1rbhv9a24b/WtuG/1rb\n        hv9a24b/WtuG/1rbhv9Z24X/X9yK/3rinf974p7/feOh/3TelP8InQr/AJgA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA8ACLAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJkABQCJAA0AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAPAJkADwCZ\n        AA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAeAJgA8QCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wid\n        Cv9135X/f+Oi/33in/984p7/Yd2M/1vch/9c3Ij/XNyI/1zciP9c3Ij/XNyI/1zciP9c3Ij/XNyI/1zc\n        iP9c3Ij/XNyI/1zciP9c3Ij/XNyI/1zciP9c3Ij/XNyI/1zciP9c3Ij/XNyI/1vch/9h3Yz/fOKe/33i\n        n/9/46L/dd+V/widCv8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADxAJkAHgCZAA8AmQAPAJkADwCZ\n        AA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAPAJkADwCJAA0AmQAFAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNAAkAmQAtAJcAZQCYAJgAmADMAJgA5wCZ\n        APAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZ\n        APAAmAD+AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/CJ4K/3ffl/+B5aT/f+Sh/37koP9k3o7/Xt2J/1/d\n        iv9f3Yr/X92K/1/div9f3Yr/X92K/1/div9f3Yr/X92K/1/div9f3Yr/X92K/1/div9f3Yr/X92K/1/d\n        iv9f3Yr/X92K/1/div9f3Yr/Xt2J/2Tejv9+5KD/f+Sh/4HlpP9335f/CJ4K/wCYAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCYAP4AmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZ\n        APAAmQDwAJkA8ACZAPAAmQDwAJgA5wCYAMwAmACYAJcAZQCZAC0AjQAJAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACV\n        ACkAmQCRAJgA2QCYAPgAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCY\n        AP8Ingr/ed+Y/4Plpf+B5KL/gOSh/2bej/9f3Yr/YN2L/2Ddi/9g3Yv/YN2L/2Ddi/9g3Yv/YN2L/2Dd\n        i/9g3Yv/YN2L/2Ddi/9g3Yv/YN2L/2Ddi/9g3Yv/YN2L/2Ddi/9g3Yv/YN2L/2Ddi/9f3Yr/Zt6P/4Dk\n        of+B5KL/g+Wl/3nfmP8Ingr/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgA+ACYANkAmQCRAJUAKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/AAIAlwB+AJgA8QCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wieCv964Jr/hOan/4LlpP+B5aP/aN+R/2Le\n        jP9j3o3/Y96N/2Pejf9j3o3/Y96N/2Pejf9j3o3/Y96N/2Pejf9j3o3/Y96N/2Pejf9j3o3/Y96N/2Pe\n        jf9j3o3/Y96N/2Pejf9j3o3/Y96N/2LejP9o35H/geWj/4LlpP+E5qf/euCa/wieCv8AmAD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADxAJcAfgB/\n        AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlwAlAJgAvQCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmAD/CJ4K/3vhnP+F56n/g+am/4Lmpf9p4ZL/ZOCN/2Xgjv9l4I7/ZeCO/2Xgjv9l4I7/ZeCO/2Xg\n        jv9l4I7/ZeCO/2Xgjv9l4I7/ZeCO/2Xgjv9l4I7/ZeCO/2Xgjv9l4I7/ZeCO/2Xgjv9l4I7/ZOCN/2nh\n        kv+C5qX/g+am/4Xnqf974Zz/CJ4K/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgAvQCXACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJUALgCYANsAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8Ingr/fuGd/4jnqv+G5qf/heam/2zh\n        lf9m4JD/Z+CR/2fgkf9n4JH/Z+CR/2fgkf9n4JH/Z+CR/2fgkf9n4JH/Z+CR/2fgkf9n4JH/Z+CR/2fg\n        kf9n4JH/Z+CR/2fgkf9n4JH/Z+CR/2fgkf9m4JD/bOGV/4Xmpv+G5qf/iOeq/37hnf8Ingr/AJgA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgA2wCVAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZACMAmADgAJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgA/wieCv+A4p//iuis/4jnqf+H56j/buKW/2nhkv9q4ZP/auGT/2rhk/9q4ZP/auGT/2rh\n        k/9q4ZP/auGT/2rhk/9q4ZP/auGT/2rhk/9q4ZP/auGT/2rhk/9q4ZP/auGT/2rhk/9q4ZP/auGT/2nh\n        kv9u4pb/h+eo/4jnqf+K6Kz/gOKf/wieCv8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA4ACZACMAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAfwAEAJgAvwCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCY\n        AP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AlwD/Bp0H/4HjoP+M6a3/ieiq/4no\n        qf9w45j/a+KT/2zilP9s4pT/bOKU/2zilP9s4pT/bOKU/2zilP9s4pT/bOKU/2zilP9s4pT/bOKU/2zi\n        lP9s4pT/bOKU/2zilP9s4pT/bOKU/2zilP9s4pT/a+KT/3DjmP+J6Kn/ieiq/4zprf+B46D/Bp0H/wCX\n        AP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCY\n        AP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmAD/AJgA/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJgAvwB/AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAH0AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlgD/AJUA/wObBP8HnQn/CZ4L/wieCv8Ingr/CJ4K/wie\n        Cv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wie\n        Cv8Ingr/CJ4K/widCv8QohT/hOOh/43prf+M6Kr/i+iq/3Lkmf9t45X/buOW/27jlv9u45b/buOW/27j\n        lv9u45b/buOW/27jlv9u45b/buOW/27jlv9u45b/buOW/27jlv9u45b/buOW/27jlv9u45b/buOW/27j\n        lv9t45X/cuSZ/4voqv+M6Kr/jemt/4Tjof8QohT/CJ0K/wieCv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wie\n        Cv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wieCv8Ingr/CJ4K/wme\n        C/8HnQn/A5sE/wCVAP8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkAfQAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAlwAlAJgA9ACZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/AJYA/yGr\n        KP9TyGT/dNuO/4Hinv+G5KP/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/heSi/4Xk\n        ov+F5KL/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/heSi/4Xko/+N6Kz/juit/47o\n        rf+M6Kz/c+SZ/3DkmP9w5Jj/cOSY/3DkmP9w5Jj/cOSY/3DkmP9w5Jj/cOSY/3DkmP9w5Jj/cOSY/3Dk\n        mP9w5Jj/cOSY/3DkmP9w5Jj/cOSY/3DkmP9w5Jj/cOSY/3DkmP9z5Jn/jOis/47orf+O6K3/jeis/4Xk\n        o/+F5KL/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/heSi/4Xk\n        ov+F5KL/heSi/4Xkov+F5KL/heSi/4Xkov+F5KL/huSj/4Hinv90247/U8hk/yGrKP8AlgD/AJcA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD0AJcAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJMAmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJcA/wabCP9VyWj/kOqu/5jvuP+U7LP/kuux/5LrsP+S67H/kuux/5Lr\n        sf+S67H/kuux/5Lrsf+S67H/kuux/5Lrsf+S67H/kuux/5Lrsf+S67H/kuux/5Lrsf+S67H/kuux/5Lr\n        sf+S67H/kuux/5Lrsf+S67H/kuuw/5Dqrv+P6q7/keqv/4foqP9z5Jr/c+Sa/3Pkmv9z5Jr/c+Sa/3Pk\n        mv9z5Jr/c+Sa/3Pkmv9z5Jr/c+Sa/3Pkmv9z5Jr/c+Sa/3Pkmv9z5Jr/c+Sa/3Pkmv9z5Jr/c+Sa/3Pk\n        mv9z5Jr/c+Sa/3Pkmv+H6Kj/keqv/4/qrv+Q6q7/kuuw/5Lrsf+S67H/kuux/5Lrsf+S67H/kuux/5Lr\n        sf+S67H/kuux/5Lrsf+S67H/kuux/5Lrsf+S67H/kuux/5Lrsf+S67H/kuux/5Lrsf+S67H/kuux/5Lr\n        sf+S67D/kuux/5Tss/+Y77j/kOqu/1XJaP8Gmwj/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AlwCSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAfwAIAJgA3wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8InAr/atWB/5rv\n        u/+T67L/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5Hq\n        sP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5Lq\n        sP+Q6q//e+af/3Tlm/915Zv/deWb/3Xlm/915Zv/deWb/3Xlm/915Zv/deWb/3Xlm/915Zv/deWb/3Xl\n        m/915Zv/deWb/3Xlm/915Zv/deWb/3Xlm/915Zv/deWb/3Xlm/915Zv/dOWb/3vmn/+Q6q//kuqw/5Hq\n        sP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5Hq\n        sP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+R6rD/keqw/5HqsP+T67L/mu+7/2rV\n        gf8InAr/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAN8AfwAIAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWADEAmAD8AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJYA/1jLav+d8b7/k+ux/5Lrsf+T67H/lOuy/5Lrsf+R67D/kuuw/5Lr\n        sP+S67D/kuuw/5LrsP+S67D/kuuw/5LrsP+S67D/kuuw/5LrsP+S67D/kuuw/5LrsP+S67D/kuuw/5Lr\n        sP+S67D/kuuw/5LrsP+S67D/kuuw/5LrsP+R67D/i+qs/33nof935p3/eOae/3jmnv945p7/eOae/3jm\n        nv945p7/eOae/3jmnv945p7/eOae/3jmnv945p7/eOae/3jmnv945p7/eOae/3jmnv945p7/eOae/3jm\n        nv945p7/eOae/3jmnv945p7/d+ad/33nof+L6qz/keuw/5LrsP+S67D/kuuw/5LrsP+S67D/kuuw/5Lr\n        sP+S67D/kuuw/5LrsP+S67D/kuuw/5LrsP+S67D/kuuw/5LrsP+S67D/kuuw/5LrsP+S67D/kuuw/5Lr\n        sP+S67D/keuw/5Lrsf+U67L/k+ux/5Lrsf+T67H/nfG+/1jLav8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgA/ACWADEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJgAZgCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCWAP8hrCf/lOyz/5ft\n        tf+U7LL/leyz/5Pssf+H6qn/gOik/33nof9+56L/fuei/37nov9+56L/fuei/37nov9+56L/fuei/37n\n        ov9+56L/fuei/37nov9+56L/fuei/37nov9+56L/fuei/37nov9+56L/fuei/37nov9+56L/fuei/3zn\n        oP9655//eeee/3rnn/9655//euef/3rnn/9655//euef/3rnn/9655//euef/3rnn/9655//euef/3rn\n        n/9655//euef/3rnn/9655//euef/3rnn/9655//euef/3rnn/9655//euef/3rnn/9655//eeee/3rn\n        n/9856D/fuei/37nov9+56L/fuei/37nov9+56L/fuei/37nov9+56L/fuei/37nov9+56L/fuei/37n\n        ov9+56L/fuei/37nov9+56L/fuei/37nov9+56L/fuei/37nov9956H/gOik/4fqqf+T7LH/leyz/5Ts\n        sv+X7bX/lOyz/yCrJv8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgAZgAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmACcAJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJYA/1vMbf+g8sD/lu20/5fttf+V7LT/g+mm/3rooP976KH/fOih/3zo\n        of986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zo\n        of986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zo\n        of986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zo\n        of986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zo\n        of986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zoof986KH/fOih/3zo\n        of986KH/fOih/3zoof976KH/euig/4Pppv+V7LT/l+21/5bttP+g8sD/Wsxt/wCWAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmACcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAM4AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8EmwX/ft+X/53w\n        u/+Y7bX/mu22/4rrrP986KH/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/p\n        o/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/p\n        o/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/p\n        o/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/p\n        o/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/p\n        o/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/f+mj/3/po/9/6aP/fOih/4rr\n        rP+a7bb/mO21/53wu/9+35f/BJsF/wCYAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAM4AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkA6wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJgA/wmeC/+P56n/ne+6/5vttv+a7bf/huqo/3/po/+B6aT/gemk/4Hp\n        pP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4Hp\n        pP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4Hp\n        pP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4Hp\n        pP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4Hp\n        pP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4HppP+B6aT/gemk/4Hp\n        pP+B6aT/gemk/4HppP+B6aT/gemk/4HppP9/6aP/huqo/5rtt/+b7bb/ne+6/4/nqf8Jngv/AJgA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmADxAJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD/Cp4L/5Pp\n        rf+g77v/ne64/5vut/+H66n/guqm/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pq\n        p/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pq\n        p/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pq\n        p/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pq\n        p/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pq\n        p/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Pqp/+D6qf/g+qn/4Lq\n        pv+H66n/m+63/53uuP+g77v/k+mt/wqeC/8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADxAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ\n        APAAmQD/AJkA/wCZAP8AmQD/AJkA/wCYAP8Kngv/lOqu/6HwvP+e77n/ne+4/4nsq/+E66f/heuo/4Xr\n        qP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4Xr\n        qP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4Xr\n        qP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4Xr\n        qP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4Xr\n        qP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/heuo/4Xr\n        qP+F66j/heuo/4XrqP+F66j/heuo/4XrqP+F66j/hOun/4nsq/+d77j/nu+5/6HwvP+U6q7/Cp4L/wCY\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/wqe\n        C/+V6rD/ovG+/5/vu/+e77r/jOyt/4frqf+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jr\n        qv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jr\n        qv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jr\n        qv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jr\n        qv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jr\n        qv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jrqv+I66r/iOuq/4jr\n        qv+H66n/jOyt/57vuv+f77v/ovG+/5XqsP8Kngv/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8AAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/Cp4L/5jrsf+l8sD/ovC9/6HwvP+P7a//iuyr/4vs\n        rP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vs\n        rP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vs\n        rP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vs\n        rP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vs\n        rP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vs\n        rP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4vsrP+L7Kz/i+ys/4rsq/+P7a//ofC8/6Lwvf+l8sD/mOux/wqe\n        C/8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCX\n        AP8Kngz/muyz/6fzwf+k8b7/o/G9/5DusP+L7az/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4zt\n        rf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4zt\n        rf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4zt\n        rf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4zt\n        rf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4zt\n        rf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4ztrf+M7a3/jO2t/4zt\n        rf+M7a3/i+2s/5DusP+j8b3/pPG+/6fzwf+a7LP/Cp4M/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        APAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/wqeDP+c7LT/qfPD/6bxwP+l8b//k+6y/47u\n        sP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/u\n        sP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/u\n        sP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/u\n        sP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/u\n        sP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/u\n        sP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+P7rD/j+6w/4/usP+O7rD/k+6y/6Xxv/+m8cD/qfPD/5zs\n        tP8Kngz/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQDwAJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AlwD/Cp4M/57ttP+r9MP/qPLA/6fyv/+V77P/kO6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Hu\n        sf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Hu\n        sf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Hu\n        sf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Hu\n        sf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Hu\n        sf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Husf+R7rH/ke6x/5Hu\n        sf+R7rH/ke6x/5Dusf+V77P/p/K//6jywP+r9MP/nu20/wqeDP8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAACZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Kngz/n+22/6z0xf+p8sL/qPLB/5fw\n        tP+S77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pv\n        sv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pv\n        sv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pv\n        sv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pv\n        sv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pv\n        sv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/k++y/5Pvsv+T77L/ku+y/5fwtP+o8sH/qfLC/6z0\n        xf+f7bb/Cp4M/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkA8ACZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJcA/wqeDP+h7rf/rvTG/6vyw/+q8sL/mfC2/5XwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bw\n        tP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bw\n        tP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bw\n        tP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bw\n        tP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bw\n        tP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bwtP+W8LT/lvC0/5bw\n        tP+W8LT/lvC0/5bwtP+V8LT/mfC2/6rywv+r8sP/rvTG/6Hut/8Kngz/AJcA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/Cp4M/6Luuf+w9cj/rfPF/6zz\n        xP+b8Lj/l/C2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jw\n        tv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jw\n        tv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jw\n        tv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jw\n        tv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jw\n        tv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5jwtv+Y8Lb/mPC2/5fwtv+b8Lj/rPPE/63z\n        xf+w9cj/ou65/wqeDP8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQDwAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAPAAmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCXAP8Lnwz/o+66/7H2yf+u9Mb/rfTG/53xuv+Z8bj/mvG4/5rxuP+a8bj/mvG4/5rx\n        uP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rx\n        uP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rx\n        uP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rx\n        uP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rx\n        uP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rxuP+a8bj/mvG4/5rx\n        uP+a8bj/mvG4/5rxuP+a8bj/mfG4/53xuv+t9Mb/rvTG/7H2yf+j7rr/C58M/wCXAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/wufDP+k7rv/svbL/6/0\n        x/+u9Mf/n/K7/5vyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zy\n        uf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zy\n        uf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zy\n        uf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zy\n        uf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zy\n        uf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+c8rn/nPK5/5zyuf+b8rn/n/K7/670\n        x/+v9Mf/svbL/6Tuu/8Lnwz/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8AAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQDwAJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AlwD/C58M/6fvvf+1983/svXJ/7H1yf+i873/nvK7/5/yu/+f8rv/n/K7/5/y\n        u/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/y\n        u/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/y\n        u/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/y\n        u/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/y\n        u/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/yu/+f8rv/n/K7/5/y\n        u/+f8rv/n/K7/5/yu/+f8rv/n/K7/57yu/+i873/sfXJ/7L1yf+1983/p++9/wufDP8AlwD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Lnwz/qe++/7f3\n        zv+09cr/s/XK/6Pzv/+f873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dz\n        vf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dz\n        vf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dz\n        vf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dz\n        vf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dz\n        vf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/oPO9/6Dzvf+g873/n/O9/6Pz\n        v/+z9cr/tPXK/7f3zv+p777/C58M/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkA8ACZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJcA/wufDP+r8L//ufjP/7b2y/+09sv/pvTA/6Lzvv+j877/o/O+/6Pz\n        vv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pz\n        vv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pz\n        vv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pz\n        vv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pz\n        vv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+j877/o/O+/6Pz\n        vv+j877/o/O+/6Pzvv+j877/o/O+/6Pzvv+i877/pvTA/7T2y/+29sv/ufjP/6vwv/8Lnwz/AJcA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmADxAJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/C58M/63w\n        wf+6+NH/uPbN/7f2zf+o9cL/pPTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0\n        wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0\n        wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0\n        wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0\n        wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0\n        wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6X0wP+l9MD/pfTA/6T0\n        wP+o9cL/t/bN/7j2zf+6+NH/rfDB/wufDP8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADxAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ\n        AOsAmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Lnwz/q/C//7340v+59s7/ufbO/6v1xP+m9MH/p/TC/6f0\n        wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0\n        wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0\n        wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0\n        wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0\n        wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0\n        wv+n9ML/p/TC/6f0wv+n9ML/p/TC/6f0wv+n9ML/pvTB/6v1xP+59s7/ufbO/7340v+r8L//C58M/wCX\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAOsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAzgCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wWc\n        Bv+c6a//wPnV/7r3z/+798//sfbJ/6j1wv+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1\n        w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1\n        w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1\n        w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1\n        w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1\n        w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1w/+p9cP/qfXD/6n1\n        w/+o9cL/sfbJ/7v3z/+698//wPnV/5zpr/8FnAb/AJgA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgAzgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAmACcAJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJUA/3PTgP/H/d3/u/fQ/7z40f+799D/r/bH/6r1\n        w/+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1\n        xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v2xP+r9sT/q/bE/6v2\n        xP+r9sT/q/bE/6v2xP+r9sT/q/bE/6v2xP+r9sT/q/bE/6v2xP+r9sT/q/bE/6v2xP+r9sT/q/bE/6v2\n        xP+r9sT/q/bE/6v2xP+r9sT/q/bE/6v2xP+r9sT/q/bE/6v2xP+r9sT/q/bE/6v1xP+r9cT/q/XE/6v1\n        xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1\n        xP+r9cT/q/XE/6v1xP+r9cT/q/XE/6v1xP+r9cT/qvXD/6/2x/+799D/vPjR/7v30P/H/d3/c9OA/wCV\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmACcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAGYAmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AlQD/Kq8w/7/50//A+tT/vfjR/7740v+9+NH/tffM/7H2yf+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2\n        yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2\n        yP+w9sj/sPbI/7D2yP+u9sf/rfbG/632xv+t9sb/rfbG/632xv+t9sb/rfbG/632xv+t9sb/rfbG/632\n        xv+t9sb/rfbG/632xv+t9sb/rfbG/632xv+t9sb/rfbG/632xv+t9sb/rfbG/632xv+t9sb/rfbG/632\n        xv+t9sb/rfbG/632xv+t9sb/rvbH/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2\n        yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7D2yP+w9sj/sPbI/7H2\n        yf+198z/vfjR/7740v+9+NH/wPrU/7/50/8qrzD/AJUA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCY\n        AGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAJYAMQCYAPwAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlQD/ctN//8z+4v/A+NP/v/jT/7/4\n        0//A+NP/v/jT/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7/4\n        0v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7740v+7+M//svfK/672\n        x/+v98j/r/fI/6/3yP+v98j/r/fI/6/3yP+v98j/r/fI/6/3yP+v98j/r/fI/6/3yP+v98j/r/fI/6/3\n        yP+v98j/r/fI/6/3yP+v98j/r/fI/6/3yP+v98j/r/fI/6/3yP+u9sf/svfK/7v4z/+++NL/v/jS/7/4\n        0v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jS/7/4\n        0v+/+NL/v/jS/7/40v+/+NL/v/jS/7/40v+/+NL/v/jT/8D40/+/+NP/v/jT/8D40//M/uL/ctN//wCV\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAD8AJYAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAIAJgA3wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCXAP8JnQv/jeCd/87/4v/E+tf/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H5\n        1P/B+dT/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H5\n        1P/B+dT/wfnU/8H51P/B+dT/wfnU/8L51f/A+dT/tPjL/7H3yP+x98n/sffJ/7H3yf+x98n/sffJ/7H3\n        yf+x98n/sffJ/7H3yf+x98n/sffJ/7H3yf+x98n/sffJ/7H3yf+x98n/sffJ/7H3yf+x98n/sffJ/7H3\n        yf+x98n/sffI/7T4y//A+dT/wvnV/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H5\n        1P/B+dT/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H51P/B+dT/wfnU/8H5\n        1P/B+dT/wfnU/8H51P/E+tf/zv/i/47hnf8JnQv/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCY\n        AN8AfwAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAlwCSAJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCWAP8JnQv/ddSC/8P6\n        1v/P/+P/yfzc/8f72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b7\n        2f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/D+dX/wvnV/8P5\n        1v+++NL/svfK/7P3y/+z98v/s/fL/7P3y/+z98v/s/fL/7P3y/+z98v/s/fL/7P3y/+z98v/s/fL/7P3\n        y/+z98v/s/fL/7P3y/+z98v/s/fL/7P3y/+z98v/s/fL/7P3y/+y98r/vvjS/8P51v/C+dX/w/nV/8b7\n        2f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b7\n        2f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8b72f/G+9n/xvvZ/8f72f/J/Nz/z//j/8P61v911IL/Cp0L/wCW\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJcAkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXACUAmAD0AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8AlgD/L7A0/3PSf/+j6rP/s/HF/7n0yv+488n/uPPJ/7jz\n        yf+488n/uPPJ/7jzyf+488n/uPPJ/7jzyf+488n/uPPJ/7jzyf+488n/uPPJ/7jzyf+488n/uPPJ/7jz\n        yf+488n/uPPJ/7jzyf+488n/ufTK/8P51f/E+db/xPnW/8P51f+2+M3/tfjM/7X4zP+1+Mz/tfjM/7X4\n        zP+1+Mz/tfjM/7X4zP+1+Mz/tfjM/7X4zP+1+Mz/tfjM/7X4zP+1+Mz/tfjM/7X4zP+1+Mz/tfjM/7X4\n        zP+1+Mz/tfjM/7b4zf/D+dX/xPnW/8T51v/D+dX/ufTK/7jzyf+488n/uPPJ/7jzyf+488n/uPPJ/7jz\n        yf+488n/uPPJ/7jzyf+488n/uPPJ/7jzyf+488n/uPPJ/7jzyf+488n/uPPJ/7jzyf+488n/uPPJ/7jz\n        yf+59Mr/s/HF/6Pqs/9z0n//L7A0/wCWAP8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCY\n        APQAlwAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAHwAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AlQD/AJUA/wWcBv8Kngz/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyf\n        Df8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wydDf8XpBn/uvTL/8j7\n        2//F+tf/xfrX/7n5zv+3+c3/t/nN/7f5zf+3+c3/t/nN/7f5zf+3+c3/t/nN/7f5zf+3+c3/t/nN/7f5\n        zf+3+c3/t/nN/7f5zf+3+c3/t/nN/7f5zf+3+c3/t/nN/7f5zf+3+c3/ufnO/8X61//F+tf/yPvb/7r0\n        y/8XpBn/DJ0N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyf\n        Df8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Mnw3/DJ8N/wyfDf8Kngz/BZwG/wCVAP8AlQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFUAAwCZ\n        AL4AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA/wCXAP8AlwD/AJcA/wCX\n        AP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCX\n        AP8AlwD/AJcA/wCXAP8AlwD/AJUA/wmdCf+69Mv/yvzd/8f62f/G+tn/u/nQ/7n5z/+5+c//ufnP/7n5\n        z/+5+c//ufnP/7n5z/+5+c//ufnP/7n5z/+5+c//ufnP/7n5z/+5+c//ufnP/7n5z/+5+c//ufnP/7n5\n        z/+5+c//ufnP/7n5z/+7+dD/xvrZ/8f62f/K/N3/uvTL/wmdCf8AlQD/AJcA/wCXAP8AlwD/AJcA/wCX\n        AP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCX\n        AP8AlwD/AJcA/wCXAP8AmAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AL4AVQADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJYAIgCYAN4AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/DJ8N/7z1\n        zf/M/d7/yPva/8j72v+9+tH/u/nQ/7v50P+7+dD/u/nQ/7v50P+7+dD/u/nQ/7v50P+7+dD/u/nQ/7v5\n        0P+7+dD/u/nQ/7v50P+7+dD/u/nQ/7v50P+7+dD/u/nQ/7v50P+7+dD/u/nQ/7360f/I+9r/yPva/8z9\n        3v+89c3/DJ8N/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADeAJYAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAJkALQCYANsAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Mnw3/vvXO/8793//K+9v/yfvb/7760/+8+dL/vPnS/7z5\n        0v+8+dL/vPnS/7z50v+8+dL/vPnS/7z50v+8+dL/vPnS/7z50v+8+dL/vPnS/7z50v+8+dL/vPnS/7z5\n        0v+8+dL/vPnS/7z50v+8+dL/vvrT/8n72//K+9v/zv3f/771zv8Mnw3/AJcA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA2wCZ\n        AC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcAJQCYAL0AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/wyf\n        Df+/9c//z/3g/8v73P/L+9z/wfrU/7/60/+/+tP/v/rT/7/60/+/+tP/v/rT/7/60/+/+tP/v/rT/7/6\n        0/+/+tP/v/rT/7/60/+/+tP/v/rT/7/60/+/+tP/v/rT/7/60/+/+tP/v/rT/7/60//B+tT/y/vc/8v7\n        3P/P/eD/v/XP/wyfDf8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAL0AlwAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAH8AAgCXAH4AmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/DJ8N/8H10P/R/eH/zfvd/8373f/C+9X/wPrU/8D6\n        1P/A+tT/wPrU/8D61P/A+tT/wPrU/8D61P/A+tT/wPrU/8D61P/A+tT/wPrU/8D61P/A+tT/wPrU/8D6\n        1P/A+tT/wPrU/8D61P/A+tT/wPrU/8L71f/N+93/zfvd/9H94f/B9dD/DJ8N/wCXAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAlwB+AH8AAgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACV\n        ACkAmQCRAJkA1wCYAPgAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCX\n        AP8Mnw3/wvXQ/9L94f/O+93/zvvd/8T71v/C+9X/wvvV/8L71f/C+9X/wvvV/8L71f/C+9X/wvvV/8L7\n        1f/C+9X/wvvV/8L71f/C+9X/wvvV/8L71f/C+9X/wvvV/8L71f/C+9X/wvvV/8L71f/C+9X/xPvW/877\n        3f/O+93/0v3h/8L10P8Mnw3/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJgA+ACZANcAmQCRAJUAKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAIAJQAKwCXAGMAmACVAJgAygCZ\n        AOYAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZ\n        APAAmQDwAJgA/gCZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/w2fDv/D9tH/1P7i/9D83v/Q/N7/xvvX/8T7\n        1v/E+9b/xPvW/8T71v/E+9b/xPvW/8T71v/E+9b/xPvW/8T71v/E+9b/xPvW/8T71v/E+9b/xPvW/8T7\n        1v/E+9b/xPvW/8T71v/E+9b/xPvW/8T71v/G+9f/0Pze/9D83v/U/uL/w/bR/w2fDv8AlwD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmAD+AJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZ\n        APAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAOYAmADKAJgAlQCXAGMAlAArAH8ACAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAEAIkADQCZAA8AmQAPAJkADwCZAA8AmQAPAJkADwCZ\n        AA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAB4AmADxAJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AlwD/DZ8O/8T20f/V/uT/0fzg/9H84P/H+9n/xfvY/8X72P/F+9j/xfvY/8X72P/F+9j/xfvY/8X7\n        2P/F+9j/xfvY/8X72P/F+9j/xfvY/8X72P/F+9j/xfvY/8X72P/F+9j/xfvY/8X72P/F+9j/xfvY/8f7\n        2f/R/OD/0fzg/9X+5P/E9tH/DZ8O/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAPEAmQAeAJkADwCZ\n        AA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAPAJkADwCZAA8AmQAPAIkADQB/\n        AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAIsACwCZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Nnw7/xfbT/9b+5f/S/OH/0vzh/8n8\n        2f/H/Nj/x/zY/8f82P/H/Nj/x/zY/8f82P/H/Nj/x/zY/8f82P/H/Nj/x/zY/8f82P/H/Nj/x/zY/8f8\n        2P/H/Nj/x/zY/8f82P/H/Nj/x/zY/8f82P/H/Nj/yfzZ/9L84f/S/OH/1v7l/8X20/8Nnw7/AJcA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACLAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAPAJkA8ACZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJcA/w2fDv/G9tP/1/7l/9P84f/T/OH/yvzb/8j82v/I/Nr/yPza/8j82v/I/Nr/yPza/8j8\n        2v/I/Nr/yPza/8j82v/I/Nr/yPza/8j82v/I/Nr/yPza/8j82v/I/Nr/yPza/8j82v/I/Nr/yPza/8j8\n        2v/K/Nv/0/zh/9P84f/X/uX/xvbT/w2fDv8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQDwAJkADwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAACZAA8AmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/DZ8O/8f31P/Y/+b/1P3i/9T9\n        4v/L/Nz/yfzb/8n82//J/Nv/yfzb/8n82//J/Nv/yfzb/8n82//J/Nv/yfzb/8n82//J/Nv/yfzb/8n8\n        2//J/Nv/yfzb/8n82//J/Nv/yfzb/8n82//J/Nv/yfzb/8v83P/U/eL/1P3i/9j/5v/H99T/DZ8O/wCX\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAmQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkADwCZAPAAmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCXAP8Nnw7/yffV/9r/5//W/eP/1v3j/8383f/L/Nz/y/zc/8v83P/L/Nz/y/zc/8v8\n        3P/L/Nz/y/zc/8v83P/L/Nz/y/zc/8v83P/L/Nz/y/zc/8v83P/L/Nz/y/zc/8v83P/L/Nz/y/zc/8v8\n        3P/L/Nz/zfzd/9b94//W/eP/2v/n/8n31f8Nnw7/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACZ\n        AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAmQAPAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/w2fDv/K99b/2//o/9f9\n        5P/X/eT/zvze/8383f/N/N3/zfzd/8383f/N/N3/zfzd/8383f/N/N3/zfzd/8383f/N/N3/zfzd/838\n        3f/N/N3/zfzd/8383f/N/N3/zfzd/8383f/N/N3/zfzd/8383f/O/N7/1/3k/9f95P/b/+j/yvfW/w2f\n        Dv8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQDwAJkADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAA8AmQDwAJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AlwD/DZ8O/8v31//c/+n/2P3l/9j95f/P/d//zv3e/8793v/O/d7/zv3e/879\n        3v/O/d7/zv3e/8793v/O/d7/zv3e/8793v/O/d7/zv3e/8793v/O/d7/zv3e/8793v/O/d7/zv3e/879\n        3v/O/d7/zv3e/8/93//Y/eX/2P3l/9z/6f/L99f/DZ8O/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        APAAmQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJkADwCZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Nnw7/zPfX/93/\n        6f/Z/eX/2f3l/9H94P/Q/d//0P3f/9D93//Q/d//0P3f/9D93//Q/d//0P3f/9D93//Q/d//0P3f/9D9\n        3//Q/d//0P3f/9D93//Q/d//0P3f/9D93//Q/d//0P3f/9D93//Q/d//0f3g/9n95f/Z/eX/3f/p/8z3\n        1/8Nnw7/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACZAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAPAJkA8ACZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJcA/w2fDv/N99j/3v/q/9r95v/a/eb/0v3h/9H94P/R/eD/0f3g/9H9\n        4P/R/eD/0f3g/9H94P/R/eD/0f3g/9H94P/R/eD/0f3g/9H94P/R/eD/0f3g/9H94P/R/eD/0f3g/9H9\n        4P/R/eD/0f3g/9H94P/S/eH/2v3m/9r95v/e/+r/zffY/w2fDv8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQDwAJkADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAA8AmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/DZ8O/874\n        2f/f/+v/2/7n/9v+5//T/eL/0v3h/9L94f/S/eH/0v3h/9L94f/S/eH/0v3h/9L94f/S/eH/0v3h/9L9\n        4f/S/eH/0v3h/9L94f/S/eH/0v3h/9L94f/S/eH/0v3h/9L94f/S/eH/0v3h/9P94v/b/uf/2/7n/9//\n        6//O+Nn/DZ8O/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAPAAmQAPAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkADwCZ\n        APAAmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Nnw7/z/jZ/+D/6//c/uf/3P7n/9T94v/T/eH/0/3h/9P9\n        4f/T/eH/0/3h/9P94f/T/eH/0/3h/9P94f/T/eH/0/3h/9P94f/T/eH/0/3h/9P94f/T/eH/0/3h/9P9\n        4f/T/eH/0/3h/9P94f/T/eH/1P3i/9z+5//c/uf/4P/r/8/42f8Nnw7/AJcA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA8ACZAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAPAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/w2f\n        Dv/Q+Nv/4f/t/93+6f/d/un/1v7k/9X+4//V/uP/1f7j/9X+4//V/uP/1f7j/9X+4//V/uP/1f7j/9X+\n        4//V/uP/1f7j/9X+4//V/uP/1f7j/9X+4//V/uP/1f7j/9X+4//V/uP/1f7j/9X+4//W/uT/3f7p/93+\n        6f/h/+3/0Pjb/w2fDv8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQDwAJkADwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ\n        AA8AmQDwAJkA/wCZAP8AmQD/AJkA/wCZAP8AlwD/DZ8O/9H42//i/+3/3v7p/97+6f/X/uX/1v7k/9b+\n        5P/W/uT/1v7k/9b+5P/W/uT/1v7k/9b+5P/W/uT/1v7k/9b+5P/W/uT/1v7k/9b+5P/W/uT/1v7k/9b+\n        5P/W/uT/1v7k/9b+5P/W/uT/1v7k/9f+5f/e/un/3v7p/+L/7f/R+Nv/DZ8O/wCXAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAPAAmQAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkADwCZAPAAmQD/AJkA/wCZAP8AmQD/AJkA/wCX\n        AP8Onw7/0fjc/+P/7v/f/ur/3/7q/9j+5f/X/uT/1/7k/9f+5P/X/uT/1/7k/9f+5P/X/uT/1/7k/9f+\n        5P/X/uT/1/7k/9f+5P/X/uT/1/7k/9f+5P/X/uT/1/7k/9f+5P/X/uT/1/7k/9f+5P/X/uT/2P7l/9/+\n        6v/f/ur/4//u/9H43P8Onw7/AJcA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACZAA8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAmQAPAJkA8ACZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/w6fDv/S+Nz/5P/u/+D+6v/g/ur/2f7m/9j+\n        5f/Y/uX/2P7l/9j+5f/Y/uX/2P7l/9j+5f/Y/uX/2P7l/9j+5f/Y/uX/2P7l/9j+5f/Y/uX/2P7l/9j+\n        5f/Y/uX/2P7l/9j+5f/Y/uX/2P7l/9j+5f/Z/ub/4P7q/+D+6v/k/+7/0vjc/w6fDv8AlwD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQDwAJkADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZAA8AmADxAJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AlwD/Dp8O/9P43f/l/+//4f7r/+H+6//a/uf/2f7m/9n+5v/Z/ub/2f7m/9n+5v/Z/ub/2f7m/9n+\n        5v/Z/ub/2f7m/9n+5v/Z/ub/2f7m/9n+5v/Z/ub/2f7m/9n+5v/Z/ub/2f7m/9n+5v/Z/ub/2f7m/9r+\n        5//h/uv/4f7r/+X/7//T+N3/Dp8O/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAPEAmQAPAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAJEADgCZAOsAmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8Nnw7/0fjc/+b/8P/h/+z/4f/s/9z+\n        5//b/ub/2/7m/9v+5v/b/ub/2/7m/9v+5v/b/ub/2/7m/9v+5v/b/ub/2/7m/9v+5v/b/ub/2/7m/9v+\n        5v/b/ub/2/7m/9v+5v/b/ub/2/7m/9v+5v/b/ub/3P7n/+H/7P/h/+z/5v/w/9H43P8Nnw7/AJcA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA6wCRAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmQAFAJgAzgCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJcA/wedCP/B88z/6v/z/+P/7P/j/+z/3//q/9v+5//c/uj/3P7o/9z+6P/c/uj/3P7o/9z+\n        6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9v+\n        5//f/+r/4//s/+P/7P/q//P/wfPM/wedCP8AlwD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADOAJkABQAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAmACcAJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJYA/43alf/x//v/4//s/+P/\n        7f/j/+z/3v7p/9z+6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9z+\n        6P/c/uj/3P7o/9z+6P/c/uj/3P7o/9z+6P/c/uj/3v7p/+P/7P/j/+3/4//s//H/+/+N2pX/AJYA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAGYAmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AlAD/NbM5/+b/8P/n//D/5P/t/+T/7f/j/+z/4P/r/9//6v/e/+n/3v/p/97/\n        6f/e/+n/3v/p/97/6f/e/+n/3v/p/97/6f/e/+n/3v/p/97/6f/e/+n/3v/p/97/6f/e/+n/3//q/+D/\n        6//j/+z/5P/t/+T/7f/n//D/5v/w/zWzOf8AlAD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgAZgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJYAMQCYAPwAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlgD/itqT//T/\n        /v/l/+7/5P/t/+X/7v/l/+7/5P/u/+T/7f/k/+3/5P/t/+T/7f/k/+3/5P/t/+T/7f/k/+3/5P/t/+T/\n        7f/k/+3/5P/t/+T/7f/k/+3/5P/t/+T/7f/k/+7/5f/u/+X/7v/k/+3/5f/u//T//v+K2pP/AJYA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAPwAlgAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAIAJgA3wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCWAP8LnQ3/quez//X//v/o//H/5f/u/+X/7v/l/+7/5f/u/+X/\n        7v/l/+7/5f/u/+X/7v/l/+7/5f/u/+X/7v/l/+7/5f/u/+X/7v/l/+7/5f/u/+X/7v/l/+7/5f/u/+X/\n        7v/l/+7/5f/u/+j/8f/1//7/quez/wudDf8AlgD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA3wB/\n        AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlwCSAJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCW\n        AP8Mng7/j9qW/+j/8f/1//3/7f/1/+v/8//q//L/6v/y/+r/8v/q//L/6v/y/+r/8v/q//L/6v/y/+r/\n        8v/q//L/6v/y/+r/8v/q//L/6v/y/+r/8v/q//L/6//z/+3/9f/1//3/6P/x/4/alv8Mng7/AJYA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AlwCSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACX\n        ACUAmAD0AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCXAP8AlgD/ObM9/4jXj//C8sv/0/jc/9n5\n        4f/Z+eD/2fng/9n54P/Z+eD/2fng/9n54P/Z+eD/2fng/9n54P/Z+eD/2fng/9n54P/Z+eD/2fng/9n5\n        4f/T+Nz/wvLL/4jXj/85sz3/AJYA/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJgA9ACX\n        ACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAHwAmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCYAP8AlAD/AJUA/wedCP8Mnw3/Dp8P/w6fD/8Onw//Dp8P/w6fD/8Onw//Dp8P/w6f\n        D/8Onw//Dp8P/w6fD/8Onw//Dp8P/w6fD/8Onw//Dp8P/wyfDf8HnQj/AJUA/wCUAP8AmAD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAFUAAwCZAL4AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJcA/wCX\n        AP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCXAP8AlwD/AJcA/wCX\n        AP8AlwD/AJcA/wCXAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkAvgBV\n        AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJYAIgCYAN4AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCYAN4AlgAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAJkALQCYANsAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmADbAJkALQAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcAJQCY\n        AL0AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJgAvQCXACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH8AAgCXAH4AmQDwAJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA8ACXAH4AfwACAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAACVACkAmQCRAJkA1wCYAPgAmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZAP8AmQD/AJkA/wCZ\n        AP8AmAD4AJkA1wCZAJEAlQApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAIAJQAKwCX\n        AGMAmACVAJgAygCZAOYAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZAPAAmQDwAJkA8ACZ\n        APAAmQDwAJkA8ACZAPAAmQDwAJkA5gCYAMoAmACVAJcAYwCUACsAfwAIAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ///////////////////////////////////////////AAAAD////////////////AAAAAP//////////\n        /////AAAAAA///////////////gAAAAAH//////////////wAAAAAA//////////////4AAAAAAH////\n        /////////8AAAAAAA//////////////AAAAAAAP/////////////gAAAAAAB/////////////4AAAAAA\n        Af////////////8AAAAAAAD/////////////AAAAAAAA/////////////wAAAAAAAP////////////8A\n        AAAAAAD////////////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB/////////\n        ///+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf///\n        /////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAA\n        AH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////////4A\n        AAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH/////////8AAAAAAAAAAAAAD//////\n        wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////4AAAAAAAAAAAAAAAA\n        H///8AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAAAAAAH///AAAAAAAAAAAAAAAAAA///wAAAAAAAAAAA\n        AAAAAAP//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//wAAAAAA\n        AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8A\n        AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA\n        AP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA\n        AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAA\n        AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8A\n        AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA\n        AP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA\n        AAAAAAD//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//8AAAAAA\n        AAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////gAAAAAAAAAAAAAAAAf///8\n        AAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAP/////AAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAA/\n        /////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAA\n        AH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////////4A\n        AAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB/////////\n        ///+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf///\n        /////////gAAAAAAAH////////////4AAAAAAAB/////////////AAAAAAAA/////////////wAAAAAA\n        AP////////////8AAAAAAAD/////////////AAAAAAAA/////////////4AAAAAAAf////////////+A\n        AAAAAAH/////////////wAAAAAAD/////////////8AAAAAAA//////////////gAAAAAAf/////////\n        ////8AAAAAAP//////////////gAAAAAH//////////////8AAAAAD///////////////wAAAAD/////\n        ///////////AAAAD////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/EditParameterPickWindow.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class EditParameterPickWindow\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditParameterPickWindow));\n            this.lb_info = new System.Windows.Forms.Label();\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.pb_add = new System.Windows.Forms.PictureBox();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_add)).BeginInit();\n            this.SuspendLayout();\n            // \n            // lb_info\n            // \n            this.lb_info.AutoSize = true;\n            this.lb_info.ForeColor = System.Drawing.SystemColors.HotTrack;\n            this.lb_info.Location = new System.Drawing.Point(16, 12);\n            this.lb_info.Name = \"lb_info\";\n            this.lb_info.Size = new System.Drawing.Size(479, 12);\n            this.lb_info.TabIndex = 1;\n            this.lb_info.Text = \"Parameter Name     PickType      PickAdditional    PickRange    Pick Expression\";\n            // \n            // bt_ok\n            // \n            this.bt_ok.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.bt_ok.Location = new System.Drawing.Point(711, 31);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 11;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);\n            // \n            // pb_add\n            // \n            this.pb_add.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_add.BackColor = System.Drawing.Color.Transparent;\n            this.pb_add.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_add.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_add.Image\")));\n            this.pb_add.Location = new System.Drawing.Point(762, 2);\n            this.pb_add.Name = \"pb_add\";\n            this.pb_add.Size = new System.Drawing.Size(23, 23);\n            this.pb_add.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_add.TabIndex = 58;\n            this.pb_add.TabStop = false;\n            this.pb_add.Visible = false;\n            this.pb_add.Click += new System.EventHandler(this.pb_add_Click);\n            // \n            // EditParameterPickWindow\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(792, 59);\n            this.Controls.Add(this.pb_add);\n            this.Controls.Add(this.bt_ok);\n            this.Controls.Add(this.lb_info);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"EditParameterPickWindow\";\n            this.Text = \"EditParameterPickWindow\";\n            this.Load += new System.EventHandler(this.EditParameterPickWindow_Load);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_add)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.Label lb_info;\n        private System.Windows.Forms.Button bt_ok;\n        private System.Windows.Forms.PictureBox pb_add;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/EditParameterPickWindow.cs",
    "content": "﻿using FreeHttp.AutoTest.ParameterizationPick;\nusing FreeHttp.FreeHttpControl.MyControl;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class EditParameterPickWindow : Form\n    {\n        public EditParameterPickWindow()\n        {\n            InitializeComponent();\n        }\n\n        private Action<List<ParameterPick>> SetParameterPickAction;\n        private readonly Point startLocation = new Point(8, 28);\n        private readonly int parameterPickBoxHeight = 26;\n        private readonly int startWindowHeight = 87;\n        private List<AddParameterPickBox> addParameterPickBoxList = new List<AddParameterPickBox>();\n\n        public EditParameterPickWindow(List<ParameterPick> parameterPicklist, Action<List<ParameterPick>> setParameterPickAction)\n        {\n            InitializeComponent();\n            if(parameterPicklist!=null && parameterPicklist.Count>0)\n            {\n                foreach(var parameterPick in parameterPicklist)\n                {\n                    AddParameterPickBox(parameterPick);\n                }\n            }\n            else\n            {\n                AddParameterPickBox(null);\n            }\n            SetParameterPickAction = setParameterPickAction;\n        }\n\n        private void EditParameterPickWindow_Load(object sender, EventArgs e)\n        {\n\n        }\n\n        private void AddParameterPickBox(ParameterPick yourParameterPick)\n        {\n            AddParameterPickBox tempAddParameterPickBox;\n            if(yourParameterPick==null)\n            {\n                tempAddParameterPickBox = new AddParameterPickBox(); \n            }\n            else\n            {\n                tempAddParameterPickBox = new AddParameterPickBox(yourParameterPick);\n                tempAddParameterPickBox.Tag = yourParameterPick;\n            }\n            tempAddParameterPickBox.OnAddParameterClick += AddParameterPickBox_OnAddParameterClick;\n            AddAddParameterPickBox(tempAddParameterPickBox);\n        }\n\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        private void AddAddParameterPickBox(AddParameterPickBox yourAddParameterPickBox)\n        {\n            if(addParameterPickBoxList.Contains(yourAddParameterPickBox))\n            {\n                return;\n            }\n            int nowParameterPickBoxCount = addParameterPickBoxList.Count;\n            yourAddParameterPickBox.Location = new Point(startLocation.X, startLocation.Y + nowParameterPickBoxCount * parameterPickBoxHeight);\n            this.Controls.Add(yourAddParameterPickBox);\n            yourAddParameterPickBox.GetFocus();\n            this.Height += parameterPickBoxHeight;\n            addParameterPickBoxList.Add(yourAddParameterPickBox);\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        private void ResizeParameterPickBoxList()\n        {\n            if(addParameterPickBoxList!=null)\n            {\n                for(int i=0;i<addParameterPickBoxList.Count;i++)\n                {\n                    addParameterPickBoxList[i].Location = new Point(startLocation.X, startLocation.Y + parameterPickBoxHeight * i);\n                }\n                this.Height = startWindowHeight + parameterPickBoxHeight * addParameterPickBoxList.Count;\n            }\n        }\n\n        void AddParameterPickBox_OnAddParameterClick(object sender, AddParameterPickBox.AddParameterEventArgs e)\n        {\n            if(e.IsAdd)\n            {\n                try\n                {\n                    ParameterPick tempParameterPick = addParameterPickBoxList[addParameterPickBoxList.Count - 1].GetParameterPickInfo();\n                    addParameterPickBoxList[addParameterPickBoxList.Count - 1].Tag = tempParameterPick;\n                    AddParameterPickBox(null);\n                }\n                catch(Exception ex)\n                {\n                    MessageBox.Show(string.Format(\"this parameter add infomation is illegal :{0}\", ex.Message));\n                    return;\n                }\n            }\n            else\n            {\n                if(addParameterPickBoxList.Contains(sender) || this.Controls.Contains((Control)sender))\n                {\n                    this.Controls.Remove((Control)sender);\n                    addParameterPickBoxList.Remove((AddParameterPickBox)sender);\n                    ResizeParameterPickBoxList();\n                    if(addParameterPickBoxList.Count==0)\n                    {\n                        pb_add.Visible = true ;\n                    }\n                }\n                else\n                {\n                    MessageBox.Show(\"Fial to remove this item\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                }\n            }\n        }\n\n        private void pb_add_Click(object sender, EventArgs e)\n        {\n            AddParameterPickBox(null);\n            pb_add.Visible = false;\n        }\n\n        private void bt_ok_Click(object sender, EventArgs e)\n        {\n            List<ParameterPick> setParameterPickList = new List<ParameterPick>();\n            foreach (var tempItem in addParameterPickBoxList)\n            {\n                if(tempItem.Tag!=null&& tempItem.Tag is ParameterPick)\n                {\n                    setParameterPickList.Add((ParameterPick)tempItem.Tag);\n                }\n                else\n                {\n                    try\n                    {\n                        ParameterPick tempParameterPick = tempItem.GetParameterPickInfo();\n                        tempItem.Tag = tempParameterPick;\n                        setParameterPickList.Add(tempParameterPick);\n                    }\n                    catch (Exception ex)\n                    {\n                        MessageBox.Show(string.Format(\"this parameter add infomation is illegal :{0}\", ex.Message));\n                        return;\n                    }\n                }\n            }\n            if(SetParameterPickAction!=null)\n            {\n                SetParameterPickAction(setParameterPickList);\n            }\n            this.Close();\n        }\n\n\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/EditParameterPickWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pb_add.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAMQOAADEDgAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA2pYRmduWEv/blhL/25YS/9uWEv/blhL/3JYSZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv/blhL/25YS/wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblQ9G25YS/9uW\n        Ev/blhL/25YS/9uWEv/blRK5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA25YS/9uWEv/blhL/25YS/9uWEv/blhL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv/blhL/25YS/wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANqWEZnblhL/25YS/9uWEv/blhL/25YS/9yW\n        EmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAD/gAAE25YS/9uWEv/blhL/25YS/9uWEv/alRH7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA25YS/9uWEv/blhL/25YS/9uWEv/blhL/AAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv/blhL/25YS/wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuUEivblhL/25YS/9uW\n        Ev/blhL/25YS/9uVEdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA25YS/9uWEv/blhL/25YS/9uWEv/blhL/AAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AABNuWEv/blhL/25YS/9uWEv/blhL/2pUR+wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADalRH725YS/9uWEv/blhL/25YS/9uWEv//gAAEAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YS/9uWEv/blhL/25YS/9uWEv/blhL/AAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuV\n        EdTblhL/25YS/9uWEv/blhL/25YS/9uUEisAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YS/9uWEv/blhL/25YS/9uWEv/blhL/AAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2pUR+9uWEv/blhL/25YS/9uW\n        Ev/blhL//4AABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/AAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////////\n        AADgAD/8AAcAAOAAP/wABwAA4AA//AAHAADj/////8cAAOP/////xwAA4//////HAADj8D///8cAAOP4\n        H///xwAA4/wf///HAADj/A///8cAAOP+B///xwAA4/8H///HAADj/wP//8cAAOP/gf//xwAA4//B///H\n        AADj/8D//8cAAOP/4P//xwAA4//gf//HAADj//A//8cAAOP/+D//xwAA4//4H//HAADj//wP/8cAAOP/\n        /g//xwAA4//+B//HAADj//8D/8cAAOP//4P/xwAA4///gf/HAADj///A/8cAAOP//+D/xwAA4///4H/H\n        AADj///wP8cAAOP///g/xwAA4///+B/HAADj///8D8cAAOP///wPxwAA4////gfHAADj/////8cAAOP/\n        ////xwAA4//////HAADgAD/8AAcAAOAAP/wABwAA4AA//AAHAAD///////8AAP///////wAA////////\n        AAA=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/EditSheetForm.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class EditSheetForm\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.components = new System.ComponentModel.Container();\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditSheetForm));\n            this.dataGridView = new System.Windows.Forms.DataGridView();\n            this.pb_saveSheet = new System.Windows.Forms.PictureBox();\n            this.pb_export = new System.Windows.Forms.PictureBox();\n            this.saveFileDialog = new System.Windows.Forms.SaveFileDialog();\n            this.toolTip = new System.Windows.Forms.ToolTip(this.components);\n            ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_saveSheet)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_export)).BeginInit();\n            this.SuspendLayout();\n            // \n            // dataGridView\n            // \n            this.dataGridView.BackgroundColor = System.Drawing.Color.AliceBlue;\n            this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;\n            this.dataGridView.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.dataGridView.GridColor = System.Drawing.Color.AliceBlue;\n            this.dataGridView.Location = new System.Drawing.Point(0, 0);\n            this.dataGridView.Name = \"dataGridView\";\n            this.dataGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders;\n            this.dataGridView.RowTemplate.Height = 23;\n            this.dataGridView.Size = new System.Drawing.Size(871, 410);\n            this.dataGridView.TabIndex = 0;\n            this.dataGridView.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridView_RowsAdded);\n            this.dataGridView.RowsRemoved += new System.Windows.Forms.DataGridViewRowsRemovedEventHandler(this.dataGridView_RowsRemoved);\n            // \n            // pb_saveSheet\n            // \n            this.pb_saveSheet.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_saveSheet.BackColor = System.Drawing.Color.Transparent;\n            this.pb_saveSheet.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_saveSheet.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_saveSheet.Image\")));\n            this.pb_saveSheet.Location = new System.Drawing.Point(830, 0);\n            this.pb_saveSheet.Name = \"pb_saveSheet\";\n            this.pb_saveSheet.Size = new System.Drawing.Size(20, 20);\n            this.pb_saveSheet.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_saveSheet.TabIndex = 43;\n            this.pb_saveSheet.TabStop = false;\n            this.toolTip.SetToolTip(this.pb_saveSheet, \"save data\");\n            this.pb_saveSheet.Click += new System.EventHandler(this.pb_saveSheet_Click);\n            this.pb_saveSheet.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_saveSheet.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // pb_export\n            // \n            this.pb_export.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_export.BackColor = System.Drawing.Color.Transparent;\n            this.pb_export.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_export.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_export.Image\")));\n            this.pb_export.Location = new System.Drawing.Point(851, 0);\n            this.pb_export.Name = \"pb_export\";\n            this.pb_export.Size = new System.Drawing.Size(20, 20);\n            this.pb_export.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_export.TabIndex = 44;\n            this.pb_export.TabStop = false;\n            this.toolTip.SetToolTip(this.pb_export, \"export data\");\n            this.pb_export.Click += new System.EventHandler(this.pb_export_Click);\n            this.pb_export.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_export.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // saveFileDialog\n            // \n            this.saveFileDialog.Filter = \"csv files (*.csv)|*.csv\";\n            // \n            // EditSheetForm\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(871, 410);\n            this.Controls.Add(this.pb_export);\n            this.Controls.Add(this.pb_saveSheet);\n            this.Controls.Add(this.dataGridView);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MinimizeBox = false;\n            this.Name = \"EditSheetForm\";\n            this.Text = \"EditSheetForm\";\n            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.EditSheetForm_FormClosing);\n            this.Load += new System.EventHandler(this.EditSheetForm_Load);\n            ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_saveSheet)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_export)).EndInit();\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.DataGridView dataGridView;\n        private System.Windows.Forms.PictureBox pb_saveSheet;\n        private System.Windows.Forms.PictureBox pb_export;\n        private System.Windows.Forms.SaveFileDialog saveFileDialog;\n        private System.Windows.Forms.ToolTip toolTip;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/EditSheetForm.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nusing FreeHttp.AutoTest;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class EditSheetForm : Form\n    {\n        public class SaveSheetDataEventArgs : EventArgs\n        {\n            public List<List<string>> SheetData { get; set; }\n            public Point? SelectCell { get; set; }\n            public SaveSheetDataEventArgs(List<List<string>> sheetData, Point? selectCell)\n            {\n                SheetData = sheetData;\n                SelectCell = selectCell;\n            }\n        }\n\n        public EditSheetForm()\n        {\n            InitializeComponent();\n        }\n\n        public event EventHandler<SaveSheetDataEventArgs> SaveSheetData;\n        private List<List<string>> listViewSource;\n        private DataTable sourceDataTable;\n        private Point selectCell;\n        public EditSheetForm(string name, List<List<string>> dataSource, Point yourSelectCell)\n            : this()\n        {\n            this.Text = string.IsNullOrEmpty(name) ? \"\" : name;\n            if (dataSource != null) { listViewSource = dataSource; selectCell = yourSelectCell; }\n        }\n\n        private void EditSheetForm_Load(object sender, EventArgs e)\n        {\n            dataGridView.DataSource = FillData(listViewSource);\n            for(int i =0 ; i <dataGridView.Columns.Count;i++)\n            {\n                dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;\n            }\n            if(selectCell.X<dataGridView.ColumnCount&&selectCell.Y<dataGridView.RowCount)\n            {\n                //dataGridView.Rows[0].Cells[0].Selected = false;\n                //dataGridView.Rows[0].Cells[0].Selected = true;\n                dataGridView.CurrentCell = dataGridView.Rows[selectCell.Y].Cells[selectCell.X];\n            }\n            \n        }\n\n        private void dataGridView_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)\n        {\n            for (int i = e.RowIndex; i < dataGridView.Rows.Count; i++)\n            {\n                dataGridView.Rows[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;\n                dataGridView.Rows[i].HeaderCell.Value = (i).ToString();\n            }\n        }\n\n        private void dataGridView_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)\n        {\n            for (int i = e.RowIndex; i < dataGridView.Rows.Count; i++)\n            {\n                dataGridView.Rows[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;\n                dataGridView.Rows[i].HeaderCell.Value = (i).ToString();\n            }\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n        private void pb_saveSheet_Click(object sender, EventArgs e)\n        {\n            if (SaveSheetData!=null)\n            {\n                List<List<string>> tempViewSource;\n                tempViewSource = GetData();\n                this.SaveSheetData(this, new SaveSheetDataEventArgs(tempViewSource, dataGridView.CurrentCell == null ? (Point?)null : new Point?(new Point(dataGridView.CurrentCell.ColumnIndex, dataGridView.CurrentCell.RowIndex))));\n            }\n        }\n\n        private void EditSheetForm_FormClosing(object sender, FormClosingEventArgs e)\n        {\n            pb_saveSheet_Click(this, null);\n        }\n\n        private void pb_export_Click(object sender, EventArgs e)\n        {\n            //saveFileDialog\n            if (saveFileDialog.ShowDialog() == DialogResult.OK)\n            {\n                List<List<string>> tempViewSource = GetData();\n                try\n                {\n                    FreeHttp.AutoTest.MyCommonHelper.FileHelper.CsvFileHelper.SaveCsvFile(saveFileDialog.FileName, tempViewSource);\n                }\n                catch(Exception ex)\n                {\n                    MessageBox.Show(ex.Message, \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                }\n            }\n        }\n\n        private DataTable FillData(List<List<string>> sourceData)\n        {\n            sourceDataTable = new DataTable();\n            int columnCount = 0;\n            if (sourceData != null)\n            {\n                sourceDataTable.BeginLoadData();\n                foreach (List<string> tempRowItem in sourceData)\n                {\n                    if (tempRowItem != null && tempRowItem.Count > 0)\n                    {\n                        if (tempRowItem.Count > columnCount)\n                        {\n                            for (int i = columnCount; i < tempRowItem.Count; i++)\n                            {\n                                sourceDataTable.Columns.Add((i).ToString(), typeof(string));\n                            }\n                            columnCount = tempRowItem.Count;\n                        }\n                        sourceDataTable.Rows.Add(tempRowItem.ToArray());\n                    }\n                    else\n                    {\n                        sourceDataTable.Rows.Add(sourceDataTable.NewRow());\n                    }\n                }\n                sourceDataTable.EndLoadData();\n            }\n\n            return sourceDataTable;\n        }\n\n        private List<List<string>> GetData()\n        {\n            List<List<string>> outData = new List<List<string>>();\n            if (sourceDataTable != null)\n            {\n                if (dataGridView.IsCurrentCellDirty)\n                {\n                    dataGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);\n                    dataGridView.BindingContext[dataGridView.DataSource].EndCurrentEdit();\n                }\n                dataGridView.EndEdit();\n                foreach (DataRow tempRow in sourceDataTable.Rows)\n                {\n                    outData.Add(tempRow.ItemArray);\n                }\n            }\n            return outData;\n        }\n\n        private bool IsDataSourceEqual(List<List<string>> yourDataSource)\n        {\n            if (listViewSource == yourDataSource) return true;\n            if(listViewSource == null || yourDataSource==null) return false;\n            if(listViewSource.Count!= yourDataSource.Count) return false;\n            for(int i =0;i< listViewSource.Count;i++)\n            {\n                if (listViewSource[i].Count != yourDataSource[i].Count) return false;\n                for(int j =0;j< listViewSource[i].Count;j++)\n                {\n                    if(listViewSource[i][j]!= yourDataSource[i][j])\n                    {\n                        return false;\n                    }\n                }\n            }\n            return true;\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/EditSheetForm.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pb_saveSheet.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        kmX/BecqfRkxOnTlAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <metadata name=\"toolTip.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>153, 17</value>\n  </metadata>\n  <data name=\"pb_export.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <metadata name=\"saveFileDialog.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA\n        AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexAiS3sQmUt7EO5LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fu5lpxaZZacWIv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQM0t7EO5LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxbuZacWM////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        ECJLexDuS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxbuZacWIv///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQmUt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxaZ////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexDuS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFu7///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/SHUP/0t7\n        EP9LexD/SHUP/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7\n        EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0h1D/9LexD/S3sQ/0t7EP9LexD/SHUP/0t7EP9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1\n        D/9LexD/SHUP/0t7EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0h1D/9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9LexD/S3sQ/0h1D/////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1D/9LexD/S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0h1D/9LexD/SHUP/0t7\n        EP9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7EP9IdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1\n        D/9LexD/S3sQ/0h1D/9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/0t7EP////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9IdQ//S3sQ/0h1\n        D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//S3sQ/0h1\n        D/9IdQ//SHUP/0t7EP9LexD/SHUP/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0t7EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/SHUP/0t7\n        EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1D/////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEh1D/9LexD/SHUP/0t7EP9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0h1D/9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBIdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1\n        D/////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9IdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8ASHUP/0t7EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7\n        EP9IdQ//////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexD/SHUP/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7\n        EP9IdQ//S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9LexD/SHUP/0h1\n        D/9LexD/SHUP/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP9IdQ//SHUP/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0t7EP9IdQ//S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9IdQ//SHUP/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9LexD/SHUP/0h1\n        D/9LexD/SHUP/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/SHUP/0t7EP9IdQ//SHUP/0h1D/9LexD/SHUP/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1D/////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0h1D/9LexD/S3sQ/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7\n        EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0t7\n        EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP9LexD/S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/SHUP/0t7EP9LexD/SHUP/0t7EP9LexD/S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaKga7GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////ABoqBrsaKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AGioGuxoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wAaKga7GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ABoq\n        BrsaKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wAaKga7GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////ABoqBrsaKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaKga7GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////ABoqBpkaKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG7v///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AGioGRBoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgaZ////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG7hoqBiL///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaKgYRGioGzBoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bu4aKgYz////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AGioGiBoqBt0aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBu4aKgaZGioGIv///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ///////////////////////////////////////////////////////////AAAD/AAAAAAAAAAP/////\n        gAAA/wAAAAAAAAAB/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////////////////////////////////////////////8AAAAA\n        AAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////\n        AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA\n        /////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAA\n        AAAAAP////8AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAf/////gAAAA\n        AAAAAAAAAAP/////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/FreeHttpWindow.Designer.cs",
    "content": "﻿using FreeHttp;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    partial class FreeHttpWindow\n    {\n        /// <summary> \n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary> \n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary> \n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.components = new System.ComponentModel.Container();\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FreeHttpWindow));\n            this.imageList_forTab = new System.Windows.Forms.ImageList(this.components);\n            this.contextMenuStrip_AddFile = new System.Windows.Forms.ContextMenuStrip(this.components);\n            this.addFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.addParameterDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.keyValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.parameterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.dataSouceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();\n            this.editDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.toolStripSeparator_addAndCheck = new System.Windows.Forms.ToolStripSeparator();\n            this.antoContentLengthToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.openFileDialog_addFIle = new System.Windows.Forms.OpenFileDialog();\n            this.splitContainer_main = new System.Windows.Forms.SplitContainer();\n            this.splitContainer_httpEditInfo = new System.Windows.Forms.SplitContainer();\n            this.rtb_MesInfo = new System.Windows.Forms.RichTextBox();\n            this.groupBox_urlFilter = new System.Windows.Forms.GroupBox();\n            this.pictureBox_editHttpFilter = new System.Windows.Forms.PictureBox();\n            this.tb_urlFilter = new System.Windows.Forms.TextBox();\n            this.lb_editRuleMode = new System.Windows.Forms.Label();\n            this.pictureBox_editRuleMode = new System.Windows.Forms.PictureBox();\n            this.pb_getSession = new System.Windows.Forms.PictureBox();\n            this.cb_macthMode = new System.Windows.Forms.ComboBox();\n            this.splitContainer_httpControl = new System.Windows.Forms.SplitContainer();\n            this.pb_remoteRule = new System.Windows.Forms.PictureBox();\n            this.pb_addRequestRule = new System.Windows.Forms.PictureBox();\n            this.pb_removeRequestRule = new System.Windows.Forms.PictureBox();\n            this.pb_requestRuleSwitch = new System.Windows.Forms.PictureBox();\n            this.contextMenu_ruleList = new System.Windows.Forms.ContextMenuStrip(this.components);\n            this.removeSelectedRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.removeAllRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.copySelectedRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.enableThisRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.enableAllRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.unableAllRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.editThisRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.groupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.addToNewGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.moveToGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.renameThisGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.deleteThisGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.enableThisGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.unableThisGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.pb_addResponseRule = new System.Windows.Forms.PictureBox();\n            this.pb_removeResponseRule = new System.Windows.Forms.PictureBox();\n            this.pb_responseRuleSwitch = new System.Windows.Forms.PictureBox();\n            this.toolTip_forMainWindow = new System.Windows.Forms.ToolTip(this.components);\n            this.contextMenuStrip_addParameter = new System.Windows.Forms.ContextMenuStrip(this.components);\n            this.currentValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.nextValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.previousValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.panel_modific = new FreeHttp.FreeHttpControl.MyPanel();\n            this.tabControl_Modific = new System.Windows.Forms.TabControl();\n            this.tabPage_requestModific = new System.Windows.Forms.TabPage();\n            this.splitContainer_requestModific = new System.Windows.Forms.SplitContainer();\n            this.groupBox_headsModific = new System.Windows.Forms.GroupBox();\n            this.requestAddHeads = new FreeHttp.FreeHttpControl.EditListView();\n            this.requestRemoveHeads = new FreeHttp.FreeHttpControl.EditListView();\n            this.groupBox_bodyModific = new System.Windows.Forms.GroupBox();\n            this.panel2 = new FreeHttp.FreeHttpControl.MyPanel();\n            this.rtb_requestModific_body = new System.Windows.Forms.RichTextBox();\n            this.panel1 = new FreeHttp.FreeHttpControl.MyPanel();\n            this.tbe_RequestBodyModific = new FreeHttp.FreeHttpControl.TextBoxEditer();\n            this.tb_requestModific_body = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.label1 = new System.Windows.Forms.Label();\n            this.groupBox_uriModific = new System.Windows.Forms.GroupBox();\n            this.tb_requestModific_uriModificKey = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.tb_requestModific_uriModificValue = new System.Windows.Forms.TextBox();\n            this.tabPage_requestReplace = new System.Windows.Forms.TabPage();\n            this.splitContainer_requestReplace = new System.Windows.Forms.SplitContainer();\n            this.elv_requsetReplace = new FreeHttp.FreeHttpControl.EditListView();\n            this.rtb_requsetReplace_body = new System.Windows.Forms.RichTextBox();\n            this.rtb_requestRaw = new System.Windows.Forms.RichTextBox();\n            this.panel_requestReplace_startLine = new FreeHttp.FreeHttpControl.MyPanel();\n            this.pb_requestReplace_changeMode = new System.Windows.Forms.PictureBox();\n            this.lb_editStartLine = new System.Windows.Forms.Label();\n            this.tb_requestReplace_uri = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.cb_editRequestMethod = new System.Windows.Forms.ComboBox();\n            this.cb_editRequestEdition = new System.Windows.Forms.ComboBox();\n            this.tabPage_responseModific = new System.Windows.Forms.TabPage();\n            this.splitContainer_responseModific = new System.Windows.Forms.SplitContainer();\n            this.groupBox_reponseHeadModific = new System.Windows.Forms.GroupBox();\n            this.responseAddHeads = new FreeHttp.FreeHttpControl.EditListView();\n            this.responseRemoveHeads = new FreeHttp.FreeHttpControl.EditListView();\n            this.groupBox_responseBodyModific = new System.Windows.Forms.GroupBox();\n            this.panel3 = new FreeHttp.FreeHttpControl.MyPanel();\n            this.rtb_respenseModific_body = new System.Windows.Forms.RichTextBox();\n            this.panel4 = new FreeHttp.FreeHttpControl.MyPanel();\n            this.tbe_ResponseBodyModific = new FreeHttp.FreeHttpControl.TextBoxEditer();\n            this.tb_responseModific_body = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.label2 = new System.Windows.Forms.Label();\n            this.tabPage_responseReplace = new System.Windows.Forms.TabPage();\n            this.rawResponseEdit = new FreeHttp.FreeHttpControl.RawResponseEdit();\n            this.panel_modific_Contorl = new FreeHttp.FreeHttpControl.MyPanel();\n            this.pb_parameterSwitch = new FreeHttp.FreeHttpControl.MySwitchPictureButton();\n            this.pb_protocolSwitch = new FreeHttp.FreeHttpControl.MySwitchPictureButton();\n            this.pb_pickRule = new System.Windows.Forms.PictureBox();\n            this.lbl_ResponseLatency = new System.Windows.Forms.LinkLabel();\n            this.pb_responseLatency = new System.Windows.Forms.PictureBox();\n            this.pb_ruleComfrim = new System.Windows.Forms.PictureBox();\n            this.pb_ruleCancel = new System.Windows.Forms.PictureBox();\n            this.menuStrip_quickRule = new System.Windows.Forms.MenuStrip();\n            this.quickRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.disableCacheToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.addCookieToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.deleteCookieToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.setClientCookieToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.copySessionCookiesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.removeSessionCookiesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.addUserAgentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.changeSessionEncodingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.modificToolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.independentWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.showSelectedSessionStreamToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.parameterDataManageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.httpTamperSettingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.loadingRemoteRuleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.feedbackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.codeInGithubToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.documentationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.tbe_urlFilter = new FreeHttp.FreeHttpControl.TextBoxEditer();\n            this.lv_requestRuleList = new FreeHttp.FreeHttpControl.MyListView();\n            this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.columnHeader_requstRule = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.lv_responseRuleList = new FreeHttp.FreeHttpControl.MyListView();\n            this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.columnHeader_responseRule = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.contextMenuStrip_AddFile.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_main)).BeginInit();\n            this.splitContainer_main.Panel1.SuspendLayout();\n            this.splitContainer_main.Panel2.SuspendLayout();\n            this.splitContainer_main.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_httpEditInfo)).BeginInit();\n            this.splitContainer_httpEditInfo.Panel1.SuspendLayout();\n            this.splitContainer_httpEditInfo.Panel2.SuspendLayout();\n            this.splitContainer_httpEditInfo.SuspendLayout();\n            this.groupBox_urlFilter.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_editHttpFilter)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_editRuleMode)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_getSession)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_httpControl)).BeginInit();\n            this.splitContainer_httpControl.Panel1.SuspendLayout();\n            this.splitContainer_httpControl.Panel2.SuspendLayout();\n            this.splitContainer_httpControl.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_remoteRule)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_addRequestRule)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_removeRequestRule)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_requestRuleSwitch)).BeginInit();\n            this.contextMenu_ruleList.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_addResponseRule)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_removeResponseRule)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_responseRuleSwitch)).BeginInit();\n            this.contextMenuStrip_addParameter.SuspendLayout();\n            this.panel_modific.SuspendLayout();\n            this.tabControl_Modific.SuspendLayout();\n            this.tabPage_requestModific.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_requestModific)).BeginInit();\n            this.splitContainer_requestModific.Panel1.SuspendLayout();\n            this.splitContainer_requestModific.Panel2.SuspendLayout();\n            this.splitContainer_requestModific.SuspendLayout();\n            this.groupBox_headsModific.SuspendLayout();\n            this.groupBox_bodyModific.SuspendLayout();\n            this.panel2.SuspendLayout();\n            this.panel1.SuspendLayout();\n            this.groupBox_uriModific.SuspendLayout();\n            this.tabPage_requestReplace.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_requestReplace)).BeginInit();\n            this.splitContainer_requestReplace.Panel1.SuspendLayout();\n            this.splitContainer_requestReplace.Panel2.SuspendLayout();\n            this.splitContainer_requestReplace.SuspendLayout();\n            this.panel_requestReplace_startLine.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_requestReplace_changeMode)).BeginInit();\n            this.tabPage_responseModific.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_responseModific)).BeginInit();\n            this.splitContainer_responseModific.Panel1.SuspendLayout();\n            this.splitContainer_responseModific.Panel2.SuspendLayout();\n            this.splitContainer_responseModific.SuspendLayout();\n            this.groupBox_reponseHeadModific.SuspendLayout();\n            this.groupBox_responseBodyModific.SuspendLayout();\n            this.panel3.SuspendLayout();\n            this.panel4.SuspendLayout();\n            this.tabPage_responseReplace.SuspendLayout();\n            this.panel_modific_Contorl.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_parameterSwitch)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_protocolSwitch)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_pickRule)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_responseLatency)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_ruleComfrim)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_ruleCancel)).BeginInit();\n            this.menuStrip_quickRule.SuspendLayout();\n            this.SuspendLayout();\n            // \n            // imageList_forTab\n            // \n            this.imageList_forTab.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject(\"imageList_forTab.ImageStream\")));\n            this.imageList_forTab.TransparentColor = System.Drawing.Color.Transparent;\n            this.imageList_forTab.Images.SetKeyName(0, \"request_modific.png\");\n            this.imageList_forTab.Images.SetKeyName(1, \"request_replace.png\");\n            this.imageList_forTab.Images.SetKeyName(2, \"response_modific.png\");\n            this.imageList_forTab.Images.SetKeyName(3, \"response_replace.png\");\n            this.imageList_forTab.Images.SetKeyName(4, \"ws_replace.png\");\n            // \n            // contextMenuStrip_AddFile\n            // \n            this.contextMenuStrip_AddFile.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.addFileToolStripMenuItem,\n            this.addParameterDataToolStripMenuItem,\n            this.toolStripSeparator_addAndCheck,\n            this.antoContentLengthToolStripMenuItem});\n            this.contextMenuStrip_AddFile.Name = \"contextMenuStrip_AddFile\";\n            this.contextMenuStrip_AddFile.Size = new System.Drawing.Size(196, 76);\n            this.contextMenuStrip_AddFile.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip_AddFile_Opening);\n            // \n            // addFileToolStripMenuItem\n            // \n            this.addFileToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"addFileToolStripMenuItem.Image\")));\n            this.addFileToolStripMenuItem.Name = \"addFileToolStripMenuItem\";\n            this.addFileToolStripMenuItem.Size = new System.Drawing.Size(195, 22);\n            this.addFileToolStripMenuItem.Text = \"add file\";\n            this.addFileToolStripMenuItem.Click += new System.EventHandler(this.addFileToolStripMenuItem_Click);\n            // \n            // addParameterDataToolStripMenuItem\n            // \n            this.addParameterDataToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.keyValueToolStripMenuItem,\n            this.parameterToolStripMenuItem,\n            this.dataSouceToolStripMenuItem,\n            this.toolStripSeparator1,\n            this.editDataToolStripMenuItem});\n            this.addParameterDataToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"addParameterDataToolStripMenuItem.Image\")));\n            this.addParameterDataToolStripMenuItem.Name = \"addParameterDataToolStripMenuItem\";\n            this.addParameterDataToolStripMenuItem.Size = new System.Drawing.Size(195, 22);\n            this.addParameterDataToolStripMenuItem.Text = \"add Parameter Data\";\n            this.addParameterDataToolStripMenuItem.DropDownOpening += new System.EventHandler(this.addParameterDataToolStripMenuItem_DropDownOpening);\n            // \n            // keyValueToolStripMenuItem\n            // \n            this.keyValueToolStripMenuItem.Name = \"keyValueToolStripMenuItem\";\n            this.keyValueToolStripMenuItem.Size = new System.Drawing.Size(138, 22);\n            this.keyValueToolStripMenuItem.Text = \"KeyValue\";\n            // \n            // parameterToolStripMenuItem\n            // \n            this.parameterToolStripMenuItem.Name = \"parameterToolStripMenuItem\";\n            this.parameterToolStripMenuItem.Size = new System.Drawing.Size(138, 22);\n            this.parameterToolStripMenuItem.Text = \"Parameter\";\n            // \n            // dataSouceToolStripMenuItem\n            // \n            this.dataSouceToolStripMenuItem.Name = \"dataSouceToolStripMenuItem\";\n            this.dataSouceToolStripMenuItem.Size = new System.Drawing.Size(138, 22);\n            this.dataSouceToolStripMenuItem.Text = \"DataSouce\";\n            // \n            // toolStripSeparator1\n            // \n            this.toolStripSeparator1.Name = \"toolStripSeparator1\";\n            this.toolStripSeparator1.Size = new System.Drawing.Size(135, 6);\n            // \n            // editDataToolStripMenuItem\n            // \n            this.editDataToolStripMenuItem.Name = \"editDataToolStripMenuItem\";\n            this.editDataToolStripMenuItem.Size = new System.Drawing.Size(138, 22);\n            this.editDataToolStripMenuItem.Text = \"Edit Data\";\n            this.editDataToolStripMenuItem.Click += new System.EventHandler(this.parameterDataManageToolStripMenuItem_Click);\n            // \n            // toolStripSeparator_addAndCheck\n            // \n            this.toolStripSeparator_addAndCheck.Name = \"toolStripSeparator_addAndCheck\";\n            this.toolStripSeparator_addAndCheck.Size = new System.Drawing.Size(192, 6);\n            // \n            // antoContentLengthToolStripMenuItem\n            // \n            this.antoContentLengthToolStripMenuItem.Checked = true;\n            this.antoContentLengthToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;\n            this.antoContentLengthToolStripMenuItem.Name = \"antoContentLengthToolStripMenuItem\";\n            this.antoContentLengthToolStripMenuItem.Size = new System.Drawing.Size(195, 22);\n            this.antoContentLengthToolStripMenuItem.Text = \"anto Content-Length\";\n            this.antoContentLengthToolStripMenuItem.Click += new System.EventHandler(this.antoContentLengthToolStripMenuItem_Click);\n            // \n            // openFileDialog_addFIle\n            // \n            this.openFileDialog_addFIle.FileName = \"openFileDialog\";\n            // \n            // splitContainer_main\n            // \n            this.splitContainer_main.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.splitContainer_main.Location = new System.Drawing.Point(0, 0);\n            this.splitContainer_main.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.splitContainer_main.Name = \"splitContainer_main\";\n            // \n            // splitContainer_main.Panel1\n            // \n            this.splitContainer_main.Panel1.Controls.Add(this.splitContainer_httpEditInfo);\n            this.splitContainer_main.Panel1.Controls.Add(this.groupBox_urlFilter);\n            // \n            // splitContainer_main.Panel2\n            // \n            this.splitContainer_main.Panel2.Controls.Add(this.splitContainer_httpControl);\n            this.splitContainer_main.Size = new System.Drawing.Size(966, 552);\n            this.splitContainer_main.SplitterDistance = 609;\n            this.splitContainer_main.TabIndex = 0;\n            // \n            // splitContainer_httpEditInfo\n            // \n            this.splitContainer_httpEditInfo.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.splitContainer_httpEditInfo.Location = new System.Drawing.Point(0, 44);\n            this.splitContainer_httpEditInfo.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.splitContainer_httpEditInfo.Name = \"splitContainer_httpEditInfo\";\n            this.splitContainer_httpEditInfo.Orientation = System.Windows.Forms.Orientation.Horizontal;\n            // \n            // splitContainer_httpEditInfo.Panel1\n            // \n            this.splitContainer_httpEditInfo.Panel1.Controls.Add(this.panel_modific);\n            // \n            // splitContainer_httpEditInfo.Panel2\n            // \n            this.splitContainer_httpEditInfo.Panel2.Controls.Add(this.rtb_MesInfo);\n            this.splitContainer_httpEditInfo.Size = new System.Drawing.Size(609, 508);\n            this.splitContainer_httpEditInfo.SplitterDistance = 356;\n            this.splitContainer_httpEditInfo.TabIndex = 7;\n            // \n            // rtb_MesInfo\n            // \n            this.rtb_MesInfo.BackColor = System.Drawing.Color.Azure;\n            this.rtb_MesInfo.DetectUrls = false;\n            this.rtb_MesInfo.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rtb_MesInfo.HideSelection = false;\n            this.rtb_MesInfo.Location = new System.Drawing.Point(0, 0);\n            this.rtb_MesInfo.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.rtb_MesInfo.Name = \"rtb_MesInfo\";\n            this.rtb_MesInfo.Size = new System.Drawing.Size(609, 148);\n            this.rtb_MesInfo.TabIndex = 0;\n            this.rtb_MesInfo.Text = \"\";\n            // \n            // groupBox_urlFilter\n            // \n            this.groupBox_urlFilter.Controls.Add(this.pictureBox_editHttpFilter);\n            this.groupBox_urlFilter.Controls.Add(this.tbe_urlFilter);\n            this.groupBox_urlFilter.Controls.Add(this.lb_editRuleMode);\n            this.groupBox_urlFilter.Controls.Add(this.pictureBox_editRuleMode);\n            this.groupBox_urlFilter.Controls.Add(this.pb_getSession);\n            this.groupBox_urlFilter.Controls.Add(this.cb_macthMode);\n            this.groupBox_urlFilter.Controls.Add(this.tb_urlFilter);\n            this.groupBox_urlFilter.Dock = System.Windows.Forms.DockStyle.Top;\n            this.groupBox_urlFilter.Location = new System.Drawing.Point(0, 0);\n            this.groupBox_urlFilter.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_urlFilter.Name = \"groupBox_urlFilter\";\n            this.groupBox_urlFilter.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_urlFilter.Size = new System.Drawing.Size(609, 44);\n            this.groupBox_urlFilter.TabIndex = 6;\n            this.groupBox_urlFilter.TabStop = false;\n            this.groupBox_urlFilter.Text = \"Url Filter\";\n            // \n            // pictureBox_editHttpFilter\n            // \n            this.pictureBox_editHttpFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_editHttpFilter.BackColor = System.Drawing.Color.Transparent;\n            this.pictureBox_editHttpFilter.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_editHttpFilter.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox_editHttpFilter.Image\")));\n            this.pictureBox_editHttpFilter.Location = new System.Drawing.Point(449, 17);\n            this.pictureBox_editHttpFilter.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pictureBox_editHttpFilter.Name = \"pictureBox_editHttpFilter\";\n            this.pictureBox_editHttpFilter.Size = new System.Drawing.Size(20, 20);\n            this.pictureBox_editHttpFilter.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox_editHttpFilter.TabIndex = 51;\n            this.pictureBox_editHttpFilter.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pictureBox_editHttpFilter, \"edit advanced http filter\");\n            this.pictureBox_editHttpFilter.Click += new System.EventHandler(this.pictureBox_editHttpFilter_Click);\n            this.pictureBox_editHttpFilter.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pictureBox_editHttpFilter.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // tb_urlFilter\n            // \n            this.tb_urlFilter.AllowDrop = true;\n            this.tb_urlFilter.Location = new System.Drawing.Point(104, 18);\n            this.tb_urlFilter.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tb_urlFilter.Name = \"tb_urlFilter\";\n            this.tb_urlFilter.Size = new System.Drawing.Size(344, 21);\n            this.tb_urlFilter.TabIndex = 0;\n            this.toolTip_forMainWindow.SetToolTip(this.tb_urlFilter, \"the match vaule (match full url include http:// and ？key=value)\");\n            this.tb_urlFilter.DragDrop += new System.Windows.Forms.DragEventHandler(this.tb_urlFilter_DragDrop);\n            this.tb_urlFilter.DragEnter += new System.Windows.Forms.DragEventHandler(this.tb_urlFilter_DragEnter);\n            this.tb_urlFilter.Enter += new System.EventHandler(this.tb_Modific_body_Enter);\n            this.tb_urlFilter.Leave += new System.EventHandler(this.tb_Modific_body_Leave);\n            // \n            // lb_editRuleMode\n            // \n            this.lb_editRuleMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.lb_editRuleMode.AutoSize = true;\n            this.lb_editRuleMode.Location = new System.Drawing.Point(497, 21);\n            this.lb_editRuleMode.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);\n            this.lb_editRuleMode.Name = \"lb_editRuleMode\";\n            this.lb_editRuleMode.Size = new System.Drawing.Size(53, 12);\n            this.lb_editRuleMode.TabIndex = 40;\n            this.lb_editRuleMode.Text = \"New Rule\";\n            // \n            // pictureBox_editRuleMode\n            // \n            this.pictureBox_editRuleMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_editRuleMode.BackColor = System.Drawing.Color.Transparent;\n            this.pictureBox_editRuleMode.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_editRuleMode.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox_editRuleMode.Image\")));\n            this.pictureBox_editRuleMode.Location = new System.Drawing.Point(471, 16);\n            this.pictureBox_editRuleMode.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pictureBox_editRuleMode.Name = \"pictureBox_editRuleMode\";\n            this.pictureBox_editRuleMode.Size = new System.Drawing.Size(23, 22);\n            this.pictureBox_editRuleMode.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox_editRuleMode.TabIndex = 39;\n            this.pictureBox_editRuleMode.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pictureBox_editRuleMode, \"new a rule\");\n            this.pictureBox_editRuleMode.Click += new System.EventHandler(this.pictureBox_editRuleMode_Click);\n            this.pictureBox_editRuleMode.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pictureBox_editRuleMode.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // pb_getSession\n            // \n            this.pb_getSession.BackColor = System.Drawing.Color.Transparent;\n            this.pb_getSession.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_getSession.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_getSession.Image\")));\n            this.pb_getSession.Location = new System.Drawing.Point(5, 16);\n            this.pb_getSession.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_getSession.Name = \"pb_getSession\";\n            this.pb_getSession.Size = new System.Drawing.Size(24, 24);\n            this.pb_getSession.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_getSession.TabIndex = 38;\n            this.pb_getSession.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_getSession, \"get http sesion in left session list\");\n            this.pb_getSession.Click += new System.EventHandler(this.pb_getSession_Click);\n            this.pb_getSession.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_getSession.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // cb_macthMode\n            // \n            this.cb_macthMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cb_macthMode.FormattingEnabled = true;\n            this.cb_macthMode.Items.AddRange(new object[] {\n            \"Contain\",\n            \"StartWith\",\n            \"EndWith\",\n            \"Is\",\n            \"Regex\",\n            \"AllPass\"});\n            this.cb_macthMode.Location = new System.Drawing.Point(30, 18);\n            this.cb_macthMode.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.cb_macthMode.Name = \"cb_macthMode\";\n            this.cb_macthMode.Size = new System.Drawing.Size(72, 20);\n            this.cb_macthMode.TabIndex = 2;\n            this.toolTip_forMainWindow.SetToolTip(this.cb_macthMode, resources.GetString(\"cb_macthMode.ToolTip\"));\n            this.cb_macthMode.SelectedIndexChanged += new System.EventHandler(this.cb_macthMode_SelectedIndexChanged);\n            // \n            // splitContainer_httpControl\n            // \n            this.splitContainer_httpControl.BackColor = System.Drawing.SystemColors.Window;\n            this.splitContainer_httpControl.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.splitContainer_httpControl.Location = new System.Drawing.Point(0, 0);\n            this.splitContainer_httpControl.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.splitContainer_httpControl.Name = \"splitContainer_httpControl\";\n            this.splitContainer_httpControl.Orientation = System.Windows.Forms.Orientation.Horizontal;\n            // \n            // splitContainer_httpControl.Panel1\n            // \n            this.splitContainer_httpControl.Panel1.Controls.Add(this.pb_remoteRule);\n            this.splitContainer_httpControl.Panel1.Controls.Add(this.pb_addRequestRule);\n            this.splitContainer_httpControl.Panel1.Controls.Add(this.pb_removeRequestRule);\n            this.splitContainer_httpControl.Panel1.Controls.Add(this.pb_requestRuleSwitch);\n            this.splitContainer_httpControl.Panel1.Controls.Add(this.lv_requestRuleList);\n            // \n            // splitContainer_httpControl.Panel2\n            // \n            this.splitContainer_httpControl.Panel2.Controls.Add(this.pb_addResponseRule);\n            this.splitContainer_httpControl.Panel2.Controls.Add(this.pb_removeResponseRule);\n            this.splitContainer_httpControl.Panel2.Controls.Add(this.pb_responseRuleSwitch);\n            this.splitContainer_httpControl.Panel2.Controls.Add(this.lv_responseRuleList);\n            this.splitContainer_httpControl.Size = new System.Drawing.Size(353, 552);\n            this.splitContainer_httpControl.SplitterDistance = 201;\n            this.splitContainer_httpControl.TabIndex = 0;\n            this.splitContainer_httpControl.Resize += new System.EventHandler(this.splitContainer_httpControl_Resize);\n            // \n            // pb_remoteRule\n            // \n            this.pb_remoteRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_remoteRule.BackColor = System.Drawing.Color.Transparent;\n            this.pb_remoteRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_remoteRule.Image = global::FreeHttp.Properties.Resources.cloud;\n            this.pb_remoteRule.Location = new System.Drawing.Point(252, 1);\n            this.pb_remoteRule.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_remoteRule.Name = \"pb_remoteRule\";\n            this.pb_remoteRule.Size = new System.Drawing.Size(20, 20);\n            this.pb_remoteRule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_remoteRule.TabIndex = 54;\n            this.pb_remoteRule.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_remoteRule, \"add a new request rule\");\n            this.pb_remoteRule.Click += new System.EventHandler(this.loadingRemoteRuleToolStripMenuItem_Click);\n            // \n            // pb_addRequestRule\n            // \n            this.pb_addRequestRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_addRequestRule.BackColor = System.Drawing.Color.Transparent;\n            this.pb_addRequestRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_addRequestRule.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_addRequestRule.Image\")));\n            this.pb_addRequestRule.Location = new System.Drawing.Point(279, 1);\n            this.pb_addRequestRule.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_addRequestRule.Name = \"pb_addRequestRule\";\n            this.pb_addRequestRule.Size = new System.Drawing.Size(20, 20);\n            this.pb_addRequestRule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_addRequestRule.TabIndex = 53;\n            this.pb_addRequestRule.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_addRequestRule, \"add a new request rule\");\n            this.pb_addRequestRule.Click += new System.EventHandler(this.pb_addTemperRule_Click);\n            // \n            // pb_removeRequestRule\n            // \n            this.pb_removeRequestRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_removeRequestRule.BackColor = System.Drawing.Color.Transparent;\n            this.pb_removeRequestRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_removeRequestRule.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_removeRequestRule.Image\")));\n            this.pb_removeRequestRule.Location = new System.Drawing.Point(299, 1);\n            this.pb_removeRequestRule.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_removeRequestRule.Name = \"pb_removeRequestRule\";\n            this.pb_removeRequestRule.Size = new System.Drawing.Size(20, 20);\n            this.pb_removeRequestRule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_removeRequestRule.TabIndex = 52;\n            this.pb_removeRequestRule.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_removeRequestRule, \"remove selected rule\");\n            this.pb_removeRequestRule.Click += new System.EventHandler(this.pb_removeTemperRule_Click);\n            // \n            // pb_requestRuleSwitch\n            // \n            this.pb_requestRuleSwitch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_requestRuleSwitch.BackColor = System.Drawing.Color.Transparent;\n            this.pb_requestRuleSwitch.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_requestRuleSwitch.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_requestRuleSwitch.Image\")));\n            this.pb_requestRuleSwitch.Location = new System.Drawing.Point(317, 1);\n            this.pb_requestRuleSwitch.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_requestRuleSwitch.Name = \"pb_requestRuleSwitch\";\n            this.pb_requestRuleSwitch.Size = new System.Drawing.Size(36, 20);\n            this.pb_requestRuleSwitch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_requestRuleSwitch.TabIndex = 38;\n            this.pb_requestRuleSwitch.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_requestRuleSwitch, \"enable the requst rule\");\n            this.pb_requestRuleSwitch.Click += new System.EventHandler(this.pb_requestRuleSwitch_Click);\n            // \n            // contextMenu_ruleList\n            // \n            this.contextMenu_ruleList.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.removeSelectedRuleToolStripMenuItem,\n            this.removeAllRuleToolStripMenuItem,\n            this.copySelectedRuleToolStripMenuItem,\n            this.enableThisRuleToolStripMenuItem,\n            this.enableAllRuleToolStripMenuItem,\n            this.unableAllRuleToolStripMenuItem,\n            this.editThisRuleToolStripMenuItem,\n            this.groupToolStripMenuItem});\n            this.contextMenu_ruleList.Name = \"contextMenu_ruleList\";\n            this.contextMenu_ruleList.Size = new System.Drawing.Size(199, 180);\n            // \n            // removeSelectedRuleToolStripMenuItem\n            // \n            this.removeSelectedRuleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"removeSelectedRuleToolStripMenuItem.Image\")));\n            this.removeSelectedRuleToolStripMenuItem.Name = \"removeSelectedRuleToolStripMenuItem\";\n            this.removeSelectedRuleToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.removeSelectedRuleToolStripMenuItem.Text = \"remove selected rule\";\n            this.removeSelectedRuleToolStripMenuItem.Click += new System.EventHandler(this.removeSelectedRuleToolStripMenuItem_Click);\n            // \n            // removeAllRuleToolStripMenuItem\n            // \n            this.removeAllRuleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"removeAllRuleToolStripMenuItem.Image\")));\n            this.removeAllRuleToolStripMenuItem.Name = \"removeAllRuleToolStripMenuItem\";\n            this.removeAllRuleToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.removeAllRuleToolStripMenuItem.Text = \"remove all rule\";\n            this.removeAllRuleToolStripMenuItem.Click += new System.EventHandler(this.removeAllRuleToolStripMenuItem_Click);\n            // \n            // copySelectedRuleToolStripMenuItem\n            // \n            this.copySelectedRuleToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.copy;\n            this.copySelectedRuleToolStripMenuItem.Name = \"copySelectedRuleToolStripMenuItem\";\n            this.copySelectedRuleToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.copySelectedRuleToolStripMenuItem.Text = \"copy selected rule\";\n            this.copySelectedRuleToolStripMenuItem.Click += new System.EventHandler(this.copySelectedRuleToolStripMenuItem_Click);\n            // \n            // enableThisRuleToolStripMenuItem\n            // \n            this.enableThisRuleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"enableThisRuleToolStripMenuItem.Image\")));\n            this.enableThisRuleToolStripMenuItem.Name = \"enableThisRuleToolStripMenuItem\";\n            this.enableThisRuleToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.enableThisRuleToolStripMenuItem.Text = \"enable this rule\";\n            this.enableThisRuleToolStripMenuItem.Click += new System.EventHandler(this.enableThisRuleToolStripMenuItem_Click);\n            // \n            // enableAllRuleToolStripMenuItem\n            // \n            this.enableAllRuleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"enableAllRuleToolStripMenuItem.Image\")));\n            this.enableAllRuleToolStripMenuItem.Name = \"enableAllRuleToolStripMenuItem\";\n            this.enableAllRuleToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.enableAllRuleToolStripMenuItem.Text = \"enable all rule\";\n            this.enableAllRuleToolStripMenuItem.Click += new System.EventHandler(this.enableAllRuleToolStripMenuItem_Click);\n            // \n            // unableAllRuleToolStripMenuItem\n            // \n            this.unableAllRuleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"unableAllRuleToolStripMenuItem.Image\")));\n            this.unableAllRuleToolStripMenuItem.Name = \"unableAllRuleToolStripMenuItem\";\n            this.unableAllRuleToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.unableAllRuleToolStripMenuItem.Text = \"unable all rule\";\n            this.unableAllRuleToolStripMenuItem.Click += new System.EventHandler(this.unableAllRuleToolStripMenuItem_Click);\n            // \n            // editThisRuleToolStripMenuItem\n            // \n            this.editThisRuleToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"editThisRuleToolStripMenuItem.Image\")));\n            this.editThisRuleToolStripMenuItem.Name = \"editThisRuleToolStripMenuItem\";\n            this.editThisRuleToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.editThisRuleToolStripMenuItem.Text = \"edit this rule\";\n            this.editThisRuleToolStripMenuItem.Click += new System.EventHandler(this.editThisRuleToolStripMenuItem_Click);\n            // \n            // groupToolStripMenuItem\n            // \n            this.groupToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.addToNewGroupToolStripMenuItem,\n            this.moveToGroupToolStripMenuItem,\n            this.renameThisGroupToolStripMenuItem,\n            this.deleteThisGroupToolStripMenuItem,\n            this.enableThisGroupToolStripMenuItem,\n            this.unableThisGroupToolStripMenuItem});\n            this.groupToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.group;\n            this.groupToolStripMenuItem.Name = \"groupToolStripMenuItem\";\n            this.groupToolStripMenuItem.Size = new System.Drawing.Size(198, 22);\n            this.groupToolStripMenuItem.Text = \"group\";\n            this.groupToolStripMenuItem.DropDownOpened += new System.EventHandler(this.groupToolStripMenuItem_DropDownOpened);\n            // \n            // addToNewGroupToolStripMenuItem\n            // \n            this.addToNewGroupToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.add;\n            this.addToNewGroupToolStripMenuItem.Name = \"addToNewGroupToolStripMenuItem\";\n            this.addToNewGroupToolStripMenuItem.Size = new System.Drawing.Size(184, 22);\n            this.addToNewGroupToolStripMenuItem.Text = \"add to new group\";\n            this.addToNewGroupToolStripMenuItem.Click += new System.EventHandler(this.addToNewGroupToolStripMenuItem_Click);\n            // \n            // moveToGroupToolStripMenuItem\n            // \n            this.moveToGroupToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.move;\n            this.moveToGroupToolStripMenuItem.Name = \"moveToGroupToolStripMenuItem\";\n            this.moveToGroupToolStripMenuItem.Size = new System.Drawing.Size(184, 22);\n            this.moveToGroupToolStripMenuItem.Text = \"move to group\";\n            this.moveToGroupToolStripMenuItem.DropDownOpening += new System.EventHandler(this.moveToGroupToolStripMenuItem_DropDownOpening);\n            // \n            // renameThisGroupToolStripMenuItem\n            // \n            this.renameThisGroupToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.rename;\n            this.renameThisGroupToolStripMenuItem.Name = \"renameThisGroupToolStripMenuItem\";\n            this.renameThisGroupToolStripMenuItem.Size = new System.Drawing.Size(184, 22);\n            this.renameThisGroupToolStripMenuItem.Text = \"rename this group\";\n            this.renameThisGroupToolStripMenuItem.Click += new System.EventHandler(this.renameThisGroupToolStripMenuItem_Click);\n            // \n            // deleteThisGroupToolStripMenuItem\n            // \n            this.deleteThisGroupToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.remove;\n            this.deleteThisGroupToolStripMenuItem.Name = \"deleteThisGroupToolStripMenuItem\";\n            this.deleteThisGroupToolStripMenuItem.Size = new System.Drawing.Size(184, 22);\n            this.deleteThisGroupToolStripMenuItem.Text = \"delete this group\";\n            this.deleteThisGroupToolStripMenuItem.Click += new System.EventHandler(this.deleteThisGroupToolStripMenuItem_Click);\n            // \n            // enableThisGroupToolStripMenuItem\n            // \n            this.enableThisGroupToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.unselect;\n            this.enableThisGroupToolStripMenuItem.Name = \"enableThisGroupToolStripMenuItem\";\n            this.enableThisGroupToolStripMenuItem.Size = new System.Drawing.Size(184, 22);\n            this.enableThisGroupToolStripMenuItem.Text = \"enable this group\";\n            this.enableThisGroupToolStripMenuItem.Click += new System.EventHandler(this.enableThisGroupToolStripMenuItem_Click);\n            // \n            // unableThisGroupToolStripMenuItem\n            // \n            this.unableThisGroupToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.select;\n            this.unableThisGroupToolStripMenuItem.Name = \"unableThisGroupToolStripMenuItem\";\n            this.unableThisGroupToolStripMenuItem.Size = new System.Drawing.Size(184, 22);\n            this.unableThisGroupToolStripMenuItem.Text = \"unable this group\";\n            this.unableThisGroupToolStripMenuItem.Click += new System.EventHandler(this.unableThisGroupToolStripMenuItem_Click);\n            // \n            // pb_addResponseRule\n            // \n            this.pb_addResponseRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_addResponseRule.BackColor = System.Drawing.Color.Transparent;\n            this.pb_addResponseRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_addResponseRule.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_addResponseRule.Image\")));\n            this.pb_addResponseRule.Location = new System.Drawing.Point(277, 1);\n            this.pb_addResponseRule.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_addResponseRule.Name = \"pb_addResponseRule\";\n            this.pb_addResponseRule.Size = new System.Drawing.Size(20, 20);\n            this.pb_addResponseRule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_addResponseRule.TabIndex = 55;\n            this.pb_addResponseRule.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_addResponseRule, \"add a new response rule\");\n            this.pb_addResponseRule.Click += new System.EventHandler(this.pb_addTemperRule_Click);\n            // \n            // pb_removeResponseRule\n            // \n            this.pb_removeResponseRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_removeResponseRule.BackColor = System.Drawing.Color.Transparent;\n            this.pb_removeResponseRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_removeResponseRule.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_removeResponseRule.Image\")));\n            this.pb_removeResponseRule.Location = new System.Drawing.Point(297, 1);\n            this.pb_removeResponseRule.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_removeResponseRule.Name = \"pb_removeResponseRule\";\n            this.pb_removeResponseRule.Size = new System.Drawing.Size(20, 20);\n            this.pb_removeResponseRule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_removeResponseRule.TabIndex = 54;\n            this.pb_removeResponseRule.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_removeResponseRule, \"remove selected rule\");\n            this.pb_removeResponseRule.Click += new System.EventHandler(this.pb_removeTemperRule_Click);\n            // \n            // pb_responseRuleSwitch\n            // \n            this.pb_responseRuleSwitch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_responseRuleSwitch.BackColor = System.Drawing.Color.Transparent;\n            this.pb_responseRuleSwitch.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_responseRuleSwitch.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_responseRuleSwitch.Image\")));\n            this.pb_responseRuleSwitch.Location = new System.Drawing.Point(317, 1);\n            this.pb_responseRuleSwitch.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_responseRuleSwitch.Name = \"pb_responseRuleSwitch\";\n            this.pb_responseRuleSwitch.Size = new System.Drawing.Size(36, 20);\n            this.pb_responseRuleSwitch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_responseRuleSwitch.TabIndex = 39;\n            this.pb_responseRuleSwitch.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_responseRuleSwitch, \"enable the response rule\");\n            this.pb_responseRuleSwitch.Click += new System.EventHandler(this.pb_responseRuleSwitch_Click);\n            // \n            // contextMenuStrip_addParameter\n            // \n            this.contextMenuStrip_addParameter.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.currentValueToolStripMenuItem,\n            this.nextValueToolStripMenuItem,\n            this.previousValueToolStripMenuItem});\n            this.contextMenuStrip_addParameter.Name = \"contextMenuStrip_addParameter\";\n            this.contextMenuStrip_addParameter.Size = new System.Drawing.Size(167, 70);\n            this.contextMenuStrip_addParameter.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip_addParameter_Opening);\n            // \n            // currentValueToolStripMenuItem\n            // \n            this.currentValueToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"currentValueToolStripMenuItem.Image\")));\n            this.currentValueToolStripMenuItem.Name = \"currentValueToolStripMenuItem\";\n            this.currentValueToolStripMenuItem.Size = new System.Drawing.Size(166, 22);\n            this.currentValueToolStripMenuItem.Text = \"current value\";\n            this.currentValueToolStripMenuItem.Click += new System.EventHandler(this.addParameterDataToolStripMenuItem_Click);\n            // \n            // nextValueToolStripMenuItem\n            // \n            this.nextValueToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"nextValueToolStripMenuItem.Image\")));\n            this.nextValueToolStripMenuItem.Name = \"nextValueToolStripMenuItem\";\n            this.nextValueToolStripMenuItem.Size = new System.Drawing.Size(166, 22);\n            this.nextValueToolStripMenuItem.Text = \"next value\";\n            this.nextValueToolStripMenuItem.Click += new System.EventHandler(this.addParameterDataToolStripMenuItem_Click);\n            // \n            // previousValueToolStripMenuItem\n            // \n            this.previousValueToolStripMenuItem.Image = global::FreeHttp.Properties.Resources._goto;\n            this.previousValueToolStripMenuItem.Name = \"previousValueToolStripMenuItem\";\n            this.previousValueToolStripMenuItem.Size = new System.Drawing.Size(166, 22);\n            this.previousValueToolStripMenuItem.Text = \"next multi value\";\n            this.previousValueToolStripMenuItem.Click += new System.EventHandler(this.addParameterDataToolStripMenuItem_Click);\n            // \n            // panel_modific\n            // \n            this.panel_modific.BackColor = System.Drawing.SystemColors.Control;\n            this.panel_modific.Controls.Add(this.tabControl_Modific);\n            this.panel_modific.Controls.Add(this.panel_modific_Contorl);\n            this.panel_modific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.panel_modific.Location = new System.Drawing.Point(0, 0);\n            this.panel_modific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.panel_modific.Name = \"panel_modific\";\n            this.panel_modific.Size = new System.Drawing.Size(609, 356);\n            this.panel_modific.TabIndex = 7;\n            // \n            // tabControl_Modific\n            // \n            this.tabControl_Modific.Controls.Add(this.tabPage_requestModific);\n            this.tabControl_Modific.Controls.Add(this.tabPage_requestReplace);\n            this.tabControl_Modific.Controls.Add(this.tabPage_responseModific);\n            this.tabControl_Modific.Controls.Add(this.tabPage_responseReplace);\n            this.tabControl_Modific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.tabControl_Modific.ImageList = this.imageList_forTab;\n            this.tabControl_Modific.Location = new System.Drawing.Point(0, 0);\n            this.tabControl_Modific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabControl_Modific.Name = \"tabControl_Modific\";\n            this.tabControl_Modific.SelectedIndex = 0;\n            this.tabControl_Modific.Size = new System.Drawing.Size(609, 329);\n            this.tabControl_Modific.TabIndex = 0;\n            this.toolTip_forMainWindow.SetToolTip(this.tabControl_Modific, resources.GetString(\"tabControl_Modific.ToolTip\"));\n            this.tabControl_Modific.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.tabControl_Modific_Selecting);\n            this.tabControl_Modific.Resize += new System.EventHandler(this.tabControl_Modific_Resize);\n            // \n            // tabPage_requestModific\n            // \n            this.tabPage_requestModific.BackColor = System.Drawing.Color.Transparent;\n            this.tabPage_requestModific.Controls.Add(this.splitContainer_requestModific);\n            this.tabPage_requestModific.Controls.Add(this.groupBox_uriModific);\n            this.tabPage_requestModific.ForeColor = System.Drawing.SystemColors.ControlText;\n            this.tabPage_requestModific.ImageKey = \"request_modific.png\";\n            this.tabPage_requestModific.Location = new System.Drawing.Point(4, 23);\n            this.tabPage_requestModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_requestModific.Name = \"tabPage_requestModific\";\n            this.tabPage_requestModific.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_requestModific.Size = new System.Drawing.Size(601, 302);\n            this.tabPage_requestModific.TabIndex = 0;\n            this.tabPage_requestModific.Text = \"Request Modific\";\n            // \n            // splitContainer_requestModific\n            // \n            this.splitContainer_requestModific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.splitContainer_requestModific.Location = new System.Drawing.Point(4, 56);\n            this.splitContainer_requestModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.splitContainer_requestModific.Name = \"splitContainer_requestModific\";\n            this.splitContainer_requestModific.Orientation = System.Windows.Forms.Orientation.Horizontal;\n            // \n            // splitContainer_requestModific.Panel1\n            // \n            this.splitContainer_requestModific.Panel1.Controls.Add(this.groupBox_headsModific);\n            // \n            // splitContainer_requestModific.Panel2\n            // \n            this.splitContainer_requestModific.Panel2.Controls.Add(this.groupBox_bodyModific);\n            this.splitContainer_requestModific.Size = new System.Drawing.Size(593, 243);\n            this.splitContainer_requestModific.SplitterDistance = 107;\n            this.splitContainer_requestModific.TabIndex = 1;\n            // \n            // groupBox_headsModific\n            // \n            this.groupBox_headsModific.Controls.Add(this.requestAddHeads);\n            this.groupBox_headsModific.Controls.Add(this.requestRemoveHeads);\n            this.groupBox_headsModific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.groupBox_headsModific.Location = new System.Drawing.Point(0, 0);\n            this.groupBox_headsModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_headsModific.Name = \"groupBox_headsModific\";\n            this.groupBox_headsModific.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_headsModific.Size = new System.Drawing.Size(593, 107);\n            this.groupBox_headsModific.TabIndex = 1;\n            this.groupBox_headsModific.TabStop = false;\n            this.groupBox_headsModific.Text = \"Heads Modific\";\n            // \n            // requestAddHeads\n            // \n            this.requestAddHeads.ColumnHeaderName = \"Add Head\";\n            this.requestAddHeads.Dock = System.Windows.Forms.DockStyle.Right;\n            this.requestAddHeads.IsItemUnique = false;\n            this.requestAddHeads.IsKeyValue = true;\n            this.requestAddHeads.Location = new System.Drawing.Point(279, 17);\n            this.requestAddHeads.Margin = new System.Windows.Forms.Padding(6);\n            this.requestAddHeads.Name = \"requestAddHeads\";\n            this.requestAddHeads.Size = new System.Drawing.Size(310, 87);\n            this.requestAddHeads.SplitStr = \": \";\n            this.requestAddHeads.TabIndex = 1;\n            // \n            // requestRemoveHeads\n            // \n            this.requestRemoveHeads.ColumnHeaderName = \"Remove Head\";\n            this.requestRemoveHeads.Dock = System.Windows.Forms.DockStyle.Left;\n            this.requestRemoveHeads.IsItemUnique = false;\n            this.requestRemoveHeads.IsKeyValue = false;\n            this.requestRemoveHeads.Location = new System.Drawing.Point(4, 17);\n            this.requestRemoveHeads.Margin = new System.Windows.Forms.Padding(6);\n            this.requestRemoveHeads.Name = \"requestRemoveHeads\";\n            this.requestRemoveHeads.Size = new System.Drawing.Size(275, 87);\n            this.requestRemoveHeads.SplitStr = \": \";\n            this.requestRemoveHeads.TabIndex = 0;\n            // \n            // groupBox_bodyModific\n            // \n            this.groupBox_bodyModific.Controls.Add(this.panel2);\n            this.groupBox_bodyModific.Controls.Add(this.panel1);\n            this.groupBox_bodyModific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.groupBox_bodyModific.Location = new System.Drawing.Point(0, 0);\n            this.groupBox_bodyModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_bodyModific.Name = \"groupBox_bodyModific\";\n            this.groupBox_bodyModific.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_bodyModific.Size = new System.Drawing.Size(593, 132);\n            this.groupBox_bodyModific.TabIndex = 2;\n            this.groupBox_bodyModific.TabStop = false;\n            this.groupBox_bodyModific.Text = \"Body Modific\";\n            // \n            // panel2\n            // \n            this.panel2.Controls.Add(this.rtb_requestModific_body);\n            this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.panel2.Location = new System.Drawing.Point(4, 50);\n            this.panel2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.panel2.Name = \"panel2\";\n            this.panel2.Size = new System.Drawing.Size(585, 79);\n            this.panel2.TabIndex = 48;\n            // \n            // rtb_requestModific_body\n            // \n            this.rtb_requestModific_body.ContextMenuStrip = this.contextMenuStrip_AddFile;\n            this.rtb_requestModific_body.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rtb_requestModific_body.Location = new System.Drawing.Point(0, 0);\n            this.rtb_requestModific_body.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.rtb_requestModific_body.Name = \"rtb_requestModific_body\";\n            this.rtb_requestModific_body.Size = new System.Drawing.Size(585, 79);\n            this.rtb_requestModific_body.TabIndex = 0;\n            this.rtb_requestModific_body.Text = \"\";\n            this.toolTip_forMainWindow.SetToolTip(this.rtb_requestModific_body, \"empty mean not change the request body\");\n            // \n            // panel1\n            // \n            this.panel1.Controls.Add(this.tbe_RequestBodyModific);\n            this.panel1.Controls.Add(this.tb_requestModific_body);\n            this.panel1.Controls.Add(this.label1);\n            this.panel1.Dock = System.Windows.Forms.DockStyle.Top;\n            this.panel1.Location = new System.Drawing.Point(4, 17);\n            this.panel1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.panel1.Name = \"panel1\";\n            this.panel1.Size = new System.Drawing.Size(585, 33);\n            this.panel1.TabIndex = 47;\n            // \n            // tbe_RequestBodyModific\n            // \n            this.tbe_RequestBodyModific.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.tbe_RequestBodyModific.BackColor = System.Drawing.SystemColors.Window;\n            this.tbe_RequestBodyModific.EditTextBox = this.tb_requestModific_body;\n            this.tbe_RequestBodyModific.Location = new System.Drawing.Point(562, 6);\n            this.tbe_RequestBodyModific.MainContainerControl = this;\n            this.tbe_RequestBodyModific.Margin = new System.Windows.Forms.Padding(6);\n            this.tbe_RequestBodyModific.Name = \"tbe_RequestBodyModific\";\n            this.tbe_RequestBodyModific.Size = new System.Drawing.Size(17, 17);\n            this.tbe_RequestBodyModific.TabIndex = 49;\n            // \n            // tb_requestModific_body\n            // \n            this.tb_requestModific_body.AcceptsReturn = true;\n            this.tb_requestModific_body.Location = new System.Drawing.Point(64, 5);\n            this.tb_requestModific_body.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tb_requestModific_body.Name = \"tb_requestModific_body\";\n            this.tb_requestModific_body.Size = new System.Drawing.Size(519, 21);\n            this.tb_requestModific_body.TabIndex = 47;\n            this.toolTip_forMainWindow.SetToolTip(this.tb_requestModific_body, resources.GetString(\"tb_requestModific_body.ToolTip\"));\n            this.tb_requestModific_body.WatermarkText = \"empty mean replace all body , start with \\\"<regex>\\\" mean regex replace,\\\"<hex>\\\" mea\" +\n    \"n hex replace ,\\\"<recode>\\\"mean change the character set\";\n            this.tb_requestModific_body.Enter += new System.EventHandler(this.tb_Modific_body_Enter);\n            this.tb_requestModific_body.Leave += new System.EventHandler(this.tb_Modific_body_Leave);\n            // \n            // label1\n            // \n            this.label1.AutoSize = true;\n            this.label1.Location = new System.Drawing.Point(10, 9);\n            this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);\n            this.label1.Name = \"label1\";\n            this.label1.Size = new System.Drawing.Size(47, 12);\n            this.label1.TabIndex = 48;\n            this.label1.Text = \"Replace\";\n            // \n            // groupBox_uriModific\n            // \n            this.groupBox_uriModific.Controls.Add(this.tb_requestModific_uriModificKey);\n            this.groupBox_uriModific.Controls.Add(this.tb_requestModific_uriModificValue);\n            this.groupBox_uriModific.Dock = System.Windows.Forms.DockStyle.Top;\n            this.groupBox_uriModific.Location = new System.Drawing.Point(4, 3);\n            this.groupBox_uriModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_uriModific.Name = \"groupBox_uriModific\";\n            this.groupBox_uriModific.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_uriModific.Size = new System.Drawing.Size(593, 53);\n            this.groupBox_uriModific.TabIndex = 0;\n            this.groupBox_uriModific.TabStop = false;\n            this.groupBox_uriModific.Text = \"Uri Modific\";\n            // \n            // tb_requestModific_uriModificKey\n            // \n            this.tb_requestModific_uriModificKey.Location = new System.Drawing.Point(6, 20);\n            this.tb_requestModific_uriModificKey.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tb_requestModific_uriModificKey.Name = \"tb_requestModific_uriModificKey\";\n            this.tb_requestModific_uriModificKey.Size = new System.Drawing.Size(94, 21);\n            this.tb_requestModific_uriModificKey.TabIndex = 4;\n            this.toolTip_forMainWindow.SetToolTip(this.tb_requestModific_uriModificKey, \"set it empty when you want replace all the full url\");\n            this.tb_requestModific_uriModificKey.WatermarkText = \"empty is all\";\n            // \n            // tb_requestModific_uriModificValue\n            // \n            this.tb_requestModific_uriModificValue.Location = new System.Drawing.Point(106, 20);\n            this.tb_requestModific_uriModificValue.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tb_requestModific_uriModificValue.Name = \"tb_requestModific_uriModificValue\";\n            this.tb_requestModific_uriModificValue.Size = new System.Drawing.Size(485, 21);\n            this.tb_requestModific_uriModificValue.TabIndex = 3;\n            this.toolTip_forMainWindow.SetToolTip(this.tb_requestModific_uriModificValue, \"empty mean not change the url\");\n            // \n            // tabPage_requestReplace\n            // \n            this.tabPage_requestReplace.Controls.Add(this.splitContainer_requestReplace);\n            this.tabPage_requestReplace.Controls.Add(this.rtb_requestRaw);\n            this.tabPage_requestReplace.Controls.Add(this.panel_requestReplace_startLine);\n            this.tabPage_requestReplace.ImageKey = \"request_replace.png\";\n            this.tabPage_requestReplace.Location = new System.Drawing.Point(4, 23);\n            this.tabPage_requestReplace.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_requestReplace.Name = \"tabPage_requestReplace\";\n            this.tabPage_requestReplace.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_requestReplace.Size = new System.Drawing.Size(601, 302);\n            this.tabPage_requestReplace.TabIndex = 1;\n            this.tabPage_requestReplace.Text = \"Request Replace\";\n            this.tabPage_requestReplace.UseVisualStyleBackColor = true;\n            // \n            // splitContainer_requestReplace\n            // \n            this.splitContainer_requestReplace.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.splitContainer_requestReplace.Location = new System.Drawing.Point(4, 36);\n            this.splitContainer_requestReplace.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.splitContainer_requestReplace.Name = \"splitContainer_requestReplace\";\n            this.splitContainer_requestReplace.Orientation = System.Windows.Forms.Orientation.Horizontal;\n            // \n            // splitContainer_requestReplace.Panel1\n            // \n            this.splitContainer_requestReplace.Panel1.Controls.Add(this.elv_requsetReplace);\n            // \n            // splitContainer_requestReplace.Panel2\n            // \n            this.splitContainer_requestReplace.Panel2.Controls.Add(this.rtb_requsetReplace_body);\n            this.splitContainer_requestReplace.Size = new System.Drawing.Size(593, 263);\n            this.splitContainer_requestReplace.SplitterDistance = 102;\n            this.splitContainer_requestReplace.TabIndex = 18;\n            // \n            // elv_requsetReplace\n            // \n            this.elv_requsetReplace.ColumnHeaderName = \"Request Heads\";\n            this.elv_requsetReplace.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.elv_requsetReplace.IsItemUnique = false;\n            this.elv_requsetReplace.IsKeyValue = true;\n            this.elv_requsetReplace.Location = new System.Drawing.Point(0, 0);\n            this.elv_requsetReplace.Margin = new System.Windows.Forms.Padding(6);\n            this.elv_requsetReplace.Name = \"elv_requsetReplace\";\n            this.elv_requsetReplace.Size = new System.Drawing.Size(593, 102);\n            this.elv_requsetReplace.SplitStr = \": \";\n            this.elv_requsetReplace.TabIndex = 2;\n            // \n            // rtb_requsetReplace_body\n            // \n            this.rtb_requsetReplace_body.ContextMenuStrip = this.contextMenuStrip_AddFile;\n            this.rtb_requsetReplace_body.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rtb_requsetReplace_body.Location = new System.Drawing.Point(0, 0);\n            this.rtb_requsetReplace_body.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.rtb_requsetReplace_body.Name = \"rtb_requsetReplace_body\";\n            this.rtb_requsetReplace_body.Size = new System.Drawing.Size(593, 157);\n            this.rtb_requsetReplace_body.TabIndex = 1;\n            this.rtb_requsetReplace_body.Text = \"\";\n            // \n            // rtb_requestRaw\n            // \n            this.rtb_requestRaw.ContextMenuStrip = this.contextMenuStrip_AddFile;\n            this.rtb_requestRaw.DetectUrls = false;\n            this.rtb_requestRaw.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rtb_requestRaw.Location = new System.Drawing.Point(4, 36);\n            this.rtb_requestRaw.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.rtb_requestRaw.Name = \"rtb_requestRaw\";\n            this.rtb_requestRaw.Size = new System.Drawing.Size(593, 263);\n            this.rtb_requestRaw.TabIndex = 0;\n            this.rtb_requestRaw.Text = \"\";\n            // \n            // panel_requestReplace_startLine\n            // \n            this.panel_requestReplace_startLine.Controls.Add(this.pb_requestReplace_changeMode);\n            this.panel_requestReplace_startLine.Controls.Add(this.lb_editStartLine);\n            this.panel_requestReplace_startLine.Controls.Add(this.tb_requestReplace_uri);\n            this.panel_requestReplace_startLine.Controls.Add(this.cb_editRequestMethod);\n            this.panel_requestReplace_startLine.Controls.Add(this.cb_editRequestEdition);\n            this.panel_requestReplace_startLine.Dock = System.Windows.Forms.DockStyle.Top;\n            this.panel_requestReplace_startLine.Location = new System.Drawing.Point(4, 3);\n            this.panel_requestReplace_startLine.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.panel_requestReplace_startLine.Name = \"panel_requestReplace_startLine\";\n            this.panel_requestReplace_startLine.Size = new System.Drawing.Size(593, 33);\n            this.panel_requestReplace_startLine.TabIndex = 17;\n            // \n            // pb_requestReplace_changeMode\n            // \n            this.pb_requestReplace_changeMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_requestReplace_changeMode.BackColor = System.Drawing.Color.Transparent;\n            this.pb_requestReplace_changeMode.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_requestReplace_changeMode.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_requestReplace_changeMode.Image\")));\n            this.pb_requestReplace_changeMode.Location = new System.Drawing.Point(567, 5);\n            this.pb_requestReplace_changeMode.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_requestReplace_changeMode.Name = \"pb_requestReplace_changeMode\";\n            this.pb_requestReplace_changeMode.Size = new System.Drawing.Size(23, 22);\n            this.pb_requestReplace_changeMode.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_requestReplace_changeMode.TabIndex = 38;\n            this.pb_requestReplace_changeMode.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_requestReplace_changeMode, \"change request replace\");\n            this.pb_requestReplace_changeMode.Click += new System.EventHandler(this.pb_requestReplace_changeMode_Click);\n            this.pb_requestReplace_changeMode.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_requestReplace_changeMode.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // lb_editStartLine\n            // \n            this.lb_editStartLine.AutoSize = true;\n            this.lb_editStartLine.Location = new System.Drawing.Point(4, 9);\n            this.lb_editStartLine.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);\n            this.lb_editStartLine.Name = \"lb_editStartLine\";\n            this.lb_editStartLine.Size = new System.Drawing.Size(71, 12);\n            this.lb_editStartLine.TabIndex = 13;\n            this.lb_editStartLine.Text = \"Start Line:\";\n            // \n            // tb_requestReplace_uri\n            // \n            this.tb_requestReplace_uri.Location = new System.Drawing.Point(160, 6);\n            this.tb_requestReplace_uri.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tb_requestReplace_uri.Name = \"tb_requestReplace_uri\";\n            this.tb_requestReplace_uri.Size = new System.Drawing.Size(322, 21);\n            this.tb_requestReplace_uri.TabIndex = 16;\n            this.tb_requestReplace_uri.WatermarkText = null;\n            // \n            // cb_editRequestMethod\n            // \n            this.cb_editRequestMethod.FormattingEnabled = true;\n            this.cb_editRequestMethod.Items.AddRange(new object[] {\n            \"GET\",\n            \"POST\",\n            \"HEAD\",\n            \"PUT\",\n            \"DELETE\",\n            \"CONNECT\",\n            \"OPTIONS\",\n            \"TRACE\"});\n            this.cb_editRequestMethod.Location = new System.Drawing.Point(76, 6);\n            this.cb_editRequestMethod.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.cb_editRequestMethod.Name = \"cb_editRequestMethod\";\n            this.cb_editRequestMethod.Size = new System.Drawing.Size(78, 20);\n            this.cb_editRequestMethod.TabIndex = 14;\n            // \n            // cb_editRequestEdition\n            // \n            this.cb_editRequestEdition.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.cb_editRequestEdition.FormattingEnabled = true;\n            this.cb_editRequestEdition.Items.AddRange(new object[] {\n            \"HTTP/1.1\",\n            \"HTTP/0.9\",\n            \"HTTP/1.0\",\n            \"HTTP/1.2\",\n            \"HTTP/2.0\"});\n            this.cb_editRequestEdition.Location = new System.Drawing.Point(485, 6);\n            this.cb_editRequestEdition.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.cb_editRequestEdition.Name = \"cb_editRequestEdition\";\n            this.cb_editRequestEdition.Size = new System.Drawing.Size(78, 20);\n            this.cb_editRequestEdition.TabIndex = 15;\n            // \n            // tabPage_responseModific\n            // \n            this.tabPage_responseModific.Controls.Add(this.splitContainer_responseModific);\n            this.tabPage_responseModific.ImageKey = \"request_modific.png\";\n            this.tabPage_responseModific.Location = new System.Drawing.Point(4, 23);\n            this.tabPage_responseModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_responseModific.Name = \"tabPage_responseModific\";\n            this.tabPage_responseModific.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_responseModific.Size = new System.Drawing.Size(601, 302);\n            this.tabPage_responseModific.TabIndex = 2;\n            this.tabPage_responseModific.Text = \"Response Modific\";\n            this.tabPage_responseModific.UseVisualStyleBackColor = true;\n            // \n            // splitContainer_responseModific\n            // \n            this.splitContainer_responseModific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.splitContainer_responseModific.Location = new System.Drawing.Point(4, 3);\n            this.splitContainer_responseModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.splitContainer_responseModific.Name = \"splitContainer_responseModific\";\n            this.splitContainer_responseModific.Orientation = System.Windows.Forms.Orientation.Horizontal;\n            // \n            // splitContainer_responseModific.Panel1\n            // \n            this.splitContainer_responseModific.Panel1.Controls.Add(this.groupBox_reponseHeadModific);\n            // \n            // splitContainer_responseModific.Panel2\n            // \n            this.splitContainer_responseModific.Panel2.Controls.Add(this.groupBox_responseBodyModific);\n            this.splitContainer_responseModific.Size = new System.Drawing.Size(593, 296);\n            this.splitContainer_responseModific.SplitterDistance = 114;\n            this.splitContainer_responseModific.TabIndex = 2;\n            // \n            // groupBox_reponseHeadModific\n            // \n            this.groupBox_reponseHeadModific.Controls.Add(this.responseAddHeads);\n            this.groupBox_reponseHeadModific.Controls.Add(this.responseRemoveHeads);\n            this.groupBox_reponseHeadModific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.groupBox_reponseHeadModific.Location = new System.Drawing.Point(0, 0);\n            this.groupBox_reponseHeadModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_reponseHeadModific.Name = \"groupBox_reponseHeadModific\";\n            this.groupBox_reponseHeadModific.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_reponseHeadModific.Size = new System.Drawing.Size(593, 114);\n            this.groupBox_reponseHeadModific.TabIndex = 1;\n            this.groupBox_reponseHeadModific.TabStop = false;\n            this.groupBox_reponseHeadModific.Text = \"Heads Modific\";\n            // \n            // responseAddHeads\n            // \n            this.responseAddHeads.ColumnHeaderName = \"Add Head\";\n            this.responseAddHeads.Dock = System.Windows.Forms.DockStyle.Right;\n            this.responseAddHeads.IsItemUnique = false;\n            this.responseAddHeads.IsKeyValue = true;\n            this.responseAddHeads.Location = new System.Drawing.Point(279, 17);\n            this.responseAddHeads.Margin = new System.Windows.Forms.Padding(6);\n            this.responseAddHeads.Name = \"responseAddHeads\";\n            this.responseAddHeads.Size = new System.Drawing.Size(310, 94);\n            this.responseAddHeads.SplitStr = \": \";\n            this.responseAddHeads.TabIndex = 1;\n            // \n            // responseRemoveHeads\n            // \n            this.responseRemoveHeads.ColumnHeaderName = \"Remove Head\";\n            this.responseRemoveHeads.Dock = System.Windows.Forms.DockStyle.Left;\n            this.responseRemoveHeads.IsItemUnique = false;\n            this.responseRemoveHeads.IsKeyValue = false;\n            this.responseRemoveHeads.Location = new System.Drawing.Point(4, 17);\n            this.responseRemoveHeads.Margin = new System.Windows.Forms.Padding(6);\n            this.responseRemoveHeads.Name = \"responseRemoveHeads\";\n            this.responseRemoveHeads.Size = new System.Drawing.Size(275, 94);\n            this.responseRemoveHeads.SplitStr = \": \";\n            this.responseRemoveHeads.TabIndex = 0;\n            // \n            // groupBox_responseBodyModific\n            // \n            this.groupBox_responseBodyModific.Controls.Add(this.panel3);\n            this.groupBox_responseBodyModific.Controls.Add(this.panel4);\n            this.groupBox_responseBodyModific.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.groupBox_responseBodyModific.Location = new System.Drawing.Point(0, 0);\n            this.groupBox_responseBodyModific.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_responseBodyModific.Name = \"groupBox_responseBodyModific\";\n            this.groupBox_responseBodyModific.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.groupBox_responseBodyModific.Size = new System.Drawing.Size(593, 178);\n            this.groupBox_responseBodyModific.TabIndex = 2;\n            this.groupBox_responseBodyModific.TabStop = false;\n            this.groupBox_responseBodyModific.Text = \"Body Modific\";\n            // \n            // panel3\n            // \n            this.panel3.Controls.Add(this.rtb_respenseModific_body);\n            this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.panel3.Location = new System.Drawing.Point(4, 50);\n            this.panel3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.panel3.Name = \"panel3\";\n            this.panel3.Size = new System.Drawing.Size(585, 125);\n            this.panel3.TabIndex = 48;\n            // \n            // rtb_respenseModific_body\n            // \n            this.rtb_respenseModific_body.ContextMenuStrip = this.contextMenuStrip_AddFile;\n            this.rtb_respenseModific_body.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rtb_respenseModific_body.Location = new System.Drawing.Point(0, 0);\n            this.rtb_respenseModific_body.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.rtb_respenseModific_body.Name = \"rtb_respenseModific_body\";\n            this.rtb_respenseModific_body.Size = new System.Drawing.Size(585, 125);\n            this.rtb_respenseModific_body.TabIndex = 0;\n            this.rtb_respenseModific_body.Text = \"\";\n            this.toolTip_forMainWindow.SetToolTip(this.rtb_respenseModific_body, \"empty mean not change the response body\");\n            // \n            // panel4\n            // \n            this.panel4.Controls.Add(this.tbe_ResponseBodyModific);\n            this.panel4.Controls.Add(this.tb_responseModific_body);\n            this.panel4.Controls.Add(this.label2);\n            this.panel4.Dock = System.Windows.Forms.DockStyle.Top;\n            this.panel4.Location = new System.Drawing.Point(4, 17);\n            this.panel4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.panel4.Name = \"panel4\";\n            this.panel4.Size = new System.Drawing.Size(585, 33);\n            this.panel4.TabIndex = 47;\n            // \n            // tbe_ResponseBodyModific\n            // \n            this.tbe_ResponseBodyModific.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.tbe_ResponseBodyModific.BackColor = System.Drawing.SystemColors.Window;\n            this.tbe_ResponseBodyModific.EditTextBox = this.tb_responseModific_body;\n            this.tbe_ResponseBodyModific.Location = new System.Drawing.Point(561, 6);\n            this.tbe_ResponseBodyModific.MainContainerControl = this;\n            this.tbe_ResponseBodyModific.Margin = new System.Windows.Forms.Padding(6);\n            this.tbe_ResponseBodyModific.Name = \"tbe_ResponseBodyModific\";\n            this.tbe_ResponseBodyModific.Size = new System.Drawing.Size(17, 17);\n            this.tbe_ResponseBodyModific.TabIndex = 50;\n            // \n            // tb_responseModific_body\n            // \n            this.tb_responseModific_body.Location = new System.Drawing.Point(63, 5);\n            this.tb_responseModific_body.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tb_responseModific_body.Name = \"tb_responseModific_body\";\n            this.tb_responseModific_body.Size = new System.Drawing.Size(519, 21);\n            this.tb_responseModific_body.TabIndex = 47;\n            this.toolTip_forMainWindow.SetToolTip(this.tb_responseModific_body, resources.GetString(\"tb_responseModific_body.ToolTip\"));\n            this.tb_responseModific_body.WatermarkText = \"empty mean replace all body , start with \\\"<regex>\\\" mean regex replace,\\\"<hex>\\\" mea\" +\n    \"n hex replace , \\\"<recode>\\\"mean change the character set\";\n            this.tb_responseModific_body.Enter += new System.EventHandler(this.tb_Modific_body_Enter);\n            this.tb_responseModific_body.Leave += new System.EventHandler(this.tb_Modific_body_Leave);\n            // \n            // label2\n            // \n            this.label2.AutoSize = true;\n            this.label2.Location = new System.Drawing.Point(10, 9);\n            this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);\n            this.label2.Name = \"label2\";\n            this.label2.Size = new System.Drawing.Size(47, 12);\n            this.label2.TabIndex = 48;\n            this.label2.Text = \"Replace\";\n            // \n            // tabPage_responseReplace\n            // \n            this.tabPage_responseReplace.Controls.Add(this.rawResponseEdit);\n            this.tabPage_responseReplace.ImageKey = \"request_replace.png\";\n            this.tabPage_responseReplace.Location = new System.Drawing.Point(4, 23);\n            this.tabPage_responseReplace.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_responseReplace.Name = \"tabPage_responseReplace\";\n            this.tabPage_responseReplace.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.tabPage_responseReplace.Size = new System.Drawing.Size(601, 302);\n            this.tabPage_responseReplace.TabIndex = 3;\n            this.tabPage_responseReplace.Text = \"Response Replace\";\n            this.tabPage_responseReplace.UseVisualStyleBackColor = true;\n            // \n            // rawResponseEdit\n            // \n            this.rawResponseEdit.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rawResponseEdit.IsDirectRespons = false;\n            this.rawResponseEdit.IsUseParameterData = false;\n            this.rawResponseEdit.Location = new System.Drawing.Point(4, 3);\n            this.rawResponseEdit.Margin = new System.Windows.Forms.Padding(6);\n            this.rawResponseEdit.Name = \"rawResponseEdit\";\n            this.rawResponseEdit.Size = new System.Drawing.Size(593, 296);\n            this.rawResponseEdit.TabIndex = 0;\n            // \n            // panel_modific_Contorl\n            // \n            this.panel_modific_Contorl.AllowDrop = true;\n            this.panel_modific_Contorl.Controls.Add(this.pb_parameterSwitch);\n            this.panel_modific_Contorl.Controls.Add(this.pb_protocolSwitch);\n            this.panel_modific_Contorl.Controls.Add(this.pb_pickRule);\n            this.panel_modific_Contorl.Controls.Add(this.lbl_ResponseLatency);\n            this.panel_modific_Contorl.Controls.Add(this.pb_responseLatency);\n            this.panel_modific_Contorl.Controls.Add(this.pb_ruleComfrim);\n            this.panel_modific_Contorl.Controls.Add(this.pb_ruleCancel);\n            this.panel_modific_Contorl.Controls.Add(this.menuStrip_quickRule);\n            this.panel_modific_Contorl.Dock = System.Windows.Forms.DockStyle.Bottom;\n            this.panel_modific_Contorl.Location = new System.Drawing.Point(0, 329);\n            this.panel_modific_Contorl.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.panel_modific_Contorl.Name = \"panel_modific_Contorl\";\n            this.panel_modific_Contorl.Size = new System.Drawing.Size(609, 27);\n            this.panel_modific_Contorl.TabIndex = 0;\n            // \n            // pb_parameterSwitch\n            // \n            this.pb_parameterSwitch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_parameterSwitch.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_parameterSwitch.Image = global::FreeHttp.Properties.Resources.noParameter;\n            this.pb_parameterSwitch.IsAutoChangeSwitchState = true;\n            this.pb_parameterSwitch.Location = new System.Drawing.Point(512, 1);\n            this.pb_parameterSwitch.Margin = new System.Windows.Forms.Padding(2);\n            this.pb_parameterSwitch.Name = \"pb_parameterSwitch\";\n            this.pb_parameterSwitch.Size = new System.Drawing.Size(25, 25);\n            this.pb_parameterSwitch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pb_parameterSwitch.SwitchOffImage = global::FreeHttp.Properties.Resources.noParameter;\n            this.pb_parameterSwitch.SwitchOnImage = global::FreeHttp.Properties.Resources.useParameter;\n            this.pb_parameterSwitch.SwitchState = false;\n            this.pb_parameterSwitch.TabIndex = 43;\n            this.pb_parameterSwitch.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_parameterSwitch, \"enable the parameter data\");\n            // \n            // pb_protocolSwitch\n            // \n            this.pb_protocolSwitch.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_protocolSwitch.Image = global::FreeHttp.Properties.Resources.httpEnable;\n            this.pb_protocolSwitch.IsAutoChangeSwitchState = false;\n            this.pb_protocolSwitch.Location = new System.Drawing.Point(0, 1);\n            this.pb_protocolSwitch.Margin = new System.Windows.Forms.Padding(2);\n            this.pb_protocolSwitch.Name = \"pb_protocolSwitch\";\n            this.pb_protocolSwitch.Size = new System.Drawing.Size(71, 23);\n            this.pb_protocolSwitch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pb_protocolSwitch.SwitchOffImage = global::FreeHttp.Properties.Resources.wsEnable;\n            this.pb_protocolSwitch.SwitchOnImage = global::FreeHttp.Properties.Resources.httpEnable;\n            this.pb_protocolSwitch.SwitchState = true;\n            this.pb_protocolSwitch.TabIndex = 1;\n            this.pb_protocolSwitch.TabStop = false;\n            this.pb_protocolSwitch.Click += new System.EventHandler(this.pb_protocolSwitch_Click);\n            // \n            // pb_pickRule\n            // \n            this.pb_pickRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_pickRule.BackColor = System.Drawing.Color.Transparent;\n            this.pb_pickRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_pickRule.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_pickRule.Image\")));\n            this.pb_pickRule.Location = new System.Drawing.Point(486, 1);\n            this.pb_pickRule.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_pickRule.Name = \"pb_pickRule\";\n            this.pb_pickRule.Size = new System.Drawing.Size(25, 25);\n            this.pb_pickRule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_pickRule.TabIndex = 42;\n            this.pb_pickRule.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_pickRule, \"set parameter pick info\");\n            this.pb_pickRule.Click += new System.EventHandler(this.pb_pickRule_Click);\n            this.pb_pickRule.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_pickRule.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // lbl_ResponseLatency\n            // \n            this.lbl_ResponseLatency.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.lbl_ResponseLatency.AutoSize = true;\n            this.lbl_ResponseLatency.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));\n            this.lbl_ResponseLatency.Location = new System.Drawing.Point(463, 8);\n            this.lbl_ResponseLatency.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);\n            this.lbl_ResponseLatency.Name = \"lbl_ResponseLatency\";\n            this.lbl_ResponseLatency.Size = new System.Drawing.Size(11, 12);\n            this.lbl_ResponseLatency.TabIndex = 41;\n            this.lbl_ResponseLatency.TabStop = true;\n            this.lbl_ResponseLatency.Text = \"0\";\n            this.toolTip_forMainWindow.SetToolTip(this.lbl_ResponseLatency, \"set response latency\");\n            this.lbl_ResponseLatency.Click += new System.EventHandler(this.pb_responseLatency_Click);\n            // \n            // pb_responseLatency\n            // \n            this.pb_responseLatency.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_responseLatency.BackColor = System.Drawing.Color.Transparent;\n            this.pb_responseLatency.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_responseLatency.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_responseLatency.Image\")));\n            this.pb_responseLatency.Location = new System.Drawing.Point(460, 1);\n            this.pb_responseLatency.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_responseLatency.Name = \"pb_responseLatency\";\n            this.pb_responseLatency.Size = new System.Drawing.Size(25, 25);\n            this.pb_responseLatency.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_responseLatency.TabIndex = 39;\n            this.pb_responseLatency.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_responseLatency, \"set response latency\");\n            this.pb_responseLatency.Click += new System.EventHandler(this.pb_responseLatency_Click);\n            // \n            // pb_ruleComfrim\n            // \n            this.pb_ruleComfrim.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_ruleComfrim.BackColor = System.Drawing.Color.Transparent;\n            this.pb_ruleComfrim.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_ruleComfrim.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_ruleComfrim.Image\")));\n            this.pb_ruleComfrim.Location = new System.Drawing.Point(581, 1);\n            this.pb_ruleComfrim.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_ruleComfrim.Name = \"pb_ruleComfrim\";\n            this.pb_ruleComfrim.Size = new System.Drawing.Size(25, 25);\n            this.pb_ruleComfrim.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_ruleComfrim.TabIndex = 37;\n            this.pb_ruleComfrim.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_ruleComfrim, \"affirm your modific rule\");\n            this.pb_ruleComfrim.Click += new System.EventHandler(this.pb_ruleComfrim_Click);\n            this.pb_ruleComfrim.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_ruleComfrim.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // pb_ruleCancel\n            // \n            this.pb_ruleCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_ruleCancel.BackColor = System.Drawing.Color.Transparent;\n            this.pb_ruleCancel.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_ruleCancel.Image = global::FreeHttp.Properties.Resources.cancel;\n            this.pb_ruleCancel.Location = new System.Drawing.Point(555, 1);\n            this.pb_ruleCancel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.pb_ruleCancel.Name = \"pb_ruleCancel\";\n            this.pb_ruleCancel.Size = new System.Drawing.Size(25, 25);\n            this.pb_ruleCancel.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_ruleCancel.TabIndex = 38;\n            this.pb_ruleCancel.TabStop = false;\n            this.toolTip_forMainWindow.SetToolTip(this.pb_ruleCancel, \"clear your rule edit info\");\n            this.pb_ruleCancel.Click += new System.EventHandler(this.pb_ruleCancel_Click);\n            this.pb_ruleCancel.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_ruleCancel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // menuStrip_quickRule\n            // \n            this.menuStrip_quickRule.Dock = System.Windows.Forms.DockStyle.None;\n            this.menuStrip_quickRule.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.quickRuleToolStripMenuItem,\n            this.modificToolToolStripMenuItem,\n            this.helpToolStripMenuItem});\n            this.menuStrip_quickRule.Location = new System.Drawing.Point(73, 0);\n            this.menuStrip_quickRule.Name = \"menuStrip_quickRule\";\n            this.menuStrip_quickRule.Padding = new System.Windows.Forms.Padding(0, 3, 0, 0);\n            this.menuStrip_quickRule.Size = new System.Drawing.Size(223, 24);\n            this.menuStrip_quickRule.TabIndex = 2;\n            this.menuStrip_quickRule.Text = \"menuStrip1\";\n            // \n            // quickRuleToolStripMenuItem\n            // \n            this.quickRuleToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.disableCacheToolStripMenuItem,\n            this.addCookieToolStripMenuItem,\n            this.deleteCookieToolStripMenuItem,\n            this.setClientCookieToolStripMenuItem,\n            this.copySessionCookiesToolStripMenuItem,\n            this.removeSessionCookiesToolStripMenuItem,\n            this.addUserAgentToolStripMenuItem,\n            this.changeSessionEncodingToolStripMenuItem});\n            this.quickRuleToolStripMenuItem.ForeColor = System.Drawing.SystemColors.HotTrack;\n            this.quickRuleToolStripMenuItem.Name = \"quickRuleToolStripMenuItem\";\n            this.quickRuleToolStripMenuItem.Padding = new System.Windows.Forms.Padding(2, 0, 4, 0);\n            this.quickRuleToolStripMenuItem.Size = new System.Drawing.Size(80, 21);\n            this.quickRuleToolStripMenuItem.Text = \"Quick Rule\";\n            // \n            // disableCacheToolStripMenuItem\n            // \n            this.disableCacheToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"disableCacheToolStripMenuItem.Image\")));\n            this.disableCacheToolStripMenuItem.Name = \"disableCacheToolStripMenuItem\";\n            this.disableCacheToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.disableCacheToolStripMenuItem.Text = \"disable cache\";\n            this.disableCacheToolStripMenuItem.Click += new System.EventHandler(this.disableCacheToolStripMenuItem_Click);\n            // \n            // addCookieToolStripMenuItem\n            // \n            this.addCookieToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"addCookieToolStripMenuItem.Image\")));\n            this.addCookieToolStripMenuItem.Name = \"addCookieToolStripMenuItem\";\n            this.addCookieToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.addCookieToolStripMenuItem.Text = \"add cookie\";\n            this.addCookieToolStripMenuItem.Click += new System.EventHandler(this.addCookieToolStripMenuItem_Click);\n            // \n            // deleteCookieToolStripMenuItem\n            // \n            this.deleteCookieToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"deleteCookieToolStripMenuItem.Image\")));\n            this.deleteCookieToolStripMenuItem.Name = \"deleteCookieToolStripMenuItem\";\n            this.deleteCookieToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.deleteCookieToolStripMenuItem.Text = \"delete cookie\";\n            this.deleteCookieToolStripMenuItem.Click += new System.EventHandler(this.deleteCookieToolStripMenuItem_Click);\n            // \n            // setClientCookieToolStripMenuItem\n            // \n            this.setClientCookieToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"setClientCookieToolStripMenuItem.Image\")));\n            this.setClientCookieToolStripMenuItem.Name = \"setClientCookieToolStripMenuItem\";\n            this.setClientCookieToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.setClientCookieToolStripMenuItem.Text = \"set client cookie\";\n            this.setClientCookieToolStripMenuItem.Click += new System.EventHandler(this.setClientCookieToolStripMenuItem_Click);\n            // \n            // copySessionCookiesToolStripMenuItem\n            // \n            this.copySessionCookiesToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"copySessionCookiesToolStripMenuItem.Image\")));\n            this.copySessionCookiesToolStripMenuItem.Name = \"copySessionCookiesToolStripMenuItem\";\n            this.copySessionCookiesToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.copySessionCookiesToolStripMenuItem.Text = \"copy session cookies\";\n            this.copySessionCookiesToolStripMenuItem.Click += new System.EventHandler(this.copySessionCookiesToolStripMenuItem_Click);\n            // \n            // removeSessionCookiesToolStripMenuItem\n            // \n            this.removeSessionCookiesToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"removeSessionCookiesToolStripMenuItem.Image\")));\n            this.removeSessionCookiesToolStripMenuItem.Name = \"removeSessionCookiesToolStripMenuItem\";\n            this.removeSessionCookiesToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.removeSessionCookiesToolStripMenuItem.Text = \"remove session cookies\";\n            this.removeSessionCookiesToolStripMenuItem.Click += new System.EventHandler(this.removeSessionCookiesToolStripMenuItem_Click);\n            // \n            // addUserAgentToolStripMenuItem\n            // \n            this.addUserAgentToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"addUserAgentToolStripMenuItem.Image\")));\n            this.addUserAgentToolStripMenuItem.Name = \"addUserAgentToolStripMenuItem\";\n            this.addUserAgentToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.addUserAgentToolStripMenuItem.Text = \"add UserAgent\";\n            this.addUserAgentToolStripMenuItem.Click += new System.EventHandler(this.addUserAgentToolStripMenuItem_Click);\n            // \n            // changeSessionEncodingToolStripMenuItem\n            // \n            this.changeSessionEncodingToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"changeSessionEncodingToolStripMenuItem.Image\")));\n            this.changeSessionEncodingToolStripMenuItem.Name = \"changeSessionEncodingToolStripMenuItem\";\n            this.changeSessionEncodingToolStripMenuItem.Size = new System.Drawing.Size(223, 22);\n            this.changeSessionEncodingToolStripMenuItem.Text = \"change session encoding\";\n            this.changeSessionEncodingToolStripMenuItem.Click += new System.EventHandler(this.ChangeSessionEncodingToolStripMenuItem_Click);\n            // \n            // modificToolToolStripMenuItem\n            // \n            this.modificToolToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.independentWindowToolStripMenuItem,\n            this.showSelectedSessionStreamToolStripMenuItem,\n            this.parameterDataManageToolStripMenuItem,\n            this.httpTamperSettingToolStripMenuItem,\n            this.loadingRemoteRuleToolStripMenuItem});\n            this.modificToolToolStripMenuItem.ForeColor = System.Drawing.SystemColors.HotTrack;\n            this.modificToolToolStripMenuItem.Name = \"modificToolToolStripMenuItem\";\n            this.modificToolToolStripMenuItem.Size = new System.Drawing.Size(94, 21);\n            this.modificToolToolStripMenuItem.Text = \"Modific Tool\";\n            // \n            // independentWindowToolStripMenuItem\n            // \n            this.independentWindowToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"independentWindowToolStripMenuItem.Image\")));\n            this.independentWindowToolStripMenuItem.Name = \"independentWindowToolStripMenuItem\";\n            this.independentWindowToolStripMenuItem.Size = new System.Drawing.Size(249, 22);\n            this.independentWindowToolStripMenuItem.Text = \"independent window\";\n            this.independentWindowToolStripMenuItem.Click += new System.EventHandler(this.independentWindowToolStripMenuItem_Click);\n            // \n            // showSelectedSessionStreamToolStripMenuItem\n            // \n            this.showSelectedSessionStreamToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"showSelectedSessionStreamToolStripMenuItem.Image\")));\n            this.showSelectedSessionStreamToolStripMenuItem.Name = \"showSelectedSessionStreamToolStripMenuItem\";\n            this.showSelectedSessionStreamToolStripMenuItem.Size = new System.Drawing.Size(249, 22);\n            this.showSelectedSessionStreamToolStripMenuItem.Text = \"show selected session stream\";\n            this.showSelectedSessionStreamToolStripMenuItem.Click += new System.EventHandler(this.showSelectedSessionStreamToolStripMenuItem_Click);\n            // \n            // parameterDataManageToolStripMenuItem\n            // \n            this.parameterDataManageToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"parameterDataManageToolStripMenuItem.Image\")));\n            this.parameterDataManageToolStripMenuItem.Name = \"parameterDataManageToolStripMenuItem\";\n            this.parameterDataManageToolStripMenuItem.Size = new System.Drawing.Size(249, 22);\n            this.parameterDataManageToolStripMenuItem.Text = \"parameter data manage\";\n            this.parameterDataManageToolStripMenuItem.Click += new System.EventHandler(this.parameterDataManageToolStripMenuItem_Click);\n            // \n            // httpTamperSettingToolStripMenuItem\n            // \n            this.httpTamperSettingToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"httpTamperSettingToolStripMenuItem.Image\")));\n            this.httpTamperSettingToolStripMenuItem.Name = \"httpTamperSettingToolStripMenuItem\";\n            this.httpTamperSettingToolStripMenuItem.Size = new System.Drawing.Size(249, 22);\n            this.httpTamperSettingToolStripMenuItem.Text = \"http tamper setting\";\n            this.httpTamperSettingToolStripMenuItem.Click += new System.EventHandler(this.httpTamperSettingToolStripMenuItem_Click);\n            // \n            // loadingRemoteRuleToolStripMenuItem\n            // \n            this.loadingRemoteRuleToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.cloud;\n            this.loadingRemoteRuleToolStripMenuItem.Name = \"loadingRemoteRuleToolStripMenuItem\";\n            this.loadingRemoteRuleToolStripMenuItem.Size = new System.Drawing.Size(249, 22);\n            this.loadingRemoteRuleToolStripMenuItem.Text = \"loading remote rule\";\n            this.loadingRemoteRuleToolStripMenuItem.Click += new System.EventHandler(this.loadingRemoteRuleToolStripMenuItem_Click);\n            // \n            // helpToolStripMenuItem\n            // \n            this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.feedbackToolStripMenuItem,\n            this.codeInGithubToolStripMenuItem,\n            this.documentationToolStripMenuItem});\n            this.helpToolStripMenuItem.ForeColor = System.Drawing.SystemColors.HotTrack;\n            this.helpToolStripMenuItem.Name = \"helpToolStripMenuItem\";\n            this.helpToolStripMenuItem.Size = new System.Drawing.Size(47, 21);\n            this.helpToolStripMenuItem.Text = \"Help\";\n            // \n            // feedbackToolStripMenuItem\n            // \n            this.feedbackToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"feedbackToolStripMenuItem.Image\")));\n            this.feedbackToolStripMenuItem.Name = \"feedbackToolStripMenuItem\";\n            this.feedbackToolStripMenuItem.Size = new System.Drawing.Size(163, 22);\n            this.feedbackToolStripMenuItem.Text = \"feedback\";\n            this.feedbackToolStripMenuItem.Click += new System.EventHandler(this.FeedbackToolStripMenuItem_Click);\n            // \n            // codeInGithubToolStripMenuItem\n            // \n            this.codeInGithubToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"codeInGithubToolStripMenuItem.Image\")));\n            this.codeInGithubToolStripMenuItem.Name = \"codeInGithubToolStripMenuItem\";\n            this.codeInGithubToolStripMenuItem.Size = new System.Drawing.Size(163, 22);\n            this.codeInGithubToolStripMenuItem.Text = \"code in github\";\n            this.codeInGithubToolStripMenuItem.Click += new System.EventHandler(this.CodeInGithubToolStripMenuItem_Click);\n            // \n            // documentationToolStripMenuItem\n            // \n            this.documentationToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"documentationToolStripMenuItem.Image\")));\n            this.documentationToolStripMenuItem.Name = \"documentationToolStripMenuItem\";\n            this.documentationToolStripMenuItem.Size = new System.Drawing.Size(163, 22);\n            this.documentationToolStripMenuItem.Text = \"documentation\";\n            this.documentationToolStripMenuItem.Click += new System.EventHandler(this.DocumentationToolStripMenuItem_Click);\n            // \n            // tbe_urlFilter\n            // \n            this.tbe_urlFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.tbe_urlFilter.BackColor = System.Drawing.SystemColors.Window;\n            this.tbe_urlFilter.EditTextBox = this.tb_urlFilter;\n            this.tbe_urlFilter.Location = new System.Drawing.Point(430, 19);\n            this.tbe_urlFilter.MainContainerControl = this;\n            this.tbe_urlFilter.Margin = new System.Windows.Forms.Padding(6);\n            this.tbe_urlFilter.Name = \"tbe_urlFilter\";\n            this.tbe_urlFilter.Size = new System.Drawing.Size(17, 17);\n            this.tbe_urlFilter.TabIndex = 50;\n            // \n            // lv_requestRuleList\n            // \n            this.lv_requestRuleList.AllowDrop = true;\n            this.lv_requestRuleList.CheckBoxes = true;\n            this.lv_requestRuleList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\n            this.columnHeader1,\n            this.columnHeader_requstRule});\n            this.lv_requestRuleList.ContextMenuStrip = this.contextMenu_ruleList;\n            this.lv_requestRuleList.Cursor = System.Windows.Forms.Cursors.Default;\n            this.lv_requestRuleList.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.lv_requestRuleList.FullRowSelect = true;\n            this.lv_requestRuleList.HideSelection = false;\n            this.lv_requestRuleList.Location = new System.Drawing.Point(0, 0);\n            this.lv_requestRuleList.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.lv_requestRuleList.Name = \"lv_requestRuleList\";\n            this.lv_requestRuleList.ShowItemToolTips = true;\n            this.lv_requestRuleList.Size = new System.Drawing.Size(353, 201);\n            this.lv_requestRuleList.SmallImageList = this.imageList_forTab;\n            this.lv_requestRuleList.TabIndex = 0;\n            this.lv_requestRuleList.UseCompatibleStateImageBehavior = false;\n            this.lv_requestRuleList.View = System.Windows.Forms.View.Details;\n            this.lv_requestRuleList.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.lv_RuleList_ItemChecked);\n            this.lv_requestRuleList.ItemMouseHover += new System.Windows.Forms.ListViewItemMouseHoverEventHandler(this.lv_ruleList_ItemMouseHover);\n            this.lv_requestRuleList.DoubleClick += new System.EventHandler(this.lv_RuleList_DoubleClick);\n            this.lv_requestRuleList.MouseLeave += new System.EventHandler(this.lv_ruleList_MouseLeave);\n            // \n            // columnHeader1\n            // \n            this.columnHeader1.Text = \"ID\";\n            this.columnHeader1.Width = 54;\n            // \n            // columnHeader_requstRule\n            // \n            this.columnHeader_requstRule.Text = \"Request Rule\";\n            this.columnHeader_requstRule.Width = 280;\n            // \n            // lv_responseRuleList\n            // \n            this.lv_responseRuleList.AllowDrop = true;\n            this.lv_responseRuleList.CheckBoxes = true;\n            this.lv_responseRuleList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\n            this.columnHeader3,\n            this.columnHeader_responseRule});\n            this.lv_responseRuleList.ContextMenuStrip = this.contextMenu_ruleList;\n            this.lv_responseRuleList.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.lv_responseRuleList.FullRowSelect = true;\n            this.lv_responseRuleList.HideSelection = false;\n            this.lv_responseRuleList.Location = new System.Drawing.Point(0, 0);\n            this.lv_responseRuleList.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.lv_responseRuleList.Name = \"lv_responseRuleList\";\n            this.lv_responseRuleList.ShowItemToolTips = true;\n            this.lv_responseRuleList.Size = new System.Drawing.Size(353, 347);\n            this.lv_responseRuleList.SmallImageList = this.imageList_forTab;\n            this.lv_responseRuleList.TabIndex = 1;\n            this.lv_responseRuleList.UseCompatibleStateImageBehavior = false;\n            this.lv_responseRuleList.View = System.Windows.Forms.View.Details;\n            this.lv_responseRuleList.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.lv_RuleList_ItemChecked);\n            this.lv_responseRuleList.ItemMouseHover += new System.Windows.Forms.ListViewItemMouseHoverEventHandler(this.lv_ruleList_ItemMouseHover);\n            this.lv_responseRuleList.DoubleClick += new System.EventHandler(this.lv_RuleList_DoubleClick);\n            this.lv_responseRuleList.MouseLeave += new System.EventHandler(this.lv_ruleList_MouseLeave);\n            // \n            // columnHeader3\n            // \n            this.columnHeader3.Text = \"ID\";\n            this.columnHeader3.Width = 54;\n            // \n            // columnHeader_responseRule\n            // \n            this.columnHeader_responseRule.Text = \"Response Rule\";\n            this.columnHeader_responseRule.Width = 280;\n            // \n            // FreeHttpWindow\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.Controls.Add(this.splitContainer_main);\n            this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.Name = \"FreeHttpWindow\";\n            this.Size = new System.Drawing.Size(966, 552);\n            this.Load += new System.EventHandler(this.FreeHttpWindow_Load);\n            this.contextMenuStrip_AddFile.ResumeLayout(false);\n            this.splitContainer_main.Panel1.ResumeLayout(false);\n            this.splitContainer_main.Panel2.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_main)).EndInit();\n            this.splitContainer_main.ResumeLayout(false);\n            this.splitContainer_httpEditInfo.Panel1.ResumeLayout(false);\n            this.splitContainer_httpEditInfo.Panel2.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_httpEditInfo)).EndInit();\n            this.splitContainer_httpEditInfo.ResumeLayout(false);\n            this.groupBox_urlFilter.ResumeLayout(false);\n            this.groupBox_urlFilter.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_editHttpFilter)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_editRuleMode)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_getSession)).EndInit();\n            this.splitContainer_httpControl.Panel1.ResumeLayout(false);\n            this.splitContainer_httpControl.Panel2.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_httpControl)).EndInit();\n            this.splitContainer_httpControl.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_remoteRule)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_addRequestRule)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_removeRequestRule)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_requestRuleSwitch)).EndInit();\n            this.contextMenu_ruleList.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_addResponseRule)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_removeResponseRule)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_responseRuleSwitch)).EndInit();\n            this.contextMenuStrip_addParameter.ResumeLayout(false);\n            this.panel_modific.ResumeLayout(false);\n            this.tabControl_Modific.ResumeLayout(false);\n            this.tabPage_requestModific.ResumeLayout(false);\n            this.splitContainer_requestModific.Panel1.ResumeLayout(false);\n            this.splitContainer_requestModific.Panel2.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_requestModific)).EndInit();\n            this.splitContainer_requestModific.ResumeLayout(false);\n            this.groupBox_headsModific.ResumeLayout(false);\n            this.groupBox_bodyModific.ResumeLayout(false);\n            this.panel2.ResumeLayout(false);\n            this.panel1.ResumeLayout(false);\n            this.panel1.PerformLayout();\n            this.groupBox_uriModific.ResumeLayout(false);\n            this.groupBox_uriModific.PerformLayout();\n            this.tabPage_requestReplace.ResumeLayout(false);\n            this.splitContainer_requestReplace.Panel1.ResumeLayout(false);\n            this.splitContainer_requestReplace.Panel2.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_requestReplace)).EndInit();\n            this.splitContainer_requestReplace.ResumeLayout(false);\n            this.panel_requestReplace_startLine.ResumeLayout(false);\n            this.panel_requestReplace_startLine.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_requestReplace_changeMode)).EndInit();\n            this.tabPage_responseModific.ResumeLayout(false);\n            this.splitContainer_responseModific.Panel1.ResumeLayout(false);\n            this.splitContainer_responseModific.Panel2.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)(this.splitContainer_responseModific)).EndInit();\n            this.splitContainer_responseModific.ResumeLayout(false);\n            this.groupBox_reponseHeadModific.ResumeLayout(false);\n            this.groupBox_responseBodyModific.ResumeLayout(false);\n            this.panel3.ResumeLayout(false);\n            this.panel4.ResumeLayout(false);\n            this.panel4.PerformLayout();\n            this.tabPage_responseReplace.ResumeLayout(false);\n            this.panel_modific_Contorl.ResumeLayout(false);\n            this.panel_modific_Contorl.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_parameterSwitch)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_protocolSwitch)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_pickRule)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_responseLatency)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_ruleComfrim)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_ruleCancel)).EndInit();\n            this.menuStrip_quickRule.ResumeLayout(false);\n            this.menuStrip_quickRule.PerformLayout();\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.SplitContainer splitContainer_main;\n        private System.Windows.Forms.TabControl tabControl_Modific;\n        private System.Windows.Forms.TabPage tabPage_requestModific;\n        private System.Windows.Forms.TabPage tabPage_requestReplace;\n        private System.Windows.Forms.TabPage tabPage_responseModific;\n        private System.Windows.Forms.TabPage tabPage_responseReplace;\n        private System.Windows.Forms.SplitContainer splitContainer_httpControl;\n        private MyListView lv_requestRuleList;\n        private System.Windows.Forms.ColumnHeader columnHeader1;\n        private System.Windows.Forms.ColumnHeader columnHeader_requstRule;\n        private MyListView lv_responseRuleList;\n        private System.Windows.Forms.ColumnHeader columnHeader3;\n        private System.Windows.Forms.ColumnHeader columnHeader_responseRule;\n        private System.Windows.Forms.GroupBox groupBox_urlFilter;\n        private System.Windows.Forms.ComboBox cb_macthMode;\n        private System.Windows.Forms.TextBox tb_urlFilter;\n        private System.Windows.Forms.GroupBox groupBox_bodyModific;\n        private System.Windows.Forms.GroupBox groupBox_headsModific;\n        private System.Windows.Forms.GroupBox groupBox_uriModific;\n        private System.Windows.Forms.PictureBox pb_ruleComfrim;\n        private WatermakTextBox tb_requestModific_uriModificKey;\n        private System.Windows.Forms.TextBox tb_requestModific_uriModificValue;\n        private System.Windows.Forms.Label label1;\n        private WatermakTextBox tb_requestModific_body;\n        private EditListView requestRemoveHeads;\n        private EditListView requestAddHeads;\n        private System.Windows.Forms.SplitContainer splitContainer_requestModific;\n        private MyPanel panel1;\n        private MyPanel panel_modific_Contorl;\n        private MyPanel panel2;\n        private System.Windows.Forms.RichTextBox rtb_requestModific_body;\n        private System.Windows.Forms.PictureBox pb_getSession;\n        private System.Windows.Forms.PictureBox pictureBox_editRuleMode;\n        private MyPanel panel_modific;\n        private System.Windows.Forms.ComboBox cb_editRequestEdition;\n        private System.Windows.Forms.ComboBox cb_editRequestMethod;\n        private System.Windows.Forms.Label lb_editStartLine;\n        private System.Windows.Forms.SplitContainer splitContainer_requestReplace;\n        private MyPanel panel_requestReplace_startLine;\n        private EditListView elv_requsetReplace;\n        private System.Windows.Forms.PictureBox pb_requestReplace_changeMode;\n        private System.Windows.Forms.RichTextBox rtb_requestRaw;\n        private System.Windows.Forms.SplitContainer splitContainer_responseModific;\n        private System.Windows.Forms.GroupBox groupBox_reponseHeadModific;\n        private EditListView responseAddHeads;\n        private System.Windows.Forms.GroupBox groupBox_responseBodyModific;\n        private MyPanel panel3;\n        private System.Windows.Forms.RichTextBox rtb_respenseModific_body;\n        private MyPanel panel4;\n        private WatermakTextBox tb_responseModific_body;\n        private System.Windows.Forms.Label label2;\n        private RawResponseEdit rawResponseEdit;\n        private System.Windows.Forms.PictureBox pb_requestRuleSwitch;\n        private System.Windows.Forms.PictureBox pb_responseRuleSwitch;\n        private System.Windows.Forms.PictureBox pb_addRequestRule;\n        private System.Windows.Forms.PictureBox pb_removeRequestRule;\n        private System.Windows.Forms.PictureBox pb_addResponseRule;\n        private System.Windows.Forms.PictureBox pb_removeResponseRule;\n        private System.Windows.Forms.ContextMenuStrip contextMenuStrip_AddFile;\n        private System.Windows.Forms.ToolStripMenuItem addFileToolStripMenuItem;\n        private System.Windows.Forms.OpenFileDialog openFileDialog_addFIle;\n        private System.Windows.Forms.RichTextBox rtb_requsetReplace_body;\n        private EditListView responseRemoveHeads;\n        private WatermakTextBox tb_requestReplace_uri;\n        private System.Windows.Forms.Label lb_editRuleMode;\n        private System.Windows.Forms.SplitContainer splitContainer_httpEditInfo;\n        private System.Windows.Forms.RichTextBox rtb_MesInfo;\n        private System.Windows.Forms.ContextMenuStrip contextMenu_ruleList;\n        private System.Windows.Forms.ToolStripMenuItem removeSelectedRuleToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem removeAllRuleToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem enableAllRuleToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem unableAllRuleToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem enableThisRuleToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem editThisRuleToolStripMenuItem;\n        private System.Windows.Forms.PictureBox pb_ruleCancel;\n        private System.Windows.Forms.MenuStrip menuStrip_quickRule;\n        private System.Windows.Forms.ToolStripMenuItem quickRuleToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem disableCacheToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem addCookieToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem setClientCookieToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem modificToolToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem showSelectedSessionStreamToolStripMenuItem;\n        private System.Windows.Forms.ToolTip toolTip_forMainWindow;\n        private System.Windows.Forms.ToolStripMenuItem addUserAgentToolStripMenuItem;\n        private TextBoxEditer tbe_RequestBodyModific;\n        private TextBoxEditer tbe_ResponseBodyModific;\n        private System.Windows.Forms.ToolStripMenuItem deleteCookieToolStripMenuItem;\n        private System.Windows.Forms.PictureBox pb_responseLatency;\n        private System.Windows.Forms.LinkLabel lbl_ResponseLatency;\n        private TextBoxEditer tbe_urlFilter;\n        private System.Windows.Forms.ToolStripMenuItem httpTamperSettingToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem copySessionCookiesToolStripMenuItem;\n        private System.Windows.Forms.PictureBox pictureBox_editHttpFilter;\n        private System.Windows.Forms.ToolStripMenuItem parameterDataManageToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem antoContentLengthToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem keyValueToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem parameterToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem dataSouceToolStripMenuItem;\n        private System.Windows.Forms.ToolStripSeparator toolStripSeparator_addAndCheck;\n        private System.Windows.Forms.ContextMenuStrip contextMenuStrip_addParameter;\n        private System.Windows.Forms.ToolStripMenuItem currentValueToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem nextValueToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem previousValueToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem addParameterDataToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem editDataToolStripMenuItem;\n        private System.Windows.Forms.PictureBox pb_pickRule;\n        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;\n        private System.Windows.Forms.ToolStripMenuItem removeSessionCookiesToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem feedbackToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem codeInGithubToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem documentationToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem changeSessionEncodingToolStripMenuItem;\n        private MySwitchPictureButton pb_protocolSwitch;\n        private MySwitchPictureButton pb_parameterSwitch;\n        internal System.Windows.Forms.ToolStripMenuItem independentWindowToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem loadingRemoteRuleToolStripMenuItem;\n        internal System.Windows.Forms.ImageList imageList_forTab;\n        private System.Windows.Forms.ToolStripMenuItem copySelectedRuleToolStripMenuItem;\n        private System.Windows.Forms.PictureBox pb_remoteRule;\n        private System.Windows.Forms.ToolStripMenuItem groupToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem addToNewGroupToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem moveToGroupToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem deleteThisGroupToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem enableThisGroupToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem unableThisGroupToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem renameThisGroupToolStripMenuItem;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/FreeHttpWindow.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.IO;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.FiddlerHelper;\nusing FreeHttp.AutoTest.ParameterizationPick;\nusing static FreeHttp.WebService.RemoteRuleService;\nusing FreeHttp.WebService;\nusing FreeHttp.WebService.DataModel;\n\n/*******************************************************************************\n* Copyright (c) 2018 lulianqi\n* All rights reserved.\n* \n* 文件名称: \n* 内容摘要: mycllq@hotmail.com\n* \n* 历史记录:\n* 日\t  期:   20181103           创建人: lulianqi [mycllq@hotmail.com]\n* 描    述: 创建\n*\n* 历史记录:\n* 日\t  期:                      修改:  \n* 描    述: \n*******************************************************************************/\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class FreeHttpWindow : UserControl\n    {\n        /// <summary>\n        /// Http modific mode\n        /// </summary>\n        public enum RuleEditMode\n        {\n            NewRuleMode,\n            EditRequsetRule,\n            EditResponseRule\n        }\n        public enum GetSessionAction\n        {\n            ShowShowResponse,\n            SetCookies,\n            DeleteCookies\n        }\n\n        public class GetSessionRawDataEventArgs : EventArgs\n        {\n            public GetSessionAction SessionAction { get; set; }\n            public GetSessionRawDataEventArgs(GetSessionAction sessionAction)\n            {\n                SessionAction = sessionAction;\n            }\n        }\n\n        public class GetSessionEventArgs\n        {\n            public bool IsGetSuccess { get; set; } = false;\n            public String Uri { get; set; }\n            public List<KeyValuePair<string,string>> RequestHeads { get; set; }\n            public String RequestEntity { get; set; }\n            public List<KeyValuePair<string, string>> ResponseHeads { get; set; }\n            public String ResponseEntity { get; set; }\n            public bool IsGetEntity { get; private set; } = false;\n            public GetSessionEventArgs(bool isGetEntity)\n            {\n                IsGetEntity = isGetEntity;\n            }\n\n        }\n        public class GetSessionSeekHeadEventArgs : EventArgs\n        {\n            public string SeekUri { get; set; }\n            public KeyValuePair<string,string> ResquestHead { get; set; }\n            public KeyValuePair<string, string> ResponseHead { get; set; }\n\n            public GetSessionSeekHeadEventArgs(KeyValuePair<string, string> resquestHead , KeyValuePair<string, string> responseHead)\n            {\n                ResquestHead = resquestHead;\n                ResponseHead = responseHead;\n            }\n        }\n\n        public delegate void GetSessionRawDataEventHandler(object sender, GetSessionRawDataEventArgs e);\n\n        //fiddlerModificHttpRuleCollection不保持最新数据集合，仅保持最后一次InitializeConfigInfo的rule数据关系\n        private FiddlerModificHttpRuleCollection fiddlerModificHttpRuleCollection; \n        private bool isSetResponseLatencyEable;\n        private bool isLoadFreeHttpWindowUserControl = false;\n\n        private PictureBox ShowRuleInfo_pb = new PictureBox() { Cursor = Cursors.Hand , SizeMode = PictureBoxSizeMode.StretchImage };\n        private List<RuleInfoWindow> nowRuleInfoWindowList = new List<RuleInfoWindow>();\n\n        public FreeHttpWindow()\n        {\n            InitializeComponent();\n            MyInitializeComponent();\n            //this.DoubleBuffered = true;\n            SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);\n            UpdateStyles();\n        }\n\n        private void MyInitializeComponent()\n        {\n            ShowRuleInfo_pb.Image = Resources.MyResource.show;\n            ShowRuleInfo_pb.MouseLeave += pictureBox_MouseLeave;\n            ShowRuleInfo_pb.MouseMove += pictureBox_MouseMove;\n            ShowRuleInfo_pb.Click += ShowRuleInfo_pb_Click;\n        }\n\n        /// <summary>\n        /// updata reference relationship（ActuatorStaticDataCollection 与 HttpRule 这这里需要重建引用关系）\n        /// </summary>\n        /// <param name=\"yourRuleCollection\"></param>\n        /// <param name=\"yourModifcSettingInfo\"></param>\n        /// <param name=\"yourStaticDataCollection\"></param>\n        /// <param name=\"yourFiddlerRuleGroup\"></param>\n        private void InitializeConfigInfo(FiddlerModificHttpRuleCollection yourRuleCollection, FiddlerModificSettingInfo yourModifcSettingInfo, ActuatorStaticDataCollection yourStaticDataCollection, FiddlerRuleGroup yourFiddlerRuleGroup)\n        {\n            fiddlerModificHttpRuleCollection = yourRuleCollection;\n            ModificSettingInfo = yourModifcSettingInfo;\n            if (ModificSettingInfo != null) ModificSettingInfo.IsSyncTamperRule = true;\n            if (ModificSettingInfo != null && ModificSettingInfo.UserToken != null) UserComputerInfo.UserToken = ModificSettingInfo.UserToken;\n            StaticDataCollection = yourStaticDataCollection;\n            ModificRuleGroup = yourFiddlerRuleGroup;\n            if (fiddlerModificHttpRuleCollection != null && StaticDataCollection != null)\n            {\n                foreach (var fr in fiddlerModificHttpRuleCollection.ResponseRuleList)\n                {\n                    fr.ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(StaticDataCollection);\n                    if (fr.IsRawReplace)\n                    {\n                        if (fr.HttpRawResponse.ParameterizationContent == null)\n                        {\n                            fr.HttpRawResponse.ParameterizationContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(fr.HttpRawResponse.OriginSting);\n                        }\n                    }\n                    fr.SetHasParameter(fr.IsHasParameter, StaticDataCollection);\n                }\n                foreach (var fr in fiddlerModificHttpRuleCollection.RequestRuleList)\n                {\n                    if (fr.IsRawReplace)\n                    {\n                        if (fr.HttpRawRequest.ParameterizationContent == null)\n                        {\n                            fr.HttpRawRequest.ParameterizationContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(fr.HttpRawRequest.OriginSting);\n                        }\n                    }\n                    fr.SetHasParameter(fr.IsHasParameter, StaticDataCollection);\n                }\n            }\n        }\n        /// <summary>\n        /// FreeHttpWindow\n        /// </summary>\n        /// <param name=\"yourRuleCollection\">the history rule</param>\n        public FreeHttpWindow(FiddlerModificHttpRuleCollection yourRuleCollection, FiddlerModificSettingInfo yourModifcSettingInfo, ActuatorStaticDataCollection yourStaticDataCollection , FiddlerRuleGroup yourFiddlerRuleGroup)\n            : this()\n        {\n            InitializeConfigInfo(yourRuleCollection, yourModifcSettingInfo, yourStaticDataCollection, yourFiddlerRuleGroup);\n            if (!rawResponseEdit.SetContextMenuStrip(contextMenuStrip_AddFile))\n            {\n                MessageBox.Show(\"RawResponseEdit SetContextMenuStrip fail\");\n            }\n            FreeHttpWindow_Load(null, null);\n        }\n        \n\n        /// <summary>\n        /// On get the http session button click\n        /// </summary>\n        public event EventHandler OnUpdataFromSession;\n        /// <summary>\n        /// On get the raw http data link click   (EventHandler<GetSessionRawDataEventArgs>)\n        /// </summary>\n        public event GetSessionRawDataEventHandler OnGetSessionRawData;\n\n        /// <summary>\n        /// find your seek head vaule in session (only use in synchronization)\n        /// </summary>\n        public event EventHandler<GetSessionSeekHeadEventArgs> OnGetSessionSeekHead;\n\n        /// <summary>\n        /// get select session info show in \n        /// </summary>\n        public event EventHandler<GetSessionEventArgs> OnGetSessionEventArgs;\n\n        /// <summary>\n        /// when the freehttp want show independent \n        /// </summary>\n        public event EventHandler<bool> OnShowInIndependentWindow;\n\n        //public \n\n        /// <summary>\n        /// get or set ModificSettingInfo\n        /// </summary>\n        public FiddlerModificSettingInfo ModificSettingInfo { get;  set; }\n\n        /// <summary>\n        /// get or set ModificSettingInfo\n        /// </summary>\n        public ActuatorStaticDataCollection StaticDataCollection { get; set; }\n\n        /// <summary>\n        /// get FiddlerModificHttpRuleCollection\n        /// </summary>\n        public FiddlerModificHttpRuleCollection ModificHttpRuleCollection\n        {\n            get { return new FiddlerModificHttpRuleCollection(FiddlerRequestChangeList, FiddlerResponseChangeList); }\n        }\n\n        /// <summary>\n        /// get or set ModificRuleGroup(如果使用=重置组信息请重新建立其与ListView的关系)\n        /// </summary>\n        public FiddlerRuleGroup ModificRuleGroup { get; set; }\n\n        /// <summary>\n        /// get or set IsSetResponseLatencyEable\n        /// </summary>\n        public bool IsSetResponseLatencyEable\n        {\n            get { return isSetResponseLatencyEable; }\n            private set { isSetResponseLatencyEable = value; ChangeSetResponseLatencyMode(value == true ? 0 : -1); }\n        }\n\n        /// <summary>\n        /// Is Request Rule Enable\n        /// </summary>\n        public bool IsRequestRuleEnable { get { return ModificSettingInfo.IsEnableRequestRule; } private set { ModificSettingInfo.IsEnableRequestRule = value; } }\n       \n        /// <summary>\n        /// Is Response Rule Enable\n        /// </summary>\n        public bool IsResponseRuleEnable { get { return ModificSettingInfo.IsEnableResponseRule; } private set { ModificSettingInfo.IsEnableResponseRule = value; } }\n\n        /// <summary>\n        /// Get the RequestRule ListView (not add or del item in your code , if you want change the item just use exist function)\n        /// </summary>\n        public ListView RequestRuleListView { get { return lv_requestRuleList; } }\n\n        /// <summary>\n        /// Get the ResponseRule ListView (not add or del item in your code , if you want change the item just use exist function)\n        /// </summary>\n        public ListView ResponseRuleListView { get { return lv_responseRuleList; } }\n\n\n        /// <summary>\n        /// Get latest FiddlerRequestChange list\n        /// </summary>\n        public List<FiddlerRequestChange> FiddlerRequestChangeList { get; private set; }\n\n        /// <summary>\n        /// Get latest FiddlerResponseChange list\n        /// </summary>\n        public List<FiddlerResponseChange> FiddlerResponseChangeList { get; private set; } \n   \n\n        /// <summary>\n        /// Get edit ListViewItem (if it is not in edit mode return null)\n        /// </summary>\n        public ListViewItem EditListViewItem { get; private set; }\n\n        /// <summary>\n        /// Get now edit mode\n        /// </summary>\n        public RuleEditMode NowEditMode { get; private set; } = RuleEditMode.NewRuleMode;\n\n        /// <summary>\n        /// Get now protocol mode\n        /// </summary>\n        public TamperProtocalType NowProtocalMode { get; private set; } = TamperProtocalType.Http;\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        private void FreeHttpWindow_Load(object sender, EventArgs e)\n        {\n            if(isLoadFreeHttpWindowUserControl)\n            {\n                return;\n            }\n            try\n            {\n                LoadFiddlerModificHttpRuleCollection(fiddlerModificHttpRuleCollection);\n            }\n            catch(Exception ex)\n            {\n                string errorMes = string.Format(\"{0}\\r\\n{1}\", ex.Message, ex.InnerException == null ? \"\" : ex.InnerException.Message);\n                _ = RemoteLogService.ReportLogAsync(errorMes, RemoteLogService.RemoteLogOperation.WindowLoad, RemoteLogService.RemoteLogType.Error);\n                MessageBox.Show(errorMes, \"load user rule fail\");\n                if (File.Exists(\"RuleData.xml\"))\n                {\n                    File.Copy(\"RuleData.xml\", \"RuleData.lastErrorFile\", true);\n                }\n            }\n            if(FiddlerRequestChangeList == null)\n            {\n                FiddlerRequestChangeList = new List<FiddlerRequestChange>();\n            }\n            if(FiddlerResponseChangeList==null)\n            {\n                FiddlerResponseChangeList = new List<FiddlerResponseChange>();\n            }\n            if (StaticDataCollection == null)\n            {\n                StaticDataCollection = new ActuatorStaticDataCollection(true);\n            }\n            if(ModificRuleGroup==null)\n            {\n                ModificRuleGroup = new FiddlerRuleGroup(lv_requestRuleList, lv_responseRuleList);\n            }\n            else\n            {\n                ModificRuleGroup.SetRuleGroupListView(lv_requestRuleList, lv_responseRuleList);\n                ModificRuleGroup.RecoverGroup();\n            }\n            if(ModificSettingInfo==null)\n            {\n                ModificSettingInfo = new FiddlerModificSettingInfo(true, false ,true,true);\n            }\n            if(ModificSettingInfo.IsEnableRequestRule)\n            {\n                pb_requestRuleSwitch.Image = Resources.MyResource.switch_on;\n            }\n            if (ModificSettingInfo.IsEnableResponseRule)\n            {\n                pb_responseRuleSwitch.Image = Resources.MyResource.switch_on;\n            }\n\n            FreeHttp.MyHelper.MyGlobalHelper.OnGetGlobalMessage += ((obj, arg) => { PutWarn(arg.Message); });\n            \n            tbe_RequestBodyModific.Visible = false;\n            tbe_ResponseBodyModific.Visible = false;\n            tbe_urlFilter.Visible = false;\n            lv_requestRuleList.SetGroupState(ListViewGroupState.Collapsible);\n            lv_responseRuleList.SetGroupState(ListViewGroupState.Collapsible);\n            lv_responseRuleList.OnItemDragSortEnd += Lv_ruleList_OnItemDragSort;\n            lv_requestRuleList.OnItemDragSortEnd += Lv_ruleList_OnItemDragSort;\n            lv_requestRuleList.OnItemDragSortStart += Lv_ruleList_OnItemDragSortStart;\n            lv_responseRuleList.OnItemDragSortStart += Lv_ruleList_OnItemDragSortStart;\n            tbe_RequestBodyModific.OnCloseEditBox += tbe_BodyModific_OnCloseEditBox;\n            tbe_ResponseBodyModific.OnCloseEditBox += tbe_BodyModific_OnCloseEditBox;\n            tbe_urlFilter.OnCloseEditBox += tbe_BodyModific_OnCloseEditBox;\n\n            cb_macthMode.SelectedIndex = 0;\n            tabControl_Modific.SelectedTab = tabPage_requestModific;\n            IsSetResponseLatencyEable = false;\n\n            //rtb_MesInfo.AllowDrop = true;\n            //rtb_MesInfo.DragEnter += rtb_MesInfo_DragEnter;\n            //rtb_MesInfo.DragDrop += rtb_MesInfo_DragDrop;\n\n            splitContainer_httpEditInfo.AllowDrop = true;\n            splitContainer_httpEditInfo.DragEnter += rtb_MesInfo_DragEnter;\n            splitContainer_httpEditInfo.DragDrop += rtb_MesInfo_DragDrop;\n\n            panel_modific_Contorl.AllowDrop = true;\n            panel_modific_Contorl.DragEnter += rtb_MesInfo_DragEnter;\n            panel_modific_Contorl.DragDrop += rtb_MesInfo_DragDrop;\n\n            Action dropAction = () =>\n            {\n                pb_parameterSwitch.SwitchState = true;\n            };\n            MyControlHelper.SetRichTextBoxDropString(rtb_requsetReplace_body, dropAction);\n            MyControlHelper.SetRichTextBoxDropString(rtb_requestRaw, dropAction);\n            MyControlHelper.SetRichTextBoxDropString(rtb_requestModific_body, dropAction);\n            MyControlHelper.SetRichTextBoxDropString(rtb_respenseModific_body, dropAction);\n\n            MyControlHelper.SetRichTextBoxDropString(tb_requestModific_body , dropAction);\n            MyControlHelper.SetRichTextBoxDropString(tb_requestModific_uriModificKey, dropAction);\n            MyControlHelper.SetRichTextBoxDropString(tb_requestModific_uriModificValue, dropAction);\n            MyControlHelper.SetRichTextBoxDropString(tb_responseModific_body, dropAction);\n\n            isLoadFreeHttpWindowUserControl = true;\n        }\n\n        internal void FreeHttpWindowSelectedChanged(bool isInFreeHttpWindowSelected)\n        {\n            if(this.Parent is Form)\n            {\n                return;\n            }\n            if(nowRuleInfoWindowList==null || nowRuleInfoWindowList.Count==0)\n            {\n                return;\n            }\n            for (int i = nowRuleInfoWindowList.Count - 1; i >= 0; i--)\n            {\n                if (nowRuleInfoWindowList[i].IsDisposed)\n                {\n                    nowRuleInfoWindowList.RemoveAt(i);\n                    continue;\n                }\n                nowRuleInfoWindowList[i].Visible = isInFreeHttpWindowSelected;\n            }\n        }\n\n        internal void FreeHttpWindowParentChanged(object sender)\n        {\n            if (nowRuleInfoWindowList == null || nowRuleInfoWindowList.Count == 0)\n            {\n                return;\n            }\n            for (int i = nowRuleInfoWindowList.Count - 1; i >= 0; i--)\n            {\n                if (!nowRuleInfoWindowList[i].IsDisposed)\n                {\n                    nowRuleInfoWindowList[i].Close();\n                }\n            }\n            nowRuleInfoWindowList.Clear();\n        }\n\n        #region Public Event\n        private void tabControl_Modific_Selecting(object sender, TabControlCancelEventArgs e)\n        {\n            if (e == null) return; // e为了null 即为应用调用，不用检查tab状态\n            if (!(((TabControl)sender).TabPages.Count == 2  && (((TabControl)sender).TabPages[0]==tabPage_requestModific && ((TabControl)sender).TabPages[1] == tabPage_responseModific) || ((TabControl)sender).TabPages.Count == 4))  return;\n            Action cancelChange = () => {\n                MarkControl(pb_ruleCancel, Color.Plum, 2);\n                MarkControl(pb_ruleComfrim, Color.Plum, 2);\n                e.Cancel = true;\n            };\n\n            if(NowEditMode== RuleEditMode.EditRequsetRule)\n            {\n                if ((((TabControl)sender).SelectedTab == tabPage_responseModific || ((TabControl)sender).SelectedTab == tabPage_responseReplace) && NowProtocalMode == TamperProtocalType.Http)\n                {\n                    MessageBox.Show(\"the select requst rule is in editing (that pink rule in rule list) \\r\\nyou should save or cancel this editing before edit response\", \"STOP\");\n                    cancelChange();\n                }\n                if ((((TabControl)sender).SelectedTab != tabPage_requestModific) && NowProtocalMode == TamperProtocalType.WebSocket)\n                {\n                    MessageBox.Show(\"the select websocket requst rule is in editing (that pink rule in rule list) \\r\\nyou should save or cancel this editing before edit response\", \"STOP\");\n                    cancelChange();\n                }\n            }\n            else if(NowEditMode== RuleEditMode.EditResponseRule)\n            {\n                if ((((TabControl)sender).SelectedTab == tabPage_requestModific || ((TabControl)sender).SelectedTab == tabPage_requestReplace) && NowProtocalMode == TamperProtocalType.Http)\n                {\n                    MessageBox.Show(\"the select response rule is in editing (that pink rule in rule list)\\r\\nyou should save or cancel this editing before edit requst\", \"STOP\");\n                    cancelChange();\n                }\n                if ((((TabControl)sender).SelectedTab != tabPage_responseModific) && NowProtocalMode == TamperProtocalType.WebSocket)\n                {\n                    MessageBox.Show(\"the select websocket response rule is in editing (that pink rule in rule list) \\r\\nyou should save or cancel this editing before edit response\", \"STOP\");\n                    cancelChange();\n                }\n            } \n            else\n            {\n                if ((((TabControl)sender).SelectedTab == tabPage_requestReplace || ((TabControl)sender).SelectedTab == tabPage_responseReplace) && NowProtocalMode == TamperProtocalType.WebSocket)\n                {\n                    MessageBox.Show(\"websocket tamper rule not need use replace mode\", \"STOP\");\n                    e.Cancel = true;\n                }\n                if (((TabControl)sender).SelectedTab == tabPage_requestModific || ((TabControl)sender).SelectedTab == tabPage_requestReplace)\n                {\n                    IsSetResponseLatencyEable = false;\n                }\n                else\n                {\n                    IsSetResponseLatencyEable = true;\n                }\n            }\n        }\n\n        private void addFileToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            object sourceControl = ((ContextMenuStrip)(((ToolStripMenuItem)sender).Owner)).SourceControl;\n            RichTextBox tempRtb = null;\n            if (sourceControl == rtb_requsetReplace_body)\n            {\n                tempRtb = rtb_requsetReplace_body;\n            }\n            else if (sourceControl == rtb_requestRaw)\n            {\n                tempRtb = rtb_requestRaw;\n            }\n            else\n            {\n                tempRtb = sourceControl as RichTextBox;\n                if (tempRtb == null)\n                {\n                    //throw new Exception(\"not adapt this event\");\n                    MessageBox.Show(\"get file fail , please try again or add manually\");\n                    return;\n                }\n            }\n\n            if (openFileDialog_addFIle.ShowDialog() == DialogResult.OK)\n            {\n                string tempPath = openFileDialog_addFIle.FileName;\n                int tempIndex = tempRtb.Text.IndexOf(\"<<replace file path>>\");\n                if (tempIndex >= 0)\n                {\n                    tempRtb.Text = tempRtb.Text.Remove(tempIndex);\n                }\n\n                if (!tempRtb.Text.EndsWith(\"\\n\\n\") && tempRtb != rtb_requsetReplace_body)\n                {\n                    if (tempRtb.Text.EndsWith(\"\\n\"))\n                    {\n                        tempRtb.AppendText(\"\\n\");\n                    }\n                    else\n                    {\n                        tempRtb.AppendText(\"\\n\\n\");\n                    }\n                }\n\n                tempRtb.AppendText(string.Format(\"<<replace file path>>{0}\", tempPath));\n            }\n        }\n\n        private void contextMenuStrip_addParameter_Opening(object sender, CancelEventArgs e)\n        {\n            ((System.Windows.Forms.ToolStripDropDown)(sender)).Tag = ((ToolStripDropDown)(sender)).OwnerItem;\n        }\n\n        private void contextMenuStrip_AddFile_Opening(object sender, CancelEventArgs e)\n        {\n            ((ContextMenuStrip)sender).Tag = ((ContextMenuStrip)sender).SourceControl;\n            if(((ContextMenuStrip)sender).SourceControl == rtb_requestModific_body || ((ContextMenuStrip)sender).SourceControl == rtb_respenseModific_body)\n            {\n                addFileToolStripMenuItem.Enabled = false;\n                antoContentLengthToolStripMenuItem.Enabled = false;\n                antoContentLengthToolStripMenuItem.Checked = true;\n            }\n            else\n            {\n                addFileToolStripMenuItem.Enabled = true;\n                antoContentLengthToolStripMenuItem.Enabled = true;\n                //antoContentLengthToolStripMenuItem.Checked = true;\n            }\n        }\n\n        private void addParameterDataToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            string additionStr = null;\n            string addParameterStr = null;\n            if(sender ==currentValueToolStripMenuItem)\n            {\n                additionStr = \"(=)\";\n            }\n            else if (sender == nextValueToolStripMenuItem)\n            {\n                additionStr = \"(+)\";\n            }\n            else if (sender == previousValueToolStripMenuItem)\n            {\n                additionStr = \"(+2)\";\n            }\n            else\n            {\n                return;\n            }\n            if(((System.Windows.Forms.ToolStripItem)(sender)).Owner.Tag==null)\n            {\n                MessageBox.Show(\"add parameter fail ,please add manually\");\n                return;\n            }\n            object tempTag = ((System.Windows.Forms.ToolStripItem)(sender)).Owner.Tag;\n            addParameterStr = string.Format(\"*#{0}{1}*#\", ((ToolStripItem)tempTag).Text, additionStr);\n            //there is a bug in dot net 4.5 when call SourceControl (https://github.com/Microsoft/dotnet/issues/434 )\n            //RichTextBox tempRichTextBox = ((ContextMenuStrip)((((ToolStripItem)(tempTag)).OwnerItem).OwnerItem.Owner)).SourceControl as RichTextBox;\n            RichTextBox tempRichTextBox = ((ContextMenuStrip)((((ToolStripItem)(tempTag)).OwnerItem).OwnerItem.Owner)).Tag as RichTextBox;\n            if(tempRichTextBox==null)\n            {\n                MessageBox.Show(\"add parameter fail ,please add manually\");\n                return ;\n            }\n            int selectionStart = tempRichTextBox.SelectionStart;\n            tempRichTextBox.Text = tempRichTextBox.Text.Insert(selectionStart, addParameterStr);\n            tempRichTextBox.Select(selectionStart, addParameterStr.Length);\n            pb_parameterSwitch.SwitchState = true;\n        }\n\n\n        private void addParameterDataToolStripMenuItem_DropDownOpening(object sender, EventArgs e)\n        {\n            keyValueToolStripMenuItem.DropDownItems.Clear();\n            parameterToolStripMenuItem.DropDownItems.Clear();\n            dataSouceToolStripMenuItem.DropDownItems.Clear();\n            if(StaticDataCollection==null)\n            {\n                return;\n            }\n            if (StaticDataCollection.RunActuatorStaticDataKeyList != null && StaticDataCollection.RunActuatorStaticDataKeyList.Count>0)\n            {\n                foreach(var tempItem in StaticDataCollection.RunActuatorStaticDataKeyList)\n                {\n                    //keyValueToolStripMenuItem.DropDownItems.Add(tempItem.Key);\n                    ToolStripMenuItem tempTmi = new ToolStripMenuItem(tempItem.Key);\n                    tempTmi.DropDown = contextMenuStrip_addParameter;\n                    keyValueToolStripMenuItem.DropDownItems.Add(tempTmi);\n                    \n                }\n                keyValueToolStripMenuItem.Enabled = true;\n            }\n            else\n            {\n                keyValueToolStripMenuItem.Enabled = false;\n            }\n            if (StaticDataCollection.RunActuatorStaticDataParameterList != null && StaticDataCollection.RunActuatorStaticDataParameterList.Count > 0)\n            {\n                foreach (var tempItem in StaticDataCollection.RunActuatorStaticDataParameterList)\n                {\n                    //parameterToolStripMenuItem.DropDownItems.Add(tempItem.Key);\n                    ToolStripMenuItem tempTmi = new ToolStripMenuItem(tempItem.Key);\n                    tempTmi.DropDown = contextMenuStrip_addParameter;\n                    parameterToolStripMenuItem.DropDownItems.Add(tempTmi);\n                }\n                parameterToolStripMenuItem.Enabled = true;\n            }\n            else\n            {\n                parameterToolStripMenuItem.Enabled = false;\n            }\n            if (StaticDataCollection.RunActuatorStaticDataSouceList != null && StaticDataCollection.RunActuatorStaticDataSouceList.Count > 0)\n            {\n                foreach (var tempItem in StaticDataCollection.RunActuatorStaticDataSouceList)\n                {\n                    //dataSouceToolStripMenuItem.DropDownItems.Add(tempItem.Key);\n                    ToolStripMenuItem tempTmi = new ToolStripMenuItem(tempItem.Key);\n                    tempTmi.DropDown = contextMenuStrip_addParameter;\n                    dataSouceToolStripMenuItem.DropDownItems.Add(tempTmi);\n                }\n                dataSouceToolStripMenuItem.Enabled = true;\n            }\n            else\n            {\n                dataSouceToolStripMenuItem.Enabled = false;\n            }\n        }\n\n        private void antoContentLengthToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            antoContentLengthToolStripMenuItem.Checked = !antoContentLengthToolStripMenuItem.Checked;\n        }\n\n        private void pictureBox_editRuleMode_Click(object sender, EventArgs e)\n        {\n            pb_ruleComfrim_Click(sender, e);\n        }\n        private void pictureBox_editHttpFilter_Click(object sender, EventArgs e)\n        {\n\n            pictureBox_editHttpFilter.Tag = GetHttpFilter();\n\n            HttpFilterWindow f = new HttpFilterWindow(pictureBox_editHttpFilter.Tag ,NowProtocalMode);\n            f.ShowDialog();\n\n            if (((FiddlerHttpFilter)pictureBox_editHttpFilter.Tag).HeadMatch != null || ((FiddlerHttpFilter)pictureBox_editHttpFilter.Tag).BodyMatch != null)\n            {\n                pictureBox_editHttpFilter.Image = Resources.MyResource.filter_on;\n            }\n            else\n            {\n                pictureBox_editHttpFilter.Image = Resources.MyResource.filter_off;\n            }\n            SetUriMatch(((FiddlerHttpFilter)pictureBox_editHttpFilter.Tag).UriMatch);\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n\n        private void tb_Modific_body_Enter(object sender, EventArgs e)\n        {\n            TextBoxEditer tbe = null;\n            if (sender == tb_requestModific_body)\n            {\n                tbe = tbe_RequestBodyModific;\n            }\n            else if (sender == tb_responseModific_body)\n            {\n                tbe = tbe_ResponseBodyModific;\n            }\n            else if(sender == tb_urlFilter)\n            {\n                tbe = tbe_urlFilter;\n            }\n            else\n            {\n                throw new Exception(\"nonsupport sender in tb_Modific_body_Enter\");\n            }\n            tbe.Visible = true;\n        }\n\n        private void tb_Modific_body_Leave(object sender, EventArgs e)\n        {\n            TextBoxEditer tbe = null;\n            if (sender == tb_requestModific_body)\n            {\n                tbe = tbe_RequestBodyModific;\n            }\n            else if (sender == tb_responseModific_body)\n            {\n                tbe = tbe_ResponseBodyModific;\n            }\n            else if (sender == tb_urlFilter)\n            {\n                tbe = tbe_urlFilter;\n            }\n            else\n            {\n                throw new Exception(\"nonsupport sender in tb_Modific_body_Enter\");\n            }\n\n            if (!(tbe.IsShowEditRichTextBox))\n            {\n                tbe.Visible = false;\n            }\n           \n        }\n\n        void tbe_BodyModific_OnCloseEditBox(object sender, TextBoxEditer.CloseEditBoxEventArgs e)\n        {\n            ((TextBoxEditer)sender).Visible = false;\n        }\n\n        private void tabControl_Modific_Resize(object sender, EventArgs e)\n        {\n            tb_urlFilter.Width = tabControl_Modific.Width - 264;\n\n            //tabPage_requestModific\n            requestRemoveHeads.Width = (tabControl_Modific.Width - 22) / 3;\n            requestAddHeads.Width = (tabControl_Modific.Width - 22) * 2 / 3;\n\n            tb_requestModific_uriModificValue.Width = tabControl_Modific.Width - 126;\n            tb_requestModific_body.Width = tabControl_Modific.Width - 92;\n\n            //tabPage_requestReplace\n            tb_requestReplace_uri.Width = tabControl_Modific.Width - 289;\n\n            //tabPage_reponseModific\n            responseRemoveHeads.Width = (tabControl_Modific.Width - 22) / 3;\n            responseAddHeads.Width = (tabControl_Modific.Width - 22) * 2 / 3;\n\n            tb_responseModific_body.Width = tabControl_Modific.Width - 92;\n            \n        }\n\n        private void splitContainer_httpControl_Resize(object sender, EventArgs e)\n        {\n            //rule list\n            //- (lv_requestRuleList.Groups.Count > 0 ? 5 : 0)\n            columnHeader_requstRule.Width = lv_requestRuleList.Width - 75 ;\n            columnHeader_responseRule.Width = lv_responseRuleList.Width - 75;\n        }\n        #endregion\n\n        #region Modific ContorLine\n\n        private void pb_ruleComfrim_Click(object sender, EventArgs e)\n        {\n            FiddlerRequestChange nowRequestChange = null;\n            FiddlerResponseChange nowResponseChange = null;\n            IFiddlerHttpTamper fiddlerHttpTamper = null;\n            ListView tamperRuleListView = null;\n\n            try\n            {\n                if(tabControl_Modific.SelectedTab== tabPage_requestModific)\n                {\n                    nowRequestChange = GetRequestModificInfo();\n                }\n                else if(tabControl_Modific.SelectedTab==tabPage_requestReplace)\n                {\n                    nowRequestChange = GetRequestReplaceInfo();\n                }\n                else if(tabControl_Modific.SelectedTab==tabPage_responseModific)\n                {\n                    nowResponseChange = GetResponseModificInfo();\n                }\n                else if(tabControl_Modific.SelectedTab== tabPage_responseReplace)\n                {\n                    nowResponseChange = GetResponseReplaceInfo();\n                }\n                else\n                {\n                    throw new Exception(\"unknow http tamper tab\");\n                }\n            }\n            catch (Exception ex)\n            {\n                _ = RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.AddRule, RemoteLogService.RemoteLogType.Error);\n                MessageBox.Show(ex.Message, \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                PutError(string.Format(\"add rule fail :{0}\", ex.Message));\n                MarkControl(tabControl_Modific.SelectedTab, Color.Plum, 2);\n                nowRequestChange = null;\n                nowResponseChange = null;\n            }\n            finally\n            {\n                if (nowRequestChange != null)\n                {\n                    fiddlerHttpTamper = nowRequestChange;\n                    tamperRuleListView = lv_requestRuleList;\n                }\n                else if (nowResponseChange != null)\n                {\n                    fiddlerHttpTamper = nowResponseChange;\n                    tamperRuleListView = lv_responseRuleList;\n                }\n            }\n\n            if (fiddlerHttpTamper == null)\n            {\n                return;\n            }\n\n            if (fiddlerHttpTamper.HttpFilter == null || fiddlerHttpTamper.HttpFilter.UriMatch == null)\n            {\n                MessageBox.Show(\"you Uri Filter is not legal \\r\\n check it again\", \"edit again\");\n                MarkControl(groupBox_urlFilter, Color.Plum, 2);\n                return;\n            }\n\n            ListViewItem nowRuleItem = null;\n            if(NowEditMode == RuleEditMode.NewRuleMode) //编辑模式不检查重复Filter，如果需要检查去掉if直接执行{}内逻辑\n            {\n                foreach (ListViewItem tempItem in tamperRuleListView.Items)\n                {\n                    if (tempItem == EditListViewItem)\n                    {\n                        continue;\n                    }\n                    //if (fiddlerHttpTamper.HttpFilter.UriMatch.Equals(tempItem.Tag))\n                    if (fiddlerHttpTamper.HttpFilter.Equals(tempItem.Tag))\n                    {\n                        MarkRuleItem(tempItem, Color.Plum, 2);\n                        DialogResult tempDs;\n                        //add mode\n                        if (EditListViewItem == null)\n                        {\n                            tempDs = MessageBox.Show(string.Format(\"find same url filter with [Rule:{0}], do you want create the same uri rule \\r\\n    [Yes]       new a same url filter rule \\r\\n    [No]       update the rule \\r\\n    [Cancel]  give up save\", tempItem.SubItems[0].Text), \"find same rule \", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);\n                            if (tempDs == DialogResult.Yes)\n                            {\n                                continue;\n                            }\n                            else if (tempDs == DialogResult.No)\n                            {\n                                nowRuleItem = tempItem;\n                                SyncEnableSateToIFiddlerHttpTamper(nowRuleItem, fiddlerHttpTamper);\n                                UpdataRuleToListView(nowRuleItem, fiddlerHttpTamper, true);\n                                break;\n                            }\n                            else\n                            {\n                                return;\n                            }\n                        }\n                        //edit mode\n                        else\n                        {\n                            tempDs = MessageBox.Show(string.Format(\"find same uri filter with [Rule:{0}], do you want save the rule \\r\\n    [Yes]       skip the same uri filter rule \\r\\n    [No]       remove the rule \\r\\n    [Cancel]  give up save\", tempItem.SubItems[0].Text), \"find same rule \", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);\n                            if (tempDs == DialogResult.Yes)\n                            {\n                                continue;\n                            }\n                            else if (tempDs == DialogResult.No)\n                            {\n                                DelRuleFromListView(tamperRuleListView, tempItem);\n                                //tamperRuleListView.Items.Remove(tempItem);\n                                continue;\n                            }\n                            else\n                            {\n                                return;\n                            }\n                        }\n                    }\n                }\n            }\n           \n            if (nowRuleItem == null)\n            {\n                if (EditListViewItem == null)\n                {\n                    AddRuleToListView(tamperRuleListView, fiddlerHttpTamper, true);\n                }\n                else\n                {\n                    SyncEnableSateToIFiddlerHttpTamper(EditListViewItem, fiddlerHttpTamper);\n                    UpdataRuleToListView(EditListViewItem, fiddlerHttpTamper, true);\n                }\n            }\n            ChangeNowRuleMode(RuleEditMode.NewRuleMode, NowProtocalMode, null, null);\n        }\n\n        private void pb_ruleCancel_Click(object sender, EventArgs e)\n        {\n            PutWarn(\"Clear the Modific Info\");\n            ChangeNowRuleMode(RuleEditMode.NewRuleMode, NowProtocalMode, null, null);\n        }\n\n        private void pb_protocolSwitch_Click(object sender, EventArgs e)\n        {\n            if (NowEditMode != RuleEditMode.NewRuleMode)\n            {\n                if (DialogResult.Cancel == MessageBox.Show(\"your are in EditMode now \\r\\nchange protocol mode will discard your change for this rule\", \"change protocol mode\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))\n                { return; }\n            }\n            ChangeNowRuleMode(RuleEditMode.NewRuleMode, ((MySwitchPictureButton)sender).SwitchState ? TamperProtocalType.WebSocket : TamperProtocalType.Http, null, null);\n        }\n\n        private void pb_responseLatency_Click(object sender, EventArgs e)\n        {\n            if (IsSetResponseLatencyEable)\n            {\n                SetVaule f = new SetVaule(\"Set Latency\", \"Enter the exact number of milliseconds by which to delay the response\", sender == pb_responseLatency ? \"0\" : lbl_ResponseLatency.GetLatency().ToString(), new Func<string, string>((string checkValue) => { int tempValue; if (checkValue == \"\") return null; return (int.TryParse(checkValue, out tempValue) && tempValue>=0)?null:\"\"; }));\n                f.OnSetValue += f_OnSetValue;\n                f.ShowDialog();\n            }\n            else\n            {\n                MessageBox.Show(\"Can not set latency  in reqest modific mode\\r\\njust change to response modific mode\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n            }\n        }\n\n        private void pb_pickRule_Click(object sender, EventArgs e)\n        {\n            EditParameterPickWindow f;\n            if(pb_pickRule.Tag is List<ParameterPick>)\n            {\n                f = new EditParameterPickWindow((List<ParameterPick>)pb_pickRule.Tag, SetHttpParameterPick);\n            }\n            else\n            {\n                f = new EditParameterPickWindow(null,SetHttpParameterPick);\n            }\n            f.StartPosition = FormStartPosition.CenterParent;\n            f.ShowDialog();\n        }\n\n        void f_OnSetValue(object sender, SetVaule.SetVauleEventArgs e)\n        {\n            if (e.SetValue == null || e.SetValue == \"0\" || e.SetValue == \"\")\n            {\n                ChangeSetResponseLatencyMode(0);\n            }\n            else\n            {\n                //impossible to exception throw\n                ChangeSetResponseLatencyMode(int.Parse(e.SetValue));\n            }\n        }\n\n        private void disableCacheToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if(NowEditMode== RuleEditMode.EditResponseRule)\n            {\n                //DialogResult dialogResult ;\n                if (MessageBox.Show(\"your are in Response Edit Mode.\\r\\ndo you want give up the editing and new a rule to continue this quick rule?\", \"Continue or not\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)\n                {\n                    pb_ruleCancel_Click(this, e);\n                }\n                else\n                {\n                    return;\n                }\n            }\n            tabControl_Modific.SelectedTab = tabPage_requestModific;\n            requestRemoveHeads.ListDataView.Items.Add(\"Pragma\");\n            //requestRemoveHeads.ListDataView.Items.Add(\"Expires\");//If there is a Cache-Control header with the max-age or s-maxage directive in the response, the Expires header is ignored.   <Expires: Wed, 21 Oct 2018 15:28:00 GMT>   Expires是一个响应头\n            requestRemoveHeads.ListDataView.Items.Add(\"Cache-Control\");\n            //requestRemoveHeads.ListDataView.Items.Add(\"ETag\");//ETag 也是HTTP响应头。 与If-None-Match 完成缓存验证 ，与 If-Match 请求头部，检测到\"空中碰撞\"的编辑冲突。\n            //requestRemoveHeads.ListDataView.Items.Add(\"Last-Modified\");//Last-Modified  是一个响应首部，其中包含源头服务器认定的资源做出修改的日期及时间。 它通常被用作一个验证器来判断接收到的或者存储的资源是否彼此一致。由于精确度比  ETag 要低，所以这是一个备用机制。包含有  If-Modified-Since 或 If-Unmodified-Since 首部的条件请求会使用这个字段。\n            requestRemoveHeads.ListDataView.Items.Add(\"If-None-Match\");\n            requestRemoveHeads.ListDataView.Items.Add(\"If-Modified-Since\");\n            requestAddHeads.ListDataView.Items.Add(\"Pragma: no-cache\");\n            requestAddHeads.ListDataView.Items.Add(\"Cache-Control: no-cache\");\n\n            if (tb_urlFilter.Text == \"\")\n            {\n                GetSessionEventArgs sessionArgs = GetNowHttpSession();\n                if(sessionArgs.IsGetSuccess&& sessionArgs.Uri!=null)\n                {\n                    SetUriMatch(new FiddlerUriMatch(FiddlerUriMatchMode.Is, sessionArgs.Uri));\n                }\n            }\n        }\n\n        private void addCookieToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (NowEditMode == RuleEditMode.EditResponseRule)\n            {\n                if (MessageBox.Show(\"your are in Response Edit Mode.\\r\\ndo you want give up the editing and new a rule to continue this quick rule?\", \"Continue or not\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)\n                {\n                    pb_ruleCancel_Click(this, e);\n                }\n                else\n                {\n                    return;\n                }\n            }\n            tabControl_Modific.SelectedTab = tabPage_requestModific;\n            EditKeyVaule f = new EditKeyVaule(requestAddHeads.ListDataView, \"Cookie\", \": \");\n            f.ShowDialog();\n        }\n\n        private void addUserAgentToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (NowEditMode == RuleEditMode.EditResponseRule)\n            {\n                if (MessageBox.Show(\"your are in Response Edit Mode.\\r\\ndo you want give up the editing and new a rule to continue this quick rule?\", \"Continue or not\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)\n                {\n                    pb_ruleCancel_Click(this, e);\n                }\n                else\n                {\n                    return;\n                }\n            }\n            tabControl_Modific.SelectedTab = tabPage_requestModific;\n            requestRemoveHeads.ListDataView.Items.Add(\"User-Agent\");\n            EditKeyVaule f = new EditKeyVaule(requestAddHeads.ListDataView, \"User-Agent\", \": \");\n            f.ShowDialog();\n        }\n        private void ChangeSessionEncodingToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            GetSessionSeekHeadEventArgs seekHeadArgs = new GetSessionSeekHeadEventArgs(new KeyValuePair<string, string>(\"Content-Type\", null), new KeyValuePair<string, string>(\"Content-Type\", null));\n            if(OnGetSessionSeekHead!=null)\n            {\n                this.OnGetSessionSeekHead(this,seekHeadArgs);\n            }\n            ChangeEncodeForm.ChangeEncodeInfo changeEncodeInfo = new ChangeEncodeForm.ChangeEncodeInfo { ContentType_Request= seekHeadArgs.ResquestHead.Value, ContentType_Response= seekHeadArgs.ResponseHead.Value, NowEncode=null, EditMode = NowEditMode };\n            ChangeEncodeForm f = new ChangeEncodeForm(changeEncodeInfo);\n            DialogResult dialogResult =  f.ShowDialog();\n\n            if(string.IsNullOrEmpty(changeEncodeInfo.NowEncode))\n            {\n                return;\n            }\n            if (changeEncodeInfo.ContentType_Request == null)\n            {\n                FiddlerResponseChange responseChange = new FiddlerResponseChange();\n                if (seekHeadArgs.SeekUri != null)\n                {\n                    responseChange.HttpFilter = new FiddlerHttpFilter(new FiddlerUriMatch(FiddlerUriMatchMode.Is, seekHeadArgs.SeekUri));\n                }\n                responseChange.HeadDelList = new List<string> { \"Content-Type\" };\n                responseChange.HeadAddList = new List<string>{string.Format(\"Content-Type: {0}\", changeEncodeInfo.ContentType_Response)};\n                responseChange.BodyModific = new ParameterContentModific(string.Format(\"<recode>{0}\", changeEncodeInfo.NowEncode), \"\");\n                SetResponseModificInfo(responseChange);\n            }\n            else\n            {\n                FiddlerRequestChange requestChange = new FiddlerRequestChange();\n                if (seekHeadArgs.SeekUri != null)\n                {\n                    requestChange.HttpFilter = new FiddlerHttpFilter(new FiddlerUriMatch(FiddlerUriMatchMode.Is, seekHeadArgs.SeekUri));\n                }\n                requestChange.HeadDelList = new List<string> { \"Content-Type\" };\n                requestChange.HeadAddList = new List<string> { string.Format(\"Content-Type: {0}\", changeEncodeInfo.ContentType_Request) };\n                requestChange.BodyModific = new ParameterContentModific(string.Format(\"<recode>{0}\", changeEncodeInfo.NowEncode), \"\");\n                SetRequestModificInfo(requestChange);\n            }\n        }\n        private void deleteCookieToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (NowEditMode == RuleEditMode.EditRequsetRule)\n            {\n                if (MessageBox.Show(\"your are in Request Edit Mode.\\r\\ndo you want give up the editing and new a rule to continue this quick rule?\", \"Continue or not\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)\n                {\n                    pb_ruleCancel_Click(this, e);\n                }\n                else\n                {\n                    return;\n                }\n            }\n            tabControl_Modific.SelectedTab = tabPage_responseModific;\n\n            string tempDomain = String.Empty;\n            GetSessionEventArgs sessionArgs = GetNowHttpSession();\n            if (sessionArgs.IsGetSuccess && sessionArgs.RequestHeads!=null)\n            {\n                try\n                {\n                    tempDomain = sessionArgs.RequestHeads.First(headerItem => headerItem.Key.Trim().ToLower() == \"host\").Value.Trim();\n                }\n                catch\n                {\n                    tempDomain = \"www.yourhost.com\";\n                }\n            }\n\n            EditCookieForm f = new EditCookieForm(responseAddHeads.ListDataView, null, null, string.Format(\"Max-Age=1;Domain={0};Path=/\", tempDomain));\n            f.ShowDialog();\n            if (tb_urlFilter.Text == \"\")\n            {\n                if (sessionArgs.IsGetSuccess && sessionArgs.Uri != null)\n                {\n                    SetUriMatch(new FiddlerUriMatch(FiddlerUriMatchMode.Is, sessionArgs.Uri));\n                }\n            }\n        }\n\n        private void setClientCookieToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (NowEditMode == RuleEditMode.EditRequsetRule)\n            {\n                if (MessageBox.Show(\"your are in Request Edit Mode.\\r\\ndo you want give up the editing and new a rule to continue this quick rule?\", \"Continue or not\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)\n                {\n                    pb_ruleCancel_Click(this, e);\n                }\n                else\n                {\n                    return;\n                }\n            }\n            tabControl_Modific.SelectedTab = tabPage_responseModific;\n            EditCookieForm f = new EditCookieForm(responseAddHeads.ListDataView);\n            f.ShowDialog();\n        }\n\n        private void copySessionCookiesToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (NowEditMode == RuleEditMode.EditRequsetRule)\n            {\n                if (MessageBox.Show(\"your are in Request Edit Mode.\\r\\ndo you want give up the editing and new a rule to continue this quick rule?\", \"Continue or not\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)\n                {\n                    pb_ruleCancel_Click(this, e);\n                }\n                else\n                {\n                    return;\n                }\n            }\n            tabControl_Modific.SelectedTab = tabPage_responseModific;\n            if (OnGetSessionRawData != null)\n            {\n                this.OnGetSessionRawData(this, new GetSessionRawDataEventArgs(GetSessionAction.SetCookies));\n            }\n             \n        }\n\n        private void removeSessionCookiesToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (NowEditMode == RuleEditMode.EditRequsetRule)\n            {\n                if (MessageBox.Show(\"your are in Request Edit Mode.\\r\\ndo you want give up the editing and new a rule to continue this quick rule?\", \"Continue or not\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)\n                {\n                    pb_ruleCancel_Click(this, e);\n                }\n                else\n                {\n                    return;\n                }\n            }\n            tabControl_Modific.SelectedTab = tabPage_responseModific;\n            if (OnGetSessionRawData != null)\n            {\n                this.OnGetSessionRawData(this, new GetSessionRawDataEventArgs(GetSessionAction.DeleteCookies));\n            }\n        }\n        private void showSelectedSessionStreamToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if(OnGetSessionRawData!=null)\n            {\n                this.OnGetSessionRawData(this, new GetSessionRawDataEventArgs(GetSessionAction.ShowShowResponse));\n            }\n        }\n\n        private void httpTamperSettingToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            SettingWindow f = new SettingWindow(ModificSettingInfo);\n            f.ShowDialog();\n        }\n        private void loadingRemoteRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            GetRemoteRuleWindow f = new GetRemoteRuleWindow(this);\n            f.StartPosition = FormStartPosition.CenterParent;\n            f.ShowDialog();\n            return;\n\n            //下面的都是测试代码，不会被执行到\n            //WebService.RemoteRuleService.GetRemoteRuleAsync(\"6077f8fa617545cb9fbf12b1c874f7ee\").ContinueWith((rule) => { LoadFiddlerModificHttpRuleCollection(rule.Result); });\n            System.Threading.Tasks.Task<RuleDetails> ruleTask = System.Threading.Tasks.Task.Run(new Func<RuleDetails>(() =>\n            {\n                //return WebService.RemoteRuleService.GetRemoteRuleAsync(\"6077f8fa617545cb9fbf12b1c874f7ee\").GetAwaiter().GetResult();\n                var x = WebService.RemoteRuleService.GetRemoteRuleAsync(\"6077f8fa617545cb9fbf12b1c874f7ee\");\n                System.Threading.Thread.Sleep(100);\n                return x.Result;\n            }));\n            RuleDetails ruleDetails = ruleTask.GetAwaiter().GetResult();\n            if (ruleDetails != null)\n            {\n                InitializeConfigInfo(ruleDetails.ModificHttpRuleCollection, ModificSettingInfo, ruleDetails.StaticDataCollection,null);\n                LoadFiddlerModificHttpRuleCollection(fiddlerModificHttpRuleCollection);\n            }\n            return;\n\n            //FiddlerModificHttpRuleCollection tempModificHttpRuleCollection = WebService.RemoteRuleService.GetRemoteRuleAsync(\"6077f8fa617545cb9fbf12b1c874f7ee\").GetAwaiter().GetResult();\n            System.Threading.Tasks.Task<RuleDetails> getRuleTask = WebService.RemoteRuleService.GetRemoteRuleAsync(\"6077f8fa617545cb9fbf12b1c874f7ee\");\n            //getRuleTask.Start();\n            //getRuleTask.Wait();\n            RuleDetails tempModificHttpRuleCollection = getRuleTask.Result;\n            if (tempModificHttpRuleCollection != null)\n            {\n                LoadFiddlerModificHttpRuleCollection(tempModificHttpRuleCollection.ModificHttpRuleCollection);\n            }\n        }\n\n        private void parameterDataManageToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            foreach (Form tempFrom in (Fiddler.FiddlerApplication.UI).OwnedForms)\n            {\n                if (tempFrom is StaticDataManageWindow)\n                {\n                    tempFrom.Location = new Point((System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width - tempFrom.Width) / 2, (System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height-tempFrom.Height) / 2);\n                    return;\n                }\n            }\n            StaticDataManageWindow staticDataManageWindow;\n            staticDataManageWindow = new StaticDataManageWindow(StaticDataCollection);\n            staticDataManageWindow.Owner = Fiddler.FiddlerApplication.UI;\n            staticDataManageWindow.StartPosition = FormStartPosition.CenterScreen;\n            //f.ShowDialog();\n            staticDataManageWindow.Show();\n        }\n\n        public void independentWindowToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (independentWindowToolStripMenuItem.Text == \"independent window\")\n            {\n                this.OnShowInIndependentWindow(this, true);\n                independentWindowToolStripMenuItem.Text = \"addin window\";\n            }\n            else\n            {\n                this.OnShowInIndependentWindow(this, false);\n                independentWindowToolStripMenuItem.Text = \"independent window\";\n            }\n        }\n\n        private void FeedbackToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            UserFeedbackWindow f = new UserFeedbackWindow(this);\n            f.StartPosition = FormStartPosition.CenterParent;\n            f.ShowDialog();\n        }\n\n        private void CodeInGithubToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            System.Diagnostics.Process.Start(\"https://github.com/lulianqi/FreeHttp\");\n        }\n\n        private void DocumentationToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            System.Diagnostics.Process.Start(\"http://doc.lulianqi.com/FreeHttp/Documentation/recent\");\n        }\n\n\n        #endregion\n\n        #region Rule control\n        private void Lv_ruleList_OnItemDragSort(object sender, DragEventArgs e)\n        {\n            ModificRuleGroup.RecoverTemporaryGroup((ListView)sender);\n            RefreshFiddlerRuleList((ListView)sender);\n        }\n\n        private void Lv_ruleList_OnItemDragSortStart(object sender, ItemDragEventArgs e)\n        {\n            ModificRuleGroup.RemoveGroupTemporary((ListView)sender);\n        }\n\n        private void pb_requestRuleSwitch_Click(object sender, EventArgs e)\n        {\n            if(IsRequestRuleEnable)\n            {\n                pb_requestRuleSwitch.Image = Resources.MyResource.switch_off;\n                IsRequestRuleEnable = false;\n                PutWarn(\"Request Temper Rule Forbidden\");\n            }\n            else\n            {\n                pb_requestRuleSwitch.Image = Resources.MyResource.switch_on;\n                IsRequestRuleEnable = true;\n                PutWarn(\"Request Temper Rule Enabled\");\n            }\n        }\n\n        private void pb_responseRuleSwitch_Click(object sender, EventArgs e)\n        {\n            if(IsResponseRuleEnable)\n            {\n                pb_responseRuleSwitch.Image = Resources.MyResource.switch_off;\n                IsResponseRuleEnable = false;\n                PutWarn(\"Response Temper Rule Forbidden\");\n            }\n            else\n            {\n                pb_responseRuleSwitch.Image = Resources.MyResource.switch_on;\n                IsResponseRuleEnable = true;\n                PutWarn(\"Response Temper Rule Enabled\");\n            }\n        }\n\n        \n        private void lv_ruleList_ItemMouseHover(object sender, ListViewItemMouseHoverEventArgs e)\n        {\n            ListViewItem nowListViewItem = e.Item;\n            ShowRuleInfo_pb.Tag = nowListViewItem;\n            nowListViewItem.ListView.Controls.Add(ShowRuleInfo_pb);\n            ShowRuleInfo_pb.Visible = true;\n            Rectangle r = nowListViewItem.Bounds;\n            ShowRuleInfo_pb.Size = new Size((int)((r.Height-4)*1.5), r.Height-4);\n            ShowRuleInfo_pb.Location =new Point( nowListViewItem.Position.X+r.Width - ShowRuleInfo_pb.Width-30, nowListViewItem.Position.Y+2);\n        }\n\n        private void lv_ruleList_MouseLeave(object sender, EventArgs e)\n        {\n            ListView tempListView = sender as ListView;\n            if (tempListView == null) return;\n            Point tempPosition = Control.MousePosition;\n            tempPosition = tempListView.PointToClient(tempPosition);\n            if (tempListView.GetItemAt(tempPosition.X, tempPosition.Y) == null)\n            {\n                ShowRuleInfo_pb.Visible = false;\n            }\n        }\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        private void ShowRuleInfo_pb_Click(object sender, EventArgs e)\n        {\n            ListViewItem nowListViewItem = ShowRuleInfo_pb.Tag as ListViewItem;\n            bool isExistedInfoWindow = false;\n            if (nowListViewItem==null) return;\n            for (int i = nowRuleInfoWindowList.Count - 1; i >= 0; i--)\n            {\n                if (nowRuleInfoWindowList[i].IsDisposed)\n                {\n                    nowRuleInfoWindowList.RemoveAt(i);\n                    continue;\n                }\n                if(!isExistedInfoWindow && nowRuleInfoWindowList[i].InnerListViewItem == nowListViewItem)\n                {\n                    nowRuleInfoWindowList[i].Activate();\n                    isExistedInfoWindow = true;\n                }\n            }\n            if(isExistedInfoWindow)\n            {\n                return;\n            }\n\n            Point myPosition;\n            try\n            {\n                myPosition = new Point(nowListViewItem.Bounds.X, nowListViewItem.Bounds.Y);\n            }\n            catch\n            {\n                MessageBox.Show(\"your rule is  already collapsed\");\n                return;\n            }\n            myPosition = nowListViewItem.ListView.PointToScreen(myPosition);\n            myPosition = this.ParentForm.PointToClient(myPosition);\n            myPosition.Offset(40, 10);\n            RuleInfoWindow myListViewCBallon = new RuleInfoWindow(nowListViewItem);\n            myListViewCBallon.Owner = this.ParentForm;\n            myListViewCBallon.HasShadow = true;\n            myListViewCBallon.setBalloonPosition(this.ParentForm, myPosition, new Size(0, 0));\n            myListViewCBallon.Show();\n            myListViewCBallon.UpdateBalloonPosition(myPosition);\n\n            nowRuleInfoWindowList.Add(myListViewCBallon);\n            if (nowRuleInfoWindowList.Count>4)\n            {\n                nowRuleInfoWindowList[0].Close();\n                nowRuleInfoWindowList.RemoveAt(0);\n            }\n        }\n\n        private void lv_RuleList_DoubleClick(object sender, EventArgs e)\n        {\n            //Point p = PointToClient(new Point(Cursor.Position.X, Cursor.Position.Y)); \n            //ListViewItem lvi = ((ListView)sender).GetItemAt(p.X, p.Y);\n            if (((ListView)sender).SelectedItems == null || ((ListView)sender).SelectedItems.Count == 0)\n            {\n                return;\n            }\n            ListViewItem nowListViewItem = ((ListView)sender).SelectedItems[0];\n            if (nowListViewItem != null)\n            {\n                //TamperProtocalType tempProtocolMode;\n                //if (string.IsNullOrEmpty(((IFiddlerHttpTamper)nowListViewItem.Tag).TamperProtocol))\n                //{\n                //    tempProtocolMode = TamperProtocalType.Http;\n                //}\n                //else if (!Enum.TryParse<TamperProtocalType>(((IFiddlerHttpTamper)nowListViewItem.Tag).TamperProtocol, out tempProtocolMode))\n                //{\n                //    if(DialogResult.OK== MessageBox.Show(\"find unkonw protocal in your rule \\r\\ndo you want change the unkonw protocol to Http\", \"unkonw protocol\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))\n                //    {\n                //        tempProtocolMode = TamperProtocalType.Http;\n                //    }\n                //    else\n                //    {\n                //        return;\n                //    }\n                //}\n                if (sender == lv_requestRuleList)\n                {\n                    ChangeNowRuleMode(RuleEditMode.EditRequsetRule, ((IFiddlerHttpTamper)nowListViewItem.Tag).TamperProtocol, string.Format(\"Edit Requst {0}\", nowListViewItem.SubItems[0].Text), nowListViewItem);\n                    SetRequestModificInfo((FiddlerRequestChange)nowListViewItem.Tag);\n                }\n\n                else if (sender == lv_responseRuleList)\n                {\n                    ChangeNowRuleMode(RuleEditMode.EditResponseRule, ((IFiddlerHttpTamper)nowListViewItem.Tag).TamperProtocol, string.Format(\"Edit Response {0}\", nowListViewItem.SubItems[0].Text), nowListViewItem);\n                    SetResponseModificInfo((FiddlerResponseChange)nowListViewItem.Tag);\n                }\n                else\n                {\n                    MessageBox.Show(\"not adaptive to lv_RuleList_DoubleClick\");\n                }\n                nowListViewItem.ListView.SelectedItems.Clear();\n            }\n        }\n\n        private void lv_RuleList_ItemChecked(object sender, ItemCheckedEventArgs e)\n        {\n            if (e.Item != null)\n            {\n                SyncEnableSateToIFiddlerHttpTamper(e.Item, (IFiddlerHttpTamper)e.Item.Tag);\n                //((IFiddlerHttpTamper)e.Item.Tag).IsEnable = e.Item.Checked;\n            }\n        }\n \n        private void pb_addTemperRule_Click(object sender, EventArgs e)\n        {\n            if (sender == pb_addRequestRule)\n            {\n                ChangeNowRuleMode(RuleEditMode.NewRuleMode, NowProtocalMode, null, null);\n                tabControl_Modific.SelectedTab = tabPage_requestModific;\n                MarkTipControl(tabPage_requestModific);\n                //MarkControl(pb_getSession, Color.MediumSpringGreen, 1);\n            }\n            else if (sender == pb_addResponseRule)\n            {\n                ChangeNowRuleMode(RuleEditMode.NewRuleMode, NowProtocalMode, null, null);\n                tabControl_Modific.SelectedTab = tabPage_responseModific;\n                MarkTipControl(tabPage_responseModific);\n                //MarkControl(pb_getSession, Color.MediumSpringGreen, 1);\n            }\n            else\n            {\n                return;\n            }\n        }\n\n        private void pb_removeTemperRule_Click(object sender, EventArgs e)\n        {\n            ListView nowRuleListView = null;\n            if (sender == pb_removeRequestRule)\n            {\n                nowRuleListView = lv_requestRuleList;\n            }\n            else if (sender == pb_removeResponseRule)\n            {\n                nowRuleListView = lv_responseRuleList;\n            }\n            else\n            {\n                return;\n            }\n            if (nowRuleListView.SelectedItems != null && nowRuleListView.SelectedItems.Count>0)\n            {\n                foreach (ListViewItem tempItem in nowRuleListView.SelectedItems)\n                {\n                    if (tempItem == EditListViewItem)\n                    {\n                        ChangeNowRuleMode(RuleEditMode.NewRuleMode, NowProtocalMode, null, null);\n                        PutWarn(\"you editing rule is removed ,now change to [NewRuleMode]\");\n                    }\n                    DelRuleFromListView(nowRuleListView, tempItem);\n                    //nowRuleListView.Items.Remove(tempItem);\n                }\n                //更新组信息，删除空组\n                RemoveEmptyViewGroup(nowRuleListView);\n                //删除不用调整rule id 没有重复的风险\n                //AdjustRuleListViewIndex(nowRuleListView);\n            }\n            else\n            {\n                MessageBox.Show(\"please select the rules that your want remove\");\n            }\n\n        }\n\n        #region RuleToolStripMenuItem\n\n        private ListView GetRuleToolStripMenuItemSourceControl(object sender)\n        {\n            object sourceControl = ((ContextMenuStrip)(((ToolStripMenuItem)sender).Owner)).SourceControl;\n            if (sourceControl == lv_requestRuleList)\n            {\n                return lv_requestRuleList;\n            }\n            else if (sourceControl == lv_responseRuleList)\n            {\n                return lv_responseRuleList;\n            }\n            else\n            {\n                throw new Exception(\"nonsupported SelectedRuleToolStripMenuItem_Click\");\n            }\n        }\n        private void removeSelectedRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            ListView tempRuleLv = GetRuleToolStripMenuItemSourceControl(sender);\n\n            if (tempRuleLv == lv_requestRuleList)\n            {\n                pb_removeTemperRule_Click(pb_removeRequestRule, null);\n            }\n            else if (tempRuleLv == lv_responseRuleList)\n            {\n                pb_removeTemperRule_Click(pb_removeResponseRule, null);\n            }\n            else\n            {\n                throw new Exception(\"nonsupported SelectedRuleToolStripMenuItem_Click\");\n            }\n        }\n\n        private void removeAllRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if(!(MessageBox.Show(\"if you want remove all your tamper rule in this list\",\"reconfirm \",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)== DialogResult.OK))\n            {\n                return;\n            }\n            ListView tempRuleLv = GetRuleToolStripMenuItemSourceControl(sender);\n            if (EditListViewItem != null && EditListViewItem.ListView == tempRuleLv)\n            {\n                ChangeNowRuleMode(RuleEditMode.NewRuleMode, NowProtocalMode, null, null);\n                PutWarn(\"you editing rule is removed ,now change to [NewRuleMode]\");\n            }\n            //tempRuleLv.Items.Clear();\n            DelRuleFromListView(tempRuleLv, null);\n        }\n\n        private void copySelectedRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            ListView nowRuleListView = GetRuleToolStripMenuItemSourceControl(sender);\n            if (nowRuleListView.SelectedItems != null && nowRuleListView.SelectedItems.Count > 0)\n            {\n                foreach (ListViewItem tempItem in nowRuleListView.SelectedItems)\n                {\n                    try\n                    {\n                        IFiddlerHttpTamper tempHttpTamper = ((IFiddlerHttpTamper)tempItem.Tag).Clone() as IFiddlerHttpTamper;\n                        tempHttpTamper.RuleUid = null;//深度克隆会有一样的UID，这里需要重置副本UID\n                        tempHttpTamper.HttpFilter.Name = string.Format(\"<copy from> {0}\", tempHttpTamper.HttpFilter?.GetShowTitle() ?? \"\");\n                        AddRuleToListView(nowRuleListView, tempHttpTamper, true);\n                    }\n                    catch(Exception ex)\n                    {\n                        _ = RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.AddRule, RemoteLogService.RemoteLogType.Error);\n                        MessageBox.Show(string.Format(\"copy rule file\\r\\n{0}\", tempItem?.SubItems[1].Text, \"Stop\"));\n                        continue;\n                    }\n                }\n            }\n            else\n            {\n                MessageBox.Show(\"please select the rules that your want copy\",\"Stop\");\n            }\n        }\n\n        private void enableThisRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            ListView tempRuleLv = GetRuleToolStripMenuItemSourceControl(sender);\n            if (tempRuleLv.SelectedItems != null)\n            {\n                foreach (ListViewItem tempItem in tempRuleLv.SelectedItems)\n                {\n                    tempItem.Checked = true;\n                }\n            }\n        }\n\n        private void enableAllRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            ListView tempRuleLv = GetRuleToolStripMenuItemSourceControl(sender);\n\n            foreach (ListViewItem tempItem in tempRuleLv.Items)\n            {\n                tempItem.Checked = true;\n            }\n        }\n\n        private void unableAllRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            ListView tempRuleLv = GetRuleToolStripMenuItemSourceControl(sender);\n\n            foreach (ListViewItem tempItem in tempRuleLv.Items)\n            {\n                tempItem.Checked = false;\n            }\n        }\n\n        private void editThisRuleToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            ListView tempRuleLv = GetRuleToolStripMenuItemSourceControl(sender);\n            lv_RuleList_DoubleClick(tempRuleLv, null);\n        }\n\n        #region RuleToolStripMenuItem_Group\n\n        //临时标记当前在操作的ListView\n        private ListView _nowTempGroupRuleLv;\n\n        //临时标记当前在操作的ListViewGroup\n        private ListViewGroup _nowTempGroupRuleLvg;\n        \n        /// <summary>\n        /// 更新组列表（移除item为空的group）\n        /// </summary>\n        /// <param name=\"yourListView\"></param>\n        private void RemoveEmptyViewGroup(ListView yourListView)\n        {\n            if (yourListView.Groups.Count > 0)\n            {\n                for(int i = yourListView.Groups.Count-1;i>=0;i--)\n                {\n                    if(yourListView.Groups[i].Items.Count==0)\n                    {\n                        PutInfo($\"group [{yourListView.Groups[i].Header}] will be remove ,because that no item \");\n                        yourListView.Groups.RemoveAt(i);\n                    }\n                }\n            }\n        }\n\n        /// <summary>\n        /// 跟换分组\n        /// </summary>\n        /// <param name=\"selectedListViewItemCollection\"></param>\n        /// <param name=\"listViewGroup\"></param>\n        /// <returns></returns>\n        private bool MoveRuleItemGroup(ListView.SelectedListViewItemCollection selectedListViewItemCollection, ListViewGroup listViewGroup)\n        {\n            foreach(ListViewItem listViewItem in selectedListViewItemCollection)\n            {\n                listViewItem.Group = listViewGroup;\n            }\n            if (selectedListViewItemCollection.Count > 0)\n            {\n                RemoveEmptyViewGroup(selectedListViewItemCollection[0].ListView);\n                ModificRuleGroup.ReArrangeGroup(selectedListViewItemCollection[0].ListView);\n                RefreshFiddlerRuleList(selectedListViewItemCollection[0].ListView);\n            }\n            return true;\n        }\n\n        /// <summary>\n        /// 选中的项是否都在默认分组（没有分组信息）\n        /// </summary>\n        /// <param name=\"selectedListViewItemCollection\"></param>\n        /// <returns></returns>\n        private bool IsAllDefaultViewGroup(ListView.SelectedListViewItemCollection selectedListViewItemCollection)\n        {\n            foreach (ListViewItem listViewItem in selectedListViewItemCollection)\n            {\n                if(listViewItem.Group !=null)\n                {\n                    return false;\n                }\n            }\n            return true;\n        }\n\n        /// <summary>\n        /// 确定项目是否都来自同一个分组\n        /// </summary>\n        /// <param name=\"selectedListViewItemCollection\"></param>\n        /// <returns>如果不是同一个分组返回null，如果是返回分组</returns>\n        private ListViewGroup FindOnlyOneViewGroup(ListView.SelectedListViewItemCollection selectedListViewItemCollection)\n        {\n            ListViewGroup oneListViewGroup = null;\n            foreach (ListViewItem listViewItem in selectedListViewItemCollection)\n            {\n                if(listViewItem.Group==null)\n                {\n                    return null;\n                }\n                if(oneListViewGroup==null)\n                {\n                    oneListViewGroup = listViewItem.Group;\n                }\n                else\n                {\n                    if(oneListViewGroup != listViewItem.Group)\n                    {\n                        return null;\n                    }\n                }\n            }\n            return oneListViewGroup;\n        }\n\n        /// <summary>\n        /// 展开分组操作\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void groupToolStripMenuItem_DropDownOpened(object sender, EventArgs e)\n        {\n            ListView tempRuleLv = GetRuleToolStripMenuItemSourceControl(sender);\n            _nowTempGroupRuleLv = tempRuleLv;\n            if (tempRuleLv.Groups.Count>0)\n            {\n                moveToGroupToolStripMenuItem.Enabled = true;\n                renameThisGroupToolStripMenuItem.Enabled = true;\n                deleteThisGroupToolStripMenuItem.Enabled = true;\n                enableThisGroupToolStripMenuItem.Enabled = true;\n                unableThisGroupToolStripMenuItem.Enabled = true;\n\n                moveToGroupToolStripMenuItem.DropDownItems.Clear();\n                //添加默认分组\n                ToolStripItem tempAddToolStripItem = new ToolStripMenuItem(\"Default\");\n                tempAddToolStripItem.Click += new EventHandler((esd, ee) => { MoveRuleItemGroup(tempRuleLv.SelectedItems, null); });\n                moveToGroupToolStripMenuItem.DropDownItems.Add(tempAddToolStripItem);\n                //检查无效分组\n                ListViewGroup onlyOneGroup = null;\n                bool isSelectedAllDefault = false;\n                if (IsAllDefaultViewGroup(tempRuleLv.SelectedItems))\n                {\n                    isSelectedAllDefault = true;\n                    tempAddToolStripItem.Enabled = false;\n                }\n                else\n                {\n                    onlyOneGroup = FindOnlyOneViewGroup(tempRuleLv.SelectedItems);\n                }\n                //添加分组\n                foreach (ListViewGroup group in tempRuleLv.Groups)\n                {\n                    tempAddToolStripItem = new ToolStripMenuItem(group.Header);\n                    tempAddToolStripItem.Click += new EventHandler((esd, ee) => { MoveRuleItemGroup(tempRuleLv.SelectedItems, group); });\n                    moveToGroupToolStripMenuItem.DropDownItems.Add(tempAddToolStripItem);\n                    if(onlyOneGroup== group)\n                    {\n                        tempAddToolStripItem.Enabled = false;\n                    }\n                }\n                //确认MenuItem可用项\n                if(isSelectedAllDefault || onlyOneGroup==null)\n                {\n                    renameThisGroupToolStripMenuItem.Enabled = false;\n                    deleteThisGroupToolStripMenuItem.Enabled = false;\n                    enableThisGroupToolStripMenuItem.Enabled = false;\n                    unableThisGroupToolStripMenuItem.Enabled = false;\n                }\n                else\n                {\n                    _nowTempGroupRuleLvg = onlyOneGroup;\n                }\n            }\n            else\n            {\n                moveToGroupToolStripMenuItem.Enabled = false;\n                renameThisGroupToolStripMenuItem.Enabled = false;\n                deleteThisGroupToolStripMenuItem.Enabled = false;\n                enableThisGroupToolStripMenuItem.Enabled = false;\n                unableThisGroupToolStripMenuItem.Enabled = false;\n\n                _nowTempGroupRuleLvg = null;\n            }\n        }\n\n\n        private void moveToGroupToolStripMenuItem_DropDownOpening(object sender, EventArgs e)\n        {\n            ListView tempRuleLv = _nowTempGroupRuleLv;\n           \n        }\n\n        /// <summary>\n        /// 添加分组\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void addToNewGroupToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            string newGroupName = \"\";\n            SetVaule f = new SetVaule(\"New rule group\", \"you will new a rule group ,and now set the group name.\", \"\", new Func<string, string>((string checkValue) =>\n            { \n                if((string.IsNullOrEmpty(checkValue) || checkValue.Length > 30))\n                {\n                    return \"error length of group name\";\n                }\n                else if(checkValue== \"Default\")\n                {\n                    return \"[Default] is a reserve name\";\n                }\n                if(_nowTempGroupRuleLv?.Groups!=null && _nowTempGroupRuleLv.Groups.Count>0)\n                {\n                    foreach(ListViewGroup lvg in _nowTempGroupRuleLv.Groups)\n                    {\n                        if(lvg.Header== checkValue)\n                        {\n                            return $\"[{checkValue}] have been used\";\n                        }\n                    }\n                }\n                return null;\n            }));\n            f.OnSetValue += new EventHandler<SetVaule.SetVauleEventArgs>((obj, tag) => { newGroupName = tag.SetValue; });\n            if( f.ShowDialog()== DialogResult.OK)\n            {\n                ListView tempRuleLv = _nowTempGroupRuleLv;\n                if (tempRuleLv.SelectedItems != null && tempRuleLv.SelectedItems.Count > 0)\n                {\n                    ListViewGroup tempListViewGroup = new ListViewGroup(newGroupName);\n                    ((MyListView)tempRuleLv).GroupSelectedSataus.GetSnapshoot();\n                    tempRuleLv.Groups.Add(tempListViewGroup);\n                    ((MyListView)tempRuleLv).GroupSelectedSataus.ReCoverSnapshoot();\n                    ((MyListView)tempRuleLv).SetGroupState(ListViewGroupState.Collapsible , tempListViewGroup);\n                    foreach (ListViewItem tempItem in tempRuleLv.SelectedItems)\n                    {\n                        tempItem.Group = tempListViewGroup;\n                    }\n                    //((MyListView)tempRuleLv).SetGroupFooter(tempListViewGroup, \"Group contains \" + tempListViewGroup.Items.Count + \" items...\");\n                    RemoveEmptyViewGroup(tempRuleLv);\n                    ModificRuleGroup.ReArrangeGroup(tempRuleLv);\n                    RefreshFiddlerRuleList(tempRuleLv);\n                    PutInfo($\"group [{newGroupName}] add succeed\");\n                }\n                else\n                {\n                    MessageBox.Show(\"please select the rules that your want \", \"Stop\");\n                }\n            }\n            else\n            {\n                // do nothing\n            }\n        }\n\n        /// <summary>\n        /// 重命名分组\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void renameThisGroupToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            string newGroupName = _nowTempGroupRuleLvg.Header;\n            SetVaule f = new SetVaule(\"Rename rule group\", \"you will rename rule group ,and input the new group name.\", newGroupName, new Func<string, string>((string checkValue) =>\n            {\n                if ((string.IsNullOrEmpty(checkValue) || checkValue.Length > 30))\n                {\n                    return \"error length of group name\";\n                }\n                else if (checkValue == \"Default\")\n                {\n                    return \"[Default] is a reserve name\";\n                }\n                if (_nowTempGroupRuleLv?.Groups != null && _nowTempGroupRuleLv.Groups.Count > 0)\n                {\n                    foreach (ListViewGroup lvg in _nowTempGroupRuleLv.Groups)\n                    {\n                        if (lvg.Header == checkValue)\n                        {\n                            return $\"[{checkValue}] have been used\";\n                        }\n                    }\n                }\n                return null;\n            }));\n            f.OnSetValue += new EventHandler<SetVaule.SetVauleEventArgs>((obj, tag) => { newGroupName = tag.SetValue; });\n            if (f.ShowDialog() == DialogResult.OK)\n            {\n                _nowTempGroupRuleLvg.Header = newGroupName;\n                ModificRuleGroup.ReflushGroupDc(_nowTempGroupRuleLvg.ListView);\n                ((MyListView)_nowTempGroupRuleLvg.ListView).SetGroupState(ListViewGroupState.Collapsible, _nowTempGroupRuleLvg);\n            }\n        }\n\n        /// <summary>\n        /// 删除分组\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void deleteThisGroupToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            DialogResult dialogResult = MessageBox.Show($\"group [{_nowTempGroupRuleLvg.Header}] will been delete ,and his rule item will move to [Default]\", \"Delete group\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);\n            if(dialogResult == DialogResult.OK)\n            {\n                //foreach(ListViewItem listViewItem in _nowTempGroupRuleLvg.Items)\n                //{\n                //    listViewItem.Group = null;\n                //}\n                for (int i = _nowTempGroupRuleLvg.Items.Count-1; i >= 0; i--)\n                {\n                    _nowTempGroupRuleLvg.Items[i].Group = null;\n                }\n                _nowTempGroupRuleLvg.ListView.Groups.Remove(_nowTempGroupRuleLvg);\n                ModificRuleGroup.ReArrangeGroup(_nowTempGroupRuleLv);\n                RefreshFiddlerRuleList(_nowTempGroupRuleLv);\n                PutInfo($\"group [{_nowTempGroupRuleLvg.Header}] remove succeed\");\n            }\n        }\n\n        /// <summary>\n        /// 启用分组包含的项（勾选）\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void enableThisGroupToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            foreach(ListViewItem listViewItem in _nowTempGroupRuleLvg.Items)\n            {\n                listViewItem.Checked = true;\n            }\n        }\n\n        /// <summary>\n        /// 禁用分组包含的项（取消勾选）\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void unableThisGroupToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            foreach (ListViewItem listViewItem in _nowTempGroupRuleLvg.Items)\n            {\n                listViewItem.Checked = false;\n            }\n        }\n\n        #endregion\n\n        #endregion\n\n        #endregion\n\n        #region Url Filter\n\n        private void pb_getSession_Click(object sender, EventArgs e)\n        {\n            //_= new WebService.RuleReportService().UploadRules<FiddlerRequestChange,FiddlerResponseChange>(fiddlerModificHttpRuleCollection.RequestRuleList, fiddlerModificHttpRuleCollection.ResponseRuleList);\n            if (OnUpdataFromSession != null)\n            {\n                this.OnUpdataFromSession(this, null);\n            }\n        }\n        private void cb_macthMode_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            if (cb_macthMode.Text == \"AllPass\")\n            {\n                tb_urlFilter.Text = \"\";\n                tb_urlFilter.Enabled = false;\n            }\n            else\n            {\n                tb_urlFilter.Enabled = true;\n            }\n        }\n\n        private void tb_urlFilter_DragEnter(object sender, DragEventArgs e)\n        {\n            Fiddler.Session[] draggedSessions = (Fiddler.Session[])e.Data.GetData(typeof(Fiddler.Session[]));\n            e.Effect = (draggedSessions == null || draggedSessions.Length < 1) ? DragDropEffects.None : e.AllowedEffect;\n        }\n\n        private void tb_urlFilter_DragDrop(object sender, DragEventArgs e)\n        {\n            Fiddler.Session[] draggedSessions = (Fiddler.Session[])e.Data.GetData(typeof(Fiddler.Session[]));\n            if (draggedSessions != null && draggedSessions.Length > 0)\n            {\n                tb_urlFilter.Text = draggedSessions[0].fullUrl;\n            }\n        }\n\n        void rtb_MesInfo_DragEnter(object sender, DragEventArgs e)\n        {\n            Fiddler.Session[] draggedSessions = (Fiddler.Session[])e.Data.GetData(typeof(Fiddler.Session[]));\n            e.Effect = (draggedSessions == null || draggedSessions.Length < 1) ? DragDropEffects.None : e.AllowedEffect;\n        }\n        void rtb_MesInfo_DragDrop(object sender, DragEventArgs e)\n        {\n            Fiddler.Session[] draggedSessions = (Fiddler.Session[])e.Data.GetData(typeof(Fiddler.Session[]));\n            if (draggedSessions != null && draggedSessions.Length > 0)\n            {\n                for(int i =0;i<draggedSessions.Length;i++)\n                {\n                    string tempStr = FiddlerSessionTamper.GetSessionRawData(draggedSessions[i], true);\n                    PutInfo(tempStr == null ? \"error session\" : string.Format(\"Get Raw Data\\r\\n{0}\", tempStr));\n                }\n            }\n        }\n\n        \n        #endregion\n\n        #region RequestModific\n\n        #endregion\n\n        #region RequestReplace\n        private void pb_requestReplace_changeMode_Click(object sender, EventArgs e)\n        {\n            if (panel_requestReplace_startLine.Visible == true)\n            {\n                panel_requestReplace_startLine.Visible = splitContainer_requestReplace.Visible = false;\n                pb_requestReplace_changeMode.Visible = true;\n                tabPage_requestReplace.Controls.Add(pb_requestReplace_changeMode);\n                this.toolTip_forMainWindow.SetToolTip(this.pb_requestReplace_changeMode, \"change request replace mode to format mode\");\n                pb_requestReplace_changeMode.BringToFront();\n            }\n            else\n            {\n                panel_requestReplace_startLine.Visible = splitContainer_requestReplace.Visible = true;\n                panel_requestReplace_startLine.Controls.Add(pb_requestReplace_changeMode);\n                this.toolTip_forMainWindow.SetToolTip(this.pb_requestReplace_changeMode, \"change request replace mode to raw mode\");\n            }\n        }\n\n        #endregion\n\n        #region ResponseModific\n\n        #endregion\n\n        #region ResponseReplace\n\n        #endregion\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/FreeHttpWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"imageList_forTab.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <data name=\"imageList_forTab.ImageStream\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n    <value>\n        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\n        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\n        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABm\n        CgAAAk1TRnQBSQFMAgEBBQEAAegBEwHoARMBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\n        AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\n        AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\n        AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\n        AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm\n        AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM\n        AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA\n        ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz\n        AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ\n        AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM\n        AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA\n        AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA\n        AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ\n        AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/\n        AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA\n        AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm\n        ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ\n        Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz\n        AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA\n        AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM\n        AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM\n        ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM\n        Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA\n        AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM\n        AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ\n        AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz\n        AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm\n        AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw\n        AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/0IAA1UIAANNMgADVQEA\n        BhQBAANNNQACFASSAhQ2AAMUBpIDFDMAARQMkgEUMgABFAKSAf8BkgH/ApIE/wGSARQyAAEUAZIF/wSS\n        Af8BkgEUMgABFAGSAf8BkgH/AZIB/wGSBP8BkgEUMgABFAGSAf8DkgH/AZIB/wSSARQyAAEUAZIB/wOS\n        Af8BkgT/AZIBFDIAARQMkgEUMgABFAGSATgBkgE4AZIBOAGSATgBkgE4AZIBOAEUMgAOFNIAARAB9A0A\n        AfEGAAH/AgAB/wYAAeoBEgHyFAAB8R4AAe8BAAHqAwABEAMAAf8BEgH3AhIB6wsAAf8BAAGSAwAB8QUA\n        AfACAAHvAwAB8hEAAe8KAAESAwACEgsAAf8EAAHxBQAB8AUAAfISAAHvCgABEgL/ARIBAAISDwAB8QUA\n        AfAEAAHzEwAB7woAAfQBEgEAAhIBAAFtARIGAAH/BwAB8QUAAfAYAAHvCwAB7AESAQACEgEAAewBEgYA\n        ARIGAAH0HgAB7wwAAe8BEgEAAhIBAAHvARIlAAbxDgAB8gESAQACEgEAAfEFAAHxBu8GAAHwJwAB9AES\n        AQABbQESAQACEhEAAf8QAAHyFgAB/wESAgACEgEAARIeAAHwHAABEgHqAQACEgH/DQAB/w4AAfACAAEQ\n        AgAB9BcAAesB/wISAW0PAAH/DAAB8QIAAQ8CAAH0GQACEgH3BAAF7wMAAewCAAH0DwABDgQAAfQEAAHt\n        GQABEwgAARAB/xAAAQ4HAAH/AbwBAAH0SAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEB\n        FgAD/wEAAv8GAAGPAfEGAAGIAREGAAHwAQ8GAAHAAQMGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGA\n        AQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAL/BgAC/wYABP8BnwH/AQABzwGPAf8B8QEAAYcB/wEA\n        AYMBgQH/AccBPAGJAf8BAAHpAdwB/wHPATwB0AH/AQAB/AHCAX8B3wE8AeABfwEAAf4ByQE/AQ8BPAHg\n        AT8BAAH+AeQCnwEAAfABHwEAAf8B8gFPAv8B+AEPAYEB/wH5AS8BgAH9AfwBBwH/AYAB/AGTAYAB/AH+\n        AQcBPwGAAf4BZQG+AfgB/wEJAb8BgAH/AcgBvgH5Af8BkAGfAYAB/wHBAb4B+QH/AeEBnwGAAf8B4wGA\n        AcMB/wHjAcABgAL/AYABzwH/AfcB8AGACP8L\n</value>\n  </data>\n  <metadata name=\"contextMenuStrip_AddFile.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>159, 20</value>\n  </metadata>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"addFileToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        a8yb9z+yGKdx213yIgAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"addParameterDataToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        Ax04yV1ug3OzAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <metadata name=\"openFileDialog_addFIle.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>353, 21</value>\n  </metadata>\n  <metadata name=\"toolTip_forMainWindow.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 60</value>\n  </metadata>\n  <data name=\"tb_requestModific_body.ToolTip\" xml:space=\"preserve\">\n    <value>empty mean replace all body \nstart with \"&lt;regex&gt;\" mean regex replace ,it will use regular expression to replace the booy\nstart with \"&lt;hex&gt;\" mean hex replace , it with replace the booy with hex mode (like: 0x01 0x02)\nstart with \"&lt;recode&gt;\" mean change the encode character set for the body (eg: &lt;recode&gt;gbk)\nif you change the body the content-lengh will auto adjust\nstring mode wil use utf8 in your body\nhex mode will  removes Transfer-Encoding and Content-Encoding headers</value>\n  </data>\n  <metadata name=\"$this.TrayHeight\" type=\"System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n    <value>116</value>\n  </metadata>\n  <data name=\"pb_requestReplace_changeMode.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAABPlJREFUeF7t\n        nN+LVHUYh0ebOWOhJSVdlBQFEhleCYkUZTflTUURFEE3UVDQH9CVgSReKBEJXURdBIEQdNUPkoLpnNmW\n        OeeMWdDCgoUJkVEomkQp6vR5t3Pc2Zl3Zs+ZHVjP+34eeNDdu/2+z+6cff2ONUIIIYQQQgghhBBCCCGE\n        EEIIIWQ1aJ1Yl/2NuKPV2dyMkq+zj4gngqiztRkmp5phfCL7FPFCPUweCqL4L3z39xiAM4IofSaIkosL\n        w2cAvmhE8StXB88AfNEIk4NDw2cADmi16ni9/1gdvsgADNOaW48hfzM09H4ZgFFa3U142PtRHXq/DMAg\n        7fTuZhT/og58UAZgi0b76Ha85p9Wh63JAOxQbye7gzD+Rx30KBmADTD45/Gaf1kd8jgZQPXB4Peowy0i\n        A6gwvd4afOd/oA62qAygoszOXo+Hvc/UoZbzt3o73bXqznQfzL4ysiydzo34zk+VYVZW+dfJ7KsjY5n9\n        /na85s9rh1hlGUABrl7iUA6w6jKAZVhyicOgDGAMzTB9YsklDoMygBHIJQ4M/4p2aJZkAAoY/AHtsCzK\n        APpZ7hKHQRlATpFLHAZlAELRSxwGZQBlLnEY1HUApS9xGNRtAI12dwd+7P+tHYonEcC57EicsfDEnxzW\n        DsWT7p8BEMFe7WC86D4AIQiTZxGC6ZXvKBlARj1KH0AIZ7VDsmzBAB7P/rRNM+xswaGcHDwkyxYM4H3Y\n        gZsWPjJNHN+CQ+lqh2XREgH04Em4VT5hm+PHm3gm+FQ7MGuWDEA8Dx+Dxun11jSi+C3t0Cw5QQDiJfga\n        tA8ieAk/Dcq/8aMiThhA7ntwLbRNPew+ighMbg1XGID4JVwPbROE3W3NMP5dO8QqO4UAxDl4BzTOzHe3\n        4cDmtIOsqlMKQPwT7oDGmZnfgJ8ER7TDLGmV3hlUJADxAnwOGqfXWxuE8YfKUItbrfcGFg0g9w1onyBM\n        XsfD4WQ3h20HIB6GAbRN0I6fQgQX1CGP034Aoo/1cSNK78fD1Bl10KP0EYDoZH0cxndhsD8PDXqUfgIQ\n        nayPW8c24idBRx34oL4CEC/Dl6Fxut0GHg4/UYfer78Acg9B++tj/Jr4pjr43GIBbIG7rgE/h9owJ/UI\n        3ABt02inLyCESysI4F2oHaAFfayPZduGCM4zAFUf6+MgPHovBv4rA1CV9fHT0Djf/nArfkNYvGrGAAbd\n        A43Tf9WMAWg6WB/LVbMweZsBjNTH+jgIkyKvex4DEJ2sj5fHawCirI8fga7xHIAot48drI9H4z2A3Heg\n        /fWxAgNY1Mft4wEYwFKd3D5ehAEMK+vj7dAFDGDYs3AndAEDWOopeA90AwNYdB5uhq5gAP+bwpugOxhA\n        rfYFXAdd4j2Aj6DLBVCO5wD2Qvd4DOAKfBES4C2Af+GTkGR4CkD+nwI3C56ieAlAFjz3QTKAhwBcLniK\n        YvWdQbly/+9mSK5xpvnewFzXC56qMe0A3C94qsY0A9gHScWYRgBc8FSYlQbABU/FWUkAXPAYYNIAuOAx\n        wiQB/AS54DFC2QDkBg8XPIYoE8BXkAseYxQNQBY810FijCIB7IfEKOMCkAXPq5AYZlQAFyEXPA7QApAF\n        z8OQOGAwgD8gFzyO6A9AFjx3QuKIPIBjkAseh0gAsuC5YeEj4o7d2Z+EEEIIIYQQQgghhBBCCCGEEEII\n        IatErfYfshmLCG3+0G8AAAAASUVORK5CYII=\n</value>\n  </data>\n  <data name=\"tb_responseModific_body.ToolTip\" xml:space=\"preserve\">\n    <value>empty mean replace all body \nstart with \"&lt;regex&gt;\" mean regex replace ,it will use regular expression to replace the booy\nstart with \"&lt;hex&gt;\" mean hex replace , it with replace the booy with hex mode (like: 0x01 0x02)\nstart with \"&lt;recode&gt;\" mean change the encode character set for the body (eg: &lt;recode&gt;gbk)\nif you change the body the content-lengh will auto adjust\nstring mode wil use utf8 in your body\nhex mode will  removes Transfer-Encoding and Content-Encoding headers\n</value>\n  </data>\n  <data name=\"tabControl_Modific.ToolTip\" xml:space=\"preserve\">\n    <value>Request Modific : creat a request change rule\nRequest Replace : creat a request replace rule , it will replace all the http request\nResponse Modific: creat a response change rule\nResponse Replace : creat a response replace rule , it will replace all the http response </value>\n  </data>\n  <data name=\"pb_pickRule.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAALGPC/xhBQAACQRJREFUeF7t\n        nCGPXkUUhpeEhJDgIKlZ2Wy23SoUchWSBI+uAYFGYdBodH0TZH9BXVVNNQaBIyEkJIVzs0OAy9t9v+3M\n        3HtnzvMkj2TPnDPzft1l23MGAAAAAAAAAAAAAAAAAAAAAAAA2/Po0aPr8NuMlhEMj+otiddlBP0ohf7M\n        aBnB8Kjektj/Q24psiqaxjKC4VG9JZGA9LSMYHhUb0kkID0tIxge1VsSCUhPywiGR/WWRALS0zKC4VG9\n        JZGA9LSMYHhUb0kkID0tIxge1VsSCUhPywiGR/WWRALS0zKC4VG9JZGA9LSMYHhUb0kkID0tIxge1VsS\n        jxmQ8p8CNEW9NSMBgTyot2YkIJAH9daMBATyoN6akYBAHtRbMxIQyIN6a0YCAnlQb81IQCAP6q0ZCQjk\n        Qb01IwGBPKi3ZiQgkAf11owEBPKg3pqRgMDdubi4+CjuabnXbj58+PCrUq4Z8XXle7tFAgJ3J+7oyfrO\n        WhsB+aKUa4aqYyQgcDfifj5d31drr66unpVyTVG1jAQETuf8/Pz9uJ+f1vfV2N/u379/Xko2RdRyEhA4\n        nfhk/17dV0ujxtelXHNUPSMBgdN48ODBx/F4X6v7amV8/RdR6p2biu1RNY0EBE7i3Xi8L9VdNfSP+MH8\n        qtTrgqjpJCDgiTv5Zn1HHfyulOuGqOkkIHA7l5eXF/Gnx+/qnloZX/9V/GD+XinZDVXbSEDgduI+nq/v\n        p7Xx880npVxXVG0jAYE3E5/sj9X9tDRq/FDKdUfVNxIQ0MQ93IvH++v6bhr7c9T4oJTsjqjvJCCgiXt4\n        ur6XDn5eym2CqO8kIPB/4g4+X99JB5+WcpshzuAkIPBflm954g5+Xt9JS8u3bvdKyc1Yn+MECQj8l+WH\n        ZnUnLY0aj0u5TVFnMRIQ+Iflf7eq+2js81Juc8RZnAQEblh+URef7K/UfbQyvv7vyy8eS8nNUWcyEhC4\n        Ieb+3foeOvhNKbcL4jxOAgJnZ8tfEoy5/7G+h5bGnx4vo9S7NxX3QZ3LSEDg7J14vC/UPbQyvv7r5a/L\n        l3q7oc5mJCDZicf7tbqDlkaN70u5XVFnMxKQzCz/tDXm/dt6/o39afmnuqXkroizOQlIZuKT/Zmaf2M/\n        LeV2R5zNSUCysqzVUbNv7JNS7hCI8zkJSEYuLy8/jD89flGzb+Xy9Zc6peQhUOc0EpCMxIyHXPxWizqn\n        kYBkI+Y77OK3WtRZjQQkE6MvfqtFnNVJQDKx/D5CzbulUaPb4rda1HmNBCQLMyx+q0Wd2UhAkjDF4rda\n        xJmdBCQDMdMpFr/VIs7sJCCzM9Pit1rU2Y0EZHZintMsfqtFnd1IQGYmPtmnWvxWizq/kYDMSsxxusVv\n        tYjzOwnIrMQcp1v8Vos4v5OAzEh8qn+m5trSqPFjKTcMqg8jAZmN5VuemOGUi99qWfdxggRkNuLxTrv4\n        rRbVi5GAzMTsi99qEb04CcgsZFj8VovqyUhAZiHmNv3it1pEP04CMgNZFr/VovoyEpAJSLP4rRbVm5GA\n        jE483jSL32pRvRkJyMhkW/xWi+jNSUBGJj7ZUy1+q0X05iQgo5Jx8Vstoj8nARmRrIvfalF9GgnIiMSM\n        Ui5+q0X1aSQgoxHzSbv4rRbVq5GAjET2xW+1iF6dBGQklt9HqHm1NGocdvFbLapfIwEZBRa/1aN6NhKQ\n        QWDxWwNEz04CMgIxExa/NUD07CQgR4fFb+1QvRsJyNGJebD4rRGqdyMBOTLxyc7it4ao/o0E5KjEHFj8\n        1hjRv5OAHJWYA4vfGiP6dxKQIxKf6ix+64Cag5GAHI3lW56YAYvfOrCewwkSkKMRj5fFb51QszASkCPB\n        4re+iFk4CchRYPFbf9RMjATkKETfLH7rjJiHk4AcARa/bYOai5GAHAAWv22Emo2RgOxNPF4Wv22Emo2R\n        gOwJi9+2RczGSUD2JD7ZWfy2IWI2TgKyFyx+2x4xHycB2QMWv+2DmpORgOxB9Mjitx1QczISkK2J/lj8\n        thNqVkYCsiUsftsXMSsnAdmS5fcRqt+WRo1pF7/VouZlJCBbweK3/VEzMxKQjWDx2wEQM3MSkC2Inlj8\n        dgDEzJwEpDcsfjsOanZGAtKb6IfFbwdBzc5IQHoSn+wsfjsQan5GAtKL6IPFbwdDzM9JQHoRfbD47WCI\n        +TkJSA/iU53FbwdEzdFIQFqzfMsTPbD47YCs53iCBKQ18XhZ/HZQ1CyNBKQlLH47NmKWTgLSCha/HR81\n        UyMBaUWcm8VvB0fM00lAWsDitzFQczUSkAaw+G0Q1GyNBKSWeLwsfhsENVsjAamBxW9jIWbrJCA1xCc7\n        i98GQszWSUDeFha/jYeYr5OAvA0sfhsTNWcjAXkb4owsfhsQNWcjAbkrcT4Wvw2KmrWRgNwFFr+NjZi1\n        k4DcheX3Eeq8LY0aLH7rhJq3kYCcCovfxkfN3EhAToTFbxMgZu4kIKcQZ2Lx2wSImTsJiIPFb/OgZm8k\n        II44D4vfJkHN3khAbiM+2Vn8NhFq/kYC8ibiHCx+mwwxfycBeRNxDha/TYaYv5OAKOJTncVvE6LuwUhA\n        1izf8sQZWPw2Iet7OEECsiYeL4vfJkXdhZGA/BsWv82NuAsnAfkbFr/Nj7oTIwH5m6jL4rfJEffhJCAL\n        LH7LgboXIwEJWPyWBHU3RgISj5fFb0lQd2PMHRAWv+VC3I0zd0Dik53Fb4kQd+PMGxAWv+VD3I8zb0Di\n        T48vo9Zytm5eXFx8VMrBAYg7ke/tFvkhHfKg3pqRgEAe1FszEhDIg3prRgICeVBvzUhAIA/qrRkJCORB\n        vTUjAYE8qLdmJCCQB/XWjAQE8qDempGAQB7UWzMSEMiDemtGAgJ5UG/NeMyAzGIZwfCo3pJIQHpaRjA8\n        qrckEpCelhEMj+otiQSkp2UEw6N6SyIB6WkZwfCo3pJIQHpaRjA8qrckEpCelhEMj+otiQSkp2UEw6N6\n        SyIB6WkZwfCo3pJIQHpaRjA8qrckEpCelhEMj+otiQSkp2UEw6N6S+ImAbleCmW0jGB4VG9JvC4jAAAA\n        AAAAAAAAAAAAAAAAAAAAgM04O/sLOV4FEZJZxVwAAAAASUVORK5CYII=\n</value>\n  </data>\n  <data name=\"pb_responseLatency.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_ruleComfrim.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <metadata name=\"menuStrip_quickRule.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>967, 21</value>\n  </metadata>\n  <data name=\"disableCacheToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"addCookieToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        AElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"deleteCookieToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        QmCC\n</value>\n  </data>\n  <data name=\"setClientCookieToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        AICFsGTJfwFouObwj+1gXgAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"copySessionCookiesToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO\n        vAAADrwBlbxySQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC42/Ixj3wAAAUlJREFUeF7t3LFN\n        w1AARdGMwAhUzEBBLAZgAxiAMahIOrZhBScVbAQp3CUFVhC6DudKr7X1fVy58EqSJEmSJEn5hs34eNjL\n        pe7udX8zHXUZDdvxfdjuvi51B5CH6ajLCEgsILGAxAISC0gsILGAxAISC0gsILGAxAISC0gsIDO6f/u4\n        OvWNf+7Wm/3zdMmjgMzodjNen7rJ3K23u8/pkkcBmRGQ8wckNiCxAYkNSGxAYgMSG5DYgMQGJDYgsQGJ\n        DUhsQGIDEhuQ2IDEBiQ2ILEBiQ1IbEBiAxIbkNiAxAYkNiCxAYkNSGxAYgMSG5DYgMQGJDYgsQGJDUhs\n        QGJbHoj/9v68vwDRjIDEAhILSCwgsYDE+i2QJe7wEj1Nj6ETkFhAYgGJBSQWkFhAYgGJBSQWkFhAYgGJ\n        BSQWkFhAYgGRJEmSJEn/sdXqGyWHtfkNEUZyAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"removeSessionCookiesToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"addUserAgentToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        AElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"changeSessionEncodingToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        YIlGeAAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"independentWindowToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"showSelectedSessionStreamToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"parameterDataManageToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        JEJDw/8DFbcRYKHc1s4AAAAASUVORK5CYII=\n</value>\n  </data>\n  <data name=\"httpTamperSettingToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAALGPC/xhBQAAEcNJREFUeF7t\n        nQ2wJFV1xxeWD2OVGq2IuIJu2Ofbme5HRFeDVlmWbCXxA/A7xm+xyiRUWVapiIIfuBQogkmAhRBnbvc8\n        d1ECj2BYtMQCCzYJBCxlY6pigVqJugpaG+/tefv2AbuutOf0nGHf9Dvz3ryvme6+/3/Vr/bB9HTf87/n\n        dt/uuX3vOgiCIAiCIAiCIAiCIAiCCq1t6dGhaW8NI3dpaOwdoXG7A2PvDCI7GUTuwjB2rwyn0uNk68qJ\n        Y+MYA+M+RXG3KO7vsAeZF5kn7a3skWwO+aJNO2dOCOLkc5QQD1MipIuQUPJcPdFob5Kvl14cC8V+FTWG\n        thJvD+wRe8Weydehqqpm2lsoKXbQ1eGglgwLYtyhMLKXbJxMnyK7K53GtqfHcwydWJQYF0A82xk2k9Nk\n        d1AldHd6TBDbt1Pl3jO3wpcLJcqezfHsBtl7aVRvzD6Xyv+DfDzLwrh72VP2VnYPlU5T6fp6ZD9I/elf\n        qJW8AqjL9UjYnH6ZHKnw4rJmZVZiWSF7w9j+NXsth4LKoMAkb6SE+JFSoasG9c0fC2L3bjlkYcVl5LJq\n        Mawaxj5Yj5I3ySGhoipoTZ9OyXC/WolrBDXEaHOcPk2KUBiNfdU+ncumlXmtYO+5DqQIUFFUm0w2UjJ8\n        Xau0YcBPeuqt9p9JcUYuLguXSSvrMOC64DqR4kCjUvZUxiSfDYx7XKuoEfDNWnP/uBRv6ApbNqAb6G8o\n        5Ro6nW5dchHXkRQPGqb4R6wgcj/VKmfEHKYGeyP9e/aWRnqsFHfNxMeoNd1ZlJBTfOw55SgEWR3xD47Q\n        cDRm7EmSDGqFFArjHCXIl8M4OWNdmh4lIaxc29KjayZ5dXaPQcdQj10wqKw3l/HxeKlUj9yZZPSMVgFF\n        h8r9CDXsmK4u7+FGLiENrOzEQN/lRsH70o5RdCj+/XSyeIOEBK2WeMwQJcXVmunlxR7g7gfFdR/99zcp\n        eSapAVyRQX/L//su/ff/0TalPCn0g+K+pspj3IYqfhpCpq7OL8CgMFAj2bPZtP9YqhlajsrcpQKLgy7X\n        CkRnmC9opoLqQSfCT0i1Q4tqKl1PjeNrmpGgutSN/SvJAKiv0vSo0LgbNANBtaHu1mNVeudmTVQ37nzN\n        POAH1Ejul1SA8gonD5wYGvuoZhzwiDg5R1ICmqvs2bhmGPALY3+J9+Bz2tBIn0rGzKqGAf+I22+V1IBY\n        PDxbNQr4ym2SGhCLbs4/rZgEPIW62wcxFGWOyJRm3iTgN/UoeZWkBxSM8G1AUEyCpjtX0gOiBnKzZhLw\n        Fx5qJOkBhZH9imYS8Bce9i/pAWFgIsgTRPZiSQ8ojJL3ayYBf+G3JyU9IJ75TzMJ+Avm15qjbBp+xSTg\n        LxPmwHMkPSAW3Yf8RDMK+AcPfZe0gLoiY27LGwX8hE6WP5O0gLoKjG1pZgEPMfZBSQuoKzprfEk1C3hH\n        YNwDkhZQV/Uo+YxmFvAQ474vaQF1xT8MqWYB/0AXa77osnqZahbwkb2SFlBXdNa4UjEK+Iixs5IWUFd0\n        BblJNQt4ySkN9wxJDYjFU75oRgE/qUduQlIDYpEp+/ImAa85W1IDmmjZkxWDgNckF0l6QDzNi24S8JUg\n        crskPaAgSv5eMwl4jLG/lvSAyJC98wwC3lObdKdKivgrunq8WDMHgCCyH5c08VdkxOV5YwAQ7pY08VTb\n        0qMD4/5fMQYAvlF/wus3C+vN5M2aMQB0CYw9T9LFP5EB9+QNAWAudB/yQ155TFLGH9Wa7izNEADycK5I\n        2niiu9NjMEkDGBz7PckcPxTE9mO6EQDoBLF7naRPtTXe2P9HdOM1o5kAQD+4x8FLhEsaVVd0ubxFMwCA\n        xaib5COSRtUUnQUu1AIHYBB4QrmwZQNJp2qJn0TwDz9a4AAMCne1eNFXSatqiCenzlq/EjAAy+C2ytyP\n        BE0bUkBJLkAAVkRg3I2lX099c9x+KV0SrRYgACvGuB2lvZIEJnkjulVgzTFu99hX7dMl7cohflqFG3Iw\n        NIx9cMLM1CX9iquTptI/wO8cYBRwb4VHaBR2YGNg2m+jguLV2cHYR1fY27kPzVOu1o07P4yTc+jk8lr6\n        +/XZmo3GXUCfXZGtAGzsHfyd3D6Azn+GzeQ0ScvRS27E/0MpKJgDebRHGsKLxLola7Nxf1KP3Cd4X9ox\n        QAfu3tPJ5fp6lLxArBu+uM8XGPt1rYCgA1XS48T2tZh8gPdJV5lr+RjasUHGYeKfed4DsW1tFU4eOJEq\n        5UPUQv+NW2muMEAgbw4S1w3jddF6Y/a5dKxr+JhaWUAHOpE8kI0ipxwW61ZHYTT9rKDpzqWD3EUH+V3+\n        wKCHw3SzGI/vePR5Yt/QxLNT8rG5DLkygV6ojtyusGlfI9YtTxON9iYyfIquGIeUg4D57Ksb+3Kxb2Ti\n        MnBZcmUDKvYhuqc7U6wbXNQo3slrNOg7BXnoXuw+7uqIfSNX1u2iMmllBb3Q1eQJfvAh1i0uuvN/L39J\n        2xnQsLeEU+lxYl9hNLY9PT7rAahlBgqfFOv6i19rxH3G4PATKrGusKIrydVa2YEC9ZzEtvnaHM9uoI0w\n        6nZQjLtBrCu8qCFfr8YAeiCfHuffmsS2XtGHDe1LYD7UBb29VKNIqaxU5m9psYBeqFv6XXHtiLJHuXiO\n        PhBk4K82TiZ/KNaVRqde134ml12LCfRCN+3vENs6wgI2S8C0t4ptpVMYJ2eoMYE894hlHdGZ5SplI5CD\n        +/JiWWmF+5HBGG/sr4llmWm3ahuBI2Q3cPHsBrGstOIYOBYtRnAEumhcLJbxPYj7QX4DMI8vil2lFzWQ\n        y5T4wFyMuzcza0sjPZYMw28fC8APMHhGyMywCmisNfNsPJRZGGoTP8/MqsX2FdoGYA7GXZuZVSFRA7lG\n        jRV0MO5Q9nZiECcfVjcAT9Jzw1YRcUxarOAIm3bOnMCLaGIJ5gWgS+0DklOVE8emxQw6ZC9akUk3aR+C\n        DkGFV1oNjD1Pixl0yIbC0x9YBm0B6q32SySfKieOTYsZCMb9Df9I+GP1Q0DdKztT+uktF1K2yjDWaumL\n        cRdwA3lY/RAwlV+nm2PMxQwEOnls4wYyrX0ImMRIHlVWHKMeOyAu59dr8c55fxZ/y6zk4hhzMQOBXzbj\n        p1j4Fb0PdZO8T/KosuIYtdhBRpPPINoHgKiZ5C2SR5UVx6jFDvgK4q7nIQdPAJ26af95NtygwnCMWuyA\n        MO4mXEEWoBa3/0JOtJUVx6jFDrJ7kJuzK4j2IWCD2m+TPKqs8DZpfzpdLNyk9yUwyQckjyorjlGLHWTQ\n        TToe8y4EHvN6DF08tuOHwgWgPmgkeVRZcYxa7CDjcm4gmAqmD3QG+XfJo8qKY9RiB9kJkoeauJ9oH4LM\n        oGoPVkzTo8LIHtBiBwQPVqQ/MNx9AWqmvUXSqXLi2LSYgSDD3TED+AIsaWr8kilbM1GJGXSoNd1Z60Jj\n        r9Q+BF3s9ySfKieOTY8ZMNkrt3QZ+ZD2IThCFSdtqDX3j2uxgiN0Jm1oTZ+ufQh6+EfJq8qITozXKnGC\n        Lsb9NhuvhonjFieI3EGebE1yq/TiSfA4Ji1W0IHaRGfiOBaZhYXpF4EMu0LsKr0onsvz8YEc3alHWdk6\n        e9pG4EmogVRi8urOAp+YvHoxsh8Ju6IG8g/aRqAXSiwsf+AJPQ9mMOR5CcTJGWJb6VQzyavVmECe3gV0\n        sATb4PDYNV7OTKwrjXjZOIy7G4x6fgk2Fl16/0nbGCgY++1SjdHiCeIid7saC+iB2sF/iWu9Gt/x6PNo\n        AywDPSB0Np4U6wovLqsWA+iFH170XQaaRZeWM2kj/CYyKMZeKdYVVhhKNDhB7N4ttvUX3YSeo30Z9MPe\n        Ek6lx4l9hRGXCY/vB4e6oBeKdYuLNn4XnXlmtR2B+QTG3se/L4h9I1c4eeBE6lbdr5UV9EK5/gTV33li\n        3eCaaLQ3kclTId5ZH5R9dWNfLvaNTEE0/adcllzZgIp9iLpVrxPrlqfsEXDTnUs7vItb2/yDgDkcprNR\n        xA88xL6haaJlT5aJqA/nygR6OUx5vCts2teIdaunbJhCbD9GN/JYumsBqAIOEtdNmAPPEevWTHwMPhYf\n        UysL6MA5y7nL3U+xbm3Fr2vSQW+kg+OM1Qd+bMjDyifMTF1sWzXxPnnf2TGUY4MMuqK7G7MXn0al2mSy\n        kQqyk85g6H4tAPmzh+7pPh7GyYvEuiWLn9HTvj7J+8rvHxxBcnFnPUpeINaNXmEzOY2f5uQLC1T2USXe\n        TleAHfTvl7J3w+PkHPr39Yz8fT5/xtuExt7B38ntAyhkOUi5KGlZME2l67NKVQoOwFoTmOTvOAclG4sr\n        XnOCWjIWhwRDgXONc07SrxzKfkcx7n+0gABYLTjHONck7cqlse3p8VkfWgkMgFVgJ+eYpFtJtS09mhrJ\n        DUpwACwbfnxbnWlh+ebduFu1QAFYKkHkdpXiZnwp2tBIn0qBYaJssCI4hziXJK2qpbBlgyCyj2mBA7AY\n        We5QDkk6VVN1k3xECx6AxbEflTSqsDo/JqKrBZYE50zl7jv6iV/t1UwAoB+cM5I+foiCxsI9YFB656ny\n        QRT02TkTAOjH2ZI2HilNjwqM/ZFiBgBPwjmSLUPgoyj48zRTAOjCbwFKuvgneV0UL1oBFc6NbJUnnxUa\n        t1szBwDODUkTf5W9hqqZA7yHu+CSJv5K3rNWDQJ+s+A8uT6J+pq/0QwCHmPsryU9IOprfkM1CXgLvx4h\n        6QHRFeQLmknAZ5KLJD2geuTeoZsEvCVO3iDpAfHMd6pJwF+q/t7HUsQL26smAW85peGeIekBsehG/bea\n        UcBDjJ2VtIC6Coz7uWoW8I4gcj+TtIC64sVMNLOAhxj7oKQF1BWdNTBjOcig3sQDkhZQV2yKZhbwEOO+\n        L2kBdcWXVdUs4B/oYs0XGbN3nlHAS/iBjaQF1BWZgqXEQAZPECdpAbF4YUXNKOAvw1gAtTSqxfYVmknA\n        X4qw5nxhVDfJ+zSTgMcY905JDyiM7CWqScBfTPJZSQ+IbtCvUE0C3sI5IekBkRmXaSYBr/mipAcUNN25\n        ikHAY+rGfVrSA6pHyas0k4DHxO23SnpAvFIpfigEc5lo2ZMlPSBWELldmlHAQzAWa75qJnmLahbwjiCy\n        F0taQE8qW0/d/lIzDHiEsY+eel37mZIV0FyFUfJ+1TTgE5dKOkCaAmPvU0wDPkA9iMqugb5ammi0N2Et\n        dQ8x7lC91X6JpAG0kHigmmoiqC4YnLg0kWEXqEaC6kF1LdUOLUU8PyuZ11ZNBeWH6xZz8K5MYcM9v7JT\n        AlG/m/hvYncf+LND6ndLTlanVLdSzdBKFE6lx1GiXKsZXTL+N4hsTMnxrvHG/tq6qXS9hNhfd6fH8LaB\n        ce8JjI14H7l9lg6K/xquU4kQWi3x5ZgSbL9menGxD1Fib6s1949LGCtWp8HYbUSp1pnP6g5dqrXVmLEn\n        UdL9i1YBRYHO9r8jbuVRylLsNRMfg87I/0oUfDlte8vmeHaDFBtaa4WmvZWS4qd6ZYyUu4JoekyKOTTx\n        MfnYubKMnKyOqK6kmNAwlQ2Tj5PPFWGoPCWC5cknpGgjUzYBhnFOK+Mw4TrhQYdcR1I0aFSqTSYbuZuh\n        VdQwoGN/a6w182wpzsjFZeEyaWUdBlwXXCdSHKgoClrTp9NZ636t0tYCvukswlWjn+j+5L3DfKjB3nMd\n        yOGhoooS401r/YSHzpK/4bUV5ZCFVc20t3BZtRhWD/sQv88jh4RKoal0PSXG31IFrvqk2NT4HhnFjfhy\n        VZ+cfiGd3R/WYlkhe9njgX7PgQqqrKHYv6Qb13uVCl4ylBB7yvi4ksvMZddiWgb3BLF9OxpGxcTDqaly\n        dy5r+Eb2HXvJxsn0KbK70onLzjEsJ35qXAcD466vTbpTZXdQVbVp58wJ/Es0Vfwg3a+Etr16vNU+Rb5e\n        emXv3FBMHFsuVo297BV7Jl+HvFH2Hnx7KyXBpaGxd9CZdTclw53UJZuks+Wnwti9cksjPVa2rpw4No6R\n        J2nrxGzvZA/YC4r/89kPfOSRbA5BEARBEARBEARBEARBUAG1bt3vAcL92VOqUTvZAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"feedbackToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6\n        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAATjElEQVR4Xu2dC7QdVXnHQ31L8YVaRGuh\n        KG3xWStqsVLRZbVFrFp8YS21rqaQnDmTSxAfy9VYrbS0QrNslV6SOzPnAkXSglpYIkLVthIESUJ1ISEq\n        SYCQByHJPWfvuTeB3NNvn/vFde+cfc6dx57ZM3P+/7V+i5XLme/7Zmb/55yZ2Y8lEARBUE3k+uJtzUAu\n        5X9CEHREjt95U9MXgpht+uF5/GcIghpB+430zdEhc3SZWXyTQBCp6bVPa/qyPc8cRzhMfIQ/BkGjJ8cP\n        3zDAHEd43AnEh/njEDQ6WuHJ15A59mlMEeVxxxMf4s0gqP5yfflqMsejGjMM4nHXEx/gzSGovmpMyFeR\n        OfZqTLAYh9wgfBeHgaD6qeGLVzQD+Yim8cflIN23nMXhIKg+cifav0ENfGekwafhoBPIMzksBFVfy1vt\n        k6lhPxxp6FkIm4F4K4eHoOqq6bdfSg16R6SBm0A2W+IMTgNB1dPytdO/Rg15W6Rhm0S6fufNnA6CqqPm\n        5PSLqQFvjTToPBBuq3M6p4WgaqjZCt9DjffxSGPOCTnleuHrOTUEVUN0I/1+4jF9ozaNPOD64amcGoKq\n        oaYnz6UGrDoeahq1aeT+xkT4Wk4NQdUQmeSj1IALM4nq58WpIagacgP5MWrAs/0NOg/knuaEeDmnhiB7\n        crzO8xy/89lVq7q/xH8aKNcTDWrAxZjEk5/itBBkR+dffeDZji829BpkILw4JqHPugsacg44gbyM00GQ\n        Hbn+/meRKX64oGH6Ym3Mb5Kx+duZRa7mNBBkR0vH9z2TGuOd/Y2zZ5IrlnS7R/FHB8oNxErd9lmImxuC\n        cpNz1aPPoMb4g2jjXEi8q7jjy4/rt09BINYYMcdYK3xhM5C/A0aDCye7R/Opz6yLJvYeQ1fp9doGGoEa\n        /xd5s6Giz34uum1SjH5zULC/0yUBNSTmjXMcLR3vPp0a/Xe1eQYiL+XNh4o++7f928bD9YVvah97gkFG\n        hsCkOZqe/I4mx6JQA/4HDjNUZOaLddsPgwz71fet6z6BQ5gRDDIKyGtNNZyxdd2nUbxb9XniIldxuKFq\n        euIS/fb9kDnW0QXgibypOcEg9cZkw1m1rvtkinljNEcaHE9+hsMOFt1HOIH8Z932C5H/kYs5lGCQGhPI\n        fzdqjkDcoM2TEteXn+bwg6VM4ssv67afQ15HP/mexJ82LxikrphrOMoc1E6+oc+TFflJTjNYZBL67OXR\n        bV1PfNP5Uvcp/Kl8BIPUEE9cb8ocKg61ka9p8xiCviE+zukGS5nEE+Pztrspd3MowSD1wuRVVd3Y0xX+\n        Gl0ew8zSz7flnHag1FM4uie5kj5/87l+96n853wFg9QIukdQP4f41GaSMod6bKrNkw+xljhQdRVmDiUY\n        pDYYu6r2zDF3pdblyZPyLZYDg9SCbxu7qvaeGokrNDmKYtb15V9yNfYFg1ScQN6iXt7x6cwmMofri3/V\n        5ikWNXv7n3JVdgWDVBn5P8u+vOeX+VRmk3pKFMiv6PNYoRyL5cAgVUV+z1jP3N7PqmEv4+xAbXO9enLF\n        VdoRDFJJblNdzfkUZpbqQKjJYZtNY2unnsMl2hMMUi3UVdWkOUp6/u9e3mofyyXaFQxSKW5XI/j41GUW\n        nfsvaHJYRt7rrhG/wiXaFwxSDeg8bVCzhvBpyyw3EJ/X5bGL3LzMl8dxieUQDFIJ7jb5e1zNW6XJYRl5\n        34or5Qu4xPIIBik7crPJnxyqY6A+j03klsZEeDyXWC7BIOXFCeRPTTYcinlBNEcJ2KYW1uESyycYpJzQ\n        eXnA9adP4NOUWRRvhS6PZbab3MdcBIOUkl1qFVg+RZnlBKKpyWEVdQFoTM6cyCWWVzBI2ZB7HK9zCp+e\n        zFId/yhuQbOoxyQQDzrB1ElcYrkFg5QJs2tZ8BIDBa3DEZtdDb/zm1xi+QWDlAU55bTC1/FpyaxiF6mJ\n        i9xt8tuxEMEgpUBSw/l9PiWZVewyZ3GRu8cC8TIusTqCQaxzsNGSf8inI7Po932BC2XGpcIrPMEgVjnk\n        +OFZfCoyi76Fzi6hOaq9RiAMYg21ZvgH+TRkluN33ltGc1R+lVkYxAqz6gkTn4LMcv3w3RTzUCSHZWqy\n        TjkMUjhGZ+6ghvgOijkTyWEZOeV64eu5xGoLBimWWLMIxpTrybdTzOloDssIt9U5nUusvmCQ4og1WXNM\n        ub54G8Usmzmk63fezCXWQzBIYXyOD3lm0Q35myieiMS3jWy2xBlcYn0EgxSB/Cc+3JmlrtAUU/bnsErY\n        8MVbuMR6CQbJnUlTU9c0vfZpZLa2JodNDjqBPJNLrJ9gkFz5uqkFbFa0pn+3jOZwPflOLrGegkHygW7I\n        /8vUfLnqTTSZY58uj0UOukH4Li6xvoJBcuEHpqYEdVryt8kcj2py2OSQejnJJdZbMIhhAvljUzOQ0LfQ\n        q8kce7V57GG0i0zpBYOYRP7M1NQ1bku8sqTmOIdLHA3BIMbYYWqMtRpxR/F2RuLbpjxLEhQpGMQEcq+p\n        wUBqsgaK+XB/DqscdgP5Z1ziaAkGyYww1TGPzVG2b47Dji//gkscPcEgmThkajQg3di/hOI9FIlvm1nH\n        65zPJY6mYJDUzNKV9c/5MGaSmlmQ4m2NxLdNrKWZay8YJB1uIFbyIcyk5uT0iyne/dH4tjHZLb/SgkGS\n        o1Zk4sOXSRd4079K8X4ejW8bMscnuEQIBkmKvNpE50NnTfgi9d5En8MinvwUlwgpwSAJCOQtq9Z1n8yH\n        LrXUcgZkjp9oc1jE8eRnuEToiGCQ2Nxpon/VeZPi+WSOezTxreIE8q+5RGi+YJA4yM0rxzvP5UOWWmU1\n        h1qOjUuEooJBFiGQj6h3FHy4UksZjMzxI20Oi9AN+Re5REgnGGQo02oUHx+q1HL9/c+iWHdFYluHflZd\n        xiVCgwSDDEStqZG55+rS8X3PpDh3zotbEuRqLhEaJhhkEPKTfIhSi81xR39su9A5v2JJt3sUlwkNEwyi\n        ZZIPT2qpBf8pzu2RuGXgcpgjgWCQPjYuHe8+nQ9PKl042T2avoG+p4ltl0B4pmZYGRnBIPORu1XfKD40\n        qcTm+G99fHu4vvDzNIepMfilEwzyCw5lXeVJvWVvevI7mthWcQJ5ZZ7m4G4z1/E/6yUY5Bc4fEgyqemJ\n        SzSxreEG8t/et677BC7PuNQYfDLHfZRrE/+pXoJBFPJaPhxGRPEu1ecpFseX6+ibw8jEdTpF+pTBIHWE\n        fn78VD1x4sNhTKpLvC5fYXji+qXj3SdxOcbVM0cgfzwvJwxSQ6ZzWz+v2z2Krq7/osmZO64nvul8qfsU\n        rsS4+GdVtE8ZDFI3HD/8Kz4MyRXnXYIyiSfGdblz5EYTXfIHiYcH6wZ5wSB1Qt288iFIJdXJj+JcwP8c\n        KPX0iD43MT93XtC5/Fae3xxOMHUS5dkWzcvAILUhEA+ef/WBZ/MhSCw13T/FUX211I3womO3lUnoOLcW\n        1GCaQN4ytq77NE5pXMtb7ZPVcdPmngMGqQmHsywTNjeOfMGUoLFm/1CPWtX7iHnbmSOQ/5vnizqe6XFH\n        X96FwCC1IBAX864nlnoqRDFu64uppgCKMX+UMgmZ62rN9qlxffn9XM0xIV9FNe/R5Y4Ag1Qd2tcNWW5g\n        qaGs1sVlZuPc9LNJrtFsnxjan/UXTew9hkMbV2/phUA+osutAQapOKH6qcC7nVjNVvgeitG77xhCrDls\n        1TcRHfevabZPwu15vL85ouZE5/fIyPs1eQcBg1QZ1xNjvMuJxX2N4i5FEGsWdPVNRsf+G5rt47Axy0OG\n        xcQPIZIuFAqDVJjb0/ZHUk+g1HJqmpjDiLWORq9zYyBuiGy7GJtMLdCjE8U/hzg0L19cYJCKMkM30Kfw\n        7iaWmitKEzMOsVZi6pnEFzfO224Ydy9vtY/lTY1LPY2jHIcjOeMCg1SROO8pBsn1w1MpRpqr6REONb3w\n        jzncQKn3F/QT7lbN9vOQ96r+T7yJcdFx+oQ+b2xgkApyR9qfVjxk1sS8ubHWEVejGMkEA0YhynvUnFr8\n        UaPqPVUL5Ff0eRMBg1SKQDymFsHk3Uwswy/1YpuEruTfXbitvM/UuodRqW4pFP/ahflSA4NUC3kp72Ji\n        uZ74gD5mJmaopj/iFAO1cMiu3NKYCI/n/2VU6kZfvYGP1JgFGKQyBOLBtC/QlvnyuAQvx5Iimy1xBqca\n        qLnpguQ16vEy/8mo5jodyi2a+rIAg1QFx++8l3cvsajhXKeLaRCZpS9YVvGDh12RmkwAg1SEm3jXEqvp\n        yY9q4uWBcFud0zltYaL7oD+gC0BbU48JYJAKMKN+PvCuJRL30j2giZkTcsrU6rhx1PTD8yivejejqcUI\n        MEjp8cQlvFvJ1BseK27qi5c78oDTCl/HVeQi9RjX9cXf6/MbBQYpN3K3urnl3UokuidYpo9ZBHJ/YyJ8\n        LZdiVOpBBeX4z/6cuQCDlJm048t7q8wGsqOLWQR0/Dc0JmdO5HKMiZ9UFblYDwxSXuQ9aed/ou2/3h+v\n        MCbVy0EuxZgaQfuN6htVky9PYJCy4nry7bw7ieT64bt18Qpg2g3kx7gMo1JxKf7BSL4igEHKiBpyyruS\n        SHN9n8TWaLy8oeP9QB435gXejA8CBikjad8nOIG8TBcvZ27MYyyH6gJPsW+O5CoaGKSE3My7kUhuS7yS\n        ts3SjT0ZgXjM8TufVYOvuARj6o0b98X9fTmLBwYpG44fvoF3I7Z4jqr1ung5sV3dNHN6o6LYHyGSDo3N\n        CxikVATiBt6FRCr0nYcnrs9j7Ljqpk7n7QptTnvAIGUizVV5bjnm2JMvZGGGcPNYC3BuAolSrn0Ig5SI\n        O7j8ROL5dHXxDCLvUfcFnNKo1ApYlCOPnrgmgEHKgnp/weXHlnpbTduqK7s2pgFmyRyrz/W7T+WUxsQz\n        q3yacuTZ2TArMEg5kJvTPA2i7a7SxzPCDtWVnFMZ1dwqTuLbkXxlBAYpBYFcyqXHVtNvv5S2zenqK6/L\n        ayqehi/eQjke7s9ZSmAQ6wSyk2YoLW0b9MXKjGynMWscqbfi6r0J5SnzT6ooMIh1ArGGy44t158+Qb2o\n        08ZLz00qLqcwKjVJA5lvwPQ/pQYGsU2aPkxm+yfJfXl9ayiRkd9KeXb2560EMIhd5I+45Niam9bTVLdv\n        eZXjdZ7HoY1KzfbO66svNnt8mYFBLLPoeoBR0RX5/Zo4SdlG5ngHhzQufoBwRyRnFYFBbJJm1B1tNxmN\n        E5vefYtcnefqTb2xGxZHMxoGBrFIqoNP2z0UiRMTeavq8cthjEuNnVer7OpzVxYYxBauJ/6Gy42t3tMr\n        TazhyHtdT76TQ+QivhFPadxSA4PYYoUnX8Plxpaac0oXS4/8mVo6Le1M8HHUmyg6EP9I+dKuv1F2YBA7\n        yH1pesXG/AbZpGZTVE+ReLNctGKy81u9XP356wQMYolUowaVaNv+GUsC+Qjtc6vptU/jj+Wm3uCsQDQp\n        b9hXR/2AQWzgBuLzXGpiUQN9ouN1zlarJ6mBUmqCtjQdHdNoeat9MpnR5PICZQcGsUHeN82mpQyo3rZT\n        7SK6LzUHBrHBCm/m17nU0qs5IV5ONdfhpV8aYBAb5DHzoGn1fsrNLYKZ54CssgODFE4gO1xmacVTCN3V\n        V/voAYNY4H4us3TqzcwYiIvnuqRoax81YJDikZu5zFLJ8cOzqL7Cpy0tOTCIBR7iMksh7nlrYaGdSgCD\n        FA79fFFjOrhUa+p1LpwbeDXKN+GLAYPYoOGLV3CphUt1QXE90VBv33W1gQXAIJZwudTi1O0epZaSVvdA\n        mnqAHhjEEhu51PzVMwbdgAfih5o6wHBgEFs4gTyTy81FvU6FXudsyvV/0dwgNjCIRbafNymezyUbk5rM\n        2g3ESor/80g+kBwYxCZU54ZlvjyOy84k1w9PpZiXE6PWoTBPYJASsMMNOn/CpSeS6hJC+/oFNXpQExdk\n        BwYpERvVQCQ1Uk83vkOtA6iG6dLnHMeXX6X/7pi3LcgHGKSkqJd3W+mbQS2av42Y5r+DYoFBABgCDALA\n        EGAQAIYAgwAwBBgEgCHAIAAMAQYBYAh3cZOql2AQkB25X82FzE2qXoJBQDbk/jRL41VGMAhID31z+OGp\n        3JTqKRgEpEPuU3MdczOqr2AQkJwRMYcSDAKSIffkuTxd6QSDgPjIPTZnmbEiGATEQ+4eOXMowSBgceRu\n        tbQDN5nREgwCFmHXWCBexs1l9ASDgCHscrzOKdxURlMwCBjAzpE3hxIMAjTsVBNicBMZbcEgYD7UHh4Y\n        Wzv1Em4eEAwCjqDM4QRTJ3HTgJRgEMBshzk0gkEAsb1Ky20XKhhk5NnWmJw5kZsDFBUMMtLAHIsJBhlZ\n        trr+9AncDKBBgkFGEbnFWRO+iJsANEwwyKght4y1whfy6YcWEwwySsj7YI6EgkFGBbm5MREez6cdiisY\n        ZBSAOVILBqk78t4VV8oX8OmGkgoGqTMwR2bBIHVF/sTUqsAjLRiklty9crzzXD7FUBbBILVjE8xhUDBI\n        rdi0vNU+lk8tZEIwSG3YCHPkIBik+tA53DC2duo5fEohk4JBqg3MkbNgkEpzF8yRs2CQakLnbb1z1aPP\n        4NMI5SUYpJLcBnMUJBikWri+/P5FE3uP4dMH5S0YpDrAHBZEB/4cx5frQLlpemL8wsnu0XzaIONasuT/\n        Af0AlhQlEX+DAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"codeInGithubToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"documentationToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6\n        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAEq0lEQVR4Xu3asWucZQDH8SwiQqFe0iqI\n        DgqiuDiom5Ooi7ujCoIOLjo4C07i4NByl4ib/gUO4j8hboU2d62Dq5P/gMZ6pX4hPjR4eU1ynw/8thce\n        8vB+h9zdDgAAAAAAAAAAANthb3Hzud3F8obZRjZffrJ+tS6GRw9uvXj0h/1htpmtvli/WheDQGyzE4jZ\n        YAIxG0wgZoMJxGyw7Qvk59358gezu9tf/njMO/KPbVkgs/3V2+tHYWfn2vLh496T+xMI20wgnUAIgXQC\n        IQTSCYQQSCcQQiCdQAiBdAIhBNIJhBBIJxBCIJ1ACIF0AiEE0gmEEEgnEEIgnUAIgXQCIQTSCYQQSCcQ\n        QiCdQAiBdAIhBNIJhBBIJxBCIJ1ACIF0AiEE0gmEEEgnEEIgnUAIgXQCIQTSCYQQSCcQQiCdQAiBdAIh\n        pgxk7/rNJ3YXh6//n5stVh8c/4f+PYEQUwayO1++f/whZ2cCIQTSCYQQSCcQQiDdVIHMFoef7u4vP9v0\n        /vo/b30EmyCQbqpAji72t+PO/6/bm995ZX0EmyCQTiCEQDqBEGcpkL356p2jZ948ze0tVh8dd/a9CYQ4\n        S4FcXhw+s3701Owd3H75uLPvTSCEQDqBEALpBEIIpBMIIZBOIIRAOoEQAukEQgikEwghkE4ghEA6gRAC\n        6QRCCKQTCCGQTiCEQDqBEALpBEIIpBMIIZBOIIRAuskC2V/OZ4vlt5ve5eu3nl4fwSYIpJsqEM4JgXQC\n        IQTSCYQQSCcQQiCdQAiBdAIhBNIJhBBIJxBCIJ1ACIF0AiEE0k0VyO7B4RuzxeFb9uDb+/rW8+vrm45A\n        uskCOaUfK17srb5cX990BNIJ5CxPIAKxwQQiEBtMIAKxwQQiEBtMIAKxwQSyNYFcura8+tg3dx63B9/V\n        +Y1L6+ubjkC6qQLhnBBIJxBCIJ1ACIF0AiEE0gmEEEgnEEIgnUAIgXQCIQTSTRXI0VnfzRbL7+3Bd/Qy\n        vru+vukIpJsuED81Ofn81EQgNphABGKDCUQgNphABGKDCUQgNphAtigQH/OedEcvo49514+emrMSCOeE\n        QDqBEALpBEIIpBMIIZBOIIRAOoEQAukEQgikmyqQo4v9ZbZY/W4n2Hz1+fr6piOQbsJAfJN+4vkmXSA2\n        mEAEYoMJRCA2mEAEYoMJRCA2mEC2JpDZ/uGHR+d9bA++2fz2q+vrm45AuqkC4ZwQSCcQQiCdQAiBdAIh\n        BNIJhBBIJxBCIJ1ACIF0AiEE0gmEEEgnEEIgnUAIgXQCIQTSCYQQSCcQQiCdQAiBdAIhBNIJhBBIJxBC\n        IJ1ACIF0AiEE0gmEEEgnEEIgnUAIgXQCIQTSCYQQSCcQQiCdQIhtC2Tn658emi1WT/3bnvzq10fWT8IW\n        BgInIRAYEAgMCAQGBAIDAoEBgcCAQGBAIDAgEBgQCAwIBAYEAgMCgQGBwIBAYEAgMCAQGBAIDAgEBgQC\n        AwKBAYHAgEBg4CwFsrd/+7UrB7efNTsr2z1YvnDcu3p/EwZidv4mELPBBGI2mEDMBhOI2WACMRtMIGaD\n        bTCQu58rzw/fM7sou7JYvbR+vQEAAAAAAACAE9jZ+RMqnNK0L+oEBwAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"pictureBox_editHttpFilter.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        YII=\n</value>\n  </data>\n  <data name=\"pictureBox_editRuleMode.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6\n        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH3goaCxoRRzxNbQAABHdJREFU\n        eF7tnc2rdVMcxw/K60QI5TUhfwGZGagHoZDCkH+AsTKgnqQYmBgaPCOUEUqSATEgM1J6vJSRAUbk3fdz\n        Q6t91j33vNx923f/Pp/6DJ519j5Prd/37Je11t17ISIiIiIiIiIiIiIiIiIic+bceEW8WktIran5HjfF\n        V+Pp+K2WkFpTc2q/eDf+rSWl9os/mgatJbXvfqB17Db+Hn/VWUlNe7VeamDDp+KJeJfOQmp5MvZCsNRA\n        WthB5sX9kdoO673UwEakRubFg/G3OKz3UoMBmCcGoDijBeCMyIgS55hb4jlxP86Lt8b74g2Rfffj0nhH\n        vD1eTIPsxGgBeCR+E/nyH+NzkUIPoe3F+FPk/2A48p7Y4/r4Xvwl/hzfiddE2Z5RAnBR/Di2+1Pgm+MQ\n        fvl81m77YeQ7hrwQ2+3wiSjbM0oAroxfxeH+HLqHcNjns3Zb9uU7Ws6Kr8V2O+TocWaU7RglABzWX4/t\n        /l9GDuFDOOdz2G+3PRX/n5ZseCy2YeFUwDWGbM9o1wA3RqYWv44fRAaRehd3tHHO57DPL5/iXxt7nB+f\n        jJ/HzyKH/951hazPaAEACsah/MK9f62Gcz7b9n75LZwKLvtXD/27M2oAZPoYgOJsFIA7o8yLjQJwb+S8\n        e7bOQq6nHo5rBeDPyODOG/FNnYXU8tNIbYf1XmrQWnYbtY7dRq1jt1HruNTAhcL78ZXIEK8ef6nlR3Gt\n        i0BvA+cntVz7NtCBoHniUHBxDEBxDEBxDEBxDEBxDEBxDEBxDEBxDEBxDEBxDEBxDEBxDEBxDEBxDEBx\n        DEBxDEBxDEBxDEBxDEBxDEBxDMBE2eQ5i7tgACZK+5zFH+Kz8aDH52yDAZggPC/pk9j2Pw/b7D1ncVcM\n        wAThDV68xKntf4p0dzxsDMAE2S8A+z1CdxcMwAQxAMUxAMUxAMUxAMUxAMUxAMUxAMW5KjIM3PY/RXIg\n        6BjD8C6/7IPkkfm8Rue72PY/RXo08o7/3n5DL488CvYgDMDIMKvHxA5j+/yqObSvkm0o/vB1rn/F7+M6\n        34FfxKfjBXEVBmBkmNIdHs6PSmr2UFyFARgZ5vN7HXxUvhRXvVnFAIwMizmYzx/251H5eFyFARgZVvKw\n        mIP5fDp6XTnnD2vAdUFv2568WPPtOHz93hADcASwkofFHNzGcS+/Srbhap8Lvrb/Kf4zkRr09ht6W7wk\n        HoQBmCDc6vXGAcbofwMwQbiP51au7X+KxC/7sDEAE8QAFMcAFMcAFMcAFMcAFMcAFMcAFMcAFIfFHMzn\n        t/3P2D7Du4eNAZggrORh3J8+/6//mdhZZ2x/UwzARGElD4s5mM9nSvegWb1tMQATZ9VijsPAABTHABTH\n        ABTHABTHABRnowCciDIvHojUdljvpQYWJZ6MrHMnNXr8pZbPx+FfIeFSA7IhadH52Cs+dhu1jvsmQ+cv\n        tV+81TRoLan94rr4cjwdmZvW+UutqTm134M/aVr3gQR6/KXWYzyQWkREREREREREREREREREpsBi8Q9x\n        76lLAilzEQAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"pb_getSession.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"cb_macthMode.ToolTip\" xml:space=\"preserve\">\n    <value>Methods that match HTTP\nContain     : when the url contain the targer value it will match success\nStartWith   :when the url start with the targer value it will match success\nIs              :when the url is the targer value it will match success\nRegex       :when the url regex  the targer value it will match success\nAllPass      :all url will match success</value>\n  </data>\n  <data name=\"pb_addRequestRule.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_removeRequestRule.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_requestRuleSwitch.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAYAAAAeA21aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO\n        vAAADrwBlbxySQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC42/Ixj3wAABAZJREFUaEPtmttL\n        VEEcx+1CkV0fjIpeIoqCLlCYUFJZBvUHWGpP0lMvvhTUQxFbIF2wtcx1V9d1yZdAfBCKkIrs9tDFoqei\n        hHrJCkyNsItSbp/f+jtx1PW6O3Mk/MKXOWfOzHy/M+ecOTNzJm0KU5hCUqiqqkoPBoPZMMcmq6urt/n9\n        /jlqwx7Ky8sXhEKhYioeIXxE2AtjHrEHD82EJ2iUrFgsNk1tph41NTWrEEIv9MNlwBa/ofuCsB6ehWWc\n        X4XXOW6F8XScd8JAZWXlSrWdPAKBwDwKvQT/OEI2iJ5U2Med3aRWhgXp1sJj5Hmp+X9Df11d3VxNMjEg\n        voKC/rWwDVKJRsINamFckFcAz0Xkb9fyWqUOenl8wEgm/KIF2WDLWO72WBCJRObjPajlto+7XDLnkvGn\n        FmCc6DURpqt8ykC5eVD6rO5wOLxbo0cGrZVDpl9ug4ZZ5fP5pqt8ysHnch0Sn6VOUjeNTgxaaQmJu9SY\n        DTaotFFQ+a1QOvF2OvWlGj0UJLjnMmeUGHrGmGK2ShsHesdV+65GDQSPyiG3QcPsHvFOGAK68RvMq1Ck\n        Uf3gHZzJhTY1Z4M+lbYKnoJM1X83oN/hQqHLnGl2JD1ASQLoN4gPnoIDGhVvgDsug0aJ1imV9QR42Kw+\n        muIRtbW1i4nocwyaJi2/Pi7sIfDxEfZFo9FFcnLQMWeatPp79eAp8HJZ/eTLid8xaIFX1IOn4Iu3V/1c\n        kAa4oSfGSYsfUQ+egunyGvXTKA3Q4jZpkggWqgdPIYs66ueJfAHeDjZqiqOOxS0CP7KS9VoO3jgGTZPG\n        3qH6ngM/3+ErOXjuGDRNOp8C1fcUsl6gnp7KKyDrakPMmiBak7ITLHObNMwK9eApqPg+9VMq38QCl0Gj\n        RHhSDYTgfutD4XA4vFF9eAZuxCe8yMrxwngEB7cdg6aJ+Om4qEfgid+iPvonQwIirM0H4KSYDtMA+RrV\n        vyBCxAeXSdM8o9JWgW58KgzbhizEWl4SkyX3ZSptDWgmXhJzwFPwQA0aJ1rNJpfDBwPNEtVOvCgqkIVK\n        jHU6Ji3wvEobBTpOH9c16mIsiXbRCNZ+jAz7OKYI1CUPnV6pE5/g7Ro9MugP9pDB5m/wivr6+lkqnzJQ\n        7lEoY5xu6pOr0WMDdyaLjB0wkWETfIzJ1SqfFCgrA0a03PH/HHUgGw0owNp0GcocvXSi4wTyZtCI5whl\n        qivlTfz3uANngwSFWRsuQ/mZeZFXcSevxgy1khBUcDlpD5PnJuzR/KnZIOGGPg0h6Gw+sMWvVPAW4TXC\n        AGEJYZTwIaGM6d1p5V1P7RaZwdBdGFkInYT3EfV6k5Rs1JINW8Wy0KE27QFxT7bJwWxPtslN4b9CWtpf\n        q08OrPrJSeMAAAAASUVORK5CYII=\n</value>\n  </data>\n  <metadata name=\"contextMenu_ruleList.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>542, 21</value>\n  </metadata>\n  <data name=\"removeSelectedRuleToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"removeAllRuleToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"enableThisRuleToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        AElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"enableAllRuleToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        AElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"unableAllRuleToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"editThisRuleToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAABilJREFUeF7t\n        mVloHVUYx5O478VIwOJSN7CIa6CKvsSFYKTJTe4lKhQsCIKFIOKLG8XlpQVxgUIfKtIihWAl0OKLxVAV\n        CiFYCvVFMKWJVqoNaaOxDdq6/b7jN+HMWe6NIDmTy/zhz9z5zv9M/t/MOWe+M2kpUaJEiRIllg+q1er1\n        AwMDe/r7+3/i+Dc8w++9HB9VSfNCk/9BEw/xHWSt/6qbDLVa7UYSrJd8xpHOzs7ztFvzgMR2OYnW477u\n        7u5LtGtzYHBw8CJJzEk0StaFgxzbtfvyAwlfSRLbSaJDQy0ytDkfyZJsRPpPVCqVa7X78gGL3TWYP6xJ\n        TDpJtBLfZifagMd6e3tv1b7FB2Zvw/SPbhJ9fX03q8SAG/Omo4kS7Szs1K7FBkY/jCQxw0i4XWUGxIbg\n        XyF9gMd6enou167FRVdX17mYDc5zkp1jJDygUgPiTxI/62pDRPe2disWMNbjvLtbie2IJPEb7FadgZxL\n        PKR3OI28WIUSxofEHMdRedVp2IDYFicBQ+LyxKsqM5CRQXzO1bos1DTA0CbH4JhrkKRedjSGxGXur1eZ\n        gawRxI7bOpv0mUFWiBEQHOLE5Ml6mxpiz2jCOb2Q+JDKDDhfRfyoqxPS9p7K0iFWzGDOm9s20NRb7Dar\n        zIA64mpi3ziaL90ptuSIlbMkdiqwuncwpO/XUwO5QXKj3P5C4juQLAxvzlfAcW0fTr5BcgzZxmdI/m6V\n        GUjlR3wSSrJrNWygi90p9zrKEXmNqtTccLS5KZIEkSEp9Co8KVslbmn+hLnFTm4Yic1amgUS38tCeoFK\n        0wNDwUWJuFvjN0pso8oM9EbFVvz9hdgOx15LJPM1x4VdnoDkHyQeG9rS53WVLoDYKjgZ0J5m1N2jsjTA\n        xBroFSbExkn2MpUZEF8Lz9g6m/SJzmPaO6A9vabR36XNaYCBbozMW6Yy7nNfRcTWQ5nnrlYS94odASPr\n        Efs66GSBlQ8gU/LdUMNpgIkqZkLva+9bHTpTBoeo18iVuwJi66DcsDF7nnNDLmVduEpP0wBTwYqNWO4d\n        LSDulsG2PlgUEXvevj6/DxSmtsfMRjsJy+QWlWSI7vSEtHlFkYD4axH9dpUkQ71PVC+pxqDRNz2SmZVX\n        ocozyA3bGtF/xdC/QnVLD/14MRww5i1esmgRq/dVN/Ttro34TkeXcTd//0LVLT2k2iJR+ZdUzhgxb/Ei\n        FiyDM9LmFUU6Wna7WuUwN/QclS495D2Oif2OKeE8yeQWrzplcEZpyxVFMlq4zqijMyQucz7dnh4T7ZiQ\n        Ss41NgfXqMyA8+jeXEj7QbhC5QayqtM25mqV25CkS153aRMBY8el7FWZQawMtujV68Ta4SFLY/MNlaVB\n        YJeW8ag8aZUZcB4sgzPS5u3YmFYrafs2oJU1xasGlxQYuBMj3i6N2ITMcZUZEIuVwRlze3ZBrVa7hX7f\n        B7TempIEGPEWMYx5/3zkPFYGZ/TmME/+DvrMBLQ/E8+tKUmAkdWOMWFo/kY/XCo3qXQBjJ776PNLQPsr\n        a8i9KksLjLxim8PwSbcAIf6qrXFJH287S+xh2kJTpTjJCzB6wDG4U5sEUqYG/3khpC24nSVWgaH9/wn6\n        pN3L29AiJmcSgzVtlkRecNszomu0nXX7TNHnJpUVA5h6zjE5z+vwYm02kD048QrmP8t0/I5tZzfA0Drh\n        VYOFAGY/t41y/pE2eaBN5rRoYtvZ2HZ5HOaqwUIAc1Ly5p4Wi9MT2uyBNqkSQ9tZSf5d+zoZiX+SdEdX\n        Dxh82jH8R6MnJe90/ZmhjT4fONcxJL6V9nR1fSPI03EMj2rTotBgO/uWyooJ/Xjxu22aG7DofzHJQik3\n        zO6fkanyosqKC8w/HjD/kDaH0CZVHZpn6fup0y+jFD0V1RcbGA195jrCk71OJa38voH4IJRPVicyXYj0\n        PQvTb2oWA4b/+ZgO7uZI4iTHjzmG6vcYpwpV2jYCZh8LJPGfqDdoD1xX2NdcDJh+P0tksdSEv+C4geNq\n        LlPc11s9yNMiieh/aG2i+47jZo7p9+z/F+TdTUKn3WSV03AXxY5gpXZpPpDkU1C2qrJjM8NaPllpc4kS\n        JUqUKNE0aGn5ByjCDktfUtHbAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"pb_addResponseRule.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_removeResponseRule.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_responseRuleSwitch.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAYAAAAeA21aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO\n        vAAADrwBlbxySQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC42/Ixj3wAABAZJREFUaEPtmttL\n        VEEcx+1CkV0fjIpeIoqCLlCYUFJZBvUHWGpP0lMvvhTUQxFbIF2wtcx1V9d1yZdAfBCKkIrs9tDFoqei\n        hHrJCkyNsItSbp/f+jtx1PW6O3Mk/MKXOWfOzHy/M+ecOTNzJm0KU5hCUqiqqkoPBoPZMMcmq6urt/n9\n        /jlqwx7Ky8sXhEKhYioeIXxE2AtjHrEHD82EJ2iUrFgsNk1tph41NTWrEEIv9MNlwBa/ofuCsB6ehWWc\n        X4XXOW6F8XScd8JAZWXlSrWdPAKBwDwKvQT/OEI2iJ5U2Med3aRWhgXp1sJj5Hmp+X9Df11d3VxNMjEg\n        voKC/rWwDVKJRsINamFckFcAz0Xkb9fyWqUOenl8wEgm/KIF2WDLWO72WBCJRObjPajlto+7XDLnkvGn\n        FmCc6DURpqt8ykC5eVD6rO5wOLxbo0cGrZVDpl9ug4ZZ5fP5pqt8ysHnch0Sn6VOUjeNTgxaaQmJu9SY\n        DTaotFFQ+a1QOvF2OvWlGj0UJLjnMmeUGHrGmGK2ShsHesdV+65GDQSPyiG3QcPsHvFOGAK68RvMq1Ck\n        Uf3gHZzJhTY1Z4M+lbYKnoJM1X83oN/hQqHLnGl2JD1ASQLoN4gPnoIDGhVvgDsug0aJ1imV9QR42Kw+\n        muIRtbW1i4nocwyaJi2/Pi7sIfDxEfZFo9FFcnLQMWeatPp79eAp8HJZ/eTLid8xaIFX1IOn4Iu3V/1c\n        kAa4oSfGSYsfUQ+egunyGvXTKA3Q4jZpkggWqgdPIYs66ueJfAHeDjZqiqOOxS0CP7KS9VoO3jgGTZPG\n        3qH6ngM/3+ErOXjuGDRNOp8C1fcUsl6gnp7KKyDrakPMmiBak7ITLHObNMwK9eApqPg+9VMq38QCl0Gj\n        RHhSDYTgfutD4XA4vFF9eAZuxCe8yMrxwngEB7cdg6aJ+Om4qEfgid+iPvonQwIirM0H4KSYDtMA+RrV\n        vyBCxAeXSdM8o9JWgW58KgzbhizEWl4SkyX3ZSptDWgmXhJzwFPwQA0aJ1rNJpfDBwPNEtVOvCgqkIVK\n        jHU6Ji3wvEobBTpOH9c16mIsiXbRCNZ+jAz7OKYI1CUPnV6pE5/g7Ro9MugP9pDB5m/wivr6+lkqnzJQ\n        7lEoY5xu6pOr0WMDdyaLjB0wkWETfIzJ1SqfFCgrA0a03PH/HHUgGw0owNp0GcocvXSi4wTyZtCI5whl\n        qivlTfz3uANngwSFWRsuQ/mZeZFXcSevxgy1khBUcDlpD5PnJuzR/KnZIOGGPg0h6Gw+sMWvVPAW4TXC\n        AGEJYZTwIaGM6d1p5V1P7RaZwdBdGFkInYT3EfV6k5Rs1JINW8Wy0KE27QFxT7bJwWxPtslN4b9CWtpf\n        q08OrPrJSeMAAAAASUVORK5CYII=\n</value>\n  </data>\n  <metadata name=\"contextMenuStrip_addParameter.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>720, 21</value>\n  </metadata>\n  <data name=\"currentValueToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"nextValueToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/FreeHttpWindowFunction.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.IO;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.FiddlerHelper;\nusing FreeHttp.MyHelper;\nusing FreeHttp.AutoTest.ParameterizationPick;\nusing static FreeHttp.WebService.RemoteRuleService;\nusing FreeHttp.WebService.DataModel;\nusing FreeHttp.WebService;\nusing FreeHttp.AutoTest.RunTimeStaticData;\n\n/*******************************************************************************\n* Copyright (c) 2018 lulianqi\n* All rights reserved.\n* \n* 文件名称: \n* 内容摘要: mycllq@hotmail.com\n* \n* 历史记录:\n* 日\t  期:   20181103           创建人: lulianqi [mycllq@hotmail.com]\n* 描    述: 创建\n*\n* 历史记录:\n* 日\t  期:                      修改:  \n* 描    述: \n*******************************************************************************/\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class FreeHttpWindow : UserControl\n    {\n        #region Inner Function\n        /// <summary>\n        /// load history rule list\n        /// </summary>\n        /// <param name=\"yourRuleCollecttion\">RuleCollecttion</param>\n        private void LoadFiddlerModificHttpRuleCollection(FiddlerModificHttpRuleCollection yourRuleCollecttion)\n        {\n            if (yourRuleCollecttion != null)\n            {\n                DelRuleFromListView(lv_requestRuleList, null);\n                DelRuleFromListView(lv_responseRuleList, null);\n                if (yourRuleCollecttion.RequestRuleList != null)\n                {\n                    foreach (var tempRule in yourRuleCollecttion.RequestRuleList)\n                    {\n                        //tempRule.HttpFilter = new FiddlerHttpFilter(tempRule.UriMatch);\n                        AddRuleToListView(lv_requestRuleList, tempRule, false);\n                    }\n                }\n                if (yourRuleCollecttion.ResponseRuleList != null)\n                {\n                    foreach (var tempRule in yourRuleCollecttion.ResponseRuleList)\n                    {\n                        //tempRule.HttpFilter = new FiddlerHttpFilter(tempRule.UriMatch);\n                        AddRuleToListView(lv_responseRuleList, tempRule, false);\n                    }\n                }\n            }\n        }\n\n        #region Refresh RuleList for FiddlerResponseChangeList/FiddlerRequestChangeList\n        /// <summary>\n        /// Refresh RuleList by ListView（更新FiddlerChangeList规则缓存列表）\n        /// </summary>\n        /// <param name=\"yourRuleListView\">ListView</param>\n        private void RefreshFiddlerRuleList(ListView yourRuleListView)\n        {\n            if (yourRuleListView == lv_requestRuleList)\n            {\n                RefreshFiddlerRequestChangeList();\n            }\n            else if (yourRuleListView == lv_responseRuleList)\n            {\n                RefreshFiddlerResponseChangeList();\n            }\n            else\n            {\n                throw new Exception(\"ListView is Illegal\");\n            }\n\n            //Refresh RuleInfoWindow (弹出式详情)\n            if (nowRuleInfoWindowList != null && nowRuleInfoWindowList.Count > 0)\n            {\n                foreach (var infoWindow in nowRuleInfoWindowList)\n                {\n                    if (!infoWindow.IsDisposed)\n                    {\n                        infoWindow.RefreshRuleInfo();\n                    }\n                }\n            }\n        }\n\n        /// <summary>\n        /// Refresh FiddlerRequestChange list\n        /// </summary>\n        private void RefreshFiddlerRequestChangeList()\n        {\n            List<FiddlerRequestChange> requestList = null;\n            if (RequestRuleListView != null)\n            {\n                requestList = new List<FiddlerRequestChange>();\n                if (RequestRuleListView.Groups == null || RequestRuleListView.Groups.Count == 0)\n                {\n                    foreach (ListViewItem tempItem in RequestRuleListView.Items)\n                    {\n                        requestList.Add((FiddlerRequestChange)tempItem.Tag);\n                    }\n                }\n                else\n                {\n                    foreach (ListViewItem tempItem in RequestRuleListView.Items)\n                    {\n                        if (tempItem.Group == null)\n                        {\n                            requestList.Add((FiddlerRequestChange)tempItem.Tag);\n                        }\n                    }\n                    foreach (ListViewGroup listViewGroup in RequestRuleListView.Groups)\n                    {\n                        foreach (ListViewItem tempItem in listViewGroup.Items)\n                        {\n                            requestList.Add((FiddlerRequestChange)tempItem.Tag);\n                        }\n                    }\n                }\n            }\n            FiddlerRequestChangeList = requestList;\n        }\n\n        /// <summary>\n        /// Refresh FiddlerResponseChange list\n        /// </summary>\n        private void RefreshFiddlerResponseChangeList()\n        {\n            List<FiddlerResponseChange> responseList = null;\n            if (ResponseRuleListView != null)\n            {\n                responseList = new List<FiddlerResponseChange>();\n                if (ResponseRuleListView.Groups == null || ResponseRuleListView.Groups.Count == 0)\n                {\n                    foreach (ListViewItem tempItem in ResponseRuleListView.Items)\n                    {\n                        responseList.Add((FiddlerResponseChange)tempItem.Tag);\n                    }\n                }\n                else\n                {\n                    foreach (ListViewItem tempItem in ResponseRuleListView.Items)\n                    {\n                        if (tempItem.Group == null)\n                        {\n                            responseList.Add((FiddlerResponseChange)tempItem.Tag);\n                        }\n                    }\n                    foreach (ListViewGroup listViewGroup in ResponseRuleListView.Groups)\n                    {\n                        foreach (ListViewItem tempItem in listViewGroup.Items)\n                        {\n                            responseList.Add((FiddlerResponseChange)tempItem.Tag);\n                        }\n                    }\n                }\n            }\n            FiddlerResponseChangeList = responseList;\n        }\n        #endregion\n\n        private void DelRuleFromListView(ListView yourListViews,ListViewItem yourItem)\n        {\n            if (yourItem == null)\n            {\n                yourListViews.Items.Clear();\n            }\n            else\n            {\n                yourListViews.Items.Remove(yourItem);\n            }\n            RefreshFiddlerRuleList(yourListViews);\n        }\n\n        private void AddRuleToListView(ListView yourListViews, IFiddlerHttpTamper yourHttpTamper, bool isMark)\n        {\n            //TamperProtocalType tempProtocolMode;\n            //if (!Enum.TryParse<TamperProtocalType>(yourHttpTamper.TamperProtocol, out tempProtocolMode))\n            //{\n            //    tempProtocolMode = TamperProtocalType.Http;\n            //    //throw new Exception(\"unkonw protocol\");\n            //}\n            int tempListViewItemImageIndex = yourHttpTamper.TamperProtocol == TamperProtocalType.WebSocket ? 4 : yourHttpTamper.IsRawReplace ? 1 : 0;           \n            ListViewItem nowRuleItem = new ListViewItem(new string[] { (yourListViews.Items.Count + 1).ToString(), yourHttpTamper.HttpFilter?.GetShowTitle() ?? \"\" }, tempListViewItemImageIndex);\n            nowRuleItem.Tag = yourHttpTamper;\n            nowRuleItem.ToolTipText = yourHttpTamper.HttpFilter.ToString();\n            nowRuleItem.Checked = yourHttpTamper.IsEnable;\n            yourListViews.Items.Add(nowRuleItem);\n            AdjustRuleListViewIndex(yourListViews);\n            RefreshFiddlerRuleList(yourListViews);\n            if (isMark)\n            {\n                MarkRuleItem(nowRuleItem);\n                PutWarn(string.Format(\"Add {0} {1}\", yourListViews.Columns[1].Text, nowRuleItem.SubItems[0].Text));\n                yourListViews.EnsureVisible(nowRuleItem.Index);\n            }\n        }\n\n        private void UpdataRuleToListView(ListViewItem yourListViewItem, IFiddlerHttpTamper yourHttpTamper, bool isMark)\n        {\n            yourListViewItem.Tag = yourHttpTamper;\n            yourListViewItem.SubItems[1].Text = yourHttpTamper.HttpFilter?.GetShowTitle() ?? \"\"; \n            yourListViewItem.ImageIndex = yourHttpTamper.TamperProtocol == TamperProtocalType.WebSocket ? 4 : yourHttpTamper.IsRawReplace ? 1 : 0;\n            yourListViewItem.ToolTipText = yourHttpTamper.HttpFilter.ToString();\n            yourListViewItem.Checked = yourHttpTamper.IsEnable;\n            RefreshFiddlerRuleList(yourListViewItem.ListView);\n            if (isMark)\n            {\n                MarkRuleItem(yourListViewItem);\n                PutWarn(string.Format(\"Updata {0} {1}\", yourListViewItem.ListView.Columns[1].Text, yourListViewItem.SubItems[0].Text));\n            }\n        }\n\n        private void SyncEnableSateToIFiddlerHttpTamper(ListViewItem yourListViewItem, IFiddlerHttpTamper yourHttpTamper)\n        {\n            if (yourListViewItem != null && yourHttpTamper != null)\n            {\n                yourHttpTamper.IsEnable = yourListViewItem.Checked;\n            }\n        }\n\n        private bool IsRequestReplaceRawMode\n        {\n            get { return !panel_requestReplace_startLine.Visible; }\n        }\n\n        private void ChangeNowRuleMode(RuleEditMode editMode,TamperProtocalType protocolMode, string mes, ListViewItem yourListViewItem, bool isSilentChange = false)\n        {\n            switch (editMode)\n            {\n                case RuleEditMode.NewRuleMode:  // new rule\n                    lb_editRuleMode.Text = (mes == null ? \"New Mode\" : mes);\n                    pictureBox_editRuleMode.Image = FreeHttp.Resources.MyResource.add_mode;\n                    this.toolTip_forMainWindow.SetToolTip(this.pictureBox_editRuleMode, \"new a rule\");\n                    if (EditListViewItem != null && !isSilentChange)\n                    {\n                        MarkRuleOutEdit(EditListViewItem);\n                    }\n                    EditListViewItem = null;\n                    pictureBox_editHttpFilter.Tag = null;\n                    pictureBox_editHttpFilter.Image = Resources.MyResource.filter_off;\n                    pb_pickRule.Tag = null;\n                    pb_pickRule.Image = Resources.MyResource.pick_off;\n                    NowEditMode = editMode;\n                    break;\n                case RuleEditMode.EditRequsetRule:  //edit request\n                    lb_editRuleMode.Text = (mes == null ? \"Edit Mode\" : mes);\n                    if (EditListViewItem != null && !isSilentChange)\n                    {\n                        MarkRuleOutEdit(EditListViewItem);\n                    }\n                    EditListViewItem = yourListViewItem;\n                    if (!isSilentChange)\n                    {\n                        MarkRuleInEdit(EditListViewItem);\n                    }\n                    pictureBox_editRuleMode.Image = FreeHttp.Resources.MyResource.edit_mode;\n                    this.toolTip_forMainWindow.SetToolTip(this.pictureBox_editRuleMode, \"save change for your requst rule\");\n                    NowEditMode = editMode;\n                    break;\n                case RuleEditMode.EditResponseRule:  //edit response\n                    lb_editRuleMode.Text = (mes == null ? \"Edit Mode\" : mes);\n                    if (EditListViewItem != null && !isSilentChange)\n                    {\n                        MarkRuleOutEdit(EditListViewItem);\n                    }\n                    EditListViewItem = yourListViewItem;\n                    if(!isSilentChange)\n                    {\n                        MarkRuleInEdit(EditListViewItem);\n                    }\n                    pictureBox_editRuleMode.Image = FreeHttp.Resources.MyResource.edit_mode;\n                    this.toolTip_forMainWindow.SetToolTip(this.pictureBox_editRuleMode, \"save change for your response rule\");\n                    NowEditMode = editMode;\n                    break;\n                default:\n                    throw new Exception(\"get not support mode\");\n                //break;\n            }\n            ChangeProtocalRuleMode(protocolMode);\n            ClearModificInfo();\n            if (editMode == RuleEditMode.EditRequsetRule && (tabControl_Modific.SelectedTab == tabPage_responseModific || tabControl_Modific.SelectedTab == tabPage_responseReplace)) tabControl_Modific.SelectedTab = tabPage_requestModific; //tabControl_Modific.SelectedIndex = 0;\n            if (editMode == RuleEditMode.EditResponseRule &&(tabControl_Modific.SelectedTab == tabPage_requestModific || tabControl_Modific.SelectedTab == tabPage_requestReplace)) tabControl_Modific.SelectedTab = tabPage_responseModific; //tabControl_Modific.SelectedIndex = 2;\n\n        }\n\n        private void ChangeProtocalRuleMode(TamperProtocalType protocolMode)\n        {\n            if (NowProtocalMode != protocolMode)\n            {\n\n                switch (protocolMode)\n                {\n                    case TamperProtocalType.Http:\n                        groupBox_bodyModific.Text = \"Body Modific\";\n                        groupBox_responseBodyModific.Text = \"Body Modific\";\n                        tabPage_requestModific.Text = \"Request Modific\";\n                        tabPage_responseModific.Text = \"Response Modific\";\n                        //add Controls\n                        tabPage_requestModific.Controls.Add(splitContainer_requestModific);\n                        tabPage_requestModific.Controls.Add(groupBox_uriModific);//DockStyle.Top需要后加，不然会盖住住DockStyle.Fill\n                        splitContainer_requestModific.Panel2.Controls.Add(groupBox_bodyModific);\n                        tabPage_responseModific.Controls.Add(splitContainer_responseModific);\n                        splitContainer_responseModific.Panel2.Controls.Add(groupBox_responseBodyModific);\n\n                        groupBox_uriModific.Enabled = true;\n                        groupBox_headsModific.Enabled = true;\n                        groupBox_reponseHeadModific.Enabled = true;\n                        quickRuleToolStripMenuItem.Enabled = true;\n                        pb_protocolSwitch.SwitchState = true;\n                        tabControl_Modific.Controls.Clear();\n                        tabControl_Modific.Controls.AddRange(new Control[] { tabPage_requestModific,tabPage_requestReplace,tabPage_responseModific ,tabPage_responseReplace});\n                        break;\n                    case TamperProtocalType.WebSocket:\n                        groupBox_bodyModific.Text = \"Payload Modific\";\n                        groupBox_responseBodyModific.Text = \"Payload Modific\";\n                        tabPage_requestModific.Text = \"Websocket Send Modific\";\n                        tabPage_responseModific.Text = \"Websocket Receive Modific\";\n                        //Remove Controls\n                        tabPage_requestModific.Controls.Remove(groupBox_uriModific);\n                        tabPage_requestModific.Controls.Remove(splitContainer_requestModific);\n                        tabPage_requestModific.Controls.Add(groupBox_bodyModific);\n                        tabPage_responseModific.Controls.Remove(splitContainer_responseModific);\n                        tabPage_responseModific.Controls.Add(groupBox_responseBodyModific);\n                        groupBox_uriModific.Enabled = false;\n                        groupBox_headsModific.Enabled = false;\n                        groupBox_reponseHeadModific.Enabled = false;\n                        quickRuleToolStripMenuItem.Enabled = false;\n                        pb_protocolSwitch.SwitchState = false;\n                        //if (tabControl_Modific.SelectedTab == tabPage_requestReplace || tabControl_Modific.SelectedTab == tabPage_responseReplace) tabControl_Modific.SelectedTab = tabPage_requestModific;//tabControl_Modific.SelectedIndex = 0;\n                        tabControl_Modific.Controls.Clear();\n                        tabControl_Modific.Controls.AddRange(new Control[] { tabPage_requestModific, tabPage_responseModific });\n                        break;\n                    default:\n                        PutError(\"unknow RuleProtocolMode\");\n                        break;\n                }\n                NowProtocalMode = protocolMode;\n            }\n        }\n\n        #region MarkControl\n        private static void MarkControl(Control yourControl, Color yourColor, int yourShowTick)\n        {\n            MyGlobalHelper.markControlService.MarkControl(yourControl, yourColor, yourShowTick);\n        }\n\n        private static void MarkRuleItem(ListViewItem yourItem, Color yourColor, int yourShowTick)\n        {\n            MyGlobalHelper.markControlService.MarkControl(yourItem, yourColor, yourShowTick);\n        }\n\n        public static void MarkRuleItem(ListViewItem yourItem)\n        {\n            MarkRuleItem(yourItem, Color.PowderBlue, 5);\n        }\n\n        public static void MarkMatchRule(ListViewItem yourItem)\n        {\n            MarkRuleItem(yourItem, Color.Khaki, 3);\n        }\n\n        public static void MarkTipControl(Control yourControl)\n        {\n            MarkControl(yourControl, Color.Aquamarine, 2);\n        }\n\n        public static void MarkWarnControl(Control yourControl)\n        {\n            MarkControl(yourControl, Color.Plum, 2);\n        }\n\n        public ListViewItem FindListViewItemFromRule(IFiddlerHttpTamper yourRule)\n        {\n            ListViewItem markItem = null;\n            if (yourRule is FiddlerRequestChange)\n            {\n                foreach (ListViewItem tempItem in RequestRuleListView.Items)\n                {\n                    if (yourRule == tempItem.Tag)\n                    {\n                        markItem = tempItem;\n                        break;\n                    }\n                }\n            }\n            else if (yourRule is FiddlerResponseChange)\n            {\n                foreach (ListViewItem tempItem in ResponseRuleListView.Items)\n                {\n                    if (yourRule == tempItem.Tag)\n                    {\n                        markItem = tempItem;\n                        break;\n                    }\n                }\n            }\n            else\n            {\n                throw new Exception(\"unknow IFiddlerHttpTamper\");\n            }\n            if (markItem == null)\n            {\n                throw new Exception(\"can not find ListViewItem\");\n            }\n            return markItem;\n        }\n\n        private void MarkRuleInEdit(ListViewItem yourItem)\n        {\n            MyGlobalHelper.markControlService.SetColor(yourItem, Color.Pink);\n            MyGlobalHelper.markControlService.MarkControl(lb_editRuleMode, Color.Pink, 2);\n        }\n\n        private void MarkRuleOutEdit(ListViewItem yourItem)\n        {\n            MyGlobalHelper.markControlService.SetColor(yourItem, Color.Transparent);\n        } \n        #endregion\n\n        private FiddlerUriMatch GetUriMatch()\n        {\n            FiddlerUriMatchMode matchMode = FiddlerUriMatchMode.AllPass;\n            if (!Enum.TryParse<FiddlerUriMatchMode>(cb_macthMode.Text, out matchMode))\n            {\n                throw new Exception(\"get error FiddlerUriMatchMode\");\n            }\n            if (matchMode != FiddlerUriMatchMode.AllPass && tb_urlFilter.Text == \"\")\n            {\n                return null;\n            }\n            return new FiddlerUriMatch(matchMode, tb_urlFilter.Text);\n        }\n\n        private FiddlerHttpFilter GetHttpFilter()\n        {\n            if(pictureBox_editHttpFilter.Tag==null)\n            {\n                return new FiddlerHttpFilter(GetUriMatch());\n            }\n            else\n            {\n                FiddlerHttpFilter returnFiddlerHttpFilter = pictureBox_editHttpFilter.Tag as FiddlerHttpFilter;\n                if(returnFiddlerHttpFilter==null)\n                {\n                    throw new Exception(\"get error in FiddlerHttpFilter\");\n                }\n                returnFiddlerHttpFilter.UriMatch = GetUriMatch();\n                return returnFiddlerHttpFilter;\n            }\n        }\n\n        private int GetResponseLatency()\n        {\n            return lbl_ResponseLatency.GetLatency();\n        }\n\n        private List<ParameterPick> GetParameterPick()\n        {\n            if(pb_pickRule.Tag!=null && pb_pickRule.Tag is List<ParameterPick>)\n            {\n                return ((List<ParameterPick>)pb_pickRule.Tag).Count > 0 ? (List<ParameterPick>)pb_pickRule.Tag : null;\n            }\n            return null;\n        }\n\n        private void SetUriMatch(FiddlerUriMatch fiddlerUriMatch)\n        {\n            if (fiddlerUriMatch != null)\n            {\n                cb_macthMode.Text = fiddlerUriMatch.MatchMode.ToString();\n                tb_urlFilter.Text = string.IsNullOrEmpty(fiddlerUriMatch.MatchUri) ? \"\" : fiddlerUriMatch.MatchUri;\n            }\n        }\n\n        private void SetHttpMatch(FiddlerHttpFilter fiddlerHttpFilter)\n        {\n            if (fiddlerHttpFilter != null)\n            {\n                SetUriMatch(fiddlerHttpFilter.UriMatch);\n                pictureBox_editHttpFilter.Tag = fiddlerHttpFilter;\n                if(fiddlerHttpFilter.HeadMatch!=null || fiddlerHttpFilter.BodyMatch!=null)\n                {\n                    pictureBox_editHttpFilter.Image = Resources.MyResource.filter_on;\n                }\n                else\n                {\n                    pictureBox_editHttpFilter.Image = Resources.MyResource.filter_off;\n                }\n            }\n        }\n\n        private void SetHttpParameterPick(List<ParameterPick> yourParameterPickList)\n        {\n            pb_pickRule.Tag = yourParameterPickList;\n            if (yourParameterPickList != null && yourParameterPickList.Count > 0)\n            {\n                pb_pickRule.Image = Resources.MyResource.pick_on;\n            }\n            else\n            {\n                pb_pickRule.Image = Resources.MyResource.pick_off;\n            }\n        }\n\n        private void ChangeSetResponseLatencyMode(int yourLatency)\n        {\n            if (yourLatency < 0)\n            {\n                lbl_ResponseLatency.Text = \"\";\n                lbl_ResponseLatency.Visible = false;\n                pb_responseLatency.Image = Resources.MyResource.naozhong_off;\n                pb_responseLatency.Visible = true;\n                isSetResponseLatencyEable = false;\n            }\n            else if (yourLatency == 0)\n            {\n                lbl_ResponseLatency.Text = \"\";\n                lbl_ResponseLatency.Visible = false;\n                pb_responseLatency.Image = Resources.MyResource.naozhong_on;\n                pb_responseLatency.Visible = true;\n                isSetResponseLatencyEable = true;\n            }\n            else\n            {\n                lbl_ResponseLatency.SetLatency(yourLatency);\n                if (lbl_ResponseLatency.Width <= pb_responseLatency.Width)\n                {\n                    lbl_ResponseLatency.Location = new Point(pb_responseLatency.Location.X, lbl_ResponseLatency.Location.Y);\n                }\n                else\n                {\n                    lbl_ResponseLatency.Location = new Point(pb_responseLatency.Location.X - (lbl_ResponseLatency.Width - pb_responseLatency.Width), lbl_ResponseLatency.Location.Y);\n                }\n                lbl_ResponseLatency.Visible = true;\n                pb_responseLatency.Visible = false;\n                isSetResponseLatencyEable = true;\n            }\n        }\n\n        private void SetResponseLatency(int yourLatency)\n        {\n            ChangeSetResponseLatencyMode(yourLatency);\n        }\n        private FiddlerRequestChange GetRequestModificInfo()\n        {\n            FiddlerRequestChange requsetChange = new FiddlerRequestChange();\n            requsetChange.TamperProtocol = NowProtocalMode;\n            requsetChange.HttpRawRequest = null;\n            //requsetChange.ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(StaticDataCollection);\n            requsetChange.HttpFilter = GetHttpFilter();\n            requsetChange.ParameterPickList = GetParameterPick();\n            requsetChange.UriModific = new ParameterContentModific(tb_requestModific_uriModificKey.Text, tb_requestModific_uriModificValue.Text);\n            if (requestRemoveHeads.ListDataView.Items.Count > 0)\n            {\n                requsetChange.HeadDelList = new List<string>();\n                foreach (ListViewItem tempRequestRemoveHead in requestRemoveHeads.ListDataView.Items)\n                {\n                    requsetChange.HeadDelList.Add(tempRequestRemoveHead.Text);\n                }\n            }\n            if (requestAddHeads.ListDataView.Items.Count > 0)\n            {\n                requsetChange.HeadAddList = new List<string>();\n                foreach (ListViewItem tempRequestAddHead in requestAddHeads.ListDataView.Items)\n                {\n                    requsetChange.HeadAddList.Add(tempRequestAddHead.Text);\n                }\n            }\n            requsetChange.BodyModific = new ParameterContentModific(tb_requestModific_body.Text, rtb_requestModific_body.Text);\n            requsetChange.SetHasParameter(pb_parameterSwitch.SwitchState, StaticDataCollection);\n            return requsetChange;\n        }\n\n        private FiddlerRequestChange GetRequestReplaceInfo()\n        {\n            FiddlerRequestChange requsetReplace = new FiddlerRequestChange();\n            requsetReplace.TamperProtocol = NowProtocalMode;\n            requsetReplace.HttpFilter = GetHttpFilter();\n            requsetReplace.ParameterPickList = GetParameterPick();\n            if (IsRequestReplaceRawMode)\n            {\n                requsetReplace.HttpRawRequest = ParameterHttpRequest.GetHttpRequest(rtb_requestRaw.Text.Replace(\"\\n\", \"\\r\\n\"), pb_parameterSwitch.SwitchState, StaticDataCollection);\n            }\n            else\n            {\n                requsetReplace.HttpRawRequest = new ParameterHttpRequest();\n                //requsetReplace.HttpRawRequest.RequestMethod = cb_editRequestMethod.Text;\n                //requsetReplace.HttpRawRequest.RequestUri = tb_requestReplace_uri.Text;\n                //requsetReplace.HttpRawRequest.RequestVersions = cb_editRequestEdition.Text;\n                //Set RequestLine will updata RequestMethod/RequestUri/RequestVersions\n                requsetReplace.HttpRawRequest.RequestLine=string.Format(\"{0} {1} {2}\", cb_editRequestMethod.Text, tb_requestReplace_uri.Text, cb_editRequestEdition.Text);\n                StringBuilder requestSb = new StringBuilder(requsetReplace.HttpRawRequest.RequestLine);\n                requestSb.Append(\"\\r\\n\");\n                requsetReplace.HttpRawRequest.RequestHeads = new List<MyKeyValuePair<string, string>>();\n                if (elv_requsetReplace.ListDataView.Items.Count > 0)\n                {\n                    foreach (ListViewItem item in elv_requsetReplace.ListDataView.Items)\n                    {\n                        string headStr = item.Text;\n                        if (headStr.Contains(\": \"))\n                        {\n                            string key = headStr.Remove(headStr.IndexOf(\": \"));\n                            string value = headStr.Substring(headStr.IndexOf(\": \") + 2);\n                            requsetReplace.HttpRawRequest.RequestHeads.Add(new MyKeyValuePair<string, string>(key, value));\n                        }\n                        else\n                        {\n                            throw new Exception(string.Format(\"find eror head with {0}\", headStr));\n                        }\n                        requestSb.AppendLine(headStr);\n                    }\n                    requestSb.Append(\"\\r\\n\");\n                }\n\n                string tempRequstBody = rtb_requsetReplace_body.Text;\n                requestSb.Append(tempRequstBody); //HttpEntity not need end with new line\n                if (tempRequstBody.StartsWith(\"<<replace file path>>\"))\n                {\n                    string tempPath = tempRequstBody.Remove(0, 21);\n                    if (File.Exists(tempPath))\n                    {\n                        using (FileStream fileStream = new FileStream(tempPath, FileMode.Open, FileAccess.Read, FileShare.Read))\n                        {\n                            if (fileStream.Length > int.MaxValue)\n                            {\n                                throw new Exception(string.Format(\"your file path in  ResponseEntity is too  large with {0}\", tempPath));\n                            }\n                            requsetReplace.HttpRawRequest.RequestEntity = new byte[fileStream.Length];\n                            fileStream.Position = 0;\n                            fileStream.Read(requsetReplace.HttpRawRequest.RequestEntity, 0, requsetReplace.HttpRawRequest.RequestEntity.Length);\n                        }\n\n                    }\n                    else\n                    {\n                        throw new Exception(string.Format(\"your file path in  ResponseEntity is not Exists with {0}\", tempPath));\n                    }\n                }\n                else\n                {\n                    requsetReplace.HttpRawRequest.RequestEntity = Encoding.UTF8.GetBytes(tempRequstBody);\n                }\n                requsetReplace.HttpRawRequest.ParameterizationContent = new AutoTest.ParameterizationContent.CaseParameterizationContent(requestSb.ToString(), pb_parameterSwitch.SwitchState);\n                requsetReplace.HttpRawRequest.OriginSting = requsetReplace.HttpRawRequest.ParameterizationContent.GetTargetContentData();\n                requsetReplace.SetHasParameter(pb_parameterSwitch.SwitchState, StaticDataCollection);\n\n            }\n\n            if (antoContentLengthToolStripMenuItem.Checked)\n            {\n                requsetReplace.HttpRawRequest.SetAutoContentLength();\n            }\n            return requsetReplace;\n        }\n\n        private FiddlerResponseChange GetResponseModificInfo()\n        {\n            FiddlerResponseChange responseChange = new FiddlerResponseChange();\n            responseChange.TamperProtocol = NowProtocalMode;\n            responseChange.HttpRawResponse = null;\n            //responseChange.ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(StaticDataCollection);\n            responseChange.HttpFilter = GetHttpFilter();\n            responseChange.ParameterPickList = GetParameterPick();\n            responseChange.ResponseLatency = GetResponseLatency();\n            if (responseRemoveHeads.ListDataView.Items.Count > 0)\n            {\n                responseChange.HeadDelList = new List<string>();\n                foreach (ListViewItem tempRequestRemoveHead in responseRemoveHeads.ListDataView.Items)\n                {\n                    responseChange.HeadDelList.Add(tempRequestRemoveHead.Text);\n                }\n            }\n            if (responseAddHeads.ListDataView.Items.Count > 0)\n            {\n                responseChange.HeadAddList = new List<string>();\n                foreach (ListViewItem tempRequestAddHead in responseAddHeads.ListDataView.Items)\n                {\n                    responseChange.HeadAddList.Add(tempRequestAddHead.Text);\n                }\n            }\n            responseChange.BodyModific = new ParameterContentModific(tb_responseModific_body.Text, rtb_respenseModific_body.Text);\n            responseChange.BodyModific = new ParameterContentModific(tb_responseModific_body.Text, rtb_respenseModific_body.Text);\n            responseChange.SetHasParameter(pb_parameterSwitch.SwitchState, StaticDataCollection);\n            return responseChange;\n        }\n\n        private FiddlerResponseChange GetResponseReplaceInfo()\n        {\n            FiddlerResponseChange responseChange = new FiddlerResponseChange();\n            responseChange.TamperProtocol = NowProtocalMode;\n            //responseChange.ActuatorStaticDataController = new FiddlerActuatorStaticDataCollectionController(StaticDataCollection);\n            responseChange.HttpFilter = GetHttpFilter();\n            responseChange.ParameterPickList = GetParameterPick();\n            responseChange.ResponseLatency = GetResponseLatency();\n            responseChange.HttpRawResponse = rawResponseEdit.GetHttpResponse(StaticDataCollection);\n            responseChange.IsIsDirectRespons = rawResponseEdit.IsDirectRespons;\n            responseChange.SetHasParameter(pb_parameterSwitch.SwitchState, StaticDataCollection);\n            return responseChange;\n        }\n\n        private void ClearModificInfo()\n        {\n            cb_macthMode.Text = \"\";\n            tb_urlFilter.Text = \"\";\n            tb_requestModific_uriModificKey.Text = \"\";\n            tb_requestModific_uriModificValue.Text = \"\";\n            tb_requestModific_body.Text = \"\";\n            cb_editRequestMethod.Text = \"\";\n            tb_requestReplace_uri.Text = \"\";\n            cb_editRequestEdition.Text = \"\";\n            tb_responseModific_body.Text = \"\";\n            rawResponseEdit.ClearInfo();\n            requestRemoveHeads.ListDataView.Items.Clear();\n            requestAddHeads.ListDataView.Items.Clear();\n            elv_requsetReplace.ListDataView.Items.Clear();\n            responseRemoveHeads.ListDataView.Items.Clear();\n            responseAddHeads.ListDataView.Items.Clear();\n            rtb_requestModific_body.Clear();\n            rtb_requsetReplace_body.Clear();\n            rtb_respenseModific_body.Clear();\n            rtb_requestRaw.Clear();\n            antoContentLengthToolStripMenuItem.Checked = true;\n            pb_parameterSwitch.SwitchState = false;\n            //tabControl_Modific_Selecting(this.tabControl_Modific, null);\n            ChangeSetResponseLatencyMode((tabControl_Modific.SelectedTab == tabPage_requestModific || tabControl_Modific.SelectedTab == tabPage_requestReplace) ? -1 : 0);\n        }\n\n        private void SetRequestModificInfo(FiddlerRequestChange fiddlerRequsetChange)\n        {\n            SetHttpMatch(fiddlerRequsetChange.HttpFilter);\n            SetHttpParameterPick(fiddlerRequsetChange.ParameterPickList);\n            pb_parameterSwitch.SwitchState = fiddlerRequsetChange.IsHasParameter;\n            if (fiddlerRequsetChange.HttpRawRequest == null)\n            {\n                tabControl_Modific.SelectedTab = tabPage_requestModific;\n                if (fiddlerRequsetChange.UriModific != null && fiddlerRequsetChange.UriModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    tb_requestModific_uriModificKey.Text = fiddlerRequsetChange.UriModific.ParameterTargetKey.ToString();\n                    tb_requestModific_uriModificValue.Text = fiddlerRequsetChange.UriModific.ParameterReplaceContent.ToString();\n                }\n                if (fiddlerRequsetChange.HeadDelList != null)\n                {\n                    foreach (string tempHead in fiddlerRequsetChange.HeadDelList)\n                    {\n                        requestRemoveHeads.ListDataView.Items.Add(tempHead);\n                    }\n                }\n                if (fiddlerRequsetChange.HeadAddList != null)\n                {\n                    foreach (string tempHead in fiddlerRequsetChange.HeadAddList)\n                    {\n                        requestAddHeads.ListDataView.Items.Add(tempHead);\n                    }\n                }\n                if (fiddlerRequsetChange.BodyModific != null && fiddlerRequsetChange.BodyModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    tb_requestModific_body.Text = fiddlerRequsetChange.BodyModific.ParameterTargetKey.ToString();\n                    if (!string.IsNullOrEmpty(fiddlerRequsetChange.BodyModific.ParameterReplaceContent.ToString()))\n                    {\n                        rtb_requestModific_body.AppendText(fiddlerRequsetChange.BodyModific.ParameterReplaceContent.ToString());\n                    }\n                }\n            }\n            else\n            {\n                tabControl_Modific.SelectedTab = tabPage_requestReplace;\n                if (IsRequestReplaceRawMode)\n                {\n                    pb_requestReplace_changeMode_Click(null, null);\n                }\n                cb_editRequestMethod.Text = fiddlerRequsetChange.HttpRawRequest.RequestMethod;\n                tb_requestReplace_uri.Text = fiddlerRequsetChange.HttpRawRequest.RequestUri;\n                cb_editRequestEdition.Text = fiddlerRequsetChange.HttpRawRequest.RequestVersions;\n                if (fiddlerRequsetChange.HttpRawRequest.RequestHeads != null)\n                {\n                    foreach (MyKeyValuePair<string, string> tempHead in fiddlerRequsetChange.HttpRawRequest.RequestHeads)\n                    {\n                        elv_requsetReplace.ListDataView.Items.Add(string.Format(\"{0}: {1}\", tempHead.Key, tempHead.Value));\n                    }\n                }\n                if (fiddlerRequsetChange.HttpRawRequest.RequestEntity != null && fiddlerRequsetChange.HttpRawRequest.RequestEntity.Length > 0)\n                {\n                    //if (fiddlerRequsetChange.HttpRawRequest.ParameterizationContent.hasParameter && fiddlerRequsetChange.HttpRawRequest.OriginSting != null)\n                    //{\n                    //    HttpRequest tempRequest = HttpRequest.GetHttpRequest(fiddlerRequsetChange.HttpRawRequest.OriginSting);\n                    //    if(tempRequest.RequestEntity!=null)\n                    //    {\n                    //        rtb_requsetReplace_body.AppendText(Encoding.UTF8.GetString(tempRequest.RequestEntity));\n                    //    }\n                    //}\n\n\n                    //rtb_requsetReplace_body.AppendText(Encoding.UTF8.GetString(fiddlerRequsetChange.HttpRawRequest.RequestEntity));//文件实体无法还原原始值\n                    Encoding tempEncoding = Encoding.GetEncoding(\"utf-8\", new EncoderExceptionFallback(), new DecoderExceptionFallback());\n                    string tempStr = null;\n                    try\n                    {\n                        tempStr = tempEncoding.GetString(fiddlerRequsetChange.HttpRawRequest.RequestEntity);\n                    }\n                    catch(ArgumentException )\n                    {\n                        String tempOriginSting = fiddlerRequsetChange.HttpRawRequest.OriginSting;\n                        if (!string.IsNullOrEmpty(tempOriginSting))\n                        {\n                            int startIndex = tempOriginSting.IndexOf(\"\\r\\n\\r\\n\");\n                            if (startIndex > 0) //can not is 0 (must have request line)\n                            {\n                                tempStr = tempOriginSting.Remove(0, startIndex+4);\n                            }\n                        }\n                    }\n                    catch(Exception ex)\n                    {\n                        PutError(string.Format(\"analysis request replace rule error {0}\", ex.Message));\n                    }\n                    finally\n                    {\n                        tempStr = tempStr ?? \"analysis request replace rule error in request body , pleace reedit\";\n                    }\n                    rtb_requsetReplace_body.AppendText(tempStr);\n                }\n                if (fiddlerRequsetChange.HttpRawRequest.OriginSting != null)\n                {\n                    rtb_requestRaw.AppendText(fiddlerRequsetChange.HttpRawRequest.OriginSting);\n                }\n                // if fiddlerRequsetChange is RawRequest ，just use HttpRawRequest hasParameter\n                pb_parameterSwitch.SwitchState = fiddlerRequsetChange.HttpRawRequest.ParameterizationContent.hasParameter;\n                \n            }\n        }\n\n        private void SetResponseModificInfo(FiddlerResponseChange fiddlerResponseChange)\n        {\n            SetHttpMatch(fiddlerResponseChange.HttpFilter);\n            SetResponseLatency(fiddlerResponseChange.ResponseLatency);\n            SetHttpParameterPick(fiddlerResponseChange.ParameterPickList);\n            pb_parameterSwitch.SwitchState = fiddlerResponseChange.IsHasParameter;\n            if (fiddlerResponseChange.HttpRawResponse == null)\n            {\n                tabControl_Modific.SelectedTab = tabPage_responseModific; \n                if (fiddlerResponseChange.HeadDelList != null)\n                {\n                    foreach (string tempHead in fiddlerResponseChange.HeadDelList)\n                    {\n                        responseRemoveHeads.ListDataView.Items.Add(tempHead);\n                    }\n                }\n                if (fiddlerResponseChange.HeadAddList != null)\n                {\n                    foreach (string tempHead in fiddlerResponseChange.HeadAddList)\n                    {\n                        responseAddHeads.ListDataView.Items.Add(tempHead);\n                    }\n                }\n                if (fiddlerResponseChange.BodyModific != null && fiddlerResponseChange.BodyModific.ModificMode != ContentModificMode.NoChange)\n                {\n                    tb_responseModific_body.Text = fiddlerResponseChange.BodyModific.ParameterTargetKey.ToString();\n                    if (!string.IsNullOrEmpty(fiddlerResponseChange.BodyModific.ParameterReplaceContent.ToString()))\n                    {\n                        rtb_respenseModific_body.AppendText(fiddlerResponseChange.BodyModific.ParameterReplaceContent.ToString());\n                    }\n                }\n            }\n            else\n            {\n                tabControl_Modific.SelectedTab = tabPage_responseReplace;\n                rawResponseEdit.IsDirectRespons = fiddlerResponseChange.IsIsDirectRespons;\n                rawResponseEdit.IsUseParameterData = fiddlerResponseChange.HttpRawResponse.ParameterizationContent.hasParameter;\n                if (fiddlerResponseChange.HttpRawResponse.OriginSting != null)\n                {\n                    rawResponseEdit.SetText(fiddlerResponseChange.HttpRawResponse.OriginSting);\n                }\n                pb_parameterSwitch.SwitchState = fiddlerResponseChange.HttpRawResponse.ParameterizationContent.hasParameter;\n            }\n        }\n        \n        private void AdjustRuleListViewIndex(ListView ruleListView)\n        {\n            if (ruleListView.Items.Count > 0)\n            {\n                for (int i = 0; i < ruleListView.Items.Count; i++)\n                {\n                    ruleListView.Items[i].SubItems[0].Text = (i + 1).ToString();\n                }\n            }\n        }\n\n        private GetSessionEventArgs GetNowHttpSession(bool isNeedBody = false)\n        {\n            if (OnGetSessionEventArgs != null)\n            {\n                GetSessionEventArgs sessionEventArgs = new GetSessionEventArgs(isNeedBody);\n                this.OnGetSessionEventArgs(this, sessionEventArgs);\n                return sessionEventArgs;\n            }\n            return new GetSessionEventArgs(false) { IsGetSuccess = false };\n        }\n\n        #endregion\n\n        #region Public Function\n        public void ReplaceRuleStorage(RuleDetails ruleDetails)\n        {\n            if (ruleDetails != null)\n            {\n                InitializeConfigInfo(ruleDetails.ModificHttpRuleCollection, ModificSettingInfo, ruleDetails.StaticDataCollection , ruleDetails.RuleGroup);\n                LoadFiddlerModificHttpRuleCollection(fiddlerModificHttpRuleCollection);\n                if (StaticDataCollection == null)\n                {\n                    StaticDataCollection = new ActuatorStaticDataCollection(true);\n                }\n                if (ModificRuleGroup == null)\n                {\n                    ModificRuleGroup = new FiddlerRuleGroup(lv_requestRuleList, lv_responseRuleList);\n                }\n                else\n                {\n                    ModificRuleGroup.SetRuleGroupListView(lv_requestRuleList, lv_responseRuleList);\n                }\n                //恢复分组，如果没有分组RecoverGroup可以清除ListView里的历史Group\n                ModificRuleGroup.RecoverGroup();\n                //重置Uid，需要在组信息恢复后重置\n                foreach (FiddlerRequestChange fiddlerRequestChange in FiddlerRequestChangeList)\n                {\n                    fiddlerRequestChange.RuleUid = null;\n                    fiddlerRequestChange.RuleUid = $\"[Replace]{fiddlerRequestChange.RuleUid}\";\n                }\n                foreach (FiddlerResponseChange fiddlerResponseChange in FiddlerResponseChangeList)\n                {\n                    fiddlerResponseChange.RuleUid = null;\n                    fiddlerResponseChange.RuleUid = $\"[Replace]{fiddlerResponseChange.RuleUid}\";\n                }\n                ModificRuleGroup.ReflushGroupDc();\n\n                PutInfo($\"[ReplaceRule]Add {ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count} request rule succeed \");\n                PutInfo($\"[ReplaceRule]Add {ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count} response rule succeed \");\n                PutInfo($\"[ReplaceRule]Add {ruleDetails.StaticDataCollection.Count} static parameter data succeed \");\n            }\n        }\n        public void MergeRuleStorage(RuleDetails ruleDetails)\n        {\n            if (ruleDetails != null)\n            {\n                string tempRequestGruopName = null;\n                string tempResponseGruopName = null;\n                if (ruleDetails.ModificHttpRuleCollection?.RequestRuleList!=null)\n                {\n                    List<string> tempRemoteRequestGroup = new List<string>();\n                    foreach (FiddlerRequestChange tempFiddlerRequestChange in ruleDetails.ModificHttpRuleCollection.RequestRuleList)\n                    {\n                        //重置RuleUid\n                        tempFiddlerRequestChange.RuleUid = null;\n                        tempFiddlerRequestChange.RuleUid = $\"[Remote]{tempFiddlerRequestChange.RuleUid}\";\n                        tempRemoteRequestGroup.Add(tempFiddlerRequestChange.RuleUid);\n                    }\n                    if (tempRemoteRequestGroup.Count > 0)\n                    {\n                        tempRequestGruopName = string.IsNullOrEmpty(ruleDetails.Remark) ? \"Remote\" : ruleDetails.Remark;\n                        tempRequestGruopName = $\"[{tempRequestGruopName}]-{(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000)}\";\n                        ModificRuleGroup.RequestGroupDictionary.Add(tempRequestGruopName, tempRemoteRequestGroup);\n                        PutInfo($\"[MergeRule]Add Group [{tempRequestGruopName}] ,the new request rules will to be included here\");\n                    }\n                    FiddlerRequestChangeList.AddRange(ruleDetails.ModificHttpRuleCollection.RequestRuleList);\n                    PutInfo($\"[MergeRule]Add {ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count} request rule succeed \");\n                }\n                if (ruleDetails.ModificHttpRuleCollection?.ResponseRuleList != null)\n                {\n                    List<string> tempRemoteResponseGroup = new List<string>();\n                    foreach (FiddlerResponseChange tempFiddleResponseRuleListChange in ruleDetails.ModificHttpRuleCollection.ResponseRuleList)\n                    {\n                        //重置RuleUid\n                        tempFiddleResponseRuleListChange.RuleUid = null;\n                        tempFiddleResponseRuleListChange.RuleUid = $\"[Remote]{tempFiddleResponseRuleListChange.RuleUid}\";\n                        tempRemoteResponseGroup.Add(tempFiddleResponseRuleListChange.RuleUid);\n                    }\n                    if (tempRemoteResponseGroup.Count > 0)\n                    {\n                        tempResponseGruopName = string.IsNullOrEmpty(ruleDetails.Remark) ? \"Remote\" : ruleDetails.Remark;\n                        tempResponseGruopName = $\"[{tempResponseGruopName}]-{(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000)}\";\n                        ModificRuleGroup.ResponseGroupDictionary.Add(tempResponseGruopName, tempRemoteResponseGroup);\n                        PutInfo($\"[MergeRule]Add Group [{tempResponseGruopName}] ,the new response rules will to be included here\");\n                    }\n                    FiddlerResponseChangeList.AddRange(ruleDetails.ModificHttpRuleCollection.ResponseRuleList);\n                    PutInfo($\"[MergeRule]Add {ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count} response rule succeed \");\n                }\n                if(ruleDetails.StaticDataCollection!=null)\n                {\n                    foreach (KeyValuePair<string, IRunTimeStaticData> tempAddData in ruleDetails.StaticDataCollection)\n                    {\n                        //PutInfo($\"Key:{x.Key} Value:{x.Value.ToString()} -  {x.Value.DataCurrent()}\");\n                        if(StaticDataCollection.IsHaveSameKey(tempAddData.Key))\n                        {\n                            if(MessageBox.Show($\"find same static data type:{tempAddData.Value.RunTimeStaticDataType}  key: {tempAddData.Key}\\r\\ndo you want replace this static key\",\"find same key\",MessageBoxButtons.YesNo,MessageBoxIcon.Question)\n                                == DialogResult.Yes)\n                            {\n                                if (!StaticDataCollection.RemoveStaticData(tempAddData.Key, false))\n                                {\n                                    _ = RemoteLogService.ReportLogAsync($\"[MergeRuleStorage]RemoveStaticData error with {tempAddData.Key}\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                                    PutError($\"RemoveStaticData error with {tempAddData.Key}\");\n                                    continue;\n                                }\n                            }\n                            else\n                            {\n                                continue;\n                            }\n                        }\n                        if (StaticDataCollection.AddStaticData(tempAddData.Key, tempAddData.Value))\n                        {\n                            PutInfo($\"[MergeRule]AddStaticData succeed with {tempAddData.Key}-{tempAddData.Value.RunTimeStaticDataType}\");\n                        }\n                        else\n                        {\n                            _ = RemoteLogService.ReportLogAsync($\"[MergeRuleStorage]AddStaticDataKey error with {tempAddData.Key}\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                            PutError($\"AddStaticDataKey error with {tempAddData.Key}\");\n                        }\n                    }\n                }\n                //重新加载rules\n                InitializeConfigInfo(new FiddlerModificHttpRuleCollection(FiddlerRequestChangeList , FiddlerResponseChangeList), ModificSettingInfo, StaticDataCollection, ModificRuleGroup);\n                LoadFiddlerModificHttpRuleCollection(fiddlerModificHttpRuleCollection);\n                ModificRuleGroup.RecoverGroup();\n                //标记新添加的rule\n                if(!string.IsNullOrEmpty(tempRequestGruopName))\n                {\n                    foreach(ListViewGroup group in lv_requestRuleList.Groups)\n                    {\n                        if(group.Header== tempRequestGruopName)\n                        {\n                            foreach (ListViewItem tempListViewItem in group.Items)\n                            {\n                                MarkRuleItem(tempListViewItem);\n                            }\n                            if(group.Items.Count>0)\n                            {\n                                lv_requestRuleList.EnsureVisible(group.Items[0].Index);\n                            }\n                            break;\n                        }\n                    }\n                }\n                if (!string.IsNullOrEmpty(tempResponseGruopName))\n                {\n                    foreach (ListViewGroup group in lv_responseRuleList.Groups)\n                    {\n                        if (group.Header == tempResponseGruopName)\n                        {\n                            foreach (ListViewItem tempListViewItem in group.Items)\n                            {\n                                MarkRuleItem(tempListViewItem);\n                            }\n                            if (group.Items.Count > 0)\n                            {\n                                lv_responseRuleList.EnsureVisible(group.Items[0].Index);\n                            }\n                            break;\n                        }\n                    }\n                }\n            }\n            else\n            {\n                MyGlobalHelper.PutGlobalMessage(null, new MyGlobalHelper.GlobalMessageEventArgs(true, \"MergeRuleStorage fill that ruleDetails is null\"));\n                _ = RemoteLogService.ReportLogAsync(\"MergeRuleStorage fill that ruleDetails is null\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n            }\n        }\n\n        public void CloseEditRtb()\n        {\n            tbe_RequestBodyModific.CloseRichTextBox();\n            tbe_ResponseBodyModific.CloseRichTextBox();\n            tbe_urlFilter.CloseRichTextBox();\n            tbe_RequestBodyModific.Visible = tb_requestModific_body.Focused;\n            tbe_ResponseBodyModific.Visible = tb_responseModific_body.Focused;\n            tbe_urlFilter.Visible = tb_urlFilter.Focused;\n        }\n        public void SetModificSession(Fiddler.Session session)\n        {\n            ChangeNowRuleMode(RuleEditMode.NewRuleMode, session.BitFlags.HasFlag(Fiddler.SessionFlags.IsWebSocketTunnel)? TamperProtocalType.WebSocket: TamperProtocalType.Http, null, null);\n            tb_urlFilter.Text = session.fullUrl;\n            cb_macthMode.SelectedIndex = 2;\n            pictureBox_editHttpFilter.Tag = GetHttpFilter();\n            if (NowProtocalMode == TamperProtocalType.Http)\n            {\n                if (tabControl_Modific.SelectedTab == tabPage_requestModific)\n                {\n                    tabControl_Modific.SelectedTab = tabPage_requestReplace;\n                }\n                else if (tabControl_Modific.SelectedTab == tabPage_responseModific)\n                {\n                    tabControl_Modific.SelectedTab = tabPage_responseReplace;\n                }\n            }\n            else if (NowProtocalMode == TamperProtocalType.WebSocket)\n            {\n                if (tabControl_Modific.SelectedTab == tabPage_requestReplace || tabControl_Modific.SelectedTab == tabPage_responseReplace) tabControl_Modific.SelectedTab = tabPage_requestModific;\n            }\n\n            //Request Replace\n            tb_requestReplace_uri.Text = session.fullUrl;\n            cb_editRequestEdition.Text = ((Fiddler.HTTPHeaders)(session.oRequest.headers)).HTTPVersion;\n            cb_editRequestMethod.Text = session.RequestMethod;\n            elv_requsetReplace.ListDataView.Items.Clear();\n            foreach (var tempHead in session.RequestHeaders)\n            {\n                elv_requsetReplace.ListDataView.Items.Add(String.Format(\"{0}: {1}\", tempHead.Name, tempHead.Value));\n            }\n            rtb_requsetReplace_body.Clear();\n            if (session.requestBodyBytes != null)\n            {\n                if (session.requestBodyBytes.Length > 0)\n                {\n                    //Encoding tempRequestEncoding = session.GetRequestBodyEncoding() == null ? Encoding.UTF8 : session.GetRequestBodyEncoding();\n                    //rtb_requsetReplace_body.Text = tempRequestEncoding.GetString(session.requestBodyBytes);\n                    rtb_requsetReplace_body.Text = session.GetRequestBodyAsString();\n                }\n            }\n            MemoryStream tempRequestStream = new MemoryStream();\n            if (session.WriteRequestToStream(false, true, true, tempRequestStream))\n            {\n                byte[] tempRequestBytes = new byte[tempRequestStream.Length];\n                tempRequestBytes = tempRequestStream.ToArray();\n                //tempRequestStream.ReadAsync(tempRequestBytes, 0, (int)tempRequestStream.Length);\n                //tempRequestStream.Position=0;\n                //tempRequestStream.Read(tempRequestBytes, 0, (int)tempRequestStream.Length);\n                rtb_requestRaw.Clear();\n                rtb_requestRaw.Text = Encoding.UTF8.GetString(tempRequestBytes);\n            }\n            else\n            {\n                rtb_requestRaw.Clear();\n                rtb_requestRaw.Text = \"read RequestStream fail\";\n            }\n            tempRequestStream.Close();\n\n            //Response Replace\n\n            MemoryStream tempReponseStream = new MemoryStream();\n            if (session.WriteResponseToStream(tempReponseStream, false))\n            {\n                byte[] tempResponseBytes = new byte[tempReponseStream.Length];\n                tempResponseBytes = tempReponseStream.ToArray();\n                rawResponseEdit.SetText(Encoding.UTF8.GetString(tempResponseBytes));\n            }\n            else\n            {\n                rawResponseEdit.SetText(\"read ResponseStream fail\");\n            }\n            tempReponseStream.Close();\n        }\n\n        private void SetClientCookies(string yourCookieString, Func<KeyValuePair<string, string>, bool> operateCookies)\n        {\n            if (string.IsNullOrEmpty(yourCookieString))\n            {\n                MessageBox.Show(\"can not find any cookies in you selected session \\r\\nselect session again\", \"select session again\");\n                if (Fiddler.FiddlerApplication.UI.lvSessions.SelectedItems != null && Fiddler.FiddlerApplication.UI.lvSessions.SelectedItems.Count > 0)\n                {\n                    MarkRuleItem(Fiddler.FiddlerApplication.UI.lvSessions.SelectedItems[0], Color.Plum, 2);\n                }\n                else\n                {\n                    MarkWarnControl(Fiddler.FiddlerApplication.UI.lvSessions);\n                }\n                return;\n            }\n            string[] tempCS = yourCookieString.Split(';');\n            if (tempCS.Length > 0)\n            {\n                List<KeyValuePair<string, string>> tempCL = null;\n                tempCL = new List<KeyValuePair<string, string>>();\n                foreach (string eachCookies in tempCS)\n                {\n                    string cookieKey = null;\n                    string cookieVaule = null;\n                    int splitIndex = eachCookies.IndexOf('=');\n                    if (splitIndex < 0)\n                    {\n                        PutWarn(string.Format(\"find illegal cookie with {0}\", eachCookies));\n                        continue;\n                    }\n                    cookieKey = eachCookies.Remove(splitIndex).Trim();\n                    cookieVaule = eachCookies.Substring(splitIndex + 1);\n                    tempCL.Add(new KeyValuePair<string, string>(cookieKey, cookieVaule));\n                }\n\n                foreach(var formatedCooke in tempCL)\n                {\n                    //responseAddHeads.ListDataView.Items.Add(string.Format(\"Set-Cookie: {0}={1};{2}\", formatedCooke.Key, formatedCooke.Value,\"Path=/\" ));\n                    if(!operateCookies(formatedCooke))\n                    {\n                        PutError(String.Format(\"SetClientCookies fail with {0}:{1}\", formatedCooke.Key, formatedCooke.Value));\n                    }\n                }\n            }\n            else\n            {\n                MessageBox.Show(\"the cookies in selected session is illegal\\r\\nplease check again\");\n            }\n        }\n\n        public void SetClientAddCookies(string yourCookieString)\n        {\n            SetClientCookies(yourCookieString, new Func<KeyValuePair<string, string>, bool>((kvCookie) =>\n            {\n                responseAddHeads.ListDataView.Items.Add(string.Format(\"Set-Cookie: {0}={1};{2}\", kvCookie.Key, kvCookie.Value, \"Path=/\"));\n                return true;\n            }));\n        }\n\n        public void SetClientDelCookies(string yourCookieString)\n        {\n            string tempAttibute=\"Max-Age=1;Path=/\";\n            if (!string.IsNullOrEmpty(yourCookieString))\n            {\n                SetVaule f = new SetVaule(\"Set Attibute\", \"you can add attibute for the set-cookie head ,like Domain=www.yourhost.com\", tempAttibute, new Func<string, string>((string checkValue) => { return checkValue.Contains(\"Max-Age\")?null:\"\"; }));\n                f.OnSetValue += new EventHandler<SetVaule.SetVauleEventArgs>((obj, tag) => { tempAttibute = tag.SetValue; });\n                f.ShowDialog();\n            }\n            SetClientCookies(yourCookieString, new Func<KeyValuePair<string, string>, bool>((kvCookie) =>\n            {\n                responseAddHeads.ListDataView.Items.Add(string.Format(\"Set-Cookie: {0}=delete by FreeHttp; {1}\", kvCookie.Key, tempAttibute));\n                return true;\n            }));\n        }\n\n        public void ShowOwnerWindow(string name,string info)\n        {\n            ShowTextForm f = new ShowTextForm(name,info);\n            f.Owner = Fiddler.FiddlerApplication.UI;\n            f.StartPosition = FormStartPosition.CenterParent;\n            f.Show();\n        }\n\n        public void PutInfo(string info)\n        {\n            rtb_MesInfo.Select(rtb_MesInfo.TextLength, 0);\n            rtb_MesInfo.SelectionColor = Color.Black;\n            rtb_MesInfo.AppendText(string.Format(\"【{0}】:{1}\", DateTime.Now.ToString(), info));\n            rtb_MesInfo.AppendText(\"\\r\\n\");\n            rtb_MesInfo.SelectionColor = Color.Black;\n        }\n\n        public void PutWarn(string info)\n        {\n            rtb_MesInfo.Select(rtb_MesInfo.TextLength, 0);\n            rtb_MesInfo.SelectionColor = Color.Indigo;\n            rtb_MesInfo.AppendText(string.Format(\"【{0}】:{1}\", DateTime.Now.ToString(), info));\n            rtb_MesInfo.AppendText(\"\\r\\n\");\n            rtb_MesInfo.SelectionColor = Color.Black;\n        }\n\n        public void PutError(string info)\n        {\n            rtb_MesInfo.Select(rtb_MesInfo.TextLength, 0);\n            rtb_MesInfo.SelectionColor = Color.Red;\n            rtb_MesInfo.AppendText(string.Format(\"【{0}】:{1}\", DateTime.Now.ToString(), info));\n            rtb_MesInfo.AppendText(\"\\r\\n\");\n            rtb_MesInfo.SelectionColor = Color.Black;\n        }\n\n        #endregion\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/GetRemoteRuleWindow.Designer.cs",
    "content": "﻿\nnamespace FreeHttp.FreeHttpControl\n{\n    partial class GetRemoteRuleWindow\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.components = new System.ComponentModel.Container();\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GetRemoteRuleWindow));\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.bt_getRule = new System.Windows.Forms.Button();\n            this.bt_merge = new System.Windows.Forms.Button();\n            this.lb_info_2 = new System.Windows.Forms.Label();\n            this.lv_remote_responseRuleList = new FreeHttp.FreeHttpControl.MyListView();\n            this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.columnHeader_responseRule = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.lv_remote_requestRuleList = new FreeHttp.FreeHttpControl.MyListView();\n            this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.columnHeader_requstRule = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.watermakTextBox_ruleToken = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.lb_info_LocalRule = new System.Windows.Forms.Label();\n            this.lb_info_SharedRule = new System.Windows.Forms.Label();\n            this.lb_info_RemoteRule = new System.Windows.Forms.Label();\n            this.lv_shareRuleList = new System.Windows.Forms.ListView();\n            this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.contextMenuStrip_shareRuleList = new System.Windows.Forms.ContextMenuStrip(this.components);\n            this.copyThisTokenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.deleteThisTokenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.bt_replace = new System.Windows.Forms.Button();\n            this.contextMenuStrip_shareRuleList.SuspendLayout();\n            this.SuspendLayout();\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(13, 38);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(113, 12);\n            this.lb_info_1.TabIndex = 12;\n            this.lb_info_1.Text = \"remote rule token:\";\n            // \n            // bt_getRule\n            // \n            this.bt_getRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.bt_getRule.Location = new System.Drawing.Point(544, 34);\n            this.bt_getRule.Name = \"bt_getRule\";\n            this.bt_getRule.Size = new System.Drawing.Size(75, 23);\n            this.bt_getRule.TabIndex = 13;\n            this.bt_getRule.Text = \"Get Rule\";\n            this.bt_getRule.UseVisualStyleBackColor = true;\n            this.bt_getRule.Click += new System.EventHandler(this.bt_getRule_Click);\n            // \n            // bt_merge\n            // \n            this.bt_merge.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.bt_merge.Location = new System.Drawing.Point(488, 516);\n            this.bt_merge.Name = \"bt_merge\";\n            this.bt_merge.Size = new System.Drawing.Size(131, 23);\n            this.bt_merge.TabIndex = 16;\n            this.bt_merge.Text = \"Merge Remote Rule\";\n            this.bt_merge.UseVisualStyleBackColor = true;\n            this.bt_merge.Click += new System.EventHandler(this.bt_merge_Click);\n            // \n            // lb_info_2\n            // \n            this.lb_info_2.AutoSize = true;\n            this.lb_info_2.Location = new System.Drawing.Point(5, 521);\n            this.lb_info_2.Name = \"lb_info_2\";\n            this.lb_info_2.Size = new System.Drawing.Size(0, 12);\n            this.lb_info_2.TabIndex = 17;\n            // \n            // lv_remote_responseRuleList\n            // \n            this.lv_remote_responseRuleList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\n            this.columnHeader3,\n            this.columnHeader_responseRule});\n            this.lv_remote_responseRuleList.FullRowSelect = true;\n            this.lv_remote_responseRuleList.HideSelection = false;\n            this.lv_remote_responseRuleList.Location = new System.Drawing.Point(2, 293);\n            this.lv_remote_responseRuleList.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.lv_remote_responseRuleList.Name = \"lv_remote_responseRuleList\";\n            this.lv_remote_responseRuleList.ShowItemToolTips = true;\n            this.lv_remote_responseRuleList.Size = new System.Drawing.Size(626, 220);\n            this.lv_remote_responseRuleList.TabIndex = 15;\n            this.lv_remote_responseRuleList.UseCompatibleStateImageBehavior = false;\n            this.lv_remote_responseRuleList.View = System.Windows.Forms.View.Details;\n            this.lv_remote_responseRuleList.DoubleClick += new System.EventHandler(this.lv_remote_ruleList_MouseDoubleClick);\n            // \n            // columnHeader3\n            // \n            this.columnHeader3.Text = \"ID\";\n            this.columnHeader3.Width = 54;\n            // \n            // columnHeader_responseRule\n            // \n            this.columnHeader_responseRule.Text = \"Response Rule\";\n            this.columnHeader_responseRule.Width = 563;\n            // \n            // lv_remote_requestRuleList\n            // \n            this.lv_remote_requestRuleList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\n            this.columnHeader1,\n            this.columnHeader_requstRule});\n            this.lv_remote_requestRuleList.Cursor = System.Windows.Forms.Cursors.Default;\n            this.lv_remote_requestRuleList.FullRowSelect = true;\n            this.lv_remote_requestRuleList.HideSelection = false;\n            this.lv_remote_requestRuleList.Location = new System.Drawing.Point(2, 72);\n            this.lv_remote_requestRuleList.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);\n            this.lv_remote_requestRuleList.Name = \"lv_remote_requestRuleList\";\n            this.lv_remote_requestRuleList.ShowItemToolTips = true;\n            this.lv_remote_requestRuleList.Size = new System.Drawing.Size(626, 220);\n            this.lv_remote_requestRuleList.TabIndex = 14;\n            this.lv_remote_requestRuleList.UseCompatibleStateImageBehavior = false;\n            this.lv_remote_requestRuleList.View = System.Windows.Forms.View.Details;\n            this.lv_remote_requestRuleList.DoubleClick += new System.EventHandler(this.lv_remote_ruleList_MouseDoubleClick);\n            // \n            // columnHeader1\n            // \n            this.columnHeader1.Text = \"ID\";\n            this.columnHeader1.Width = 54;\n            // \n            // columnHeader_requstRule\n            // \n            this.columnHeader_requstRule.Text = \"Request Rule\";\n            this.columnHeader_requstRule.Width = 562;\n            // \n            // watermakTextBox_ruleToken\n            // \n            this.watermakTextBox_ruleToken.Location = new System.Drawing.Point(132, 35);\n            this.watermakTextBox_ruleToken.Name = \"watermakTextBox_ruleToken\";\n            this.watermakTextBox_ruleToken.Size = new System.Drawing.Size(404, 21);\n            this.watermakTextBox_ruleToken.TabIndex = 11;\n            this.watermakTextBox_ruleToken.WatermarkText = \"input your token\";\n            // \n            // lb_info_LocalRule\n            // \n            this.lb_info_LocalRule.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(217)))), ((int)(((byte)(247)))));\n            this.lb_info_LocalRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.lb_info_LocalRule.Font = new System.Drawing.Font(\"Arial\", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lb_info_LocalRule.ForeColor = System.Drawing.Color.DarkGray;\n            this.lb_info_LocalRule.Location = new System.Drawing.Point(372, 9);\n            this.lb_info_LocalRule.Name = \"lb_info_LocalRule\";\n            this.lb_info_LocalRule.Size = new System.Drawing.Size(100, 15);\n            this.lb_info_LocalRule.TabIndex = 22;\n            this.lb_info_LocalRule.Text = \"LocalRule\";\n            this.lb_info_LocalRule.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;\n            this.lb_info_LocalRule.Click += new System.EventHandler(this.lb_info_showType_Click);\n            this.lb_info_LocalRule.MouseLeave += new System.EventHandler(this.lb_info_MouseLeave);\n            this.lb_info_LocalRule.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lb_info_MouseMove);\n            // \n            // lb_info_SharedRule\n            // \n            this.lb_info_SharedRule.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(217)))), ((int)(((byte)(247)))));\n            this.lb_info_SharedRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.lb_info_SharedRule.Font = new System.Drawing.Font(\"Arial\", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lb_info_SharedRule.ForeColor = System.Drawing.Color.DarkGray;\n            this.lb_info_SharedRule.Location = new System.Drawing.Point(272, 9);\n            this.lb_info_SharedRule.Name = \"lb_info_SharedRule\";\n            this.lb_info_SharedRule.Size = new System.Drawing.Size(100, 15);\n            this.lb_info_SharedRule.TabIndex = 21;\n            this.lb_info_SharedRule.Text = \"SharedRule\";\n            this.lb_info_SharedRule.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;\n            this.lb_info_SharedRule.Click += new System.EventHandler(this.lb_info_showType_Click);\n            this.lb_info_SharedRule.MouseLeave += new System.EventHandler(this.lb_info_MouseLeave);\n            this.lb_info_SharedRule.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lb_info_MouseMove);\n            // \n            // lb_info_RemoteRule\n            // \n            this.lb_info_RemoteRule.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(217)))), ((int)(((byte)(247)))));\n            this.lb_info_RemoteRule.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.lb_info_RemoteRule.Font = new System.Drawing.Font(\"Arial\", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lb_info_RemoteRule.ForeColor = System.Drawing.Color.SaddleBrown;\n            this.lb_info_RemoteRule.Location = new System.Drawing.Point(172, 9);\n            this.lb_info_RemoteRule.Name = \"lb_info_RemoteRule\";\n            this.lb_info_RemoteRule.Size = new System.Drawing.Size(100, 15);\n            this.lb_info_RemoteRule.TabIndex = 20;\n            this.lb_info_RemoteRule.Text = \"RemoteRule\";\n            this.lb_info_RemoteRule.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;\n            this.lb_info_RemoteRule.Click += new System.EventHandler(this.lb_info_showType_Click);\n            this.lb_info_RemoteRule.MouseLeave += new System.EventHandler(this.lb_info_MouseLeave);\n            this.lb_info_RemoteRule.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lb_info_MouseMove);\n            // \n            // lv_shareRuleList\n            // \n            this.lv_shareRuleList.BackColor = System.Drawing.Color.Azure;\n            this.lv_shareRuleList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\n            this.columnHeader2,\n            this.columnHeader4});\n            this.lv_shareRuleList.ContextMenuStrip = this.contextMenuStrip_shareRuleList;\n            this.lv_shareRuleList.FullRowSelect = true;\n            this.lv_shareRuleList.HideSelection = false;\n            this.lv_shareRuleList.Location = new System.Drawing.Point(2, 32);\n            this.lv_shareRuleList.Name = \"lv_shareRuleList\";\n            this.lv_shareRuleList.ShowItemToolTips = true;\n            this.lv_shareRuleList.Size = new System.Drawing.Size(230, 481);\n            this.lv_shareRuleList.TabIndex = 23;\n            this.lv_shareRuleList.UseCompatibleStateImageBehavior = false;\n            this.lv_shareRuleList.View = System.Windows.Forms.View.Details;\n            this.lv_shareRuleList.Visible = false;\n            this.lv_shareRuleList.DoubleClick += new System.EventHandler(this.lv_shareRuleList_DoubleClick);\n            // \n            // columnHeader2\n            // \n            this.columnHeader2.Text = \"Share Token\";\n            this.columnHeader2.Width = 110;\n            // \n            // columnHeader4\n            // \n            this.columnHeader4.Text = \"Remark\";\n            this.columnHeader4.Width = 115;\n            // \n            // contextMenuStrip_shareRuleList\n            // \n            this.contextMenuStrip_shareRuleList.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.copyThisTokenToolStripMenuItem,\n            this.deleteThisTokenToolStripMenuItem});\n            this.contextMenuStrip_shareRuleList.Name = \"contextMenuStrip_shareRuleList\";\n            this.contextMenuStrip_shareRuleList.Size = new System.Drawing.Size(211, 48);\n            // \n            // copyThisTokenToolStripMenuItem\n            // \n            this.copyThisTokenToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.copy_value;\n            this.copyThisTokenToolStripMenuItem.Name = \"copyThisTokenToolStripMenuItem\";\n            this.copyThisTokenToolStripMenuItem.Size = new System.Drawing.Size(210, 22);\n            this.copyThisTokenToolStripMenuItem.Text = \"Copy this share token\";\n            this.copyThisTokenToolStripMenuItem.Click += new System.EventHandler(this.copyThisTokenToolStripMenuItem_Click);\n            // \n            // deleteThisTokenToolStripMenuItem\n            // \n            this.deleteThisTokenToolStripMenuItem.Image = global::FreeHttp.Properties.Resources.delete_value;\n            this.deleteThisTokenToolStripMenuItem.Name = \"deleteThisTokenToolStripMenuItem\";\n            this.deleteThisTokenToolStripMenuItem.Size = new System.Drawing.Size(210, 22);\n            this.deleteThisTokenToolStripMenuItem.Text = \"Delete this share token\";\n            this.deleteThisTokenToolStripMenuItem.Click += new System.EventHandler(this.deleteThisTokenToolStripMenuItem_Click);\n            // \n            // bt_replace\n            // \n            this.bt_replace.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.bt_replace.Location = new System.Drawing.Point(354, 516);\n            this.bt_replace.Name = \"bt_replace\";\n            this.bt_replace.Size = new System.Drawing.Size(131, 23);\n            this.bt_replace.TabIndex = 24;\n            this.bt_replace.Text = \"Replace Local Rule\";\n            this.bt_replace.UseVisualStyleBackColor = true;\n            this.bt_replace.Click += new System.EventHandler(this.bt_replace_Click);\n            // \n            // GetRemoteRuleWindow\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(630, 544);\n            this.Controls.Add(this.bt_replace);\n            this.Controls.Add(this.lv_shareRuleList);\n            this.Controls.Add(this.lb_info_LocalRule);\n            this.Controls.Add(this.lb_info_SharedRule);\n            this.Controls.Add(this.lb_info_RemoteRule);\n            this.Controls.Add(this.lb_info_2);\n            this.Controls.Add(this.bt_merge);\n            this.Controls.Add(this.lv_remote_responseRuleList);\n            this.Controls.Add(this.lv_remote_requestRuleList);\n            this.Controls.Add(this.bt_getRule);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.watermakTextBox_ruleToken);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.IsShowHideBox = false;\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"GetRemoteRuleWindow\";\n            this.WindowName = \"\";\n            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.GetRemoteRuleWindow_FormClosing);\n            this.Load += new System.EventHandler(this.GetRemoteRuleWindow_Load);\n            this.Controls.SetChildIndex(this.watermakTextBox_ruleToken, 0);\n            this.Controls.SetChildIndex(this.lb_info_1, 0);\n            this.Controls.SetChildIndex(this.bt_getRule, 0);\n            this.Controls.SetChildIndex(this.lv_remote_requestRuleList, 0);\n            this.Controls.SetChildIndex(this.lv_remote_responseRuleList, 0);\n            this.Controls.SetChildIndex(this.bt_merge, 0);\n            this.Controls.SetChildIndex(this.lb_info_2, 0);\n            this.Controls.SetChildIndex(this.lb_info_RemoteRule, 0);\n            this.Controls.SetChildIndex(this.lb_info_SharedRule, 0);\n            this.Controls.SetChildIndex(this.lb_info_LocalRule, 0);\n            this.Controls.SetChildIndex(this.lv_shareRuleList, 0);\n            this.Controls.SetChildIndex(this.bt_replace, 0);\n            this.contextMenuStrip_shareRuleList.ResumeLayout(false);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.Label lb_info_1;\n        private WatermakTextBox watermakTextBox_ruleToken;\n        private System.Windows.Forms.Button bt_getRule;\n        private MyListView lv_remote_responseRuleList;\n        private System.Windows.Forms.ColumnHeader columnHeader3;\n        private System.Windows.Forms.ColumnHeader columnHeader_responseRule;\n        private MyListView lv_remote_requestRuleList;\n        private System.Windows.Forms.ColumnHeader columnHeader1;\n        private System.Windows.Forms.ColumnHeader columnHeader_requstRule;\n        private System.Windows.Forms.Button bt_merge;\n        private System.Windows.Forms.Label lb_info_2;\n        private System.Windows.Forms.Label lb_info_LocalRule;\n        private System.Windows.Forms.Label lb_info_SharedRule;\n        private System.Windows.Forms.Label lb_info_RemoteRule;\n        private System.Windows.Forms.ListView lv_shareRuleList;\n        private System.Windows.Forms.ColumnHeader columnHeader2;\n        private System.Windows.Forms.ColumnHeader columnHeader4;\n        private System.Windows.Forms.ContextMenuStrip contextMenuStrip_shareRuleList;\n        private System.Windows.Forms.ToolStripMenuItem copyThisTokenToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem deleteThisTokenToolStripMenuItem;\n        private System.Windows.Forms.Button bt_replace;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/GetRemoteRuleWindow.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.FiddlerHelper;\nusing FreeHttp.FreeHttpControl.ControlHelper;\nusing FreeHttp.WebService;\nusing FreeHttp.WebService.DataModel;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nusing static FreeHttp.WebService.RemoteRuleService;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class GetRemoteRuleWindow : MyBaseInfoWindow\n    {\n        public enum ShowRuleCollectionType\n        {\n            RemoteRule = 0,\n            SharedRule = 1,\n            LocalRule = 2\n        }\n\n        FreeHttpWindow mainWindow;\n        ShareRuleService shareRuleService;\n        RuleInfoWindow myListViewCBallon;\n        RuleDetails localRuleDetails;\n        RuleDetails nowRuleDetails;\n        LoadWindowService loadWindowService;\n\n        private ShowRuleCollectionType nowShowType = ShowRuleCollectionType.RemoteRule;\n        private Point lv_requestRuleOriginLocation = new Point(2, 72);\n        private Point lv_responseRuleOriginLocation = new Point(2, 293);\n        private int lv_requestRuleOriginHeight = 220;\n        private int lv_requestRuleOriginWidth = 626;\n\n\n        public GetRemoteRuleWindow(FreeHttpWindow freeHttpWindow , ShowRuleCollectionType expectType= ShowRuleCollectionType.RemoteRule)\n        {\n            InitializeComponent();\n            nowShowType = expectType;\n            mainWindow = freeHttpWindow;\n            lv_remote_requestRuleList.SmallImageList = mainWindow.imageList_forTab;\n            lv_remote_responseRuleList.SmallImageList = mainWindow.imageList_forTab;\n            loadWindowService = new LoadWindowService();\n        }\n        \n        public void GotoPrvateRule(string ruleToken)\n        {\n            ShowInfoChange(ShowRuleCollectionType.SharedRule);\n            LoadShareRuleSummary(shareRuleService.NowShareRuleSummary);\n            foreach(ListViewItem item in lv_shareRuleList.Items)\n            {\n                if(item.SubItems[0].Text == ruleToken)\n                {\n                    item.Selected = true;\n                }\n            }\n            lv_shareRuleList_DoubleClick(null, null);\n        }\n        private void SaveShareRule()\n        {\n            List<FiddlerRequestChange> nowFiddlerRequestChangeRuleList = new List<FiddlerRequestChange>();\n            List<FiddlerResponseChange> nowFiddlerResponseChangeRuleList = new List<FiddlerResponseChange>();\n            ActuatorStaticDataCollection nowStaticDataCollection = new ActuatorStaticDataCollection();\n            // new WebService.RuleReportService().UploadRulesAsync<FiddlerRequestChange, FiddlerResponseChange>(FiddlerRequestChangeRuleList, FiddlerResponseChangeRuleList , StaticDataCollection).Wait();\n            if (lv_remote_requestRuleList.CheckedItems!=null && lv_remote_requestRuleList.CheckedItems.Count>0)\n            {\n                foreach(ListViewItem requestItem in lv_remote_requestRuleList.CheckedItems)\n                {\n                    if(!(requestItem.Tag is FiddlerRequestChange))\n                    {\n                        MessageBox.Show(\"data error\");\n                        _ = RemoteLogService.ReportLogAsync(\"requestItem.Tag is not FiddlerRequestChange\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                        return;\n                    }\n                    nowFiddlerRequestChangeRuleList.Add(requestItem.Tag as FiddlerRequestChange);\n                }\n            }\n\n            if (lv_remote_responseRuleList.CheckedItems != null && lv_remote_responseRuleList.CheckedItems.Count > 0)\n            {\n                foreach (ListViewItem reponseItem in lv_remote_responseRuleList.CheckedItems)\n                {\n                    if (!(reponseItem.Tag is FiddlerResponseChange))\n                    {\n                        MessageBox.Show(\"data error\");\n                        _ = RemoteLogService.ReportLogAsync(\"requestItem.Tag is not FiddlerRequestChange\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                        return;\n                    }\n                    nowFiddlerResponseChangeRuleList.Add(reponseItem.Tag as FiddlerResponseChange);\n                }\n            }\n\n            if(nowFiddlerRequestChangeRuleList.Count==0 && nowFiddlerResponseChangeRuleList.Count==0)\n            {\n                MessageBox.Show(\"Please check the rules you want to share\",\"stop\");\n                MyHelper.MyGlobalHelper.markControlService.MarkControl(lv_remote_requestRuleList, System.Drawing.Color.Pink, 2);\n                MyHelper.MyGlobalHelper.markControlService.MarkControl(lv_remote_responseRuleList, System.Drawing.Color.Pink, 2);\n                return;\n            }\n\n            shareRuleService.NowSaveRuleDetails = new RuleDetails() {\n                ModificHttpRuleCollection = new FiddlerModificHttpRuleCollection(nowFiddlerRequestChangeRuleList, nowFiddlerResponseChangeRuleList),\n                StaticDataCollection = localRuleDetails.StaticDataCollection\n            };\n\n            FreeHttp.FreeHttpControl.SaveShareRule saveShareRuleWindow = new SaveShareRule(shareRuleService);\n            saveShareRuleWindow.Owner = this;\n            saveShareRuleWindow.StartPosition = FormStartPosition.CenterParent;\n            saveShareRuleWindow.ShowDialog();\n            return;\n        }\n        private void AddRuleToListView(ListView yourListViews, IFiddlerHttpTamper yourHttpTamper)\n        {\n            int tempListViewItemImageIndex = yourHttpTamper.TamperProtocol == TamperProtocalType.WebSocket ? 4 : yourHttpTamper.IsRawReplace ? 1 : 0;\n            ListViewItem nowRuleItem = new ListViewItem(new string[] { (yourListViews.Items.Count + 1).ToString(), yourHttpTamper.HttpFilter?.GetShowTitle() ?? \"\" }, tempListViewItemImageIndex);\n            nowRuleItem.Tag = yourHttpTamper;\n            nowRuleItem.ToolTipText = yourHttpTamper.HttpFilter.ToString();\n            //nowRuleItem.Checked = yourHttpTamper.IsEnable;\n            yourListViews.Items.Add(nowRuleItem);\n        }\n        private void ClearRemoteRule()\n        {\n            if (myListViewCBallon != null)\n            {\n                myListViewCBallon.Close();\n            }\n            lv_remote_requestRuleList.Items.Clear();\n            lv_remote_responseRuleList.Items.Clear();\n            lb_info_2.Text = \"\";\n            nowRuleDetails = null;\n        }\n        private void GetRemoteRuleWindow_Load(object sender, EventArgs e)\n        {\n            watermakTextBox_ruleToken.AutoCompleteMode = AutoCompleteMode.SuggestAppend;\n            watermakTextBox_ruleToken.AutoCompleteSource = AutoCompleteSource.CustomSource;\n\n            lv_requestRuleOriginLocation = lv_remote_requestRuleList.Location;\n            lv_requestRuleOriginHeight = lv_remote_requestRuleList.Height;\n            localRuleDetails = new RuleDetails() { ModificHttpRuleCollection = mainWindow.ModificHttpRuleCollection, StaticDataCollection = mainWindow.StaticDataCollection };\n            ShowInfoChange(nowShowType);\n            shareRuleService = new ShareRuleService(WebService.UserComputerInfo.GetFreeHttpUser());\n            //_ = shareRuleService.GetShareRuleSummaryAsync();\n            shareRuleService.GetShareRuleSummaryAsync().ContinueWith((rs)=> LoadShareRuleSummary(rs.Result));\n        }\n        private void ShowInfoChange(ShowRuleCollectionType showParameter)\n        {\n            ClearRemoteRule();\n            switch (showParameter)\n            {\n                case ShowRuleCollectionType.RemoteRule:\n                    nowShowType = ShowRuleCollectionType.RemoteRule;\n                    lb_info_RemoteRule.ForeColor = Color.SaddleBrown;\n                    lb_info_SharedRule.ForeColor = lb_info_LocalRule.ForeColor = Color.DarkGray;\n                    lb_info_RemoteRule.BackColor = Color.LavenderBlush;\n                    lb_info_SharedRule.BackColor = lb_info_LocalRule.BackColor = Color.FromArgb(194, 217, 247);\n\n                    lb_info_1.Text = \"remote rule token:\";\n                    lb_info_1.Visible = true;\n                    watermakTextBox_ruleToken.Visible = true;\n                    bt_getRule.Visible = true;\n                    lv_shareRuleList.Visible = false;\n                    lv_remote_requestRuleList.Location = lv_requestRuleOriginLocation;\n                    lv_remote_requestRuleList.Height = lv_requestRuleOriginHeight;\n                    lv_remote_requestRuleList.Width = lv_requestRuleOriginWidth;\n                    lv_remote_responseRuleList.Location = lv_responseRuleOriginLocation;\n                    lv_remote_responseRuleList.Width = lv_requestRuleOriginWidth;\n                    lv_remote_requestRuleList.CheckBoxes = false;\n                    lv_remote_responseRuleList.CheckBoxes = false;\n                    ClearShowShareTakenItemBackColor();\n                    bt_merge.Text = \"Merge Remote Rule\";\n                    bt_replace.Visible = true;\n                    break;\n                case ShowRuleCollectionType.SharedRule:\n                    nowShowType = ShowRuleCollectionType.SharedRule;\n                    lb_info_SharedRule.ForeColor = Color.SaddleBrown;\n                    lb_info_RemoteRule.ForeColor = lb_info_LocalRule.ForeColor = Color.DarkGray;\n                    lb_info_SharedRule.BackColor = Color.LavenderBlush;\n                    lb_info_RemoteRule.BackColor = lb_info_LocalRule.BackColor = Color.FromArgb(194, 217, 247);\n\n                    lb_info_1.Visible = false;\n                    watermakTextBox_ruleToken.Visible = false;\n                    bt_getRule.Visible = true;\n                    lv_shareRuleList.Visible = true;\n                    lv_remote_requestRuleList.Location = new Point(lv_requestRuleOriginLocation.X+ lv_shareRuleList.Width, lv_requestRuleOriginLocation.Y - 40);\n                    lv_remote_requestRuleList.Height = lv_requestRuleOriginHeight + 40;\n                    lv_remote_requestRuleList.Width = lv_requestRuleOriginWidth - lv_shareRuleList.Width;\n                    \n                    lv_remote_responseRuleList.Location = new Point(lv_responseRuleOriginLocation.X + lv_shareRuleList.Width, lv_responseRuleOriginLocation.Y);\n                    lv_remote_responseRuleList.Width = lv_requestRuleOriginWidth - lv_shareRuleList.Width;\n                    lv_remote_requestRuleList.CheckBoxes = false;\n                    lv_remote_responseRuleList.CheckBoxes = false;\n                    bt_merge.Text = \"Merge Share Rule\";\n                    bt_replace.Visible = true;\n                    break;\n                case ShowRuleCollectionType.LocalRule:\n                    nowShowType = ShowRuleCollectionType.LocalRule;\n                    lb_info_LocalRule.ForeColor = Color.SaddleBrown;\n                    lb_info_RemoteRule.ForeColor = lb_info_SharedRule.ForeColor = Color.DarkGray;\n                    lb_info_LocalRule.BackColor = Color.LavenderBlush;\n                    lb_info_RemoteRule.BackColor = lb_info_SharedRule.BackColor = Color.FromArgb(194, 217, 247);\n\n                    lb_info_1.Visible = false;\n                    watermakTextBox_ruleToken.Visible = false;\n                    bt_getRule.Visible = false;\n                    lv_shareRuleList.Visible = false;\n                    lv_remote_requestRuleList.Location = new Point(lv_requestRuleOriginLocation.X, lv_requestRuleOriginLocation.Y - 40);\n                    lv_remote_requestRuleList.Height = lv_requestRuleOriginHeight + 40;\n                    lv_remote_requestRuleList.Width = lv_requestRuleOriginWidth;\n\n                    lv_remote_responseRuleList.Location = lv_responseRuleOriginLocation;\n                    lv_remote_responseRuleList.Width = lv_requestRuleOriginWidth;\n                    lv_remote_requestRuleList.CheckBoxes = true;\n                    lv_remote_responseRuleList.CheckBoxes = true;\n                    ClearShowShareTakenItemBackColor();\n                    bt_merge.Text = \"Save Share Rule\";\n                    bt_replace.Visible = false;\n                    //action\n                    LoadRules(localRuleDetails);\n                    break;\n                default:\n                    MessageBox.Show(\"nonsupport static data type\");\n                    break;\n            }\n            \n        }\n\n        private void LoadShareRuleSummary(ShareRuleSummary shareRuleSummary)\n        {\n            if(shareRuleSummary==null)\n            {\n                _ = RemoteLogService.ReportLogAsync(\"LoadShareRuleSummary fial with null data\", RemoteLogService.RemoteLogOperation.RemoteRule, RemoteLogService.RemoteLogType.Error);\n                return;\n            }\n            if (shareRuleSummary.ShareRuleList?.Count > 0)\n            {\n               \n                var autoCompleteStringCollection = new AutoCompleteStringCollection();\n                foreach (var tempShareToken in shareRuleSummary.ShareRuleList)\n                {\n                    autoCompleteStringCollection.Add(tempShareToken.ShowWholeTag);\n                    this.Invoke(new Action(() => watermakTextBox_ruleToken.AutoCompleteCustomSource.Add(tempShareToken.ShowWholeTag)));\n                }\n            }\n            if (shareRuleSummary.PrivateRuleList?.Count > 0)\n            {\n                lv_shareRuleList.Items.Clear();\n                this.Invoke(new Action(() => FreeHttpControl.MyControlHelper.SetControlFreeze(lv_shareRuleList)));\n                foreach (var tempShareToken in shareRuleSummary.PrivateRuleList)\n                {\n                    lv_shareRuleList.Items.Add(new ListViewItem(new string[] {tempShareToken.Token,tempShareToken.Remark }));\n                }\n                this.Invoke(new Action(() => FreeHttpControl.MyControlHelper.SetControlUnfreeze(lv_shareRuleList)));\n            }\n        }\n\n        private void LoadRules(RuleDetails ruleDetails)\n        {\n            if(ruleDetails==null || (ruleDetails.ModificHttpRuleCollection?.RequestRuleList?.Count<1 && ruleDetails.ModificHttpRuleCollection?.ResponseRuleList?.Count < 1))\n            {\n                lb_info_2.Text = \"your local rule is empty\";\n                return;\n            }\n            foreach (var tempRule in ruleDetails.ModificHttpRuleCollection?.RequestRuleList?? new List<FiddlerRequestChange>())\n            {\n                AddRuleToListView(lv_remote_requestRuleList, tempRule);\n            }\n            foreach (var tempRule in ruleDetails.ModificHttpRuleCollection?.ResponseRuleList??new List<FiddlerResponseChange>())\n            {\n                AddRuleToListView(lv_remote_responseRuleList, tempRule);\n            }\n            lb_info_2.Text = string.Format(\"Get RequestRule:{0} ; ResponseRule:{1} ; StaticData:{2}\", ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count, ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count, ruleDetails.StaticDataCollection?.Count ?? 0);\n            nowRuleDetails = ruleDetails;\n        }\n\n        private RuleDetails GetRuleDetailsFromToken(string shareToken)\n        {\n            RuleDetails ruleDetails = null;\n            try\n            {\n                System.Threading.Tasks.Task<RuleDetails> ruleTask = System.Threading.Tasks.Task.Run(new Func<RuleDetails>(() =>\n                {\n                    //return WebService.RemoteRuleService.GetRemoteRuleAsync(watermakTextBox_ruleToken.Text).GetAwaiter().GetResult();\n                    return shareRuleService.GetShareRuleDetailAsync(shareToken).GetAwaiter().GetResult();\n                }));\n                ruleDetails = ruleTask.GetAwaiter().GetResult();\n                if (ruleDetails == null)\n                {\n                    MessageBox.Show(\"your rule token is not permitted\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                }\n                else if (ruleDetails.ModificHttpRuleCollection == null || ((ruleDetails.ModificHttpRuleCollection.RequestRuleList == null || ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count == 0) && (ruleDetails.ModificHttpRuleCollection.ResponseRuleList == null || ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count == 0)))\n                {\n                    MessageBox.Show(\"can not find any rule in your storage spaces\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    ruleDetails = null;\n                }\n            }\n            catch (Exception ex)\n            {\n                _ = RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.RemoteRule, RemoteLogService.RemoteLogType.Error);\n                ruleDetails = null;\n                MessageBox.Show(ex.Message, \"Error\", MessageBoxButtons.OK, MessageBoxIcon.Error);\n            }\n            return ruleDetails;\n        }\n\n        private void lb_info_showType_Click(object sender, EventArgs e)\n        {\n            ShowRuleCollectionType hereType;\n            if (Enum.TryParse<ShowRuleCollectionType>(((Label)sender).Text, out hereType))\n            {\n                ShowInfoChange(hereType);\n            }\n        }\n        private void bt_getRule_Click(object sender, EventArgs e)\n        {\n            if (string.IsNullOrEmpty(watermakTextBox_ruleToken.Text))\n            {\n                MessageBox.Show(\"just input your rule token\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);\n                return;\n            }\n            string shareToken = watermakTextBox_ruleToken.Text.Contains('[') ? watermakTextBox_ruleToken.Text.Substring(0, watermakTextBox_ruleToken.Text.IndexOf('[')).Trim() : watermakTextBox_ruleToken.Text.Trim();\n            ClearRemoteRule();\n            loadWindowService.StartLoad(this,true);\n            RuleDetails ruleDetails = GetRuleDetailsFromToken(shareToken);\n            loadWindowService.StopLoad();\n            if (ruleDetails == null)\n            {\n                MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);\n                return;\n            }\n            LoadRules(ruleDetails);\n        }\n\n        private ListViewItem nowShowShareTakenListViewItem = null;\n        private void ClearShowShareTakenItemBackColor()\n        {\n            if (nowShowShareTakenListViewItem != null)\n            {\n                MyHelper.MyGlobalHelper.markControlService.SetColor(nowShowShareTakenListViewItem, Color.Azure);\n                nowShowShareTakenListViewItem = null;\n            }\n        }\n        private void lv_shareRuleList_DoubleClick(object sender, EventArgs e)\n        {\n            ListViewItem tempListViewItem = lv_shareRuleList.SelectedItems[0];\n            loadWindowService.StartLoad(this, true);\n            RuleDetails ruleDetails = GetRuleDetailsFromToken(tempListViewItem.SubItems[0].Text);\n            loadWindowService.StopLoad();\n            if(ruleDetails==null)\n            {\n                MessageBox.Show(\"get share taken fail\", \"Fail\", MessageBoxButtons.OK, MessageBoxIcon.Error);\n                MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);\n                return;\n            }\n\n            ClearRemoteRule();\n            ClearShowShareTakenItemBackColor();\n            MyHelper.MyGlobalHelper.markControlService.SetColor(tempListViewItem, Color.Pink);\n            nowShowShareTakenListViewItem = tempListViewItem;\n            LoadRules(ruleDetails);\n        }\n\n        private void copyThisTokenToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if(lv_shareRuleList.SelectedItems?.Count>0)\n            {\n                Clipboard.SetText(lv_shareRuleList.SelectedItems[0].SubItems[0].Text, TextDataFormat.Text);\n                MessageBox.Show($\"{lv_shareRuleList.SelectedItems[0].SubItems[0].Text} has been copied to the clipboard\", \"copied\");\n            }\n        }\n\n        private async void deleteThisTokenToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (lv_shareRuleList.SelectedItems?.Count > 0)\n            {\n                ListViewItem tempListViewItem = lv_shareRuleList.SelectedItems[0];\n                if (await shareRuleService.DeleteShareRuleDetailAsync(tempListViewItem.SubItems[0].Text))\n                {\n                    MessageBox.Show(\"Delete has succeed\", \"succeed\",MessageBoxButtons.OK,MessageBoxIcon.Information);\n                    lv_shareRuleList.Items.Remove(tempListViewItem);\n                    if(nowShowShareTakenListViewItem== tempListViewItem)\n                    {\n                        ClearRemoteRule();\n                        nowShowShareTakenListViewItem = null;\n                    }\n                }\n                else\n                {\n                    MessageBox.Show(\"delete share taken fail\",\"Fail\",MessageBoxButtons.OK,MessageBoxIcon.Error);\n                }\n            }\n            else\n            {\n                MessageBox.Show(\"Please choose the item that your want delete first\");\n            }\n        }\n\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        private void lv_remote_ruleList_MouseDoubleClick(object sender, EventArgs e)\n        {\n            if ((sender as ListView)?.SelectedItems.Count == 0) return;\n            ListViewItem nowListViewItem = (sender as ListView)?.SelectedItems[0];\n            if (nowListViewItem == null) return;\n            Point myPosition = new Point(nowListViewItem.Bounds.X, nowListViewItem.Bounds.Y);\n            myPosition = nowListViewItem.ListView.PointToScreen(myPosition);\n            myPosition = this.PointToClient(myPosition);\n            myPosition.Offset(30, 10);\n            if(myListViewCBallon!=null)\n            {\n                myListViewCBallon.Close();\n            }\n            myListViewCBallon = new RuleInfoWindow(nowListViewItem);\n            myListViewCBallon.Owner = this;\n            myListViewCBallon.HasShadow = true;\n            myListViewCBallon.setBalloonPosition(this, myPosition, new Size(0, 0));\n            myListViewCBallon.Show();\n            myListViewCBallon.UpdateBalloonPosition(myPosition);\n        }\n\n        private void GetRemoteRuleWindow_FormClosing(object sender, FormClosingEventArgs e)\n        {\n            if (myListViewCBallon != null)\n            {\n                myListViewCBallon.Close();\n            }\n        }\n\n        private void bt_merge_Click(object sender, EventArgs e)\n        {\n            switch(nowShowType)\n            {\n                case ShowRuleCollectionType.RemoteRule:\n                    if (nowRuleDetails == null)\n                    {\n                        MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);\n                        MessageBox.Show(\"please get remore rule first\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                        return;\n                    }\n                    mainWindow.MergeRuleStorage(nowRuleDetails);\n                    MessageBox.Show(\"Complete the merge rule\", \"Complete\", MessageBoxButtons.OK, MessageBoxIcon.Information);\n                    this.Close();\n                    break;\n                case ShowRuleCollectionType.SharedRule:\n                    if (nowRuleDetails == null)\n                    {\n                        MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);\n                        MessageBox.Show(\"please select and load share rule first\\r\\ndouble click to loading rule\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                        return;\n                    }\n                    mainWindow.MergeRuleStorage(nowRuleDetails);\n                    MessageBox.Show(\"Complete the merge rule\", \"Complete\", MessageBoxButtons.OK, MessageBoxIcon.Information);\n                    this.Close();\n                    break;\n                case ShowRuleCollectionType.LocalRule:\n                    SaveShareRule();\n                    break;\n                default:\n                    MessageBox.Show(\"Unknow state\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    break;\n            }\n        }\n\n        private void bt_replace_Click(object sender, EventArgs e)\n        {\n            switch (nowShowType)\n            {\n                case ShowRuleCollectionType.RemoteRule:\n                case ShowRuleCollectionType.SharedRule:\n                    if (nowRuleDetails == null)\n                    {\n                        MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);\n                        MessageBox.Show(\"please select share rule first\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                        return;\n                    }\n                    if (MessageBox.Show(\"This operation will removes all local rules and replace with the remote rules \\r\\nwhether to confirm \", \"Confirm\", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)\n                    {\n                        mainWindow.ReplaceRuleStorage(nowRuleDetails);\n                        MessageBox.Show(\"Complete the replacement rule\", \"Complete\", MessageBoxButtons.OK, MessageBoxIcon.Information);\n                        this.Close();\n                    }\n                    break;\n                default:\n                    MessageBox.Show(\"Unknow state\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    break;\n            }\n        }\n\n        #region public event helper\n        private void lb_info_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((Label)sender).BackColor = Color.LavenderBlush;\n        }\n\n        private void lb_info_MouseLeave(object sender, EventArgs e)\n        {\n            if(sender== lb_info_RemoteRule && nowShowType== ShowRuleCollectionType.RemoteRule ||\n                sender == lb_info_SharedRule && nowShowType == ShowRuleCollectionType.SharedRule||\n                    sender == lb_info_LocalRule && nowShowType == ShowRuleCollectionType.LocalRule)\n            {\n                return;\n            }\n            ((Label)sender).BackColor = Color.FromArgb(194, 217, 247);\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n        #endregion\n\n       \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/GetRemoteRuleWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"contextMenuStrip_shareRuleList.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAICAAAAAAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbEgIAXD8HAIFY\n        CgCUZQsAlGULAJRlCwCUZQsAlGULAJRlCwCUZQsAlGULAJRlCwCUZQsAlGULAJRlCwCUZQsAlGULAJRl\n        CwCUZQsAlGULAI1hCwBpSAgANSQEAAMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARDAEAiF0LANaT\n        ESzblhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/v4IPpUgxBgAAAAAAAAAAAAAAAAAAAAAAFQ4BALd+\n        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\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAIBAABfQQh5xIYQ/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9KQEf93Ugn/EQwBsgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAgAANSQEQ2lICP+CWAr/jWEL/29MCf9FLwX/DAgBjAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA///////////////////////////wAAAP4AAAA8AAAAGH///hj///+A//\n        //gP+f/4D/H//I/x//iP8f/4h+P/+MAD//DgB/+B+B/+A/4//g/+P/4//x/8P/8f/H//D/h//4Pw///A\n        Af//4AP///gP//////////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/HttpFilterWindow.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class HttpFilterWindow\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HttpFilterWindow));\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.cb_macthMode = new System.Windows.Forms.ComboBox();\n            this.rtb_bodyFilter = new System.Windows.Forms.RichTextBox();\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.cb_macthUriMode = new System.Windows.Forms.ComboBox();\n            this.tb_urlFilter = new System.Windows.Forms.TextBox();\n            this.lb_info_2 = new System.Windows.Forms.Label();\n            this.tbe_urlFilter = new FreeHttp.FreeHttpControl.TextBoxEditer();\n            this.FilterHeads = new FreeHttp.FreeHttpControl.EditListView();\n            this.lb_info_3 = new System.Windows.Forms.Label();\n            this.tb_RuleAlias = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.SuspendLayout();\n            // \n            // bt_ok\n            // \n            this.bt_ok.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.bt_ok.Location = new System.Drawing.Point(537, 318);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 9;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);\n            // \n            // cb_macthMode\n            // \n            this.cb_macthMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cb_macthMode.FormattingEnabled = true;\n            this.cb_macthMode.Items.AddRange(new object[] {\n            \"Contain\",\n            \"StartWith\",\n            \"Is\",\n            \"Regex\",\n            \"AllPass\"});\n            this.cb_macthMode.Location = new System.Drawing.Point(5, 241);\n            this.cb_macthMode.Name = \"cb_macthMode\";\n            this.cb_macthMode.Size = new System.Drawing.Size(95, 20);\n            this.cb_macthMode.TabIndex = 10;\n            this.cb_macthMode.SelectedIndexChanged += new System.EventHandler(this.cb_macthMode_SelectedIndexChanged);\n            // \n            // rtb_bodyFilter\n            // \n            this.rtb_bodyFilter.Location = new System.Drawing.Point(109, 216);\n            this.rtb_bodyFilter.Name = \"rtb_bodyFilter\";\n            this.rtb_bodyFilter.Size = new System.Drawing.Size(501, 100);\n            this.rtb_bodyFilter.TabIndex = 11;\n            this.rtb_bodyFilter.Text = \"\";\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(5, 221);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(101, 12);\n            this.lb_info_1.TabIndex = 12;\n            this.lb_info_1.Text = \"HTTP Body Filter\";\n            // \n            // cb_macthUriMode\n            // \n            this.cb_macthUriMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cb_macthUriMode.FormattingEnabled = true;\n            this.cb_macthUriMode.Items.AddRange(new object[] {\n            \"Contain\",\n            \"StartWith\",\n            \"EndWith\",\n            \"Is\",\n            \"Regex\",\n            \"AllPass\"});\n            this.cb_macthUriMode.Location = new System.Drawing.Point(84, 6);\n            this.cb_macthUriMode.Name = \"cb_macthUriMode\";\n            this.cb_macthUriMode.Size = new System.Drawing.Size(89, 20);\n            this.cb_macthUriMode.TabIndex = 14;\n            // \n            // tb_urlFilter\n            // \n            this.tb_urlFilter.AllowDrop = true;\n            this.tb_urlFilter.Location = new System.Drawing.Point(179, 5);\n            this.tb_urlFilter.Name = \"tb_urlFilter\";\n            this.tb_urlFilter.Size = new System.Drawing.Size(433, 21);\n            this.tb_urlFilter.TabIndex = 13;\n            this.tb_urlFilter.Enter += new System.EventHandler(this.tb_urlFilter_Enter);\n            this.tb_urlFilter.Leave += new System.EventHandler(this.tb_urlFilter_Leave);\n            // \n            // lb_info_2\n            // \n            this.lb_info_2.AutoSize = true;\n            this.lb_info_2.Location = new System.Drawing.Point(7, 9);\n            this.lb_info_2.Name = \"lb_info_2\";\n            this.lb_info_2.Size = new System.Drawing.Size(65, 12);\n            this.lb_info_2.TabIndex = 15;\n            this.lb_info_2.Text = \"Uri Filter\";\n            // \n            // tbe_urlFilter\n            // \n            this.tbe_urlFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.tbe_urlFilter.BackColor = System.Drawing.SystemColors.Window;\n            this.tbe_urlFilter.EditTextBox = this.tb_urlFilter;\n            this.tbe_urlFilter.Location = new System.Drawing.Point(589, 5);\n            this.tbe_urlFilter.MainContainerControl = this;\n            this.tbe_urlFilter.Name = \"tbe_urlFilter\";\n            this.tbe_urlFilter.Size = new System.Drawing.Size(21, 21);\n            this.tbe_urlFilter.TabIndex = 51;\n            // \n            // FilterHeads\n            // \n            this.FilterHeads.ColumnHeaderName = \"Head Filter\";\n            this.FilterHeads.IsItemUnique = true;\n            this.FilterHeads.IsKeyValue = true;\n            this.FilterHeads.Location = new System.Drawing.Point(2, 31);\n            this.FilterHeads.Name = \"FilterHeads\";\n            this.FilterHeads.Size = new System.Drawing.Size(610, 181);\n            this.FilterHeads.SplitStr = \"  <contain> \";\n            this.FilterHeads.TabIndex = 2;\n            // \n            // lb_info_3\n            // \n            this.lb_info_3.AutoSize = true;\n            this.lb_info_3.Location = new System.Drawing.Point(6, 323);\n            this.lb_info_3.Name = \"lb_info_3\";\n            this.lb_info_3.Size = new System.Drawing.Size(65, 12);\n            this.lb_info_3.TabIndex = 52;\n            this.lb_info_3.Text = \"Rule Alias\";\n            // \n            // tb_RuleAlias\n            // \n            this.tb_RuleAlias.Location = new System.Drawing.Point(108, 319);\n            this.tb_RuleAlias.Name = \"tb_RuleAlias\";\n            this.tb_RuleAlias.Size = new System.Drawing.Size(423, 21);\n            this.tb_RuleAlias.TabIndex = 53;\n            this.tb_RuleAlias.WatermarkText = \"set the rule alias if it is exist\";\n            // \n            // HttpFilterWindow\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(614, 344);\n            this.Controls.Add(this.tb_RuleAlias);\n            this.Controls.Add(this.lb_info_3);\n            this.Controls.Add(this.tbe_urlFilter);\n            this.Controls.Add(this.lb_info_2);\n            this.Controls.Add(this.cb_macthUriMode);\n            this.Controls.Add(this.tb_urlFilter);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.rtb_bodyFilter);\n            this.Controls.Add(this.cb_macthMode);\n            this.Controls.Add(this.bt_ok);\n            this.Controls.Add(this.FilterHeads);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"HttpFilterWindow\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"HttpFilterWindow\";\n            this.Deactivate += new System.EventHandler(this.HttpFilterWindow_Deactivate);\n            this.Load += new System.EventHandler(this.HttpFilterWindow_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private EditListView FilterHeads;\n        private System.Windows.Forms.Button bt_ok;\n        private System.Windows.Forms.ComboBox cb_macthMode;\n        private System.Windows.Forms.RichTextBox rtb_bodyFilter;\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.ComboBox cb_macthUriMode;\n        private System.Windows.Forms.TextBox tb_urlFilter;\n        private System.Windows.Forms.Label lb_info_2;\n        private TextBoxEditer tbe_urlFilter;\n        private System.Windows.Forms.Label lb_info_3;\n        private WatermakTextBox tb_RuleAlias;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/HttpFilterWindow.cs",
    "content": "﻿using FreeHttp.FiddlerHelper;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nusing static FreeHttp.FreeHttpControl.FreeHttpWindow;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class HttpFilterWindow : Form\n    {\n        public HttpFilterWindow()\n        {\n            InitializeComponent();\n        }\n\n        FiddlerHttpFilter httpFilter;\n        TamperProtocalType protocolMode;\n        public HttpFilterWindow(object filter , TamperProtocalType mode = TamperProtocalType.Http) :this()\n        {\n            httpFilter = filter as FiddlerHttpFilter;\n            protocolMode = mode;\n        }\n\n        private void HttpFilterWindow_Load(object sender, EventArgs e)\n        {\n            //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.MaximumSize = this.Size;\n            this.MinimumSize = this.Size;\n            tbe_urlFilter.Visible = tb_urlFilter.Focused;\n            tbe_urlFilter.OnCloseEditBox += tbe_urlFilter_OnCloseEditBox;\n            if (httpFilter == null)\n            {\n                MessageBox.Show(\"your FiddlerHttpFilter is null\",\"error\",MessageBoxButtons.OK,MessageBoxIcon.Error);\n                this.Close();\n                return;\n            }\n\n            if(httpFilter.UriMatch!=null)\n            {\n                cb_macthUriMode.Text = httpFilter.UriMatch.MatchMode.ToString();\n                tb_urlFilter.Text = string.IsNullOrEmpty(httpFilter.UriMatch.MatchUri) ? \"\" : httpFilter.UriMatch.MatchUri;\n            }\n            else\n            {\n                cb_macthUriMode.SelectedIndex = 0;\n            }\n\n            if(httpFilter.HeadMatch!=null)\n            {\n                foreach(var tempHeadsFilter in httpFilter.HeadMatch.HeadsFilter)\n                {\n                    FilterHeads.ListDataView.Items.Add(string.Format(\"{0}{1}{2}\", tempHeadsFilter.Key, FilterHeads.SplitStr, tempHeadsFilter.Value));\n                }\n            }\n\n            if(httpFilter.BodyMatch!=null)\n            {\n                cb_macthMode.Text = httpFilter.BodyMatch.MatchMode.ToString();\n                rtb_bodyFilter.Text = string.IsNullOrEmpty(httpFilter.BodyMatch.MatchUri) ? \"\" : httpFilter.BodyMatch.MatchUri;\n            }\n            else\n            {\n                cb_macthMode.SelectedIndex = 4;\n            }\n\n            if(!string.IsNullOrEmpty(httpFilter.Name))\n            {\n                tb_RuleAlias.Text = httpFilter.Name;\n            }\n            \n            if(protocolMode == TamperProtocalType.WebSocket)\n            {\n                this.Text = \"WebsocketFilterWindow\";\n                FilterHeads.Enabled = false;\n                lb_info_1.Text = \"Payload Filter\";\n            }\n        }\n\n        private void bt_ok_Click(object sender, EventArgs e)\n        {\n            FiddlerUriMatchMode matchUriMode = FiddlerUriMatchMode.AllPass;\n            if (!Enum.TryParse<FiddlerUriMatchMode>(cb_macthUriMode.Text, out matchUriMode))\n            {\n                throw new Exception(\"get error FiddlerUriMatchMode\");\n            }\n            if (httpFilter.UriMatch!=null)\n            {\n                httpFilter.UriMatch.MatchMode = matchUriMode;\n                httpFilter.UriMatch.MatchUri = tb_urlFilter.Text;\n            }\n            else\n            {\n                httpFilter.UriMatch = new FiddlerUriMatch(matchUriMode, tb_urlFilter.Text);\n            }\n\n            if(FilterHeads.ListDataView.Items.Count>0)\n            {\n                httpFilter.HeadMatch = new FiddlerHeadMatch();\n                foreach (ListViewItem tempLv in FilterHeads.ListDataView.Items)\n                {\n                    string tempStr = tempLv.Text;\n                    string tempKey;\n                    string tempVaule;\n                    if (tempStr.Contains(FilterHeads.SplitStr))\n                    {\n                        tempKey = tempStr.Remove(tempStr.IndexOf(FilterHeads.SplitStr));\n                        tempVaule = tempStr.Substring(tempStr.IndexOf(FilterHeads.SplitStr) + FilterHeads.SplitStr.Length);\n                        httpFilter.HeadMatch.AddHeadMatch(new MyKeyValuePair<string, string>(tempKey, tempVaule));\n                    }\n                    else\n                    {\n                        httpFilter.HeadMatch.AddHeadMatch(new MyKeyValuePair<string, string>(tempStr, \"\"));\n                    }\n                }\n            }\n            else\n            {\n                httpFilter.HeadMatch = null;\n            }\n\n            FiddlerUriMatchMode matchMode = FiddlerUriMatchMode.AllPass;\n            if (!Enum.TryParse<FiddlerUriMatchMode>(cb_macthMode.Text, out matchMode))\n            {\n                throw new Exception(\"get error FiddlerBodyMatchMode\");\n            }\n            if (matchMode == FiddlerUriMatchMode.AllPass || (rtb_bodyFilter.Text == \"\" && matchMode != FiddlerUriMatchMode.Is))\n            {\n                    httpFilter.BodyMatch = null;\n            }\n            else\n            {\n                try\n                {\n                    httpFilter.BodyMatch = new FiddlerBodyMatch(matchMode, rtb_bodyFilter.Text);\n                }\n                catch(Exception ex)\n                {\n                    MessageBox.Show(string.Format(\"your body filter is illage \\r\\n{0}\", ex.Message), \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    return;\n                }\n            }\n\n            if (tb_RuleAlias.Text!=null)\n            {\n                httpFilter.Name = tb_RuleAlias.Text;\n            }\n\n            this.Close();\n        }\n\n        private void cb_macthMode_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            if(cb_macthMode.SelectedIndex==4)\n            {\n                rtb_bodyFilter.Clear();\n                rtb_bodyFilter.Enabled = false;\n            }\n            else\n            {\n                rtb_bodyFilter.Enabled = true;\n            }\n        }\n\n\n        void tbe_urlFilter_OnCloseEditBox(object sender, TextBoxEditer.CloseEditBoxEventArgs e)\n        {\n            //如果主窗口失活导致编辑窗关闭，不会有textbox Leave的事件\n            tbe_urlFilter.Visible = false;\n        }\n\n        private void HttpFilterWindow_Deactivate(object sender, EventArgs e)\n        {\n            tbe_urlFilter.CloseRichTextBox();\n            tbe_urlFilter.Visible = tb_urlFilter.Focused;\n        }\n\n        private void tb_urlFilter_Enter(object sender, EventArgs e)\n        {\n            tbe_urlFilter.Visible = true;\n        }\n\n        private void tb_urlFilter_Leave(object sender, EventArgs e)\n        {\n            if (!(tbe_urlFilter.IsShowEditRichTextBox))\n            {\n                tbe_urlFilter.Visible = false;\n            }\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/HttpFilterWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAMQOAADEDgAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA25URsNqVEH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANqWEubblhL/25YS/9uWEv/flxAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADalhLy25YS/9uWEv/blhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/dlg9EAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2pYS5NuWEv/blhL/25YS/9uWEv/blhL/25YS9QAA\n        AADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/clRI6AAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN6YEC/blhL/25YS/9uW\n        Ev/blhL/25YRzgAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuX\n        EDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuXEDHblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuX\n        EDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuXEDHblhL/25YS/9uW\n        Ev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuX\n        EDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/dlg9EAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuXEDHblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/dlg9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANqWEvLblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2pYPItuWEv/blhL/25YS/9uV\n        EbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADalRGY25YS/9uWEv/blhL/25UR/QAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblA8y25YS/9uW\n        Ev/blhL/25YS/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YRiNuWEv/blhL/25YS/9uW\n        ED8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/blhL/25QSOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuW\n        Ev/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuWEaLblhL/25YS/9uWEv/dkxEtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANyVEh3blhL/25YS/9uWEv/blhK4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9qVEvQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhHu25YS/9uWEv/blhL/25YRxQAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2pUS9NuWEv/blhL/25YS/wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YS/9uWEv/blhL/25YS/wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADalhH525YS/9uWEv/blhL/2pYRpwAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuW\n        Ev/blhL/25YS/9uWEf4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuUDzLblhL/25YS/9uW\n        Ev/clhGXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuWEYXblhL/25YS/9uWEv/blQ9GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuW\n        Ev/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/AAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA25URsNuWEv/blhL/25YS/96WDScAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADclRId25YS/9uWEv/blhL/25YS/wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADblhG/25YS/9uWEv/blhL/2pUS9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ZkNFNuW\n        Ev/blhL/25YS/9uWEswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/AAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANqVEfvblhL/25YS/9uWEv8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhH+AAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25QSOduWEv/blhL/25YS/9uW\n        EZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADalhKD25YS/9uWEv/blhL/25YS/wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YS/9uW\n        Ev/blhL/25YS/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2pYR+duW\n        Ev/blhL/25YS/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADblhL/25YS/9uWEv/blhL/3pYNJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuWEb/blhL/25YS/9uWEv/clRIdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANmZDRTblhL/25YS/9uWEv/alhHRAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25QPMgAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25UR/duWEv/blhL/25YS/wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25YS/9uW\n        Ev/blhL/25YS/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uWEv/blhL/25URlQAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADblhL/25YS/9uW\n        Ev/blRH9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAANqWEfnblhL/25YS/9uWEv8AAAAAAAAAAAAAAAAAAAAAAAAAANuW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/AAAAAAAA\n        AAAAAAAAAAAAANuWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL///8AAQAAAAAAAAAAAAAAANuWEc7blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uWEv/blhL/25YS/9uW\n        Ev/blhL/25YS/9uWEv/blhHTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////4///\n        AAD///+D//8AAP///gP//wAA///4A///AAD///Bj//8AAP//wOP//wAA///D4///AAD//8fj//8AAP//\n        x+P//wAA///H4///AAD//8fj//8AAP//x+P//wAA///H4///AAD//8fj//8AAP//x+P//wAA///H4///\n        AAD//8fj//8AAP//x+P//wAA///H4///AAD//8fj//8AAP//x+H//wAA//+P8f//AAD//w/4//8AAP/+\n        H/h//wAA//4//H//AAD//H/+P/8AAP/8f/4f/wAA//j//x//AAD/8f//j/8AAP/h//+H/wAA/+P//8P/\n        AAD/x///4/8AAP+H///h/wAA/4////H/AAD/H///+H8AAP4f///8fwAA/D////w/AAD8f////j8AAPh/\n        ///+HwAA+P////8PAADh/////4cAAOP/////xwAAwAAAAAADAADAAAAAAAMAAOAAAAAABwAA////////\n        AAA=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyBaseInfoWindow.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.Drawing;\nusing System.ComponentModel;\n\n\n/*******************************************************************************\n* Copyright (c) 2015 lijie\n* All rights reserved.\n* \n* 文件名称: \n* 内容摘要: mycllq@hotmail.com\n* \n* 历史记录:\n* 日\t  期:   201505016           创建人: 李杰 15158155511\n* 描    述: 创建\n*******************************************************************************/\n\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class MyBaseInfoWindow : Form\n    {\n        private void InitializeComponent()\n        {\n            this.lb_info = new System.Windows.Forms.Label();\n            this.pictureBox_hide = new System.Windows.Forms.PictureBox();\n            this.pictureBox_close = new System.Windows.Forms.PictureBox();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_hide)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_close)).BeginInit();\n            this.SuspendLayout();\n            // \n            // lb_info\n            // \n            this.lb_info.AutoSize = true;\n            this.lb_info.Font = new System.Drawing.Font(\"宋体\", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info.ForeColor = System.Drawing.Color.SaddleBrown;\n            this.lb_info.Location = new System.Drawing.Point(3, 4);\n            this.lb_info.Name = \"lb_info\";\n            this.lb_info.Size = new System.Drawing.Size(111, 13);\n            this.lb_info.TabIndex = 12;\n            this.lb_info.Text = \"CaseParameter\";\n            // \n            // pictureBox_hide\n            // \n            this.pictureBox_hide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_hide.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_hide.Image = global::FreeHttp.Properties.Resources.minimize;\n            this.pictureBox_hide.Location = new System.Drawing.Point(344, 3);\n            this.pictureBox_hide.Name = \"pictureBox_hide\";\n            this.pictureBox_hide.Size = new System.Drawing.Size(23, 23);\n            this.pictureBox_hide.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox_hide.TabIndex = 13;\n            this.pictureBox_hide.TabStop = false;\n            this.pictureBox_hide.Click += new System.EventHandler(this.pictureBox_hide_Click);\n            this.pictureBox_hide.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pictureBox_hide.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // pictureBox_close\n            // \n            this.pictureBox_close.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_close.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_close.Image = global::FreeHttp.Properties.Resources.close;\n            this.pictureBox_close.Location = new System.Drawing.Point(373, 3);\n            this.pictureBox_close.Name = \"pictureBox_close\";\n            this.pictureBox_close.Size = new System.Drawing.Size(23, 23);\n            this.pictureBox_close.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox_close.TabIndex = 10;\n            this.pictureBox_close.TabStop = false;\n            this.pictureBox_close.Click += new System.EventHandler(this.pictureBox_close_Click);\n            this.pictureBox_close.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pictureBox_close.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // MyBaseInfoWindow\n            // \n            this.BackColor = System.Drawing.SystemColors.GradientActiveCaption;\n            this.ClientSize = new System.Drawing.Size(400, 250);\n            this.Controls.Add(this.pictureBox_hide);\n            this.Controls.Add(this.lb_info);\n            this.Controls.Add(this.pictureBox_close);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;\n            this.Name = \"MyBaseInfoWindow\";\n            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MyBaseInfoWindow_FormClosing);\n            this.Load += new System.EventHandler(this.myCaseParameter_Load);\n            this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.MyBaseInfoWindow_MouseDown);\n            this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.MyBaseInfoWindow_MouseMove);\n            this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.MyBaseInfoWindow_MouseUp);\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_hide)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_close)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        public MyBaseInfoWindow()\n        {\n            InitializeComponent();\n        }\n\n        private System.Windows.Forms.PictureBox pictureBox_close;\n        private System.Windows.Forms.Label lb_info;\n        private PictureBox pictureBox_hide;\n        private Timer myUpdataTime = new Timer();\n        private int intervalTime = 0;\n\n        private string myWindowName = \"unknow\";\n        private bool isShowHideBox = true;\n\n        /// <summary>\n        /// 获取或设置自定义窗体名称\n        /// </summary>\n        [DescriptionAttribute(\"窗体名称\")]\n        public string WindowName\n        {\n            get { return myWindowName; }\n            set\n            {\n                myWindowName =this.Text=lb_info.Text= value; \n            }\n        }\n\n        /// <summary>\n        /// 获取或设置是否显示最最小化按钮\n        /// </summary>\n        [Description(\"是否显示最最小化按钮\")]\n        public bool IsShowHideBox\n        {\n            get { return isShowHideBox; }\n            set { isShowHideBox = pictureBox_hide.Visible= value; }\n        }\n\n        /// <summary>\n        /// 获取或设置定时刷新窗体的时间\n        /// </summary>\n        [Description(\"获取或设置定时刷新窗体的时间\")]\n        public int IntervalTime\n        {\n            get { return intervalTime; }\n            set { intervalTime = value; }\n        }\n\n        public void myCaseParameter_Load(object sender, EventArgs e)\n        {\n            pictureBox_hide.Visible = isShowHideBox;\n            this.TopMost = false;\n            if (IntervalTime > 0)\n            {\n                myUpdataTime.Interval = IntervalTime;\n                myUpdataTime.Enabled = true;\n                myUpdataTime.Tick += new EventHandler(myUpdataTime_Tick);\n                myUpdataTime.Start();\n            }\n\n            lb_info.Text = myWindowName;\n            this.Text = myWindowName;\n            this.MaximizeBox = false;\n\n            pictureBox_hide.Location = new Point(this.Width - 56, 4);\n            pictureBox_close.Location = new Point(this.Width - 27, 4);\n            this.Resize += MyChildWindow_Resize;\n        }\n\n        void MyChildWindow_Resize(object sender, EventArgs e)\n        {\n            pictureBox_hide.Location = new Point(this.Width - 56, 4);\n            pictureBox_close.Location = new Point(this.Width - 27, 4);\n        }\n\n        public void myUpdataTime_Tick(object sender, EventArgs e)\n        {\n            VirtualUpdataTime_Tick();\n        }\n\n        public virtual void VirtualUpdataTime_Tick() \n        {\n        }\n\n        private void pictureBox_close_Click(object sender, EventArgs e)\n        {\n            this.Close();\n        }\n\n        private void pictureBox_hide_Click(object sender, EventArgs e)\n        {\n            this.WindowState = FormWindowState.Minimized;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n\n        bool isMoveForm = false;\n        Point myFormStartPos = new Point(0, 0);\n        Point tempCrtPos = new Point(0, 0);\n\n        private void MyBaseInfoWindow_MouseDown(object sender, MouseEventArgs e)\n        {\n            if (e.Button == MouseButtons.Left)\n            {\n                isMoveForm = true;\n                myFormStartPos = new Point(-e.X, -e.Y);//相对当前控件的鼠标位置\n                tempCrtPos = PointToScreen(new Point(-this.Location.X,-this.Location.Y)); //控件相对与容器转换为相对于屏幕\n            }\n        }\n\n        private void MyBaseInfoWindow_MouseUp(object sender, MouseEventArgs e)\n        {\n            isMoveForm = false;\n        }\n\n        private void MyBaseInfoWindow_MouseMove(object sender, MouseEventArgs e)\n        {\n            \n            if (isMoveForm)\n            {\n                Point nowMousePos = Control.MousePosition;//鼠标光标相对屏幕的位置\n                nowMousePos.Offset(myFormStartPos);\n                //this.Location = nowMousePos;//相对于父窗体，（如果没有父窗体则可以这样用）\n                this.Location = new Point(nowMousePos.X - tempCrtPos.X, nowMousePos.Y - tempCrtPos.Y);\n            }\n        }\n\n        private void MyBaseInfoWindow_FormClosing(object sender, FormClosingEventArgs e)\n        {\n             myUpdataTime.Tick -= new EventHandler(myUpdataTime_Tick);\n        }\n\n       \n\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyBaseInfoWindow.resx",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/AddParameterPickBox.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl.MyControl\n{\n    partial class AddParameterPickBox\n    {\n        /// <summary> \n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary> \n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary> \n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.components = new System.ComponentModel.Container();\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddParameterPickBox));\n            this.cb_ParameterType = new System.Windows.Forms.ComboBox();\n            this.cb_ParameterTypeAddition = new System.Windows.Forms.ComboBox();\n            this.pb_add = new System.Windows.Forms.PictureBox();\n            this.pb_remove = new System.Windows.Forms.PictureBox();\n            this.tb_ParameterExpression = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.tb_ParameterName = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.cb_pickRange = new System.Windows.Forms.ComboBox();\n            this.errorProvider_addParameter = new System.Windows.Forms.ErrorProvider(this.components);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_add)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_remove)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.errorProvider_addParameter)).BeginInit();\n            this.SuspendLayout();\n            // \n            // cb_ParameterType\n            // \n            this.cb_ParameterType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cb_ParameterType.FormattingEnabled = true;\n            this.cb_ParameterType.Items.AddRange(new object[] {\n            \"Regex\",\n            \"Str\",\n            \"Xml\"});\n            this.cb_ParameterType.Location = new System.Drawing.Point(124, 3);\n            this.cb_ParameterType.Name = \"cb_ParameterType\";\n            this.cb_ParameterType.Size = new System.Drawing.Size(83, 20);\n            this.cb_ParameterType.TabIndex = 1;\n            this.cb_ParameterType.SelectedIndexChanged += new System.EventHandler(this.cb_ParameterType_SelectedIndexChanged);\n            // \n            // cb_ParameterTypeAddition\n            // \n            this.cb_ParameterTypeAddition.FormattingEnabled = true;\n            this.cb_ParameterTypeAddition.Location = new System.Drawing.Point(210, 3);\n            this.cb_ParameterTypeAddition.Name = \"cb_ParameterTypeAddition\";\n            this.cb_ParameterTypeAddition.Size = new System.Drawing.Size(96, 20);\n            this.cb_ParameterTypeAddition.TabIndex = 2;\n            this.cb_ParameterTypeAddition.SelectedIndexChanged += new System.EventHandler(this.cb_ParameterTypeAddition_SelectedIndexChanged);\n            // \n            // pb_add\n            // \n            this.pb_add.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_add.BackColor = System.Drawing.Color.Transparent;\n            this.pb_add.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_add.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_add.Image\")));\n            this.pb_add.Location = new System.Drawing.Point(729, 1);\n            this.pb_add.Name = \"pb_add\";\n            this.pb_add.Size = new System.Drawing.Size(23, 23);\n            this.pb_add.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_add.TabIndex = 57;\n            this.pb_add.TabStop = false;\n            this.pb_add.Click += new System.EventHandler(this.pb_add_Click);\n            this.pb_add.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_add.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // pb_remove\n            // \n            this.pb_remove.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_remove.BackColor = System.Drawing.Color.Transparent;\n            this.pb_remove.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_remove.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_remove.Image\")));\n            this.pb_remove.Location = new System.Drawing.Point(752, 1);\n            this.pb_remove.Name = \"pb_remove\";\n            this.pb_remove.Size = new System.Drawing.Size(23, 23);\n            this.pb_remove.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_remove.TabIndex = 56;\n            this.pb_remove.TabStop = false;\n            this.pb_remove.Click += new System.EventHandler(this.pb_remove_Click);\n            this.pb_remove.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_remove.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // tb_ParameterExpression\n            // \n            this.tb_ParameterExpression.Location = new System.Drawing.Point(389, 2);\n            this.tb_ParameterExpression.Name = \"tb_ParameterExpression\";\n            this.tb_ParameterExpression.Size = new System.Drawing.Size(336, 21);\n            this.tb_ParameterExpression.TabIndex = 3;\n            this.tb_ParameterExpression.WatermarkText = null;\n            // \n            // tb_ParameterName\n            // \n            this.errorProvider_addParameter.SetIconAlignment(this.tb_ParameterName, System.Windows.Forms.ErrorIconAlignment.TopRight);\n            this.tb_ParameterName.Location = new System.Drawing.Point(4, 3);\n            this.tb_ParameterName.Name = \"tb_ParameterName\";\n            this.tb_ParameterName.Size = new System.Drawing.Size(117, 21);\n            this.tb_ParameterName.TabIndex = 0;\n            this.tb_ParameterName.WatermarkText = \"name\";\n            // \n            // cb_pickRange\n            // \n            this.cb_pickRange.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cb_pickRange.FormattingEnabled = true;\n            this.cb_pickRange.Items.AddRange(new object[] {\n            \"Line\",\n            \"Heads\",\n            \"Entity\"});\n            this.cb_pickRange.Location = new System.Drawing.Point(309, 3);\n            this.cb_pickRange.Name = \"cb_pickRange\";\n            this.cb_pickRange.Size = new System.Drawing.Size(75, 20);\n            this.cb_pickRange.TabIndex = 58;\n            // \n            // errorProvider_addParameter\n            // \n            this.errorProvider_addParameter.ContainerControl = this;\n            // \n            // AddParameterPickBox\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.Controls.Add(this.cb_pickRange);\n            this.Controls.Add(this.pb_add);\n            this.Controls.Add(this.pb_remove);\n            this.Controls.Add(this.tb_ParameterExpression);\n            this.Controls.Add(this.cb_ParameterTypeAddition);\n            this.Controls.Add(this.cb_ParameterType);\n            this.Controls.Add(this.tb_ParameterName);\n            this.Name = \"AddParameterPickBox\";\n            this.Size = new System.Drawing.Size(777, 26);\n            this.Validating += new System.ComponentModel.CancelEventHandler(this.AddParameterPickBox_Validating);\n            this.Validated += new System.EventHandler(this.AddParameterPickBox_Validated);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_add)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_remove)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.errorProvider_addParameter)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private WatermakTextBox tb_ParameterName;\n        private System.Windows.Forms.ComboBox cb_ParameterType;\n        private System.Windows.Forms.ComboBox cb_ParameterTypeAddition;\n        private WatermakTextBox tb_ParameterExpression;\n        private System.Windows.Forms.PictureBox pb_add;\n        private System.Windows.Forms.PictureBox pb_remove;\n        private System.Windows.Forms.ComboBox cb_pickRange;\n        private System.Windows.Forms.ErrorProvider errorProvider_addParameter;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/AddParameterPickBox.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nusing FreeHttp.AutoTest.ParameterizationPick;\n\nnamespace FreeHttp.FreeHttpControl.MyControl\n{\n    public partial class AddParameterPickBox : UserControl\n    {\n        public class AddParameterEventArgs:EventArgs\n        {\n            public bool IsAdd{get; set;}\n            public AddParameterEventArgs(bool isAdd)\n            {\n                IsAdd = isAdd;\n            }\n        }\n\n        public event EventHandler<AddParameterEventArgs> OnAddParameterClick;\n        public AddParameterPickBox()\n        {\n            InitializeComponent();\n            cb_ParameterType.SelectedIndex = 0;\n            cb_pickRange.SelectedIndex = 2;\n        }\n\n        public AddParameterPickBox(ParameterPick yourParameterPick)\n        {\n            InitializeComponent();\n            tb_ParameterName.Text = yourParameterPick.ParameterName;\n            tb_ParameterExpression.Text = yourParameterPick.PickTypeExpression;\n            cb_ParameterType.Text = yourParameterPick.PickType.ToString();\n            cb_ParameterTypeAddition.Text = yourParameterPick.PickTypeAdditional.ToString();\n            cb_pickRange.Text = yourParameterPick.PickRange.ToString();\n        }\n\n        private void cb_ParameterType_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            ParameterPickType tempParameterPickType = (ParameterPickType)Enum.Parse(typeof(ParameterPickType), cb_ParameterType.Text);\n            if(ParameterPickTypeEngine.dictionaryParameterPickFunc[tempParameterPickType].Editable)\n            {\n                cb_ParameterTypeAddition.DropDownStyle = ComboBoxStyle.DropDown;\n            }\n            else\n            {\n                cb_ParameterTypeAddition.DropDownStyle = ComboBoxStyle.DropDownList;\n            }\n            cb_ParameterTypeAddition.DataSource = ParameterPickTypeEngine.dictionaryParameterPickFunc[tempParameterPickType].PickTypeAdditionalList;\n            cb_ParameterTypeAddition.DisplayMember = \"Key\";  //可以把DisplayMember与ValueMember放到DataSource设置的前面\n            cb_ParameterTypeAddition.ValueMember = \"Value\";\n            cb_ParameterTypeAddition.SelectedIndex = 0;\n            cb_ParameterTypeAddition_SelectedIndexChanged(null, null);\n        }\n\n        //设置 cb_ParameterTypeAddition.DataSource  会触发cb_ParameterTypeAddition_SelectedIndexChanged ，如果没有提前设置ValueMember，SelectedValue可能不是预期类型\n        private void cb_ParameterTypeAddition_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            if(cb_ParameterTypeAddition.SelectedValue.GetType() == typeof(KeyValuePair<string, string>))   // as  只能用于引用类型比较 \n            {\n                return;\n            }\n            tb_ParameterExpression.WatermarkText = (string)cb_ParameterTypeAddition.SelectedValue;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n        private void AddParameterPickBox_Validating(object sender, CancelEventArgs e)\n        {\n            //string errorMsg;\n            //if (!ValidEmailAddress(textBox1.Text, out errorMsg))\n            //{\n            //    // Cancel the event and select the text to be corrected by the user.\n            //    e.Cancel = true;\n            //    textBox1.Select(0, textBox1.Text.Length);\n\n            //    // Set the ErrorProvider error with the text to display. \n            //    this.errorProvider1.SetError(textBox1, errorMsg);\n            //}\n            //this.errorProvider_addParameter.Clear();\n            try\n            {\n               this.Tag = GetParameterPickInfo();\n            }\n            catch(Exception)\n            {\n                this.Tag = null;\n                e.Cancel = true;\n            }\n        }\n\n        private void AddParameterPickBox_Validated(object sender, EventArgs e)\n        {\n            this.errorProvider_addParameter.Clear();\n        }\n\n        private void pb_add_Click(object sender, EventArgs e)\n        {\n            if(OnAddParameterClick!=null)\n            {\n                this.OnAddParameterClick(this, new AddParameterEventArgs(true));\n            }\n        }\n\n        private void pb_remove_Click(object sender, EventArgs e)\n        {\n            this.OnValidated(e);\n            if (OnAddParameterClick != null)\n            {\n                this.OnAddParameterClick(this, new AddParameterEventArgs(false));\n            }\n        }\n\n        public void GetFocus()\n        {\n            tb_ParameterName.Focus();\n            tb_ParameterName.Select();\n        }\n\n        public ParameterPick GetParameterPickInfo()\n        {\n            Action<Control,string> MyThrowException = (myControl , errorMes)=>{\n                FreeHttpWindow.MarkWarnControl(myControl);\n                this.errorProvider_addParameter.SetIconAlignment(myControl, ErrorIconAlignment.MiddleRight);\n                this.errorProvider_addParameter.SetIconPadding(myControl, -20);\n                this.errorProvider_addParameter.SetError(myControl, errorMes);\n                myControl.Select();\n                myControl.Focus();\n                throw new Exception(errorMes);\n            };\n\n            this.errorProvider_addParameter.Clear();\n            ParameterPick returnParameterPick=new ParameterPick();\n            ParameterPickType tempParameterPickType;\n            if (string.IsNullOrEmpty(tb_ParameterName.Text))\n            {\n                MyThrowException(tb_ParameterName, \"your ParameterName is empty\");\n            }\n            returnParameterPick.ParameterName = tb_ParameterName.Text;\n            returnParameterPick.PickRange = (ParameterPickRange)Enum.Parse(typeof(ParameterPickRange), cb_pickRange.Text);\n            if(!Enum.TryParse<ParameterPickType>(cb_ParameterType.Text,out tempParameterPickType))\n            {\n                MyThrowException(cb_ParameterType, \"ParameterPickType Error\");\n            }\n            returnParameterPick.PickType = tempParameterPickType;\n            returnParameterPick.PickTypeAdditional = cb_ParameterTypeAddition.Text;\n            returnParameterPick.PickTypeExpression = tb_ParameterExpression.Text;\n            string tempError = ParameterPickHelper.CheckParameterPickExpression(returnParameterPick);\n            if (tempError!=null)\n            {\n                if (tempError.Contains(\"PickTypeAdditional\"))\n                {\n                    MyThrowException(cb_ParameterTypeAddition, tempError);\n                }\n                else\n                {\n                    MyThrowException(tb_ParameterExpression, tempError);\n                }\n            }\n            return returnParameterPick;\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/AddParameterPickBox.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pb_add.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_remove.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <metadata name=\"errorProvider_addParameter.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <metadata name=\"$this.TrayHeight\" type=\"System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n    <value>42</value>\n  </metadata>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/CBalloonBase.cs",
    "content": "using System;\nusing System.Drawing;\nusing System.Drawing.Drawing2D;\nusing System.Collections;\nusing System.ComponentModel;\nusing System.Windows.Forms;\nusing System.Data;\n\nnamespace CBalloon\n{\n    /// <summary>\n    /// Summary description for CBalloonBase.\n    /// </summary>\n    public class CBalloonBase : System.Windows.Forms.Form\n    {\n        #region enumeration describing the orientation of the bubble tip\n        public enum sdSide\n        {\n            sd_top,\n            sd_left,\n            sd_bottom,\n            sd_right,\n            sd_horizontal,\n            sd_vertical\n        }\n\n        public enum alAlign\n        {\n            al_lhs,\n            al_mid,\n            al_rhs\n        }\n        #endregion\n\n        const int C_QUOTEH = 25;\n        const int C_ARCH = 5;\n        const int C_SHADOW = 5;\n\n        protected GraphicsPath m_path;\n        protected Region m_rOuterFrame;\n        protected Region m_rInnerFrame;\n\n        protected bool m_bShowFrame = true;\n        protected bool m_bIsShadow = false;\n        protected bool m_bHasShadow = false;\n\n        // properties that allow a color gradient from top left to top right of the balloon's frame\n        protected Color m_cTopLeft = Color.Aqua;\n        protected Color m_cBotRite = Color.Lime;\n\n        // location of the balloon's tail tip (left, right, top, bottom etc)\n        private alAlign m_tipAlign = alAlign.al_lhs;\n        private sdSide m_tipSide = sdSide.sd_top;\n\n        // absolute position of the balloon's tail tip\n        public Point m_ptTipPosition = new Point(0, 0);\n\n        // rectangle and center point used to calculate the color gradient for the frame\n        public RectangleF m_rtBalloonF = new RectangleF(0.0F, 0.0F, 1.0F, 1.0F);\n        private Point m_ptCenter = new Point(0, 0);\n        // tail offset from the nearest rounded edge (auto calculated when anchored to a point or control)\n        protected int m_nTailOffset = 30;\n\n        // marks the position, width and height of the anchor point or control\n        // if a point is used, the width and height are set to zero\n        protected Rectangle m_rtAnchor = new Rectangle(0, 0, 0, 0);\n        // the parent form which contains the anchor point\n        private Form m_fmParent = null;\n        // a shadow form constructed from this class, shaded gray with opacity below 100% to simulate a shadow\n        private CBalloon.CBalloonBase m_fmShadow = null;\n\n        // event handler which is attached to the form containing the anchor point. when\n        // the form moves, the balloon will move with it\n        public System.EventHandler m_evhMove;\n\n        // stuff the compiler adds\n\n        private System.ComponentModel.Container components = null;\n\n        public CBalloonBase()\n        {\n            //\n            // Required for Windows Form Designer support\n            //\n            InitializeComponent();\n\n            //\n            // TODO: Add any constructor code after InitializeComponent call\n            //\n        }\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing)\n            {\n                if (components != null)\n                {\n                    components.Dispose();\n                }\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.SuspendLayout();\n            // \n            // CBalloonBase\n            // \n            this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);\n            this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));\n            this.ClientSize = new System.Drawing.Size(295, 214);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"CBalloonBase\";\n            this.ShowInTaskbar = false;\n            this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;\n            this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;\n            this.Paint += new System.Windows.Forms.PaintEventHandler(this.CBalloonBase_Paint);\n            this.VisibleChanged += new System.EventHandler(this.CBalloonBase_VisibleChanged);\n            this.Click += new System.EventHandler(this.CBalloonBase_Click);\n            this.Closing += new System.ComponentModel.CancelEventHandler(this.CBalloonBase_Closing);\n            this.Move += new System.EventHandler(this.CBalloonBase_Move);\n            this.Resize += new System.EventHandler(this.CBalloonBase_Resize);\n            this.ResumeLayout(false);\n\n        }\n        #endregion\n\n        // regenerate the path for the balloon, and set the region for the window \n        public void reSizeMe()\n        {\n            m_path = new GraphicsPath();\n\n            // nW and nH are just shorthand for the width and height of the form\n            int nW = this.Width;\n            int nH = this.Height;\n\n            int nOuter = C_QUOTEH;\n            int nInner = C_QUOTEH + C_ARCH;\n\n            // define the points for the balloon tail pA, pB and pC denote the outer frame for the tail while pAi,\n            // pBi and pCi denote the inner border (used to create the inside boundary of a frame for our balloon)\n            Point pA = new Point();\n            Point pAi = new Point();\n            Point pB = new Point();\n            Point pBi = new Point();\n            Point pC = new Point();\n            Point pCi = new Point();\n\n            #region this section calculates the position of the ballon tail\n            switch (m_tipSide)\n            {\n                // calculate vertical displacement for all top tails\n                case sdSide.sd_top:\n                    pA.Y = nOuter; pB.Y = 0; pC.Y = nOuter;\n                    pAi.Y = pA.Y + 4; pBi.Y = pB.Y + 4; pCi.Y = pC.Y + 4;\n                    goto case sdSide.sd_horizontal;\n\n                case sdSide.sd_left:\n                    pA.X = nOuter; pC.X = nOuter; pB.X = 0;\n                    pAi.X = pA.X + 4; pCi.X = pC.X + 4; pBi.X = pB.X + 4;\n                    goto case sdSide.sd_vertical;\n\n                case sdSide.sd_right:\n                    pA.X = nW - nOuter; pC.X = nW - nOuter; pB.X = nW;\n                    pAi.X = pA.X - 4; pCi.X = pC.X - 4; pBi.X = pB.X - 4;\n                    goto case sdSide.sd_vertical;\n\n                case sdSide.sd_bottom:\n                    pA.Y = nH - nOuter; pC.Y = nH - nOuter; pB.Y = nH;\n                    pAi.Y = pA.Y - 4; pCi.Y = pC.Y - 4; pBi.Y = pB.Y - 4;\n                    goto case sdSide.sd_horizontal;\n\n                case sdSide.sd_horizontal:\n                    if (m_tipAlign == alAlign.al_lhs)\n                    {\n                        pA.X = nInner + m_nTailOffset;\n                        pB.X = pA.X - 10;\n                        pC.X = pA.X + 30;\n                        pAi.X = pA.X + 4;\n                        pBi.X = pB.X + 3;\n                        pCi.X = pC.X + 2;\n                    }\n                    else if (m_tipAlign == alAlign.al_mid)\n                    {\n                        pB.X = (int)(nW / 2);\n                        pA.X = pB.X - 10;\n                        pC.X = pB.X + 10;\n                        pAi.X = pA.X;\n                        pBi.X = pB.X;\n                        pCi.X = pC.X;\n                    }\n                    else\n                    {\n                        pC.X = (nW - nInner) - m_nTailOffset;\n                        pA.X = pC.X - 30;\n                        pB.X = pC.X + 10;\n                        pAi.X = pA.X - 2;\n                        pBi.X = pB.X - 3;\n                        pCi.X = pC.X - 4;\n                    }\n                    break;\n\n                case sdSide.sd_vertical:\n                    if (m_tipAlign == alAlign.al_lhs)\n                    {\n                        pA.Y = nInner + m_nTailOffset;\n                        pC.Y = pA.Y + 30;\n                        pB.Y = pA.Y - 10;\n                        pAi.Y = pA.Y + 4;\n                        pBi.Y = pB.Y + 3;\n                        pCi.Y = pC.Y + 2;\n                    }\n                    else if (m_tipAlign == alAlign.al_mid)\n                    {\n                        pB.Y = (int)(nH / 2);\n                        pA.Y = pB.Y - 10;\n                        pC.Y = pB.Y + 10;\n                        pAi.Y = pA.Y;\n                        pBi.Y = pB.Y;\n                        pCi.Y = pC.Y;\n                    }\n                    else\n                    {\n                        pC.Y = (nH - nInner) - m_nTailOffset;\n                        pA.Y = pC.Y - 30;\n                        pB.Y = pC.Y + 10;\n                        pAi.Y = pA.Y - 2;\n                        pBi.Y = pB.Y - 3;\n                        pCi.Y = pC.Y - 4;\n                    }\n                    break;\n\n            }\n            #endregion\n\n            // the new tip position is determined by pB\n            m_ptTipPosition = pB;\n\n            // generate balloon tail outer path\n            m_path.AddLines(new Point[] { pA, pB, pC });\n            m_path.CloseFigure();\n            // generate balloon tail inner path\n            GraphicsPath iPath = new GraphicsPath();\n            iPath.AddLines(new Point[] { pAi, pBi, pCi });\n            iPath.CloseFigure();\n\n            #region generate the outer frame (m_rOuterFrame) which becomes the shape of the balloon form\n            Size pSize = new Size(nW - (nInner + nInner), nH - (nOuter + nOuter));\n            Point pLoc = new Point(nInner, nOuter);\n            Rectangle aRect = new Rectangle(pLoc, pSize);\n            m_rOuterFrame = new Region(aRect);\n\n            // generate 2nd pass region for the outer frame, starting to form the rounded edges\n            pSize.Width += 4;\n            pSize.Height -= 2;\n            pLoc.X -= 2;\n            pLoc.Y += 1;\n            m_rOuterFrame.Union(new Rectangle(pLoc, pSize));\n\n            // generate 3rd pass for the outer frame, developing rounded edges\n            pSize.Width += 2;\n            pSize.Height -= 2;\n            pLoc.X -= 1;\n            pLoc.Y += 1;\n            m_rOuterFrame.Union(new Rectangle(pLoc, pSize));\n\n            // generate 4th pass for the outer frame, developing rounded edges\n            pSize.Width += 2;\n            pSize.Height -= 2;\n            pLoc.X -= 1;\n            pLoc.Y += 1;\n            m_rOuterFrame.Union(new Rectangle(pLoc, pSize));\n\n            // generate 5th pass for the outer frame, completing the rounded edges\n            pSize.Width += 2;\n            pSize.Height -= 4;\n            pLoc.X -= 1;\n            pLoc.Y += 2;\n            m_rOuterFrame.Union(new Rectangle(pLoc, pSize));\n\n            // generate 6th pass for the outer frame, adding the balloon tail\n            m_rOuterFrame.Union(m_path);\n            #endregion\n\n            #region for shadow windows we don't need to paint the area under the foreground balloon\n            if (m_bIsShadow == true)\n            {\n                Region rgnEx;\n                rgnEx = m_rOuterFrame.Clone();\n                rgnEx.Translate(-C_SHADOW, -C_SHADOW);\n                m_rOuterFrame.Exclude(rgnEx);\n            }\n            #endregion\n\n            // set the region for the form\n            this.Region = m_rOuterFrame;\n            Graphics eg = Graphics.FromHwnd(this.Handle);\n            // calculate the bounding rectangle for this region (within the context of the form itself) and the centre point for\n            // the rectangle\n            m_rtBalloonF = this.Region.GetBounds(eg);\n            m_ptCenter = new Point((int)((m_rtBalloonF.Width / 2) + m_rtBalloonF.X), (int)((m_rtBalloonF.Height / 2) + m_rtBalloonF.Y));\n            eg.Dispose();\n\n            #region always generate the outline region (m_rInnerFrame), even if we are not going to display it immediately\n            Rectangle myRect = new Rectangle(C_QUOTEH + 6, C_QUOTEH + 4, nW - ((2 * C_QUOTEH) + 12), nH - ((2 * C_QUOTEH) + 8));\n            Region aRegion = new Region(myRect);\n            // develop client region with rounded edges, 2nd and 3rd pass\n            myRect.X -= 1; myRect.Y += 1; myRect.Width += 2; myRect.Height -= 2;\n            aRegion.Union(myRect);\n            myRect.X -= 1; myRect.Y += 1; myRect.Width += 2; myRect.Height -= 2;\n            aRegion.Union(myRect);\n\n            // clone the outer region\n            m_rInnerFrame = m_rOuterFrame.Clone();\n            // exclude the client area and inner balloon tail edge\n            m_rInnerFrame.Exclude(aRegion);\n            m_rInnerFrame.Exclude(iPath);\n            #endregion\n\n\n            //add by lulianqi resize the m_fmShadow size when the main window size change\n            if (m_fmShadow != null)\n            {\n                m_fmShadow.Width = this.Width;\n                m_fmShadow.Height = this.Height;\n            }\n\n            // force a complete redraw\n            this.Invalidate();\n        }\n\n        // There are many possible variations on this routine. However this works by calculating the distance to the side\n        // of the screen, then adjusting the position, and direction, of the tail to avoid going off the edge of the screen\n        private bool bCalcTailPos(Point ptA, bool bOnlyBelow)\n        {\n            int nBWidth = this.Width + C_SHADOW - C_QUOTEH;\n            int nBHeight = this.Height + C_SHADOW;\n\n            // get the pixel dimensions of the screen assuming a single monitor (or two monitors creating a single screen space)\n            Screen[] screens = Screen.AllScreens;\n            int nSWd = screens[0].Bounds.Width;\n            int nSHt = screens[0].Bounds.Height;\n\n            // if use below is false then we always draw the balloon above the anchor\n            if (bOnlyBelow == false)\n            {\n                this.tailSide = sdSide.sd_bottom;\n            }\n            else\n            {\n                // if we cannot go below, then return false so the calling routine can set a new anchor point\n                // positioned above the control (so the balloon tail is not drawn across the anchor)\n                if (ptA.Y + nBHeight >= nSHt) { return false; }\n                this.tailSide = sdSide.sd_top;\n            }\n\n            // look for best horizontal fit\n            int nDistToEdge = nSWd - ptA.X;\n\n            // a) the left-most position of the tail tip is C_QUOTEH from the LHS (corresponding to a tail offset of 5)\n            // b) the tail must be adjust so the remaining balloon plus the shadow and overhang must fit on the screen\n            int nMinLength = (this.Width + C_SHADOW) - C_QUOTEH;\n\n            if (nDistToEdge > nMinLength)\n            {\n                // okay entire balloon fits, so use the minimum tail offset\n                this.tailOffset = 5;\n                this.tailAlign = alAlign.al_lhs;\n            }\n            else\n            {\n                int nOverlap = nMinLength - nDistToEdge;\n                if (nOverlap < (int)Math.Round(nMinLength / 3.0))\n                {\n                    this.tailOffset = nOverlap + 5;\n                    this.tailAlign = alAlign.al_lhs;\n                }\n                else if (nOverlap > (int)Math.Round((nMinLength - (C_QUOTEH + C_ARCH)) / 2.0))\n                {\n                    // tail offset is now measure from the rhs\n                    int nTempOffset = (nMinLength - nOverlap) - (C_QUOTEH + C_ARCH);\n                    if (nTempOffset < 0) { nTempOffset = 0; }\n                    this.tailOffset = nTempOffset + 5;\n                    this.tailAlign = alAlign.al_rhs;\n                }\n                else\n                {\n                    // tail offset not currently used for mid-point set... probably at some point I will need\n                    this.tailOffset = 0;\n                    this.tailAlign = alAlign.al_mid;\n                }\n            }\n\n            // now adjust the position\n            Point atPoint = new Point(0, 0);\n            atPoint.X = ptA.X - m_ptTipPosition.X;\n            atPoint.Y = ptA.Y - m_ptTipPosition.Y;\n            // locate our balloon\n            this.Location = atPoint;\n            return true;\n        }\n\n        public void setBalloonPosition(Form onForm, Control onControl)\n        {\n            // determine ownership so the balloon stays ontop of the owning form\n            if (m_fmShadow == null)\n            {\n                this.Owner = onForm;\n            }\n            else\n            {\n                m_fmShadow.Owner = onForm;\n            }\n            // remember the control's position and dimensions\n            m_rtAnchor = new Rectangle(onControl.Location, onControl.Size);\n            Point ptA = m_rtAnchor.Location;\n            Point ptC = ptA;\n\n            // first, try for lower edge of the control as an anchor point\n            ptA.Y += m_rtAnchor.Height;\n\n            // calculate absolute position on the screen\n            Point ptScreen = onForm.PointToScreen(ptA);\n\n            // see if we can anchor below the control \n            if (bCalcTailPos(ptScreen, true) == false)\n            {\n                // unable to anchor below, so anchor above\n                ptScreen = onForm.PointToScreen(ptC);\n                bCalcTailPos(ptScreen, false);\n            }\n            m_fmParent = onForm;\n            // attach a callback so we know when the owner is moved. Oh the joys and advantages of delegates!\n            m_evhMove = new System.EventHandler(this.Parent_Move);\n            onForm.Move += m_evhMove;\n        }\n        /// <summary>\n        /// change by lulianqui for VinWiew,the old setBalloonPosition has bugs\n        /// </summary>\n        /// <param name=\"onForm\">you form</param>\n        /// <param name=\"myPoint\">the position</param>\n        /// <param name=\"mySize\">any size</param>\n        public void setBalloonPosition(Form onForm, Point myPoint ,Size mySize)\n        {\n            // determine ownership so the balloon stays ontop of the owning form\n            if (m_fmShadow == null)\n            {\n                this.Owner = onForm;\n            }\n            else\n            {\n                m_fmShadow.Owner = onForm;\n            }\n            // remember the control's position and dimensions\n            m_rtAnchor = new Rectangle(myPoint,mySize);\n            Point ptA = m_rtAnchor.Location;\n            Point ptC = ptA;\n\n            // first, try for lower edge of the control as an anchor point\n            ptA.Y += m_rtAnchor.Height;\n\n            // calculate absolute position on the screen\n            Point ptScreen = onForm.PointToScreen(ptA);\n\n            // see if we can anchor below the control \n            if (bCalcTailPos(ptScreen, true) == false)\n            {\n                // unable to anchor below, so anchor above\n                ptScreen = onForm.PointToScreen(ptC);\n                bCalcTailPos(ptScreen, false);\n            }\n            m_fmParent = onForm;\n            // attach a callback so we know when the owner is moved. Oh the joys and advantages of delegates!\n            m_evhMove = new System.EventHandler(this.Parent_Move);\n            onForm.Move += m_evhMove;\n        }\n\n        // attach the balloon to a point on a form. for the balloon to auto-track any movement in the owning form,\n        // we need to attach an event handler to the Move event on the owning form. Setting ownership ensure the \n        // balloon is always shown on top of the owning form. In addition, a minimize action on the owning form will\n        // force the balloon to minimize with it.\n        public void setBalloonPosition(Form onForm, Point atPoint)\n        {\n            // to understand ownership, a balloon with a shadow has the shadow as the owner to ensure the balloon\n            // is drawn directly on top of the shadow. Consequently when setting ownership to an attached point, \n            // it is the shadow that gets attached to the owning form. But if no shadow exists, it is the Balloon \n            // itself that must be attached\n            if (m_fmShadow == null)\n            {\n                this.Owner = onForm;\n            }\n            else\n            {\n                m_fmShadow.Owner = onForm;\n            }\n            // calculate absolute position of the point\n            m_rtAnchor = new Rectangle(atPoint, new Size(0, 0));\n            Point ptScreen = onForm.PointToScreen(m_rtAnchor.Location);\n\n            // see if we can anchor below the control \n            if (bCalcTailPos(ptScreen, true) == false)\n            {\n                // unable to anchor below, so anchor above\n                ptScreen = onForm.PointToScreen(ptScreen);\n                bCalcTailPos(ptScreen, false);\n            }\n            m_fmParent = onForm;\n            // attach a callback so we know when the owner is moved. Oh the joys and advantages of delegates!\n            m_evhMove = new System.EventHandler(this.Parent_Move);\n            onForm.Move += m_evhMove;\n        }\n\n\n        /// <summary>\n        /// UpdateBalloonPosition (add by lulianqi not change position with setBalloonPosition it will add EventHandler)\n        /// </summary>\n        /// <param name=\"atPoint\">Point</param>\n        public void UpdateBalloonPosition(Point atPoint)\n        {\n            // calculate absolute position of the point\n            m_rtAnchor = new Rectangle(atPoint, new Size(0, 0));\n            Point ptScreen = m_fmParent.PointToScreen(m_rtAnchor.Location);\n\n            // see if we can anchor below the control \n            if (bCalcTailPos(ptScreen, true) == false)\n            {\n                // unable to anchor below, so anchor above\n                ptScreen = m_fmParent.PointToScreen(ptScreen);\n                bCalcTailPos(ptScreen, false);\n            }\n        }\n\n        public void Parent_Move(object sender, System.EventArgs e)\n        {\n            if ((sender is Form) == false) { return; }\n\n            // calculate absolute position on the screen and try for the lower edge first\n            Point ptHigh = m_rtAnchor.Location;\n            Point ptLow = ptHigh;\n            ptLow.Y += m_rtAnchor.Height;\n            Point ptScreen = ((Form)sender).PointToScreen(ptLow);\n\n            // see if we can anchor below the control \n            if (bCalcTailPos(ptScreen, true) == false)\n            {\n                // unable to anchor below, so anchor above\n                ptScreen = ((Form)sender).PointToScreen(ptHigh);\n                bCalcTailPos(ptScreen, false);\n            }\n        }\n\n        // if a shadow window does not yet exist, create it\n        private bool bMakeShadow()\n        {\n            // a shadow cannot have another shadow\n            if (this.m_bIsShadow) { return false; }\n\n            // only generate a shadow if required\n            if (m_bHasShadow != true) { return false; }\n\n            // no shadows in design mode\n            if (DesignMode == true) { return false; }\n\n            // create shadow if non exists\n            if (m_fmShadow == null)\n            {\n                m_fmShadow = new CBalloon.CBalloonBase();\n                this.Owner = m_fmShadow;\n                m_fmShadow.Width = this.Width;\n                m_fmShadow.Height = this.Height;\n                m_fmShadow.StartPosition = FormStartPosition.Manual;\n                m_fmShadow.Location = new Point(this.Location.X + C_SHADOW, this.Location.Y + C_SHADOW);\n                m_fmShadow.IsShadow = true;\n                m_fmShadow.Opacity = 0.6;\n            }\n            return true;\n        }\n\n        private void DestroyShadow()\n        {\n            if (m_fmShadow != null)\n            {\n                // if the shadow has an owner, we need to attach the balloon to the owner and\n                // sever existing owned form relationships\n                if (m_fmShadow.Owner != null)\n                {\n                    this.Owner = m_fmShadow.Owner;\n                    m_fmShadow.RemoveOwnedForm(this);\n                    this.Owner.RemoveOwnedForm(m_fmShadow);\n                }\n                m_fmShadow.Close();\n                m_fmShadow.Dispose();\n                m_fmShadow = null;\n            }\n        }\n\n        // the shape of the form is maintained by reSizeMe() so the only function or reDrawMe() is to \n        // paint the frame itself\n        public void reDrawMe()\n        {\n            // shadow boxes don't have a frame\n            if (m_bShowFrame)\n            {\n                // for no particular reason, I'm using a gradient brush from top-left to bottom-right... \n                // to grab the User's attention a pulsing frame (variable luminence) works much better\n                Graphics eg = Graphics.FromHwnd(this.Handle);\n                // the bounding rectangle was calculated in reSizeMe()\n                eg.RenderingOrigin = m_ptCenter;\n                eg.FillRegion(new LinearGradientBrush(m_rtBalloonF, m_cTopLeft, m_cBotRite, 45, true), m_rInnerFrame);\n                eg.Dispose();\n            }\n        }\n\n        /// <summary>\n        /// The main entry point for the application.\n        /// </summary>\n        [STAThread]\n        //static void Main()\n        //{\n        //    Application.Run(new CBalloonBase());\n        //}\n\n        private void CBalloonBase_Paint(object sender, System.Windows.Forms.PaintEventArgs e)\n        {\n            reDrawMe();\n        }\n\n        private void CBalloonBase_Click(object sender, System.EventArgs e)\n        {\n            //if (false == this.m_bIsShadow)\n            //{\n            //    this.Close();\n            //}\n        }\n\n        private void CBalloonBase_Resize(object sender, System.EventArgs e)\n        {\n            reSizeMe();\n        }\n\n        private void label1_Click(object sender, System.EventArgs e)\n        {\n            // do not allow a shadow box to open another box...\n            //if (this.m_bIsShadow == false)\n            //{\n            //    if (this is CExample)\n            //    {\n            //        this.Close();\n            //    }\n            //    else\n            //    {\n            //        CBalloon.Form3 aForm = new Form3();\n            //        aForm.Show();\n            //    }\n            //}\n        }\n        private void CBalloonBase_VisibleChanged(object sender, System.EventArgs e)\n        {\n            if (!m_bHasShadow) { return; }\n\n            if ((this.Visible == true) && (m_fmShadow != null))\n            {\n                m_fmShadow.Show();\n            }\n            //add by lulianqi when hide the base window the m_fmShadow is not hide\n            else if ((this.Visible == false) && (m_fmShadow != null))\n            {\n                m_fmShadow.Visible = false;\n            }\n        }\n\n        private void CBalloonBase_Closing(object sender, System.ComponentModel.CancelEventArgs e)\n        {\n            #region remove any form-owner relationships and events, and close the shadow form if it exists\n            // clean up owner-form relationships from the Balloon form\n            if (this.Owner != null)\n            {\n                this.Owner.RemoveOwnedForm(this);\n                this.Owner = null;\n            }\n\n            // clean up owner-form relationships from the Shadow form, then close the Shadow\n            if (m_fmShadow != null)\n            {\n                if (m_fmShadow.Owner != null)\n                {\n                    m_fmShadow.Owner.RemoveOwnedForm(m_fmShadow);\n                    m_fmShadow.Owner = null;\n                }\n                m_fmShadow.Close();\n            }\n\n            // here we need to remove the event handler from the form with the anchor point\n            if (m_fmParent != null)\n            {\n                m_fmParent.Move -= m_evhMove;\n                m_fmParent = null;\n            }\n            #endregion\n        }\n\n        private void CBalloonBase_Move(object sender, System.EventArgs e)\n        {\n            if (m_fmShadow != null) { m_fmShadow.Location = new Point(this.Location.X + C_SHADOW, this.Location.Y + C_SHADOW); }\n        }\n\n        #region form properties\n\n        public bool IsShadow\n        {\n            set\n            {\n                if (value == true)\n                {\n                    if (m_bIsShadow == false)\n                    {\n                        this.ShowFrame = false;\n                        this.BackColor = Color.DarkGray;\n                    }\n                }\n                m_bIsShadow = value;\n            }\n            get\n            {\n                return m_bIsShadow;\n            }\n        }\n\n        public bool HasShadow\n        {\n            set\n            {\n                m_bHasShadow = value;\n                if (m_bHasShadow)\n                {\n                    bMakeShadow();\n                }\n                else\n                {\n                    DestroyShadow();\n                }\n            }\n            get { return m_bHasShadow; }\n        }\n\n        public bool ShowFrame\n        {\n            set\n            {\n                if (m_bShowFrame != value)\n                {\n                    m_bShowFrame = value;\n                    this.reDrawMe();\n                }\n            }\n            get\n            {\n                return m_bShowFrame;\n            }\n        }\n\n        public sdSide tailSide\n        {\n            set\n            {\n                m_tipSide = value;\n                reSizeMe();\n                if ((m_bHasShadow) && (this.m_fmShadow != null))\n                {\n                    m_fmShadow.tailSide = value;\n                }\n            }\n\n            get { return m_tipSide; }\n        }\n\n        public int tailOffset\n        {\n            set\n            {\n                m_nTailOffset = value;\n                reSizeMe();\n                if (this.m_fmShadow != null)\n                {\n                    m_fmShadow.tailOffset = value;\n                }\n            }\n\n            get { return m_nTailOffset; }\n        }\n\n        public alAlign tailAlign\n        {\n            set\n            {\n                m_tipAlign = value;\n                // better method is to generate a resize event but its 3am and I'm tired\n                reSizeMe();\n                if (this.m_fmShadow != null)\n                {\n                    m_fmShadow.tailAlign = value;\n                }\n            }\n            get { return m_tipAlign; }\n        }\n\n        // set the color gradient from the top-left of the frame\n        public Color FrameTopLeft\n        {\n            set\n            {\n                m_cTopLeft = value;\n                // better method is to generate a paint event but its 3am and I'm tired\n                this.reDrawMe();\n            }\n            get\n            {\n                return m_cTopLeft;\n            }\n        }\n\n        // set the color gradient running to the bottom-left of the frame\n        public Color FrameBottomRight\n        {\n            set\n            {\n                m_cBotRite = value;\n                // better method is to generate a paint event but its 3am and I'm tired\n                this.reDrawMe();\n            }\n            get\n            {\n                return m_cBotRite;\n            }\n        }\n        #endregion\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/CBalloonBase.resx",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/EditListView.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class EditListView\n    {\n        /// <summary> \n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary> \n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary> \n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditListView));\n            this.lv_dataList = new System.Windows.Forms.ListView();\n            this.columnHeader_data = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.pictureBox_add = new System.Windows.Forms.PictureBox();\n            this.pictureBox_remove = new System.Windows.Forms.PictureBox();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_add)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_remove)).BeginInit();\n            this.SuspendLayout();\n            // \n            // lv_dataList\n            // \n            this.lv_dataList.BackColor = System.Drawing.SystemColors.InactiveBorder;\n            this.lv_dataList.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\n            this.lv_dataList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\n            this.columnHeader_data});\n            this.lv_dataList.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.lv_dataList.FullRowSelect = true;\n            this.lv_dataList.LabelEdit = true;\n            this.lv_dataList.Location = new System.Drawing.Point(0, 0);\n            this.lv_dataList.Name = \"lv_dataList\";\n            this.lv_dataList.Size = new System.Drawing.Size(379, 134);\n            this.lv_dataList.TabIndex = 49;\n            this.lv_dataList.UseCompatibleStateImageBehavior = false;\n            this.lv_dataList.View = System.Windows.Forms.View.Details;\n            this.lv_dataList.DoubleClick += new System.EventHandler(this.lv_dataList_DoubleClick);\n            // \n            // columnHeader_data\n            // \n            this.columnHeader_data.Text = \"column name\";\n            this.columnHeader_data.Width = 375;\n            // \n            // pictureBox_add\n            // \n            this.pictureBox_add.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_add.BackColor = System.Drawing.Color.Transparent;\n            this.pictureBox_add.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_add.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox_add.Image\")));\n            this.pictureBox_add.Location = new System.Drawing.Point(336, 1);\n            this.pictureBox_add.Name = \"pictureBox_add\";\n            this.pictureBox_add.Size = new System.Drawing.Size(20, 20);\n            this.pictureBox_add.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox_add.TabIndex = 51;\n            this.pictureBox_add.TabStop = false;\n            this.pictureBox_add.Click += new System.EventHandler(this.pictureBox_add_Click);\n            this.pictureBox_add.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pictureBox_add.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // pictureBox_remove\n            // \n            this.pictureBox_remove.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_remove.BackColor = System.Drawing.Color.Transparent;\n            this.pictureBox_remove.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_remove.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox_remove.Image\")));\n            this.pictureBox_remove.Location = new System.Drawing.Point(356, 1);\n            this.pictureBox_remove.Name = \"pictureBox_remove\";\n            this.pictureBox_remove.Size = new System.Drawing.Size(20, 20);\n            this.pictureBox_remove.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox_remove.TabIndex = 50;\n            this.pictureBox_remove.TabStop = false;\n            this.pictureBox_remove.Click += new System.EventHandler(this.pictureBox_remove_Click);\n            this.pictureBox_remove.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pictureBox_remove.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // EditListView\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.Controls.Add(this.pictureBox_add);\n            this.Controls.Add(this.pictureBox_remove);\n            this.Controls.Add(this.lv_dataList);\n            this.Name = \"EditListView\";\n            this.Size = new System.Drawing.Size(379, 134);\n            this.Load += new System.EventHandler(this.EditListView_Load);\n            this.Resize += new System.EventHandler(this.EditListView_Resize);\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_add)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_remove)).EndInit();\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.PictureBox pictureBox_add;\n        private System.Windows.Forms.PictureBox pictureBox_remove;\n        private System.Windows.Forms.ListView lv_dataList;\n        private System.Windows.Forms.ColumnHeader columnHeader_data;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/EditListView.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class EditListView : UserControl\n    {\n        public EditListView()\n        {\n            InitializeComponent();\n            columnHeader_data.Text = ColumnHeaderName;\n            SplitStr=SplitStr==null?\": \":SplitStr;\n        }\n\n        /// <summary>\n        /// 编辑或添加时 key value 的默认分割\n        /// </summary>\n        [DescriptionAttribute(\"编辑或添加时 key value 的默认分割\")]\n        public string SplitStr { get; set; }\n\n        /// <summary>\n        /// 是否以key value方式显示\n        /// </summary>\n        [DescriptionAttribute(\"是否以key value方式显示\")]\n        public bool IsKeyValue { get; set; }\n\n        /// <summary>\n        /// List Item 的值是否保持唯一性\n        /// </summary>\n        [DescriptionAttribute(\"编辑或添加时List Item 的值是否保持唯一性\")]\n        public bool IsItemUnique { get; set; }\n\n        /// <summary>\n        /// 可用于显示的列名\n        /// </summary>\n        [DescriptionAttribute(\"可用于显示的列名\")]\n        public string ColumnHeaderName{ get; set; }\n\n        private void EditListView_Load(object sender, EventArgs e)\n        {\n            columnHeader_data.Text = ColumnHeaderName;\n        }\n\n        public ListView ListDataView\n        {\n            get { return lv_dataList; }\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n        private void EditListView_Resize(object sender, EventArgs e)\n        {\n            columnHeader_data.Width = lv_dataList.Width;\n        }\n\n        private void pictureBox_add_Click(object sender, EventArgs e)\n        {\n            if(IsKeyValue)\n            {\n                EditKeyVaule f = new EditKeyVaule(lv_dataList, true,IsItemUnique, SplitStr);\n                f.ShowDialog();\n            }\n            else\n            {\n                RemoveHead f = new RemoveHead(lv_dataList, true, IsItemUnique);\n                f.ShowDialog();\n            }\n        }\n\n        private void pictureBox_remove_Click(object sender, EventArgs e)\n        {\n            if (lv_dataList.SelectedItems.Count > 0)\n            {\n                int tempRemoveIndex = lv_dataList.SelectedItems.Count - 1;\n                for (int i = tempRemoveIndex; i >= 0; i--)\n                {\n                    lv_dataList.Items.Remove(lv_dataList.SelectedItems[i]);\n                }\n            }\n            else if (lv_dataList.Items.Count>0)\n            {\n                if(MessageBox.Show(\"if you want remove all data\",\"remove all\",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)\n                {\n                    lv_dataList.Items.Clear();\n                }\n            }\n            else\n            {\n                MessageBox.Show(\"nothing to clear\");\n            }\n        }\n\n        private void lv_dataList_DoubleClick(object sender, EventArgs e)\n        {\n            if (lv_dataList.SelectedItems.Count > 0)\n            {\n                if (IsKeyValue)\n                {\n                    EditKeyVaule f = new EditKeyVaule(lv_dataList, false,IsItemUnique, SplitStr);\n                    f.ShowDialog();\n                }\n                else\n                {\n                    RemoveHead f = new RemoveHead(lv_dataList,IsItemUnique, false);\n                    f.ShowDialog();\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/EditListView.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pictureBox_add.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pictureBox_remove.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/ListViewExtended.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.ComponentModel;\nusing System.Runtime.InteropServices;\nusing System.Reflection;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public class ListViewExtended : ListView\n    {\n        private const int LVM_FIRST = 0x1000;                    // ListView messages\n        private const int LVM_SETGROUPINFO = (LVM_FIRST + 147);  // ListView messages Setinfo on Group\n        private const int WM_LBUTTONUP = 0x0202;                 // Windows message left button\n\n        private delegate void CallBackSetGroupState(ListViewGroup lstvwgrp, ListViewGroupState state);\n        private delegate void CallbackSetGroupString(ListViewGroup lstvwgrp, string value);\n\n        /// <summary>\n        /// Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message. \n        /// To send a message and return immediately, use the SendMessageCallback or SendNotifyMessage function. To post a message to a thread's message queue and return immediately, use the PostMessage or PostThreadMessage function.\n        /// </summary>\n        /// <param name=\"hWnd\">\n        /// [in] Handle to the window whose window procedure will receive the message. \n        /// If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows. \n        /// Microsoft Windows Vista and later. Message sending is subject to User Interface Privilege Isolation (UIPI). The thread of a process can send messages only to message queues of threads in processes of lesser or equal integrity level.\n        /// </param>\n        /// <param name=\"uMsg\">[in] Specifies the message to be sent.</param>\n        /// <param name=\"wParam\">[in] Specifies additional message-specific information.</param>\n        /// <param name=\"lParam\">[in] Type of LVGROUP, Specifies additional message-specific information.</param>\n        /// <returns>\n        /// Microsoft Windows Vista and later. When a message is blocked by UIPI the last error, retrieved with GetLastError, is set to 5 (access denied).\n        /// Applications that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage function to obtain a unique message for inter-application communication.\n        /// The system only does marshalling for system messages (those in the range 0 to (WM_USER-1)). To send other messages (those >= WM_USER) to another process, you must do custom marshalling.\n        /// If the specified window was created by the calling thread, the window procedure is called immediately as a subroutine. If the specified window was created by a different thread, the system switches to that thread and calls the appropriate window procedure. Messages sent between threads are processed only when the receiving thread executes message retrieval code. The sending thread is blocked until the receiving thread processes the message. However, the sending thread will process incoming nonqueued messages while waiting for its message to be processed. To prevent this, use SendMessageTimeout with SMTO_BLOCK set. For more information on nonqueued messages, see Nonqueued Messages.\n        /// Windows 95/98/Me: SendMessageW is supported by the Microsoft Layer for Unicode (MSLU). To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.\n        /// </returns>\n        [DllImport(\"User32.dll\"), Description(\"Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message. To send a message and return immediately, use the SendMessageCallback or SendNotifyMessage function. To post a message to a thread's message queue and return immediately, use the PostMessage or PostThreadMessage function.\")]\n        private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, LVGROUP lParam);\n\n        private static int? GetGroupID(ListViewGroup lstvwgrp)\n        {\n            int? rtnval = null;\n            Type GrpTp = lstvwgrp.GetType();\n            if (GrpTp != null)\n            {\n                PropertyInfo pi = GrpTp.GetProperty(\"ID\", BindingFlags.NonPublic | BindingFlags.Instance);\n                if (pi != null)\n                {\n                    object tmprtnval = pi.GetValue(lstvwgrp, null);\n                    if (tmprtnval != null)\n                    {\n                        rtnval = tmprtnval as int?;\n                    }\n                }\n            }\n            return rtnval;\n        }\n\n        private static void setGrpState(ListViewGroup lstvwgrp, ListViewGroupState state)\n        {\n            if (Environment.OSVersion.Version.Major < 6)   //Only Vista and forward allows collaps of ListViewGroups\n                return;\n            if (lstvwgrp == null || lstvwgrp.ListView == null)\n                return;\n            if (lstvwgrp.ListView.InvokeRequired)\n                lstvwgrp.ListView.Invoke(new CallBackSetGroupState(setGrpState), lstvwgrp, state);\n            else\n            {\n                int? GrpId = GetGroupID(lstvwgrp);\n                int gIndex = lstvwgrp.ListView.Groups.IndexOf(lstvwgrp);\n                LVGROUP group = new LVGROUP();\n                group.CbSize = Marshal.SizeOf(group);\n                group.State = state;\n                group.Mask = ListViewGroupMask.State;\n                if (GrpId != null)\n                {\n                    group.IGroupId = GrpId.Value;\n                    SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, GrpId.Value, group);\n                    SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, GrpId.Value, group);\n                }\n                else\n                {\n                    group.IGroupId = gIndex;\n                    SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, gIndex, group);\n                    SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, gIndex, group);\n                }\n                lstvwgrp.ListView.Refresh();\n            }\n        }\n\n        private static void setGrpFooter(ListViewGroup lstvwgrp, string footer)\n        {\n            if (Environment.OSVersion.Version.Major < 6)   //Only Vista and forward allows footer on ListViewGroups\n                return;\n            if (lstvwgrp == null || lstvwgrp.ListView == null)\n                return;\n            if (lstvwgrp.ListView.InvokeRequired)\n                lstvwgrp.ListView.Invoke(new CallbackSetGroupString(setGrpFooter), lstvwgrp, footer);\n            else\n            {\n                int? GrpId = GetGroupID(lstvwgrp);\n                int gIndex = lstvwgrp.ListView.Groups.IndexOf(lstvwgrp);\n                LVGROUP group = new LVGROUP();\n                group.CbSize = Marshal.SizeOf(group);\n                group.PszFooter = footer;\n                group.Mask = ListViewGroupMask.Footer;\n                if (GrpId != null)\n                {\n                    group.IGroupId = GrpId.Value;\n                    SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, GrpId.Value, group);\n                }\n                else\n                {\n                    group.IGroupId = gIndex;\n                    SendMessage(lstvwgrp.ListView.Handle, LVM_SETGROUPINFO, gIndex, group);\n                }\n            }\n        }\n\n        public void SetGroupState(ListViewGroupState state)\n        {\n            foreach (ListViewGroup lvg in this.Groups)\n                setGrpState(lvg, state);\n        }\n\n        public void SetGroupState(ListViewGroupState state , ListViewGroup lvg)\n        {\n            setGrpState(lvg, state);\n        }\n\n        public void SetGroupFooter(ListViewGroup lvg, string footerText)\n        {\n                setGrpFooter(lvg, footerText);\n        }\n\n        protected override void WndProc(ref Message m)\n        {\n            if (m.Msg == WM_LBUTTONUP)\n                base.DefWndProc(ref m);\n            base.WndProc(ref m);\n        }\n    }\n\n\n    /// <summary>\n    /// LVGROUP StructureUsed to set and retrieve groups.\n    /// </summary>\n    /// <example>\n    /// LVGROUP myLVGROUP = new LVGROUP();\n    /// myLVGROUP.CbSize\t// is of managed type uint\n    /// myLVGROUP.Mask\t// is of managed type uint\n    /// myLVGROUP.PszHeader\t// is of managed type string\n    /// myLVGROUP.CchHeader\t// is of managed type int\n    /// myLVGROUP.PszFooter\t// is of managed type string\n    /// myLVGROUP.CchFooter\t// is of managed type int\n    /// myLVGROUP.IGroupId\t// is of managed type int\n    /// myLVGROUP.StateMask\t// is of managed type uint\n    /// myLVGROUP.State\t// is of managed type uint\n    /// myLVGROUP.UAlign\t// is of managed type uint\n    /// myLVGROUP.PszSubtitle\t// is of managed type IntPtr\n    /// myLVGROUP.CchSubtitle\t// is of managed type uint\n    /// myLVGROUP.PszTask\t// is of managed type string\n    /// myLVGROUP.CchTask\t// is of managed type uint\n    /// myLVGROUP.PszDescriptionTop\t// is of managed type string\n    /// myLVGROUP.CchDescriptionTop\t// is of managed type uint\n    /// myLVGROUP.PszDescriptionBottom\t// is of managed type string\n    /// myLVGROUP.CchDescriptionBottom\t// is of managed type uint\n    /// myLVGROUP.ITitleImage\t// is of managed type int\n    /// myLVGROUP.IExtendedImage\t// is of managed type int\n    /// myLVGROUP.IFirstItem\t// is of managed type int\n    /// myLVGROUP.CItems\t// is of managed type IntPtr\n    /// myLVGROUP.PszSubsetTitle\t// is of managed type IntPtr\n    /// myLVGROUP.CchSubsetTitle\t// is of managed type IntPtr\n    /// </example>\n    /// <remarks>\n    /// The LVGROUP structure was created by Paw Jershauge\n    /// Created: Jan. 2008.\n    /// The LVGROUP structure code is based on information from Microsoft's MSDN2 website.\n    /// The structure is generated via an automated converter and is as is.\n    /// The structure may or may not hold errors inside the code, so use at own risk.\n    /// Reference url: http://msdn.microsoft.com/en-us/library/bb774769(VS.85).aspx\n    /// </remarks>\n    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode), Description(\"LVGROUP StructureUsed to set and retrieve groups.\")]\n    public struct LVGROUP\n    {\n        /// <summary>\n        /// Size of this structure, in bytes.\n        /// </summary>\n        [Description(\"Size of this structure, in bytes.\")]\n        public int CbSize;\n\n        /// <summary>\n        /// Mask that specifies which members of the structure are valid input. One or more of the following values:LVGF_NONENo other items are valid.\n        /// </summary>\n        [Description(\"Mask that specifies which members of the structure are valid input. One or more of the following values:LVGF_NONE No other items are valid.\")]\n        public ListViewGroupMask Mask;\n\n        /// <summary>\n        /// Pointer to a null-terminated string that contains the header text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the header text.\n        /// </summary>\n        [Description(\"Pointer to a null-terminated string that contains the header text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the header text.\")]\n        [MarshalAs(UnmanagedType.LPWStr)]\n        public string PszHeader;\n\n        /// <summary>\n        /// Size in TCHARs of the buffer pointed to by the pszHeader member. If the structure is not receiving information about a group, this member is ignored.\n        /// </summary>\n        [Description(\"Size in TCHARs of the buffer pointed to by the pszHeader member. If the structure is not receiving information about a group, this member is ignored.\")]\n        public int CchHeader;\n\n        /// <summary>\n        /// Pointer to a null-terminated string that contains the footer text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the footer text.\n        /// </summary>\n        [Description(\"Pointer to a null-terminated string that contains the footer text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the footer text.\")]\n        [MarshalAs(UnmanagedType.LPWStr)]\n        public string PszFooter;\n\n        /// <summary>\n        /// Size in TCHARs of the buffer pointed to by the pszFooter member. If the structure is not receiving information about a group, this member is ignored.\n        /// </summary>\n        [Description(\"Size in TCHARs of the buffer pointed to by the pszFooter member. If the structure is not receiving information about a group, this member is ignored.\")]\n        public int CchFooter;\n\n        /// <summary>\n        /// ID of the group.\n        /// </summary>\n        [Description(\"ID of the group.\")]\n        public int IGroupId;\n\n        /// <summary>\n        /// Mask used with LVM_GETGROUPINFO (Microsoft Windows XP and Windows Vista) and LVM_SETGROUPINFO (Windows Vista only) to specify which flags in the state value are being retrieved or set.\n        /// </summary>\n        [Description(\"Mask used with LVM_GETGROUPINFO (Microsoft Windows XP and Windows Vista) and LVM_SETGROUPINFO (Windows Vista only) to specify which flags in the state value are being retrieved or set.\")]\n        public int StateMask;\n\n        /// <summary>\n        /// Flag that can have one of the following values:LVGS_NORMALGroups are expanded, the group name is displayed, and all items in the group are displayed.\n        /// </summary>\n        [Description(\"Flag that can have one of the following values:LVGS_NORMAL Groups are expanded, the group name is displayed, and all items in the group are displayed.\")]\n        public ListViewGroupState State;\n\n        /// <summary>\n        /// Indicates the alignment of the header or footer text for the group. It can have one or more of the following values. Use one of the header flags. Footer flags are optional. Windows XP: Footer flags are reserved.LVGA_FOOTER_CENTERReserved.\n        /// </summary>\n        [Description(\"Indicates the alignment of the header or footer text for the group. It can have one or more of the following values. Use one of the header flags. Footer flags are optional. Windows XP: Footer flags are reserved.LVGA_FOOTER_CENTERReserved.\")]\n        public uint UAlign;\n\n        /// <summary>\n        /// Windows Vista. Pointer to a null-terminated string that contains the subtitle text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the subtitle text. This element is drawn under the header text.\n        /// </summary>\n        [Description(\"Windows Vista. Pointer to a null-terminated string that contains the subtitle text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the subtitle text. This element is drawn under the header text.\")]\n        public IntPtr PszSubtitle;\n\n        /// <summary>\n        /// Windows Vista. Size, in TCHARs, of the buffer pointed to by the pszSubtitle member. If the structure is not receiving information about a group, this member is ignored.\n        /// </summary>\n        [Description(\"Windows Vista. Size, in TCHARs, of the buffer pointed to by the pszSubtitle member. If the structure is not receiving information about a group, this member is ignored.\")]\n        public uint CchSubtitle;\n\n        /// <summary>\n        /// Windows Vista. Pointer to a null-terminated string that contains the text for a task link when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the task text. This item is drawn right-aligned opposite the header text. When clicked by the user, the task link generates an LVN_LINKCLICK notification.\n        /// </summary>\n        [Description(\"Windows Vista. Pointer to a null-terminated string that contains the text for a task link when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the task text. This item is drawn right-aligned opposite the header text. When clicked by the user, the task link generates an LVN_LINKCLICK notification.\")]\n        [MarshalAs(UnmanagedType.LPWStr)]\n        public string PszTask;\n\n        /// <summary>\n        /// Windows Vista. Size in TCHARs of the buffer pointed to by the pszTask member. If the structure is not receiving information about a group, this member is ignored.\n        /// </summary>\n        [Description(\"Windows Vista. Size in TCHARs of the buffer pointed to by the pszTask member. If the structure is not receiving information about a group, this member is ignored.\")]\n        public uint CchTask;\n\n        /// <summary>\n        /// Windows Vista. Pointer to a null-terminated string that contains the top description text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the top description text. This item is drawn opposite the title image when there is a title image, no extended image, and uAlign==LVGA_HEADER_CENTER.\n        /// </summary>\n        [Description(\"Windows Vista. Pointer to a null-terminated string that contains the top description text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the top description text. This item is drawn opposite the title image when there is a title image, no extended image, and uAlign==LVGA_HEADER_CENTER.\")]\n        [MarshalAs(UnmanagedType.LPWStr)]\n        public string PszDescriptionTop;\n\n        /// <summary>\n        /// Windows Vista. Size in TCHARs of the buffer pointed to by the pszDescriptionTop member. If the structure is not receiving information about a group, this member is ignored.\n        /// </summary>\n        [Description(\"Windows Vista. Size in TCHARs of the buffer pointed to by the pszDescriptionTop member. If the structure is not receiving information about a group, this member is ignored.\")]\n        public uint CchDescriptionTop;\n\n        /// <summary>\n        /// Windows Vista. Pointer to a null-terminated string that contains the bottom description text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the bottom description text. This item is drawn under the top description text when there is a title image, no extended image, and uAlign==LVGA_HEADER_CENTER.\n        /// </summary>\n        [Description(\"Windows Vista. Pointer to a null-terminated string that contains the bottom description text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the bottom description text. This item is drawn under the top description text when there is a title image, no extended image, and uAlign==LVGA_HEADER_CENTER.\")]\n        [MarshalAs(UnmanagedType.LPWStr)]\n        public string PszDescriptionBottom;\n\n        /// <summary>\n        /// Windows Vista. Size in TCHARs of the buffer pointed to by the pszDescriptionBottom member. If the structure is not receiving information about a group, this member is ignored.\n        /// </summary>\n        [Description(\"Windows Vista. Size in TCHARs of the buffer pointed to by the pszDescriptionBottom member. If the structure is not receiving information about a group, this member is ignored.\")]\n        public uint CchDescriptionBottom;\n\n        /// <summary>\n        /// Windows Vista. Index of the title image in the control imagelist.\n        /// </summary>\n        [Description(\"Windows Vista. Index of the title image in the control imagelist.\")]\n        public int ITitleImage;\n\n        /// <summary>\n        /// Windows Vista. Index of the extended image in the control imagelist.\n        /// </summary>\n        [Description(\"Windows Vista. Index of the extended image in the control imagelist.\")]\n        public int IExtendedImage;\n\n        /// <summary>\n        /// Windows Vista. Read-only.\n        /// </summary>\n        [Description(\"Windows Vista. Read-only.\")]\n        public int IFirstItem;\n\n        /// <summary>\n        /// Windows Vista. Read-only in non-owner data mode.\n        /// </summary>\n        [Description(\"Windows Vista. Read-only in non-owner data mode.\")]\n        public IntPtr CItems;\n\n        /// <summary>\n        /// Windows Vista. NULL if group is not a subset. Pointer to a null-terminated string that contains the subset title text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the subset title text.\n        /// </summary>\n        [Description(\"Windows Vista. NULL if group is not a subset. Pointer to a null-terminated string that contains the subset title text when item information is being set. If group information is being retrieved, this member specifies the address of the buffer that receives the subset title text.\")]\n        public IntPtr PszSubsetTitle;\n\n        /// <summary>\n        /// Windows Vista. Size in TCHARs of the buffer pointed to by the pszSubsetTitle member. If the structure is not receiving information about a group, this member is ignored.\n        /// </summary>\n        [Description(\"Windows Vista. Size in TCHARs of the buffer pointed to by the pszSubsetTitle member. If the structure is not receiving information about a group, this member is ignored.\")]\n        public IntPtr CchSubsetTitle;\n    }\n\n    public enum ListViewGroupMask\n    {\n        None = 0x00000,\n        Header = 0x00001,\n        Footer = 0x00002,\n        State = 0x00004,\n        Align = 0x00008,\n        GroupId = 0x00010,\n        SubTitle = 0x00100,\n        Task = 0x00200,\n        DescriptionTop = 0x00400,\n        DescriptionBottom = 0x00800,\n        TitleImage = 0x01000,\n        ExtendedImage = 0x02000,\n        Items = 0x04000,\n        Subset = 0x08000,\n        SubsetItems = 0x10000\n    }\n\n    public enum ListViewGroupState\n    {\n        /// <summary>\n        /// Groups are expanded, the group name is displayed, and all items in the group are displayed.\n        /// </summary>\n        Normal = 0,\n        /// <summary>\n        /// The group is collapsed.\n        /// </summary>\n        Collapsed = 1,\n        /// <summary>\n        /// The group is hidden.\n        /// </summary>\n        Hidden = 2,\n        /// <summary>\n        /// Version 6.00 and Windows Vista. The group does not display a header.\n        /// </summary>\n        NoHeader = 4,\n        /// <summary>\n        /// Version 6.00 and Windows Vista. The group can be collapsed.\n        /// </summary>\n        Collapsible = 8,\n        /// <summary>\n        /// Version 6.00 and Windows Vista. The group has keyboard focus.\n        /// </summary>\n        Focused = 16,\n        /// <summary>\n        /// Version 6.00 and Windows Vista. The group is selected.\n        /// </summary>\n        Selected = 32,\n        /// <summary>\n        /// Version 6.00 and Windows Vista. The group displays only a portion of its items.\n        /// </summary>\n        SubSeted = 64,\n        /// <summary>\n        /// Version 6.00 and Windows Vista. The subset link of the group has keyboard focus.\n        /// </summary>\n        SubSetLinkFocused = 128,\n\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/MyEnableSwitch.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class MyEnableSwitch\n    {\n        /// <summary> \n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary> \n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary> \n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MyEnableSwitch));\n            this.pb_switch = new System.Windows.Forms.PictureBox();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_switch)).BeginInit();\n            this.SuspendLayout();\n            // \n            // pb_switch\n            // \n            this.pb_switch.BackColor = System.Drawing.Color.Transparent;\n            this.pb_switch.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_switch.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.pb_switch.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_switch.Image\")));\n            this.pb_switch.Location = new System.Drawing.Point(0, 0);\n            this.pb_switch.Name = \"pb_switch\";\n            this.pb_switch.Size = new System.Drawing.Size(36, 20);\n            this.pb_switch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_switch.TabIndex = 39;\n            this.pb_switch.TabStop = false;\n            this.pb_switch.Click += new System.EventHandler(this.pb_switch_Click);\n            // \n            // MyEnableSwitch\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.Controls.Add(this.pb_switch);\n            this.Name = \"MyEnableSwitch\";\n            this.Size = new System.Drawing.Size(36, 20);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_switch)).EndInit();\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.PictureBox pb_switch;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/MyEnableSwitch.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class MyEnableSwitch : UserControl\n    {\n\n        public class ChangeEnableEventArgs:EventArgs\n        {\n            public bool IsEnable{get; set;}\n            public ChangeEnableEventArgs(bool isEnable)\n            {\n                IsEnable = isEnable;\n            }\n        }\n\n        \n\n        public MyEnableSwitch()\n        {\n            InitializeComponent();\n            myResources = new System.ComponentModel.ComponentResourceManager(typeof(MyEnableSwitch));\n        }\n\n        System.ComponentModel.ComponentResourceManager myResources;\n        private bool isEnable;\n        public event EventHandler<ChangeEnableEventArgs> OnChangeEnable;\n\n        [DescriptionAttribute(\"the TextBox that you want to binding\")]\n        /// <summary>\n        /// get or set the switch status (set thie value will not call OnChangeEnable)\n        /// </summary>\n        public bool IsEnable\n        {\n            get { return isEnable; }\n            set\n            {\n                isEnable = value;\n                pb_switch.Image = isEnable ? ((Image)(myResources.GetObject(\"switch_on\"))) : ((Image)(myResources.GetObject(\"switch_off\")));\n            }\n        }\n\n        private void pb_switch_Click(object sender, EventArgs e)\n        {\n            IsEnable = !IsEnable;\n            if(OnChangeEnable!=null)\n            {\n                this.OnChangeEnable(this, new ChangeEnableEventArgs(IsEnable));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/MyEnableSwitch.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pb_switch.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAYAAAAeA21aAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO\n        vAAADrwBlbxySQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC42/Ixj3wAABAZJREFUaEPtmttL\n        VEEcx+1CkV0fjIpeIoqCLlCYUFJZBvUHWGpP0lMvvhTUQxFbIF2wtcx1V9d1yZdAfBCKkIrs9tDFoqei\n        hHrJCkyNsItSbp/f+jtx1PW6O3Mk/MKXOWfOzHy/M+ecOTNzJm0KU5hCUqiqqkoPBoPZMMcmq6urt/n9\n        /jlqwx7Ky8sXhEKhYioeIXxE2AtjHrEHD82EJ2iUrFgsNk1tph41NTWrEEIv9MNlwBa/ofuCsB6ehWWc\n        X4XXOW6F8XScd8JAZWXlSrWdPAKBwDwKvQT/OEI2iJ5U2Med3aRWhgXp1sJj5Hmp+X9Df11d3VxNMjEg\n        voKC/rWwDVKJRsINamFckFcAz0Xkb9fyWqUOenl8wEgm/KIF2WDLWO72WBCJRObjPajlto+7XDLnkvGn\n        FmCc6DURpqt8ykC5eVD6rO5wOLxbo0cGrZVDpl9ug4ZZ5fP5pqt8ysHnch0Sn6VOUjeNTgxaaQmJu9SY\n        DTaotFFQ+a1QOvF2OvWlGj0UJLjnMmeUGHrGmGK2ShsHesdV+65GDQSPyiG3QcPsHvFOGAK68RvMq1Ck\n        Uf3gHZzJhTY1Z4M+lbYKnoJM1X83oN/hQqHLnGl2JD1ASQLoN4gPnoIDGhVvgDsug0aJ1imV9QR42Kw+\n        muIRtbW1i4nocwyaJi2/Pi7sIfDxEfZFo9FFcnLQMWeatPp79eAp8HJZ/eTLid8xaIFX1IOn4Iu3V/1c\n        kAa4oSfGSYsfUQ+egunyGvXTKA3Q4jZpkggWqgdPIYs66ueJfAHeDjZqiqOOxS0CP7KS9VoO3jgGTZPG\n        3qH6ngM/3+ErOXjuGDRNOp8C1fcUsl6gnp7KKyDrakPMmiBak7ITLHObNMwK9eApqPg+9VMq38QCl0Gj\n        RHhSDYTgfutD4XA4vFF9eAZuxCe8yMrxwngEB7cdg6aJ+Om4qEfgid+iPvonQwIirM0H4KSYDtMA+RrV\n        vyBCxAeXSdM8o9JWgW58KgzbhizEWl4SkyX3ZSptDWgmXhJzwFPwQA0aJ1rNJpfDBwPNEtVOvCgqkIVK\n        jHU6Ji3wvEobBTpOH9c16mIsiXbRCNZ+jAz7OKYI1CUPnV6pE5/g7Ro9MugP9pDB5m/wivr6+lkqnzJQ\n        7lEoY5xu6pOr0WMDdyaLjB0wkWETfIzJ1SqfFCgrA0a03PH/HHUgGw0owNp0GcocvXSi4wTyZtCI5whl\n        qivlTfz3uANngwSFWRsuQ/mZeZFXcSevxgy1khBUcDlpD5PnJuzR/KnZIOGGPg0h6Gw+sMWvVPAW4TXC\n        AGEJYZTwIaGM6d1p5V1P7RaZwdBdGFkInYT3EfV6k5Rs1JINW8Wy0KE27QFxT7bJwWxPtslN4b9CWtpf\n        q08OrPrJSeMAAAAASUVORK5CYII=\n</value>\n  </data>\n  <data name=\"switch_off\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAYAAAAeA21aAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\n        YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNvyMY98A\n        AAQGSURBVGhD7ZrbS1RBHMftQpFdH4yKXiKKgi5QmFBSWQb1B1hqT9JTL74U1EMRWyBdsLXMdVfXdcmX\n        QHwQipCK7PbQxaKnooR6yQpMjbCLUm6f3/o7cdT1ujtzJPzClzlnzsx8vzPnnDkzcyZtClOYQlKoqqpK\n        DwaD2TDHJqurq7f5/f45asMeysvLF4RCoWIqHiF8RNgLYx6xBw/NhCdolKxYLDZNbaYeNTU1qxBCL/TD\n        ZcAWv6H7grAenoVlnF+F1zluhfF0nHfCQGVl5Uq1nTwCgcA8Cr0E/zhCNoieVNjHnd2kVoYF6dbCY+R5\n        qfl/Q39dXd1cTTIxIL6Cgv61sA1SiUbCDWphXJBXAM9F5G/X8lqlDnp5fMBIJvyiBdlgy1ju9lgQiUTm\n        4z2o5baPu1wy55LxpxZgnOg1EaarfMpAuXlQ+qzucDi8W6NHBq2VQ6ZfboOGWeXz+aarfMrB53IdEp+l\n        TlI3jU4MWmkJibvUmA02qLRRUPmtUDrxdjr1pRo9FCS45zJnlBh6xphitkobB3rHVfuuRg0Ej8oht0HD\n        7B7xThgCuvEbzKtQpFH94B2cyYU2NWeDPpW2Cp6CTNV/N6Df4UKhy5xpdiQ9QEkC6DeID56CAxoVb4A7\n        LoNGidYplfUEeNisPpriEbW1tYuJ6HMMmiYtvz4u7CHw8RH2RaPRRXJy0DFnmrT6e/XgKfByWf3ky4nf\n        MWiBV9SDp+CLt1f9XJAGuKEnxkmLH1EPnoLp8hr10ygN0OI2aZIIFqoHTyGLOurniXwB3g42aoqjjsUt\n        Aj+ykvVaDt44Bk2Txt6h+p4DP9/hKzl47hg0TTqfAtX3FLJeoJ6eyisg62pDzJogWpOyEyxzmzTMCvXg\n        Kaj4PvVTKt/EApdBo0R4Ug2E4H7rQ+FwOLxRfXgGbsQnvMjK8cJ4BAe3HYOmifjpuKhH4Infoj76J0MC\n        IqzNB+CkmA7TAPka1b8gQsQHl0nTPKPSVoFufCoM24YsxFpeEpMl92UqbQ1oJl4Sc8BT8EANGidazSaX\n        wwcDzRLVTrwoKpCFSox1OiYt8LxKGwU6Th/XNepiLIl20QjWfowM+zimCNQlD51eqROf4O0aPTLoD/aQ\n        weZv8Ir6+vpZKp8yUO5RKGOcbuqTq9FjA3cmi4wdMJFhE3yMydUqnxQoKwNGtNzx/xx1IBsNKMDadBnK\n        HL10ouME8mbQiOcIZaor5U3897gDZ4MEhVkbLkP5mXmRV3Enr8YMtZIQVHA5aQ+T5ybs0fyp2SDhhj4N\n        IehsPrDFr1TwFuE1wgBhCWGU8CGhjOndaeVdT+0WmcHQXRhZCJ2E9xH1epOUbNSSDVvFstChNu0BcU+2\n        ycFsT7bJTeG/QlraX6tPDqz6yUnjAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"switch_on\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAYAAAAeA21aAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\n        YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNvyMY98A\n        AARjSURBVGhD7VpJaBRBFB03REUFFxRPIigiiKhRkSCOme7E3B1NMqlOzEG8eBK9CC6IoGBc0IAICp4E\n        FUQFcUEUEhSMetV0TyeoMQaMC6ImLnF8v+ePTrrbaDL9uwXnwSOp3zX1X1X9Wrq6YkUUUURBWPk8OU5P\n        15VqVm08TJLPpV2bxrOM8FBppSZpaWOLZhmndMto0U31GX8zUVAzjS+apW5rabWj3FQrYpnYCJYZPDSz\n        Zg4q3QSHnwaIsIyXmqma8fc00vt0Sx1Ho5wFb8D2Lj+vPNUbRyO0suzCUd6tJqDSh+Cgnx31gVdRwc2J\n        9uoZnM0XyUxyFEStpt+D3fz7EKi+6WnjCGlnKcNDvKN+NgqzuOCPelodqHienMKPhwQaOiijEdHy9ZdQ\n        aSqL6sAShgbdViUYYz1UEIV3vK16Gj8qCLpdMxfl3fOKlSHVoazdWM7u/w7laVUGkb0I2+8oYBubA8PS\n        zKYx6J3jfoIlSPOWZhsaux8czhKDcU4zLEQm2SwClK/cYgXZR3Vj1/6gSe1n2Juqhs2ioHnFJVSMiOq3\n        mBNmsmsvECq3OfM+Nskjs3skhN3NFypJqiN7Hggsa/XZTOqO6IbCBxR58P/BLVaKaPAGds2gXjCNF/Sw\n        zKpdwtZQgYbf4xYqRdS1M56Jj2bX6IG0sYEfnmdT6KBNi24ar/OFitKsq2bXTvjfIGNUvZ8DomCnR6gQ\n        EQU3HaeanZxM6z0aocsxRAjNTi30EytBqvMqa+N0hL+qcozYO7OOSIFh0OEWK0YaBgi7g5RAi1SwhkiB\n        GfqYR6gY1UFqgMuUSNjGPNYQKbAx2uoVKkV1Ge/56j4lSp80TGQNkYJ2oF6hMkTUt5LDJ0h8ZP+RA0vy\n        GrdQKWK4tdGk8xhLwnv2HzkQlqv9xEqQOp/2/62UKPj0JCDQzOwWKsgHNOteosR/Ownin0ZKJNK1a1lD\n        pICoMA9KDtEByHrHYKqjrCFSQNRTt1Ap0jtQLNFpTEWrf/sXtsJr2msX+QmVIBo6uxUmwHCdjAk7tcwx\n        RAR0RGivxPQCyG5/vQ5jWbjAptAR6eswH4h0Og9sVcLWUIHG3+sRKUQ6/BlwIEJASDhHYhDSzKbQoD+r\n        moXluNctVIreIzEGxuAtJ4PAt4DfodKqHJvbjIVB+PI/FCXQkTEa4Q0y9v/xDD0IZGIjaN5xi5Qien7w\n        Y3FC3oeRnoSVWsDm4OEch6uTbpGC7KMXLfY+OHQ7lcCc8IGYsIx1bA4MdLEBlb/mI1KE8PX3n8ZyQLgs\n        Rni+yhZgNAV1XuCUa6mHbpFixNI65I+jOfCliDYqCKK7EUJ1w/1oQrs8lHHRI1CUBXwez8F9QQIN8ghD\n        Y3t5R/18zvJbZHvb2BVqj2fZH8gFiXxQNCCcTuSGRZbKwmR5BRU8Ax5GZffDdo4bKbRPXTlCw6esxgCv\n        yHiAIUBjii4mobJ3UNHILkmx7xY0+Cm6uEW3UFhleIjymhz5ZhlFFDEsxGI/AI8md+3a2cnRAAAAAElF\n        TkSuQmCC\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/MyEnabledPictureButton.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    class MyEnabledPictureButton : PictureBox\n    {\n        public MyEnabledPictureButton()\n        {\n            //this.MouseMove += pictureBox_MouseMove;\n            //this.MouseLeave += pictureBox_MouseLeave;\n            this.Cursor = Cursors.Hand;\n            this.SizeMode = PictureBoxSizeMode.StretchImage;\n        }\n\n        /// <summary>\n        /// 不可用时显示的图片\n        /// </summary>\n        [DescriptionAttribute(\"\")]\n        public Image DisEnabledImage { get; set; }\n\n\n        private Image enabledImage;\n\n        /// <summary>\n        /// 可用时显示的图片\n        /// </summary>\n        [DescriptionAttribute(\"\")]\n        public Image EnabledImage { get { return enabledImage; } set { enabledImage =this.Image = value; } }\n\n        public new bool Enabled\n        {\n            get { return base.Enabled; }\n            set\n            {\n                base.Enabled = value;\n                if(base.Enabled )\n                {\n                    if(EnabledImage!=null)\n                    {\n                        this.Image = EnabledImage;\n                    }\n                    this.Cursor = Cursors.Hand;\n                }\n                else\n                {\n                    if (DisEnabledImage != null)\n                    {\n                        this.Image = DisEnabledImage;\n                    }\n                    this.Cursor = Cursors.No;\n                }\n            }\n        }\n\n        protected override void OnMouseMove(MouseEventArgs e)\n        {\n            pictureBox_MouseMove(this, e);\n        }\n\n        protected override void OnMouseLeave(EventArgs e)\n        {\n            pictureBox_MouseLeave(this, e);\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/MyListView.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    /// <summary>\n    /// item 可拖放排序的ListView\n    /// </summary>\n    //public class MyListView : ListView\n    public class MyListView : ListViewExtended\n    {\n        /// <summary>\n        /// 维持group模式下的选中状态（在ListView动态编辑group过程中，会让选择状态异常）\n        /// </summary>\n        public class GroupSelectedItemsSataus\n        {\n            private ListView NowListView { get; set; }\n            private List<ListViewItem> NowSelectedItems { get; set; }\n\n            public GroupSelectedItemsSataus(ListView listView)\n            {\n                NowListView = listView;\n                NowSelectedItems = new List<ListViewItem>();\n            }\n\n            public void GetSnapshoot()\n            {\n                NowSelectedItems.Clear();\n                foreach(ListViewItem listViewItem in NowListView.SelectedItems)\n                {\n                    NowSelectedItems.Add(listViewItem);\n                }\n            }\n\n            public void ReCoverSnapshoot()\n            {\n                if(NowSelectedItems.Count>0)\n                {\n                    foreach (ListViewItem listViewItem in NowListView.SelectedItems)\n                    {\n                        if (NowSelectedItems.Contains(listViewItem))\n                        {\n                            NowSelectedItems.Remove(listViewItem);\n                        }\n                        else\n                        {\n                            listViewItem.Selected = false;\n                        }\n                    }\n                    foreach (ListViewItem listViewItem in NowSelectedItems)\n                    {\n                        listViewItem.Selected = true;\n                    }\n                }\n                NowSelectedItems.Clear();\n            }\n        }\n\n        private const int WM_LBUTTONDBLCLK = 0x0203;  //左键双击\n        private int moveItemIndex = -1; //当前正在被移动的项\n        private int scrollDecelerateFlag = 25; //自动滚动缓速标识\n\n        public GroupSelectedItemsSataus GroupSelectedSataus { get; private set; }\n\n        /// <summary>\n        /// this ListView disable double click to check the checkbox\n        /// enable DoubleBuffer\n        /// implement items drag in detail mode\n        /// </summary>\n        public MyListView() : base() \n        {\n            InitializeComponent();\n            this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);\n            UpdateStyles();\n            GroupSelectedSataus = new GroupSelectedItemsSataus(this);\n        }\n\n        /// <summary>\n        /// Drag Start (开始拖放/拖入)\n        /// </summary>\n        public event EventHandler<ItemDragEventArgs> OnItemDragSortStart;\n\n        /// <summary>\n        /// Drag End （完成拖放/脱出）\n        /// </summary>\n        public event EventHandler<DragEventArgs> OnItemDragSortEnd;\n\n        protected override void WndProc(ref Message m)\n        { \n            if (m.Msg == WM_LBUTTONDBLCLK)\n            { \n                Point p = PointToClient(new Point(Cursor.Position.X, Cursor.Position.Y)); \n                ListViewItem lvi = GetItemAt(p.X, p.Y); \n                if (lvi != null) \n                    lvi.Selected = true; \n                OnDoubleClick(new EventArgs()); \n            } \n            else \n                base.WndProc(ref m); \n        }\n\n        private void InitializeComponent()\n        {\n            this.SuspendLayout();\n            // \n            // MyListView\n            // \n            this.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.MyListView_ItemDrag);\n            this.DragDrop += new System.Windows.Forms.DragEventHandler(this.MyListView_DragDrop);\n            this.DragEnter += new System.Windows.Forms.DragEventHandler(this.MyListView_DragEnter);\n            this.DragOver += new System.Windows.Forms.DragEventHandler(this.MyListView_DragOver);\n            this.DragLeave += new System.EventHandler(this.MyListView_DragLeave);\n            this.ResumeLayout(false);\n\n        }\n\n        /// <summary>\n        /// is your item above your move items (just like AppearsAfterItem)   [if you want enable drag just set ListView AllowDrop is true]\n        /// </summary>\n        /// <param name=\"nowIndex\">you now item index</param>\n        /// <returns>is above item</returns>\n        private bool AppearAboveItem(int nowIndex)\n        {\n            if (nowIndex < moveItemIndex)\n            {\n                return true;\n            }\n            return false;\n        }\n\n        /// <summary>\n        /// \n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void MyListView_ItemDrag(object sender, ItemDragEventArgs e)\n        {\n            if (this.SelectedItems!=null && this.SelectedItems.Count>0)\n            {\n                GroupSelectedSataus.GetSnapshoot();\n                OnItemDragSortStart?.Invoke(sender, e);\n                GroupSelectedSataus.ReCoverSnapshoot();\n                moveItemIndex = this.SelectedItems[0].Index;\n                this.DoDragDrop(this.SelectedItems, DragDropEffects.Move);\n            }\n        }\n\n        /// <summary>\n        /// drag complete\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void MyListView_DragDrop(object sender, DragEventArgs e)\n        {\n            int targetIndex = this.InsertionMark.Index;\n            if (targetIndex == -1)\n            {\n                return;\n            }\n            SelectedListViewItemCollection draggedItems =(SelectedListViewItemCollection)e.Data.GetData(typeof(SelectedListViewItemCollection));\n            if (draggedItems == null || draggedItems.Count == 0 || draggedItems[0].ListView != this)\n            {\n                this.InsertionMark.Index = -1;\n                return;\n            }\n\n            foreach (ListViewItem draggedItem in draggedItems)\n            {\n                this.Items.Remove(draggedItem);\n                this.Items.Insert(targetIndex, draggedItem);\n                if (AppearAboveItem(targetIndex))\n                {\n                    targetIndex++;\n                }\n            }\n            OnItemDragSortEnd?.Invoke(sender, e);\n        }\n\n\n        private void MyListView_DragEnter(object sender, DragEventArgs e)\n        {\n            GroupSelectedSataus.GetSnapshoot();\n            OnItemDragSortStart?.Invoke(sender, null);\n            GroupSelectedSataus.ReCoverSnapshoot();\n            SelectedListViewItemCollection draggedItems = (SelectedListViewItemCollection)e.Data.GetData(typeof(SelectedListViewItemCollection));\n            e.Effect = (draggedItems == null || draggedItems.Count == 0 || draggedItems[0].ListView != this) ? DragDropEffects.None : e.AllowedEffect;\n        }\n\n        private void MyListView_DragLeave(object sender, EventArgs e)\n        {\n            this.InsertionMark.Index = -1;\n            OnItemDragSortEnd?.Invoke(sender, null);\n        }\n\n        /// <summary>\n        /// drag over the contor boundary\n        /// </summary>\n        /// <param name=\"sender\"></param>\n        /// <param name=\"e\"></param>\n        private void MyListView_DragOver(object sender, DragEventArgs e)\n        {\n            System.Diagnostics.Debug.WriteLine($\"--------------------------{DateTime.Now.Millisecond}[{e.X},{e.Y}]MyListView_DragOver--------------------\");\n            Point targetPoint = this.PointToClient(new Point(e.X, e.Y));\n            System.Diagnostics.Debug.WriteLine($\"--------------------------[{targetPoint.X},{targetPoint.Y},{this.Height}]--------------------\");\n\n            int targetIndex = this.InsertionMark.NearestIndex(targetPoint);\n            System.Diagnostics.Debug.WriteLine($\"--------------------------[{targetIndex}]--------------------\");\n\n            //System.Diagnostics.Debug.WriteLine(targetIndex.ToString() + this.InsertionMark.AppearsAfterItem.ToString());\n            if (targetIndex > -1)\n            {\n                this.InsertionMark.Color = Color.PowderBlue;\n            }\n            //Rectangle itemBounds = myListView.GetItemRect(targetIndex);\n            //myListView.InsertionMark.AppearsAfterItem = (targetPoint.X > itemBounds.Left + (itemBounds.Width / 2));\n            this.InsertionMark.AppearsAfterItem = (!AppearAboveItem(targetIndex));\n            this.InsertionMark.Index = targetIndex;\n\n\n            //自动滚动\n            if(targetIndex==-1)\n            {\n                targetIndex = moveItemIndex;\n            }\n            if (targetPoint.Y < 30 && targetIndex > 0)\n            {\n                if(scrollDecelerateFlag%5==0)\n                    this.EnsureVisible(targetIndex - 1);\n                if (scrollDecelerateFlag > 0)\n                    scrollDecelerateFlag--;\n            }\n            else if (targetPoint.Y > this.Height - 15 && targetIndex < this.Items.Count - 1)\n            {\n                if (scrollDecelerateFlag % 5 == 0)\n                    this.EnsureVisible(targetIndex + 1);\n                if (scrollDecelerateFlag > 0)\n                    scrollDecelerateFlag--;\n            }\n            else\n            {\n                scrollDecelerateFlag = 25;\n            }\n\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/MyListView.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"$this.TrayLargeIcon\" type=\"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n    <value>False</value>\n  </metadata>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/MyPanel.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    class MyPanel : System.Windows.Forms.Panel\n    {\n        public MyPanel()\n        {\n            //this.SetStyle(System.Windows.Forms.ControlStyles.UserPaint |System.Windows.Forms.ControlStyles.AllPaintingInWmPaint |System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer,true);\n            this.SetStyle(System.Windows.Forms.ControlStyles.DoubleBuffer | System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer | System.Windows.Forms.ControlStyles.AllPaintingInWmPaint, true);\n            UpdateStyles();\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/MySwitchPictureButton.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    class MySwitchPictureButton : PictureBox\n    {\n        public MySwitchPictureButton()\n        {\n            this.Cursor = Cursors.Hand;\n            this.SizeMode = PictureBoxSizeMode.StretchImage;\n            //if(IsAutoChangeSwitchState)\n            //{\n            //    this.Click += (sender, e) => { SwitchState = !SwitchState; };\n            //}\n        }\n\n       \n\n        [DescriptionAttribute(\"Is auto change switchState when click\")]\n        public bool IsAutoChangeSwitchState { get; set; } = false;\n\n        /// <summary>\n        /// 备用状态显示的图片\n        /// </summary>\n        [DescriptionAttribute(\"Image when switchState is false\")]\n        public Image SwitchOffImage { get; set; }\n\n\n        private Image switchOnImage;\n\n        /// <summary>\n        /// 主要状态显示的图片\n        /// </summary>\n        [DescriptionAttribute(\"Image when switchState is true\")]\n        public Image SwitchOnImage { get { return switchOnImage; } set { switchOnImage = this.switchOnImage = value; } }\n\n        private bool switchState = true;\n\n        public bool SwitchState\n        {\n            get { return switchState; }\n            set\n            {\n                switchState = value;\n                if(switchState)\n                {\n                    if(SwitchOnImage!=null)\n                    {\n                        this.Image = SwitchOnImage;\n                    }\n                }\n                else\n                {\n                    if (SwitchOffImage != null)\n                    {\n                        this.Image = SwitchOffImage;\n                    }\n                }\n            }\n        }\n\n        protected override void OnClick(EventArgs e)\n        {\n            if (IsAutoChangeSwitchState)\n            {\n                SwitchState = !SwitchState;\n            }\n            base.OnClick(e);\n            //else\n            //{\n                \n            //}\n        }\n\n        protected override void OnMouseMove(MouseEventArgs e)\n        {\n            pictureBox_MouseMove(this, e);\n        }\n\n        protected override void OnMouseLeave(EventArgs e)\n        {\n            pictureBox_MouseLeave(this, e);\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/RawRequestEdit.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class RawRequestEdit\n    {\n        /// <summary> \n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary> \n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary> \n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RawRequestEdit));\n            this.rtb_request = new System.Windows.Forms.RichTextBox();\n            this.pictureBox_changeMode = new System.Windows.Forms.PictureBox();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_changeMode)).BeginInit();\n            this.SuspendLayout();\n            // \n            // rtb_request\n            // \n            this.rtb_request.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rtb_request.Location = new System.Drawing.Point(0, 0);\n            this.rtb_request.Name = \"rtb_request\";\n            this.rtb_request.Size = new System.Drawing.Size(511, 209);\n            this.rtb_request.TabIndex = 0;\n            this.rtb_request.Text = \"\";\n            // \n            // pictureBox_changeMode\n            // \n            this.pictureBox_changeMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_changeMode.BackColor = System.Drawing.Color.Transparent;\n            this.pictureBox_changeMode.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_changeMode.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox_changeMode.Image\")));\n            this.pictureBox_changeMode.Location = new System.Drawing.Point(485, 3);\n            this.pictureBox_changeMode.Name = \"pictureBox_changeMode\";\n            this.pictureBox_changeMode.Size = new System.Drawing.Size(23, 22);\n            this.pictureBox_changeMode.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox_changeMode.TabIndex = 39;\n            this.pictureBox_changeMode.TabStop = false;\n            this.pictureBox_changeMode.Click += new System.EventHandler(this.pictureBox_changeMode_Click);\n            this.pictureBox_changeMode.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pictureBox_changeMode.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // RawRequestEdit\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.Controls.Add(this.pictureBox_changeMode);\n            this.Controls.Add(this.rtb_request);\n            this.Name = \"RawRequestEdit\";\n            this.Size = new System.Drawing.Size(511, 209);\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_changeMode)).EndInit();\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.RichTextBox rtb_request;\n        private System.Windows.Forms.PictureBox pictureBox_changeMode;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/RawRequestEdit.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nusing FreeHttp.HttpHelper;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class RawRequestEdit : UserControl\n    {\n        public RawRequestEdit()\n        {\n            InitializeComponent();\n        }\n\n        public event EventHandler OnRawRequestEditClose;\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n        public void SetText(string mes)\n        {\n            rtb_request.Text = mes;\n        }\n\n        public HttpRequest GetHttpRequest()\n        {\n            return HttpRequest.GetHttpRequest(rtb_request.Text.Replace(\"\\n\", \"\\r\\n\"));\n        }\n\n        private void pictureBox_changeMode_Click(object sender, EventArgs e)\n        {\n            this.Visible = false;\n            if(OnRawRequestEditClose!=null)\n            {\n                this.OnRawRequestEditClose(this, null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/RawRequestEdit.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pictureBox_changeMode.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\n        YQUAAAOnSURBVHhe7ZrPaxNBFMcDKihtsj8UT+IvVEQQQUVBPHkQ8eAPFJWC3vSif4PVP8Aq7c5uIoJQ\n        EcFfJw+ih949SBGUdmY3KVZpLajVGlQqxjfpM0zWiQ3ZbXf2xwceSWceL+/7ZqY7s7u5jIyMjIyYodvs\n        mmmzmmHTjwbx9mNzOtBsupGLF6xasOhe7E4BZKrbtOnXpiIQOqNZbCd6JB/TYqcMm/0WiwB/T6eqCIbj\n        ngHRv/xFMAa87eiSfHTHPS4pwqd8qbIVXZKPtAiETWVFgCIUiLsJXZJPvQiEzopFMAmb0J3KenQJwO3K\n        cth09ECV78DnMFx2vjX9kMpG2HigIhiWd5gHkQaPicFyGMtb71aipPYxHdYrCxhHg+3zZZTVHlC1m7JA\n        8TX3AkqbH4O4lyRBvoNd163yOnRTjsKtcRMG7pUvb25Pc/drS9BtHgYnu/gpSwwA/13Lql9SWoon9Fmu\n        VFuGbvOjO+ysL0jV7GdrsFtJQhPPgUvdXTEIzIZ+7FKSUMVz4Kg5IgYqOOU92KUcRsnTQhXPgRkwLQbL\n        XaktxS6lqIu32UsxV24wY590LJ7jD4jNSvFf8UEHzB8Um9UBBMIUf+HPMxTxHH9gbFaGQtHb7M8xNPEc\n        f3BsVgcQCtP/7d/8QhXPEcVzw2al4Kc7fk6BQlxsf4fXJnEowILSdPSF79gcGzSHnpjby9ARjbCT2Nw+\n        9QCEvuHGv2NzbGgeQPoem9NDQzwaNqeHrACLWQDddo/BpWgI1tqjfGl0FTZHyqIVAB9NNZ7PGYQWsStS\n        RPHcsDlc/OLnjD7H7khpzmkBCiAVz58TEHcfukTH4GSXL68Z7AkHnbjn/OINwj5rtrsLXSJFK3q7xdxg\n        TzCKXcGRiQf7YBbZNnSJHJiFN8T84KB0D7uCIRUPuyxtYGwDukSOUfLWwoh/EXPkN3ixu3Pk056W+Q+i\n        S+TkLW8LjHZFzLF+jukbX4EundFi2r/udtzV6BIp/CENCO2DnPhDm0aOPGc4CB1Et86A9XReIj4e5rBe\n        lNEZMJ16pIHjYVdRRufAyDduOcXGYM3zR/koIRgQbEL6IwoZDNI0zNRh+OQvbfTwlzgw/eDA+j/tX//8\n        9RPdZkfQJfm0uPzNQnEOoUvykRbBpj+zIkARNMc9gC7JR74c2I+sCFCEVL2vLysCWDVVRZDfDWJVvVje\n        gS7Jp8VdocfYnQ7+LQJ9iF3pQbfYUSjCEGydH6hyRM7IyMjIaJtc7g+/EGq5A+8/BAAAAABJRU5ErkJg\n        gg==\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/RawResponseEdit.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.AutoTest.RunTimeStaticData;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class RawResponseEdit : UserControl\n    {\n        public RawResponseEdit()\n        {\n            InitializeComponent();\n            ParameterDataToolStripMenuItem = useParameterDataToolStripMenuItem;\n            ContentLengthToolStripMenuItem = antoContentLengthToolStripMenuItem;\n        }\n\n\n        Dictionary<string, string> responseLineDc;\n        private ToolStripMenuItem ParameterDataToolStripMenuItem ;\n        private ToolStripMenuItem ContentLengthToolStripMenuItem;\n        HttpResponse httpResponse;\n\n        public event EventHandler OnRawResponseEditClose;\n        public event EventHandler OnRawResponseEnableChange;\n\n        public bool IsDirectRespons\n        {\n            get { return ck_directResponse.Checked; }\n            set { ck_directResponse.Checked = value; }\n        }\n\n        public bool IsUseParameterData\n        {\n            //get { return useParameterDataToolStripMenuItem.Checked; }\n            //set { useParameterDataToolStripMenuItem.Checked = value; }\n            get { return ParameterDataToolStripMenuItem.Checked; }\n            set { ParameterDataToolStripMenuItem.Checked = value; }\n        }\n\n        public HttpResponse RawResponse\n        {\n            get { return httpResponse; }\n        }\n        private void RawResponseEdit_Load(object sender, EventArgs e)\n        {\n            initializeResponseLineDc(out responseLineDc);\n            foreach(var tempKey in responseLineDc)\n            {\n                cb_responseLine.Items.Add(tempKey.Key);\n            }\n            cb_responseLine.SelectedIndex = 0;\n            MyControlHelper.SetRichTextBoxDropString(rtb_rawResponse);\n            //rtb_rawResponse.AllowDrop = true;\n            //rtb_rawResponse.DragEnter += rtb_rawResponse_DragEnter;\n            //rtb_rawResponse.DragDrop += rtb_rawResponse_DragDrop;\n        }\n\n        void rtb_rawResponse_DragDrop(object sender, DragEventArgs e)\n        {\n            string tempText = (string)e.Data.GetData(typeof(string));\n            if(tempText==null)\n            {\n                return;\n            }\n            int selectionStart = rtb_rawResponse.SelectionStart;\n            rtb_rawResponse.Text = rtb_rawResponse.Text.Insert(selectionStart, tempText);\n            rtb_rawResponse.Select(selectionStart, tempText.Length);\n        }\n\n        void rtb_rawResponse_DragEnter(object sender, DragEventArgs e)\n        {\n            if (e.Data.GetData(typeof(string)) == null)\n            {\n                e.Effect = DragDropEffects.None;\n            }\n        }\n\n        private void initializeResponseLineDc(out Dictionary<string, string> rdc)\n        {\n            rdc = new Dictionary<string, string>();\n            rdc.Add(\"Please select template\", \"edit raw response here\");\n            rdc.Add(\"HTTP/1.1 200 OK\", \"HTTP/1.1 200 OK\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nContent-Length: 51\\r\\n\\r\\nThis is a simple Fiddler-returned <B>HTML</B> page.\");\n            rdc.Add(\"HTTP/1.1 204 No Content\", \"HTTP/1.1 204 No Content\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nContent-Length: 0\\r\\n\\r\\n\");\n            rdc.Add(\"HTTP/1.1 302 Redirect\", \"HTTP/1.1 302 Redirect\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nLocation: http://www.fiddler2.com/sandbox/FormAndCookie.asp\\r\\nContent-Length: 0\\r\\n\\r\\n\");\n            rdc.Add(\"HTTP/1.1 303 Redirect Using GET\", \"HTTP/1.1 303 Redirect Using GET\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nLocation: http://www.fiddler2.com/sandbox/FormAndCookie.asp\\r\\nContent-Length: 0\\r\\n\\r\\n\");\n            rdc.Add(\"HTTP/1.1 304 Not Modified\", \"HTTP/1.1 304 Not Modified\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nContent-Length: 0\\r\\n\\r\\n\");\n            rdc.Add(\"HTTP/1.1 307 Redirect using same Method\", \"HTTP/1.1 307 Redirect using same Method\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nLocation: http://www.fiddler2.com/sandbox/FormAndCookie.asp\\r\\nContent-Length: 0\\r\\n\\r\\n\");\n            rdc.Add(\"HTTP/1.1 401 Authentication Required\", \"HTTP/1.1 401 Authentication Required\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nWWW-Authenticate: Basic realm=\\\"Fiddler\\\"\\r\\nContent-Type: text/html\\r\\nContent-Length: 520\\r\\n\\r\\nFiddler: HTTP/401 Basic Server Auth Required.\");\n            rdc.Add(\"HTTP/1.1 403 Access Denied\", \"HTTP/1.1 403 Access Denied\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nContent-Length: 520\\r\\n\\r\\nFiddler: HTTP/403 Access Denied.\");\n            rdc.Add(\"HTTP/1.1 404 Not Found\", \"HTTP/1.1 404 Not Found\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nContent-Type: text/html\\r\\nContent-Length: 520\\r\\n\\r\\nFiddler: HTTP/404 Not Found\");\n            rdc.Add(\"HTTP/1.1 407 Proxy Auth Required\", \"HTTP/1.1 407 Proxy Auth Required\\r\\nFiddlerTemplate: True\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nProxy-Authenticate: Basic realm=\\\"Fiddler (just hit Ok)\\\"\\r\\nContent-Type: text/html\\r\\nContent-Length: 520\\r\\n\\r\\nFiddler: HTTP/407 Proxy Auth Required. \");\n            rdc.Add(\"HTTP/1.1 502 Unreachable Server\", \"HTTP/1.1 502 Unreachable Server\\r\\nDate: Fri, 25 Jan 2013 16:49:29 GMT\\r\\nFiddlerTemplate: True\\r\\nContent-Type: text/html\\r\\nContent-Length: 520\\r\\n\\r\\nFiddler: HTTP/502 unreachable server.\");\n        }\n\n\n        private void RawResponseEdit_Resize(object sender, EventArgs e)\n        {\n            rtb_rawResponse.Height = this.Height - 25;\n        }\n\n        private void cb_responseLine_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            rtb_rawResponse.Text = responseLineDc[cb_responseLine.Text];\n        }\n\n        private void contextMenuStrip_forRtbResponse_Opening(object sender, CancelEventArgs e)\n        {\n            ((ContextMenuStrip)sender).Tag = ((ContextMenuStrip)sender).SourceControl;\n        }\n        private void addFileToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            if (openFileDialog_responseFile.ShowDialog() == DialogResult.OK)\n            {\n                string tempPath = openFileDialog_responseFile.FileName;\n                int tempIndex = rtb_rawResponse.Text.IndexOf(\"<<replace file path>>\");\n                if (tempIndex >= 0)\n                {\n                    rtb_rawResponse.Text=rtb_rawResponse.Text.Remove(tempIndex);\n                }\n\n                if (!rtb_rawResponse.Text.EndsWith(\"\\n\"))\n                {\n                    rtb_rawResponse.AppendText(\"\\n\");\n                }\n\n                rtb_rawResponse.AppendText(string.Format(\"<<replace file path>>{0}\", tempPath));\n            }\n        }\n\n        private void antoContentLengthToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            antoContentLengthToolStripMenuItem.Checked = !antoContentLengthToolStripMenuItem.Checked;\n        }\n\n        private void useParameterDataToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            useParameterDataToolStripMenuItem.Checked = !useParameterDataToolStripMenuItem.Checked;\n        }\n        public void SetText(string mes)\n        {\n            rtb_rawResponse.Clear();\n            if(mes!=null)\n            {\n                rtb_rawResponse.Text = mes;\n            }\n        }\n\n        public void ClearInfo()\n        {\n            rtb_rawResponse.Clear();\n            IsDirectRespons = false;\n            IsUseParameterData = false;\n            if (cb_responseLine.Items.Count>0)\n            {\n                cb_responseLine.SelectedIndex = 0;\n            }\n        }\n\n        public bool SetContextMenuStrip(ContextMenuStrip yourContextMenuStrip)\n        {\n            if (yourContextMenuStrip != null && yourContextMenuStrip.Items.Count>3)\n            {\n                //ToolStripMenuItem tempParameterDataMenuItem = yourContextMenuStrip.Items[4] as ToolStripMenuItem;\n                ToolStripMenuItem tempAutoContentLengthMenuItem = yourContextMenuStrip.Items[3] as ToolStripMenuItem;\n                //if (tempParameterDataMenuItem != null && tempAutoContentLengthMenuItem!=null)\n                if (tempAutoContentLengthMenuItem != null)\n                {\n                    rtb_rawResponse.ContextMenuStrip = yourContextMenuStrip;\n                    //ParameterDataToolStripMenuItem = tempParameterDataMenuItem;\n                    ContentLengthToolStripMenuItem = tempAutoContentLengthMenuItem;\n                    return true;\n                }\n            }\n            return false;\n        }\n\n        public ParameterHttpResponse GetHttpResponse(ActuatorStaticDataCollection yourActuatorStaticDataCollection)\n        {\n            ParameterHttpResponse nowHttpResponse = ParameterHttpResponse.GetHttpResponse(rtb_rawResponse.Text.Replace(\"\\n\", \"\\r\\n\"), IsUseParameterData, yourActuatorStaticDataCollection);\n            if (ContentLengthToolStripMenuItem.Checked)\n            {\n                nowHttpResponse.SetAutoContentLength();\n            }\n            return nowHttpResponse;\n        }\n\n        \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/RawResponseEdit.designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class RawResponseEdit\n    {\n        /// <summary> \n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary> \n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary> \n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.components = new System.ComponentModel.Container();\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RawResponseEdit));\n            this.cb_responseLine = new System.Windows.Forms.ComboBox();\n            this.rtb_rawResponse = new System.Windows.Forms.RichTextBox();\n            this.contextMenuStrip_forRtbResponse = new System.Windows.Forms.ContextMenuStrip(this.components);\n            this.addFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.antoContentLengthToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.useParameterDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.openFileDialog_responseFile = new System.Windows.Forms.OpenFileDialog();\n            this.ck_directResponse = new System.Windows.Forms.CheckBox();\n            this.toolTip_RawResponseEdit = new System.Windows.Forms.ToolTip(this.components);\n            this.contextMenuStrip_forRtbResponse.SuspendLayout();\n            this.SuspendLayout();\n            // \n            // cb_responseLine\n            // \n            this.cb_responseLine.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cb_responseLine.FormattingEnabled = true;\n            this.cb_responseLine.Location = new System.Drawing.Point(3, 3);\n            this.cb_responseLine.Name = \"cb_responseLine\";\n            this.cb_responseLine.Size = new System.Drawing.Size(329, 20);\n            this.cb_responseLine.TabIndex = 0;\n            this.toolTip_RawResponseEdit.SetToolTip(this.cb_responseLine, \"you can select http response template here\");\n            this.cb_responseLine.SelectedIndexChanged += new System.EventHandler(this.cb_responseLine_SelectedIndexChanged);\n            // \n            // rtb_rawResponse\n            // \n            this.rtb_rawResponse.ContextMenuStrip = this.contextMenuStrip_forRtbResponse;\n            this.rtb_rawResponse.DetectUrls = false;\n            this.rtb_rawResponse.Dock = System.Windows.Forms.DockStyle.Bottom;\n            this.rtb_rawResponse.Location = new System.Drawing.Point(0, 25);\n            this.rtb_rawResponse.Name = \"rtb_rawResponse\";\n            this.rtb_rawResponse.Size = new System.Drawing.Size(550, 176);\n            this.rtb_rawResponse.TabIndex = 1;\n            this.rtb_rawResponse.Text = \"\";\n            // \n            // contextMenuStrip_forRtbResponse\n            // \n            this.contextMenuStrip_forRtbResponse.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.addFileToolStripMenuItem,\n            this.antoContentLengthToolStripMenuItem,\n            this.useParameterDataToolStripMenuItem});\n            this.contextMenuStrip_forRtbResponse.Name = \"contextMenuStrip_forRtbResponse\";\n            this.contextMenuStrip_forRtbResponse.Size = new System.Drawing.Size(196, 70);\n            this.contextMenuStrip_forRtbResponse.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip_forRtbResponse_Opening);\n            // \n            // addFileToolStripMenuItem\n            // \n            this.addFileToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject(\"addFileToolStripMenuItem.Image\")));\n            this.addFileToolStripMenuItem.Name = \"addFileToolStripMenuItem\";\n            this.addFileToolStripMenuItem.Size = new System.Drawing.Size(195, 22);\n            this.addFileToolStripMenuItem.Text = \"add file\";\n            this.addFileToolStripMenuItem.Click += new System.EventHandler(this.addFileToolStripMenuItem_Click);\n            // \n            // antoContentLengthToolStripMenuItem\n            // \n            this.antoContentLengthToolStripMenuItem.Name = \"antoContentLengthToolStripMenuItem\";\n            this.antoContentLengthToolStripMenuItem.Size = new System.Drawing.Size(195, 22);\n            this.antoContentLengthToolStripMenuItem.Text = \"anto Content-Length\";\n            this.antoContentLengthToolStripMenuItem.Click += new System.EventHandler(this.antoContentLengthToolStripMenuItem_Click);\n            // \n            // useParameterDataToolStripMenuItem\n            // \n            this.useParameterDataToolStripMenuItem.Name = \"useParameterDataToolStripMenuItem\";\n            this.useParameterDataToolStripMenuItem.Size = new System.Drawing.Size(195, 22);\n            this.useParameterDataToolStripMenuItem.Text = \"use Parameter Data\";\n            this.useParameterDataToolStripMenuItem.Click += new System.EventHandler(this.useParameterDataToolStripMenuItem_Click);\n            // \n            // openFileDialog_responseFile\n            // \n            this.openFileDialog_responseFile.FileName = \"openFileDialog\";\n            // \n            // ck_directResponse\n            // \n            this.ck_directResponse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.ck_directResponse.Location = new System.Drawing.Point(433, 5);\n            this.ck_directResponse.Name = \"ck_directResponse\";\n            this.ck_directResponse.Size = new System.Drawing.Size(114, 16);\n            this.ck_directResponse.TabIndex = 39;\n            this.ck_directResponse.Text = \"Response Direct\";\n            this.toolTip_RawResponseEdit.SetToolTip(this.ck_directResponse, \"not send the request to the real sever \\r\\nit will direct return your response\");\n            this.ck_directResponse.UseVisualStyleBackColor = true;\n            // \n            // RawResponseEdit\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.Controls.Add(this.ck_directResponse);\n            this.Controls.Add(this.rtb_rawResponse);\n            this.Controls.Add(this.cb_responseLine);\n            this.Name = \"RawResponseEdit\";\n            this.Size = new System.Drawing.Size(550, 201);\n            this.Load += new System.EventHandler(this.RawResponseEdit_Load);\n            this.Resize += new System.EventHandler(this.RawResponseEdit_Resize);\n            this.contextMenuStrip_forRtbResponse.ResumeLayout(false);\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.ComboBox cb_responseLine;\n        private System.Windows.Forms.RichTextBox rtb_rawResponse;\n        private System.Windows.Forms.ContextMenuStrip contextMenuStrip_forRtbResponse;\n        private System.Windows.Forms.ToolStripMenuItem addFileToolStripMenuItem;\n        private System.Windows.Forms.OpenFileDialog openFileDialog_responseFile;\n        private System.Windows.Forms.CheckBox ck_directResponse;\n        private System.Windows.Forms.ToolTip toolTip_RawResponseEdit;\n        private System.Windows.Forms.ToolStripMenuItem antoContentLengthToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem useParameterDataToolStripMenuItem;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/RawResponseEdit.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"toolTip_RawResponseEdit.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>494, 17</value>\n  </metadata>\n  <metadata name=\"contextMenuStrip_forRtbResponse.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"addFileToolStripMenuItem.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        a8yb9z+yGKdx213yIgAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <metadata name=\"openFileDialog_responseFile.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>274, 17</value>\n  </metadata>\n  <metadata name=\"toolTip_RawResponseEdit.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>494, 17</value>\n  </metadata>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/TextBoxEditer.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class TextBoxEditer\n    {\n        /// <summary> \n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary> \n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary> \n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.pb_editTextBox = new System.Windows.Forms.PictureBox();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_editTextBox)).BeginInit();\n            this.SuspendLayout();\n            // \n            // pb_editTextBox\n            // \n            this.pb_editTextBox.BackColor = System.Drawing.Color.Transparent;\n            this.pb_editTextBox.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_editTextBox.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.pb_editTextBox.Image = global::FreeHttp.Properties.Resources.zoombig;\n            this.pb_editTextBox.Location = new System.Drawing.Point(0, 0);\n            this.pb_editTextBox.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);\n            this.pb_editTextBox.Name = \"pb_editTextBox\";\n            this.pb_editTextBox.Size = new System.Drawing.Size(39, 37);\n            this.pb_editTextBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_editTextBox.TabIndex = 40;\n            this.pb_editTextBox.TabStop = false;\n            this.pb_editTextBox.Click += new System.EventHandler(this.pb_editTextBox_Click);\n            this.pb_editTextBox.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_editTextBox.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // TextBoxEditer\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 21F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.Controls.Add(this.pb_editTextBox);\n            this.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);\n            this.Name = \"TextBoxEditer\";\n            this.Size = new System.Drawing.Size(39, 37);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_editTextBox)).EndInit();\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.PictureBox pb_editTextBox;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/TextBoxEditer.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class TextBoxEditer : UserControl\n    {\n        public class CloseEditBoxEventArgs: EventArgs\n        {\n            public String EditData { get; set; }\n            public CloseEditBoxEventArgs(string editData)\n            {\n                EditData = editData;\n            }\n        }\n\n        public TextBoxEditer()\n        {\n            InitializeComponent();\n            myResources = new System.ComponentModel.ComponentResourceManager(typeof(TextBoxEditer));\n            rtb_editTextBox.Leave += rtb_editTextBox_Leave;\n            rtb_editTextBox.DetectUrls = false;\n            rtb_editTextBox.BackColor = Color.AliceBlue;\n            IsShowEditRichTextBox = false;\n        }\n\n        public TextBoxEditer(ContainerControl yourContainerControl): this()\n        {\n            MainContainerControl = yourContainerControl;\n        }\n\n        private RichTextBox rtb_editTextBox = new RichTextBox();\n        private bool isShowEditRichTextBox;   //not set this vaule (you should call IsShowEditRichTextBox to set this vaule)\n        private TextBox editTextBox;\n        System.ComponentModel.ComponentResourceManager myResources;\n        public delegate void CloseEditBoxEventHandler(object sender, CloseEditBoxEventArgs e);\n\n        public event CloseEditBoxEventHandler OnCloseEditBox;\n\n        /// <summary>\n        /// get a value that is RichTextBox showing\n        /// </summary>\n        public bool IsShowEditRichTextBox \n        { \n            get{return isShowEditRichTextBox;}\n            private set\n            {\n                if (isShowEditRichTextBox == value)\n                {\n                    return;\n                }\n                isShowEditRichTextBox = value;\n                pb_editTextBox.Image = isShowEditRichTextBox ? ((Image)(myResources.GetObject(\"zoomsmall\"))) : ((Image)(myResources.GetObject(\"zoombig\")));\n            } \n        }\n\n\n\n        [DescriptionAttribute(\"the TextBox that you want to binding\")]\n        /// <summary>\n        /// get or set EditTextBox (the TextBox that you want to binding)\n        /// </summary>\n        public TextBox EditTextBox\n        {\n            get { return editTextBox; }\n            set \n            { \n                editTextBox = value;\n                if (editTextBox!=null)\n                {\n                    this.BackColor = editTextBox.BackColor;\n                    editTextBox.Resize += editTextBox_Resize;\n                    editTextBox.Move += editTextBox_Move;\n                }\n            }\n        }\n\n        [DescriptionAttribute(\"the main window that RichTextBox will add it\")]\n        /// <summary>\n        /// get or set MainContainerControl (the main window that RichTextBox will add it)\n        /// </summary>\n        public ContainerControl MainContainerControl { get; set; }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n\n        void pb_editTextBox_Click(object sender, EventArgs e)\n        {\n            if(IsShowEditRichTextBox)\n            {\n                CloseRichTextBox();\n            }\n            else\n            {\n                ShowRichTextBox();\n            }\n        }\n\n        void rtb_editTextBox_Leave(object sender, EventArgs e)\n        {\n            CloseRichTextBox();    \n        }\n\n        void editTextBox_Resize(object sender, EventArgs e)\n        {\n            if (rtb_editTextBox != null && IsShowEditRichTextBox)\n            {\n                rtb_editTextBox.Width = ((TextBox)sender).Width;\n            }\n        }\n\n        void editTextBox_Move(object sender, EventArgs e)\n        {\n            if (rtb_editTextBox != null && IsShowEditRichTextBox)\n            {\n                Point myClientLocation = MainContainerControl.PointToClient(EditTextBox.Parent.PointToScreen(EditTextBox.Location));\n                rtb_editTextBox.Location = new Point(myClientLocation.X, myClientLocation.Y + EditTextBox.Height);\n            }\n        }\n        /// <summary>\n        /// Close EditRichTextBox  (when the windows Deactivate you should call it )\n        /// </summary>\n        public void CloseRichTextBox()\n        {\n            if (!IsShowEditRichTextBox||MainContainerControl == null || EditTextBox == null)\n            {\n                return;\n            }\n            if (MainContainerControl.Contains(rtb_editTextBox))\n            {\n                EditTextBox.Clear();\n                EditTextBox.AppendText(rtb_editTextBox.Text);\n                MainContainerControl.Controls.Remove(rtb_editTextBox);\n                IsShowEditRichTextBox = false;\n                if(OnCloseEditBox!=null)\n                {\n                    this.OnCloseEditBox(this, new CloseEditBoxEventArgs(rtb_editTextBox.Text));\n                }\n            }\n        }\n\n        /// <summary>\n        /// Show EditRichTextBox \n        /// </summary>\n        public void ShowRichTextBox()\n        {\n            if (MainContainerControl == null || EditTextBox == null)\n            {\n                return;\n            }\n\n            if (!IsShowEditRichTextBox)\n            {\n                Point myClientLocation = MainContainerControl.PointToClient(EditTextBox.Parent.PointToScreen(EditTextBox.Location));\n                rtb_editTextBox.Location = new Point(myClientLocation.X, myClientLocation.Y + EditTextBox.Height);\n                rtb_editTextBox.Width = EditTextBox.Width;\n                rtb_editTextBox.Height = 200;\n                rtb_editTextBox.Clear();\n                MainContainerControl.Controls.Add(rtb_editTextBox);\n                IsShowEditRichTextBox = true;\n                rtb_editTextBox.BringToFront();\n                rtb_editTextBox.AppendText(EditTextBox.Text);\n                rtb_editTextBox.Focus();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/MyControl/TextBoxEditer.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\n  <data name=\"zoombig\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\..\\Resources\\zoombig.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"zoomsmall\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\..\\Resources\\zoomsmall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/MyControl/WatermakTextBox.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Linq;\nusing System.Runtime.InteropServices;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    class WatermakTextBox : System.Windows.Forms.TextBox\n    {\n        private string watermarkText;\n        private const uint ECM_FIRST = 0x1500;\n        private const uint EM_SETCUEBANNER = ECM_FIRST + 1;\n\n\n        [DllImport(\"user32.dll\", CharSet = CharSet.Auto, SetLastError = false)]\n        public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, uint wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam);\n\n        [Category(\"扩展属性\"), Description(\"显示的水印提示信息\")]\n        public string WatermarkText\n        {\n            get { return watermarkText; }\n            set\n            {\n                watermarkText = value;\n                SetWatermark(watermarkText);\n            }\n        }\n\n        private void SetWatermark(string watermarkText)\n        {\n            SendMessage(this.Handle, EM_SETCUEBANNER, 0, watermarkText);\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/RemoveHead.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class RemoveHead\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RemoveHead));\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.tb_key = new System.Windows.Forms.TextBox();\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.SuspendLayout();\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(11, 16);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(29, 12);\n            this.lb_info_1.TabIndex = 10;\n            this.lb_info_1.Text = \"Key:\";\n            // \n            // tb_key\n            // \n            this.tb_key.Location = new System.Drawing.Point(91, 12);\n            this.tb_key.Name = \"tb_key\";\n            this.tb_key.Size = new System.Drawing.Size(250, 21);\n            this.tb_key.TabIndex = 9;\n            // \n            // bt_ok\n            // \n            this.bt_ok.Location = new System.Drawing.Point(266, 39);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 11;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);\n            // \n            // RemoveHead\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(349, 70);\n            this.Controls.Add(this.bt_ok);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.tb_key);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"RemoveHead\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"RemoveHead\";\n            this.Load += new System.EventHandler(this.RemoveHead_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.TextBox tb_key;\n        private System.Windows.Forms.Button bt_ok;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/RemoveHead.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class RemoveHead : Form\n    {\n        ListView editListView;\n        bool isAdd;\n        bool isUnique;   //is not allow repetition\n\n        public RemoveHead(ListView yourEditListView, bool yourIsAdd)\n            : this(yourEditListView, yourIsAdd, false) { }\n\n        public RemoveHead(ListView yourEditListView, bool yourIsAdd, bool yourIsUnique)\n        {\n            InitializeComponent();\n            editListView = yourEditListView;\n            isAdd = yourIsAdd;\n            isUnique = yourIsUnique;\n        }\n\n        private void RemoveHead_Load(object sender, EventArgs e)\n        {\n            if (!isAdd)\n            {\n                tb_key.Text = editListView.SelectedItems[0].Text;\n            }\n            //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.MaximumSize = this.Size;\n            this.MinimumSize = this.Size;\n            \n        }\n\n        private void bt_ok_Click(object sender, EventArgs e)\n        {\n            if (tb_key.Text == \"\")\n            {\n                MessageBox.Show(\"input key\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n            }\n            else\n            {\n                string tempItemStr = tb_key.Text;\n                if (isUnique)\n                {\n                    foreach (ListViewItem tempItem in editListView.Items)\n                    {\n                        if (tempItem.Text == tempItemStr)\n                        {\n                            if (!isAdd && tempItem == editListView.SelectedItems[0])\n                            {\n                                continue;\n                            }\n                            MessageBox.Show(\"Find the same data in the list\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                            return;\n                        }\n                    }\n                }\n                if (isAdd)\n                {\n                    editListView.Items.Add(tempItemStr);\n                }\n                else\n                {\n                    editListView.SelectedItems[0].Text = tempItemStr;\n                }\n                this.Close();\n            }\n        }\n\n       \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/RemoveHead.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAA\n        AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaPr6HGj6+8Bo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vpYaPr4A////AP///wD///8A////AP///wAaPr7wBSu//wQq\n        v/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQq\n        v/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQq\n        v/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//xk9vv8aPr4J////AP///wD///8A////AP//\n        /wAaPr7wCDHD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcw\n        w/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcw\n        w/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/xo+vv8aPr4A////AP//\n        /wD///8A////AP///wAaPr7wCzjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4\n        xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4\n        xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/xo+\n        vv8aPr4A////AP///wD///8A////AP///wAaPr7wD0DK/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5A\n        y/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5A\n        y/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5A\n        y/8OQMv/DkDL/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wEkjO/xJJz/8SSc//EknP/xJJ\n        z/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJ\n        z/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJ\n        z/8SSc//EknP/xJJz/8SSc//EknP/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wF1LT/xdT\n        1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT\n        1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT\n        1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xo+vv8aPr4A////AP///wD///8A////AP//\n        /wAaPr7wG1vX/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd\n        2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd\n        2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xo+vv8aPr4A////AP//\n        /wD///8A////AP///wAaPr7wIGXc/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn\n        3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn\n        3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/xo+\n        vv8aPr4A////AP///wD///8A////AP///wAaPr7wI23g/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw\n        4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw\n        4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw\n        4v8kcOL/JHDi/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wJ3Xl/yh45/8oeOf/KHjn/yh4\n        5/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh4\n        5/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh4\n        5/8oeOf/KHjn/yh45/8oeOf/KHjn/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wKnzn/yuA\n        6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA\n        6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA\n        6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/xo+vv8aPr4A////AP///wD///8A////AP//\n        /wAaPr7wNJf7/zyu//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv\n        //88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv\n        //88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///Np3//xo+vv8aPr4A////AP//\n        /wD///8A////AP///wAaPr6HGj6+8Bo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vpYaPr4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////8AAP///////wAA////////\n        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//\n        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA4AAAAAAH\n        AADgAAAAAAMAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAOAA\n        AAAABwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAP///////wAA////////\n        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//\n        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////\n        AAA=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/RuleInfoWindow.cs",
    "content": "﻿using FreeHttp.FiddlerHelper;\nusing System;\nusing System.CodeDom.Compiler;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Text;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class RuleInfoWindow : CBalloon.CBalloonBase\n    {\n\n        public RuleInfoWindow(ListViewItem yourListViewItem)\n        {\n            InitializeComponent();\n            //this.Width= System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width/2;\n            InnerListViewItem = yourListViewItem;\n            timer = new Timer();\n            timer.Interval = 200;\n            timer.Tick += Timer_Tick;\n        }\n\n        public ListViewItem InnerListViewItem { get; private set; }\n        Timer timer;\n        Rectangle lastListViewItemRectangle;\n        bool isLoadRuleComplete = false;\n        Point nowLocation = Point.Empty;\n\n\n        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.Synchronized)]\n        private void LoadRuleInfo(IFiddlerHttpTamper ruleInfo )\n        {\n            Action<FiddlerRequestChange> GetFiddlerRequestChangeAddition = (nowFiddlerRequestChange) =>\n            {\n                if ((nowFiddlerRequestChange.ParameterPickList != null && nowFiddlerRequestChange.ParameterPickList.Count > 0) || nowFiddlerRequestChange.IsHasParameter)\n                {\n                    rtb_ruleInfo.AddRtbStr(\"Addition \", Color.Red, true, new Font(FontFamily.GenericMonospace, 14));\n                    if (nowFiddlerRequestChange.IsHasParameter)\n                    {\n                        rtb_ruleInfo.AddRtbStr(\"Has Parameter: \", Color.Blue, false);\n                        rtb_ruleInfo.AppendText(\"true\");\n                        rtb_ruleInfo.AppendText(\"\\r\\n\");\n                    }\n                    if (nowFiddlerRequestChange.ParameterPickList != null && nowFiddlerRequestChange.ParameterPickList.Count > 0)\n                    {\n                        foreach (var tempRequest in nowFiddlerRequestChange.ParameterPickList)\n                        {\n                            rtb_ruleInfo.AddRtbStr(\"Request Parameter Pick: \", Color.Blue, false);\n                            rtb_ruleInfo.AppendText(tempRequest.ToString());\n                            rtb_ruleInfo.AppendText(\"\\r\\n\");\n                        }\n                    }\n                }\n            };\n            Action<FiddlerResponseChange> GetFiddlerResponseChangeAddition = (nowFiddlerResponseChange) =>\n            {\n                if ((nowFiddlerResponseChange.ParameterPickList != null && nowFiddlerResponseChange.ParameterPickList.Count > 0) || nowFiddlerResponseChange.IsHasParameter || nowFiddlerResponseChange.ResponseLatency > 0)\n                {\n                    rtb_ruleInfo.AddRtbStr(\"Addition \", Color.Red, true, new Font(FontFamily.GenericMonospace, 14));\n                    if (nowFiddlerResponseChange.IsHasParameter)\n                    {\n                        rtb_ruleInfo.AddRtbStr(\"Has Parameter: \", Color.Blue, false);\n                        rtb_ruleInfo.AppendText(\"true\");\n                        rtb_ruleInfo.AppendText(\"\\r\\n\");\n                    }\n                    if (nowFiddlerResponseChange.ResponseLatency > 0)\n                    {\n                        rtb_ruleInfo.AddRtbStr(\"ResponseLatency: \", Color.Blue, false);\n                        rtb_ruleInfo.AppendText(nowFiddlerResponseChange.ResponseLatency + \"ms\");\n                        rtb_ruleInfo.AppendText(\"\\r\\n\");\n                    }\n                    if (nowFiddlerResponseChange.ParameterPickList != null && nowFiddlerResponseChange.ParameterPickList.Count > 0)\n                    {\n                        foreach (var tempResponse in nowFiddlerResponseChange.ParameterPickList)\n                        {\n                            rtb_ruleInfo.AddRtbStr(\"Response Parameter Pick: \", Color.Blue, false);\n                            rtb_ruleInfo.AppendText(tempResponse.ToString());\n                            rtb_ruleInfo.AppendText(\"\\r\\n\");\n                        }\n                    }\n                }\n            };\n\n            isLoadRuleComplete = false;\n            MyControlHelper.SetControlFreeze(rtb_ruleInfo);\n            MyControlHelper.SetControlFreeze(this);\n            pb_ruleIcon.Image = InnerListViewItem.ImageList.Images[InnerListViewItem.ImageIndex];\n            rtb_ruleInfo.Clear();\n            rtb_ruleInfo.AddRtbStr(\"Filter \", Color.Red, true, new Font(FontFamily.GenericMonospace, 14));\n            if (ruleInfo.HttpFilter.UriMatch!=null)\n            {\n                rtb_ruleInfo.AddRtbStr(\"Uri: \", Color.Blue, false);\n                rtb_ruleInfo.AppendText(ruleInfo.HttpFilter.UriMatch.ToString());\n                rtb_ruleInfo.AppendText(\"\\r\\n\");\n            }\n            if (ruleInfo.HttpFilter.HeadMatch != null && ruleInfo.HttpFilter.HeadMatch.HeadsFilter.Count>0)\n            {\n                foreach (var tempHeaderFilter in ruleInfo.HttpFilter.HeadMatch.HeadsFilter)\n                {\n                    rtb_ruleInfo.AddRtbStr(\"Header: \", Color.Blue, false);\n                    rtb_ruleInfo.AppendText(string.Format(\"{0} [contain] {1}\", tempHeaderFilter.Key, tempHeaderFilter.Value));\n                    rtb_ruleInfo.AppendText(\"\\r\\n\");\n                }\n            }\n            if (ruleInfo.HttpFilter.BodyMatch != null)\n            {\n                rtb_ruleInfo.AddRtbStr(\"Entity: \", Color.Blue, false);\n                rtb_ruleInfo.AppendText(ruleInfo.HttpFilter.BodyMatch.ToString());\n                rtb_ruleInfo.AppendText(\"\\r\\n\");\n            }\n            rtb_ruleInfo.AddRtbStr(\"Action \", Color.Red, true, new Font(FontFamily.GenericMonospace, 14));\n\n            switch (ruleInfo.TamperProtocol)\n            {\n                case TamperProtocalType.Http:\n                    if(ruleInfo is FiddlerRequestChange)\n                    {\n                        lb_ruleId.Text = string.Format(\"Http Request Tamper Rule {0}\", InnerListViewItem.SubItems[0].Text);\n\n                        FiddlerRequestChange nowFiddlerRequestChange = ruleInfo as FiddlerRequestChange;\n                        if (nowFiddlerRequestChange.IsRawReplace)\n                        {\n                            rtb_ruleInfo.AddRtbStr(\"Request Replace\", Color.Blue, true);\n                            rtb_ruleInfo.AppendText(nowFiddlerRequestChange.HttpRawRequest.OriginSting);\n                            rtb_ruleInfo.AppendText(\"\\r\\n\");\n                        }\n                        else\n                        {\n                            if (nowFiddlerRequestChange.UriModific != null && nowFiddlerRequestChange.UriModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                            {\n                                rtb_ruleInfo.AddRtbStr(\"Request Uri Modific: \", Color.Blue, false);\n                                rtb_ruleInfo.AppendText(nowFiddlerRequestChange.UriModific.ToString());\n                                rtb_ruleInfo.AppendText(\"\\r\\n\");\n                            }\n                            if (nowFiddlerRequestChange.HeadDelList != null && nowFiddlerRequestChange.HeadDelList.Count > 0)\n                            {\n                                foreach (var tempHeaderDel in nowFiddlerRequestChange.HeadDelList)\n                                {\n                                    rtb_ruleInfo.AddRtbStr(\"Request Head Delete: \", Color.Blue, false);\n                                    rtb_ruleInfo.AppendText(tempHeaderDel);\n                                }\n                            }\n                            if (nowFiddlerRequestChange.HeadAddList != null && nowFiddlerRequestChange.HeadAddList.Count > 0)\n                            {\n                                foreach (var tempHeaderAdd in nowFiddlerRequestChange.HeadAddList)\n                                {\n                                    rtb_ruleInfo.AddRtbStr(\"Request Head Add: \", Color.Blue, false);\n                                    rtb_ruleInfo.AppendText(tempHeaderAdd);\n                                    rtb_ruleInfo.AppendText(\"\\r\\n\");\n                                }\n                            }\n                            if (nowFiddlerRequestChange.BodyModific != null && nowFiddlerRequestChange.BodyModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                            {\n                                rtb_ruleInfo.AddRtbStr(\"Request Entity Modific: \", Color.Blue, false);\n                                rtb_ruleInfo.AppendText(nowFiddlerRequestChange.BodyModific.ToString());\n                                rtb_ruleInfo.AppendText(\"\\r\\n\");\n                            }\n                        }\n                        GetFiddlerRequestChangeAddition(nowFiddlerRequestChange);\n                    }\n                    else if(ruleInfo is FiddlerResponseChange)\n                    {\n                        lb_ruleId.Text = string.Format(\"Http Response Tamper Rule {0}\", InnerListViewItem.SubItems[0].Text);\n\n                        FiddlerResponseChange nowFiddlerResponseChange = ruleInfo as FiddlerResponseChange;\n                        if (nowFiddlerResponseChange.IsRawReplace)\n                        {\n                            rtb_ruleInfo.AddRtbStr(\"Request Replace\", Color.Blue, true);\n                            rtb_ruleInfo.AppendText(nowFiddlerResponseChange.HttpRawResponse.OriginSting);\n                            rtb_ruleInfo.AppendText(\"\\r\\n\");\n                        }\n                        else\n                        {\n                            if (nowFiddlerResponseChange.HeadDelList != null && nowFiddlerResponseChange.HeadDelList.Count > 0)\n                            {\n                                foreach (var tempHeaderDel in nowFiddlerResponseChange.HeadDelList)\n                                {\n                                    rtb_ruleInfo.AddRtbStr(\"Response Head Delete: \", Color.Blue, false);\n                                    rtb_ruleInfo.AppendText(tempHeaderDel);\n                                    rtb_ruleInfo.AppendText(\"\\r\\n\");\n                                }\n                            }\n                            if (nowFiddlerResponseChange.HeadAddList != null && nowFiddlerResponseChange.HeadAddList.Count > 0)\n                            {\n                                foreach (var tempHeaderAdd in nowFiddlerResponseChange.HeadAddList)\n                                {\n                                    rtb_ruleInfo.AddRtbStr(\"Response Head Add: \", Color.Blue, false);\n                                    rtb_ruleInfo.AppendText(tempHeaderAdd);\n                                    rtb_ruleInfo.AppendText(\"\\r\\n\");\n                                }\n                            }\n                            if (nowFiddlerResponseChange.BodyModific != null && nowFiddlerResponseChange.BodyModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                            {\n                                rtb_ruleInfo.AddRtbStr(\"Response Entity Modific: \", Color.Blue, false);\n                                rtb_ruleInfo.AppendText(nowFiddlerResponseChange.BodyModific.ToString());\n                                rtb_ruleInfo.AppendText(\"\\r\\n\");\n                            }\n                        }\n\n                        GetFiddlerResponseChangeAddition(nowFiddlerResponseChange);\n                    }\n                    break;\n                case TamperProtocalType.WebSocket:\n                    if (ruleInfo is FiddlerRequestChange)\n                    {\n                        lb_ruleId.Text = string.Format(\"Websocket Send Tamper Rule {0}\", InnerListViewItem.SubItems[0].Text);\n\n                        FiddlerRequestChange nowFiddlerWebSocketRequestChange = ruleInfo as FiddlerRequestChange;\n                        if (nowFiddlerWebSocketRequestChange.BodyModific != null && nowFiddlerWebSocketRequestChange.BodyModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                        {\n                            rtb_ruleInfo.AddRtbStr(\"Socket Payload Modific: \", Color.Blue, false);\n                            rtb_ruleInfo.AppendText(nowFiddlerWebSocketRequestChange.BodyModific.ToString());\n                            rtb_ruleInfo.AppendText(\"\\r\\n\");\n                        }\n                        GetFiddlerRequestChangeAddition(nowFiddlerWebSocketRequestChange);\n                    }\n                    else if (ruleInfo is FiddlerResponseChange)\n                    {\n                        lb_ruleId.Text = string.Format(\"Websocket Receive Tamper Rule {0}\", InnerListViewItem.SubItems[0].Text);\n\n                        FiddlerResponseChange nowFiddlerWebSocketResponseChange = ruleInfo as FiddlerResponseChange;\n                        if (nowFiddlerWebSocketResponseChange.BodyModific != null && nowFiddlerWebSocketResponseChange.BodyModific.ModificMode != HttpHelper.ContentModificMode.NoChange)\n                        {\n                            rtb_ruleInfo.AddRtbStr(\"Socket Payload Modific: \", Color.Blue, false);\n                            rtb_ruleInfo.AppendText(nowFiddlerWebSocketResponseChange.BodyModific.ToString());\n                            rtb_ruleInfo.AppendText(\"\\r\\n\");\n                        }\n                        GetFiddlerResponseChangeAddition(nowFiddlerWebSocketResponseChange);\n                    }\n\n                    break;\n                default:\n                    break;\n            }\n            if(!string.IsNullOrEmpty(ruleInfo.HttpFilter.Name))\n            {\n                lb_ruleId.Text += string.Format(\" ({0})\", ruleInfo.HttpFilter.Name);\n            }\n            isLoadRuleComplete = true;\n            MyControlHelper.SetControlUnfreeze(rtb_ruleInfo);\n            MyControlHelper.SetControlUnfreeze(this);\n            if (rtb_ruleInfo.Rtf.EndsWith(\"\\r\\n\"))\n            {\n                rtb_ruleInfo.Rtf = rtb_ruleInfo.Rtf.Remove(rtb_ruleInfo.Rtf.Length - 2, 2);\n            }\n        }\n\n        private void MyCBalloon_Load(object sender, EventArgs e)\n        {\n            isLoadRuleComplete = false;\n            if (InnerListViewItem != null && InnerListViewItem.Tag is IFiddlerHttpTamper)\n            {\n                IFiddlerHttpTamper nowRule = InnerListViewItem.Tag as IFiddlerHttpTamper;\n                LoadRuleInfo(nowRule );\n                \n                lastListViewItemRectangle = InnerListViewItem.Bounds;\n                timer.Start();\n            }\n            else\n            {\n                MessageBox.Show(\"can not find rule data \", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                this.Close();\n            }\n        }\n        private void Timer_Tick(object sender, EventArgs e)\n        {\n            if(InnerListViewItem==null || InnerListViewItem.ListView==null)\n            {\n                Close();\n                return;\n            }\n            try\n            {\n                //Item被折叠后获取Bounds属性会异常\n                _ = InnerListViewItem.Bounds;\n            }\n            catch\n            {\n                Close();\n                return;\n            }\n            if(lastListViewItemRectangle != InnerListViewItem.Bounds)\n            {\n                lastListViewItemRectangle = InnerListViewItem.Bounds;\n                Form mainForm = this.Owner.Owner;\n                int tempFinalY = InnerListViewItem.Bounds.Y;\n                if(tempFinalY < 0)\n                {\n                    tempFinalY = 0;\n                }\n                else if(tempFinalY> InnerListViewItem.ListView.Height)\n                {\n                    tempFinalY = InnerListViewItem.ListView.Height;\n                }\n                Point myPosition = new Point(InnerListViewItem.Bounds.X, tempFinalY);\n                myPosition = InnerListViewItem.ListView.PointToScreen(myPosition);\n                myPosition = mainForm.PointToClient(myPosition);\n                myPosition.Offset(40, 10);\n                this.UpdateBalloonPosition(myPosition);\n            }\n        }\n\n        private void pictureBox_close_Click(object sender, EventArgs e)\n        {\n            this.Owner.Activate();\n            this.Close();\n        }\n\n        private void pictureBox1_Click(object sender, EventArgs e)\n        {\n            RefreshRuleInfo();\n        }\n\n        public void RefreshRuleInfo()\n        {\n            if (InnerListViewItem == null || InnerListViewItem.ListView == null)\n            {\n                Close();\n                return;\n            }\n            if (InnerListViewItem.Tag !=null && InnerListViewItem.Tag is IFiddlerHttpTamper)\n            {\n                IFiddlerHttpTamper nowRule = InnerListViewItem.Tag as IFiddlerHttpTamper;\n                LoadRuleInfo(nowRule);\n            }\n        }\n        public new void Close()\n        {\n            if(timer!=null)\n            {\n                timer.Stop();\n                timer.Dispose();\n            }\n            InnerListViewItem = null;\n            base.Close();\n        }\n\n        private void rtb_ruleInfo_ContentsResized(object sender, ContentsResizedEventArgs e)\n        {\n            var richTextBox = (RichTextBox)sender;\n            //    richTextBox.Width = e.NewRectangle.Width;\n            int lineheight = richTextBox.Font.Height;\n            int nHeight = lineheight;\n            if (e.NewRectangle.Height < lineheight)\n                nHeight = lineheight;\n            else\n                nHeight = e.NewRectangle.Height + lineheight;\n\n            richTextBox.Height = nHeight > System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height / 2 ? System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height / 2 : nHeight;\n\n            this.Height = richTextBox.Height + 95;\n            this.reSizeMe();\n        }\n\n       \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/RuleInfoWindow.designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class RuleInfoWindow\n    {\n        /// <summary>\n        /// 必需的设计器变量。\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// 清理所有正在使用的资源。\n        /// </summary>\n        /// <param name=\"disposing\">如果应释放托管资源，为 true；否则为 false。</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region 组件设计器生成的代码\n\n        /// <summary>\n        /// 设计器支持所需的方法 - 不要\n        /// 使用代码编辑器修改此方法的内容。\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RuleInfoWindow));\n            this.pictureBox_close = new System.Windows.Forms.PictureBox();\n            this.pictureBox1 = new System.Windows.Forms.PictureBox();\n            this.lb_ruleId = new System.Windows.Forms.Label();\n            this.pb_ruleIcon = new System.Windows.Forms.PictureBox();\n            this.rtb_ruleInfo = new System.Windows.Forms.RichTextBox();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_close)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_ruleIcon)).BeginInit();\n            this.SuspendLayout();\n            // \n            // pictureBox_close\n            // \n            this.pictureBox_close.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox_close.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox_close.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox_close.Image\")));\n            this.pictureBox_close.Location = new System.Drawing.Point(873, 33);\n            this.pictureBox_close.Name = \"pictureBox_close\";\n            this.pictureBox_close.Size = new System.Drawing.Size(20, 20);\n            this.pictureBox_close.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pictureBox_close.TabIndex = 2;\n            this.pictureBox_close.TabStop = false;\n            this.pictureBox_close.Click += new System.EventHandler(this.pictureBox_close_Click);\n            // \n            // pictureBox1\n            // \n            this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox1.Image\")));\n            this.pictureBox1.Location = new System.Drawing.Point(850, 33);\n            this.pictureBox1.Name = \"pictureBox1\";\n            this.pictureBox1.Size = new System.Drawing.Size(20, 20);\n            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pictureBox1.TabIndex = 7;\n            this.pictureBox1.TabStop = false;\n            this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);\n            // \n            // lb_ruleId\n            // \n            this.lb_ruleId.AutoSize = true;\n            this.lb_ruleId.Font = new System.Drawing.Font(\"宋体\", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_ruleId.ForeColor = System.Drawing.Color.RosyBrown;\n            this.lb_ruleId.Location = new System.Drawing.Point(60, 37);\n            this.lb_ruleId.MaximumSize = new System.Drawing.Size(800, 18);\n            this.lb_ruleId.Name = \"lb_ruleId\";\n            this.lb_ruleId.Size = new System.Drawing.Size(62, 16);\n            this.lb_ruleId.TabIndex = 8;\n            this.lb_ruleId.Text = \"RuleId\";\n            // \n            // pb_ruleIcon\n            // \n            this.pb_ruleIcon.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_ruleIcon.Cursor = System.Windows.Forms.Cursors.Default;\n            this.pb_ruleIcon.Location = new System.Drawing.Point(35, 35);\n            this.pb_ruleIcon.Name = \"pb_ruleIcon\";\n            this.pb_ruleIcon.Size = new System.Drawing.Size(20, 20);\n            this.pb_ruleIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pb_ruleIcon.TabIndex = 9;\n            this.pb_ruleIcon.TabStop = false;\n            // \n            // rtb_ruleInfo\n            // \n            this.rtb_ruleInfo.BorderStyle = System.Windows.Forms.BorderStyle.None;\n            this.rtb_ruleInfo.DetectUrls = false;\n            this.rtb_ruleInfo.Location = new System.Drawing.Point(35, 59);\n            this.rtb_ruleInfo.Name = \"rtb_ruleInfo\";\n            this.rtb_ruleInfo.ReadOnly = true;\n            this.rtb_ruleInfo.Size = new System.Drawing.Size(858, 242);\n            this.rtb_ruleInfo.TabIndex = 0;\n            this.rtb_ruleInfo.Text = \"\";\n            this.rtb_ruleInfo.ContentsResized += new System.Windows.Forms.ContentsResizedEventHandler(this.rtb_ruleInfo_ContentsResized);\n            // \n            // RuleInfoWindow\n            // \n            this.ClientSize = new System.Drawing.Size(929, 337);\n            this.Controls.Add(this.pictureBox1);\n            this.Controls.Add(this.pictureBox_close);\n            this.Controls.Add(this.rtb_ruleInfo);\n            this.Controls.Add(this.pb_ruleIcon);\n            this.Controls.Add(this.lb_ruleId);\n            this.FrameBottomRight = System.Drawing.Color.Cyan;\n            this.FrameTopLeft = System.Drawing.Color.SkyBlue;\n            this.Name = \"RuleInfoWindow\";\n            this.Load += new System.EventHandler(this.MyCBalloon_Load);\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox_close)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_ruleIcon)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.PictureBox pictureBox_close;\n        private System.Windows.Forms.PictureBox pictureBox1;\n        private System.Windows.Forms.Label lb_ruleId;\n        private System.Windows.Forms.PictureBox pb_ruleIcon;\n        private System.Windows.Forms.RichTextBox rtb_ruleInfo;\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/RuleInfoWindow.resx",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pictureBox_close.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6\n        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAArpAAAK6QH9dc7TAAAC+ElE\n        QVRIS7WUy09TQRTGrynRKAqhGpX76H3RIs9eKhQWbakxkrj2H9DEpcadURMFIyZaIxIxURaiFJXE4EIW\n        QKQmQAJGSghWRErKQtO4Q9aamPG7pbfex0BYyOLXmfnOd86ZmXbKEEJ2FKqYPuQuyVQIIi1GI+0uLcl4\n        6X6HkIkE6lejgR+ZiEYyYf8Ve9zOSrBGy7Q25PyrJ45ftscti5W2lrrliLaWqvSQBYUjS8Fqko4Grpk9\n        ZpbDfg2sp46JG/7marJyKmhpUph8bWvhFsP+tTmvQGZhTqo8mZVZkmqqJkvRwFVzks6XcIO2GPKvz3k9\n        //xS3n+y6azhKyQktcrQDIpPyxyZgdlgGknzSPpsOkkqpGmfUPwDijv8aPaxRnlueAsNxnneNany/YBY\n        4cgEmsw2VZGFaOBSsqW2dh7Fp7CZCZzQ6eezkwqvOhoYJFR+YBy7SNh4J5aTmcYqkgxrv99X8GQcTe2e\n        hMplEz6PbK5nKW4whiYjSBi1gx2P4kQj+uiMZ8e8HsVey7IwM4wmb5G4PfjssFd0FNdxCGbeKHzvkMz9\n        AWQLFocqrNdihioaDPrE2kGZ+zWIK9kUhYvRcg2oos6AKmhxmV2L48vEuDUK53gnBlSxD8WfSuw6INtG\n        5qgv3iH0ovgTFAfEzuM8tFgOykksi0eKoPWg+EORJVQkNt0jc6+pMdCjI1mbFCbdXpHrktifXXhQdu7n\n        Rjb7QBUE3QvfwIa2CTJ3ztHgniqE7iBIRWKzMVWw/M7vSmyc6gWIOf+L+hr9rtsy/+yWp5xYwM5jqkcy\n        fGY6RTZu93dK3PdYpVJ4F46kDkXob8cuOmC+4WGzNxUhZ3YxzG4zDMO4dP26yL5shzeHxH3rrq/KXaNB\n        7gMJ+4GEJB/D7PKdZw+/uMAfmWooKT4DrQ6xMIiA1jz6PIxYM9Dgf3WRPzoRLCs9jTWPmASKzQ2KgN6k\n        DAY32AP2goPQhDweG7rGw1MO9uVzDkBzA71WUaHBTkIV/x+E+QsKEO0Vbk6t9gAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"pictureBox1.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6\n        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAArvAAAK7wF9dopIAAADQElE\n        QVRIS7XT60vTYRQH8Oc3XZOVSpToNNtMp82cqdMudhG6SFhhL6KIrCwpSZuVld3wFrgursJqWtPqhYmX\n        ypmOtEiny6bTtTJdhEoQdK//IOh0HnWw/XwUgnrx4fmd73POeWAwAgD/FTOciqTyg4iVT4cZ8iU8+CEK\n        qHzfPls3msa6nw4zdJVU/8lXUjFsEWqHQFQ6uI3VMx1m6BSuHwn2v/bW4VliB3KuH3y0A+/9yhxdAdcc\n        NyRljs0k/j7HmnPFDKnYqmGF3+XXHwWFPUDyXwApsIzhsBYWW2GWxgZzta+GAkrta1nzTswwWNMj9Cm2\n        fOFOdwE5aQJyqtPdSZRnAsGZLphdYoXgS7YdrD0UM5QVmTlB7tOL5OgTILlPGZw5ntjjW/gcZOd7Y1i7\n        JgWuPHOM+dyhFiBq4zj85tQtvzi18atAbfyJ37/HMyP4nHpmZe2YFPCJsgyZXOZDIMgry1AgzjYEhamf\n        iEJym2eJDhqkouymZMGBhze9clogML9jBX/erZiKMKNuu2BvLYj31+9i3VPe2Y17vdVNV/i5W0HdtatU\n        NQNJgfxcvKd6g2BHY1zzqHQ+9lQ1vPH25PfM2H47iJ+5FVRFn3yL3hbf3eDY5sO/o673EInOugAqbcs7\n        6gfXilk9riYFh43E46ol7Gd5X+KXW/3rb+ltyRlVLzcm37GnLq16mZKq61t+XtstgauWUCjvW2nT96/2\n        4+9wxQw1Zul+jVkGl7ojQfsiFq5YEtASFI9ZFGjMIUgKF57Loax31UilPVXG2kMxQ6rIFP6soEMOBR2h\n        bgpNYVBkihhTaJJDcacCLnYnfi8xL/Nn7ZkUOB17HDczr03Rdbw1Ek60RULeFE60KvBe8S2/PebvHqDw\n        lqgfKc9mG6I+ZzVGwcEJWI/JGj/f5TSppKx5ihnyZTatFmc0LF63r25xXnpttH7XPSWkVSthd43Smt6g\n        msOacWKG01mjSfRP0Slhky66bac5XcjqceVWeBDii2RoIVKiWKRCCWgJh/W8ZX5b446EtxDiEYu/YdRE\n        D+2lM3TW13Un/wEx8kfBKATJUQRSTFiEjyhwcRBy3tGT9tIZOuv253N74H9ghv8OkD/qVq3bmPtkFQAA\n        AABJRU5ErkJggg==\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/SaveShareRule.Designer.cs",
    "content": "﻿\nnamespace FreeHttp.FreeHttpControl\n{\n    partial class SaveShareRule\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SaveShareRule));\n            this.rb_updataRule = new System.Windows.Forms.RadioButton();\n            this.rb_newRule = new System.Windows.Forms.RadioButton();\n            this.comboBox_yourRule = new System.Windows.Forms.ComboBox();\n            this.ck_parameterData = new System.Windows.Forms.CheckBox();\n            this.bt_save = new System.Windows.Forms.Button();\n            this.wtb_ruleRemark = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.SuspendLayout();\n            // \n            // rb_updataRule\n            // \n            this.rb_updataRule.AutoSize = true;\n            this.rb_updataRule.Location = new System.Drawing.Point(10, 23);\n            this.rb_updataRule.Name = \"rb_updataRule\";\n            this.rb_updataRule.Size = new System.Drawing.Size(125, 16);\n            this.rb_updataRule.TabIndex = 0;\n            this.rb_updataRule.Text = \"update share rule\";\n            this.rb_updataRule.UseVisualStyleBackColor = true;\n            // \n            // rb_newRule\n            // \n            this.rb_newRule.AutoSize = true;\n            this.rb_newRule.Checked = true;\n            this.rb_newRule.Location = new System.Drawing.Point(10, 54);\n            this.rb_newRule.Name = \"rb_newRule\";\n            this.rb_newRule.Size = new System.Drawing.Size(149, 16);\n            this.rb_newRule.TabIndex = 1;\n            this.rb_newRule.TabStop = true;\n            this.rb_newRule.Text = \"create new share rule\";\n            this.rb_newRule.UseVisualStyleBackColor = true;\n            this.rb_newRule.CheckedChanged += new System.EventHandler(this.rb_newRule_CheckedChanged);\n            // \n            // comboBox_yourRule\n            // \n            this.comboBox_yourRule.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.comboBox_yourRule.FormattingEnabled = true;\n            this.comboBox_yourRule.Items.AddRange(new object[] {\n            \"Please share a set of rules first\"});\n            this.comboBox_yourRule.Location = new System.Drawing.Point(157, 21);\n            this.comboBox_yourRule.Name = \"comboBox_yourRule\";\n            this.comboBox_yourRule.Size = new System.Drawing.Size(287, 20);\n            this.comboBox_yourRule.TabIndex = 24;\n            // \n            // ck_parameterData\n            // \n            this.ck_parameterData.AutoSize = true;\n            this.ck_parameterData.Checked = true;\n            this.ck_parameterData.CheckState = System.Windows.Forms.CheckState.Checked;\n            this.ck_parameterData.Location = new System.Drawing.Point(10, 91);\n            this.ck_parameterData.Name = \"ck_parameterData\";\n            this.ck_parameterData.Size = new System.Drawing.Size(156, 16);\n            this.ck_parameterData.TabIndex = 26;\n            this.ck_parameterData.Text = \" update parameter data\";\n            this.ck_parameterData.UseVisualStyleBackColor = true;\n            // \n            // bt_save\n            // \n            this.bt_save.Location = new System.Drawing.Point(367, 88);\n            this.bt_save.Name = \"bt_save\";\n            this.bt_save.Size = new System.Drawing.Size(75, 23);\n            this.bt_save.TabIndex = 27;\n            this.bt_save.Text = \"confirm\";\n            this.bt_save.UseVisualStyleBackColor = true;\n            this.bt_save.Click += new System.EventHandler(this.bt_save_Click);\n            // \n            // wtb_ruleRemark\n            // \n            this.wtb_ruleRemark.Location = new System.Drawing.Point(157, 52);\n            this.wtb_ruleRemark.Name = \"wtb_ruleRemark\";\n            this.wtb_ruleRemark.Size = new System.Drawing.Size(287, 21);\n            this.wtb_ruleRemark.TabIndex = 25;\n            this.wtb_ruleRemark.WatermarkText = \"please enter comment name\";\n            // \n            // SaveShareRule\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(452, 119);\n            this.Controls.Add(this.bt_save);\n            this.Controls.Add(this.ck_parameterData);\n            this.Controls.Add(this.wtb_ruleRemark);\n            this.Controls.Add(this.comboBox_yourRule);\n            this.Controls.Add(this.rb_newRule);\n            this.Controls.Add(this.rb_updataRule);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"SaveShareRule\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"SaveShareRule\";\n            this.Load += new System.EventHandler(this.SaveShareRule_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.RadioButton rb_updataRule;\n        private System.Windows.Forms.RadioButton rb_newRule;\n        private System.Windows.Forms.ComboBox comboBox_yourRule;\n        private WatermakTextBox wtb_ruleRemark;\n        private System.Windows.Forms.CheckBox ck_parameterData;\n        private System.Windows.Forms.Button bt_save;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/SaveShareRule.cs",
    "content": "﻿using FreeHttp.FreeHttpControl.ControlHelper;\nusing FreeHttp.WebService;\nusing System;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class SaveShareRule : Form\n    {\n        ShareRuleService shareRuleService;\n        LoadWindowService loadWindowService;\n        public SaveShareRule(ShareRuleService ruleService)\n        {\n            InitializeComponent();\n            shareRuleService = ruleService;\n            loadWindowService = new LoadWindowService();\n        }\n\n        private void SaveShareRule_Load(object sender, EventArgs e)\n        {\n            comboBox_yourRule.DataSource = shareRuleService.NowShareRuleSummary.PrivateRuleList;\n            comboBox_yourRule.ValueMember = \"Token\";\n            comboBox_yourRule.DisplayMember = \"ShowTag\";\n            comboBox_yourRule.Text = \"please select personal ShareRule\";\n            rb_newRule_CheckedChanged(sender, e);\n        }\n\n        private void rb_newRule_CheckedChanged(object sender, EventArgs e)\n        {\n            if(rb_newRule.Checked)\n            {\n                wtb_ruleRemark.Enabled = true;\n                comboBox_yourRule.Enabled = false;\n            }\n            else\n            {\n                wtb_ruleRemark.Enabled = false;\n                comboBox_yourRule.Enabled = true;\n            }\n        }\n        private void bt_save_Click(object sender, EventArgs e)\n        {\n            if (rb_newRule.Checked)\n            {\n                if (string.IsNullOrEmpty(wtb_ruleRemark.Text))\n                {\n                    MessageBox.Show(\"please enter comment name\", \"Stop\");\n                    MyHelper.MyGlobalHelper.markControlService.MarkControl(wtb_ruleRemark, System.Drawing.Color.Aquamarine, 2);\n                    return;\n                }\n                shareRuleService.SaveShareRulesAsync(wtb_ruleRemark.Text, ck_parameterData.Checked).ContinueWith((rs =>\n                {\n                    if (rs.Result.Key == null)\n                    {\n                        this.Invoke((new Action(() => MessageBox.Show(\"Save share rule fail ,Please try again later\", \"Fail\", MessageBoxButtons.OK, MessageBoxIcon.Warning))));\n                    }\n                    else\n                    {\n                        shareRuleService.NowShareRuleSummary?.PrivateRuleList.Add(new WebService.DataModel.ShareRuleSummary.RuleToken() { Token = rs.Result.Key, Remark = rs.Result.Value });\n                        this.Invoke((new Action(() => MessageBox.Show($\"your share rule [{rs.Result.Value ?? \"-\"}] save succeed\", \"succeed\", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly))));\n                        if (this != null && !this.IsDisposed)\n                        {\n                            //理论上使用.ConfigureAwait(true)尝试将延续任务封送回原始上下文; 可以不用Invoke，而winform里默认就是true的,不过在这里ContinueWith的前一个任务的上下文大概率已经不是主线程了\n                            //所以还是直接使用Invoke保险 （或者Control.CheckForIllegalCrossThreadCalls = false; 但是这个并不推荐，只是在隐藏风险）\n                            this.Invoke(new Action(() => { (this.Owner as GetRemoteRuleWindow)?.GotoPrvateRule(rs.Result.Key); }));\n                            //(this.Owner as GetRemoteRuleWindow)?.GotoPrvateRule(rs.Result.Key);\n                            this.Close();\n                        }\n                    }\n                    loadWindowService.StopLoad();\n                    MyHelper.MyGlobalHelper.PutGlobalMessage(this, new MyHelper.MyGlobalHelper.GlobalMessageEventArgs(false, $\"save share rule [{rs.Result.Value}] that taken is : {rs.Result.Key}\"));\n                }));\n                loadWindowService.StartLoad(this);\n            }\n            else if(rb_updataRule.Checked)\n            {\n                if(string.IsNullOrEmpty((string)comboBox_yourRule.SelectedValue))\n                {\n                    MessageBox.Show(\"Update share rule fail ,please choose an existed share rule first \", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    MyHelper.MyGlobalHelper.markControlService.MarkControl(comboBox_yourRule, System.Drawing.Color.Pink, 2);\n                    return;\n                }\n\n                shareRuleService.UpdateShareRulesAsync((string)comboBox_yourRule.SelectedValue,ck_parameterData.Checked).ContinueWith((rs =>\n                {\n                    if (!rs.Result)\n                    {\n                        this.Invoke((new Action(() => MessageBox.Show(\"Update share rule fail ,Please try again later\", \"Fail\", MessageBoxButtons.OK, MessageBoxIcon.Warning))));\n                    }\n                    else\n                    {\n                        //ContinueWith 里面如果不用Invoke，MessageBox不会盖在顶层（后面的操作UI代码可能不在主线程）\n                        this.Invoke((new Action(() => MessageBox.Show($\"your share rule [{comboBox_yourRule.Text}] update succeed\", \"succeed\", MessageBoxButtons.OK, MessageBoxIcon.None))));\n                        if (this != null && !this.IsDisposed)\n                        {\n                            this.Invoke(new Action(() => { (this.Owner as GetRemoteRuleWindow)?.GotoPrvateRule((string)comboBox_yourRule.SelectedValue); }));\n                            this.Close();\n                        }\n                    }\n                    loadWindowService.StopLoad();\n                    MyHelper.MyGlobalHelper.PutGlobalMessage(this, new MyHelper.MyGlobalHelper.GlobalMessageEventArgs(false, $\"update share rule [{comboBox_yourRule.Text}]\"));\n                }));\n                loadWindowService.StartLoad(this);\n            }\n\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/SaveShareRule.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAQEAAAAAAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAgEAAJZTMgD1iFJ/8oZRv04rGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAADogEwD1h1HF9YhS//WIUv/hfUv8AAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7IBMA9YhR7/WIUv/1iFL/4X1L/wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOyATAPWI\n        Ue/1iFL/9YhS/+F9S/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAADsgEwD1iFHv9YhS//WIUv/hfUv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7IBMA9YhR7/WIUv/1iFL/4X1L/wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOyATAPWIUe/1iFL/9YhS/+F9\n        S/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsg\n        EwD1iFHv9YhS//WIUv/hfUv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAA7IBMA9YhR7/WIUv/1iFL/4X1L/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOyATAPWIUe/1iFL/9YhS/+F9S/8AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsgEwD1iFHv9YhS//WI\n        Uv/hfUv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        Uf9nOSL/AAAAAAAAAAAAAAAAZzkiAPWIUrH1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv+JTC33AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAANF0Rlb1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/4X1L/ywYDgIAAAAAAAAAAAgEAgCsXzmT9YhR//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//GGUP9oOiP1AAAAAAAAAAAAAAAAZzkiAPWIUp31iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/iUwt7wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJTC0A9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/ifUv/KxgOAAAAAAAAAAAACQUDAKtf\n        OZH1h1H/9YhS//WIUv/1iFL/9YhS//GGUP9pOiPwAAAAAAAAAAAAAAAAZzkiAPWIUp/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS/00r\n        GcIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDcgAPWIUfz1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS/+B8\n        Sv8tGQ8AAAAAAAAAAAAJBQMAq145j/WIUf/1iFL/9YhS//GGUP9pOiPvAAAAAAAAAAAAAAAAaTojAPOG\n        UZ/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS/+uCTv8eEApDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkF\n        AwDUdkeb9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/33tK+i4ZDwAAAAAAAAAAAAkFAwCeVzSK84ZR/+N+TP9oOiL0AAAAAAAA\n        AAAAAAAAajojAPGGUKT1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv+QTy/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAVi8cAPKGUf/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/ee0r4LhkPAAAAAAAAAAAAAAAAABwP\n        CRsSCgYvAAAAAAAAAAAAAAAAajojAPGGUK71iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/cekn/HhAKWgAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClXDdK9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS/997\n        SvktGQ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaTojAPGGULn1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/WDEd5QAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwEBAKle\n        OKX1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/74VP+5RSMQsfEQoAAAAAAAAAAAA/IhQAwGtAAPOGUdH1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/XjQf/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAADAQEAjE4vb/KGUf/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//SHUZL1iFJn9YhS7fWI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/cekn/VzAd8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9IRQJuGY97+uCTv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS/+uDTv+PTy/6HhAJUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAeEQoAZjkiiYlMLdjwhVD69YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/ngE3/iUwu7GU4IsgeEQk8AAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxW1CP/WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/nVc0/wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRAJgD1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS/1sy\n        HsEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAiEwsA9IhR//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//GFT/8JBQMOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZTMhj1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv+UUzD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmFQwA9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1h1H/JRQLNgAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBQ\n        MBP1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1h1L/d0Io/wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAKBQMA1HRFmPWIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/0iFL/q185/wUDAQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMTCwDWdkfx9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/1nZH/yMTC1MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBQMANV2\n        R+v1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/1XZH/yQUC20AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAjFAwA1XZH5/WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFH/xm5C/yQTDF0AAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAJBQCUUjGD8oZR//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/yhlH/e0Qp+AcD\n        AhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQl\n        FxXJcEPn9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WIUv/1iFL/9YhS//SI\n        Uf+ZVTP/LBgOhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAwIBAEMjFhCTUjHezHFE//SIUv/1iFL/9YhS//WIUv/1iFL/9YhS//WI\n        Uv/1iFL/s2M7/3tEKf8qFw5BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPCAUATisaRE4r\n        GolOKxrMTisa704rGq5OKxpuDwgEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA////////////////////////////////////////////////////////////////////////\n        //////////////////5//////////D/////////8P/////////w//////////D/////////8P///////\n        //w//////////D/////////8P/////////w//////////D/////////8P/////////w///////gAHDgA\n        D///wAAcOAAD//+AABw4AAH//wAA/D+AAP/+AAH8P8AAf/4AA/w/4AA//AAHDDjgAD/8AAcEMGAAH/gA\n        BwAgYAAf+AAHAADgAB/4AAOAAOAAH/gAA8ADwAAf+AAA4AeAAB/8AADwDwAAH/wAAHgeAAAf/AAAPDwA\n        AD/+AAAeeAAAP/4AAA/wAAB//wAAA+AAAP//gAAAAAAB///AAAAAAAP///gAAAAAD////gAAAAB/////\n        AAAAAH////8AAAAAf////wAAAAD/////gAAAAP////+AAAAB/////8AAAAH/////4AAAA//////wAAAH\n        //////gAAA///////AAAH//////+AAB///////+AAf////////gP////////////////////////////\n        //////////////////////////////////////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/SetVaule.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class SetVaule\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SetVaule));\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.tb_vaule = new System.Windows.Forms.TextBox();\n            this.lb_info = new System.Windows.Forms.Label();\n            this.SuspendLayout();\n            // \n            // bt_ok\n            // \n            this.bt_ok.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.bt_ok.Location = new System.Drawing.Point(197, 67);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 8;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);\n            // \n            // tb_vaule\n            // \n            this.tb_vaule.Location = new System.Drawing.Point(11, 42);\n            this.tb_vaule.Name = \"tb_vaule\";\n            this.tb_vaule.Size = new System.Drawing.Size(260, 21);\n            this.tb_vaule.TabIndex = 9;\n            // \n            // lb_info\n            // \n            this.lb_info.Location = new System.Drawing.Point(11, 3);\n            this.lb_info.Name = \"lb_info\";\n            this.lb_info.Size = new System.Drawing.Size(260, 36);\n            this.lb_info.TabIndex = 10;\n            // \n            // SetVaule\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(284, 102);\n            this.Controls.Add(this.lb_info);\n            this.Controls.Add(this.tb_vaule);\n            this.Controls.Add(this.bt_ok);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"SetVaule\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"SetVaule\";\n            this.Load += new System.EventHandler(this.SetVaule_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.Button bt_ok;\n        private System.Windows.Forms.TextBox tb_vaule;\n        private System.Windows.Forms.Label lb_info;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/SetVaule.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class SetVaule : Form\n    {\n        public class SetVauleEventArgs:EventArgs\n        {\n            public string SetValue{get; set;}\n            public SetVauleEventArgs(string setValue)\n            {\n                SetValue= setValue;\n            }\n        }\n        public SetVaule()\n        {\n            InitializeComponent();\n        }\n\n        Func<string,string> CheckValueFunc;\n        public event EventHandler<SetVauleEventArgs> OnSetValue;\n\n        public SetVaule(string formName, string remarkInfo, string nowValue, Func<string, string> checkValueDelegate)\n            : this()\n        {\n            if (formName != null){ this.Text = this.Name = formName; }\n            if (remarkInfo != null) { lb_info.Text = remarkInfo; }\n            if (nowValue != null) { tb_vaule.Text = nowValue; }\n            if (checkValueDelegate != null) { CheckValueFunc = checkValueDelegate; }\n        }\n\n        private void SetVaule_Load(object sender, EventArgs e)\n        {\n            //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.MaximumSize = this.Size;\n            this.MinimumSize = this.Size;\n        }\n\n        private void bt_ok_Click(object sender, EventArgs e)\n        {\n            if (CheckValueFunc != null)\n            {\n                string checkMes = CheckValueFunc(tb_vaule.Text);\n                if (checkMes != null)\n                {\n                    MessageBox.Show($\"your value is not legal \\r\\n{checkMes}\\r\\n edit it again\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    return;\n                }\n            }\n\n            if(OnSetValue!=null)\n            {\n                this.OnSetValue(this, new SetVauleEventArgs(tb_vaule.Text));\n            }\n            this.DialogResult = DialogResult.OK;\n            this.Close();\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/SetVaule.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA\n        AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wDovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6LxDAOa6QgDmuEEA5rdBAOS2QADktT8A5LM9AOOxPQDisD0A4q88AOKv\n        PADirzwA4a49AOKvPQDisD4A47E/AOSxPgDjsTsA5LM5AOSzOQDkszkA5LM5AOSzOQDkszkA5LM5AOSz\n        OQDkszkA5LM5AOSzOQDkszkA5LM5AOSzOQDkszkA5LM5AOOyOQ3isDhr4a44n+GtOKDhrTif4a04n+Gu\n        OJ/hrjif4a44n+GtOJ/hrTif4aw4n+GrOJ/hqzih4as4gOGtOCDhrzkA4a85AOGvOQDhrzkA4a85AOGv\n        OQDhrzkA4a85AOGvOQDhrzkA4a85AOGvOQDhrzkA4a85AOGvOQDhrzkA5LQ7AOW2PwDltkAA5LY/AOSz\n        PQDjsT0A4q89AOKvPADirzwA4a88AOGuPQDirz0A4rA+AOKxPgDksT4A5LJAAOSzQQDktEEA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovEMA5rpCAOa4\n        QQDmt0EA5LZAAOS1PwDksz0A47E9AOKwPQDirzwA4q88AOKvPADhrj0A4q89AOKwPgDjsT8A5LE+AOOx\n        OwDktDkA5LQ5AOS0OQDktDkA5LQ5AOS0OQDktDkA5LQ5AOS0OQDktDkA5LQ5AOS0OQDktDkA5LQ5AOS0\n        OQDktDkA47I5eOKwOPXisDj/4rA5/+KwOf/isDn/4rE4/+KwOP/isDj/4rA4/+KwOf/irzn/4q45/+Gt\n        OP/hrDj+4a05pOGvOQzhrzkA4a85AOGvOQDhrzkA4a85AOGvOQDhrzkA4a85AOGvOQDhrzkA4a85AOGv\n        OQDhrzkA4a85AOGvOQDktDsA5bY/AOW2QADktj8A5LM9AOOxPQDirz0A4q88AOKvPADhrzwA4a49AOKv\n        PQDisD4A4rE+AOSxPgDkskAA5LNBAOS0QQDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi8QwDmukIA5rhBAOa3QQDktkAA5LU/AOSzPQDjsT0A4rA9AOKv\n        PADirzwA4q88AOGuPQDirz0A4rA+AOOxPwDksT4A47E7AOS2OQDktzkA5Lc5AOS3OQDktzkA5Lc5AOS3\n        OQDktzkA5Lc5AOS3OQDktzkA5Lc5AOS3OQDktzkA5Lc5AOS2OWDktDn/5LQ5/+S1Of/ktTn/5LU4/+S1\n        Nf/ktTP/5LQy/+S0Mv/ktDP/5LQ0/+S0N//ktDn/47M5/+KwOf/hrzn/4rA5muKxOQDisTkA4rE5AOKx\n        OQDisTkA4rE5AOKxOQDisTkA4rE5AOKxOQDisTkA4rE5AOKxOQDisTkA4rE5AOS0PADltj8A5bZAAOS2\n        PwDksz0A47E9AOKvPQDirzwA4q88AOGvPADhrj0A4q89AOKwPgDisT4A5LE+AOSyQADks0EA5LRBAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wDovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6LxDAOa6\n        QgDmuEEA5rdBAOS2QADktT8A5LM9AOOxPQDisD0A4q88AOKvPADirzwA4a49AOKvPQDisD4A47E/AOSy\n        PgDjsDsA5LY5AOW6OgDluToA5bk6AOW5OgDluToA5bk6AOW5OgDluToA5bk6AOW5OgDluToA5bk6AOW5\n        OgDluToA5bk6wuS4Ov/luDr/5bg5/+W4Nv/ltzL/5LYv/+S1Lf/ktSz/5LUs/+S1LP/kti7/5LYx/+S2\n        Nf/ktjn/5LU6/+OzOf/isTnv4rI5GuKyOQDisjkA4rI5AOKyOQDisjkA4rI5AOKyOQDisjkA4rI5AOKy\n        OQDisjkA4rI5AOKyOQDisjkA5bU8AOW2PwDltkAA5LY/AOSzPQDjsT0A4q89AOKvPADirzwA4a88AOGu\n        PQDirz0A4rA+AOKxPgDksT4A5LJAAOSzQQDktEEA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovEMA5rpCAOa4QQDmt0EA5LZAAOS1PwDksz0A47E9AOKw\n        PQDirzwA4q88AOKvPADhrj0A4q89AOKwPgDjsT8A5LI+AOOxOwDksjkA5rs6AOa7OgDmuzoA5rs6AOa7\n        OgDmuzoA5rs6AOa7OgDmuzoA5rs6AOa7OgDmuzoA5rs6AOa7Ogfmuzra5ro6/+a6Ov/muTb/5bgw/+W3\n        Lf/ktSr/5LUo/+S1J//ktSf/5LUn/+S1Kf/ktiz/5bcw/+W3NP/ltzn/5LU6/+OzOv3jszov47M6AOOz\n        OgDjszoA47M6AOOzOgDjszoA47M6AOOzOgDjszoA47M6AOOzOgDjszoA47M6AOS0OgDltTwA5bY/AOW2\n        QADktj8A5LM9AOOxPQDirz0A4q88AOKvPADhrzwA4a49AOKvPQDisD4A4rE+AOSxPgDkskAA5LNBAOS0\n        QQDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi8\n        QwDmukIA5rhBAOa3QQDktkAA5LU/AOSzPQDjsT0A4rA9AOKvPADirzwA4q88AOGuPQDirz0A4rA+AOOx\n        PwDksj4A47E7AOOwOADluDkA5746AOe9OgDnvToA5706AOe9OgDnvToA5706AOe9OgDnvToA5706AOe9\n        OgDnvToA5706B+e9OtnnvDr/5rs3/+a5Mf/ltyz/5bYp/+S0Jf/ktCP/5LMi/+SzIv/ktCL/5LQl/+S1\n        KP/ktiv/5bcw/+W4Nv/luDr/5LU6/eS0Oi7ktDoA5LQ6AOS0OgDktDoA5LQ6AOS0OgDktDoA5LQ6AOS0\n        OgDktDoA5LQ6AOS0OgDktDoA5LQ5AOW1PADltj8A5bZAAOS2PwDksz0A47E9AOKvPQDirzwA4q88AOGv\n        PADhrj0A4q89AOKwPgDisT4A5LE+AOSyQADks0EA5LRBAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6LxDAOa6QgDmuEEA5rdBAOS2QADktT8A5LM9AOOx\n        PQDisD0A4q88AOKvPADirzwA4a49AOKvPQDisD4A47E/AOSyPgDjsTsA47A4AOSzNgDnvDsA57w7AOe8\n        OwDnvDsA57w7AOe8OwDnvDsA57w7AOe8OwDnvDsA57w7AOe8OwDnvDsH6L072ei9Of/nuzT/5rkt/+W3\n        Kf/ltiT/5bQh/+S0H//ksx3/5LMd/+SzHv/ltCH/5bUj/+W2KP/ltyz/5rky/+a5Of/luDv95LY6LuS2\n        OgDktjoA5LY6AOS2OgDktjoA5LY6AOS2OgDktjoA5LY6AOS2OgDktjoA5LY6AOS0OADktDkA5bU8AOW2\n        PwDltkAA5LY/AOSzPQDjsT0A4q89AOKvPADirzwA4a88AOGuPQDirz0A4rA+AOKxPgDksT4A5LJAAOSz\n        QQDktEEA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovEMA5rpCAOa4QQDmt0EA5LZAAOS1PwDksz0A47E9AOKwPQDirzwA4q88AOKvPADhrj0A4q89AOKw\n        PgDjsT8A5LI+AOOxOwDjsDgA47A0AOa3OQDnuz0A57s8AOe7PADnuzwA57s8AOe7PADnuzwA57s8AOe7\n        PADnuzwA57s8AOe7PAfnvDzZ57s4/+a6Mf/muCr/5bYl/+S1If/ksx7/5LMb/+SyGv/kshr/5LIb/+Sz\n        Hf/ktCD/5bUk/+W3Kf/luC//5rk2/+a5O/3ltzsu5bc7AOW3OwDltzsA5bc7AOW3OwDltzsA5bc7AOW3\n        OwDltzsA5bc7AOW3OwDltjkA5LQ2AOS0OQDltTwA5bY/AOW2QADktj8A5LM9AOOxPQDirz0A4q88AOKv\n        PADhrzwA4a49AOKvPQDisD4A4rE+AOSxPgDkskAA5LNBAOS0QQDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi8QwDmukIA5rhBAOa3QQDktkAA5LU/AOSz\n        PQDjsT0A4rA9AOKvPADirzwA4q88AOGuPQDirz0A4rA+AOOxPwDksj4A47E7AOOwOADjsDQA5LM0AOa6\n        PADmuj0A5ro8AOa6PADmujwA5ro8AOa6PADmujwA5ro8AOa6PADmujwA5ro8B+a6O9nmujX/5rgu/+W3\n        KP/ltSL/5LMe/+SyG//jsRj/47EX/+OxF//jsRj/5LIa/+SzHf/ktSH/5bYm/+W3LP/muTP/5rk6/ea5\n        Oy7muTsA5rk7AOa5OwDmuTsA5rk7AOa5OwDmuTsA5rk7AOa5OwDmuTsA5rk8AOW1NgDkszUA5LQ5AOW1\n        PADltj8A5bZAAOS2PwDksz0A47E9AOKvPQDirzwA4q88AOGvPADhrj0A4q89AOKwPgDisT4A5LE+AOSy\n        QADks0EA5LRBAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wDovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6LxDAOa6QgDmuEEA5rdBAOS2QADktT8A5LM9AOOxPQDisD0A4q88AOKvPADirzwA4a49AOKv\n        PQDisD4A47E/AOSyPgDjsTsA47A4AOOxNQDksjEA5bY0AOW4OgDmuj0A5ro9AOa6PQDmuj0A5ro9AOa6\n        PQDmuj0A5ro9AOa6PQDmuj0H5ro62ea5Mv/luCv/5bYm/+S0IP/jsxv/47IZ/+OxFv/jsRX/47EV/+Ox\n        Ff/jshj/47Mb/+S0H//ltiT/5bcq/+W5Mf/mujn95ro8Lua6PADmujwA5ro8AOa6PADmujwA5ro8AOa6\n        PADmujwA5ro8AOa6PADmuDkA5bQyAOSzNgDktDkA5bU8AOW2PwDltkAA5LY/AOSzPQDjsT0A4q89AOKv\n        PADirzwA4a88AOGuPQDirz0A4rA+AOKxPgDksT4A5LJAAOSzQQDktEEA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovEMA5rpCAOa4QQDmt0EA5LZAAOS1\n        PwDksz0A47E9AOKwPQDirzwA4q88AOKvPADhrj0A4q89AOKwPgDjsT8A5LI+AOOxOwDjsDgA47E1AOSy\n        MgDlsy8A5LIzAOWzNwDltzoA5ro6AOa6OwDmujsA5ro7AOa6OwDmujsA5ro7AOa6OwfmujjZ5bgw/+W3\n        Kf/ktST/5LQe/+OyGv/jsRf/47AU/+KwE//isBP/47AU/+OxFv/jshn/5LMd/+S1Iv/ltij/5bgv/+W4\n        Nv3muDou5rg6AOa4OgDmuDoA5rg6AOa4OgDmuDoA5rg6AOa4OgDltjkA5bQ1AOW1MQDltDIA5bM2AOS0\n        OQDltTwA5bY/AOW2QADktj8A5LM9AOOxPQDirz0A4q88AOKvPADhrzwA4a49AOKvPQDisD4A4rE+AOSx\n        PgDkskAA5LNBAOS0QQDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi8QwDmukIA5rhBAOa3QQDktkAA5LU/AOSzPQDjsT0A4rA9COKvPDrirzxK4q88HOGu\n        PQDirz0A4rA+AOOxPwDksj4A47E7AOOwOADjsTUA5LIyAOWzMADksjMA5LA2AOKwOADkszkA5rg4AOe7\n        NwDnuzcA57s3AOe7NwDnuzcA57s3B+e6NdnmuC//5rYo/+W1Iv/ksx3/5LIY/+SwFf/jsBP/468R/+Ov\n        Ef/jsBL/47AV/+SyGP/ksxz/5bQh/+W2J//mty3/5rc0/eW3OC7ltzgA5bc4AOW3OADltzgA5bc4AOW3\n        OADktTgA47E3AOOvNQDksjMA5bUxAOW0MgDlszYA5LQ5AOW1PADltj8A5bZAAOS2PwDksz0A47E9AOKv\n        PQ/irzxC4q88ReGvPBLhrj0A4q89AOKwPgDisT4A5LE+AOSyQADks0EA5LRBAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6LxDAOa6QgDmuEEA5rdBAOS2\n        QADktT8A5LM9AOOxPSvisD3M4q89/+KvPf/hrj304a49c+KvPQDisD4A47E/AOSyPgDjsTsA47A4AOOx\n        NQDksjIA5bMwAOSyMwDksTYA4rA4AOOwOgDjsDoA5bU4AOe6NQDnuzUA57s1AOe7NQDnuzUH57oz2ea5\n        Lf/ltyb/5bUh/+SzG//kshf/47EV/+OwEv/jsBH/47AR/+OwEv/jsRT/5LIX/+SzGv/ltB//5bUl/+W2\n        K//ltjL95bY2LuW2NgDltjYA5bY2AOW2NQDltDYA4684AOKuOQDirzcA47A1AOSyMwDltTEA5bQyAOWz\n        NgDktDkA5bU8AOW2PwDltkAA5LY/AOSzPQDjsT1I4rA94eKvPf/irz3/4a495+GuPVPirz0A4rA+AOKx\n        PgDksT4A5LJAAOSzQQDktEEA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovEMA5rpCAOa4QQDmt0EA5LZAAOS1PwDksz0v5LM95OSzPf/ksz7/5LM+/+Oy\n        Pf/isD3/4q89g+KwPgDjsT8A5LI+AOOxOwDjsDgA47E1AOSyMgDlszAA5LIzAOSxNgDisDgA47A6AOOw\n        OgDjsDkA5LM4AOa5NADnuzMA57szAOe7MwfnujHZ5rgr/+W2Jf/ltCD/5LMb/+SxF//jsBT/47AS/+Ov\n        Ef/jrxH/47AS/+OwFP/jsRb/5LMa/+WzH//ltST/5bUq/+W1MP3ltTMu5bUzAOW1MwDltTMA5LE2AOKu\n        OADirTkA4q45AOKvNwDjsDUA5LIzAOW1MQDltDIA5bM2AOS0OQDltTwA5bY/AOW2QADktj8A5LM9UeSz\n        Pfjksz7/5LM+/+SzPv/jsj3/4rA9/OKvPV3isD4A4rE+AOSxPgDkskAA5LNBAOS0QQDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi8QwDmukIA5rhBAOa3\n        QQDktkAA5LU/L+S2P+Tltz//5bg//+W5P//luT//5bc//+S1P//ksz7/4rE+g+OxPwDksj4A47E7AOOw\n        OADjsTUA5LIyAOWzMADksjMA5LE2AOKwOADjsDoA47A6AOSxOQDksTkA5LM3AOW2NADmuTEA5rkxB+a5\n        L9nmuCr/5bYk/+S0H//ksxr/47IX/+OxFP/jsBL/47AR/+OwEf/jsBL/47EU/+OxFv/ksxn/5LQe/+W1\n        I//ltSj/5LUu/eS0MS7ktDEA5LMyAOKwNQDirjgA4q04AOKtOQDirjkA4q83AOOwNQDksjMA5bUxAOW0\n        MgDlszYA5LQ5AOW1PADltj8A5bZAAOS2P1Hktj/45bc//+W5P//luT//5bg//+W3P//ktT//47I+/OKw\n        Pl3isT4A5LE+AOSyQADks0EA5LRBAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wDovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6LxDAOa6QgDmuEEA5rdBAOS2QC/lt0Dk5rpA/+a6Pv/mujz/5ro6/+a6\n        Ov/muTr/5rg8/+W3Pf/ktD7/47I/g+SxPgDjsTsA47A4AOOxNQDksjIA5bMwAOSyMwDksTYA4rA4AOOw\n        OgDjsDoA5LE5AOSxOQDkszcA5bQ1AOW2MQDluC4G5bct2Oa2KP/ltiL/5LQd/+SzGf/jsRb/47EU/+Ow\n        Ev/jsBH/47AR/+OwEv/jsRT/47EW/+SzGf/ksx3/5bQh/+W1Jv/ktSv85LQuLeSzMADjsTMA4q82AOKu\n        OADirTgA4q05AOKuOQDirzcA47A1AOSyMwDltTEA5bQyAOWzNgDktDkA5bU8AOW2PwDltkBR5bg/+Oa5\n        Pv/muj3/5ro7/+a6Ov/mujr/5rk7/+a4Pf/ltz//5LQ//OOxPl3ksT4A5LJAAOSzQQDktEEA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovEMA5rpCAOa4\n        QQDmt0Ev5rhB5Oe6P//nujz/57o5/+e6Nv/nujX/57o0/+e5Nf/nuTb/5rg3/+W2Ov/ltDz/47I9g+Ox\n        OwDjsDgA47E1AOSyMgDlszAA5LIzAOSxNgDisDgA47A6AOOwOgDksTkA5LE5AOSzNwDltDUC5bYyJOa2\n        LmPmtyru5rYl/+W1If/lsxz/5bIZ/+SxFv/ksRT/5LAS/+SwEv/ksBL/5LAS/+SwFP/ksRb/5bIY/+Wz\n        HP/ltCD/5bQl/+W1Kf/ktC1i5LMxCuOxMwDirzYA4q44AOKtOADirTkA4q45AOKvNwDjsDUA5LIzAOW1\n        MQDltDIA5bM2AOS0OQDltTwA5bY/Uea3PvjnuTv/57o4/+e6Nv/nujX/57o1/+e6Nf/nuTb/57k4/+a5\n        O//mtz7/5LRA/OSyP13ksj8A5LNBAOS0QQDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi8QwDmukIA5rhBL+e6QeTnu0D/57s8/+e7OP/nuzT/57oy/+e5\n        MP/nuTD/5rkw/+a5Mf/muTL/5rg0/+W2N//kszn/47E6g+OwOADjsTUA5LIyAOWzMADksjMA5LE2AOKw\n        OADjsDoA47A6AOSxOQHksTkw5LM3guW0NM3ltjD55rYr/+W2KP/mtiP/5bUf/+W0G//kshj/5LIW/+Sx\n        FP/ksRP/5LES/+OwEv/ksRL/5LEU/+SyFv/ksxj/5bMb/+W0Hv/ltSP/5bUm/+W1K//ksy/p47EzreKv\n        NlvirjgU4q04AOKtOQDirjkA4q83AOOwNQDksjMA5bUxAOW0MgDlszYA5LQ5AOW1PFHmtzv45rk4/+e5\n        Nv/nujP/5roy/+e5MP/nuTD/5rkw/+a6Mf/nujP/57o2/+a5Ov/muD7/5LVA/OSzQF3ks0AA5LRBAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wDovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADovkQA6LxDAOa6\n        Qi/nukLk57xB/+e7PP/nuzf/57o0/+e5MP/nuC3/57gr/+a4K//muCv/5rgs/+a4Lv/muC//5rcy/+W1\n        NP/kszb/47A3g+OxNQDksjIA5bMwAOSyMwDksTYA4rA4AOOwOg7jsDpk5LI4xuSzNv3ltDP/5bUw/+W2\n        LP/ltij/5rYl/+W1Iv/ltB7/5LMb/+SyGP/kshf/5LEV/+SxE//ksRP/5LET/+SxE//ksRX/5LIX/+Sy\n        GP/ksxr/5bMe/+W0Iv/ltSX/5bUo/+W1LP/kszD/5LIz/+OwNuzirjib4q05NeKuOQDirzcA47A1AOSy\n        MwDltTEA5bQyAOSzNgDktDlR5bY4+Oa4Nv/muDP/5rkx/+a5L//muC3/5rgr/+a4K//muCv/5rgt/+a5\n        L//muTL/57k2/+a5O//muD//5LZB/OSzQF3ktEEA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AOi+RADovkQA6L5EAOi+RADovkQA6L5EAOi+\n        RADovkQA6L5EAOi+RADovkQA6L5EAOi+RADnvUMv57xD5Oi9Q//ovT//57w5/+e7Nf/nujD/57kt/+a4\n        Kv/muCj/5rgn/+a3J//mtyj/5rcp/+a4K//mty3/5bcw/+W1Mv/kszT/47E0g+SyMgDlszAA5LIzAOSw\n        NhLjsDh75LI35OSzNv/ltTT/5bYy/+W3MP/mtyz/5bcp/+W3J//ltST/5bUg/+W1Hf/ktBv/5LMZ/+Sy\n        F//kshb/5LIW/+SyFf/kshX/5LIV/+SyF//kshf/5LMZ/+S0G//ltB3/5bQg/+W1JP/ltif/5bYp/+W2\n        Lf/ltTD/5LQy/+OyNf/jsDb94q84uuKvN0LjsDUA5LIzAOW1MQDltDIA5bQ2UeW1NvjmtzT/5rgx/+a4\n        Lv/muCz/5rgq/+a4KP/muCf/5rgn/+a4J//muCn/57gs/+a5L//mujP/57s4/+e6Pf/mukH/5bZC/OS1\n        QV3mtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgDmtkIA////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A6cBEAOnARADpwEQA6cBEAOnARADpwEQA6cBEAOnARADpwEQA6cBEAOnARADpwEQA6b9EJui+\n        ROPpv0T/6b9D/+m+Pv/ovDf/6Lsz/+e6Lv/nuSr/57cn/+a3Jf/mtyT/5rck/+a2Jf/mtiX/5rcn/+a3\n        Kf/mtyv/5rYt/+W0L//lszH/5LMxgeWzMALksjNs5LI05+WzNP/ltDP/5rYy/+a3MP/mty//5rcs/+a3\n        Kv/mtyj/5rYl/+a1Iv/mtSD/5bQe/+W0HP/lsxr/5bMZ/+WyGP/lshj/5bIX/+WyF//lshj/5bIY/+Wz\n        GP/lsxr/5bQc/+W0Hv/mtSD/5rUi/+a2Jf/mtif/5rcp/+a2Lf/mti//5bUx/+W0Mv/ksjP/5LE0/+Ox\n        NbfksjMx5bUxAOW0MlDltDP45rYx/+a3Lv/muCz/57cq/+e3KP/ntyb/5rcl/+a2JP/mtiT/5rcl/+e3\n        Jv/nuCn/57gt/+e6Mv/ouzX/6Lw7/+i8Qf/nukP/5rdC/eW2QlXmtkIA5rZCAOa2QgDmtkIA5rZCAOa2\n        QgDmtkIA5rZCAOa2QgDmtkIA5rZCAOa2QgD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDqwUYA6sFGAOrBRgDqwUYA6sFGAOrB\n        RgDqwUYA6sFGAOrBRgDqwUYA6sFGAOrBRgDqwUaw6sFG/+rBRv/qwUP/6b88/+i9Nv/nuzH/57ot/+e4\n        KP/mtyX/5rcj/+a2Iv/mtiH/5rYh/+a2Iv/mtiT/5rYm/+a3J//mtyj/5rYr/+a2LP/ltS755bUv3+W1\n        L//ltS//5rYv/+a3L//muC7/5rgt/+a4LP/muCr/57co/+a3Jv/mtiX/5rYi/+a2If/ltR//5bUd/+W0\n        HP/ltBv/5bQa/+WzGv/lsxr/5bMa/+WzGv/ltBr/5bQb/+W0HP/ltR3/5bUf/+a2IP/mtiP/5rYl/+a3\n        Jv/mtyj/5rcq/+a3LP/mty3/5rYu/+W1MP/ltTD/5bUw/+W0MPXltTCm5rUv7ea3Lv/mtyz/5rcq/+a3\n        KP/mtyf/5rcl/+a3I//mtiL/5rYh/+a2Iv/mtiP/5rcl/+e4J//nuSv/57ow/+i7Nf/ovTr/6L5B/+i+\n        RP/nu0T/57lE4+e6RBLnukQA57pEAOe6RADnukQA57pEAOe6RADnukQA57pEAOe6RADnukQA57pEAP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AOi/RgDov0YA6L9GAOi/RgDov0YA6L9GAOi/RgDov0YA6L9GAOi/RgDov0YA6L9GFOi/\n        Ru3pwEb/6sFG/+rAQ//pvzz/6L02/+e7Mf/nuSz/5rgn/+a3Jf/mtiL/5bUg/+W1IP/ltR//5bYg/+a2\n        If/mtiL/5rYk/+a2Jv/ltif/5rYo/+a2Kv/mtiv/5rcr/+a3LP/mtyz/5rcr/+a4K//muCr/57cp/+a3\n        KP/mtyf/5rcm/+a3Jf/mtyP/5rYi/+a2If/ltSD/5bUf/+W1H//ltR7/5bUe/+W1Hv/ltR7/5bUe/+W1\n        Hv/ltR7/5bUf/+W1IP/mtiD/5rYi/+a3I//mtyX/5rcm/+a3J//mtyj/5rcp/+a3K//mtyv/5rcs/+a3\n        LP/mty3/5rYs/+a2LP/mtyv/5rcp/+a3KP/mtyf/5rYl/+a2I//mtiL/5bYg/+W1IP/ltSD/5bUg/+a2\n        If/mtyT/5rcn/+e5Kv/nujD/6Lw1/+i+O//pv0H/6b9G/+i+Rf/ovEX/6L1FRei9RQDovUUA6L1FAOi9\n        RQDovUUA6L1FAOi9RQDovUUA6L1FAOi9RQDovUUA////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A6L1GAOi9RgDovUYA6L1GAOi9\n        RgDovUYA6L1GAOi9RgDovUYA6L1GAOi9RgDovUYT6L1G6+i+Rv/pwEf/6b9C/+m+PP/pvDf/6Lsx/+i6\n        LP/muSj/57ck/+a2Iv/ltiD/5bUe/+W1Hv/ltR7/5bUf/+a2IP/mtiH/5rYj/+a2Jf/mtyb/5rcn/+a3\n        J//mtyj/5rcp/+e3Kf/nuCn/57gp/+e4KP/nuCj/5rgn/+a4Jv/nuCb/57gm/+e3Jf/ntyT/57ck/+e3\n        JP/mtyP/5rcj/+a2I//mtiL/5rYi/+a2Iv/mtiL/5rYi/+a2I//mtyP/57cj/+e3JP/ntyT/57cl/+e4\n        Jv/nuCb/57gm/+a4J//nuCj/57gp/+e4Kf/muCn/5rcp/+a3Kf/mtyn/5rco/+a3J//mtyf/57cl/+e2\n        JP/mtiL/5rYh/+a2IP/ltR//5bUe/+W1Hv/lth//5rYh/+e3JP/nuCf/6Lor/+i7MP/pvTX/6b87/+rA\n        Qv/qwkf/6sFH/+nAR//owEdC6MBHAOjARwDowEcA6MBHAOjARwDowEcA6MBHAOjARwDowEcA6MBHAOjA\n        RwD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wDou0YA6LtGAOi7RgDou0YA6LtGAOi7RgDou0YA6LtGAOi7RgDou0YA6LtGAOi7\n        RgDoukWp6LtG/+m9R//pvkT/6b4+/+m8OP/ouzP/6Lou/+e5KP/ntyX/57ci/+a2IP/mtR7/5rUe/+a1\n        Hv/mtR7/5rUe/+a2IP/mtiH/5rUi/+e2JP/ntiX/57Yl/+e3Jv/ntyf/57cn/+e3J//nuCf/57gn/+e4\n        J//nuCf/57gn/+e4J//nuCf/57gn/+e4J//ntyf/57cn/+e3KP/ntyj/57co/+e3KP/ntyj/57cn/+e3\n        J//ntyf/57cn/+e3J//ntyf/57cn/+e3J//nuCf/57gn/+e4J//nuCf/57gn/+e4KP/nuCj/57co/+e3\n        KP/ntyf/57cn/+e3J//ntyb/57Yl/+e2Jf/ntiP/5rYi/+a2IP/mtR//5rUe/+a1Hv/mtR7/5rUe/+a1\n        IP/mtiL/57cl/+e4KP/ouiz/6Lwx/+m9N//pvz3/6sFD/+vCSP/rwkj/68JI2+vCSA7rwkgA68JIAOvC\n        SADrwkgA68JIAOvCSADrwkgA68JIAOvCSADrwkgA68JIAP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AOe6RgDnukYA57pGAOe6\n        RgDnukYA57pGAOe6RgDnukYA57pGAOe6RgDnukYA57pGAOe5RR/muEXb6LtH/+i9Rf/pvT//6Lw6/+i7\n        NP/oui//57kr/+e4J//ntyT/5rYh/+a2H//mtR7/5rUd/+a1Hf/mtR3/5rUe/+a2H//mtiD/5rYh/+a2\n        Iv/ntiT/57Yl/+e3Jv/nuCb/57gm/+e4J//nuSj/57go/+e5KP/nuSn/57kq/+e5Kv/nuCv/57kr/+e5\n        LP/nuSz/57ks/+e5LP/nuS3/57kt/+e5Lf/nuS3/57gs/+e5LP/nuSz/57gs/+e4LP/nuSv/57gr/+e4\n        Kv/nuCr/57gq/+e5Kf/nuSj/57ko/+e5KP/nuCf/57cm/+e3Jv/ntyb/57cl/+e2Jf/mtiP/5rYi/+a2\n        If/mtiD/5rUf/+a1Hv/mtR3/5rUd/+a1Hv/mth//5rYg/+a3I//nuCb/57kp/+i6Lv/ovDP/6b05/+m/\n        P//qwEX/6sFI/+nASPjqwUhK68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvC\n        SQDrwkkA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A57pGAOe6RgDnukYA57pGAOe6RgDnukYA57pGAOe6RgDnukYA57pGAOe6\n        RgDnukYA57lFAOa3RSXmuEbc57tG/+i8Qf/ovDz/6Lw3/+e6Mv/ouS3/57kp/+e3Jv/mtyP/5rYg/+a1\n        Hv/mtR7/5rUd/+a1Hf/mtR3/5rUe/+a2H//mtiD/5rYi/+a3I//mtyT/57cl/+e4Jv/nuCb/57gn/+e5\n        Kf/nuSr/57kr/+e5Lf/nuS3/57ov/+e6L//nui//57ow/+e6Mf/nujL/57oy/+e5Mv/nuTL/57ky/+e5\n        Mv/nuTL/57ky/+e6Mv/nuTH/57kx/+e5MP/nuS//57ov/+e5Lv/nuS3/57ks/+e5K//nuSr/57kp/+e4\n        J//nuCb/57gm/+e3Jf/mtyT/5rcj/+a3Iv/mtiH/5rYg/+a1Hv/mtR7/5rUd/+a1Hf/mtR7/5rUe/+a2\n        IP/mtyL/57cl/+e5KP/nuiz/6Lsx/+i8N//ovjz/6b9C/+m/R//ovkj46L5IUerBSADrwkkA68JJAOvC\n        SQDrwkkA68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvCSQD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDnukYA57pGAOe6\n        RgDnukYA57pGAOe6RgDnukYA57pGAOe6RgDnukYA57pGAOe6RgDnuUUA5rdFAOW2RiXnt0fc6LpE/+i7\n        P//ouzr/6Ls0/+i6MP/ouSz/6Lgo/+e3Jf/ntiL/57Ug/+e1H//ntR7/5rUe/+a1Hv/ntR7/57Uf/+e2\n        IP/ntiH/57cj/+e3JP/ntyb/6Lgn/+i4KP/ouSr/6Lks/+i6Lf/oui//6Low/+i6Mf/ouzL/6Lo0/+i6\n        Nf/oujb/6Lo3/+i6OP/oujj/57k4/+e5Of/nuTn/57k5/+e5OP/nuTj/6Lk4/+i5N//oujb/6Lo1/+i6\n        NP/oujP/6Loy/+i6Mf/oui//6Lou/+i5Lf/ouSv/6Lkp/+i5KP/ouCf/57cm/+e3JP/ntyP/57Yi/+e2\n        IP/ntR//57Ue/+e1Hv/ntR7/57Ue/+e1H//ntSD/57Yi/+e3Jf/ouCf/6Lor/+m6L//pvDT/6b05/+m+\n        P//pvkT/6b1I+Oi9SFHovkgA6sFIAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvC\n        SQDrwkkA68JJAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AOe6RgDnukYA57pGAOe6RgDnukYA57pGAOe6RgDnukYA57pGAOe6\n        RgDnukYA57pGAOe5RQDmt0UA5bZGAOa2RiXnt0bc57lB/+i7PP/ouzf/6Loy/+i6Lv/ouCr/57gn/+e4\n        JP/ntyH/57Yg/+e2H//mtR7/5rUe/+e2Hv/nth//57Yh/+e3Iv/ntyT/57gm/+e4J//ouSj/6Loq/+i6\n        Lf/oui//6Lsw/+i7Mv/ouzT/6Ls2/+i7OP/ouzn/6Lo6/+e5Of/mtzf/5rU1/+a1Nv/mtTj/5rQ5/+a0\n        Of/mtDn/5bQ4/+W0Nv/ltDX/5rU1/+a3N//nuDn/6Lk5/+i6OP/oujf/6Lo1/+i6M//oujH/6Low/+i6\n        Lv/ouSz/6Lkq/+i5KP/nuCf/57gl/+e3I//ntyL/57Yg/+e2H//nth7/5rUe/+a1Hv/nth//57Yg/+e3\n        Iv/nuCT/57gn/+i6Kf/oui7/6bsy/+m9N//pvT3/6b1C/+m9R/jovUlR6L1IAOi+SADqwUgA68JJAOvC\n        SQDrwkkA68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A57pFAOe6\n        RQDnukUA57pGAOe6RgDnukYA57pGAOe6RgDnukYA57pGAOe6RgDnukYA57lFAOa3RQDltkYA5rZGAOa2\n        RyXmuETc57k+/+i7Ov/ouzb/6Lox/+i6Lf/ouSn/57km/+e4JP/ntyH/57cg/+a2H//mth//57cf/+e3\n        IP/ntyL/57gk/+e4Jv/nuSj/6Lop/+i6LP/oui//6Lsw/+i7Mv/ovDX/6Lw3/+i7Ov/ouzv/57k6/+a2\n        N//mtjr/57pJ/+rBX//tyXb/78+J//HUl//y16H/8tij//LYo//x1pz/8NGR/+7Mgf/rxGv/6L1U/+a2\n        QP/ltDf/5rY3/+e5Ov/oujr/6Ls4/+i7Nv/ouzT/6Lsx/+i7L//oui7/6Lkr/+e5Kf/nuSf/57gl/+e4\n        I//ntyL/57cg/+a2H//mth//5rYf/+e3IP/ntyH/57gk/+e4Jv/ouin/6Lst/+i7Mf/ovTb/6b07/+m9\n        QP/ovUX46L1JUei9SQDovUgA6L5IAOrBSADrwkkA68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvC\n        SQDrwkkA68JIAOvCSAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wDpvEsA6bxLAOi7SgDnukcA57pFAOe6RgDnukYA57pGAOe6\n        RgDnukYA57pGAOe6RgDnuUUA5rdFAOW2RgDmtkYA5rZHAOa3RSXnuELc6Lo9/+m7Of/puzT/6bow/+m5\n        LP/nuSj/6Lgm/+i3JP/otyL/57ch/+e3If/otyL/6Lcj/+i4JP/nuCb/57ko/+i6Kv/pui3/6bow/+m7\n        Mv/pvDX/6bw4/+m8O//ovDz/57k6/+e3Ov/ovE//7cl2//LXn//14br/9+bI//jozf/46M3/+OjM//jn\n        y//458v/+OfL//jnzP/46M3/+OjN//jny//35MP/9N2v/+/QjP/qwWH/5rZA/+a0N//nuDv/6Lo7/+i7\n        Of/ouzf/6Ls0/+i7Mf/oui//6bos/+i5Kf/nuCf/6Lgm/+i4I//otyL/57ch/+e2If/ntyH/6Lci/+i3\n        JP/ouCb/57ko/+m6LP/puzD/6bw0/+m9Of/pvT7/6b1D+Oi9R1HovUkA6L1JAOi9SADovkgA6sFIAOvC\n        SQDrwkkA68JJAOvCSQDrwkkA68JJAOvCSQDrwkkA68JJAOvBSwDrwUwA68FMAP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AO3D\n        WgDtw1oA7MFXAOq+UwDpu00A57pHAOe6RQDnukYA57pGAOe6RgDnukYA57pGAOe5RQDmt0UA5bZGAOa2\n        RgDmtkcA5rdFAOe3QyXouj/c6bs7/+m8Nv/puzL/6bsu/+m6K//ouSj/6Lkm/+i4JP/ouCP/6Lgj/+i4\n        JP/ouCX/6Lkn/+i5Kf/puiv/6bsv/+m7Mv/pvDT/6b03/+m9Ov/pvD3/6Lo8/+e4O//rwVv/8dOU//bi\n        v//46M7/+OfN//fmyf/35cb/9+XG//flxv/35cb/9+XG//flxv/35cb/9+XG//flxv/35cb/9+XG//fm\n        x//458v/+OjO//fmyv/03K7/7ch4/+e4Rv/mtTj/6Lo8/+m7O//pvDj/6bw1/+m7Mv/puzD/6bot/+i6\n        Kv/ouSj/6Lkm/+i4JP/ouCP/6Lgj/+i4I//ouCT/6Lkm/+i5KP/puir/6bsu/+m8M//qvjf/6r48/+q+\n        QvjpvkVR6L1HAOi9SQDovUkA6L1IAOi+SADqwUgA68JJAOvCSQDrwkkA68JJAOvCSQDrw0kA68JJAOq/\n        TADpu08A6btSAOu9VADrvVQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A7cNZAO3DWQDswVcA6r5UAOq8VADpu1EA6LtMAOe6\n        RwDnukUA57pGAOe6RgDnukYA57lFAOa3RQDltkYA5rZGAOa2RwDmt0UA57dDAOi6QSXpuz7c6bw5/+m8\n        Nf/puzH/6bst/+i6Kv/ouSj/6Lkn/+i4Jv/ouCb/6Lkn/+i5KP/ouir/6bst/+m7MP/pvDP/6b02/+m9\n        Of/pvT3/6bw+/+e5Ov/qv1H/8tWV//fmx//46c//+OfJ//fmx//35sf/9+bH//fmx//35sf/9+bH//fm\n        x//35sf/9+bH//fmx//35sf/9+bH//fmx//35sf/9+bH//fmx//35sf/9+bH//jozP/46c//9d+2/+zH\n        cv/mtj7/57g7/+i7Pf/pvDr/6bw3/+m8NP/puzH/6bsv/+i6K//ouSn/6Lkn/+i5Jv/ouCX/6Lgl/+i5\n        Jv/ouSj/6Loq/+m7Lf/pvDH/6b41/+q/Ov/qv0D46r9EUOm+RgDovEcA6L1JAOi9SQDovUgA6L5IAOrB\n        SADrwkkA68JJAOvCSQDrw0gA68JJAOq/TADpu08A6LlRAOm6UQDpvFMA671UAOu9VAD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wDtw1kA7cNZAOzBVwDqvlQA6rxTAOm7UwDpu1MA6btRAOi7TADnukcA57pGAOe6RgDnuUUA5rdFAOW3\n        RgDmt0YA5rdGAOa3RQDnt0MA6LpBAOm8PyLpvjzc6b03/+m8M//pvC//6Lss/+i6Kv/ouin/6Lop/+i6\n        Kf/ouir/6Lsr/+m8Lv/pvDH/6bw0/+m+OP/pvjv/6b4//+m8Pv/ou0D/7sx7//fjwP/56dD/+OfJ//jm\n        x//45sf/+ObH//jmx//45sf/+ObH//jmx//45sf/+ObH//jmx//45sf/+ObH//jmx//45sf/+ObH//jm\n        x//45sf/+ObH//jmx//45sf/+ObH//jmyP/56Mz/+ejO//PZpP/pvlb/5rY5/+i7P//pvDz/6b05/+m9\n        Nv/pvDP/6bsw/+i7Lf/ouir/6Lop/+i6KP/ouij/6Lop/+i6Kv/ouyz/6bww/+m9M//qvzj/6sE99erB\n        QlDqv0QA6b5GAOi8RwDovUkA6L1JAOi9SADovkgA6sFIAOvCSQDrwkkA68JJAOq/TADqu1AA6LpRAOi5\n        UADouVAA6bpRAOm8UwDrvVQA671UAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AO3DWQDtw1kA7MFXAOq+VADqvFMA6btSAOm7\n        UgDpu1IA6btTAOm8TgDrv0EA679CAOu/QgDrv0IA679CAOu/QgDrv0IA679CAOu/QQDrv0EA679BCOq/\n        PtDqvjn/6r01/+q8Mv/puy//6bss/+m6LP/puiv/6bos/+m7Lf/pvDD/6r0y/+q9Nv/qvjn/6r48/+q/\n        Qf/pvD7/6r9O//PYnv/56dD/+OfM//jmyf/45sn/+ObJ//jmyf/45sn/+ObJ//jmyf/45sn/+ObJ//jm\n        yf/45sn/+ObJ//jmyf/45sn/+ObJ//jmyf/45sn/+ObJ//jmyf/45sn/+ObJ//jmyf/45sn/+ObJ//jm\n        yf/45sn/+enQ//fkwv/tyHL/57c8/+m7P//qvT7/6r07/+q9N//qvDT/6rwx/+m7Lv/puiz/6bor/+m6\n        K//puiv/6bst/+m7L//qvDL/6r42/+u/O//rwT+R68FBAOvAQgDqv0MA6r9EAOq/RQDqv0UA6r9EAOq/\n        RADrwUQA68FFAOvASADpvFEA6blSAOm6UQDoulEA6LlQAOi5UADpulEA6bxTAOu9VADrvVQA////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A7cNZAO3DWQDswVcA6r5UAOq8UwDpu1IA6btSAOm7UgDpu1IA6btSAOvASQDrwkYA68JGAOvC\n        RgDrwkYA68JGAOvCRgDrwkYA68JGAOvCRgDrwUV568BA/+u/O//qvzf/6r00/+m8Mf/pvC//6bwu/+m8\n        Lv/pvC//6rwx/+q9M//qvjb/6r86/+q/Pv/qv0L/6bw+/+vDWf/24LX/+erS//jnyf/458n/+OfJ//jn\n        yf/458n/+OfJ//jnyf/458n/+OfJ//jnyf/458n/+OfJ//jnyf/458n/+OfJ//jnyf/458n/+OfJ//jn\n        yf/458n/+OfJ//jnyf/458n/+OfJ//jnyf/458n/+OfJ//jnyf/458n/+OjN//np0P/w0In/6Lg//+m7\n        QP/qvT//6r48/+q+OP/qvTT/6rwy/+m8MP/pvC7/6bst/+m7Lf/pvC//6rwx/+q+NP/qvjj/6788/+rA\n        QeXrwEUZ68BFAOvARQDrwUQA68FEAOvBRADrwUQA68BEAOvARADrwEQA6rxMAOm6UgDpulIA6bpRAOi6\n        UQDouVAA6LlQAOm6UQDpvFMA671UAOu9VAD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDtw1kA7cNZAOzBVwDqvlQA6rxTAOm7\n        UgDpu1IA6btSAOm7UgDpulIA6r5OAOzFTADsxEwA7MRMAOzETADsxEwA7MRMAOzETADsxEwA7MRMG+vD\n        R+rrwUH/68A9/+q/OP/qvTX/6r0z/+m8Mf/pvDH/6bwx/+m9Mv/qvjT/6r44/+q/O//qwD7/6sBD/+m9\n        P//sxWD/9+S///np0f/458r/+OfK//jnyv/458r/+OfK//jnyv/458r/+OfK//jnyv/458r/+OfK//jn\n        yv/458r/+OfK//jnyv/458r/+OfK//jnyv/458r/+OfK//jnyv/458r/+OfK//jnyv/458r/+OfK//jn\n        yv/458r/+OfK//jnyv/458r/+OjM//nq0//x1JX/6LlD/+m8Qf/qvkD/6r49/+q+Of/qvTb/6r0z/+m8\n        Mv/pvDD/6bww/+m8Mf/qvTP/6r41/+q+Of/qvz3/6r9B/+rARozqwEcA6sBHAOrARwDqwEcA6sBHAOrA\n        RwDqwEcA6sBHAOq/SADpuk8A6btSAOm6UgDpulEA6LpRAOi5UADouVAA6bpRAOm8UwDrvVQA671UAP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AO3DWQDtw1kA7MFXAOq+VADqvFMA6btSAOm7UgDpu1IA6btSAOm7UgDpu08A7MRPAO3G\n        TwDtxk8A7cZPAO3GTwDtxk8A7cZPAO3GTwDtxk2H7cRI/+zCQv/swT3/6786/+u+N//rvjT/6r0z/+q9\n        M//qvTT/6741/+u/OP/rvzz/68A//+vBRP/qv0H/7cZe//flwv/56tH/+OjL//joy//46Mv/+OjL//jo\n        y//46Mv/+OjL//joy//46Mv/+OjL//joy//46Mv/+OjL//joy//46Mv/+OjL//joy//46Mv/+OjL//jo\n        y//46Mv/+OjL//joy//46Mv/+OjL//joy//46Mv/+OjL//joy//46Mv/+OjL//joy//46Mv/+OjM//nr\n        1P/y1ZX/6LlC/+q9Q//qv0H/6789/+q/Of/rvjf/6741/+q9M//qvTP/6r0z/+u+NP/rvjf/6786/+vA\n        Pv/rwEL/679G8Oq+SSLqvkkA6r5JAOq+SQDqvkkA6r5JAOq+SQDqvkkA6btLAOm6TwDpu1IA6bpSAOm6\n        UQDoulEA6LlQAOi5UADpulEA6bxTAOu9VADrvVQA////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A7cNZAO3DWQDswVcA6r5UAOq8\n        UwDpu1IA6btSAOm7UgDpu1IA6btSAOm6TwDqvk4A7MZQAOzGUADsxlAA7MZQAOzGUADsxlAA7MZQGO3F\n        TensxEf/7MND/+vBPv/rwDv/6784/+u/Nv/rvzX/6741/+u/N//rvzn/68A8/+zBQP/rwUT/68BE/+zD\n        VP/24rv/+erT//jozP/46Mz/+OjM//jozP/46Mz/+OjM//jozP/46Mz/+OjM//jozP/46Mz/+OjM//jo\n        zP/46Mz/+OjM//jozP/46Mz/+OjM//jozP/46Mz/+OjM//jozP/46Mz/+OjM//jozP/46Mz/+OjM//jo\n        zP/46Mz/+OjM//jozP/46Mz/+OjM//jozP/46Mz/+OjN//nr1f/w0If/6Lo//+q+RP/rv0H/68A9/+u/\n        Ov/rvzj/6742/+q+Nf/qvzX/6782/+u/Of/rwDv/68A+/+vAQv/qv0b/6r1Kieq+SwDqvksA6r5LAOq+\n        SwDqvksA6r5LAOm9SwDpuU0A6bpPAOm7UgDpulIA6bpRAOi6UQDouVAA6LlQAOm6UQDpvFMA671UAOu9\n        VAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wDtw1kA7cNZAOzBVwDqvlQA6rxTAOm7UgDpu1IA6btSAOm7UgDpu1IA6bpPAOm6\n        TQDswlAA7cVRAO3FUQDtxVEA7cVRAO3FUQDtxVB17MRM/+zDR//swkP/68E+/+vAO//rvzn/6784/+u/\n        OP/rvzn/68A6/+vAPf/swUD/7MJE/+vCR//rwUj/9N2m//nr1v/46c7/+OnO//jpzv/46c7/+OnO//jp\n        zv/46c7/+OnO//jpzv/46c7/+OnO//jpzv/46c7/+OnO//jpzv/46c7/+OnO//jpzv/46c7/+OnO//jp\n        zv/46c7/+OnO//jpzv/46c7/+OnO//jpzv/46c7/+OnO//jpzv/46c7/+OnO//jpzv/46c7/+OnO//jp\n        zv/46c7/+OrQ//jq0P/tyG3/6btB/+vARf/rwEH/68A9/+u/O//rvzn/6783/+u/N//rvzj/68A6/+vA\n        PP/rwD//68BD/+u/Rv/qvUnm6bxLFem8SwDpvEsA6bxLAOm8SwDpvEsA6LpLAOi5TQDpuk8A6btSAOm6\n        UgDpulEA6LpRAOi5UADouVAA6bpRAOm8UwDrvVQA671UAP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AO3DWQDtw1kA7MFXAOq+\n        VADqvFMA6btSAOm7UgDpu1IA6btSAOm7UgDpu08A6bpNAOq8TQDtxFEA7cRRAO3EUQDtxFEA7cRRBO3E\n        T9DsxEr/7cNG/+zDQv/swj//7ME8/+zAO//swDr/7MA6/+zAO//swT3/7MJA/+zDRP/sw0n/7MFF//HU\n        iP/569f/+enP//npz//56c//+enP//npz//56c//+enP//npz//56c//+enP//npz//56c//+enP//np\n        z//56c//+enP//npz//56c//+enP//npz//56c//+enP//npz//56c//+enP//npz//56c//+enP//np\n        z//56c//+enP//npz//56c//+enP//npz//56c//+enP//npz//56c//+uvT//flwf/rwFX/6r5E/+zB\n        Rf/swUH/7ME9/+zAPP/swDr/7MA6/+zAOv/swTv/7MA9/+zBP//swUP/68BF/+u+SP/pvExn6bxMAOm8\n        TADpvEwA6bxMAOm7SwDouUsA6LlNAOm6TwDpu1IA6bpSAOm6UQDoulEA6LlQAOi5UADpulEA6bxTAOu9\n        VADrvVQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A7cNZAO3DWQDswVcA6r5UAOq8UwDpu1IA6btSAOm7UgDpu1IA6btSAOm7\n        TwDpuk0A6btLAOvATgDsw1EA7MNRAOzDUQDsw1FC7cRN/+zESf/tw0X/7MNC/+zBP//swT3/7MA8/+zA\n        PP/swTz/7ME+/+zCQP/twkT/7cNI/+zDSP/uyWP/+enM//nr0//56tD/+erQ//nq0P/56tD/+erQ//nq\n        0P/56tD/+erQ//nq0P/56tD/+erQ//nq0P/56tD/+erQ//nq0P/56tD/+erQ//nq0P/56tD/+erQ//nq\n        0P/56tD/+erQ//nq0P/56tD/+erQ//nq0P/56tD/+erQ//nq0P/56tD/+erQ//nq0P/56tD/+erQ//nq\n        0P/56tD/+erQ//nq0P/56tD/+u3Z//PZnv/qvUT/7MFI/+zBRf/swUH/7ME+/+zBPf/swDz/7MA8/+zB\n        PP/swT3/7ME//+zBQv/swUX/679I/+q9S8DpvEwA6bxMAOm8TADpvEwA6bpKAOi5SwDouU0A6bpPAOm7\n        UgDpulIA6bpRAOi6UQDouVAA6LlQAOm6UQDpvFMA671UAOu9VAD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDtw1kA7cNZAOzB\n        VwDqvlQA6rxTAOm7UgDpu1IA6btSAOm7UgDpu1IA6btPAOm6TQDpu0wA6r1LAOzCTwDsw08A7MNPAOzD\n        T5TsxEz/7cRI/+zDRf/sw0L/7MI//+zCPf/swT3/7ME9/+zCPv/swkH/7MNE/+3ER//txUv/7MNK//Xd\n        p//67Nn/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq\n        0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq\n        0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tH/+erR//nq0f/56tL/+evU/+7J\n        bP/rv0X/7MJI/+zCRP/swkH/7MI//+zCPf/swT3/7ME9/+zCPv/swUD/7MJC/+zCRf/rwUf/6r5J+eq8\n        SijqvEoA6rxKAOm7SgDpukoA6LlLAOi5TQDpuk8A6btSAOm6UgDpulEA6LpRAOi5UADouVAA6bpRAOm8\n        UwDrvVQA671UAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AO3DWQDtw1kA7MFXAOq+VADqvFMA6btSAOm7UgDpu1IA6btSAOm7\n        UgDpu08A6bpNAOm7TADqvEsA679MAO3CTQDtwk0H7cNM2e3ESv/txEb/7cND/+3DQf/twj//7cI+/+3B\n        Pf/twj7/7cJA/+3DQ//txEb/7sVL/+3ESv/wzm//+ezU//nr0//569L/+evS//nr0v/569L/+evS//nr\n        0v/569L/+evS//nr0v/569L/+evS//nr0v/569L/+evS//nr0v/569L/+evS//nr0v/569L/+evS//nr\n        0v/569L/+evS//nr0v/569L/+evS//nr0v/569L/+evS//nr0v/569L/+evS//nr0v/569L/+evS//nr\n        0v/569L/+evS//nr0v/569L/+evS//nr0v/67dn/9d+u/+u/Sv/swkr/7cNH/+3DRP/twkH/7cI//+3B\n        Pf/twT3/7cI+/+3CQP/twkH/7MJE/+zBRv/rv0j/6r1Kbuq9SgDqvEkA6btJAOm6SgDouUsA6LlNAOm6\n        TwDpu1IA6bpSAOm6UQDoulEA6LlQAOi5UADpulEA6bxTAOu9VADrvVQA////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A7cNZAO3D\n        WQDswVcA6r5UAOq8UwDpu1IA6btSAOm7UgDpu1IA6btSAOm7TwDpuk0A6btMAOq8SwDrvksA7MFLAOzC\n        TDbtw0r/7cRI/+3DRf/tw0L/7cNA/+3CP//twj//7cI//+3CQP/tw0P/7cRF/+7FSf/uxk3/7cVN//bf\n        qf/67dv/+evT//nr0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr\n        0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr\n        0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr0//569P/+evT//nr\n        1P/57Nb/78pu/+zBSP/tw0r/7cRG/+3DQ//tw0L/7cI//+3CP//twj//7cJA/+3CQf/twkL/7MJF/+zB\n        R//rv0iz675IAOq9SADpu0kA6bpKAOi5SwDouU0A6bpPAOm7UgDpulIA6bpRAOi6UQDouVAA6LlQAOm6\n        UQDpvFMA671UAOu9VAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wDtw1kA7cNZAOzBVwDqvlQP6rxTLem7UjDpu1Iv6btSL+m7\n        Ui/pu1Iv6btPL+m6TS/pu0wv6rxLL+u+Sy/rwUoj7MJKh+zDSP/sw0X/7cND/+3DQv/sw0D/7MM//+zD\n        P//twkD/7cNC/+3ERf/txUj/7sZM/+7GTf/wzWf/+evR//ns1//57NX/+ezV//ns1f/57NX/+ezV//ns\n        1f/57NX/+ezV//ns1f/57NX/+ezV//ns1f/57NX/+ezV//ns1f/57NX/+ezV//ns1f/57NX/+ezV//ns\n        1f/57NX/+ezV//ns1f/57NX/+ezV//ns1f/57NX/+ezV//ns1f/57NX/+ezV//ns1f/57NX/+ezV//ns\n        1f/57NX/+ezV//ns1f/57NX/+ezV//ns1f/57NX/+ezV//rv3f/026P/68BJ/+3ETf/txEr/7cRF/+3D\n        Q//tw0H/7MI//+zDP//swz//7cJA/+3CQf/swkP/7MJF/+zAR+nrv0c66r1ILOm7SS/pukov6LlLL+i5\n        TS/puk8v6btSL+m6Ui/pulEv6LpRL+i5UC/ouVAv6bpRGem8UwDrvVQA671UAP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AO3D\n        WQDtw1kA7MFXcuu/VejqvlT+6r5U/eu+Vf3rv1X9675U/eu9Uf3qvU/96r1N/eu9S/3rvkv97MBK/ezB\n        Sf3twkf+7cNG/+3DRP/tw0L/7cNA/+zDQP/swkD/7MNA/+3DQv/uxET/7sVH/+7GS//vx1D/7sZN//TZ\n        kv/7797/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt\n        1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt\n        1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt1v/67db/+u3W//rt\n        1v/67db/+u7Z//npzP/uxlz/7cRN/+7FTP/uxEn/7sRF/+7EQ//sw0H/7MNA/+zCQP/sw0D/7cJA/+3C\n        Qv/twkT/7cJF/+zAR/7rv0j9675J/eq8S/3qvEv96rxM/eq9T/3rvVH9675T/eu+Vf3qvVT96rxT/em7\n        Uv7pulL06rtTm+u9VA3rvVQA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A7sZbA+7FWmvtw1n/7MNY/+3EWv/txVr/7cVZ/+3E\n        Vv/tw1P/7cJR/+zCT//swkz/7cJL/+3CSv/tw0j/7cNH/+3DRv/uw0P/7cNC/+3DQf/tw0D/7cNA/+3D\n        QP/tw0H/7cRD/+7FRv/uxkn/78dN/+/JUf/vyVX/+OW6//rv3f/67df/+u3X//rt1//67df/+u3X//rt\n        1//67df/+u3X//rt1//67df/+u3X//rt1//67df/+u3X//rt1//67df/+u3X//rt1//67df/+u3X//rt\n        1//67df/+u3X//rt1//67df/+u3X//rt1//67df/+u3X//rt1//67df/+u3X//rt1//67df/+u3X//rt\n        1//67df/+u3X//rt1//67df/+u3X//rt1//67df/+u3X//rt1//67df/++/d//HRf//tw0v/7sZO/+7F\n        Sv/uxUf/7sRE/+3EQv/tw0H/7cNA/+3DQP/twkD/7cJA/+3DQv/tw0T/7cJG/+3CR//swkj/7MFJ/+zB\n        S//swUz/7MJP/+3CUf/tw1T/7cRW/+3EWP/sw1j/7MJX/+u/Vv/rvVT/675Vpeu/VgP///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wDvyV5D78hd1O7HXP/uyFz/7shd/+7IW//ux1f/7sdV/+7GUv/uxU//7cRN/+3ES//txEn/7cNI/+3D\n        R//txEX/7cND/+3DQv/tw0H/7cNA/+3DP//twz//7cNA/+3DQv/txEX/7sVH/+7GS//uyE//78lR//HP\n        af/67NT/+u/b//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru\n        2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru\n        2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru2f/67tn/+u7Z//ru\n        2f/67tn/+u7Z//ru2f/78OH/9d2k/+3DTf/uxlD/7sZM/+7FSf/uxUb/7cRD/+3DQf/tw0D/7cM//+3D\n        P//twkD/7cNB/+3DQ//tw0T/7cNG/+3DR//tw0j/7cNJ/+3ES//txE3/7sVP/+7GUf/uxlT/7sdX/+7G\n        Wf/uxlv/7MRb/+zCWP/rwFf768FXRf///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////APDMYWLwy2Du8Mtf//DLX//vylz/78lZ/+/J\n        Vv/vyFP/7sdQ/+7GTf/uxUv/7sVJ/+7ER//uxEb/7sRE/+7EQ//tw0L/7cNB/+7DP//uwz//7sM//+7D\n        P//uw0H/7sRD/+7FRv/vxkn/78dN//DJUv/wyFH/89aC//rw3//67tr/+u7a//ru2v/67tr/+u7a//ru\n        2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//ru\n        2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//ru\n        2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//ru2v/67tr/+u7a//rw3//35sH/7sZV/+/H\n        Uv/vx07/78ZK/+/FSP/uxEX/7sRC/+7DQP/uwz//7sM//+7DP//uw0D/7sNB/+3DQv/uxET/7cRF/+7E\n        Rv/uxEf/7sRJ/+7FS//uxk3/7sdQ/+/HUv/vyFX/78hY/+/IWv/uyF3/7sZc/+zDWv/swlll////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A8c5jZPHOY+/wzWL/8Mxg//DLW//wylf/8MlU/+/IUf/vx07/78ZL/+/FSf/uxUf/7sRF/+7E\n        RP/uw0P/7sNC/+7DQf/uw0D/7sM//+7DP//uwz//7sNA/+7DQv/uxET/7sVH/+/GSv/vyE//8MpU/+/J\n        Uf/13Zr/+/Hj//rv2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv\n        2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv\n        2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv2//679v/+u/b//rv\n        2//679v/+u/b//rv2//679v/+vDd//ns0//vymT/78dS/+/HUP/vxk3/78VJ/+7ERf/uxEP/7sNB/+7D\n        QP/uwz//7sM//+7DQP/uw0H/7sNB/+7DQv/uxEP/7sRE/+7ERv/uxUf/78VI/+/GS//vx03/78hQ/+/I\n        U//vyVb/78lZ/+/JXP/vyF//7sZd/+3EW2f///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDwzWNj8c9k7/HPY//xzV//8Mta//DK\n        Vv/vyVL/78hP/+/HTP/vxkn/7sVH/+7FRf/uxET/7sRD/+7EQv/uxEL/7sNA/+7DP//uwz//7sM//+7D\n        QP/uw0H/7sRD/+7FRv/uxkn/78dN/+/JUf/wyVX/78lU//birv/78uT/+vDd//rw3f/68N3/+vDd//rw\n        3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw\n        3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw\n        3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N3/+vDd//rw3f/68N7/+vDe//HQ\n        dP/ux1L/78hS/+/HTv/vxkr/7sZH/+7ERP/uxEL/7sNB/+7DP//uwz//7sM//+7DP//uxEH/7sRC/+7E\n        Qv/uxEP/7sRE/+7ERf/uxUb/78ZJ/+/GS//vx07/78hR/+/JVP/vylj/8Mpc/+/KX//vyF//7sZdZ///\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////APDMY2PxzWTv8c5i//HNXv/xzFn/8MpV//DJUf/wyE7/78dL/+/GSP/vxkb/78VE/+/F\n        Qv/vxEL/78RB/+7EQP/uxD//7sM//+7DP//uxD//78RA/+/EQv/vxUP/78ZH/+/HSv/wyE7/8MlS//DK\n        Vv/wylf/+Oa9//vy5P/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw\n        3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw\n        3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78N7/+/De//vw\n        3v/78N7/+/De//vw3v/78N7/+/De//vw3v/78uP/89SC/+/HUv/wyVT/8MhP//DHTP/vx0j/78VF/+/F\n        Q//vxEH/7sQ//+7DP//uwz//7sQ//+7EQP/vxEH/78RC/+/EQv/vxUP/78VE/+/FRv/vxkj/78dK//DI\n        Tf/wyFD/8MlT//DKV//wy1v/8Mtg//DKYf/vyGBn////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A8MtjY/HMZO/xzWL/8cxd//HL\n        Wf/wylT/8MlR//DITf/vx0r/78ZI/+/FRv/vxUT/78RD/+/EQv/uxEH/7sRA/+7DQP/uw0D/7sNA/+7D\n        QP/uxEH/78RD/+/FRf/vxkj/78dL//DIT//wyVP/8MpX//DLXP/56cX/+/Lk//vx3//78d//+/Hf//vx\n        3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx\n        3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx\n        3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//vx3//78d//+/Hf//zz\n        5f/02I3/78dT//DJVf/wyFH/8MhN/+/HSf/vxUb/78VD/+/EQf/uxED/7sNA/+7DQP/uw0D/7sRA/+7E\n        QP/vxEH/78RC/+/EQ//vxUP/78VF/+/GR//vx0r/8MhM//DIUP/wylT/8cpX//HLXP/xzGD/8Mtj/+/K\n        Ymf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wDwy2Rj8cxk7/HNYv/xzV3/8cxZ//DLVv/wyVH/8MhO/+/HS//vxkj/78ZG/+/F\n        Rf/vxUP/7sVC/+7EQv/uxEL/7sRB/+7EQP/uxEH/7sRB/+7FQv/vxUT/78ZG/+/HSf/vyE3/8MlR//DK\n        VP/wy1j/8Mtf//nqyv/78ub/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx\n        4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx\n        4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx\n        4f/78eH/+/Hh//vx4f/78eH/+/Hh//vx4f/78eH//PPo//Tak//vyFT/8MpX//DJU//wyU//78dL/+/H\n        SP/vxUX/78VD/+7EQv/uxEH/7sRA/+7EQf/uxEH/7sRC/+7FQv/uxUL/78VD/+/FRP/vxkb/78dI/+/H\n        Sv/vyE3/8MlQ//DKVf/wy1j/8cxc//DNYf/xzWT/78tjZ////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APDLZGPxzGXv8c1j//HN\n        X//xzFr/8ctX//HJU//wyE//8MhN//DGSv/wxkj/8MZG//DFRf/vxUT/78VD/+/EQ//vxEP/78RC/+/E\n        Q//vxEP/78VE//DFRv/wxkj/8MdL//DITv/xyVL/8cpW//HLWf/xy1//+evK//vz5//78uL/+/Li//vy\n        4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy\n        4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy\n        4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy4v/78uL/+/Li//vy\n        4v/89On/9duU//DJVf/xy1j/8cpU//HJUP/wx03/8MdK//DGR//wxUX/78RD/+/EQ//vxEL/78RD/+/E\n        Q//vxUP/78VD/+/FRP/wxUX/8MZG//DGSP/wxkr/8MdM//DIT//xyVL/8cpV//HMWf/yzV7/8c1i//LO\n        Zv/xzGVn////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A8MtkY/HMZu/xzmX/8c1h//LMXP/xzFj/8ctV//HJUv/wyU//8MhM//DH\n        Sv/wx0j/8MZH//DGRv/wxkX/78ZF/+/FRP/vxUT/78VE/+/FRP/wxkX/8MZH//DHSf/wyEz/8MlP//HK\n        U//xy1f/8cta//DKXf/56sf/+/Xo//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz\n        4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz\n        4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz\n        4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//v16f/12o//8MpX//HLWv/xy1X/8clR//DI\n        Tv/wx0v/8MdI//DGRv/vxkX/78VE/+/FRP/vxUT/78ZF/+/GRf/wxkb/8MZG//DGR//wx0j/8MdK//DI\n        S//wyU7/8MlR//HKVP/xzFj/8c1c//LOYP/yz2T/8s9o//HNZmf///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDvymRj8Mtl7/HN\n        Zv/xzWL/8c1f//HMW//xy1f/8ctU//DKUv/wyU//8MhN//DIS//wyEr/8MhJ//DHSP/wx0j/8MdH/+/H\n        Rv/vxkb/78dG//DHR//wx0j/8MhK//DJTf/wylD/8cpT//HLV//wy1v/8Mpa//jnv//89ev/+/Pl//vz\n        5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz\n        5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz\n        5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz5f/78+X/+/Pl//vz\n        5f/78+X/+/Tq//TYh//xy1n/8cxa//HLVv/xylL/8MlP//DITP/wyEr/8MdI/+/HRv/vxkb/78ZG/+/H\n        Rv/wx0f/8MdI//DHSf/wyEn/8MhK//DIS//wyE3/8MlO//DKUf/xylT/8cxX//HNWv/yzl7/8s9j//LR\n        aP/y0Gr/8s9oZ////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AO/IZGPwymXv8c1n//HNZP/yzWH/8s1e//HMW//yy1j/8spV//HJ\n        Uv/xyVD/8clP//HITf/xyEz/8chL//HIS//xyEr/8cdJ//DHSf/wx0n/8cdJ//HHS//xyE3/8clP//HK\n        Uv/xylX/8stY//HLXP/wyVn/9+Ox//327v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z0\n        5v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z0\n        5v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z0\n        5v/89Ob//PTm//z05v/89Ob//PTm//z05v/89Ob//PTm//z05//89OX/9NV7//LMW//yzVv/8sxX//HK\n        VP/xyVH/8chO//HITP/xx0r/8cdJ//DHSf/wx0n/8cdJ//HIS//xyEv/8chM//HITf/xyE3/8clP//HJ\n        UP/xyVL/8cpU//LLV//yzFr/8s1d//POYf/zz2b/89Fr//PSbP/z0Wtn////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A78hjZO/J\n        ZO/xy2f/8c1n//LNZP/yzWL/8c1f//HMXP/yzFn/8ctX//HKVf/xylP/8clS//HJUf/xyU//8chO//HI\n        Tf/xyE3/8chM//HITP/xyEz/8clN//HJTv/xylD/8ctT//HLVv/yzFn/8cxd//DJWP/23Zz//fbv//z0\n        5//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z0\n        5//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z0\n        5//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z05//89Of//PTn//z0\n        5//89Of//PXq//vx3P/00m7/8s5f//LNXf/yzFj/8ctU//HKUf/xyU//8clN//HITP/xyEz/8chM//HI\n        TP/xyU3/8clO//HJT//xyVD/8clR//HKUv/xylP/8cpV//HLV//yy1n/8s1c//LNX//yzmL/8s9l//LQ\n        af/z0Wz/89Fs//PSbWf///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wDvxmJg78Zi7e/JZP/xzGf/8c1n//HNZP/yzWL/8c1g//HM\n        Xv/xzFv/8ctZ//HKV//xylX/8MpU//DKU//wyVL/8clR//HJT//xyU//8clO//HJTv/xyk//8clQ//HK\n        Uv/xylX/8ctW//LMWv/xzF3/8Mpa//PVhP/89u3//PXq//z16f/89en//PXp//z16f/89en//PXp//z1\n        6f/89en//PXp//z16f/89en//PXp//z16f/89en//PXp//z16f/89en//PXp//z16f/89en//PXp//z1\n        6f/89en//PXp//z16f/89en//PXp//z16f/89en//PXp//z16f/89en//PXp//z16f/89en//PXp//z1\n        6f/89en//PXp//z16f/89en//PXp//z16f/89en//PXp//z16f/89+//+u3K//PQZP/yz2H/8s5d//LM\n        Wf/xy1b/8cpT//HKUf/xyU//8cpO//HJTv/xyU//8cpQ//HJUP/xyVH/8cpT//DKVP/xylX/8cpW//HK\n        V//xy1n/8ctb//HMXv/xzWD/8s1i//LOZf/yz2j/8s9r//LPav/yz2r/89BsY////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AO/G\n        YjDvxWHA78Zi/+/IZP/xy2f/8cxn//HMZf/xzGP/8sxh//HLXv/xylz/8cpa//HKWf/xylj/8cpW//HK\n        Vv/xylT/8cpT//LKUv/yylH/8spR//LKUf/yy1L/8stT//LLVf/yzFj/8sxa//LNXf/yy13/8s5s//vy\n        3//89+3//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z2\n        6v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z2\n        6v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z26v/89ur//Pbq//z2\n        6v/89ur//Pbq//z48v/45a7/885f//PPYv/zzl3/8sxa//LMVv/yy1T/8stT//LKUf/yylH/8spR//LL\n        Uv/yylP/8spU//HKVv/xylf/8spX//LKWP/xylr/8cpa//HKXP/xy17/8sxg//LNY//yzWb/8s1o//LN\n        af/yzWn/8cxo//LNae/yz2o0////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A78VhAO/EYUPuw2D57sRg/+/GYv/wx2T/8Mll//DJ\n        ZP/wyWL/8Mhg//DIXf/wx1z/8Mha//DIWv/xyVn/8cpY//HKWP/xy1b/8stV//LLVP/yy1T/8stT//LL\n        U//yzFX/8sxW//LNWf/zzVv/8s1e//LNYP/xyV3/+OnB//348v/89uv//Pbr//z26//89uv//Pbr//z2\n        6//89uv//Pbr//z26//89uv//Pbr//z26//89uv//Pbr//z26//89uv//Pbr//z26//89uv//Pbr//z2\n        6//89uv//Pbr//z26//89uv//Pbr//z26//89uv//Pbr//z26//89uv//Pbr//z26//89uv//Pbr//z2\n        6//89uv//Pbr//z26//89uv//Pbr//z26//89uv//Pbr//z26//89uz//Pfv//bbi//zz2H/89Bi//PO\n        Xf/yzVr/8s1X//LMVf/yzFT/8stT//LLU//yzFT/8sxV//LLVv/yzFj/8stZ//LKWv/xyVr/8Mlb//DI\n        W//wyFz/8Mhe//DIYP/xyWL/8cpk//DKZv/wymf/8Mll//DJZf/wyWX/8ctoevLMaQD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wDvxGEA78RhAO7DYDztwV607cFe2e3CXtvuwmDa7sNg2u7EYNruw1/a7sNd2u7DW9ruw1ra78Ra2u/G\n        Wtrwx1rY8cla7fHLWv/xy1n/8sxY//LMV//yzFb/8sxW//LMV//yzFj/8s1a//LNXP/zzV7/8s1h//HJ\n        W//125b//vn0//337f/99+3//fft//337f/99+3//fft//337f/99+3//fft//337f/99+3//fft//33\n        7f/99+3//fft//337f/99+3//fft//337f/99+3//fft//337f/99+3//fft//337f/99+3//fft//33\n        7f/99+3//fft//337f/99+3//fft//337f/99+3//fft//337f/99+3//fft//337f/99+3//fft//33\n        7f/99+3//fft//348f/78tv/89Jt//PQZP/z0GL/885e//LNW//yzVn/8sxX//LMV//yzFb/8sxX//LM\n        WP/yzFn/8sxb//LMXP3xylzd8Mlc2e/HXNrvxVva78Rb2u7DXNruw13a7sRf2u/EYdrvxGLa78Rh2u7E\n        YdruxGHb78Vixe/HZV7xy2cA8ctoAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AO/EYQDvxGEA7sJgAO3BXgDtwV0F7cFdB+3B\n        XQftwV4H7cJfB+7CXwfuwl0H7cFbB+7BWQfuw1kH7sVaB/DHWgDwyVxm8spc//LMXP/yzFv/881a//PN\n        Wf/zzVj/881Y//PNWf/zzlv/885c//POX//zzmH/8sxg//LObf/88+L//fjx//337v/99+7//ffu//33\n        7v/99+7//ffu//337v/99+7//ffu//337v/99+7//ffu//337v/99+7//ffu//337v/99+7//ffu//33\n        7v/99+7//ffu//337v/99+7//ffu//337v/99+7//ffu//337v/99+7//ffu//337v/99+7//ffu//33\n        7v/99+7//ffu//337v/99+7//ffu//337v/99+7//ffu//337v/99+7//vn2//jlr//zz2H/9NBl//TQ\n        Yf/zz17/885c//PNWv/zzVj/881Y//PNWP/zzVr/881b//PNXP/zzV7/8sxg3fHKXxDwyVwE78dcB+7E\n        Wwfuw1sH7cJcB+7CXQfuw18H7sNfB+7DXwfuw18H7sNfB+7EYAbvxWIB78dlAPHLZwDxy2gA////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A78RhAO/EYQDuwmAA7cFeAO3BXQDtwV0A7cFdAO3BXgDtwl8A7sJfAO7CXQDtwVsA7sFZAO7D\n        WQDuxVoA8MdcAPHHXinxyV/68sxf//PNXv/zzl3/885b//POW//zzlr/885b//POW//zzl3/889f//PO\n        Yf/zzmP/8clc//jjsP/++/j//fjv//347//9+O///fjv//347//9+O///fjv//347//9+O///fjv//34\n        7//9+O///fjv//347//9+O///fjv//347//9+O///fjv//347//9+O///fjv//347//9+O///fjv//34\n        7//9+O///fjv//347//9+O///fjv//347//9+O///fjv//347//9+O///fjv//347//9+O///fjv//34\n        7//9+O///fjv//358f/99+z/9dZ9//PQZP/00GX/9NBi//PPX//zz1z/881b//POWv/zzlr/885b//PP\n        Xf/zz17/885g//POYv/yzWOi8sxjAPHJXQDvx1sA7sRbAO7DWwDtwlwA7sJdAO7DXwDuw18A7sNfAO7D\n        XwDuw18A7sRgAO/FYgDvx2UA8ctnAPHLaAD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wDvxGEA78RhAO7CYADtwV4A7cFdAO3B\n        XQDtwV0A7cFeAO3CXwDuwl8A7sJdAO3BWwDuwVkA7sNZAO/FXADwx2AA8MdgAfHIYMzyzGH/885h//PO\n        X//zzl7/889d//POXP/zzlz/885d//PPXf/zz1//889h//POY//yy2D/8tB2//z26//9+fP//fjw//34\n        8P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fjw//34\n        8P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fjw//34\n        8P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fjw//348P/9+PD//fv5//npvP/zz2P/89Fn//TQ\n        ZP/z0GH/889f//PPXf/zzlz/885c//POXP/zz17/889g//TPYv/z0GT/889l//LNZl7yzWYA8sxkAO/H\n        XADuxFsA7sNbAO3CXADuwl0A7sNfAO7DXwDuw18A7sNfAO7DXwDuxGAA78ViAO/HZQDxy2cA8ctoAP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AO/EYQDvxGEA7sJgAO3BXgDtwV0A7cFdAO3BXQDtwV4A7cJfAO7CXwDuwl0A7cFbAO3B\n        WQDuw1oA8MdhAPDIYgDwyGIA8chifvLLY//zzmP/9M9i//PPYP/0z17/9M9e//TPXf/0z13/9M9e//TP\n        X//0z2H/9M9j//POZf/xyV3/9+Kv//78+//9+fH//fnx//358f/9+fH//fnx//358f/9+fH//fnx//35\n        8f/9+fH//fnx//358f/9+fH//fnx//358f/9+fH//fnx//358f/9+fH//fnx//358f/9+fH//fnx//35\n        8f/9+fH//fnx//358f/9+fH//fnx//358f/9+fH//fnx//358f/9+fH//fnx//358f/9+fH//fnx//35\n        8f/9+fH//fnx//369P/89+z/9dZ8//TQZf/10Wb/9NFk//TQYf/0z1//9M9d//TPXf/0z13/9M9e//TQ\n        YP/00GL/9NBl//TRZ//00Gnt889pGvPPaQD0z2oA8stjAO7EWgDuw1sA7cJcAO7CXQDuw18A7sNfAO7D\n        XwDuw18A7sNfAO7EYADvxWIA78dlAPHLZwDxy2gA////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A78RhAO/EYQDuwmAA7cFeAO3B\n        XQDtwV0A7cFdAO3BXgDtwl8A7sJfAO7CXQDtwVoA7sJZAO/GYADwx2QA8MdkAPDHZADwx2Qv8spk/PPN\n        Zf/0z2T/9M9j//TPYf/0z1//9M9f//TPX//0z1//9M9g//TPYf/00GP/9M9l//LMYv/yzGz//PPh//37\n        +P/9+fP//fnz//358//9+fP//fnz//358//9+fP//fnz//358//9+fP//fnz//358//9+fP//fnz//35\n        8//9+fP//fnz//358//9+fP//fnz//358//9+fP//fnz//358//9+fP//fnz//358//9+fP//fnz//35\n        8//9+fP//fnz//358//9+fP//fnz//358//9+fP//fnz//358//9+fP//vz8//jjq//zzmP/9NFp//XR\n        Zf/00GP/9NBh//TPX//0z17/9M9e//TPX//00GD/9NBi//TRZP/10Wf/9NFq//TRbKr00GwA9NBsAPTQ\n        bAD00G0A8MdfAO7CWgDtwlwA7sJdAO7DXwDuw18A7sNfAO7DXwDuw18A7sRgAO/FYgDvx2UA8ctnAPHL\n        aAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wDvxGEA78RhAO7CYADtwV4A7cFdAO3BXQDtwV0A7cFeAO3CXwDuwl8A7sJdAO3B\n        WgDuw10A8chmAPHIZQDxyGUA8chlAPHIZQDxyWW78s1m//PPZv/00GT/9NBi//TQYf/00GD/9NBf//TQ\n        X//00GD/9NBh//PQY//00GT/889m//HKXv/0147//vv4//779f/++vT//vr0//769P/++vT//vr0//76\n        9P/++vT//vr0//769P/++vT//vr0//769P/++vT//vr0//769P/++vT//vr0//769P/++vT//vr0//76\n        9P/++vT//vr0//769P/++vT//vr0//769P/++vT//vr0//769P/++vT//vr0//769P/++vT//vr0//76\n        9P/++vT//vr0//78+//78dX/89Fs//TQaP/00Wj/9NFl//TRYv/00GH/9NBf//TQX//00F//9NBg//TR\n        Yv/00mT/9dJn//XSav/00m3/9NJvTfTSbwD00m8A9NJvAPTTcADzz2sA7sNbAO3CXADuwl0A7sNfAO7D\n        XwDuw18A7sNfAO7DXwDuxGAA78ViAO/HZQDxy2cA8ctoAP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AO/EYQDvxGEA7sJgAO3B\n        XgDtwV0A7cFdAO3BXQDtwV4A7cJfAO7CXwDuwlwA7cFaAPHJZQDxymcA8cpnAPHKZwDxymcA8cpnAPHK\n        Z1nyzWf/889n//TQZv/00WT/9dBi//XQYP/10GD/9dBf//XQYP/10GD/9dBi//TQZP/00Gb/885m//HJ\n        Xv/447H///7///769f/++vX//vr1//769f/++vX//vr1//769f/++vX//vr1//769f/++vX//vr1//76\n        9f/++vX//vr1//769f/++vX//vr1//769f/++vX//vr1//769f/++vX//vr1//769f/++vX//vr1//76\n        9f/++vX//vr1//769f/++vX//vr1//769f/++vX//vr1//769f/++/n//vjt//XWgP/0z2b/9dFp//XR\n        Z//00WT/9dFi//XQYP/10F//9dBf//XQYP/10GH/9dFj//XRZv/102n/9tNs//TUcNP003IH9NNyAPTT\n        cgD003IA9NNyAPXUcwDwyWQA7cFaAO7CXQDuw18A7sNfAO7DXwDuw18A7sNfAO7EYADvxWIA78dlAPHL\n        ZwDxy2gA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A78RhAO/EYQDuwmAA7cFeAO3BXQDtwV0A7cFdAO3BXgDtwl8A7sJfAO3B\n        XADwxWEA88xqAPPLaQDzy2kA88tpAPPLaQDzy2kA88tpCfPNadb0z2n/9dFo//TRZv/10WP/9dFh//XR\n        Yf/10GD/9dBg//XRYP/10GL/9dFk//TRZv/10Gf/881l//LKZP/668n///7///779v/++/b//vv2//77\n        9v/++/b//vv2//779v/++/b//vv2//779v/++/b//vv2//779v/++/b//vv2//779v/++/b//vv2//77\n        9v/++/b//vv2//779v/++/b//vv2//779v/++/b//vv2//779v/++/b//vv2//779v/++/b//vv2//77\n        9v/++/b//vz5//78+P/33JT/9M5k//XSa//10mj/9dFl//XRY//10WH/9dBg//XQYP/10GD/9dFh//XR\n        Yv/10mX/9dNo//bUbP/21XD/9tZzbvbWdAD21nQA9tZ0APbWdAD21nQA9tZ1APXUcgDuw14A7sJcAO7D\n        XwDuw18A7sNfAO7DXwDuw18A7sRgAO/FYgDvx2UA8ctnAPHLaAD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDvxGEA78RhAO7C\n        YADtwV4A7cFdAO3BXQDtwV0A7cFeAO3CXwDuwl4A7sNeAPPMagDzzWsA881rAPPNawDzzWsA881rAPPN\n        awDzzWsA885ravTQav/10Wn/9dJn//XSZf/10mP/9dFi//XQYf/10GD/9dFh//XRYf/10WP/9NFl//TR\n        Z//00Gj/88xk//LLav/779T///////779//++/f//vv3//779//++/f//vv3//779//++/f//vv3//77\n        9//++/f//vv3//779//++/f//vv3//779//++/f//vv3//779//++/f//vv3//779//++/f//vv3//77\n        9//++/f//vv3//779//++/f//vv3//779//++/f//vv3//78+v/+/fz/9+Ch//POZP/10mv/9dJq//XS\n        Z//10mT/9dFj//XRYf/10WD/9dFg//XQYf/10WL/9dJk//XTZv/102n/9tRs//bVcd721XQQ9tV0APbV\n        dAD21XQA9tV0APbVdAD21XQA9td1APHLaADtwVsA7sNfAO7DXwDuw18A7sNfAO7DXwDuxGAA78ViAO/H\n        ZQDxy2cA8ctoAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AO/EYQDvxGEA7sJgAO3BXgDtwV0A7cFdAO3BXQDtwV4A7cJfAO3B\n        XgDwyGQA9NFuAPPQbQDz0G0A89BtAPPQbQDz0G0A89BtAPPQbQDz0G0K9dFt1PXSa//10mj/9tJm//bS\n        Y//20WL/9tFh//bRYP/20WH/9tFh//bRYv/20WX/9dFn//XRaP/00Gn/88xk//PMbf/779T///////78\n        +P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78\n        +P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78+P/+/Pj//vz4//78\n        +P/+/fz//v37//fgo//zzWX/9dFs//XSa//10mn/9tJm//bSZP/20WP/9tFh//bRYP/20WD/9tFh//bR\n        Yv/20mT/9tNn//bTav/2023/9dRwbfXUcQD11HEA9dRxAPXUcQD11HEA9dRxAPXUcQD11HEA9dNvAO7E\n        XwDuw14A7sNfAO7DXwDuw18A7sNfAO7EYADvxWIA78dlAPHLZwDxy2gA////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A78RhAO/E\n        YQDuwmAA7cFeAO3BXQDtwV0A7cFdAO3BXgDtwl4A7sJeAPTQawD1028A9dJuAPXTbgD1028A9dNvAPXT\n        bwD1028A9dNvAPXTbwD2029X9tNt//bTav/202f/9tNl//bSY//20mH/9tFh//bRYf/20WH/9tJi//bR\n        Y//20mb/9dJo//XRaf/10Gr/88xl//LLaf/66sX///////79/P/+/Pn//vz5//78+f/+/Pn//vz5//78\n        +f/+/Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn//vz5//78\n        +f/+/Pn//vz5//78+f/+/Pn//vz5//78+f/+/Pn//v7///768v/33Jf/881l//bRbP/202z/9dNq//bS\n        aP/20mX/9tJj//bRYv/20WH/9dFh//XRYf/20WH/9tJj//bTZf/202f/9tNq//bTbcf21G8G9tRvAPbU\n        bwD21G8A9tRvAPbUbwD21G8A9tRvAPbTbgD21G8A8cljAO3BXQDuw18A7sNfAO7DXwDuw18A7sRgAO/F\n        YgDvx2UA8ctnAPHLaAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wDvxGEA78RhAO7CYADtwV4A7cFdAO3BXQDtwV0A7MBcAOzA\n        XADxymgA99d3APfWdgD31nYA99V0APbUcwD21HIA9tRyAPbUcQD21HEA9tRxAPbVcQD21W/B9tRr//bT\n        aP/20mb/9tJj//bRYv/10WH/9dFh//XRYf/20WL/9tJj//bSZf/20mf/9dJp//XSav/10Wv/881n//LJ\n        Y//34Kn//vz4///////+/fr//v36//79+v/+/fr//v36//79+v/+/fr//v36//79+v/+/fr//v36//79\n        +v/+/fr//v36//79+v/+/fr//v36//79+v/+/fr//v36//79+v/+/fr//v36//79+v/+/fr//v78////\n        ///8893/9dWD//PNZf/10m7/9dNt//XTa//202n/9tNm//bSZf/20mP/9dFh//XRYP/10WD/9dFh//bR\n        Yv/20mT/9tJl//bTaP/102r/9dJtm/XSbQD10GwA9c9sAPTPbAD1z20A9c9uAPXPbgD10G8A9tJxAPbS\n        cgD10HEA8MdlAO7CXgDuwl4A7sNfAO7DXwDuxGAA78ViAO/HZQDxy2cA8ctoAP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AO/E\n        YQDvxGEA7sJgAO3BXgDtwV0A7MBbAOy/WwDvxWQA9dN3APrdhAD63YYA+t2GAPrchQD3138A9tR7APbT\n        eQD203cA9dJ1APXTdAD31XUA99Z0TPbWcPL21Wz/9tRp//bTZv/20mT/9dJi//XSYf/10mH/9dJh//XS\n        Yv/20mP/9tNk//bSZv/202j/9dNq//XSa//10Wz/9M9q//LJYP/004P/+/DW///////+/////v37//79\n        +//+/fv//v37//79+//+/fv//v37//79+//+/fv//v37//79+//+/fv//v37//79+//+/fv//v37//79\n        +//+/fv//v37//79+//+/fv//v79///////++/X/+OWy//TPb//0z2j/9tNu//XTbf/11Gz/9tNq//bT\n        Z//202b/9tJk//bSYv/10mH/9dFh//XSYf/10mH/9dJi//bTZP/202b/9tNo//XTa//10mz/9NFsg/TO\n        bADzzGsA8stsAPPLbgDzy28A88xvAPTOcgD20XYA9tJ5APbSeQD203kA9M5yAPDHZgDuwl4A7sJeAO7E\n        YQDvxWIA78dlAPHLZwDxy2gA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A78RhAO/EYQDuwl8A7MBcAOy/WwDvxWMA9dN2APrd\n        hQD734gA+t2GAPrdhQD63YUA+tyEAPfXfwD21HsA9tN5APbTdwD10nUA9dN0APfVdU/31nP399Zv//fV\n        bP/31Gn/99Nn//bSZf/20mP/9tJi//bRYf/20WH/9tJi//bSY//202T/99Nm//fTZ//302n/9tNr//bT\n        bP/20m3/9dBs//PLZP/yymb/99yf//315v/////////////+/f///fz///38///9/P///fz///38///9\n        /P///fz///38///9/P///fz///38///9/P///fz///38///9/P///fz////+///////+/fr/+uzJ//XV\n        gf/0zGX/9dFt//bTb//2027/99Rt//fUa//302n/99Rn//bTZv/20mT/9tJi//bSYf/20WH/9tFh//bS\n        Yv/20mP/9tNl//fTZv/302n/9tNr//bSbP/10Wz/9M5sg/PMawDyy2wA88tuAPPLbwDzzG8A9M5yAPbR\n        dgD20ngA9tJ4APbSeAD203kA9tN5APTOcgDwx2YA7sNgAO/EYQDvx2QA8ctoAPHLaAD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wDvw2AA78NgAO/EYgDwx2YA9dJ2APrdhQD734gA+t2GAPrdhQD63YUA+t2FAPrdhQD63IQA99d/APbU\n        ewD203kA9tN3APXSdQD103VP9tV09/bVcv/31W//99Vs//fUaf/31Gf/9tNl//bTZP/20mL/9tJi//bS\n        Yv/20mL/9tJj//bTZP/202X/99Rn//fUaf/31Gr/9tRr//bUbf/2027/9dJu//XPa//zy2L/88xs//fc\n        nf/88Nj///36/////////////////////v///v3///78///+/P///vz///78///+/P///v3///79////\n        ///////////////////++e//+um///XWhv/0zWf/9dBq//bTcP/21G//9tRv//fUbf/31Gz/99Rp//fU\n        aP/31Gf/9tNl//bTY//20mL/9tJi//bSYv/20mL/9tJi//bTZP/202X/99Rm//fUaf/31Gv/9tNt//XS\n        bf/0z23/88xrg/LLbADzy24A88tvAPPMbwD0znIA9tF2APbSeAD20ngA9tJ4APbSeAD20ngA9tN5APbT\n        eQD0znIA8cloAO/IZQDxy2cA8ctnAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////APfXfAD313wA+duBAPrdhQD734gA+t2GAPrd\n        hQD63YUA+t2FAPrdhQD63YUA+t2FAPrchAD3138A9tR7APbTeQD203cA9dJ1T/bUdff21XP/9tVx//fV\n        b//31Wz/99Rp//bTZ//202b/9tNk//bSY//20mL/9tJi//bSY//20mP/9tNk//bTZv/21Gf/99Ro//fU\n        av/31Gv/9tRs//bUbf/21G7/9tNu//XSbv/00Gz/88pk//LKZ//004L/+OGr//vv0v/9+O7///37////\n        /////////////////////////////////////v7//vv2//314//66sP/99uZ//TQdf/zzGX/9M9q//bT\n        cP/21HD/9tRw//bVb//31W7/99Vs//fUav/31Gn/9tRo//bTZv/202X/9tNk//bSY//20mL/9tJi//bS\n        Yv/20mP/9tNk//bTZv/21Gf/99Ro//fUa//21G3/9tNu//XRbv/0zm3/8sxsg/PLbgDzy28A88xvAPTO\n        cgD20XYA9tJ4APbSeAD20ngA9tJ4APbSeAD20ngA9tJ4APbTeQD20nkA9tF3APXQdAD10HQA////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A+96HAPvehwD63oYA+t2FAPrdhQD63YUA+t2FAPrdhQD63YUA+t2FAPrdhQD63YUA+tyEAPfX\n        fwD21HsA9tN5APbTeE/21Hb399V1//fWdP/31nL/+NZv//jWbP/31Wr/99Rn//fUZv/302X/99Nk//fT\n        Y//302P/99Nj//fTZP/302X/99Rm//fUZ//31Gj/99Vp//jVa//41Wz/99Vt//fVbv/31W//99Rv//bU\n        cP/20m//9dFu//TOaf/zy2P/88tm//TOcv/10oH/9tmT//jfpP/44a3/+eSz//njsf/44ar/99ye//bW\n        i//10nv/9M1t//TMZv/0zmj/9dFu//bTcf/31HH/99Vx//fVcf/31nD/+NVv//jVbf/41Wv/+NVr//fV\n        af/31Gj/99Rn//fUZv/302T/99Nk//fTY//302P/99Nj//fTZP/302X/99Rm//fUZ//31Gn/+NVr//fV\n        bv/31G//9tRx//bScP/0zm//88xug/PLbwDzzG8A9M5yAPbRdgD20ngA9tJ4APbSeAD20ngA9tJ4APbS\n        eAD20ngA9tJ4APbSeAD20ngA9tJ5APbSeQD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD63YUA+t2FAPrdhQD63YUA+t2FAPrd\n        hQD63YUA+t2FAPrdhQD63YUA+t2FAPrdhQD63IQA99d/APbUewD203lP9tR59/fWeP/31nb/99Z0//jW\n        cf/41m7/+NVs//fUav/31Gj/99Rn//fTZf/302X/99Nl//fTZf/302X/99Nl//fTZv/31Gf/99Ro//fU\n        af/31Wr/+NVr//jVbP/41W3/+NVu//jVb//31XD/99Vw//fVcf/31HH/9tRx//bTcP/20m//9dBt//XO\n        av/0zWf/9Mxl//TLZP/0y2T/9Mtk//TMZf/0zWf/9c5p//XQbP/20nD/9tNx//bUcv/31XL/99Vy//fV\n        cv/31XH/+NZw//jWcP/41m7/+NZt//jVbf/41Wv/99Rq//fUaP/31Gj/99Rn//fTZ//302X/99Nl//fT\n        Zf/302X/99Nl//fTZf/31Gf/99Ro//fVav/41Wv/+NVu//fVcP/31XL/99Rz//bSc//0z3L/88xwg/PM\n        bwD0znIA9tF2APbSeAD20ngA9tJ4APbSeAD20ngA9tJ4APbSeAD20ngA9tJ4APbSeAD20ngA9tJ4AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////APrdhQD63YUA+t2FAPrdhQD63YUA+t2FAPrdhQD63YUA+t2FAPrdhQD63YUA+t2FAPrc\n        hAD3138A9tV7T/bWe/f313v/+Nd6//fXd//413T/+Ndx//jWbv/41m3/99Vq//fVaf/31Gj/99Rm//fU\n        Zv/31Gb/99Rm//fUZ//31Gf/99Vo//fVaf/31Wn/99Vr//fVa//41mz/+NZt//jWbv/41m7/+NZv//jW\n        cP/41nH/99Zx//fWcf/31nH/99Vx//bVcf/21XL/9tRx//bUcf/203H/9tNx//bTcf/203H/9tRx//bU\n        cv/21HL/9tVy//fVcv/31XL/99Zy//fWcv/31nL/+NZx//jWcP/41nD/+Ndv//jWbv/41m7/+NZt//jW\n        bP/31Wv/99Vr//fVav/31Wn/99Vo//fUZ//31Gf/99Rn//fUZv/31Gb/99Rm//fUaP/31Wn/99Vq//jW\n        bP/41m7/+NZx//fWc//31nX/99V2//XTdv/00HT/88xwg/TNcgD20XYA9tJ4APbSeAD20ngA9tJ4APbS\n        eAD20ngA9tJ4APbSeAD20ngA9tJ4APbSeAD20ngA////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A+t2FAPrdhQD63YUA+t2FAPrd\n        hQD63YUA+t2FAPrdhQD63YUA+t2FAPrdhQD63YUA+dyEAPjXf0/31373+NmA//jZfv/42Xv/+Nh3//nY\n        df/513L/+dZv//jWbf/41Wv/+NVq//jUaf/41Gj/+NRo//jUaP/41Gj/+NVp//jVav/41Wr/+NVr//jV\n        a//31mz/99Zt//jWbv/41m7/+NZv//nWcP/513D/+ddw//nXcP/51nH/+NZx//jWcf/41nH/+NZy//jW\n        cv/31nL/99Zy//fWcv/31XL/99Vy//fWcv/31nL/99Zy//jWcv/41nL/+NZy//jWcv/41nL/+NZx//nW\n        cf/513H/+ddw//nXcP/513D/+dZw//jWb//41m7/+NZt//fWbf/31mz/99Vs//jVa//41Wr/+NVq//jV\n        af/41Wn/+NRo//jUaP/41Gj/+NVp//jVav/41Wv/+NZt//jWbv/513H/+Ndz//fXdv/413j/99Z5//bU\n        ev/10Hb/9M5zg/bRdgD20ngA9tJ4APbSeAD20ngA9tJ4APbSeAD20ngA9tJ4APbSeAD20ngA9tJ4APbS\n        eAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD63YUA+t2FAPrdhQD63YUA+t2FAPrdhQD63YUA+t2FAPrdhQD63YUA+t2FAPrd\n        hQD63IQ/+duD9/nbg//524P/+dp///nafP/52nj/+dl1//nYcv/413D/+NZu//jWbP/41mv/+NZq//jV\n        av/41Wr/+NZq//jWa//41mv/+NZs//jWbP/41m3/+NZt//jWbv/41m7/+NZv//nXcP/513D/+ddw//nX\n        cf/513H/+dhx//nXcf/513H/+ddx//nXcf/513H/+ddx//nWcf/513H/+ddx//jWcf/41nH/+NZx//nX\n        cf/513H/+ddx//nXcf/513H/+ddx//nXcf/513H/+dhx//nYcf/52HH/+ddx//nXcf/513H/+ddw//nX\n        cP/41m//+NZv//jWbv/41m7/+NZt//jWbP/41mz/+NZr//jWa//41mv/+NVq//jVav/41mr/+NZr//jW\n        bP/41m3/+Ndv//nYcf/52HT/+dh3//jZev/42Xz/+Nh9//fWfP/20nf/9dF2dPbSeAD20ngA9tJ4APbS\n        eAD20ngA9tJ4APbSeAD20ngA9tJ4APbSeAD20ngA9tJ4AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APnchgD53IYA+dyGAPnc\n        hgD53IYA+dyGAPnchgD53IYA+dyGAPnchgD53IYA+dyGAPrdh8L63Yf/+t2H//ndhf/53ID/+dp9//na\n        ef/52Hb/+dhz//jXcf/41m//+NZt//jWbf/41mz/+NZs//jWbP/41m3/+NZt//jWbf/41m7/+NZv//jW\n        b//41nD/+NZw//nWcf/513H/+ddx//nXcv/513L/+dhy//nXcv/513L/+ddy//nXcv/513H/+ddx//nX\n        cf/513D/+ddw//nXcP/513D/+ddw//nXcP/513D/+dZw//nWcP/513D/+ddw//nXcP/513H/+Ndx//nX\n        cf/513L/+ddy//nXcv/52HL/+dhy//nYcv/513L/+ddy//nXcf/51nH/+NZx//jWcP/41nD/+NZv//jW\n        bv/41m3/+NZt//jWbf/41m3/+NZs//jWbP/41m3/+NZt//jWbv/413D/+ddy//nYdf/52Xj/+dl7//ja\n        ff/52oD/+NiB//bWff/21Hvu9tR8HfbUfAD21HwA9tR8APbUfAD21HwA9tR8APbUfAD21HwA9tR8APbU\n        fAD21HwA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A+NqDAPjagwD42oMA+NqDAPjagwD42oMA+NqDAPjagwD42oMA+NqDAPja\n        gwD42oMX+NqD8PnbhP/53Yf/+d2E//ncgf/5237/+dp6//nZd//52HT/+Nhy//jXcP/412//+Ndv//jX\n        b//412//+Ndv//jXb//413D/+Ndx//nXcf/413H/+Ndy//jXcv/413P/+Ndz//jXc//413P/+Nhz//nY\n        c//52HP/+dhz//nYc//52HP/+dhy//jYcv/42HH/+Nhx//jYcf/42HD/+Ndw//jXcP/412//+Ndv//jX\n        b//412//+Ndw//jXcP/42HD/+Nhx//jYcf/42HH/+Nhy//nYcv/52HP/+dhz//nYc//52HT/+dh0//jY\n        dP/413T/+Ndz//jXc//41nP/+NZy//jWcv/413L/+Ndx//jXcP/413D/+Ndv//jXb//412//+Ndu//jX\n        bv/412//+Ndv//jYcf/52HP/+dl2//naef/523z/+dt///ncg//53IX/+NqD//fYgP/32YFI99mBAPfZ\n        gQD32YEA99mBAPfZgQD32YEA99mBAPfZgQD32YEA99mBAPfZgQD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD314AA99eAAPfX\n        gAD314AA99eAAPfXgAD314AA99eAAPfXgAD314AA99eAAPfXgA731n7k+NiA//nahP/524T/+duB//rb\n        fv/62nv/+tl4//rZdv/52HT/+dhy//nYcf/52HH/+dhx//nYcv/52HL/+dhy//nYc//52HT/+dd0//nX\n        dP/51nT/+NZ0//jVdP/41nT/+NZ0//nXdf/513X/+dd1//nYdf/52HX/+th0//nYc//52HP/+dhz//nY\n        cf/513H/+ddx//nXcP/513D/+ddv//nXb//512//+ddv//nXb//512//+ddv//nXcP/513H/+ddx//nY\n        cf/52HL/+dhz//nYdP/62HX/+th1//nYdf/52Hb/+dd2//nXdv/41nT/+NZ0//jVc//41XP/+NVz//jW\n        c//513T/+ddz//nXc//513P/+dhy//nYcf/52HH/+dhx//nYcf/52HL/+dhz//rZdv/62Xj/+tp7//rb\n        fv/63IL/+t2G//reif/63Yj/+tyG//rchjv63IYA+tyGAPrchgD63IYA+tyGAPrchgD63IYA+tyGAPrc\n        hgD63IYA+tyGAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////APbUfAD21HwA9tR8APbUfAD21HwA9tR8APbUfAD21HwA9tR8APbU\n        fAD21HwA9tR8APbUe5H21Xz/+NiB//nagv/524H/+tt///rbfP/62nr/+tp4//radv/52XX/+dl0//nZ\n        dP/52XT/+dl1//rZdf/62Xb/+tl2//nYd//513b/+NZ1//fVdOz31HOq99Ny9vfTc//31HP/99V0//jW\n        df/513b/+dh3//nYd//52Hb/+tl1//nYdP/52HP/+dly//nYcf/52HH/+dhw//nYb//512//+ddv//nX\n        bv/5127/+ddu//nXb//52G//+dhw//nYcf/52HH/+dly//nZc//52HX/+tl2//rZdv/52Xf/+dh4//nY\n        d//41nb/99V1//fUdP/303L/9tJy1vbScWP303LU99Rz//jWdP/513X/+dh2//nYdf/62XX/+dl0//nZ\n        dP/52XT/+dl0//nZdf/62Xb/+tp4//rbev/6233/+tyA//rdg//63of/+t6J//reif/63onJ+t6JBPre\n        iQD63okA+t6JAPreiQD63okA+t6JAPreiQD63okA+t6JAPreiQD63okA////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A9tF5APbR\n        eQD20XkA9tF5APbReQD20XkA9tF5APbReQD20XkA9tF5APbReQD20XkA9tF4CvbReLz21Hz/+NiB//nZ\n        gf/52oD/+dt+//rafP/62nr/+tp4//rad//52nf/+dp3//rad//62nj/+tl5//rZef/52Xn/+dh5//jW\n        d//303X399NzTvbTcwD1z3Az9c5vtfXPb//10HH/9tJz//fUdf/31nb/+Nd3//nYd//52Hb/+dh2//nY\n        df/52HP/+dhy//nYcv/52HD/+ddv//nXb//5127/+ddu//nXbv/5127/+ddv//nXb//52HD/+dhx//nY\n        c//52XP/+dl1//rZdv/62Xf/+dh4//nYeP/413j/99V3//fTdf/20XP/9c9x6fXOb3j20HAL9tJxAPbQ\n        cCX10HHc9tNz//jVdv/513j/+dh4//rZeP/62Xj/+tl3//nad//52nf/+tp4//raef/623r/+tt8//rb\n        fv/63IH/+dyE//nchv/63Ib/+dqF5frbhiz63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9dB2DvXRd7321Xz/+NiA//jagP/524D/+dt+//rbff/623z/+tt7//rb\n        ev/623r/+tt7//rbfP/623z/+dp8//nZfP/313r/99R39/bSdE/30nMA9tNzAPXPcAD0zG0A9MtsPfTL\n        bLD0zW769c9x//bSdP/31Xb/99Z3//nYd//52Hf/+dl2//nZdf/52XP/+dlz//nZcv/52HH/+dhv//nY\n        b//52G//+dhv//nYb//52G//+dhx//nZcv/52XP/+dl0//nadf/62nf/+tp4//nZef/52Hn/99Z5//fV\n        d//20nX/9c9y4vTOb3v0zW8U9M1uAPbQcAD20nEA9tBwAPXObyX1z3Hc9tN1//fWeP/42Hr/+dp7//na\n        e//62nv/+tt6//rbev/623v/+tt8//rbff/63H//+tyB//ncg//524T/+duF//jZguT42YIv+duGAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD10HYA9M91DvXQ\n        d7331H3/+Nd///nZgP/62oD/+tuA//rbf//7237/+9t+//vbfv/7237/+tt///rbf//52X7/+Nh9//jV\n        e/f203dP9tJ0APfScwD203MA9c9wAPTMbQD0y2wA88prAPPKbCv0ymyK9M1v4PbQcv/303X/+NZ3//nX\n        d//62Xj/+tl3//rZdf/62XT/+tlz//rYcv/62HD/+thw//rYb//62G//+thw//rYcP/62HL/+tlz//rZ\n        dP/62nb/+tp3//raef/62Xr/+dh6//jWef/31Hf59tF0vPXPclv0znEN9M1vAPTNbwD0zW4A9tBwAPbS\n        cQD20HAA9M5vAPTNcCX1z3Pc99N3//jWe//52H3/+tp+//rbfv/6237/+9t+//vbfv/723//+tuA//rc\n        gf/624P/+duD//nahP/414Hk99aAL/jYggD524YA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APXQdgD0z3UA9c50DvXQd7331Hz/+dh///nagf/624H/+tyB//rc\n        gf/63IH/+tyB//rcgf/63IH/+dqB//nZgP/4133399R7T/bSdwD20nQA99JzAPbTcwD1z3AA9MxtAPTL\n        bADzymsA88psAPTKbAD0y20K9M1vRvbQcpH303XT+NZ3+vrYef/62nn/+tp3//radf/62nT/+tlz//rZ\n        cv/62XH/+tlx//rZcP/62XH/+tly//rZc//62nT/+tp2//rbeP/623r/+tp7//rafO342Hu399V5b/fS\n        diX20HQA9c9yAPTOcQD0zW8A9M1vAPTNbgD20HAA9tJxAPbQcAD0zm8A9M1wAPXNciX20HTc99R5//jX\n        ff/52n//+tuA//rbgP/63IH/+tyC//rcgv/63IP/+tyD//nbhP/52oT/+NeB5PfWfy/31oAA+NiCAPnb\n        hgD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9dB2APTP\n        dQD1znQA9c50DvXQd7331H3/+NeA//nagv/524P/+tyD//rcg//63IT/+tuE//nbg//52YL/+NeA9/fV\n        fU/303sA9tJ3APbSdAD30nMA9tNzAPXPcAD0zG0A9MtsAPPKawDzymwA9MpsAPTLbQD0zW8A9tByAPfT\n        dAL31Xgt+dh65PrZev/62nr/+tp4//radv/62nX/+tl0//rZcv/62XL/+tly//rZcv/62XP/+tp0//ra\n        dv/62nj/+tt7//vbff/6237/+tp+PPjYewD31XgA99J2APbQdAD1z3IA9M5xAPTNbwD0zW8A9M1uAPbQ\n        cAD20nEA9tBwAPTObwD0zXAA9c5yAPXOdCX10Hfc99R7//jXf//52oH/+duD//rcg//63IT/+tyE//rb\n        hf/524T/+dmE//jXgeT31X4v99Z+APfWgAD42IIA+duGAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD10HYA9M91APXOdAD1znQA9c50DvXQd7331Hz/+NeB//nZ\n        g//52oT/+duF//nbhf/52oT/+NmD//fWgPf31X5P99V9APfTewD20ncA9tJ0APfScwD203MA9c9wAPTM\n        bQD0y2wA88prAPPKbAD0ymwA9MttAPTNbwD1z3EA99R3APjXegb42HvY+tp8//rbfP/623r/+tt4//rb\n        d//62nX/+tp0//rac//62nP/+tpz//radf/623b/+tt4//rbev/63H3/+92A//vdgv363IIu+duBAPjW\n        egD20XUA9tB0APXPcgD0znEA9M1vAPTNbwD0zW4A9tBwAPbScQD20HAA9M5vAPTNcAD1znIA9c90APXP\n        dSX10Hfc99R8//jXgf/52YP/+dqE//nbhf/524X/+dqF//jYg//31n/k99R9L/fVfgD31n4A99aAAPjY\n        ggD524YA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APXQ\n        dgD0z3UA9c50APXPdAD1znQA9M5zDvXPdb320nn/99V9//jXgP/414L/+NeC//jWgP/31H339tR9T/fV\n        fgD31X0A99N7APbSdwD20nQA99JzAPbTcwD1z3AA9MxtAPTLbADzymsA88psAPTKbAD0ymwA9c5wAPfV\n        eQD513wA+dd8B/nYfdn7237/+9x9//vcfP/73Hr/+9t4//vadv/72nX/+9p0//vadP/72nX/+9p2//vb\n        eP/723r/+9x8//vdf//83oL//N6F/fvehy773ocA+96GAPnXfQD2z3MA9c5yAPTOcQD0zW8A9M1vAPTN\n        bgD20HAA9tJxAPbQcAD0zm8A9M1wAPXOcgD1z3QA9c91APXPdCX10Hbc9tN7//fVfv/414H/+NeC//jX\n        gf/31oD/9tR95PbUfC/31H0A99V+APfWfgD31oAA+NiCAPnbhgD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9dB2APTPdQD1znQA9c90APXOdAD0znQA9c1zDvXM\n        c731znX/9tB4//bRef/20Xn/9tF59/bSek721H0A99V+APfVfQD303sA9tJ3APbSdAD30nMA9tNzAPXP\n        cAD0zG0A9MtsAPPKawDzyWsA9MlrAPXPcwD41n0A+Nh/APjXfgD4134H+dl/2fvbgP/73H//+9x9//vc\n        e//723r/+9p4//vadv/72nX/+9p1//vadv/72nf/+9t5//vce//73H7/+92B//zehP/834j9/OCKLvzg\n        igD84IoA/OCLAPrchAD20XYA9MxvAPTNbwD0zW8A9M1uAPbQcAD20nEA9tBwAPTObwD0zXAA9c5yAPXP\n        dAD1z3UA9c90APXNcyX1zXPb9s91//bQeP/20Xn/9tF5//bReeT20nov9tR8APbVfQD31X4A99Z+APfW\n        gAD42IIA+duGAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD10HYA9M91APXOdAD1z3QA9c50APTOdAD1zXMA9MtxDvTMcpD1zHLo9c1z8vXOdcX2z3Y/9tJ6APbU\n        fQD31X4A99V9APfTewD20ncA9tJ0APfScwD203MA9c9wAPTMbQD0y2sA88lpAPTLbwD41HsA+dmCAPnZ\n        gQD52YEA+dmBAPnZgQf52oLZ+9yD//vdgv/73X//+919//vce//73Hn/+9t4//vbd//723f/+9t4//vc\n        ef/73Hv/+919//vegP/73oL//N+F//zfif3734su+9+LAPvfiwD734sA/OCMAPzfigD4134A9c5xAPTM\n        bQD0zW0A9tBwAPbScQD20HAA9M5vAPTNcAD1znIA9c90APXPdQD1z3QA9c1zAPTLcR/0zHKq9cxz7vXO\n        dO/1z3Wy9s93J/bSegD21H0A9tV9APfVfgD31n4A99aAAPjYggD524YA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APXQdgD0z3UA9c50APXPdAD1znQA9M50APXN\n        cwD0y3EA9MxyAPXNcw31znQV9c92AvbPdgD20noA9tR9APfVfgD31X0A99N7APbSdwD20nQA99JzAPbT\n        cwD1z3AA9MtsAPTMbQD20ngA+dmDAPnbhgD52oQA+dqEAPnahAD52oQA+dqEB/nbhdn73YX/+96E//vd\n        gv/73X//+9x9//vce//73Hr/+9t5//vbef/73Hn/+9x7//vcfP/73X//+96C//zehP/83of/+96J/fve\n        iy773osA+96LAPveiwD73osA+9+LAPvfjAD63YgA99V9APXOcAD1z24A9tJxAPbQcAD0zm8A9M1wAPXO\n        cgD1z3QA9c91APXPdAD1zXMA9MtyAPTMcwD1zXQR9c51EvbPdgH2z3cA9tJ6APbUfQD21X0A99V+APfW\n        fgD31oAA+NiCAPnbhgD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9dB2APTPdQD1znQA9c90APXOdAD0znQA9c1zAPTLcQD0zHIA9c1zAPXOdAD1z3YA9s92APbS\n        egD21H0A99V+APfVfQD303sA9tJ3APbSdAD30nMA9tNxAPbRcwD31HsA+dqGAPncigD53IgA+duIAPnb\n        iAD524gA+duIAPnbiAD524gH+tyI2fveiP/83ob/+96E//vegv/73X//+9x9//vcfP/73Hv/+9x7//vc\n        fP/73H3/+91+//vdgf/73oP//N6G//vfif/73or9+t2LLvrdiwD63YsA+t2LAPrdiwD63YsA+t2LAPre\n        jAD6340A+tyJAPjXfwD31HUA9tBvAPTObwD0zXAA9c5yAPXPdAD1z3UA9c90APXNcwD0y3IA9MxzAPXN\n        dAD1znUA9s92APbPdwD20noA9tR9APbVfQD31X4A99Z+APfWgAD42IIA+duGAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD10HYA9M91APXOdAD1z3QA9c50APTO\n        dAD1zXMA9MtxAPTMcgD1zXMA9c50APXPdgD2z3YA9tJ6APbUfQD31X4A99V9APfTewD20ncA9tJ0APfS\n        cwD52YAA+tyKAPrejAD63YsA+t2LAPrdiwD63YsA+t2LAPrdiwD63YsA+t2LAPrdiwf73ovZ/N+K//zf\n        iP/834b//N+E//zegv/83oD//N1+//zdff/83X3//N1+//zef//83oH//N+E//zghv/84In//N+K//zf\n        jP373owu+96MAPvejAD73owA+96MAPvejAD73owA+96MAPvejAD73o0A+9+OAPrdigD20XIA9M5uAPTN\n        cAD1znIA9c90APXPdQD1z3QA9c1zAPTLcgD0zHMA9c10APXOdQD2z3YA9s93APbSegD21H0A9tV9APfV\n        fgD31n4A99aAAPjYggD524YA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APXQdgD0z3UA9c50APXPdAD1znQA9M50APXNcwD0y3EA9MxyAPXNcwD1znQA9c92APbP\n        dgD20noA9tR9APfVfgD31X0A99N7APbSdwD20nMA+NV5APrdjAD63YsA+t2KAPrdigD63YoA+t2KAPrd\n        igD63YoA+t2KAPrdigD63YoA+t2KB/rejNn834z//N+K//zfiP/834b//N+E//zegv/83oH//N6A//ze\n        gP/83oD//N6B//zeg//834b//OCI//zgi//94I7//OCP/fveji773o4A+96OAPvejgD73o4A+96OAPve\n        jgD73o4A+96OAPvejgD73o4A+9+QAPjXfwD0zW0A9M1wAPXOcgD1z3QA9c91APXPdAD1zXMA9MtyAPTM\n        cwD1zXQA9c51APbPdgD2z3cA9tJ6APbUfQD21X0A99V+APfWfgD31oAA+NiCAPnbhgD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9dB2APTPdQD1znQA9c90APXO\n        dAD0znQA9c1zAPTLcQD0zHIA9c1zAPXOdAD1z3YA9s92APbSegD21H0A99V+APfVfQD303sA9tJ3APbS\n        cwD52IMA+tuJAPrbiAD624gA+tuIAPrbiAD624gA+tuIAPrbiAD624gA+tuIAPrbiAD624gH+tyK2fvf\n        jf/834z//OCK//zfiP/834b//N+E//zfg//83oL//N6C//zeg//834T//N+G//zgif/84Iv//eGO//3i\n        kv/84ZL9/OCQLvzgkAD84JAA/OCQAPzgkAD84JAA/OCQAPzgkAD84JAA/OCQAPzgkAD84JEA+9+OAPXP\n        cQD0zW8A9c5yAPXPdAD1z3UA9c90APXNcwD0y3IA9MxzAPXNdAD1znUA9s92APbPdwD20noA9tR9APbV\n        fQD31X4A99Z+APfWgAD42IIA+duGAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD10HYA9M91APXOdAD1z3QA9c50APTOdAD1zXMA9MtxAPTMcgD1zXMA9c50APXP\n        dgD2z3YA9tJ6APbUfQD31X4A99V9APfTewD20ncA99R5APrahwD62oYA+tqGAPrahgD62oYA+tqGAPra\n        hgD62oYA+tqGAPrahgD62oYA+tqGAPrahgf624jZ+t6M//zfjf/84Iv//OCK//zgiP/84If//N+F//zf\n        hf/834X//N+F//zfh//84Ij//OGK//3hjf/94pD//eOU//3klf3945Qu/eOUAP3jlAD945QA/eOUAP3j\n        lAD945QA/eOUAP3jlAD945QA/eOUAP3jlAD95JYA+NiBAPTMbgD1znIA9c90APXPdQD1z3QA9c1zAPTL\n        cgD0zHMA9c10APXOdQD2z3YA9s93APbSegD21H0A9tV9APfVfgD31n4A99aAAPjYggD524YA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APXQdgD0z3UA9c50APXP\n        dAD1znQA9M50APXNcwD0y3EA9MxyAPXNcwD1znQA9c92APbPdgD20noA9tR9APfVfgD31X0A99N7APbS\n        dwD41n8A+diEAPnYgwD52IMA+diDAPnYgwD52IMA+diDAPnYgwD52IMA+diDAPnYgwD52IMA+diDB/nZ\n        hdr63Ir/+t6N//zfjP/834v//OCK//zgif/834f//N+H//zfh//834f//OCI//zgiv/84Yz//OGO//zh\n        kf/84pP//eOU/f3jlS/945UA/eOVAP3jlQD945UA/eOVAP3jlQD945UA/eOVAP3jlQD945UA/eOVAP3j\n        lgD84pIA9c9zAPXNcQD1z3QA9c91APXPdAD1zXMA9MtyAPTMcwD1zXQA9c51APbPdgD2z3cA9tJ6APbU\n        fQD21X0A99V+APfWfgD31oAA+NiCAPnbhgD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9dB2APTPdQD1znQA9c90APXOdAD0znQA9c1zAPTLcQD0zHIA9c1zAPXO\n        dAD1z3YA9s92APbSegD21H0A99V+APfVfQD303oA99N7APjWggD41oIA+NaCAPjWggD41oIA+NaCAPjW\n        ggD41oIA+NaCAPjWggD41oIA+NaCAPjWggD41oIG+NaC1/nZhf/63Ir/+92M//vejP/834v//N+K//zf\n        if/834n//N+J//zfif/834r//N+M//zgjv/84I///OCQ//vfkP/74JH8/OGSLPzhkgD84ZIA/OGSAPzh\n        kgD84ZIA/OGSAPzhkgD84ZIA/OGSAPzhkgD84ZIA/OGSAPzilAD414EA9cxwAPXPdAD1z3UA9c90APXN\n        cwD0y3IA9MxzAPXNdAD1znUA9s92APbPdwD20noA9tR9APbVfQD31X4A99Z+APfWgAD42IIA+duGAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD10HYA9M91APXO\n        dAD1z3QA9c50APTOdAD1zXMA9MtxAPTMcgD1zXMA9c50APXPdgD2z3YA9tJ6APbUfQD31X4A99V9APfT\n        egD41X4A+daBAPnWgAD51oAA+daAAPnWgAD51oAA+daAAPnWgAD51oAA+daAAPnWgAD51oAA+daAAPnW\n        gAD41X+w+NV///rYhP/624j/+9yK//vdiv/83or//N6K//zeif/83on//N6K//zeiv/83oz/+96N//ve\n        jf/73Yz/+9yL//vdjeP8348P/N+PAPzfjwD8348A/N+PAPzfjwD8348A/N+PAPzfjwD8348A/N+PAPzf\n        jwD8348A/N+QAPvdjAD1znMA9c5zAPXPdQD1z3QA9c1zAPTLcgD0zHMA9c10APXOdQD2z3YA9s93APbS\n        egD21H0A9tV9APfVfgD31n4A99aAAPjYggD524YA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbR\n        eAD20XgA9tF4APbReAD20XgA9tF4APXQdgD0z3UA9c50APXPdAD1znQA9M50APXNcwD0y3EA9MxyAPXN\n        cwD1znQA9c92APbPdgD20noA9tR9APfVfgD31X0A99R7APjUfQD41H4A+NR+APjUfgD41H4A+NR+APjU\n        fgD41H4A+NR+APjUfgD41H4A+NR+APjUfgD41H4A+NR+APjUfjz30nv499N8//jVgP/514P/+tmF//ra\n        hv/62ob/+tqG//rahv/62of/+tuH//rbiP/62of/+tmG//nYhf/62Ib/+tuJcvrcigD63IoA+tyKAPrc\n        igD63IoA+tyKAPrcigD63IoA+tyKAPrcigD63IoA+tyKAPrcigD63IoA+tyLAPbRdwD1znMA9c91APXP\n        dAD1zXMA9MtyAPTMcwD1zXQA9c51APbPdgD2z3cA9tJ6APbUfQD21X0A99V+APfWfgD31oAA+NiCAPnb\n        hgD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrchwD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9tF4APbReAD20XgA9dB2APTP\n        dQD1znQA9c90APXOdAD0znQA9c1zAPTLcQD0zHIA9c1zAPXOdAD1z3YA9s92APbSegD21H0A99V+APfV\n        fQD303sA99N8APfTfAD303wA99N8APfTfAD303wA99N8APfTfAD303wA99N8APfTfAD303wA99N8APfT\n        fAD303wA99N8APfSe0L2z3jF9s937fbQee730Xrt99J87ffTfe33037t99R+7ffUfu341H7t+NN97fjT\n        fe34033v+NR/1/nXg2f62oYA+tqGAPrahgD62oYA+tqGAPrahgD62oYA+tqGAPrahgD62oYA+tqGAPra\n        hgD62oYA+tqGAPrahgD62ocA9tF3APXOcwD1z3UA9c90APXNcwD0y3IA9MxzAPXNdAD1znUA9s92APbP\n        dwD20noA9tR9APbVfQD31X4A99Z+APfWgAD42IIA+duGAPrchwD63IcA+tyHAPrchwD63IcA+tyHAPrc\n        hwD63IcA+tyHAPrchwD63IcA+tyHAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////////////////////////////////////////////////////////////wAA////////////\n        //////8AAH/////////////////+AAB//////////////////gAAP/////////////////wAAD//////\n        ///////////8AAA//////////////////AAAP/////////////////wAAD/////////////////8AAA/\n        /////////////////AAAP/////////////////wAAD/////////////8P//8AAA///w/////////+B//\n        /AAAP//4H/////////AP//wAAD//8A/////////gB//8AAA//+AH////////wAP//AAAP//AA///////\n        /4AB//AAAB//gAH///////8AAP+AAAAD/wAA///////+AAB+AAAAAP4AAH///////AAAOAAAAAA8AAA/\n        //////gAAAAAAAAACAAAH//////4AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAA\n        AAAAD//////4AAAAAAAAAAAAAA//////+AAAAAAAAAAAAAAf//////wAAAAAAAAAAAAAP//////+AAAA\n        AAAAAAAAAH///////wAAAAAAAAAAAAD///////+AAAAAAAAAAAAB////////wAAAAAAAAAAAA///////\n        /+AAAAAAAAAAAAf////////wAAAAAAAAAAAP////////+AAAAAAAAAAAH/////////gAAAAAAAAAAD//\n        ///////4AAAAAAAAAAAf////////8AAAAAAAAAAAH/////////AAAAAAAAAAAA/////////gAAAAAAAA\n        AAAP////////4AAAAAAAAAAAB////////8AAAAAAAAAAAAf////////AAAAAAAAAAAAH////////wAAA\n        AAAAAAAAA////////4AAAAAAAAAAAAP///////+AAAAAAAAAAAAD//////AAAAAAAAAAAAAAAAAP///g\n        AAAAAAAAAAAAAAAAA///gAAAAAAAAAAAAAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAA\n        Af//gAAAAAAAAAAAAAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAA\n        AAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//4AAAAAA\n        AAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//4AAAAAAAAAAAAAAAAAB//+A\n        AAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAAAAAAAAAAAAAH///4AIAAAAAAAAAAAAAA\n        D/////+AAAAAAAAAAAAD////////gAAAAAAAAAAAA////////8AAAAAAAAAAAAP////////AAAAAAAAA\n        AAAH////////4AAAAAAAAAAAB////////+AAAAAAAAAAAAf////////gAAAAAAAAAAAP////////8AAA\n        AAAAAAAAD/////////AAAAAAAAAAAB/////////4AAAAAAAAAAAf/////////AAAAAAAAAAAP///////\n        //gAAAAAAAAAAB/////////wAAAAAAAAAAAP////////4AAAAAAAAAAAB////////8AAAAAAAAAAAAP/\n        //////+AAAAAAAAAAAAB////////AAAAAAAAAAAAAP///////gAAAAAAAAAAAAB///////wAAAAAAAAA\n        AAAAP//////4AAAAAAAAAAAAAB//////+AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAA\n        AAAAAAAAAA//////+AAAAAAAAAAAAAAP//////gAABAAAAAACAAAH//////8AAA8AAAAADwAAD//////\n        /gAAfwAAAAD+AAB///////8AAP/AAAAH/wAA////////gAH/+AAAP/+AAf///////8AD//wAAD//wAP/\n        ///////gB//8AAA//+AH////////8A///AAAP//wD/////////gf//wAAD//+B/////////+P//8AAA/\n        //4//////////////AAAP/////////////////wAAD/////////////////8AAA/////////////////\n        /AAAP/////////////////wAAD/////////////////8AAA//////////////////AAAP///////////\n        //////4AAD/////////////////+AAB//////////////////wAA////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/SettingWindow.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class SettingWindow\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingWindow));\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.lb_info_2 = new System.Windows.Forms.Label();\n            this.lb_info_3 = new System.Windows.Forms.Label();\n            this.lb_info_4 = new System.Windows.Forms.Label();\n            this.lb_info_5 = new System.Windows.Forms.Label();\n            this.myEnableSwitch_IsSyncTamperRule = new FreeHttp.FreeHttpControl.MyEnableSwitch();\n            this.myEnableSwitch_IsEnableHttpsService = new FreeHttp.FreeHttpControl.MyEnableSwitch();\n            this.myEnableSwitch_IsSkipHideUi = new FreeHttp.FreeHttpControl.MyEnableSwitch();\n            this.myEnableSwitch_IsSkipConnectTunnels = new FreeHttp.FreeHttpControl.MyEnableSwitch();\n            this.myEnableSwitch_IsOnlyMatchFistTamperRule = new FreeHttp.FreeHttpControl.MyEnableSwitch();\n            this.myEnableSwitch_IsHideSelfSession = new FreeHttp.FreeHttpControl.MyEnableSwitch();\n            this.lb_info_6 = new System.Windows.Forms.Label();\n            this.SuspendLayout();\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Font = new System.Drawing.Font(\"宋体\", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_1.Location = new System.Drawing.Point(0, 12);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(231, 14);\n            this.lb_info_1.TabIndex = 1;\n            this.lb_info_1.Text = \"is only match first tamper rule \";\n            // \n            // lb_info_2\n            // \n            this.lb_info_2.AutoSize = true;\n            this.lb_info_2.Font = new System.Drawing.Font(\"宋体\", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_2.Location = new System.Drawing.Point(0, 44);\n            this.lb_info_2.Name = \"lb_info_2\";\n            this.lb_info_2.Size = new System.Drawing.Size(168, 14);\n            this.lb_info_2.TabIndex = 2;\n            this.lb_info_2.Text = \"is skip connect tunnels\";\n            // \n            // lb_info_3\n            // \n            this.lb_info_3.AutoSize = true;\n            this.lb_info_3.Font = new System.Drawing.Font(\"宋体\", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_3.Location = new System.Drawing.Point(0, 76);\n            this.lb_info_3.Name = \"lb_info_3\";\n            this.lb_info_3.Size = new System.Drawing.Size(182, 14);\n            this.lb_info_3.TabIndex = 3;\n            this.lb_info_3.Text = \"is skip filtered sessions\";\n            // \n            // lb_info_4\n            // \n            this.lb_info_4.AutoSize = true;\n            this.lb_info_4.Font = new System.Drawing.Font(\"宋体\", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_4.Location = new System.Drawing.Point(0, 108);\n            this.lb_info_4.Name = \"lb_info_4\";\n            this.lb_info_4.Size = new System.Drawing.Size(168, 14);\n            this.lb_info_4.TabIndex = 7;\n            this.lb_info_4.Text = \"is enable https service\";\n            // \n            // lb_info_5\n            // \n            this.lb_info_5.AutoSize = true;\n            this.lb_info_5.Font = new System.Drawing.Font(\"宋体\", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_5.Location = new System.Drawing.Point(0, 140);\n            this.lb_info_5.Name = \"lb_info_5\";\n            this.lb_info_5.Size = new System.Drawing.Size(140, 14);\n            this.lb_info_5.TabIndex = 9;\n            this.lb_info_5.Text = \"is sync tamper rule\";\n            // \n            // myEnableSwitch_IsSyncTamperRule\n            // \n            this.myEnableSwitch_IsSyncTamperRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.myEnableSwitch_IsSyncTamperRule.IsEnable = false;\n            this.myEnableSwitch_IsSyncTamperRule.Location = new System.Drawing.Point(284, 135);\n            this.myEnableSwitch_IsSyncTamperRule.Name = \"myEnableSwitch_IsSyncTamperRule\";\n            this.myEnableSwitch_IsSyncTamperRule.Size = new System.Drawing.Size(54, 27);\n            this.myEnableSwitch_IsSyncTamperRule.TabIndex = 10;\n            // \n            // myEnableSwitch_IsEnableHttpsService\n            // \n            this.myEnableSwitch_IsEnableHttpsService.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n            this.myEnableSwitch_IsEnableHttpsService.Location = new System.Drawing.Point(284, 102);\n            this.myEnableSwitch_IsEnableHttpsService.Name = \"myEnableSwitch_IsEnableHttpsService\";\n            this.myEnableSwitch_IsEnableHttpsService.Size = new System.Drawing.Size(54, 27);\n            this.myEnableSwitch_IsEnableHttpsService.TabIndex = 8;\n            // \n            // myEnableSwitch_IsSkipHideUi\n            // \n            this.myEnableSwitch_IsSkipHideUi.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.myEnableSwitch_IsSkipHideUi.IsEnable = false;\n            this.myEnableSwitch_IsSkipHideUi.Location = new System.Drawing.Point(284, 69);\n            this.myEnableSwitch_IsSkipHideUi.Name = \"myEnableSwitch_IsSkipHideUi\";\n            this.myEnableSwitch_IsSkipHideUi.Size = new System.Drawing.Size(54, 27);\n            this.myEnableSwitch_IsSkipHideUi.TabIndex = 6;\n            // \n            // myEnableSwitch_IsSkipConnectTunnels\n            // \n            this.myEnableSwitch_IsSkipConnectTunnels.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.myEnableSwitch_IsSkipConnectTunnels.IsEnable = false;\n            this.myEnableSwitch_IsSkipConnectTunnels.Location = new System.Drawing.Point(284, 36);\n            this.myEnableSwitch_IsSkipConnectTunnels.Name = \"myEnableSwitch_IsSkipConnectTunnels\";\n            this.myEnableSwitch_IsSkipConnectTunnels.Size = new System.Drawing.Size(54, 27);\n            this.myEnableSwitch_IsSkipConnectTunnels.TabIndex = 5;\n            // \n            // myEnableSwitch_IsOnlyMatchFistTamperRule\n            // \n            this.myEnableSwitch_IsOnlyMatchFistTamperRule.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.myEnableSwitch_IsOnlyMatchFistTamperRule.IsEnable = false;\n            this.myEnableSwitch_IsOnlyMatchFistTamperRule.Location = new System.Drawing.Point(284, 3);\n            this.myEnableSwitch_IsOnlyMatchFistTamperRule.Name = \"myEnableSwitch_IsOnlyMatchFistTamperRule\";\n            this.myEnableSwitch_IsOnlyMatchFistTamperRule.Size = new System.Drawing.Size(54, 27);\n            this.myEnableSwitch_IsOnlyMatchFistTamperRule.TabIndex = 0;\n            // \n            // myEnableSwitch_IsHideSelfSession\n            // \n            this.myEnableSwitch_IsHideSelfSession.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.myEnableSwitch_IsHideSelfSession.IsEnable = false;\n            this.myEnableSwitch_IsHideSelfSession.Location = new System.Drawing.Point(279, 166);\n            this.myEnableSwitch_IsHideSelfSession.Name = \"myEnableSwitch_IsHideSelfSession\";\n            this.myEnableSwitch_IsHideSelfSession.Size = new System.Drawing.Size(63, 29);\n            this.myEnableSwitch_IsHideSelfSession.TabIndex = 12;\n            // \n            // lb_info_6\n            // \n            this.lb_info_6.AutoSize = true;\n            this.lb_info_6.Font = new System.Drawing.Font(\"宋体\", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_6.Location = new System.Drawing.Point(0, 172);\n            this.lb_info_6.Name = \"lb_info_6\";\n            this.lb_info_6.Size = new System.Drawing.Size(217, 14);\n            this.lb_info_6.TabIndex = 11;\n            this.lb_info_6.Text = \"is hide freehttp self sessions\";\n            // \n            // SettingWindow\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(338, 198);\n            this.Controls.Add(this.myEnableSwitch_IsHideSelfSession);\n            this.Controls.Add(this.lb_info_6);\n            this.Controls.Add(this.myEnableSwitch_IsSyncTamperRule);\n            this.Controls.Add(this.lb_info_5);\n            this.Controls.Add(this.myEnableSwitch_IsEnableHttpsService);\n            this.Controls.Add(this.lb_info_4);\n            this.Controls.Add(this.myEnableSwitch_IsSkipHideUi);\n            this.Controls.Add(this.myEnableSwitch_IsSkipConnectTunnels);\n            this.Controls.Add(this.lb_info_3);\n            this.Controls.Add(this.lb_info_2);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.myEnableSwitch_IsOnlyMatchFistTamperRule);\n            this.Font = new System.Drawing.Font(\"华文楷体\", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"SettingWindow\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"SettingWindow\";\n            this.Load += new System.EventHandler(this.SettingWindow_Load);\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private MyEnableSwitch myEnableSwitch_IsOnlyMatchFistTamperRule;\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.Label lb_info_2;\n        private System.Windows.Forms.Label lb_info_3;\n        private MyEnableSwitch myEnableSwitch_IsSkipConnectTunnels;\n        private MyEnableSwitch myEnableSwitch_IsSkipHideUi;\n        private MyEnableSwitch myEnableSwitch_IsEnableHttpsService;\n        private System.Windows.Forms.Label lb_info_4;\n        private MyEnableSwitch myEnableSwitch_IsSyncTamperRule;\n        private System.Windows.Forms.Label lb_info_5;\n        private MyEnableSwitch myEnableSwitch_IsHideSelfSession;\n        private System.Windows.Forms.Label lb_info_6;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/SettingWindow.cs",
    "content": "﻿using FreeHttp.FiddlerHelper;\nusing FreeHttp.HttpHelper;\nusing FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class SettingWindow : Form\n    {\n        public SettingWindow()\n        {\n            InitializeComponent();\n        }\n\n        public SettingWindow(FiddlerModificSettingInfo yourModifcSettingInfo):this()\n        {\n            modifcSettingInfo = yourModifcSettingInfo;\n        }\n\n        private FiddlerModificSettingInfo modifcSettingInfo;\n\n        private void SettingWindow_Load(object sender, EventArgs e)\n        {\n            if (modifcSettingInfo != null)\n            {\n                myEnableSwitch_IsOnlyMatchFistTamperRule.IsEnable = modifcSettingInfo.IsOnlyMatchFirstTamperRule;\n                myEnableSwitch_IsSkipHideUi.IsEnable = modifcSettingInfo.IsSkipUiHide;\n                myEnableSwitch_IsSkipConnectTunnels.IsEnable = modifcSettingInfo.IsSkipConnectTunnels;\n                myEnableSwitch_IsEnableHttpsService.IsEnable = MyGlobalHelper.myHttpListener.IsStart;\n                myEnableSwitch_IsSyncTamperRule.IsEnable = modifcSettingInfo.IsSyncTamperRule;\n                myEnableSwitch_IsHideSelfSession.IsEnable = modifcSettingInfo.IsHideSelfSession;\n                myEnableSwitch_IsOnlyMatchFistTamperRule.OnChangeEnable += myEnableSwitch_IsOnlyMatchFistTamperRule_OnChangeEable;\n                myEnableSwitch_IsSkipHideUi.OnChangeEnable += myEnableSwitch_IsDefaultEnableRule_OnChangeEable;\n                myEnableSwitch_IsSkipConnectTunnels.OnChangeEnable += myEnableSwitch_IsConnectTunnels_OnChangeEable;\n                myEnableSwitch_IsEnableHttpsService.OnChangeEnable += myEnableSwitch_IsEnableHttpsService_OnChangeEnable;\n                myEnableSwitch_IsSyncTamperRule.OnChangeEnable += MyEnableSwitch_IsSyncTamperRule_OnChangeEnable;\n                myEnableSwitch_IsHideSelfSession.OnChangeEnable += MyEnableSwitch_IsHideSelfSession_OnChangeEnable;\n            }\n            //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.MaximumSize = this.Size;\n            this.MinimumSize = this.Size;\n        }\n\n\n        void myEnableSwitch_IsConnectTunnels_OnChangeEable(object sender, MyEnableSwitch.ChangeEnableEventArgs e)\n        {\n            modifcSettingInfo.IsSkipConnectTunnels = e.IsEnable;\n        }\n\n        void myEnableSwitch_IsDefaultEnableRule_OnChangeEable(object sender, MyEnableSwitch.ChangeEnableEventArgs e)\n        {\n            modifcSettingInfo.IsSkipUiHide = e.IsEnable;\n        }\n\n        void myEnableSwitch_IsOnlyMatchFistTamperRule_OnChangeEable(object sender, MyEnableSwitch.ChangeEnableEventArgs e)\n        {\n            modifcSettingInfo.IsOnlyMatchFirstTamperRule = e.IsEnable;\n        }\n\n        private void MyEnableSwitch_IsSyncTamperRule_OnChangeEnable(object sender, MyEnableSwitch.ChangeEnableEventArgs e)\n        {\n            modifcSettingInfo.IsSyncTamperRule = e.IsEnable;\n        }\n\n        private void MyEnableSwitch_IsHideSelfSession_OnChangeEnable(object sender, MyEnableSwitch.ChangeEnableEventArgs e)\n        {\n            modifcSettingInfo.IsHideSelfSession = e.IsEnable;\n\n        }\n        void myEnableSwitch_IsEnableHttpsService_OnChangeEnable(object sender, MyEnableSwitch.ChangeEnableEventArgs e)\n        {\n            if (e.IsEnable)\n            {\n                if(!MyGlobalHelper.IsAdministrator())\n                {\n                    MessageBox.Show(\"Enable http sevice need administrator rights \\r\\nPlease use administrator privileges to open the application\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);\n                    myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                    return;\n                }\n                bool isAffirm = false;\n                int listenerPort = 443;\n                if (FreeHttp.WebService.HttpServer.MySocketHelper.IsPortInTcpListening(listenerPort))\n                {\n                    listenerPort = 9990;\n                    while (FreeHttp.WebService.HttpServer.MySocketHelper.IsPortInTcpListening(listenerPort))\n                    {\n                        listenerPort++;\n                        if(listenerPort==65537)\n                        {\n                            MessageBox.Show(\"can not find leisure port from 9990 to 65536\",\"Stop\",MessageBoxButtons.OK,MessageBoxIcon.Stop);\n                            myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                            return;\n                        }\n                    }\n                }\n                string listenerPrefixesStr = string.Format(@\"https://*:{0}/\", listenerPort);\n                SetVaule f = new SetVaule(\"Set listener prefixes\", \"you can set listener prefixes for your http service,like https://*:443/\", listenerPrefixesStr, new Func<string, string>((string checkValue) => { return (checkValue.StartsWith(\"http\") && checkValue.EndsWith(\"/\")?null:\"\"); }));\n                f.OnSetValue += new EventHandler<SetVaule.SetVauleEventArgs>((obj, tag) => { listenerPrefixesStr = tag.SetValue; isAffirm = true; });\n                f.ShowDialog();\n                if(!isAffirm)\n                {\n                    myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                    return;\n                }\n                int portIndex = listenerPrefixesStr.LastIndexOf(\":\");\n                if (!(portIndex > 0 && listenerPrefixesStr.EndsWith(\"/\") && int.TryParse(listenerPrefixesStr.Substring(portIndex + 1, listenerPrefixesStr.Length - portIndex - 2), out listenerPort)))\n                {\n                    MessageBox.Show(\"your listener prefixes is illegality\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                    return;\n                }\n                if (Fiddler.CertMaker.GetRootCertificate() == null)\n                {\n                    MessageBox.Show(\"can not get Fiddler RootCertificate\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                    return;\n                }\n                else\n                {\n                    if (FreeHttp.WebService.HttpServer.MySocketHelper.IsPortInTcpListening(listenerPort))\n                    {\n                        MessageBox.Show(string.Format(\"this port {0} is in listening with other process\", listenerPort), \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                        myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                        return;\n                    }\n                    try\n                    {\n                        FreeHttp.WebService.HttpServer.CertificatesHelper.AddCertificateToX509Store(Fiddler.CertMaker.GetRootCertificate());\n                        FreeHttp.WebService.HttpServer.CertificatesHelper.BindingCertificate(Fiddler.CertMaker.GetRootCertificate(), listenerPort);\n                    }\n                    catch (Exception ex)\n                    {\n                        MessageBox.Show(string.Format(\"fail to BindingCertificate with {0}\", ex.Message), \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                        myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                        return;\n                    }\n                }\n                try\n                {\n                    MyGlobalHelper.myHttpListener.Start(listenerPrefixesStr);\n                    MyGlobalHelper.PutGlobalMessage(this, new MyGlobalHelper.GlobalMessageEventArgs(false,string.Format(\"add listening for [{0}]\",listenerPrefixesStr)));\n                }\n                catch (Exception ex)\n                {\n                    MessageBox.Show(string.Format(\"fail to Start HttpListener with {0}\", ex.Message), \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                    MyGlobalHelper.myHttpListener.Stop();\n                    myEnableSwitch_IsEnableHttpsService.IsEnable = false;\n                    return;\n                }\n            }\n            else\n            {\n                MyGlobalHelper.myHttpListener.Stop();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/SettingWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAfYAAAAEAIAAoAgEAFgAAACgAAAB9AAAAAAEAAAEAIAAAAAAAAPoAAF8jAABfIwAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAC5XAAAuVwAALlcAAC5XAAAuVwAALlcAAC5XAAAuVwAALlcAAC5XAAAuVwAALlcAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAC5XAAAuVwAALlcAAC5XAAAuVwAB7lcACa5XAA6uVwAO7lcADu5XAA5uVwAH7lc\n        AAO5XAAAuVwAALlcAAC5XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuVwAALlcAAC5XAAAuVwAC7lcAFa5XACxuVwA5Llc\n        APS5XAD0uVwA9LlcAPO5XADeuVwAo7lcAEW5XAAFuVwAALlcAAC5XAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlcAAC5XAAAuVwAALlc\n        ACm5XACsuVwA+blcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA8rlcAJS5XAAZuVwAALlc\n        AAC5XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAC5XAAAuVwAALlcAAC5XAA0uVwA0LlcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcALe5XAAfuVwAALlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAALlcAAC5XAAAuVwAILlcAMm5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAKu5XAAOuVwAALlcAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5XAAAuVwAALlcAAO5XACUuVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/blc\n        AG+5XAAAuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlc\n        AAC5XAAAuVwANrlcAOy5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA1blcABu5XAAAuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAuVwAALlcAAC5XACDuVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD9uVwAW7lcAAC5XAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5XAAAuVwACblcALy5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XACWuVwAALlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlc\n        AAC5XAAYuVwA2LlcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcALi5XAAHuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAuVwAALlcAB+5XADguVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwAw7lcAAu5XAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5XAAAuVwAGrlcANu5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAC7uVwACLlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlc\n        AAC5XAALuVwAwrlcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAJ25XAAAuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADktGEA5LRhAOS0YQDktGEA5LRhAOS0YQDktGEA5LRhAOS0\n        YQDktGEA5LRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        +3aYdfvimHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+YdfvtmHX7jph1+xiYdfsAmHX7AJh1\n        +wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADktGEA5LRhAOS0YQDktGE55LRh0eS0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh9uS0YX/ktGEH5LRhAOS0YQAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuVwAALlcAAC5XAAAuVwASblc\n        AOK5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XADNuVwALrlc\n        AAC5XAAAuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AACYdfsAmHX7AJh1+xKYdfuemHX7/Zh1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7uZh1+yKYdfsAmHX7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0YQDktGEA5LRhKOS0\n        YdHktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh+eS0\n        YXLktGEA5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydft4mHX7AJh1+wAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADktGEA5LRhF+S0YdXktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGFn5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAkg+\n        M6lIPjP/SD4z/0g+M4BIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1+wCYdfsAmHX7j5h1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +7WYdfsHmHX7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0YQDktGEw5LRh7eS0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YY7ktGEA5LRhAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAEg+MwBIPjMCSD4zqUg+M/9IPjP/SD4zgEg+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHX7AJh1\n        +waYdfu1mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX71Zh1+xaYdfsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YTzktGH05LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRhoOS0YQDktGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASD4zAEg+MwJIPjOpSD4z/0g+M/9IPjOASD4zAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAACYdfsAmHX7C5h1+8KYdfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+YdfvgmHX7H5h1+wAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADktGEA5LRhOOS0YfLktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGGZ5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAkg+\n        M6lIPjP/SD4z/0g+M4BIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1+wCYdfsJmHX7vph1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +9yYdfsbmHX7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0YQDktGEj5LRh4+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YXzktGEA5LRhAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAEg+MwBIPjMCSD4zqUg+M/9IPjP/SD4zgEg+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHX7AJh1\n        +wKYdfukmHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +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\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAABIPjMASD4zAEg+MwBIPjMXSD4zq0g+M/9IPjP/SD4z/0g+M6pIPjMWSD4zAEg+\n        MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAC5XAAAuVwAALlcAAC5XAAAuVwAALlcAACyWgMAiU8WBU0/\n        MatNPzH/TT8x/05AMIMAH2cAuVwAALlcAAC5XAAAuVwAALlcAAC5XAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAASD4zAEg+MwBIPjMASD4zKkg+M8dIPjP/SD4z/0g+M/xIPjONSD4zCkg+MwBIPjMASD4zAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAEg+MwBIPjMXSD4zq0g+\n        M/9IPjP/SD4z/0g+M6pIPjMWSD4zAEg+MwBIPjMAAAAAAAAAAAC5XAAAuVwAALlcAAC5XAAAuVwAALlc\n        AA25XAAyuVwAYLlcAIu5XACrpFYJ559VDP+fVQz/qFcI27pcAKW5XACEuVwAWLlcACq5XAAIuVwAALlc\n        AAC5XAAAuVwAAAAAAAAAAAAAAAAAAEg+MwBIPjMASD4zAEg+MypIPjPHSD4z/0g+M/9IPjP8SD4zjUg+\n        MwpIPjMASD4zAEg+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABIPjMASD4zAEg+MwBIPjMXSD4zq0g+M/9IPjP/SD4z/0g+M6pIPjMWSD4zAEg+MwBIPjMAuVwAALlc\n        AAC5XAAAuVwAAblcACq5XAB4uVwAwblcAO25XAD+uVwA/7lcAP+6XAD/u1wA/7tcAP+6XAD/uVwA/7lc\n        AP+5XAD8uVwA57lcALa5XABpuVwAH7lcAAC5XAAAuVwAALlcAABIPjMASD4zAEg+MwBIPjMqSD4zx0g+\n        M/9IPjP/SD4z/Eg+M41IPjMKSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAEg+MwBIPjMXSD4zq0g+M/9IPjP/SD4z/0g+\n        M6pIPjMWSD4zAHpLHQC5XAAAuVwAALlcACm5XACPuVwA47lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP65XADYuVwAfLlcABy5XAAAuVwAAJVT\n        EABIPjMASD4zKkg+M8dIPjP/SD4z/0g+M/xIPjONSD4zCkg+MwBIPjMASD4zAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAEg+\n        MwBIPjMXSD4zq0g+M/9IPjP/SD4z/0g+M6pIPjMWgk0ZALhcAAy5XABuuVwA3rlcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwAz7lcAFa4XAAEcUkhAEg+MypIPjPHSD4z/0g+M/9IPjP8SD4zjUg+MwpIPjMASD4zAEg+\n        MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAABIPjMASD4zAEg+MwBIPjMXSD4zq0g+M/9IPjP/SD4z/0Y9NKiMUBQ4ulwAprlc\n        APy5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA9btcAIxrRyM9Rz40xkg+M/9IPjP/SD4z/Eg+\n        M41IPjMKSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAEg+MwBIPjMXSD4zq0g+\n        M/9HPjT/XkQp/qdXCOy6XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/ulwA/ZtU\n        Du1VQS3/Rz40/0g+M/xIPjONSD4zCkg+MwBIPjMASD4zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABIPjMASD4zAEg+MwBIPjMXRj00qV5EKf6kVwn/ulwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/ulwA/5hTD/9UQS35Rj00jEk+MwpIPjMASD4zAEg+MwAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMAeksdAIJNGQCMUBU4p1cI7LpcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/6JWCtaHTxcdf00aAG1I\n        IgBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlcAAC5XAAAuFwADLpc\n        AKa6XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/ulwA/LpcAIS3WwECuVwAALlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAC5XAAAuVwAALlcAAC5XABuuVwA/LlcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA8blcAEu5XAAAuVwAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEA5LRhAOS0YQDktGEA5LRhAOS0YQDktGEA5LRhAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAALlcAAC5XAAAuVwAKblcAN65XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwAw7lc\n        ABS5XAAAuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEA5LRhAOS0YQDktGEO5LRhHOS0\n        YR7ktGEW5LRhBuS0YQDktGEA5LRhAOS0YQDktGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuVwAALlcAAG5XACPuVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD9uVwAablcAAC5XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0YQDktGEA5LRhAOS0\n        YQ7ktGFP5LRhmeS0YcjktGHd5LRh4OS0YdXktGG05LRhduS0YSnktGEA5LRhAOS0YQDktGEAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHX7AJh1\n        +wCYdfsAmHX7AJh1+wCYdfsAmHX7AJh1+wCYdfsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlc\n        AAC5XAAAuVwAKrlcAOO5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XADJuVwAE7lcAAC5XAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADktGEA5LRhAOS0YQDktGFB5LRhuuS0YfjktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh4uS0\n        YX/ktGET5LRhAOS0YQDktGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAJh1+wCYdfsAmHX7AJh1+wCYdfsHmHX7Dph1+wmYdfsAmHX7AJh1+wCYdfsAmHX7AAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAuVwAALlcAAC5XAB4uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        APm5XABSuVwAALlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEC5LRhZeS0YenktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YbPktGEh5LRhAOS0YQDktGEAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1+wCYdfsAmHX7AJh1+wGYdfs0mHX7hZh1+7mYdfvJmHX7vZh1\n        +46Ydfs/mHX7BJh1+wCYdfsAmHX7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5XAAAuVwADblcAMK5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAJ65XAABuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0YQDktGEA5LRhAOS0YVzktGHy5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YbbktGEW5LRhAOS0\n        YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHX7AJh1+wCYdfsLmHX7fJh1\n        ++mYdfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/CYdfuPmHX7E5h1+wCYdfsAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuVwAALlc\n        AAC5XAAyuVwA7blcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA1rlcABi5XAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0\n        YQDktGEu5LRh3+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0YYrktGEC5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1\n        +wCYdfsAmHX7BZh1+4iYdfv9mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+YdfuhmHX7DZh1\n        +wCYdfsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAC5XAAAuVwAALlcAGG5XAD+uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XADzuVwAPLlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADktGEA5LRhA+S0YZrktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh6+S0YTbktGEA5LRhAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAmHX7AJh1+wCYdftQmHX79Zh1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/2YdftrlHLyAFRGUQBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+\n        MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAFVBLQCyWgMAuVwAi7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XABjtVsCAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+\n        MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zANutXgDktGEq5LRh5uS0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRhjOS0\n        YQDktGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYdfsAmHX7CJh1+7OYdfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+8yRcOoVAAAAAUg+MwJIPjMCSD4zAkg+\n        MwJIPjMCSD4zAkg+MwJIPjMCSD4zAkg+MwJIPjMCSD4zAkg+MwJIPjMCSD4zAkg+MwJIPjMCOzs5AotQ\n        FQW5XACruVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7hcAIP/jAAASD4zAkg+\n        MwJIPjMCSD4zAkg+MwJIPjMCSD4zAkg+MwJIPjMCSD4zAkg+MwJIPjMCSD4zAkg+MwJIPjMC//+MAOKz\n        YGPktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGHL5LRhEOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1\n        +wCYdfsmmHX75Zh1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/lnT3+GJQ\n        dbdGPS+nSD4zqEg+M6hIPjOoSD4zqEg+M6hIPjOoSD4zqEg+M6hIPjOoSD4zqEg+M6hIPjOoSD4zqEg+\n        M6hIPjOoSD4zqEg+M6hIPjOoTT8xqqRWCee6XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+6XAD/l1MP2Uc+M6dIPjOoSD4zqEg+M6hIPjOoSD4zqEg+M6hIPjOoSD4zqEg+M6hIPjOoSD4zqEg+\n        M6hIPjOoSD4zqEg+M6hGPTKnsY1S1Oa1Yv/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YejktGEo5LRhAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAmHX7AJh1+zuYdfv0mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+XdPn/Y1B2/0c9MP9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+\n        M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9NPzH/n1UM/7tcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7tdAP+PURP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+\n        M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0k+M/+riVD/57Zi/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh8+S0\n        YTnktGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYdfsAmHX7OZh1+/OYdfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5d0+P9iUHT/Rz0w/0g+M/9IPjP/SD4z/0g+\n        M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/00/\n        Mf+eVQz/u1wA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/u10A/49RE/9IPjP/SD4z/0g+\n        M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/0g+M/9IPjP/SD4z/6qI\n        UP/ntmL/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGHx5LRhN+S0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1\n        +wCYdfsgmHX735h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/l3T482VS\n        e5NGPS59SD4zf0g+M39IPjN/SD4zf0g+M39IPjN/SD4zf0g+M39IPjN/SD4zf0g+M39IPjN/SD4zf0g+\n        M39IPjN/SD4zf0g+M39IPjN+TkAwgqhYCNu6XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+6XAD/nVQNxkc+NH1IPjN+SD4zf0g+M39IPjN/SD4zf0g+M39IPjN/SD4zf0g+M39IPjN/SD4zf0g+\n        M39IPjN/SD4zf0g+M39FOzJ9uJNUveW1Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YeTktGEk5LRhAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAmHX7AJh1+wSYdfujmHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfu+qoL/C1hJWwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+\n        MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAE0/MQAAIWQAulwApblcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+6XAB8gU0ZAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+\n        MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAJx+TADntmJX5LRh/OS0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRhwuS0\n        YQzktGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYdfsAmHX7AJh1+z2YdfvqmHX7/5h1\n        +/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX79ph1+1WYdfsAm3f/AEg+MwBIPjMASD4zAEg+\n        MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMAtVsCALlc\n        AAC5XACEuVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/rlcAFy5XAAABCxSAEg+\n        MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMASD4zAEg+MwBIPjMA5LRhAOS0\n        YSDktGHc5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGF95LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1\n        +wCYdfsAmHX7AJh1+2qYdfvzmHX7/5h1+/+Ydfv/mHX7/5h1+/+Ydfv/mHX7/5h1+/qYdfuCmHX7BZh1\n        +wCYdfsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAC5XAAAuVwAALlcAFi5XAD8uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XADvuVwANblcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADktGEA5LRhAOS0YYfktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh4OS0YSjktGEA5LRhAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1+wCYdfsAmHX7A5h1+1mYdfvQmHX7/Zh1+/+Ydfv/mHX7/5h1\n        +/+YdfvbmHX7a5h1+weYdfsAmHX7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlcAAC5XAAAuVwAKrlcAOe5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAM25XAASuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0YQDktGEA5LRhH+S0Yc7ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YfzktGFx5LRhAOS0\n        YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJh1+wCYdfsAmHX7AJh1\n        +xqYdftdmHX7kZh1+6OYdfuWmHX7Zph1+yKYdfsAmHX7AJh1+wCYdfsAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlc\n        AAC5XAAIuVwAtrlcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwAkLlcAAC5XAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0\n        YQDktGEA5LRhQuS0YeLktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRhmuS0YQvktGEA5LRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAJh1+wCYdfsAmHX7AJh1+wCYdfsAmHX7AZh1+wCYdfsAmHX7AJh1+wCYdfsAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAuVwAALlcAAC5XABouVwA/rlcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        APS5XABEuVwAALlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEA5LRhReS0YdTktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh9+S0YZHktGER5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYdfsAmHX7AJh1+wCYdfsAmHX7AJh1\n        +wCYdfsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5XAAAuVwAALlcAB65XADYuVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwAurlcAAy5XAAAuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEA5LRhJeS0\n        YZXktGHn5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh+eS0YcfktGFZ5LRhBuS0YQDktGEA5LRhAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAC5XAAAuVwAALlcAHy5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAPi5XABWuVwAALlcAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA5LRhAOS0YQDktGEA5LRhAuS0YS7ktGFw5LRhpOS0Yb3ktGHC5LRhs+S0YY3ktGFP5LRhE+S0\n        YQDktGEA5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAALlcAAC5XAAAuVwAHLlcAM+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwAsLlc\n        AAu5XAAAuVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEA5LRhAOS0YQDktGEC5LRhCeS0\n        YQvktGEF5LRhAOS0YQDktGEA5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlcAAC5XAAAuVwAVrlc\n        APW5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAOW5XAA3uVwAALlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADktGEA5LRhAOS0YQDktGEA5LRhAOS0YQDktGEA5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAuVwAALlcAAC4XAAEu1wAi7pcAP25XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+6XAD2ulwAab5dAAC5XAAAuVwAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMAmVMOAHBJIQBqRyQ9m1QO7bpcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uFwB/5JSEtdfRCkgZEUmAFlC\n        KwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASD4zAEg+MwBIPjMASD4zK0c+\n        NMdVQS3/mFMP/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7hc\n        Af+MUBT/TkAw/kc+M6pIPjMXSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEg+\n        MwBIPjMASD4zAEg+MytIPjPISD4z/0c+NP9UQS35olYL1bpcAPy5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+6XAD2klIS1k5AMP5HPjP/SD4z/0g+M6tIPjMXSD4zAEg+MwBIPjMAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAABIPjMASD4zAEg+MwBIPjMrSD4zyEg+M/9IPjP/SD4z/EY9NIuGTxcculwAg7lc\n        APC5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA5bpcAGhfRCkfRz4zqUg+M/9IPjP/SD4z/0g+\n        M6tIPjMXSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASD4zAEg+MwBIPjMASD4zK0g+M8hIPjP/SD4z/0g+\n        M/xIPjOMST4zCn9MGgC3WwECuVwASrlcAMK5XAD9uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA+LlcAK+5XAA2vl0AAGRF\n        JgBIPjMWSD4zqkg+M/9IPjP/SD4z/0g+M6tIPjMXSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEg+MwBIPjMASD4zAEg+\n        MytIPjPISD4z/0g+M/9IPjP8SD4zjEg+MwpIPjMAbUgiALlcAAC5XAAAuVwAE7lcAGi5XADIuVwA+blc\n        AP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA/7lcAP+5XAD/uVwA9Llc\n        ALq5XABVuVwAC7lcAAC5XAAAWUIrAEg+MwBIPjMWSD4zqkg+M/9IPjP/SD4z/0g+M6tIPjMXSD4zAEg+\n        MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABIPjMASD4zAEg+MwBIPjMrSD4zyEg+M/9IPjP/SD4z/Eg+M4xIPjMKSD4zAEg+MwBIPjMAuVwAALlc\n        AAC5XAAAuVwAALlcABO5XABRuVwAnLlcANW5XADzuVwA/7lcAP+6XAD/u10A/7tdAP+6XAD/uVwA/7lc\n        AP25XADvuVwAzLlcAI+5XABDuVwADLlcAAC5XAAAuVwAALlcAABIPjMASD4zAEg+MwBIPjMWSD4zqkg+\n        M/9IPjP/SD4z/0g+M6tIPjMXSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAASD4zAEg+MwBIPjMASD4zK0g+M8hIPjP/SD4z/0g+M/xIPjOMSD4zCkg+\n        MwBIPjMASD4zAAAAAAAAAAAAAAAAALlcAAC5XAAAuVwAALlcAAC5XAABuVwAF7lcADu5XABhuFwAgpZT\n        ENmPURP/j1ET/5xUDca6XAB7uVwAW7lcADS5XAASuVwAALlcAAC5XAAAuVwAALlcAAAAAAAAAAAAAAAA\n        AABIPjMASD4zAEg+MwBIPjMWSD4zqkg+M/9IPjP/SD4z/0g+M6tIPjMXSD4zAEg+MwBIPjMAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEg+MwBIPjMASD4zAEg+MytIPjPISD4z/0g+\n        M/9IPjP8SD4zjEg+MwpIPjMASD4zAEg+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5XAAAuVwAALlc\n        AAC5XAAAuVwAALVbAgD/jgAARz4zqEg+M/9IPjP/Rz40f4JNGQC5XAAAuVwAALlcAAC5XAAAuVwAALlc\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAEg+MwBIPjMWSD4zqkg+M/9IPjP/SD4z/0g+\n        M6tIPjMXSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAFDg/gBQ4P4AUOD+AFDg/gBQ4P4AUOD+AFDg/gBQ4P4AUOD+AAAAAABIPjMASD4zAEg+\n        MwBIPjMrSD4zyEg+M/9IPjP/SD4z/Eg+M4xIPjMKSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASD4zAEg+MwJIPjOpSD4z/0g+M/9IPjOASD4zALlc\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAEg+\n        MwBIPjMWSD4zqkg+M/9IPjP/SD4z/0g+M6tIPjMXSD4zAEg+MwBIPjMAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDg/gBQ4P4AUOD+AFDg/gBQ4P4AUOD+BlDg/gtQ4P4JUOD+AlDg\n        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\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDg/gBQ4P4AUOD+g1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+2VDg/h5Q4P4AUOD+AAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAEg+MwBIPjMCSD4zqUg+M/9IPjP/SD4zgEg+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABIPjMAUv//AFn//wFQ3fuYUOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+uVDg/g1Q4P4AUOD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUOD+AFDg/g5Q4P7GUOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P77UOD+VFDg/gBQ4P4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASD4zAEg+MwJIPjOpSD4z/0g+M/9IPjOASD4zAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ4P4AUOD+KVDg/uRQ4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P72UOD+SFDg/gBQ4P4AAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABQ4P4AUOD+KFDg/udQ4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P6DUOD+AFDg/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAkg+\n        M6lIPjP/SD4z/0g+M4BIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUOD+AFDg/gBQ4P5cUOD+/lDg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P6EUOD+AFDg\n        /gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDg/gBQ4P46UOD+81Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/pxQ4P4AUOD+AAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAEg+MwBIPjMCSD4zqUg+M/9IPjP/SD4zgEg+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABQ4P4AUOD+AFDg/n1Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/qRQ4P4BUOD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUOD+AFDg/jtQ4P70UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+nlDg/gBQ4P4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASD4zAEg+MwJIPjOpSD4z/0g+M/9IPjOASD4zAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDg/gBQ4P4AUOD+gFDg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+p1Dg/gJQ4P4AAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABQ4P4AUOD+LFDg/upQ4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P6IUOD+AFDg/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIPjMASD4zAkg+\n        M6lIPjP/SD4z/0g+M4BIPjMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUOD+AFDg/gBQ4P5jUOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P6MUOD+AFDg\n        /gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDg/gBQ4P4SUOD+zlDg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg\n        /v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/1Dg/v9Q4P7/UOD+/lDg/l1Q4P4AUOD+AAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAEg+MwBIPjMCSD4zqUg+M/9IPjP/SD4zgEg+MwDktGEAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        YQDktGEA5LRhDuS0YbrktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRhl+S0YQPktGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDg/gBQ4P4AUOD+AFDg\n        /gBQ4P4AUOD+AFDg/gBQ4P4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDg/gBQ4P4AUOD+AFDg/gBQ4P4GUOD+FVDg/h1Q4P4aUOD+DVDg\n        /gBQ4P4AUOD+AFDg/gBQ4P4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGFP5LRh+OS0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGHp5LRhL+S0YQDktGEAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ4P4AUOD+AFDg\n        /gBQ4P4AUOD+AFDg/gBQ4P4AUOD+AFDg/gBQ4P4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADktGEA5LRhAOS0YZnktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGFx5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0\n        YQDktGEO5LRhyOS0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YaXktGEC5LRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YRzktGHd5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRhvuS0YQnktGEAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADktGEA5LRhHuS0YeDktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGHD5LRhC+S0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0\n        YQDktGEW5LRh1eS0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YbTktGEF5LRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQbktGG05LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRhjeS0YQDktGEAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADktGEA5LRhAOS0YXXktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        YfnktGFP5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOS0\n        YQDktGEA5LRhKOS0YeHktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRhxuS0YRPktGEA5LRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEA5LRhfeS0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0YffktGFZ5LRhAOS0YQAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGES5LRhsOS0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRhkOS0\n        YQbktGEA5LRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA5LRhAOS0YQDktGEf5LRhs+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0\n        Yf/ktGH/5LRh/OS0YZnktGEQ5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADktGEA5LRhAOS0YQDktGEV5LRhiOS0YerktGH/5LRh/+S0\n        Yf/ktGH/5LRh/+S0Yf/ktGH/5LRh/+S0Yd7ktGFv5LRhCuS0YQDktGEA5LRhAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADktGEA5LRhAOS0\n        YQDktGEB5LRhNOS0YYrktGHJ5LRh5uS0YfHktGHw5LRh4+S0YcDktGF75LRhJ+S0YQDktGEA5LRhAOS0\n        YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADktGEA5LRhAOS0YQDktGEA5LRhAOS0YQ/ktGEm5LRhNuS0YTTktGEi5LRhC+S0\n        YQDktGEA5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5LRhAOS0YQDktGEA5LRhAOS0\n        YQDktGEA5LRhAOS0YQDktGEA5LRhAOS0YQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////+P//\n        //////////////////j////////////////////4////////////////////+P////////4AH///////\n        //j////////4AAf////////4////////8AAD////////+P///////+AAAf////////j////////AAAH/\n        ///////4////////wAAA////////+P///////4AAAP////////j///////+AAAB////////4////////\n        gAAAf///////+P///////4AAAH////////j///////+AAAB////////4////////gAAAf///////+P//\n        /////4AAAH////////j///////+AAAB////////4///4AP//gAAAf//AB///+P//4AA//4AAAH//AAH/\n        //j//8AAD/+AAAD//AAA///4//+AAA//wAAA//gAAH//+P//AAAH/8AAAP/4AAB///j//wAAA//gAAH/\n        8AAAP//4//4AAAP/8AAD//AAAD//+P/+AAAD//gAB//gAAAf//j//gAAAf/+AB//4AAAH//4//4AAAH/\n        /4D//+AAAB//+P/+AAAB//+A///gAAAf//j//gAAAf//gP//4AAAH//4//4AAAH//4D//+AAAB//+P/+\n        AAAB//+A///gAAAf//j//gAAAf//gP//4AAAH//4//4AAAH//4D//+AAAB//+P/+AAAD//+A///wAAAf\n        //j//wAAAf//gP//4AAAP//4//8AAAD//4D//8AAAD//+P//gAAAf/+A//+AAAB///j//4AAAD//gP//\n        AAAA///4///gAAAf/4D//gAAAf//+P//8AAAD/+A//wAAAP///j///4BAAf+AD/4ACAf///4/////4AD\n        4AAD8AB/////+P/////AAYAAAOAA//////j/////4AAAAAAAAf/////4//////AAAAAAAAP/////+P//\n        ///4AAAAAAAH//////j//////AAAAAAAD//////4//////4AAAAAAB//////+P//////AAAAAAA/////\n        //j//////4AAAAAAf//////4//////+AAAAAAH//////+P//////AAAAAAB///8AP/j//////wAAAAAA\n        P//8AAf4//////8AAAAAAD//+AAD+P8Af//+AAAAAAAf//AAAfj+AB///gAAAAAAH//gAAD4+AAP//4A\n        AAAAAB//wAAA+PgAD//8AAAAAAAf/8AAAHjwAAf//AAAAAAAH//AAAB48AAAAAAAAAAAAAAAAAAAePAA\n        AAAAAAAAAAAAAAAAAHjwAAAAAAAAAAAAAAAAAAB48AAAAAAAAAAAAAAAAAAAePAAAAAAAAAAAAAAAAAA\n        AHjwAAAAAAAAAAAAAAAAAAB48AAAAAAAAAAAAAAAAAAAePAAAAAAAAAAAAAAAAAAAHjwAAf//AAAAAAA\n        H//AAAB4+AAP//wAAAAAAB//wAAA+PwAD//+AAAAAAAf/8AAAPj+AD///gAAAAAAH//gAAH4/4D///4A\n        AAAAAB//8AAB+P//////AAAAAAA///gAA/j//////wAAAAAAP//8AA/4//////+AAAAAAH///4A/+P//\n        ////gAAAAAB///////j//////4AAAAAAf//////4//////8AAAAAAD//////+P/////+AAAAAAAf////\n        //j//////AAAAAAAD//////4//////gAAAAAAAf/////+P/////wAAAAAAAD//////j/////4AAAAAAA\n        Af/////4/////8ABwAAA4AD/////+P////+AA/AAA/AAf/////j///wBAAf/gH/4AD/////4///wAAAP\n        /4D//AAf////+P//wAAAH/+A//4ACD////j//4AAAD//gP//AAAH///4//8AAAB//4D//4AAA///+P//\n        AAAA//+A///AAAH///j//wAAAf//gP//4AAA///4//4AAAP//4D///AAAP//+P/+AAAB//+A///4AAB/\n        //j//gAAAf//gP///AAAf//4//4AAAH//4D///gAAH//+P/+AAAB//+A///4AAB///j//gAAAf//gP//\n        +AAAf//4//4AAAH//4D///gAAH//+P/+AAAB//+Af//8AAB///j//gAAAf/8AA///AAAf//4//4AAAP/\n        +AAH//wAAP//+P/+AAAD//AAA//8AAD///j//wAAA//gAAH//gAB///4//8AAAf/wAAA//8AA///+P//\n        gAAP/8AAAP//gAf///j//8AAH/+AAAD//+Af///4///wAD//gAAAf///////+P///AD//4AAAH//////\n        //j///////+AAAB////////4////////gAAAf///////+P///////4AAAH////////j///////+AAAB/\n        ///////4////////gAAAf///////+P///////4AAAH////////j///////+AAAB////////4////////\n        gAAA////////+P///////8AAAP////////j////////gAAH////////4////////4AAB////////+P//\n        //////AAA/////////j////////4AA/////////4/////////gA/////////+P//////////////////\n        //j////////////////////4////////////////////+P////////////////////g=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/ShowSheetForm.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class ShowSheetForm\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShowSheetForm));\n            this.listView = new System.Windows.Forms.ListView();\n            this.SuspendLayout();\n            // \n            // listView\n            // \n            this.listView.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.listView.FullRowSelect = true;\n            this.listView.GridLines = true;\n            this.listView.Location = new System.Drawing.Point(0, 0);\n            this.listView.Name = \"listView\";\n            this.listView.Size = new System.Drawing.Size(846, 422);\n            this.listView.TabIndex = 0;\n            this.listView.UseCompatibleStateImageBehavior = false;\n            this.listView.View = System.Windows.Forms.View.Details;\n            // \n            // ShowSheetForm\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(846, 422);\n            this.Controls.Add(this.listView);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MinimizeBox = false;\n            this.Name = \"ShowSheetForm\";\n            this.Text = \"ShowSheetForm\";\n            this.Load += new System.EventHandler(this.ShowSheetForm_Load);\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.ListView listView;\n\n\n    }\n}"
  },
  {
    "path": "FreeHttpControl/ShowSheetForm.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class ShowSheetForm : Form\n    {\n        public ShowSheetForm()\n        {\n            InitializeComponent();\n        }\n\n        private List<List<string>> listViewSource;\n        public ShowSheetForm(string name, List<List<string>> dataSource)\n            : this()\n        {\n            this.Text = string.IsNullOrEmpty(name) ? \"\" : name;\n            if (dataSource != null) { listViewSource = dataSource; }\n        }\n\n        private void ShowSheetForm_Load(object sender, EventArgs e)\n        {\n            int columnCount = 0;\n            if (listViewSource != null)\n            {\n                foreach(List<string> tempRowItem in listViewSource)\n                {\n                    if(tempRowItem!=null && tempRowItem.Count>0)\n                    {\n                        if(tempRowItem.Count>columnCount)\n                        {\n                            for(int i = columnCount;i<tempRowItem.Count;i++)\n                            {\n                                listView.Columns.Add((i + 1).ToString());\n                            }\n                            columnCount = tempRowItem.Count;\n                        }\n                        listView.Items.Add(new ListViewItem(tempRowItem.ToArray()));\n                    }\n                    else\n                    {\n                        listView.Items.Add(new ListViewItem());\n                    }\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/ShowSheetForm.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA\n        AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexAiS3sQmUt7EO5LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fu5lpxaZZacWIv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQM0t7EO5LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxbuZacWM////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        ECJLexDuS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxbuZacWIv///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQmUt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxaZ////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexDuS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFu7///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/SHUP/0t7\n        EP9LexD/SHUP/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7\n        EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0h1D/9LexD/S3sQ/0t7EP9LexD/SHUP/0t7EP9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1\n        D/9LexD/SHUP/0t7EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0h1D/9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9LexD/S3sQ/0h1D/////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1D/9LexD/S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0h1D/9LexD/SHUP/0t7\n        EP9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7EP9IdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1\n        D/9LexD/S3sQ/0h1D/9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/0t7EP////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9IdQ//S3sQ/0h1\n        D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//S3sQ/0h1\n        D/9IdQ//SHUP/0t7EP9LexD/SHUP/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0t7EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/SHUP/0t7\n        EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1D/////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEh1D/9LexD/SHUP/0t7EP9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0h1D/9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBIdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1\n        D/////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9IdQ//S3sQ/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8ASHUP/0t7EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7\n        EP9IdQ//////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexD/SHUP/0h1D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//S3sQ/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7\n        EP9IdQ//S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/SHUP/0h1\n        D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//SHUP/0h1D/9LexD/SHUP/0h1\n        D/9LexD/SHUP/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0h1D/9IdQ//SHUP/0t7EP9IdQ//SHUP/0t7EP9IdQ//SHUP/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0t7EP9IdQ//S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0h1D/9LexD/S3sQ/0h1\n        D/9IdQ//SHUP/0h1D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9LexD/SHUP/0h1\n        D/9LexD/SHUP/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0h1D/9LexD/SHUP/0t7EP9IdQ//SHUP/0h1D/9LexD/SHUP/0h1\n        D/9LexD/SHUP/0h1D/9LexD/SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/S3sQ/0h1D/////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0h1D/9LexD/SHUP/0h1D/9IdQ//SHUP/0h1D/9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0h1D/9LexD/S3sQ/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9IdQ//SHUP/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7\n        EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0h1D/9LexD/SHUP/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP9IdQ//S3sQ/0t7\n        EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9IdQ//S3sQ/0t7EP9LexD/S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/SHUP/0t7EP9LexD/SHUP/0t7EP9LexD/S3sQ/0h1D/9LexD/SHUP/0t7\n        EP9IdQ//S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0h1D/9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP//\n        /wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP//\n        /wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP//\n        /wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP//\n        /wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP///wD///8AZacWu2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP//\n        /wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP////8A////AP///wD///8A////AP///wD///8A////AGWn\n        Frtlpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AEt7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ////\n        /wD///8A////AP///wD///8A////AP///wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/////AP///wD///8A////AP///wD///8A////AP//\n        /wBlpxa7ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wBLexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP////8A////AP///wD///8A////AP///wD///8A////AGWnFrtlpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AEt7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/////wD///8A////AP///wD///8A////AP//\n        /wD///8AZacWu2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AS3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7EP9LexD/S3sQ/0t7\n        EP9LexD/////AP///wD///8A////AP///wD///8A////AP///wBlpxa7ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2Wn\n        Fv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/ZacW/2WnFv9lpxb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaKga7GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////ABoqBrsaKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/////wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AGioGuxoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wAaKga7GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv////8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ABoq\n        BrsaKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/////wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wAaKga7GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv////8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////ABoqBrsaKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG////\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaKga7GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////ABoqBpkaKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG7v///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AGioGRBoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgaZ////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8AGioGuxoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG7hoqBiL///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaKgYRGioGzBoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bu4aKgYz////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8AGioGiBoqBt0aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBv8aKgb/GioG/xoq\n        Bv8aKgb/GioG/xoqBv8aKgb/GioG/xoqBu4aKgaZGioGIv///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ///////////////////////////////////////////////////////////AAAD/AAAAAAAAAAP/////\n        gAAA/wAAAAAAAAAB/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA\n        /////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAA\n        AAAAAP////8AAAD/AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/\n        AAAAAAAAAAD/////AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////\n        AAAA/wAAAAAAAAAA/////wAAAP8AAAAAAAAAAP////8AAAD/AAAAAAAAAAD/////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////////////////////////////////////////////8AAAAA\n        AAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////\n        AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA\n        /////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAA\n        AAAAAP////8AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAA/////4AAAAAAAAAAAAAAAf/////gAAAA\n        AAAAAAAAAAP/////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/ShowTextForm.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class ShowTextForm\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShowTextForm));\n            this.rtb_textInfo = new System.Windows.Forms.RichTextBox();\n            this.SuspendLayout();\n            // \n            // rtb_textInfo\n            // \n            this.rtb_textInfo.BackColor = System.Drawing.SystemColors.InactiveBorder;\n            this.rtb_textInfo.DetectUrls = false;\n            this.rtb_textInfo.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.rtb_textInfo.Location = new System.Drawing.Point(0, 0);\n            this.rtb_textInfo.Name = \"rtb_textInfo\";\n            this.rtb_textInfo.ReadOnly = true;\n            this.rtb_textInfo.Size = new System.Drawing.Size(878, 437);\n            this.rtb_textInfo.TabIndex = 0;\n            this.rtb_textInfo.Text = \"\";\n            // \n            // ShowTextForm\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(878, 437);\n            this.Controls.Add(this.rtb_textInfo);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MinimizeBox = false;\n            this.Name = \"ShowTextForm\";\n            this.Text = \"ShowTextForm\";\n            this.Load += new System.EventHandler(this.ShowTextForm_Load);\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.RichTextBox rtb_textInfo;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/ShowTextForm.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class ShowTextForm : Form\n    {\n        public ShowTextForm()\n        {\n            InitializeComponent();\n        }\n\n        public ShowTextForm(string name,string textInfo):this()\n        {\n            this.Text = string.IsNullOrEmpty(name) ? \"\" : name;\n            if (textInfo!=null){ rtb_textInfo.AppendText(textInfo); }\n        }\n\n        private void ShowTextForm_Load(object sender, EventArgs e)\n        {\n\n        } \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/ShowTextForm.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAHQSAAB0EgAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrAAxb6wAMW+sADFvrAFxb6wHcW+sE7FvrB3xb6wl8W+sMzFvrD6xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sPTFvrDBxb6wj8W+sHPFvrBExb6wFcW+sAPFvrAAxb6wAMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sBfFvrA9xb6wb8W+sLbFvrDQxb6w7MW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sObFvrDMxb6wqcW+\n        sGLFvrA2xb6wEMW+sADFvrAAxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAAxb6wFcW+\n        sEbFvrCQxb6wwsW+sPTFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+sO/FvrC4xb6wh8W+sDjFvrAQxb6wAMW+\n        sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wAMW+sADFvrAGxb6wNcW+sHzFvrDIxb6w8MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w7cW+sL7FvrBsxb6wKMW+sALFvrAAxb6wAMW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sADFvrAUxb6wUMW+sKnFvrDjxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP7FvrDcxb6wm8W+sD/FvrALxb6wAMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+\n        sADFvrAVxb6wYcW+sL7FvrD6xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w78W+sKnFvrBNxb6wDcW+\n        sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAQxb6wX8W+sMPFvrD4xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPHFvrCuxb6wScW+sAjFvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAJxb6wTcW+\n        sL3FvrD4xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w+8W+sOXFvrDWxb6wzcW+sMnFvrDGxb6wxcW+\n        sMXFvrDFxb6wxcW+sMbFvrDHxb6wycW+sM/FvrDZxb6w6cW+sP3FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrDuxb6wo8W+sDvFvrADxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sADFvrAAxb6wLsW+sJzFvrDxxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w8MW+sOTFvrC4xb6wiMW+\n        sHDFvrBcxb6wOcW+sCHFvrATxb6wC8W+sAfFvrAFxb6wBcW+sAXFvrAFxb6wBsW+sAfFvrAMxb6wFcW+\n        sCXFvrBAxb6wYcW+sHPFvrCPxb6wxMW+sOnFvrDyxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w6cW+sIXFvrAfxb6wAMW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wD8W+sGvFvrDfxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP3FvrDdxb6wrcW+sILFvrBBxb6wH8W+sA/FvrACxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+\n        sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sATFvrATxb6wJMW+\n        sEzFvrCNxb6wtMW+sOfFvrD+xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+sMjFvrBYxb6wBsW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wAMW+sDHFvrCwxb6w+MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/MW+sNnFvrCixb6wVsW+sCvFvrAIxb6wAMW+sADFvrAAxb6wAMW+\n        sADFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrANxb6wMsW+sGLFvrCzxb6w4MW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sPTFvrCRxb6wI8W+sADFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sAjFvrBoxb6w2sW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w8cW+sLPFvrBnxb6wJMW+\n        sAPFvrAAxb6wAMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sAfFvrAvxb6wdMW+sMfFvrD0xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDNxb6wR8W+sAHFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sADFvrAYxb6wjMW+sPbFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w48W+sJ3FvrBCxb6wDsW+sADFvrAAxb6wAMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wAMW+\n        sADFvrAAxb6wFsW+sFHFvrCpxb6w7sW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrDlxb6weMW+sA3FvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wMsW+sLrFvrD8xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w4cW+sI7FvrAzxb6wBMW+sADFvrAAxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sArFvrBCxb6wocW+\n        sOvFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD8xb6wnMW+\n        sB3FvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+\n        sEXFvrDVxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w78W+\n        sJjFvrAzxb6wAsW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sADFvrAGxb6wQ8W+sKvFvrD0xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wtcW+sC7FvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sALFvrBXxb6w3sW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w+cW+sLbFvrBGxb6wB8W+sADFvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sADFvrAAxb6wDsW+sFzFvrDIxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6wz8W+sETFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAGxb6wacW+\n        sOfFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sN/FvrBvxb6wEcW+\n        sADFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wAMW+sB7FvrCFxb6w6cW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w5MW+sFDFvrAAxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wBcW+sHPFvrDxxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sPvFvrCvxb6wMMW+sADFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sAPFvrBHxb6wwsW+sP7FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w58W+sFPFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sATFvrBzxb6w8cW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDoxb6wdcW+sBHFvrAAxb6wAMW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+\n        sADFvrAcxb6wk8W+sPjFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w5sW+\n        sFPFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sADFvrAExb6wbMW+sO/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w1sW+sE3FvrACxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAKxb6wZ8W+sN3FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w58W+sFDFvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sFzFvrDrxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+sK/FvrArxb6wAMW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sADFvrAAxb6wP8W+sM7FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w5MW+sETFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wAMW+sADFvrBHxb6w4MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP3FvrCaxb6wGcW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAwD0qQMA9KkDAPSpAwD0qQMA9KkDAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAAxb6wLsW+\n        sMHFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wz8W+sC7FvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wN8W+sNXFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD6xb6wjMW+sBDFvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDAPSpAwD0qQMA9KkDAPSp\n        AwD0qQMA9KkDAPSpAwD0qQMA9KkDAPSpAwD0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wIMW+sKzFvrD9xb6w/8W+sP/FvrD/xb6w/8W+\n        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\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+sJXFvrANxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDMvSpA9v0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA7X0qQMa9KkDAPSpAwAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wIMW+\n        sMHFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDNxb6wI8W+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wGMW+sLrFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrCrxb6wF8W+\n        sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA9KkDAPSpAwn0qQOk9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA4L0qQMC9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wLsW+sM7FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrCRxb6wBsW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sAHFvrB5xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6wy8W+sCjFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDRfSpA+30qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD4PSpAyb0qQMAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrAAxb6wP8W+sN3FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPTFvrBYxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wO8W+sOTFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sOTFvrBFxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA9KkDAPSpAwD0qQOI9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP69KkDVPSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wZ8W+sPjFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sMjFvrAfxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sA3FvrCqxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD3xb6wasW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDB/SpA570qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOH9KkDAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sADFvrAKxb6wk8W+sP7FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+\n        sIXFvrADxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wW8W+sPbFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sKTFvrAMxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAPSpAwD0qQMP9KkDsfSpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA6v0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAcxb6wwsW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w6cW+sDvFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sBvFvrDGxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrDRxb6wKMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO19KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsvSp\n        AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrBHxb6w6cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6wo8W+sAjFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrAAxb6wccW+sPzFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w9cW+sGHFvrAAxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sAPFvrCFxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDuxb6wScW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sCDFvrDRxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrCmxb6wCsW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sB7FvrDIxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrCuxb6wDcW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wdMW+sP7FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w48W+sDfFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wAMW+sFzFvrD0xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPHFvrBNxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sBvFvrDPxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrCKxb6wAsW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSp\n        A7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wDsW+sKvFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sKnFvrALxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wZ8W+sPnFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w3MW+sCfFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wQ8W+sOvFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w78W+\n        sD/FvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sBLFvrC5xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrB+xb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSp\n        AxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAGxb6wocW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wm8W+sALFvrAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wR8W+sPXFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w2sW+sCXFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrBCxb6w7sW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrDcxb6wKMW+sADFvrAAAAAAAAAAAADFvrAAxb6wAMW+sAPFvrCbxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrCDxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSp\n        AwD0qQMR9KkDtPSpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sArFvrCpxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP7FvrBsxb6wAMW+sAAAAAAAAAAAAMW+\n        sADFvrAAxb6wI8W+sNfFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w4sW+sDDFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO09KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsfSpAwAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sFHFvrD0xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sL7FvrAQxb6wAAAAAAAAAAAAxb6wAMW+sADFvrBlxb6w/sW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrCgxb6wBcW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wFsW+sMfFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w7cW+sDjFvrAAxb6wAAAA\n        AADFvrAAxb6wCcW+sKPFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w9MW+sE3FvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA7H0qQMAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wdMW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6wh8W+sADFvrAAAAAAAMW+sADFvrAixb6w5cW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrDJxb6wFsW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA9KkDAPSpAxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sADFvrAvxb6w4MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrC4xb6wEMW+\n        sADFvrAAxb6wAMW+sFrFvrD1xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sILFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sAfFvrCzxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sO/FvrA2xb6wAMW+sADFvrAAxb6wmMW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrDsxb6wRcW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sGLFvrD+xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+\n        sGLFvrAAxb6wAMW+sBXFvrDAxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sMzFvrARxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO09KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsfSp\n        AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wMsW+\n        sOfFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wqcW+sAPFvrAAxb6wN8W+sPHFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6wlMW+sALFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrANxb6wtMW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrDMxb6wFcW+sADFvrBVxb6w/cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP7FvrBTxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrCNxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sObFvrBExb6wAcW+sI3FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w6MW+sDLFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sEzFvrDyxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sHPFvrAHxb6wv8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrC6xb6wEcW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSp\n        A7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wJMW+sOnFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wj8W+sBjFvrDNxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sJ/FvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrATxb6wxMW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrDBxb6wOcW+sODFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD9xb6we8W+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSp\n        AxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sATFvrCPxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPTFvrBhxb6w98W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPHFvrBIxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sHPFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sHfFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w6sW+\n        sCrFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSp\n        AwD0qQMR9KkDtPSpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wYcW+sP3FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6whMW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDnxb6wHsW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO09KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsfSpAwAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrBAxb6w6cW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrCYxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sM7FvrAVxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sCXFvrDZxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sLHFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wrMW+sAzFvrAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA7H0qQMAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wFcW+\n        sM/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wyMW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrCWxb6wBsW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA9KkDAPSpAxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAMxb6wycW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrDdxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sIfFvrACxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sAfFvrDHxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sO7FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6wf8W+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wBsW+sMbFvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w+MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrB6xb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO09KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsfSp\n        AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAFxb6wxcW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD9xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sHnFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sAXFvrDFxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sPrFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wesW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wBcW+sMXFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w8cW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrB+xb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAFxb6wxcW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrDhxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sIXFvrACxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSp\n        A7T0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQOx9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sAfFvrDGxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sMzFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6wk8W+sAXFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMR9KkDtPSpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA7H0qQMAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wC8W+sMnFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6wtcW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrCnxb6wC8W+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSp\n        AxH0qQO09KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkDsfSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrATxb6wzcW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrCdxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sMbFvrATxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDEfSpA7T0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQOx9KkDAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sCHFvrDWxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sIjFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w48W+\n        sBzFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSp\n        AwD0qQMR9KkDtfSpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA7L0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wOcW+sOXFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wecW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDqxb6wJsW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAxD0qQOy9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDrPSpAwAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrBcxb6w+8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrBpxb6w/MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sO/FvrBAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAD0qQMA9KkDCfSpA6L0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQOO9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sHDFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sEDFvrDkxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w+sW+sHDFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDivSpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD+vSpA1z0qQMAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrACxb6wiMW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD6xb6wHcW+sNDFvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6wnMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA9KkDAPSpAwD0qQNR9KkD8/SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQPn9KkDK/SpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sA/FvrC4xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sMzFvrAJxb6wxMW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrCyxb6wDMW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDAPSpAxH0qQO99KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA5D0qQMG9KkDAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wH8W+\n        sOTFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wl8W+sALFvrCbxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sN/FvrArxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAD0qQMA9KkDAPSpAz70qQPf9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQPS9KkDJ/SpAwD0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrBBxb6w8MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrB3xb6wAMW+sF3FvrD9xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/MW+sEvFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDAPSp\n        A1v0qQPg9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD2fSpAz/0qQMA9KkDAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sILFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w7MW+sE7FvrAAxb6wPMW+sPXFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6whcW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDAfSpA0P0qQO49KkD9/SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD7/SpA6P0qQMx9KkDAPSpAwD0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAIxb6wrcW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrDQxb6wHcW+sADFvrAcxb6wysW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDFxb6wDMW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSp\n        AwD0qQMA9KkDAPSpAxH0qQNP9KkDh/SpA7b0qQPL9KkDrvSpA3r0qQND9KkDCfSpAwD0qQMA9KkDAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sCvFvrDdxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sLbFvrAFxb6wAMW+sALFvrCgxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sOXFvrA4xb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDAPSpAwD0qQMC9KkDCvSp\n        Aw70qQMJ9KkDAPSpAwD0qQMA9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wVsW+sP3FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6wb8W+sADFvrAAxb6wAMW+sGjFvrD5xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sHTFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAD0qQMA9KkDAPSpAwD0qQMA9KkDAPSpAwD0qQMA9KkDAPSpAwAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sAPFvrCixb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPTFvrA9xb6wAMW+sADFvrAAxb6wKcW+\n        sObFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6wvMW+sBHFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wJMW+sNnFvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6wwsW+sBfFvrAAAAAAAMW+sADFvrANxb6wssW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrDuxb6wPcW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrBnxb6w/MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrCQxb6wAMW+sAAAAAAAxb6wAMW+\n        sADFvrBtxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrCVxb6wAcW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wDsW+sLPFvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w8MW+sEbFvrAAxb6wAAAAAADFvrAAxb6wAMW+sC7FvrDfxb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sNfFvrAmxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDAPSpAwD0qQMA9KkDAPSpAwD0qQMAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrBCxb6w8cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDIxb6wFcW+sAAAAAAAAAAAAAAA\n        AADFvrAAxb6wBcW+sKrFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+sG3FvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDAPSp\n        AwD0qQMA9KkDAPSpAwD0qQMA9KkDAPSpAwD0qQMA9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        sPvFvrBwxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAwD0qQMm9KkDxvSp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDpfSpAxP0qQMA9KkDAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wB8W+sJjFvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sL7FvrAUxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAsW+\n        sITFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sNfFvrAoxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAPSpAwD0qQMA9KkDB/SpA5v0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP89KkDdfSpAwH0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sADFvrBGxb6w78W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD4xb6wYcW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wLMW+sNzFvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sJLFvrAExb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAwD0qQM79KkD5/Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQPU9KkDH/Sp\n        AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wEcW+sLbFvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sMPFvrAVxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrABxb6whMW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w68W+sEbFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAD0qQMA9KkDAPSpA4H0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA/n0qQNP9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sADFvrBvxb6w+cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD4xb6wX8W+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAmxb6w1cW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6wxsW+sBzFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMG9KkDnfSp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A4T0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wMMW+sN/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sL3FvrAQxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAxb6wAMW+sADFvrB0xb6w+8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD9xb6whcW+\n        sATFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA9KkDAPSpAw30qQOs9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkDovSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sBHFvrCvxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDxxb6wTcW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sBfFvrDDxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDxxb6wVcW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0qQMA9KkDCfSp\n        A6P0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQOQ9KkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wVMW+sOzFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPfFvrB3xb6wBcW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAD0qQMA9KkDAPSpA0L0qQPi9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD//Sp\n        A//0qQPV9KkDKvSpAwD0qQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sBDFvrCaxb6w/sW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w2sW+sDHFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAFxb6whsW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sO3FvrBkxb6wA8W+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSpAwD0qQMA9KkDAfSpA2H0qQPk9KkD//Sp\n        A//0qQP/9KkD//SpA//0qQP/9KkD//SpA//0qQP/9KkD3fSpA0T0qQMA9KkDAAAAAAAAAAAAAAAAAAAA\n        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\n        sP/FvrDVxb6wMsW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sALFvrBsxb6w9cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sO3FvrB3xb6wC8W+\n        sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAD0qQMA9KkDAPSpAwD0qQMA9KkDAPSpAwD0qQMA9KkDAPSpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wF8W+sJXFvrD7xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w3sW+sEXFvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sAXFvrB7xb6w+MW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPfFvrCZxb6wF8W+sADFvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrAAxb6wAMW+sCjFvrCrxb6w/sW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sOfFvrBXxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wAMW+sAvFvrCIxb6w+cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrCyxb6wK8W+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sADFvrBFxb6wy8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDxxb6wacW+sALFvrAAxb6wAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sA/FvrCNxb6w+cW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDQxb6wVcW+sATFvrAAxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sADFvrAMxb6wasW+sOTFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w8cW+\n        sHPFvrAGxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sA/FvrCNxb6w+cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrDxxb6whcW+sBzFvrAAxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAAxb6wKMW+sKTFvrD3xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sO/FvrBzxb6wBcW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sA/FvrCIxb6w+MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD9xb6wxsW+\n        sEbFvrAExb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wCsW+\n        sGHFvrDRxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDrxb6wbMW+\n        sATFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sAvFvrB7xb6w9cW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w68W+sJLFvrAoxb6wAMW+sADFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wAMW+sADFvrAAxb6wAsW+sDfFvrCmxb6w9cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w4MW+sFzFvrAExb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wAMW+sAXFvrBsxb6w68W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sNfFvrBwxb6wGsW+sADFvrAAxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sCfFvrCKxb6w48W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sNXFvrBHxb6wAMW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sALFvrBOxb6wz8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPvFvrDHxb6wZsW+\n        sBfFvrAAxb6wAMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrAAxb6wAMW+sCXFvrB+xb6w3MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP7FvrDExb6wN8W+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAuxb6wtcW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD5xb6wyMW+sG3FvrAmxb6wAcW+sADFvrAAxb6wAMW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wBcW+sDDFvrCDxb6w2sW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD3xb6wlMW+sB7FvrAAxb6wAMW+\n        sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+\n        sADFvrAXxb6whsW+sOzFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/sW+sNfFvrCVxb6wPcW+sBHFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wFsW+\n        sE3FvrCgxb6w4sW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w4sW+sG3FvrAKxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAFxb6wVMW+sM7FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrDuxb6wvMW+\n        sHTFvrA4xb6wDMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+\n        sADFvrAAxb6wAMW+sALFvrARxb6wRcW+sILFvrDJxb6w9MW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sLrFvrA6xb6wAcW+sADFvrAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wAMW+sADFvrAAxb6wI8W+sJbFvrDuxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sOXFvrDFxb6whcW+sEvFvrArxb6wDMW+\n        sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+\n        sADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sADFvrAAxb6wEcW+sDLFvrBTxb6wlMW+sMzFvrDsxb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sOTFvrB5xb6wGMW+sADFvrAAxb6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wBsW+\n        sEvFvrDDxb6w+8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/MW+sN/FvrCyxb6wnMW+sHDFvrBAxb6wJsW+sBzFvrATxb6wC8W+\n        sAXFvrACxb6wAMW+sADFvrAAxb6wAMW+sADFvrACxb6wBsW+sAzFvrAVxb6wHsW+sCrFvrBIxb6we8W+\n        sJ/FvrC6xb6w6MW+sP7FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPbFvrCqxb6wO8W+sAHFvrAAxb6wAMW+sAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sBfFvrB0xb6w1cW+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w+sW+sO/FvrDqxb6w48W+sMbFvrCnxb6wk8W+sIXFvrB+xb6wesW+sHnFvrB6xb6wf8W+\n        sIfFvrCWxb6wrMW+sM7FvrDnxb6w6sW+sPHFvrD9xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPzFvrDGxb6wW8W+\n        sA3FvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+\n        sADFvrAAxb6wAMW+sADFvrAmxb6whMW+sNzFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP7FvrDRxb6wccW+sBvFvrAAxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrABxb6wLMW+\n        sITFvrDbxb6w/cW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sPnFvrDPxb6wdMW+sCDFvrAAxb6wAMW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+sADFvrAAxb6wAsW+sCbFvrB6xb6wy8W+sPvFvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sPXFvrC5xb6wZ8W+sBvFvrAAxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6wAMW+\n        sADFvrAAxb6wAMW+sADFvrAbxb6wVcW+sKrFvrDfxb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/sW+sNfFvrCbxb6wR8W+sBLFvrAAxb6wAMW+sADFvrAAxb6wAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrAAxb6wAMW+sADFvrAAxb6wBcW+\n        sC7FvrBtxb6wssW+sObFvrD5xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD1xb6w5cW+sKPFvrBlxb6wI8W+\n        sAPFvrAAxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+sADFvrANxb6wKcW+sGjFvrCgxb6wysW+\n        sPXFvrD9xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/cW+\n        sPHFvrDAxb6wmMW+sFrFvrAixb6wCcW+sADFvrAAxb6wAMW+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AADFvrAAxb6wAMW+sADFvrAAxb6wAMW+sALFvrAcxb6wPMW+sF3FvrCbxb6wxMW+sNDFvrDkxb6w/MW+\n        sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+\n        sP/FvrD/xb6w98W+sODFvrDNxb6wv8W+sI3FvrBVxb6wN8W+sBXFvrAAxb6wAMW+sADFvrAAxb6wAMW+\n        sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sADFvrAAxb6wAMW+\n        sADFvrAAxb6wAMW+sALFvrAJxb6wHcW+sEDFvrBpxb6wecW+sIjFvrCdxb6wtcW+sMzFvrDhxb6w8cW+\n        sPrFvrD9xb6w+MW+sO7FvrDdxb6wyMW+sLHFvrCYxb6whMW+sHfFvrBhxb6wOcW+sBjFvrAHxb6wAcW+\n        sADFvrAAxb6wAMW+sADFvrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA///////gAAAAAAP////////////+AAAAAAAAf////////////AAAAAAA\n        AB///////////+AAAAAAAAAD//////////+AAAAAAAAAAP/////////+AAAAAAAAAAB//////////AAA\n        AAAAAAAAH/////////AAAAAAAAAAAAf////////gAAAAAAAAAAAD////////gAAAAAAAAAAAAP//////\n        /wAAAAA//gAAAAA///////wAAAAP///4AAAAP//////4AAAAP////gAAAB//////8AAAA//////AAAAH\n        /////+AAAB//////+AAAA//////AAAA///////4AAAH/////AAAA////////gAAA/////wAAA///////\n        /+AAAH////4AAAf////////wAAA////8AAAf/////////AAAH///+AAAf/////////8AAB////AAAP//\n        //gP////AAAP///wAAH////AAf///8AAA///4AAH////gAH////gAAP//8AAB////wAAf///8AAB//+A\n        AA////4AAD////gAAf//gAA////+AAA////8AAD//wAAP////gAAP////gAAf/4AAH////wAAD////8A\n        AH/+AAH////8AAA/////gAA//AAB/////AAAP////8AAP/wAA/////wAAD/////AAB/4AAP////8AAA/\n        ////8AAP8AAH/////AAAP/////AAD/AAD/////wAAD/////4AAfwAB/////8AAA/////+AAH4AAf////\n        /AAAP/////wAB+AAP/////wAAD/////+AAPgAH/////8AAA//////gADwAB//////AAAP/////8AAYAA\n        f/////wAAD//////AAGAAP/////8AAA//////4ABgAD//////AAAP/////+AAIAB//////wAAD//////\n        wACAA//////8AAA//////8AAAAP//////AAAP//////AAAAD//////wAAD//////4AAAA//////8AAA/\n        /////+AAAAf//////AAAP//////gAAAH//////wAAD//////8AAAB//////8AAA///////AAAAf/////\n        /AAAP//////4AAAP//////wAAD//////+AAAD//////8AAA///////gAAA///////AAAP//////4AAAf\n        //////wAAD//////+AAAH//////8AAA///////gAAB///////AAAP//////8AAAf//////wAAD//////\n        /AAAH//////8AAA///////wAAB///////AAAP//////8AAAf//////wAAD///////AAAH//////8AAA/\n        //////wAAB///////AAAP//////8AAAf//////wAAD///////AAAH//////8AAA///////wAAB//////\n        /AAAP//////8AAAf//////wAAD///////AAAH//////8AAA///////wAAB///////AAAP//////8AAAf\n        //////wAAD//////+AAAH//////8AAA///////gAAB///////AAAP//////4AAAP//////wAAD//////\n        +AAAD//////8AAA///////gAAAf//////AAAP//////4AAAH//////4AAD//////8AAAB//////+AAB/\n        //////AAAAf//////wAAf//////gAAAD//////+AAP//////4AAAA///////wAP//////+AAAAP/////\n        //AH///////gAAAB////////////////wACAAf///////////////8AAgAD////////////////AAIAA\n        ///////wD///////gAHAAP//////4AP//////wABwAB//////4AA//////8AAeAAf/////8AAH/////+\n        AAHgAD/////+AAB//////gAD4AAf/////gAAP/////wAB/AAH/////wAAD/////4AAfwAA/////8AAA/\n        ////+AAH8AAP/////AAAP/////AAD/gAA/////wAAD/////wAA/8AAP////8AAA/////4AAf/AAB////\n        /AAAP////8AAH/4AAP////wAAD////+AAD/+AAB////8AAA/////gAB//wAAf////AAAP////gAAf/+A\n        AD////4AAD////wAAP//gAAf///+AAB////8AAH//8AAD////wAAf///8AAB///AAAP///+AAP///+AA\n        A///8AAB////wAP////gAAf///AAAP////AH////gAAH///4AAA//////////gAAD////AAAP///////\n        //wAAB////4AAA/////////4AAA/////AAAD////////4AAAf////4AAAf///////8AAAP/////AAAB/\n        //////4AAAD/////4AAAD//////4AAAD//////AAAAP/////8AAAB//////4AAAAf////wAAAA//////\n        /AAAAAf///AAAAAf//////8AAAAB//+AAAAAf///////AAAAAAAAAAAAAP///////8AAAAAAAAAAAAH/\n        ///////wAAAAAAAAAAAH////////+AAAAAAAAAAAD/////////4AAAAAAAAAAD//////////gAAAAAAA\n        AAD//////////8AAAAAAAAAB///////////4AAAAAAAAD////////////wAAAAAAAH/////////////A\n        AAAAAAD/////////////+AAAAAAf//////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/SortRule.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class SortRule\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SortRule));\n            this.SuspendLayout();\n            // \n            // SortRule\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(745, 440);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"SortRule\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"Sort Rule\";\n            this.Load += new System.EventHandler(this.SortRule_Load);\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n    }\n}"
  },
  {
    "path": "FreeHttpControl/SortRule.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class SortRule : Form\n    {\n        MyListView _listView;\n     \n\n        public SortRule(MyListView listView)\n        {\n            _listView = listView;\n        }\n\n        private void SortRule_Load(object sender, EventArgs e)\n        {\n            this.Controls.Add(_listView);\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/SortRule.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAA\n        AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAaPr6HGj6+8Bo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vpYaPr4A////AP///wD///8A////AP///wAaPr7wBSu//wQq\n        v/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQq\n        v/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//wQq\n        v/8EKr//BCq//wQqv/8EKr//BCq//wQqv/8EKr//BCq//xk9vv8aPr4J////AP///wD///8A////AP//\n        /wAaPr7wCDHD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcw\n        w/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcw\n        w/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/wcww/8HMMP/BzDD/xo+vv8aPr4A////AP//\n        /wD///8A////AP///wAaPr7wCzjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4\n        xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4\n        xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/wo4xv8KOMb/CjjG/xo+\n        vv8aPr4A////AP///wD///8A////AP///wAaPr7wD0DK/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5A\n        y/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5A\n        y/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5Ay/8OQMv/DkDL/w5A\n        y/8OQMv/DkDL/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wEkjO/xJJz/8SSc//EknP/xJJ\n        z/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJ\n        z/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJz/8SSc//EknP/xJJ\n        z/8SSc//EknP/xJJz/8SSc//EknP/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wF1LT/xdT\n        1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT\n        1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT\n        1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xdT1P8XU9T/F1PU/xo+vv8aPr4A////AP///wD///8A////AP//\n        /wAaPr7wG1vX/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd\n        2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd\n        2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xtd2f8bXdn/G13Z/xo+vv8aPr4A////AP//\n        /wD///8A////AP///wAaPr7wIGXc/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn\n        3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn\n        3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/yBn3v8gZ97/IGfe/xo+\n        vv8aPr4A////AP///wD///8A////AP///wAaPr7wI23g/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw\n        4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw\n        4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw4v8kcOL/JHDi/yRw\n        4v8kcOL/JHDi/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wJ3Xl/yh45/8oeOf/KHjn/yh4\n        5/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh4\n        5/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh45/8oeOf/KHjn/yh4\n        5/8oeOf/KHjn/yh45/8oeOf/KHjn/xo+vv8aPr4A////AP///wD///8A////AP///wAaPr7wKnzn/yuA\n        6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA\n        6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA\n        6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/yuA6v8rgOr/K4Dq/xo+vv8aPr4A////AP///wD///8A////AP//\n        /wAaPr7wNJf7/zyu//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv\n        //88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///PK///zyv\n        //88r///PK///zyv//88r///PK///zyv//88r///PK///zyv//88r///Np3//xo+vv8aPr4A////AP//\n        /wD///8A////AP///wAaPr6HGj6+8Bo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+vv8aPr7/Gj6+/xo+\n        vpYaPr4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//\n        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///////8AAP///////wAA////////\n        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//\n        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA4AAAAAAH\n        AADgAAAAAAMAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAOAA\n        AAAABwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAP///////wAA////////\n        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//\n        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////\n        AAA=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/StaticDataAddWindow.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class StaticDataAddWindow\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(StaticDataAddWindow));\n            this.comboBox_CaseStaticDataClass = new System.Windows.Forms.ComboBox();\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.comboBox_CaseStaticDataType = new System.Windows.Forms.ComboBox();\n            this.lb_info_2 = new System.Windows.Forms.Label();\n            this.tb_key = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.tb_value = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.pb_confirm = new FreeHttp.FreeHttpControl.MyEnabledPictureButton();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_confirm)).BeginInit();\n            this.SuspendLayout();\n            // \n            // comboBox_CaseStaticDataClass\n            // \n            this.comboBox_CaseStaticDataClass.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.comboBox_CaseStaticDataClass.FormattingEnabled = true;\n            this.comboBox_CaseStaticDataClass.Location = new System.Drawing.Point(72, 41);\n            this.comboBox_CaseStaticDataClass.Name = \"comboBox_CaseStaticDataClass\";\n            this.comboBox_CaseStaticDataClass.Size = new System.Drawing.Size(167, 20);\n            this.comboBox_CaseStaticDataClass.TabIndex = 14;\n            this.comboBox_CaseStaticDataClass.SelectedIndexChanged += new System.EventHandler(this.comboBox_CaseStaticDataClass_SelectedIndexChanged);\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(8, 44);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(59, 12);\n            this.lb_info_1.TabIndex = 15;\n            this.lb_info_1.Text = \"DataType:\";\n            // \n            // comboBox_CaseStaticDataType\n            // \n            this.comboBox_CaseStaticDataType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.comboBox_CaseStaticDataType.FormattingEnabled = true;\n            this.comboBox_CaseStaticDataType.Location = new System.Drawing.Point(242, 41);\n            this.comboBox_CaseStaticDataType.Name = \"comboBox_CaseStaticDataType\";\n            this.comboBox_CaseStaticDataType.Size = new System.Drawing.Size(185, 20);\n            this.comboBox_CaseStaticDataType.TabIndex = 16;\n            this.comboBox_CaseStaticDataType.SelectedIndexChanged += new System.EventHandler(this.comboBox_CaseStaticDataType_SelectedIndexChanged);\n            // \n            // lb_info_2\n            // \n            this.lb_info_2.Font = new System.Drawing.Font(\"宋体\", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_2.ForeColor = System.Drawing.Color.Maroon;\n            this.lb_info_2.Location = new System.Drawing.Point(8, 72);\n            this.lb_info_2.Name = \"lb_info_2\";\n            this.lb_info_2.Size = new System.Drawing.Size(419, 106);\n            this.lb_info_2.TabIndex = 17;\n            this.lb_info_2.Text = \"StaticDataInfo\";\n            // \n            // tb_key\n            // \n            this.tb_key.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));\n            this.tb_key.Location = new System.Drawing.Point(7, 188);\n            this.tb_key.Name = \"tb_key\";\n            this.tb_key.Size = new System.Drawing.Size(123, 21);\n            this.tb_key.TabIndex = 18;\n            this.tb_key.WatermarkText = \"Static Data Name\";\n            // \n            // tb_value\n            // \n            this.tb_value.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));\n            this.tb_value.Location = new System.Drawing.Point(135, 188);\n            this.tb_value.Name = \"tb_value\";\n            this.tb_value.Size = new System.Drawing.Size(265, 21);\n            this.tb_value.TabIndex = 19;\n            this.tb_value.WatermarkText = \"Initialize Data Format\";\n            // \n            // pb_confirm\n            // \n            this.pb_confirm.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));\n            this.pb_confirm.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_confirm.DisEnabledImage = null;\n            this.pb_confirm.EnabledImage = null;\n            this.pb_confirm.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_confirm.Image\")));\n            this.pb_confirm.Location = new System.Drawing.Point(405, 187);\n            this.pb_confirm.Name = \"pb_confirm\";\n            this.pb_confirm.Size = new System.Drawing.Size(23, 23);\n            this.pb_confirm.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pb_confirm.TabIndex = 20;\n            this.pb_confirm.TabStop = false;\n            this.pb_confirm.Click += new System.EventHandler(this.pb_confirm_Click);\n            // \n            // StaticDataAddWindow\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(436, 218);\n            this.Controls.Add(this.lb_info_2);\n            this.Controls.Add(this.pb_confirm);\n            this.Controls.Add(this.tb_value);\n            this.Controls.Add(this.tb_key);\n            this.Controls.Add(this.comboBox_CaseStaticDataType);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.comboBox_CaseStaticDataClass);\n            this.IsShowHideBox = false;\n            this.MaximizeBox = false;\n            this.Name = \"StaticDataAddWindow\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"Add Static Data\";\n            this.WindowName = \"Add Static Data\";\n            this.Load += new System.EventHandler(this.StaticDataAdd_Load);\n            this.Controls.SetChildIndex(this.comboBox_CaseStaticDataClass, 0);\n            this.Controls.SetChildIndex(this.lb_info_1, 0);\n            this.Controls.SetChildIndex(this.comboBox_CaseStaticDataType, 0);\n            this.Controls.SetChildIndex(this.tb_key, 0);\n            this.Controls.SetChildIndex(this.tb_value, 0);\n            this.Controls.SetChildIndex(this.pb_confirm, 0);\n            this.Controls.SetChildIndex(this.lb_info_2, 0);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_confirm)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.ComboBox comboBox_CaseStaticDataClass;\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.ComboBox comboBox_CaseStaticDataType;\n        private System.Windows.Forms.Label lb_info_2;\n        private WatermakTextBox tb_key;\n        private WatermakTextBox tb_value;\n        private MyEnabledPictureButton pb_confirm;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/StaticDataAddWindow.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class StaticDataAddWindow : MyBaseInfoWindow\n    {\n        internal StaticDataAddWindow(ActuatorStaticDataCollection yourActuatorStaticDataCollection, int yourIndex, Action<FreeHttp.FreeHttpControl.StaticDataManageWindow.ShowRunTimeParameterType> yourShowInfoChange)\n        {\n            InitializeComponent();\n            actuatorStaticDataCollection = yourActuatorStaticDataCollection;\n            startIndex = yourIndex;\n            ShowInfoChange = yourShowInfoChange;\n        }\n\n        Action<FreeHttp.FreeHttpControl.StaticDataManageWindow.ShowRunTimeParameterType> ShowInfoChange;\n        ActuatorStaticDataCollection actuatorStaticDataCollection = null;\n        BindingSource bs_DataClass = new BindingSource();\n        int startIndex;\n        //BindingSource bs_DataType = new BindingSource();\n        private void StaticDataAdd_Load(object sender, EventArgs e)\n        {\n            bs_DataClass.DataSource = CaseRunTimeDataTypeEngine.dictionaryStaticDataTypeSource;\n            comboBox_CaseStaticDataClass.DataSource = bs_DataClass;\n            comboBox_CaseStaticDataClass.DisplayMember = \"Key\";\n            //comboBox_CaseStaticDataClass.ValueMember = \"Value\";\n            try\n            {\n                comboBox_CaseStaticDataClass.SelectedIndex = startIndex;\n            }\n            catch\n            {\n                comboBox_CaseStaticDataClass.SelectedIndex = 0;\n            }\n            if(actuatorStaticDataCollection==null)\n            {\n                MessageBox.Show(\"actuatorStaticDataCollection is null\");\n                this.Close();\n            }\n        }\n\n        private void comboBox_CaseStaticDataClass_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            comboBox_CaseStaticDataType.DataSource = ((KeyValuePair<CaseStaticDataClass, List<CaseStaticDataType>>)comboBox_CaseStaticDataClass.SelectedItem).Value;\n        }\n\n        private void comboBox_CaseStaticDataType_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            List<string> tempInfoList = CaseRunTimeDataTypeEngine.dictionaryStaticDataAnnotation[(CaseStaticDataType)comboBox_CaseStaticDataType.SelectedItem];\n            lb_info_2.Text = string.Format(\"【{4}】:{0}\\r\\n【Data Format】: [{1}] [eg: {2}]\\r\\n{3}\",tempInfoList[4],tempInfoList[1],tempInfoList[2],tempInfoList[3],tempInfoList[0]);\n            tb_value.WatermarkText = tempInfoList[1];\n        }\n\n        private void pb_confirm_Click(object sender, EventArgs e)\n        {\n            if(tb_key.Text==\"\"|| tb_value.Text==\"\")\n            {\n                MessageBox.Show(\"the key or the value is empty ,please set it\", \"stop\", MessageBoxButtons.OK, MessageBoxIcon.Information);\n                FreeHttpWindow.MarkWarnControl(tb_key);\n                FreeHttpWindow.MarkWarnControl(tb_value);\n                return;\n            }\n            if(actuatorStaticDataCollection.IsHaveSameKey(tb_key.Text))\n            {\n                //DialogResult tempDs;\n                if (MessageBox.Show(string.Format(\"find the same data name in your data list ,do you want delete that repetitive data [{0}] fist\", tb_key.Text), \"Same Name\", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Cancel)\n                {\n                    return;\n                }\n                actuatorStaticDataCollection.RemoveStaticData(tb_key.Text, false);\n            }\n            string errMes=null;\n            if(!RunTimeStaticDataHelper.AddStaticDataToCollection(actuatorStaticDataCollection, (CaseStaticDataType)comboBox_CaseStaticDataType.SelectedItem, tb_key.Text, tb_value.Text,out errMes))\n            {\n                MessageBox.Show(string.Format(\"add static data fail \\r\\n{0}\",string.IsNullOrEmpty(errMes)?\"unknow error\":errMes), \"stop\", MessageBoxButtons.OK, MessageBoxIcon.Information);\n                FreeHttpWindow.MarkWarnControl(tb_value);\n                return;\n            }\n            if (ShowInfoChange!=null)\n            {\n                ShowInfoChange((FreeHttp.FreeHttpControl.StaticDataManageWindow.ShowRunTimeParameterType)(comboBox_CaseStaticDataClass.SelectedIndex));\n            }\n            this.Close();\n        }\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/StaticDataAddWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pb_confirm.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/StaticDataManageWindow.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class StaticDataManageWindow\n    {\n        private System.Windows.Forms.ListView listView_CaseParameter;\n        private System.Windows.Forms.ColumnHeader columnHeader1;\n        private System.Windows.Forms.ColumnHeader columnHeader3;\n        private System.Windows.Forms.Label lb_info_dataSouce;\n        private System.Windows.Forms.Label lb_info_parameter;\n        private System.Windows.Forms.Label lb_info_keyValue;\n        private System.Windows.Forms.ColumnHeader columnHeader2;\n\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(StaticDataManageWindow));\n            this.listView_CaseParameter = new System.Windows.Forms.ListView();\n            this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));\n            this.lb_info_dataSouce = new System.Windows.Forms.Label();\n            this.lb_info_parameter = new System.Windows.Forms.Label();\n            this.lb_info_keyValue = new System.Windows.Forms.Label();\n            this.pb_addStaticData = new System.Windows.Forms.PictureBox();\n            this.pb_delStaticData = new System.Windows.Forms.PictureBox();\n            this.tb_valueAdd = new System.Windows.Forms.TextBox();\n            this.tb_keyAdd = new System.Windows.Forms.TextBox();\n            this.label_info = new System.Windows.Forms.Label();\n            this.pb_edit = new FreeHttp.FreeHttpControl.MyEnabledPictureButton();\n            this.pb_next = new FreeHttp.FreeHttpControl.MyEnabledPictureButton();\n            this.pb_reset = new FreeHttp.FreeHttpControl.MyEnabledPictureButton();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_addStaticData)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_delStaticData)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_edit)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_next)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_reset)).BeginInit();\n            this.SuspendLayout();\n            // \n            // listView_CaseParameter\n            // \n            this.listView_CaseParameter.AllowDrop = true;\n            this.listView_CaseParameter.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\n            this.columnHeader1,\n            this.columnHeader2,\n            this.columnHeader3});\n            this.listView_CaseParameter.FullRowSelect = true;\n            this.listView_CaseParameter.Location = new System.Drawing.Point(4, 35);\n            this.listView_CaseParameter.Name = \"listView_CaseParameter\";\n            this.listView_CaseParameter.Size = new System.Drawing.Size(564, 328);\n            this.listView_CaseParameter.TabIndex = 14;\n            this.listView_CaseParameter.UseCompatibleStateImageBehavior = false;\n            this.listView_CaseParameter.View = System.Windows.Forms.View.Details;\n            this.listView_CaseParameter.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.listView_CaseParameter_ItemDrag);\n            this.listView_CaseParameter.SelectedIndexChanged += new System.EventHandler(this.listView_CaseParameter_SelectedIndexChanged);\n            this.listView_CaseParameter.DoubleClick += new System.EventHandler(this.listView_CaseParameter_DoubleClick);\n            // \n            // columnHeader1\n            // \n            this.columnHeader1.Text = \"Name\";\n            this.columnHeader1.Width = 101;\n            // \n            // columnHeader2\n            // \n            this.columnHeader2.Text = \"Type\";\n            this.columnHeader2.Width = 93;\n            // \n            // columnHeader3\n            // \n            this.columnHeader3.Text = \"Value\";\n            this.columnHeader3.Width = 362;\n            // \n            // lb_info_dataSouce\n            // \n            this.lb_info_dataSouce.AutoSize = true;\n            this.lb_info_dataSouce.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.lb_info_dataSouce.Font = new System.Drawing.Font(\"宋体\", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_dataSouce.ForeColor = System.Drawing.Color.DarkGray;\n            this.lb_info_dataSouce.Location = new System.Drawing.Point(314, 14);\n            this.lb_info_dataSouce.Name = \"lb_info_dataSouce\";\n            this.lb_info_dataSouce.Size = new System.Drawing.Size(79, 13);\n            this.lb_info_dataSouce.TabIndex = 19;\n            this.lb_info_dataSouce.Text = \"DataSouce\";\n            this.lb_info_dataSouce.Click += new System.EventHandler(this.lb_info_runTimeParameter_Click);\n            this.lb_info_dataSouce.MouseLeave += new System.EventHandler(this.lb_info_MouseLeave);\n            this.lb_info_dataSouce.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lb_info_MouseMove);\n            // \n            // lb_info_parameter\n            // \n            this.lb_info_parameter.AutoSize = true;\n            this.lb_info_parameter.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.lb_info_parameter.Font = new System.Drawing.Font(\"宋体\", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_parameter.ForeColor = System.Drawing.Color.DarkGray;\n            this.lb_info_parameter.Location = new System.Drawing.Point(231, 14);\n            this.lb_info_parameter.Name = \"lb_info_parameter\";\n            this.lb_info_parameter.Size = new System.Drawing.Size(79, 13);\n            this.lb_info_parameter.TabIndex = 18;\n            this.lb_info_parameter.Text = \"Parameter\";\n            this.lb_info_parameter.Click += new System.EventHandler(this.lb_info_runTimeParameter_Click);\n            this.lb_info_parameter.MouseLeave += new System.EventHandler(this.lb_info_MouseLeave);\n            this.lb_info_parameter.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lb_info_MouseMove);\n            // \n            // lb_info_keyValue\n            // \n            this.lb_info_keyValue.AutoSize = true;\n            this.lb_info_keyValue.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(217)))), ((int)(((byte)(247)))));\n            this.lb_info_keyValue.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.lb_info_keyValue.Font = new System.Drawing.Font(\"宋体\", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));\n            this.lb_info_keyValue.ForeColor = System.Drawing.Color.SaddleBrown;\n            this.lb_info_keyValue.Location = new System.Drawing.Point(154, 14);\n            this.lb_info_keyValue.Name = \"lb_info_keyValue\";\n            this.lb_info_keyValue.Size = new System.Drawing.Size(71, 13);\n            this.lb_info_keyValue.TabIndex = 17;\n            this.lb_info_keyValue.Text = \"KeyValue\";\n            this.lb_info_keyValue.Click += new System.EventHandler(this.lb_info_runTimeParameter_Click);\n            this.lb_info_keyValue.MouseLeave += new System.EventHandler(this.lb_info_MouseLeave);\n            this.lb_info_keyValue.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lb_info_MouseMove);\n            // \n            // pb_addStaticData\n            // \n            this.pb_addStaticData.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_addStaticData.BackColor = System.Drawing.Color.White;\n            this.pb_addStaticData.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_addStaticData.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_addStaticData.Image\")));\n            this.pb_addStaticData.Location = new System.Drawing.Point(521, 36);\n            this.pb_addStaticData.Name = \"pb_addStaticData\";\n            this.pb_addStaticData.Size = new System.Drawing.Size(23, 23);\n            this.pb_addStaticData.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_addStaticData.TabIndex = 55;\n            this.pb_addStaticData.TabStop = false;\n            this.pb_addStaticData.Click += new System.EventHandler(this.pb_addStaticData_Click);\n            this.pb_addStaticData.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_addStaticData.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // pb_delStaticData\n            // \n            this.pb_delStaticData.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));\n            this.pb_delStaticData.BackColor = System.Drawing.Color.White;\n            this.pb_delStaticData.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_delStaticData.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_delStaticData.Image\")));\n            this.pb_delStaticData.Location = new System.Drawing.Point(544, 36);\n            this.pb_delStaticData.Name = \"pb_delStaticData\";\n            this.pb_delStaticData.Size = new System.Drawing.Size(23, 23);\n            this.pb_delStaticData.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pb_delStaticData.TabIndex = 54;\n            this.pb_delStaticData.TabStop = false;\n            this.pb_delStaticData.Click += new System.EventHandler(this.pb_delStaticData_Click);\n            this.pb_delStaticData.MouseLeave += new System.EventHandler(this.pictureBox_MouseLeave);\n            this.pb_delStaticData.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);\n            // \n            // tb_valueAdd\n            // \n            this.tb_valueAdd.Location = new System.Drawing.Point(118, 397);\n            this.tb_valueAdd.Name = \"tb_valueAdd\";\n            this.tb_valueAdd.Size = new System.Drawing.Size(370, 21);\n            this.tb_valueAdd.TabIndex = 57;\n            // \n            // tb_keyAdd\n            // \n            this.tb_keyAdd.Enabled = false;\n            this.tb_keyAdd.Location = new System.Drawing.Point(4, 397);\n            this.tb_keyAdd.Name = \"tb_keyAdd\";\n            this.tb_keyAdd.Size = new System.Drawing.Size(108, 21);\n            this.tb_keyAdd.TabIndex = 56;\n            // \n            // label_info\n            // \n            this.label_info.AutoSize = true;\n            this.label_info.Location = new System.Drawing.Point(7, 375);\n            this.label_info.Name = \"label_info\";\n            this.label_info.Size = new System.Drawing.Size(83, 12);\n            this.label_info.TabIndex = 61;\n            this.label_info.Text = \"Data Origin :\";\n            // \n            // pb_edit\n            // \n            this.pb_edit.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_edit.DisEnabledImage = ((System.Drawing.Image)(resources.GetObject(\"pb_edit.DisEnabledImage\")));\n            this.pb_edit.EnabledImage = ((System.Drawing.Image)(resources.GetObject(\"pb_edit.EnabledImage\")));\n            this.pb_edit.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_edit.Image\")));\n            this.pb_edit.Location = new System.Drawing.Point(495, 397);\n            this.pb_edit.Name = \"pb_edit\";\n            this.pb_edit.Size = new System.Drawing.Size(23, 23);\n            this.pb_edit.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pb_edit.TabIndex = 62;\n            this.pb_edit.TabStop = false;\n            this.pb_edit.Click += new System.EventHandler(this.pictureBox_controlData_Click);\n            // \n            // pb_next\n            // \n            this.pb_next.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_next.DisEnabledImage = ((System.Drawing.Image)(resources.GetObject(\"pb_next.DisEnabledImage\")));\n            this.pb_next.EnabledImage = ((System.Drawing.Image)(resources.GetObject(\"pb_next.EnabledImage\")));\n            this.pb_next.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_next.Image\")));\n            this.pb_next.Location = new System.Drawing.Point(519, 397);\n            this.pb_next.Name = \"pb_next\";\n            this.pb_next.Size = new System.Drawing.Size(23, 23);\n            this.pb_next.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pb_next.TabIndex = 63;\n            this.pb_next.TabStop = false;\n            this.pb_next.Click += new System.EventHandler(this.pictureBox_controlData_Click);\n            // \n            // pb_reset\n            // \n            this.pb_reset.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.pb_reset.DisEnabledImage = ((System.Drawing.Image)(resources.GetObject(\"pb_reset.DisEnabledImage\")));\n            this.pb_reset.EnabledImage = ((System.Drawing.Image)(resources.GetObject(\"pb_reset.EnabledImage\")));\n            this.pb_reset.Image = ((System.Drawing.Image)(resources.GetObject(\"pb_reset.Image\")));\n            this.pb_reset.Location = new System.Drawing.Point(543, 397);\n            this.pb_reset.Name = \"pb_reset\";\n            this.pb_reset.Size = new System.Drawing.Size(23, 23);\n            this.pb_reset.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;\n            this.pb_reset.TabIndex = 64;\n            this.pb_reset.TabStop = false;\n            this.pb_reset.Click += new System.EventHandler(this.pictureBox_controlData_Click);\n            // \n            // StaticDataManageWindow\n            // \n            this.ClientSize = new System.Drawing.Size(572, 428);\n            this.Controls.Add(this.pb_reset);\n            this.Controls.Add(this.pb_next);\n            this.Controls.Add(this.pb_edit);\n            this.Controls.Add(this.label_info);\n            this.Controls.Add(this.tb_valueAdd);\n            this.Controls.Add(this.tb_keyAdd);\n            this.Controls.Add(this.pb_addStaticData);\n            this.Controls.Add(this.pb_delStaticData);\n            this.Controls.Add(this.lb_info_dataSouce);\n            this.Controls.Add(this.lb_info_parameter);\n            this.Controls.Add(this.lb_info_keyValue);\n            this.Controls.Add(this.listView_CaseParameter);\n            this.IntervalTime = 3000;\n            this.IsShowHideBox = false;\n            this.KeyPreview = true;\n            this.MaximizeBox = false;\n            this.Name = \"StaticDataManageWindow\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.WindowName = \"\";\n            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.StaticDataManageWindow_FormClosing);\n            this.Load += new System.EventHandler(this.StaticDataManageWindow_Load);\n            this.Controls.SetChildIndex(this.listView_CaseParameter, 0);\n            this.Controls.SetChildIndex(this.lb_info_keyValue, 0);\n            this.Controls.SetChildIndex(this.lb_info_parameter, 0);\n            this.Controls.SetChildIndex(this.lb_info_dataSouce, 0);\n            this.Controls.SetChildIndex(this.pb_delStaticData, 0);\n            this.Controls.SetChildIndex(this.pb_addStaticData, 0);\n            this.Controls.SetChildIndex(this.tb_keyAdd, 0);\n            this.Controls.SetChildIndex(this.tb_valueAdd, 0);\n            this.Controls.SetChildIndex(this.label_info, 0);\n            this.Controls.SetChildIndex(this.pb_edit, 0);\n            this.Controls.SetChildIndex(this.pb_next, 0);\n            this.Controls.SetChildIndex(this.pb_reset, 0);\n            ((System.ComponentModel.ISupportInitialize)(this.pb_addStaticData)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_delStaticData)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_edit)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_next)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.pb_reset)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        private System.Windows.Forms.PictureBox pb_addStaticData;\n        private System.Windows.Forms.PictureBox pb_delStaticData;\n        private System.Windows.Forms.TextBox tb_valueAdd;\n        private System.Windows.Forms.TextBox tb_keyAdd;\n        private System.Windows.Forms.Label label_info;\n        private MyEnabledPictureButton pb_edit;\n        private MyEnabledPictureButton pb_next;\n        private MyEnabledPictureButton pb_reset;\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/StaticDataManageWindow.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.AutoTest.RunTimeStaticData.MyStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Linq;\nusing System.Runtime.CompilerServices;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    partial class StaticDataManageWindow : MyBaseInfoWindow\n    {\n        public enum ShowRunTimeParameterType\n        {\n            KeyValue = 0,\n            Parameter = 1,\n            DataSouce=2\n        }\n\n        public StaticDataManageWindow(ActuatorStaticDataCollection yourActuatorStaticDataCollection)\n        {\n            InitializeComponent();\n            actuatorStaticDataCollection = yourActuatorStaticDataCollection;\n            if (yourActuatorStaticDataCollection != null)\n            {\n                actuatorStaticDataCollection.OnChangeCollection += actuatorStaticDataCollection_OnChangeCollection;\n            }\n        }\n\n\n\n        private ShowRunTimeParameterType nowShowType = ShowRunTimeParameterType.KeyValue;\n        private ListViewItem nowEditItem = null;\n        private ActuatorStaticDataCollection actuatorStaticDataCollection = null;\n\n        public override void VirtualUpdataTime_Tick()\n        {\n            //pb_edit.Enabled = !pb_edit.Enabled;\n            UpdatalistView_CaseParameter(false);\n        }\n\n        private void StaticDataManageWindow_Load(object sender, EventArgs e)\n        {\n            if (actuatorStaticDataCollection == null)\n            {\n                MessageBox.Show(\"actuatorStaticDataCollection is null\");\n                this.Close();\n            }\n            ShowInfoChange(nowShowType);\n        }\n\n        private void StaticDataManageWindow_FormClosing(object sender, FormClosingEventArgs e)\n        {\n            if(actuatorStaticDataCollection!=null)\n            {\n                actuatorStaticDataCollection.OnChangeCollection -= actuatorStaticDataCollection_OnChangeCollection;\n                actuatorStaticDataCollection = null;\n            }\n        }\n\n        void actuatorStaticDataCollection_OnChangeCollection(object sender, ActuatorStaticDataCollection.ChangeDataEventArgs e)\n        {\n            UpdatalistView_CaseParameter(e.IsAddOrDel);\n        }\n\n        private void lb_info_runTimeParameter_Click(object sender, EventArgs e)\n        {\n            ShowRunTimeParameterType hereType;\n            if (Enum.TryParse<ShowRunTimeParameterType>(((Label)sender).Text, out hereType))\n            {\n                ShowInfoChange(hereType);\n            }\n        }\n\n        private void listView_CaseParameter_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            if (listView_CaseParameter.SelectedItems.Count > 0)\n            {\n                EditItemChange(listView_CaseParameter.SelectedItems[0]);\n            }\n        }\n\n        private void listView_CaseParameter_DoubleClick(object sender, EventArgs e)\n        {\n            \n            if(listView_CaseParameter.SelectedItems!=null&& listView_CaseParameter.SelectedItems.Count>0)\n            {\n                if (listView_CaseParameter.SelectedItems[0].Tag is MyStaticDataSourceCsv)\n                {\n                    MyStaticDataSourceCsv nowDataSourceCsv = (MyStaticDataSourceCsv)listView_CaseParameter.SelectedItems[0].Tag;\n                    //ShowSheetForm f = new ShowSheetForm(\"\", nowDataSourceCsv.GetDataSource());\n                    EditSheetForm f = new EditSheetForm(listView_CaseParameter.SelectedItems[0].SubItems[0].Text, nowDataSourceCsv.GetDataSource(), nowDataSourceCsv.GetDataLocation());\n                    f.StartPosition = FormStartPosition.CenterScreen;\n                    f.SaveSheetData += editSheetForm_SaveSheetData;\n                    f.ShowDialog();\n                }\n            }\n        }\n\n        void editSheetForm_SaveSheetData(object sender, EditSheetForm.SaveSheetDataEventArgs e)\n        {\n            if (e.SheetData != null && listView_CaseParameter.SelectedItems != null && listView_CaseParameter.SelectedItems.Count > 0)\n            {\n                if (listView_CaseParameter.SelectedItems[0].Tag is MyStaticDataSourceCsv)\n                {\n                    MyStaticDataSourceCsv nowDataSourceCsv = (MyStaticDataSourceCsv)listView_CaseParameter.SelectedItems[0].Tag;\n                    if(nowDataSourceCsv.SetDataSource(e.SheetData))\n                    {\n                        if (e.SelectCell != null)\n                        {\n                            nowDataSourceCsv.SetDataLocation(e.SelectCell.Value.Y, e.SelectCell.Value.X);\n                        }\n                        UpdatalistView_CaseParameter(false);\n                    }\n                    else\n                    {\n                        MessageBox.Show(\"you data is empty \\nplease check it \", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                        return;\n                    }\n                    if(nowEditItem!=null)\n                    {\n                        tb_valueAdd.Text = nowEditItem.SubItems[2].Text;\n                    }\n                }\n            }\n        }\n\n        private void listView_CaseParameter_ItemDrag(object sender, ItemDragEventArgs e)\n        {\n            if (listView_CaseParameter.SelectedItems != null && listView_CaseParameter.SelectedItems.Count > 0)\n            {\n                //this.DoDragDrop(listView_CaseParameter.SelectedItems, DragDropEffects.Move);\n                this.DoDragDrop(string.Format(\"*#{0}(+)*#\", listView_CaseParameter.SelectedItems[0].SubItems[0].Text), DragDropEffects.Move);\n            }\n        }\n\n        private void pictureBox_controlData_Click(object sender, EventArgs e)\n        {\n            if (nowEditItem==null)\n            {\n                MessageBox.Show(\"can not find edit Parameter Data\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Error);\n                return;\n            }\n            IRunTimeStaticData editRunTimeStaticData = (IRunTimeStaticData)nowEditItem.Tag;\n            if(sender == pb_edit)\n            {\n                if (!editRunTimeStaticData.DataSet(tb_valueAdd.Text))\n                {\n                    MessageBox.Show(string.Format(\"{0} is illegal for this RunTimeStaticData\", tb_valueAdd.Text), \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n                }\n            }\n            else if(sender == pb_next)\n            {\n                editRunTimeStaticData.DataMoveNext();\n            }\n            else if (sender == pb_reset)\n            {\n                editRunTimeStaticData.DataReset();\n            }\n            else\n            {\n                MessageBox.Show(\"can not find edit data\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Stop);\n            }\n            FreeHttpWindow.MarkRuleItem(nowEditItem);\n            nowEditItem.SubItems[2].Text = tb_valueAdd.Text = editRunTimeStaticData.DataCurrent();\n        }\n\n        private void pb_addStaticData_Click(object sender, EventArgs e)\n        {\n            StaticDataAddWindow f = new StaticDataAddWindow(actuatorStaticDataCollection, (int)nowShowType, ShowInfoChange);\n            f.ShowDialog();\n        }\n\n        private void pb_delStaticData_Click(object sender, EventArgs e)\n        {\n            if (listView_CaseParameter.SelectedItems.Count > 0)\n            {\n                foreach(ListViewItem teamItem in listView_CaseParameter.SelectedItems)\n                {\n                    actuatorStaticDataCollection.RemoveStaticData(teamItem.SubItems[0].Text, false);\n                    if (nowEditItem == teamItem)\n                    {\n                        EditItemChange(null);\n                    }\n                }\n            }\n            else\n            {\n                MessageBox.Show(\"please select the static data items that your want remove\");\n            }\n        }\n\n        #region public event helper\n        private void lb_info_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((Label)sender).BackColor = Color.LavenderBlush;\n        }\n\n        private void lb_info_MouseLeave(object sender, EventArgs e)\n        {\n            ((Label)sender).BackColor = Color.FromArgb(194, 217, 247);\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseMove(object sender, MouseEventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Honeydew;\n        }\n\n        //pictureBox change for all\n        public void pictureBox_MouseLeave(object sender, EventArgs e)\n        {\n            ((PictureBox)sender).BackColor = Color.Transparent;\n        }\n        #endregion\n\n\n        #region innerFunction\n        private void ShowInfoChange(ShowRunTimeParameterType showParameter)\n        {\n            switch (showParameter)\n            {\n                case ShowRunTimeParameterType.KeyValue:\n                    nowShowType = ShowRunTimeParameterType.KeyValue;\n                    lb_info_keyValue.ForeColor = Color.SaddleBrown;\n                    lb_info_parameter.ForeColor = lb_info_dataSouce.ForeColor = Color.DarkGray;\n                    break;\n                case ShowRunTimeParameterType.Parameter:\n                    nowShowType = ShowRunTimeParameterType.Parameter;\n                    lb_info_parameter.ForeColor = Color.SaddleBrown;\n                    lb_info_keyValue.ForeColor = lb_info_dataSouce.ForeColor = Color.DarkGray;\n                    break;\n                case ShowRunTimeParameterType.DataSouce:\n                    nowShowType = ShowRunTimeParameterType.DataSouce;\n                    lb_info_dataSouce.ForeColor = Color.SaddleBrown;\n                    lb_info_keyValue.ForeColor = lb_info_parameter.ForeColor = Color.DarkGray;\n                    break;\n                default:\n                    MessageBox.Show(\"nonsupport static data type\");\n                    break;\n            }\n            EditItemChange(null);\n            UpdatalistView_CaseParameter(true);\n        }\n\n        private void EditItemChange(ListViewItem yourEidtItem)\n        {\n            if (yourEidtItem == null)\n            {\n                nowEditItem = null;\n                tb_keyAdd.Text = tb_valueAdd.Text = \"\";\n                label_info.Text = \"please select a data item\";\n                pb_edit.Enabled = pb_next.Enabled = pb_reset.Enabled = false;\n                return;\n            }\n\n            nowEditItem = yourEidtItem;\n            IRunTimeStaticData editStaticData = null;\n            tb_keyAdd.Text = nowEditItem.SubItems[0].Text;\n            tb_valueAdd.Text = nowEditItem.SubItems[2].Text;\n            switch (nowShowType)\n            {\n                case ShowRunTimeParameterType.KeyValue:\n                    pb_edit.Enabled = true;\n                    pb_next.Enabled = pb_reset.Enabled = false;\n                    break;\n                case ShowRunTimeParameterType.Parameter:\n                case ShowRunTimeParameterType.DataSouce:\n                    pb_edit.Enabled = pb_next.Enabled = pb_reset.Enabled = true;\n                    break;\n                default:\n                    MessageBox.Show(\"nonsupport static data type\");\n                    break;\n            }\n            editStaticData = nowEditItem.Tag as IRunTimeStaticData;\n            if (editStaticData == null)\n            {\n                label_info.Text = \"error data for IRunTimeStaticData\";\n                pb_edit.Enabled = pb_next.Enabled = pb_reset.Enabled = false;\n                return;\n            }\n            label_info.Text = string.Format(\"Data Origin : {0} [eg:{1}]\", editStaticData.OriginalConnectString, CaseRunTimeDataTypeEngine.dictionaryStaticDataAnnotation[editStaticData.RunTimeStaticDataType][1]); \n        }\n\n        [MethodImplAttribute(MethodImplOptions.Synchronized)]\n        public void UpdatalistView_CaseParameter(bool isNew)\n        {\n            if (isNew)\n            {\n                MyControlHelper.SetControlFreeze(listView_CaseParameter);\n                listView_CaseParameter.BeginUpdate();\n                listView_CaseParameter.Items.Clear();\n                try\n                {\n                    //Dictionary<string, IRunTimeStaticData> tempUpdateStaticDataDictionary = null;\n                    //Dictionary<string, IRunTimeDataSource> tempUpdateDataSourceDictionary = null;\n                    dynamic tempUpdateDictionary = null;\n                    switch (nowShowType)\n                    {\n                        case ShowRunTimeParameterType.KeyValue:\n                            tempUpdateDictionary = actuatorStaticDataCollection.RunActuatorStaticDataKeyList;\n                            break;\n                        case ShowRunTimeParameterType.Parameter:\n                            tempUpdateDictionary = actuatorStaticDataCollection.RunActuatorStaticDataParameterList;\n                            break;\n                        case ShowRunTimeParameterType.DataSouce:\n                            tempUpdateDictionary = actuatorStaticDataCollection.RunActuatorStaticDataSouceList;\n                            break;\n                        default:\n                            MessageBox.Show(\"nonsupport static data type\");\n                            break;\n                    }\n                    if (tempUpdateDictionary != null && tempUpdateDictionary.Count > 0)\n                    {\n                        foreach (var tempKvp in tempUpdateDictionary)\n                        {\n                            ListViewItem tempItem = new ListViewItem(new string[] { tempKvp.Key, CaseRunTimeDataTypeEngine.dictionaryStaticDataAnnotation[tempKvp.Value.RunTimeStaticDataType][0], tempKvp.Value.DataCurrent() });\n                            tempItem.Tag = tempKvp.Value;\n                            listView_CaseParameter.Items.Add(tempItem);\n                        }\n                    }\n                }\n                catch (Exception ex)\n                {\n                    MessageBox.Show(ex.Message);\n                }\n                listView_CaseParameter.EndUpdate();\n                MyControlHelper.SetControlUnfreeze(listView_CaseParameter);\n            }\n            else\n            {\n                foreach (ListViewItem tempItem in listView_CaseParameter.Items)\n                {\n                    if (actuatorStaticDataCollection.IsHaveSameKey(tempItem.SubItems[0].Text))\n                    {\n                        IRunTimeStaticData tempStaticData = tempItem.Tag as IRunTimeStaticData;\n                        if (tempStaticData != null)\n                        {\n                            if(tempItem.SubItems[2].Text != tempStaticData.DataCurrent())\n                            {\n                                tempItem.SubItems[2].Text = tempStaticData.DataCurrent();\n                            }\n                        }\n                        else\n                        {\n                            UpdatalistView_CaseParameter(true);\n                            return;\n                        }\n                    }\n                    else\n                    {\n                        UpdatalistView_CaseParameter(true);\n                        return;\n                    }\n                }\n            }\n        }\n\n        #endregion\n   \n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/StaticDataManageWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pb_addStaticData.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAgwAAAIMCAYAAACZhvQPAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6\n        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAAB3RJTUUH\n        4AoSFw0uGiHw4AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wNi0yOFQyMjoxOTozNCswODowMPoU86cA\n        AAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMTAtMThUMjM6MTM6NDYrMDg6MDC8NA02AAAAQ3RFWHRzb2Z0\n        d2FyZQAvdXNyL2xvY2FsL2ltYWdlbWFnaWNrL3NoYXJlL2RvYy9JbWFnZU1hZ2ljay03Ly9pbmRleC5o\n        dG1svbV5CgAAAGN0RVh0c3ZnOmNvbW1lbnQAIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTku\n        MC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgzkiQCwAA\n        ABh0RVh0VGh1bWI6OkRvY3VtZW50OjpQYWdlcwAxp/+7LwAAABh0RVh0VGh1bWI6OkltYWdlOjpIZWln\n        aHQANTI0TcOldwAAABd0RVh0VGh1bWI6OkltYWdlOjpXaWR0aAA1MjTeMvUqAAAAGXRFWHRUaHVtYjo6\n        TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADE0NzY4MDM2MjZk0v1AAAAA\n        EnRFWHRUaHVtYjo6U2l6ZQAyMzk0MEJ3Fj0RAAAAYnRFWHRUaHVtYjo6VVJJAGZpbGU6Ly8vaG9tZS93\n        d3dyb290L25ld3NpdGUvd3d3LmVhc3lpY29uLm5ldC9jZG4taW1nLmVhc3lpY29uLmNuL3NyYy8xMjA1\n        OC8xMjA1ODM0LnBuZxxeLFIAADkJSURBVHhe7Z1puB1VmbbNHAgxzIEwCSKjCDg2giCICBIFRESQURtw\n        AgW0tenwgYqKIEJra4Moioo4YLeAgDQgg9IMGkSBRm00MskY5jBl+L5nmTcfxUudc/Y+e1ftelfd93Xd\n        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\n        YII=\n</value>\n  </data>\n  <data name=\"pb_delStaticData.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        iVBORw0KGgoAAAANSUhEUgAAAgwAAAIMCAYAAACZhvQPAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6\n        JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAAB3RJTUUH\n        4AoSFw0jZJCMXQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wNi0yOFQyMjoxOTozMyswODowMD+zzSkA\n        AAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMTAtMThUMjM6MTM6MzUrMDg6MDCHGR6yAAAAQ3RFWHRzb2Z0\n        d2FyZQAvdXNyL2xvY2FsL2ltYWdlbWFnaWNrL3NoYXJlL2RvYy9JbWFnZU1hZ2ljay03Ly9pbmRleC5o\n        dG1svbV5CgAAAGN0RVh0c3ZnOmNvbW1lbnQAIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTku\n        MC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgzkiQCwAA\n        ABh0RVh0VGh1bWI6OkRvY3VtZW50OjpQYWdlcwAxp/+7LwAAABh0RVh0VGh1bWI6OkltYWdlOjpIZWln\n        aHQANTI0TcOldwAAABd0RVh0VGh1bWI6OkltYWdlOjpXaWR0aAA1MjTeMvUqAAAAGXRFWHRUaHVtYjo6\n        TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADE0NzY4MDM2MTXW9v85AAAA\n        EnRFWHRUaHVtYjo6U2l6ZQAyMzIyMkKWrKQgAAAAYnRFWHRUaHVtYjo6VVJJAGZpbGU6Ly8vaG9tZS93\n        d3dyb290L25ld3NpdGUvd3d3LmVhc3lpY29uLm5ldC9jZG4taW1nLmVhc3lpY29uLmNuL3NyYy8xMjA1\n        OC8xMjA1ODE2LnBuZytW3jkAADUQSURBVHhe7d15uB1lle/xzhwIkTAGkIRBAYGmgQZxYFCUqyIgCNoo\n        AuJVwFbEAaWlabFFVFBwuNo22KAi4oQTIgiCMqiAgFEZFOkGZBCVGUKYk3t/y6xcipVKcs7Zu/au9db3\n        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\n        RK5CYII=\n</value>\n  </data>\n  <data name=\"pb_edit.DisEnabledImage\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_edit.EnabledImage\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_edit.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n</value>\n  </data>\n  <data name=\"pb_next.DisEnabledImage\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        NsH4JO2FfBMRERERERERERERERERERERERERERERERERERERERERERERERERERERERER0URduPAv+kjw\n        nBTHPTwAAAAASUVORK5CYII=\n</value>\n  </data>\n  <data name=\"pb_next.EnabledImage\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        9PV0CRERERERERERERERERERERERERERERERERERERERERERERERERERERERERHRQj148H/zwsS30FCK\n        9AAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"pb_next.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        9PV0CRERERERERERERERERERERERERERERERERERERERERERERERERERERERERHRQj148H/zwsS30FCK\n        9AAAAABJRU5ErkJggg==\n</value>\n  </data>\n  <data name=\"pb_reset.DisEnabledImage\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        a35dAAAAAElFTkSuQmCC\n</value>\n  </data>\n  <data name=\"pb_reset.EnabledImage\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        FEVRlNgZG/t/tkPiWfUDFHcAAAAASUVORK5CYII=\n</value>\n  </data>\n  <data name=\"pb_reset.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        FEVRlNgZG/t/tkPiWfUDFHcAAAAASUVORK5CYII=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "FreeHttpControl/UserFeedbackWindow.Designer.cs",
    "content": "﻿namespace FreeHttp.FreeHttpControl\n{\n    partial class UserFeedbackWindow\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UserFeedbackWindow));\n            this.rtb_feedbackContent = new System.Windows.Forms.RichTextBox();\n            this.watermakTextBox_contactInfo = new FreeHttp.FreeHttpControl.WatermakTextBox();\n            this.bt_ok = new System.Windows.Forms.Button();\n            this.lb_info_1 = new System.Windows.Forms.Label();\n            this.llb_gotoGitHub = new System.Windows.Forms.LinkLabel();\n            this.SuspendLayout();\n            // \n            // rtb_feedbackContent\n            // \n            this.rtb_feedbackContent.Location = new System.Drawing.Point(2, 3);\n            this.rtb_feedbackContent.Name = \"rtb_feedbackContent\";\n            this.rtb_feedbackContent.Size = new System.Drawing.Size(723, 284);\n            this.rtb_feedbackContent.TabIndex = 0;\n            this.rtb_feedbackContent.Text = \"\";\n            // \n            // watermakTextBox_contactInfo\n            // \n            this.watermakTextBox_contactInfo.Location = new System.Drawing.Point(140, 291);\n            this.watermakTextBox_contactInfo.Name = \"watermakTextBox_contactInfo\";\n            this.watermakTextBox_contactInfo.Size = new System.Drawing.Size(584, 21);\n            this.watermakTextBox_contactInfo.TabIndex = 1;\n            this.watermakTextBox_contactInfo.WatermarkText = \"email qq weixin or any contact information\";\n            // \n            // bt_ok\n            // \n            this.bt_ok.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.bt_ok.Location = new System.Drawing.Point(649, 318);\n            this.bt_ok.Name = \"bt_ok\";\n            this.bt_ok.Size = new System.Drawing.Size(75, 23);\n            this.bt_ok.TabIndex = 9;\n            this.bt_ok.Text = \"confirm\";\n            this.bt_ok.UseVisualStyleBackColor = true;\n            this.bt_ok.Click += new System.EventHandler(this.Bt_ok_Click);\n            // \n            // lb_info_1\n            // \n            this.lb_info_1.AutoSize = true;\n            this.lb_info_1.Location = new System.Drawing.Point(3, 294);\n            this.lb_info_1.Name = \"lb_info_1\";\n            this.lb_info_1.Size = new System.Drawing.Size(131, 12);\n            this.lb_info_1.TabIndex = 10;\n            this.lb_info_1.Text = \"contact information :\";\n            // \n            // llb_gotoGitHub\n            // \n            this.llb_gotoGitHub.AutoSize = true;\n            this.llb_gotoGitHub.LinkColor = System.Drawing.SystemColors.Highlight;\n            this.llb_gotoGitHub.Location = new System.Drawing.Point(524, 324);\n            this.llb_gotoGitHub.Name = \"llb_gotoGitHub\";\n            this.llb_gotoGitHub.Size = new System.Drawing.Size(119, 12);\n            this.llb_gotoGitHub.TabIndex = 11;\n            this.llb_gotoGitHub.TabStop = true;\n            this.llb_gotoGitHub.Text = \"discussed in github\";\n            this.llb_gotoGitHub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.Llb_gotoGitHub_LinkClicked);\n            // \n            // UserFeedbackWindow\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(727, 350);\n            this.Controls.Add(this.llb_gotoGitHub);\n            this.Controls.Add(this.lb_info_1);\n            this.Controls.Add(this.bt_ok);\n            this.Controls.Add(this.watermakTextBox_contactInfo);\n            this.Controls.Add(this.rtb_feedbackContent);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MaximizeBox = false;\n            this.MinimizeBox = false;\n            this.Name = \"UserFeedbackWindow\";\n            this.Text = \"Feedback\";\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private System.Windows.Forms.RichTextBox rtb_feedbackContent;\n        private WatermakTextBox watermakTextBox_contactInfo;\n        private System.Windows.Forms.Button bt_ok;\n        private System.Windows.Forms.Label lb_info_1;\n        private System.Windows.Forms.LinkLabel llb_gotoGitHub;\n    }\n}"
  },
  {
    "path": "FreeHttpControl/UserFeedbackWindow.cs",
    "content": "﻿//#define NET4_5UP\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.FreeHttpControl\n{\n    public partial class UserFeedbackWindow : Form\n    {\n        FreeHttpWindow mainWindow;\n        public UserFeedbackWindow(FreeHttpWindow freeHttpWindow)\n        {\n            InitializeComponent();\n            mainWindow = freeHttpWindow;\n        }\n\n        private void Llb_gotoGitHub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)\n        {\n            System.Diagnostics.Process.Start(\"https://github.com/lulianqi/FreeHttp/issues\");\n        }\n\n        private void Bt_ok_Click(object sender, EventArgs e)\n        {\n            if(rtb_feedbackContent.Text==\"\")\n            {\n                MessageBox.Show(\"Please enter content\", \"Stop\", MessageBoxButtons.OK, MessageBoxIcon.Warning);\n                return;\n            }\n\n#if NET4_5UP\n            Task<int> submitFeedback = WebService.FeedbackService.SubmitFeedbackAsync(WebService.UserComputerInfo.UserToken ,WebService.UserComputerInfo.GetComputerMac(), WebService.UserComputerInfo.GetMachineName(), watermakTextBox_contactInfo.Text, rtb_feedbackContent.Text);\n            submitFeedback.ContinueWith((task) => { if (mainWindow == null) return;  if (!(task.Result == 200 || task.Result ==201)) { mainWindow.PutError(string.Format(\"submit feedback fial with {0}\", task.Result)); } else { mainWindow.PutInfo(\"submit feedback succeed\"); } });\n#endif\n\n#if NET4\n            WebService.FeedbackService.SubmitFeedbackTask(WebService.UserComputerInfo.GetComputerMac(), watermakTextBox_contactInfo.Text, rtb_feedbackContent.Text,new Action<int>((code) => { if (mainWindow == null) return; if (!(code == 200 || code ==201)) { mainWindow.PutError(string.Format(\"submit feedback fial with {0}\", code)); } else { mainWindow.PutInfo(\"submit feedback succeed\"); } }));\n#endif\n            this.Close();\n        }\n\n    }\n}\n"
  },
  {
    "path": "FreeHttpControl/UserFeedbackWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAMQOAADEDgAAAAAAAAAA\n        AAD0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/xnHESAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAA9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J9u/wAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAPSfbv/0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J1uLAAA\n        AAAAAAAAAAAAAAAAAAD0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J9u//Sf\n        bv8AAAAAAAAAAAAAAAAAAAAA9J9u//Sfbv/0n27/9J9u/wAAAAAAAAAA9J9u//Sfbv/0n27/9J9u//Sf\n        bv/0n27/AAAAAAAAAAAAAAAAAAAAAPSfbv/0n27/9J9u//Sfbv8AAAAA9J9u/wAAAAAAAAAA9J9u//Sf\n        bv/0n27/9J9u/wAAAAAAAAAAAAAAAAAAAAD0n27/9J9u//Sfbv/0n27/AAAAAPSfbv/0n27/8KVpEQAA\n        AAD0n27/9J9u//Sfbv8AAAAAAAAAAAAAAAAAAAAA9J9u//Sfbv/0n27/9J9u//Sfbv8AAAAA9J9u//Sf\n        bv8AAAAAAAAAAPSfbv/0n27/AAAAAAAAAAAAAAAAAAAAAPSfbv/0n27/9J9u//Sfbv/0n27/AAAAAAAA\n        AAAAAAAA9J9u//Sfbv8AAAAA8qFrJgAAAAAAAAAAAAAAAAAAAAD0n27/9J9u//Sfbv/0n27/9J9u//Sf\n        bv8AAAAA7plmD/Sfbv/0n27/9Z9ukAAAAAAAAAAAAAAAAAAAAAAAAAAA9J9u//Sfbv/0n27/9J9u//Sf\n        bv/0n27/9J9u/wAAAADzn2wo9J9u//Sfbv/0n278AAAAAAAAAAAAAAAAAAAAAPSfbv/0n27/9J9u//Sf\n        bv/0n27/9J9u//Sfbv/0n27/AAAAAPafb1D0n27/9J9u//afbzUAAAAAAAAAAAAAAAD0n27/9J9u//Sf\n        bv/0n27/9J9u//Sfbv/0n27/9J9u//Sfbv8AAAAA9KBvg/Sfbv/0n27/9Z9u2AAAAAAAAAAA9J9u//Sf\n        bv/0n27/9J9u//Sfbv/0n27/9J9u//Sfbv/0n27/9J9u/wAAAAD0n22x9J9u/wAAAAD/km0HAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0n27/9J9u/wAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9Z9u7gAA\n        AAAAAAAAAH8AAAA/AAAAHwAAAA8AAAwPAAALDwAACY8AAATPAAAHPwAAAz8AAAGfAAAAzwAAAGcAAAA3\n        AAD/+QAA//8AAA==\n</value>\n  </data>\n</root>"
  },
  {
    "path": "HttpHelper/ContentModific.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\n\nnamespace FreeHttp.HttpHelper\n{\n    public enum ContentModificMode\n    {\n        NoChange,\n        KeyVauleReplace,\n        EntireReplace,\n        RegexReplace,\n        HexReplace,\n        ReCode\n    }\n\n     [Serializable]\n     [DataContract]\n    public class ContentModific\n    {\n        [DataMember]\n        public ContentModificMode ModificMode { get; set; }\n        [DataMember]\n        public string TargetKey { get; set; }\n        [DataMember]\n        public string ReplaceContent { get; set; }\n\n        public ContentModific()\n        {\n            ModificMode = ContentModificMode.NoChange;\n            TargetKey = null;\n            ReplaceContent = null;\n        }\n        public ContentModific(string targetKey,string replaceContent)\n        {\n            if (string.IsNullOrEmpty(targetKey))\n            {\n                ModificMode = ContentModificMode.EntireReplace;\n                TargetKey = null;\n            }\n            else\n            {\n                if (targetKey.StartsWith(\"<regex>\"))\n                {\n                    ModificMode = ContentModificMode.RegexReplace;\n                    TargetKey = targetKey;\n                }\n                else if (targetKey.StartsWith(\"<hex>\"))\n                {\n                    //check data\n                    try\n                    {\n                        replaceContent = replaceContent.TrimEnd(' ');\n                        targetKey = targetKey.TrimEnd(' ');\n                        replaceContent = BitConverter.ToString( AutoTest.MyBytes.HexStringToByte(replaceContent, AutoTest.HexDecimal.hex16));\n                        TargetKey =string.Format(\"<hex>{0}\", BitConverter.ToString(AutoTest.MyBytes.HexStringToByte(targetKey.Remove(0, \"<hex>\".Length), AutoTest.HexDecimal.hex16)));\n                    }\n                    catch (Exception ex)\n                    {\n                        throw new Exception(string.Format(\"your input is illegal that your should use prescribed hex16 format like 0x00 0x01 0xff and the space or - will be ok for byte spit. \\r\\ninner Exception is [{0}]\", ex.Message), ex);\n                    }\n                    ModificMode = ContentModificMode.HexReplace;\n                }\n                else if ((targetKey.StartsWith(\"<recode>\")))\n                {\n                    try\n                    {\n                        targetKey = targetKey.TrimEnd(' ');\n                        Encoding.GetEncoding(targetKey.Remove(0, 8).Trim(' '));  //https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encoding?view=netcore-2.2\n                    }\n                    catch (Exception ex)\n                    {\n                        throw new Exception(string.Format(\"your input is illegal that your should use legal EncodingInfo.Name like utf-8;hz-gb-2312 ......\\r\\ninner Exception is [{0}]\", ex.Message), ex);\n                    }\n                    ModificMode = ContentModificMode.ReCode;\n                    TargetKey = targetKey;\n                }\n                else\n                {\n                    ModificMode = ContentModificMode.KeyVauleReplace;\n                    TargetKey = targetKey;\n                }\n            }\n\n            //set the ReplaceContent\n            if (ModificMode == ContentModificMode.EntireReplace && string.IsNullOrEmpty(replaceContent))\n            {\n                ModificMode = ContentModificMode.NoChange;\n                ReplaceContent = null;\n            }\n            else if(ModificMode == ContentModificMode.ReCode)\n            {\n                ReplaceContent = null;\n            }\n            else\n            {\n                ReplaceContent = (replaceContent == null ? \"\" : replaceContent);\n            }\n            \n        }\n\n        public string GetFinalContent(string sourceContent)\n        {\n            string finalContent = null;\n            switch(ModificMode)\n            {\n                case ContentModificMode.NoChange:\n                    finalContent = sourceContent;\n                    break;\n                case ContentModificMode.EntireReplace:\n                    finalContent = ReplaceContent;\n                    break;\n                case ContentModificMode.KeyVauleReplace:\n                    finalContent = sourceContent.Replace(TargetKey, ReplaceContent);\n                    break;\n                case ContentModificMode.RegexReplace:\n                    try\n                    {\n                        finalContent = System.Text.RegularExpressions.Regex.Replace(sourceContent, TargetKey.Remove(0, 8), ReplaceContent);\n                    }\n                    catch(Exception ex)\n                    {\n                        finalContent = string.Format(\"RegexReplace [{0}] GetFinalContent fail :{1}\", TargetKey.Remove(0, 7), ex.Message);\n                    }\n                    break;\n                case ContentModificMode.HexReplace:\n                    throw new Exception(\"your should implement HexReplace with anther GetFinalContent overload\");\n                case ContentModificMode.ReCode:\n                    throw new Exception(\"your should implement Recode with GetRecodeContent\");\n                default:\n                    throw new Exception(\"not support ContentModificMode\");\n            }\n            return finalContent;\n        }\n\n        public byte[] GetFinalContent(byte[] sourceContent)\n        {\n            switch (ModificMode)\n            {\n                case ContentModificMode.NoChange:\n                case ContentModificMode.EntireReplace:\n                case ContentModificMode.KeyVauleReplace:\n                case ContentModificMode.RegexReplace:\n                case ContentModificMode.ReCode:\n                    throw new Exception(\"this implement of GetFinalContent is only for HexReplace\");\n                case ContentModificMode.HexReplace:\n                    byte[] replaceContentBytes = AutoTest.MyBytes.HexStringToByte(ReplaceContent, AutoTest.HexDecimal.hex16);\n                    string searchKey = TargetKey.Remove(0, 5);//<hex>\n                    if (string.IsNullOrEmpty(searchKey))\n                    {\n                        return replaceContentBytes;\n                    }\n                    byte[] searchKeyBytes = AutoTest.MyBytes.HexStringToByte(searchKey, AutoTest.HexDecimal.hex16);\n                    return AutoTest.MyBytes.ReplaceBytes(sourceContent, searchKeyBytes, replaceContentBytes);\n                default:\n                    throw new Exception(\"not support ContentModificMode\");\n            }\n        }\n\n        public byte[] GetRecodeContent(string sourceContent)\n        {\n            switch (ModificMode)\n            {\n                case ContentModificMode.NoChange:\n                case ContentModificMode.EntireReplace:\n                case ContentModificMode.KeyVauleReplace:\n                case ContentModificMode.RegexReplace:\n                case ContentModificMode.HexReplace:\n                    throw new Exception(\"this implement of GetRecodeContent is only for ReCode \");\n                case ContentModificMode.ReCode:\n                    string searchKey = TargetKey.Remove(0, 8).Trim(' ');\n                    Encoding nowEncoding = Encoding.GetEncoding(searchKey); //shoud check the searchKey when we creat ContentModific\n                    return nowEncoding.GetBytes(sourceContent);\n                default:\n                    throw new Exception(\"not support ContentModificMode\");\n            }\n        }\n    \n        public override string ToString()\n        {\n            StringBuilder resultStringBuilder = new StringBuilder();\n            switch (ModificMode)\n            {\n                case ContentModificMode.NoChange:\n                    break;\n                case ContentModificMode.EntireReplace:\n                    resultStringBuilder.Append(\"[EntireReplace] \");\n                    resultStringBuilder.Append(ReplaceContent);\n                    break;\n                case ContentModificMode.KeyVauleReplace:\n                    resultStringBuilder.Append(\"[Replace] \");\n                    resultStringBuilder.Append(TargetKey);\n                    resultStringBuilder.Append(\" [To] \");\n                    resultStringBuilder.Append(ReplaceContent); \n                    break;\n                case ContentModificMode.RegexReplace:\n                    resultStringBuilder.Append(\"[RegexReplace] \");\n                    resultStringBuilder.Append(TargetKey);\n                    resultStringBuilder.Append(\" [To] \");\n                    resultStringBuilder.Append(ReplaceContent);\n                    break;\n                case ContentModificMode.HexReplace:\n                    resultStringBuilder.Append(\"[HexReplace] \");\n                    resultStringBuilder.Append(TargetKey);\n                    resultStringBuilder.Append(\" [To] \");\n                    resultStringBuilder.Append(ReplaceContent);\n                    break;\n                case ContentModificMode.ReCode:\n                    resultStringBuilder.Append(\"[ReCode] \");\n                    resultStringBuilder.Append(TargetKey);\n                    break;\n                default:\n                    resultStringBuilder.Append(\"not support ContentModificMode\");\n                    break;\n            }\n            return resultStringBuilder.ToString();\n        }\n    }\n}\n"
  },
  {
    "path": "HttpHelper/HttpRequest.cs",
    "content": "﻿using FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\n\nnamespace FreeHttp.HttpHelper\n{\n    [Serializable]\n    [DataContract]\n    public class HttpRequest\n    {\n        private string requestLine;\n        private string requestMethod;\n        private string requestUri;\n        private string requestVersions;\n        private List<MyKeyValuePair<string, string>> requestHeads;\n        private byte[] requestEntity;\n\n        [DataMember]\n        /// <summary>\n        /// get or set the request line (it will updata RequestMethod,RequestUri,RequestVersions)\n        /// </summary>\n        public string RequestLine { get { return requestLine; } set { SetRequestLine(value); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set the requst method (it will updata RequestLine)\n        /// </summary>\n        public string RequestMethod { get { return requestMethod; } set { requestMethod = value; UpdataRequestLine(); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set the requst uri (it will updata RequestLine)\n        /// </summary>\n        public string RequestUri { get { return requestUri; } set { requestUri = value; UpdataRequestLine(); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set the requst versions (it will updata RequestLine)\n        /// </summary>\n        public string RequestVersions { get { return requestVersions; } set { requestVersions = value; UpdataRequestLine(); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set request heads (if you not set the List<MyKeyValuePair<string, string>> and just change or add a element ,the ChangeRawData() will not trigger ,so your should call ChangeRawData() )\n        /// </summary>\n        public List<MyKeyValuePair<string, string>> RequestHeads { get { return requestHeads; } set { requestHeads = value; ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set request body (if you not set the byte[] and just change or add a element ,the ChangeRawData() will not trigger ,so your should call ChangeRawData() )\n        /// </summary>\n        public byte[] RequestEntity { get { return requestEntity; } set { requestEntity = value; ChangeRawData(); } }\n\n        [DataMember]\n        //public string OriginSting { get; private set; }\n        /// <summary>\n        /// get or set OriginSting (the OriginSting is not the infor in http ,it only use for show ui)\n        /// </summary>\n        public string OriginSting { get; set; }\n\n        private byte[] rawRequest;\n        public HttpRequest()\n        {\n            RequestHeads = new List<MyKeyValuePair<string, string>>();\n            rawRequest = null;\n        }\n\n        private void SetRequestLine(string yourRequestLine,bool isThrowException =true)\n        {\n            if(yourRequestLine.Contains('\\n') || string.IsNullOrWhiteSpace(yourRequestLine))\n            {\n                if (isThrowException)\n                {\n                    throw new Exception(\"your line is empty\");\n                }\n                else\n                {\n                    return;\n                }\n            }\n            string[] requestLineStrs = yourRequestLine.Split(new char[] { ' ' }, 3);\n            if (requestLineStrs.Length !=3)\n            {\n                if (isThrowException)\n                {\n                    throw new Exception(\"error format in response line\");\n                }\n                else\n                {\n                    return;\n                }\n            }\n            if (string.IsNullOrEmpty( requestLineStrs[1]))\n            {\n                throw new Exception(\"must specify a complete URI\");\n            }\n            //RAW 报文在没有代理的情况下 请求行 里的http://host 是可以省略的\n            //if(!(requestLineStrs[1].StartsWith(\"http://\") || requestLineStrs[1].StartsWith(\"https://\")|| requestLineStrs[1].StartsWith(\"ftp://\")))\n            //{\n            //    if (isThrowException)\n            //    {\n            //        //requestLineStrs[1] = $\"http://{requestLineStrs[1]}\";\n            //        throw new Exception(\"URI scheme must be http, https, or ftp\");\n            //    }\n            //    else\n            //    {\n            //        return;\n            //    }\n            //}\n            requestMethod = requestLineStrs[0];\n            requestUri = requestLineStrs[1];\n            requestVersions = requestLineStrs[2];\n            requestLine = yourRequestLine;\n        }\n\n        private void UpdataRequestLine()\n        {\n            requestLine = string.Format(\"{0} {1} {2}\", requestMethod == null ? \"\" : requestMethod, requestUri == null ? \"\" : requestUri, requestVersions == null ? \"\" : requestVersions);\n        }\n\n        /// <summary>\n        /// when you want refresh the GetRawHttpRequest cache call it\n        /// </summary>\n        public void ChangeRawData()\n        {\n            rawRequest = null;\n        }\n\n        /// <summary>\n        /// reset ContentLength with the accurate value\n        /// </summary>\n        public void SetAutoContentLength()\n        {\n            if (RequestHeads==null)\n            {\n                RequestHeads = new List<MyKeyValuePair<string, string>>();\n            }\n            else\n            {\n                List<MyKeyValuePair<string, string>> mvKvpList = new List<MyKeyValuePair<string, string>>();\n                foreach (MyKeyValuePair<string, string> kvp in RequestHeads)\n                {\n                    if (kvp.Key == \"Content-Length\")\n                    {\n                        mvKvpList.Add(kvp);\n                    }\n                }\n                if (mvKvpList.Count > 0)\n                {\n                    foreach (MyKeyValuePair<string, string> kvp in mvKvpList)\n                    {\n                        RequestHeads.Remove(kvp);\n                    }\n                }\n            }\n            RequestHeads.Add(new MyKeyValuePair<string, string>(\"Content-Length\", RequestEntity == null ? \"0\" : RequestEntity.Length.ToString()));\n        }\n        \n        /// <summary>\n        /// Get the raw byte[] request (it will use cache ,if you want refresh it just call ChangeRawData() first)\n        /// </summary>\n        /// <returns>request bytes</returns>\n        public byte[] GetRawHttpRequest()\n        {\n            if (rawRequest == null)\n            {\n                StringBuilder tempResponseSb = new StringBuilder();\n                tempResponseSb.AppendLine(RequestLine);\n                foreach (var tempHead in RequestHeads)\n                {\n                    tempResponseSb.AppendLine(string.Format(\"{0}: {1}\", tempHead.Key, tempHead.Value));\n                }\n                tempResponseSb.Append(\"\\r\\n\");\n                if (RequestEntity != null)\n                {\n                    rawRequest = Encoding.UTF8.GetBytes(tempResponseSb.ToString()).Concat(RequestEntity).ToArray();\n                }\n                else\n                {\n                    rawRequest = Encoding.UTF8.GetBytes(tempResponseSb.ToString());\n                }\n            }\n            return rawRequest;\n        }\n\n        /// <summary>\n        /// Get HttpRequest from a raw data string (it will throw exception when find the error string)\n        /// in http heads and line it  segmentation with CRLF (\\r\\n) ,but in entity it usual use \\n to new line\n        /// </summary>\n        /// <param name=\"yourRequest\">raw request string </param>\n        /// <returns>HttpRequest</returns>\n        public static HttpRequest GetHttpRequest(string yourRequest)\n        {\n            HttpRequest httpRequest = new HttpRequest();\n            httpRequest.OriginSting = yourRequest;\n            if (yourRequest != null)\n            {\n                int tempIndex;\n                string tempString;\n                //ResponseLine\n                tempIndex = yourRequest.IndexOf(\"\\r\\n\");\n                if (tempIndex < 1)\n                {\n                    throw new Exception(\"can not find request line\");\n                }\n                tempString = yourRequest.Substring(0, tempIndex);\n                httpRequest.SetRequestLine(tempString);\n                //ResponseHeads\n                yourRequest = yourRequest.Remove(0, tempIndex + 2);\n                tempIndex = yourRequest.IndexOf(\"\\r\\n\");\n                while (tempIndex > 0)\n                {\n                    tempString = yourRequest.Substring(0, tempIndex);\n                    yourRequest = yourRequest.Remove(0, tempIndex + 2);\n                    tempIndex = tempString.IndexOf(':');\n                    if (tempIndex < 0)\n                    {\n                        throw new Exception(string.Format(\"error format in response head [{0}]\", tempString));\n                    }\n                    httpRequest.RequestHeads.Add(new MyKeyValuePair<string, string>(tempString.Substring(0, tempIndex), tempString.Remove(0, tempIndex + 1).TrimStart(' ')));\n                    tempIndex = yourRequest.IndexOf(\"\\r\\n\");\n                }\n                if (tempIndex < 0)\n                {\n                    throw new Exception(\"Please ensure that there is a single empty line after the HTTP headers.\");\n                }\n                //ResponseEntity\n                yourRequest = yourRequest.Remove(0, tempIndex + 2);\n                if (yourRequest == \"\")\n                {\n                    httpRequest.RequestEntity = new byte[0];\n                    return httpRequest;\n                }\n                else if (yourRequest.StartsWith(\"<<replace file path>>\"))\n                {\n                    tempString = yourRequest.Remove(0, 21);\n                    if (File.Exists(tempString))\n                    {\n                        using (FileStream fileStream = new FileStream(tempString, FileMode.Open, FileAccess.Read, FileShare.Read))\n                        {\n                            if (fileStream.Length > int.MaxValue)\n                            {\n                                throw new Exception(string.Format(\"your file path in  ResponseEntity is too  large with {0}\", tempString));\n                            }\n                            httpRequest.RequestEntity = new byte[fileStream.Length];\n                            fileStream.Read(httpRequest.RequestEntity, 0, httpRequest.RequestEntity.Length);\n                        }\n\n                    }\n                    else\n                    {\n                        throw new Exception(string.Format(\"your file path in  ResponseEntity is not Exists with {0}\", tempString));\n                    }\n                }\n                else\n                {\n                    //httpRequest = httpRequest.Replace(\"\\r\\n\", \"\\n\");   if you want strict format,your should replace \\r\\n \n                    httpRequest.RequestEntity = Encoding.UTF8.GetBytes(yourRequest);\n                }\n            }\n            return httpRequest;\n        }\n    }\n}\n"
  },
  {
    "path": "HttpHelper/HttpResponse.cs",
    "content": "﻿using FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\n\nnamespace FreeHttp.HttpHelper\n{\n    [Serializable]\n    [DataContract]\n    public class HttpResponse\n    {\n        private string responseLine;\n        private string responseVersion;\n        private int responseCode;\n        private string responseStatusDescription;\n        private List<MyKeyValuePair<string, string>> responseHeads;\n        private byte[] responseEntity;\n\n        [DataMember]\n        /// <summary>\n        /// get or set the response line (it will updata ResponseStatusDescription,ResponseVersion,ResponseCode)\n        /// </summary>\n        public string ResponseLine { get { return responseLine; } set { SetResponseLine(value); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set the response version (it will updata ResponseLine)\n        /// </summary>\n        public string ResponseVersion { get { return responseVersion; } set { responseVersion = value; UpdataResponseLine(); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set the response code (it will updata ResponseLine)\n        /// </summary>\n        public int ResponseCode { get { return responseCode; } set { responseCode = value; UpdataResponseLine(); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set the response StatusDescription (it will updata ResponseLine)\n        /// </summary>\n        public string ResponseStatusDescription { get { return responseStatusDescription; } set { responseStatusDescription = value; UpdataResponseLine(); ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set response heads (if you not set the List<MyKeyValuePair<string, string>> and just change or add a element ,the ChangeRawData() will not trigger ,so your should call ChangeRawData() )\n        /// </summary>\n        public List<MyKeyValuePair<string, string>> ResponseHeads { get { return responseHeads; } set { responseHeads = value; ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set response body (if you not set the byte[] and just change or add a element ,the ChangeRawData() will not trigger ,so your should call ChangeRawData() )\n        /// </summary>\n        public byte[] ResponseEntity { get { return responseEntity; } set { responseEntity = value; ChangeRawData(); } }\n\n        [DataMember]\n        /// <summary>\n        /// get or set OriginSting (the OriginSting is not the infor in http ,it only use for show ui)\n        /// </summary>\n        public string OriginSting { get; set; }\n\n        private byte[] rawResponse;\n        public HttpResponse()\n        {\n            ResponseHeads = new List<MyKeyValuePair<string, string>>();\n            rawResponse = null;\n        }\n\n        private void SetResponseLine(string yourResponseLine)\n        {\n            string[] responseLineStrs = yourResponseLine.Split(new char[] { ' ' }, 3);\n            if (responseLineStrs.Length < 2)\n            {\n                throw new Exception(\"error format in response line\");\n            }\n            responseVersion = responseLineStrs[0];\n            int tempCode;\n            if (int.TryParse(responseLineStrs[1], out tempCode))\n            {\n                responseCode = tempCode;\n            }\n            else\n            {\n                throw new Exception(\"error format in responseCode\");\n            }\n            responseStatusDescription = responseLineStrs.Length == 3 ? responseLineStrs[2] : \"\";\n            responseLine = yourResponseLine;\n        }\n\n        private void UpdataResponseLine()\n        {\n            responseLine = string.Format(\"{0} {1} {2}\", responseVersion == null ? \"\" : responseVersion, responseCode.ToString(), responseStatusDescription == null ? \"\" : responseStatusDescription);\n        }\n\n        /// <summary>\n        /// when you want refresh the GetRawHttpResponse cache call it\n        /// </summary>\n        public void ChangeRawData()\n        {\n            rawResponse = null;\n        }\n\n        /// <summary>\n        /// reset ContentLength with the accurate value\n        /// </summary>\n        public void SetAutoContentLength()\n        {\n            if (ResponseHeads == null)\n            {\n                ResponseHeads = new List<MyKeyValuePair<string, string>>();\n            }\n            else\n            {\n                /*\n                List<MyKeyValuePair<string, string>> mvKvpList = new List<MyKeyValuePair<string, string>>();\n                foreach (MyKeyValuePair<string, string> kvp in ResponseHeads)\n                {\n                    if (kvp.Key.ToLower() == \"content-length\")\n                    {\n                        mvKvpList.Add(kvp);\n                    }\n                }\n                if (mvKvpList.Count > 0)\n                {\n                    foreach (MyKeyValuePair<string, string> kvp in mvKvpList)\n                    {\n                        ResponseHeads.Remove(kvp);\n                    }\n                }\n                 * **/\n                int responseHeadsCount = ResponseHeads.Count;\n                for (int i = responseHeadsCount - 1; i >= 0; i--)\n                {\n                    if(ResponseHeads[i].Key.ToLower() == \"content-length\")\n                    {\n                        ResponseHeads.RemoveAt(i);\n                    }\n                }\n            }\n            if (ResponseEntity == null || ResponseEntity.Length == 0)\n            {\n                return;\n            }\n            ResponseHeads.Add(new MyKeyValuePair<string, string>(\"Content-Length\", ResponseEntity == null ? \"0\" : ResponseEntity.Length.ToString()));\n        }\n\n        /// <summary>\n        /// Get the raw byte[] response (it will use cache ,if you want refresh it just call ChangeRawData() first)\n        /// </summary>\n        /// <returns></returns>\n        public byte[] GetRawHttpResponse()\n        {\n            if (rawResponse == null)\n            {\n                StringBuilder tempResponseSb = new StringBuilder();\n                tempResponseSb.AppendLine(ResponseLine);\n                foreach (var tempHead in ResponseHeads)\n                {\n                    tempResponseSb.AppendLine(string.Format(\"{0}: {1}\", tempHead.Key, tempHead.Value));\n                }\n                tempResponseSb.Append(\"\\r\\n\");\n                if (ResponseEntity != null)\n                {\n                    rawResponse = Encoding.UTF8.GetBytes(tempResponseSb.ToString()).Concat(ResponseEntity).ToArray();\n                }\n                else\n                {\n                    rawResponse = Encoding.UTF8.GetBytes(tempResponseSb.ToString());\n                }\n            }\n            return rawResponse;\n        }\n\n        /// <summary>\n        /// Get HttpResponse from a raw data string (it will throw exception when find the error string)\n        /// in http heads and line it segmentation with CRLF (\\r\\n) ,but in entity it usual use \\n to new line\n        /// </summary>\n        /// <param name=\"yourResponse\">raw response string</param>\n        /// <returns>HttpResponse</returns>\n        public static HttpResponse GetHttpResponse(string yourResponse)\n        {\n            HttpResponse httpResponse = new HttpResponse();\n            httpResponse.OriginSting = yourResponse;\n            if (yourResponse != null)\n            {\n                int tempIndex;\n                string tempString;\n                //ResponseLine\n                tempIndex = yourResponse.IndexOf(\"\\r\\n\");\n                if (tempIndex < 1)\n                {\n                    throw new Exception(\"can not find response line\");\n                }\n                tempString = yourResponse.Substring(0, tempIndex);\n                httpResponse.SetResponseLine(tempString);\n                #region SetResponseLine replace\n                //string[] ResponseLineStrs = tempString.Split(new char[]{' '},3);\n                //if (ResponseLineStrs.Length < 2)\n                //{\n                //    throw new Exception(\"error format in response line\");\n                //}\n                //httpResponse.responseVersion = ResponseLineStrs[0];\n                //int responseCode;\n                //if (int.TryParse(ResponseLineStrs[1], out responseCode))\n                //{\n                //    httpResponse.responseCode = responseCode;\n                //}\n                //else\n                //{\n                //    throw new Exception(\"error format in responseCode\");\n                //}\n                //httpResponse.responseStatusDescription = ResponseLineStrs.Length == 3 ? ResponseLineStrs[2] : \"\";\n                //httpResponse.responseLine = tempString;\n                //ResponseHeads \n                #endregion\n                yourResponse = yourResponse.Remove(0, tempIndex + 2);\n                tempIndex = yourResponse.IndexOf(\"\\r\\n\");\n                while (tempIndex > 0)\n                {\n                    tempString = yourResponse.Substring(0, tempIndex);\n                    yourResponse = yourResponse.Remove(0, tempIndex + 2);\n                    tempIndex = tempString.IndexOf(':');\n                    if (tempIndex < 0)\n                    {\n                        throw new Exception(string.Format(\"error format in response head [{0}]\", tempString));\n                    }\n                    httpResponse.ResponseHeads.Add(new MyKeyValuePair<string, string>(tempString.Substring(0, tempIndex), tempString.Remove(0, tempIndex + 1).TrimStart(' ')));\n                    tempIndex = yourResponse.IndexOf(\"\\r\\n\");\n                }\n                if (tempIndex < 0)\n                {\n                    throw new Exception(\"Please ensure that there is a single empty line after the HTTP headers.\");\n                }\n                //ResponseEntity   tempIndex=0\n                yourResponse = yourResponse.Remove(0, tempIndex + 2);\n                if (yourResponse == \"\")\n                {\n                    httpResponse.ResponseEntity = new byte[0];\n                    return httpResponse;\n                }\n                else if (yourResponse.StartsWith(\"<<replace file path>>\"))\n                {\n                    tempString = yourResponse.Remove(0, 21);\n                    if (File.Exists(tempString))\n                    {\n                        using (FileStream fileStream = new FileStream(tempString, FileMode.Open, FileAccess.Read, FileShare.Read))\n                        {\n                            if (fileStream.Length > int.MaxValue)\n                            {\n                                throw new Exception(string.Format(\"your file path in  ResponseEntity is too  large with {0}\", tempString));\n                            }\n                            httpResponse.ResponseEntity = new byte[fileStream.Length];\n                            fileStream.Read(httpResponse.ResponseEntity, 0, httpResponse.ResponseEntity.Length);\n                        }\n\n                    }\n                    else\n                    {\n                        throw new Exception(string.Format(\"your file path in  ResponseEntity is not Exists with {0}\", tempString));\n                    }\n                }\n                else\n                {\n                    //yourResponse = yourResponse.Replace(\"\\r\\n\", \"\\n\");   if you want strict format,your should replace \\r\\n \n                    httpResponse.ResponseEntity = Encoding.UTF8.GetBytes(yourResponse);\n                }\n            }\n            return httpResponse;\n        }\n    }\n}\n"
  },
  {
    "path": "HttpHelper/ParameterContentModific.cs",
    "content": "﻿using FreeHttp.AutoTest.ParameterizationContent;\nusing FreeHttp.AutoTest.RunTimeStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.HttpHelper\n{\n    [Serializable]\n    [DataContract]\n    public class ParameterContentModific: ContentModific\n    {\n        [DataMember]\n        //[System.Xml.Serialization.XmlAttribute(\"ParameterTargetKey\")]\n        //public new CaseParameterizationContent TargetKey { get; set; } //使用new隐藏成员后，序列化同名，需要设置别名，别名设置又不能用于复杂类型\n        public CaseParameterizationContent ParameterTargetKey { get; set; }\n\n        [DataMember]\n        //[System.Xml.Serialization.XmlAttribute(\"ParameterReplaceContent\")]\n        //public new CaseParameterizationContent ReplaceContent { get; set; }\n        public CaseParameterizationContent ParameterReplaceContent { get; set; }\n\n        //IsUseParameter will disable encodetype in CaseParameterizationContent ,if your need encodetype ability just remove it\n        [DataMember]\n        public bool IsUseParameter { get; set; }\n\n        public void SetUseParameterInfo(bool isUseParameter , ActuatorStaticDataCollection staticDataCollection =null )\n        {\n            IsUseParameter = isUseParameter;\n            ParameterTargetKey.hasParameter = IsUseParameter;\n            ParameterReplaceContent.hasParameter= IsUseParameter;\n            if (IsUseParameter && staticDataCollection != null)\n            {\n                actuatorStaticDataCollection = staticDataCollection;\n            }\n        }\n\n        [System.Xml.Serialization.XmlIgnore]\n        private ActuatorStaticDataCollection actuatorStaticDataCollection;\n\n        public ParameterContentModific(string targetKey, string replaceContent , ActuatorStaticDataCollection dataCollection , bool useParameter): base(targetKey, replaceContent)\n        {\n            ParameterTargetKey = new CaseParameterizationContent(targetKey, useParameter);\n            ParameterReplaceContent = new CaseParameterizationContent(replaceContent, useParameter);\n            actuatorStaticDataCollection = dataCollection;\n            IsUseParameter = useParameter;\n        }\n\n        public ParameterContentModific() : this(null, null, null, false)\n        {\n\n        }\n\n        public ParameterContentModific(string targetKey, string replaceContent):this(targetKey, replaceContent,null,false)\n        {\n            \n        }\n\n        public string GetFinalContent(string sourceContent, NameValueCollection yourDataResultCollection, out string errorMessage)\n        {\n            errorMessage = null;\n            if (IsUseParameter)\n            {\n                base.TargetKey = ParameterTargetKey.GetTargetContentData(actuatorStaticDataCollection, yourDataResultCollection, out string errorMes);\n                if (errorMes == null)\n                {\n                    base.ReplaceContent = ParameterReplaceContent.GetTargetContentData(actuatorStaticDataCollection, yourDataResultCollection, out errorMes);\n                }\n                else\n                {\n                    base.ReplaceContent = ParameterReplaceContent.GetTargetContentData();\n                }\n            }\n            else\n            {\n                base.TargetKey = ParameterTargetKey.GetTargetContentData();\n                base.ReplaceContent = ParameterReplaceContent.GetTargetContentData();\n            }\n            return base.GetFinalContent(sourceContent);\n        }\n\n        public new string GetFinalContent(string sourceContent)\n        {\n            NameValueCollection nameValueCollection = new NameValueCollection();\n            return GetFinalContent(sourceContent, nameValueCollection, out string _);\n        }\n\n    }\n}\n"
  },
  {
    "path": "HttpHelper/ParameterHttpRequest.cs",
    "content": "﻿using FreeHttp.AutoTest.ParameterizationContent;\nusing FreeHttp.AutoTest.RunTimeStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.HttpHelper\n{\n    [Serializable]\n    [DataContract]\n    public class ParameterHttpRequest : HttpRequest\n    {\n        [DataMember]\n        public CaseParameterizationContent ParameterizationContent{ get; set; }\n\n        [NonSerialized] \n        private ActuatorStaticDataCollection actuatorStaticDataCollection;\n\n        public ParameterHttpRequest()\n        {\n            actuatorStaticDataCollection = null;\n        }\n        public ParameterHttpRequest(string yourRequest, bool isParameter)\n        {\n            ParameterizationContent = new CaseParameterizationContent(yourRequest, isParameter);\n            ParameterizationContent.encodetype = ParameterizationContentEncodingType.encode_default;\n            base.OriginSting = yourRequest;\n        }\n\n        private ParameterHttpRequest(HttpRequest httpRequest)\n        {\n            RequestLine = httpRequest.RequestLine;\n            RequestHeads = httpRequest.RequestHeads;\n            RequestEntity = httpRequest.RequestEntity;\n            OriginSting = httpRequest.OriginSting;\n        }\n\n        public void SetUseParameterInfo(bool isUseParameter ,ActuatorStaticDataCollection yourStaticDataCollection)\n        {\n            ParameterizationContent.hasParameter = isUseParameter;\n            actuatorStaticDataCollection = yourStaticDataCollection;\n        }\n\n        public new byte[] GetRawHttpRequest()\n        {\n            return base.GetRawHttpRequest();\n        }\n\n        public byte[] GetRawHttpRequest(out string errorMes, out NameValueCollection nameValueCollection)\n        {\n            nameValueCollection = null;\n            errorMes = null;\n            if(ParameterizationContent.hasParameter)\n            {\n                nameValueCollection = new NameValueCollection();\n                string newOriginSting = ParameterizationContent.GetTargetContentData(actuatorStaticDataCollection, nameValueCollection, out errorMes);\n                HttpRequest tempHttpRequest = HttpRequest.GetHttpRequest(newOriginSting);\n                //tempHttpRequest.SetAutoContentLength();\n                return tempHttpRequest.GetRawHttpRequest();\n            }\n            return base.GetRawHttpRequest();\n        }\n\n        public HttpRequest UpdateHttpRequest(out string errorMes, out NameValueCollection nameValueCollection)\n        {\n            nameValueCollection = null;\n            errorMes = null;\n            if (ParameterizationContent.hasParameter)\n            {\n                nameValueCollection = new NameValueCollection();\n                string newOriginSting = ParameterizationContent.GetTargetContentData(actuatorStaticDataCollection, nameValueCollection, out errorMes);\n                HttpRequest tempHttpRequest = HttpRequest.GetHttpRequest(newOriginSting);  // it may throw exception\n                tempHttpRequest.SetAutoContentLength(); // if hasParameter SetAutoContentLength\n                return tempHttpRequest;\n            }\n            return this;\n        }\n\n        public static ParameterHttpRequest GetHttpRequest(string yourRequest, bool isParameter)\n        {\n            ParameterHttpRequest returnPrameterHttpRequest;\n            returnPrameterHttpRequest = new ParameterHttpRequest(HttpRequest.GetHttpRequest(yourRequest));\n            returnPrameterHttpRequest.ParameterizationContent = new CaseParameterizationContent(yourRequest, isParameter);\n            return returnPrameterHttpRequest;\n        }\n\n        public static ParameterHttpRequest GetHttpRequest(string yourRequest, bool isParameter, ActuatorStaticDataCollection yourActuatorStaticDataCollection)\n        {\n            ParameterHttpRequest returnPrameterHttpRequest = GetHttpRequest(yourRequest, isParameter);\n            //returnPrameterHttpRequest.actuatorStaticDataCollection = yourActuatorStaticDataCollection;\n            returnPrameterHttpRequest.SetUseParameterInfo(isParameter,yourActuatorStaticDataCollection);\n            return returnPrameterHttpRequest;\n        }\n        \n    }\n}\n"
  },
  {
    "path": "HttpHelper/ParameterHttpResponse.cs",
    "content": "﻿using FreeHttp.AutoTest.ParameterizationContent;\nusing FreeHttp.AutoTest.RunTimeStaticData;\nusing System;\nusing System.Collections.Generic;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.HttpHelper\n{\n    [Serializable]\n    [DataContract]\n    public class ParameterHttpResponse : HttpResponse\n    {\n        [DataMember]\n        public CaseParameterizationContent ParameterizationContent{ get; set; }\n\n        [NonSerialized] \n        private ActuatorStaticDataCollection actuatorStaticDataCollection;\n        public ParameterHttpResponse(string yourResponse, bool isParameter)\n        {\n            ParameterizationContent = new CaseParameterizationContent(yourResponse, isParameter);\n            ParameterizationContent.encodetype = ParameterizationContentEncodingType.encode_default;\n            base.OriginSting = yourResponse;\n        }\n\n        public ParameterHttpResponse()\n        {\n            actuatorStaticDataCollection = null;\n        }\n\n        private ParameterHttpResponse(HttpResponse httpResponse)\n        {\n            ResponseLine = httpResponse.ResponseLine;\n            ResponseHeads = httpResponse.ResponseHeads;\n            ResponseEntity = httpResponse.ResponseEntity;\n            OriginSting = httpResponse.OriginSting;\n        }\n\n        public void SetUseParameterInfo(bool isUseParameter, ActuatorStaticDataCollection yourStaticDataCollection)\n        {\n            ParameterizationContent.hasParameter = isUseParameter;\n            actuatorStaticDataCollection = yourStaticDataCollection;\n        }\n\n        public new byte[] GetRawHttpResponse()\n        {\n            return base.GetRawHttpResponse();\n        }\n\n        public byte[] GetRawHttpResponse(out string errorMes, out NameValueCollection nameValueCollection)\n        {\n            nameValueCollection = null;\n            errorMes = null;\n            if(ParameterizationContent.hasParameter)\n            {\n                nameValueCollection = new NameValueCollection();\n                string newOriginSting = ParameterizationContent.GetTargetContentData(actuatorStaticDataCollection, nameValueCollection, out errorMes);\n                HttpResponse tempHttpResponse = HttpResponse.GetHttpResponse(newOriginSting);\n                //tempHttpResponse.SetAutoContentLength();\n                return tempHttpResponse.GetRawHttpResponse();\n            }\n            return base.GetRawHttpResponse();\n        }\n\n        public HttpResponse UpdateHttpResponse(out string errorMes, out NameValueCollection nameValueCollection)\n        {\n            nameValueCollection = null;\n            errorMes = null;\n            if (ParameterizationContent.hasParameter)\n            {\n                nameValueCollection = new NameValueCollection();\n                string newOriginSting = ParameterizationContent.GetTargetContentData(actuatorStaticDataCollection, nameValueCollection, out errorMes);\n                HttpResponse tempHttpResponse = HttpResponse.GetHttpResponse(newOriginSting);\n                tempHttpResponse.SetAutoContentLength(); // if hasParameter SetAutoContentLength\n                return tempHttpResponse;\n            }\n            return this;\n        }\n\n        public static ParameterHttpResponse GetHttpResponse(string yourResponse, bool isParameter)\n        {\n            ParameterHttpResponse returnPrameterHttpResponse;\n            returnPrameterHttpResponse = new ParameterHttpResponse(HttpResponse.GetHttpResponse(yourResponse));\n            returnPrameterHttpResponse.ParameterizationContent = new CaseParameterizationContent(yourResponse, isParameter);\n            return returnPrameterHttpResponse;\n        }\n\n        public static ParameterHttpResponse GetHttpResponse(string yourResponse, bool isParameter, ActuatorStaticDataCollection yourActuatorStaticDataCollection)\n        {\n            ParameterHttpResponse returnPrameterHttpResponse = GetHttpResponse(yourResponse, isParameter);\n            //returnPrameterHttpResponse.actuatorStaticDataCollection = yourActuatorStaticDataCollection;\n            returnPrameterHttpResponse.SetUseParameterInfo(isParameter, yourActuatorStaticDataCollection);\n            return returnPrameterHttpResponse;\n        }\n        \n    }\n}\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2018 lulianqi (mycllq@hotmail.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "MyHelper/MyExtensionMethods.cs",
    "content": "﻿using FreeHttp.FiddlerHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\n\nnamespace FreeHttp.MyHelper\n{\n    public static class MyExtensionMethods\n    {\n        public static List<T> MyClone<T>(this List<T> list)\n        {\n            List<T> returnList = new List<T>();\n            //foreach(var tempVaule in list)\n            //{\n            //    returnList.Add(tempVaule);\n            //}\n            returnList.AddRange(list);\n            return returnList;\n        }\n\n        public static T MyDeepClone<T>(this T source) where T : IFiddlerHttpTamper\n        {\n            if (!typeof(T).IsSerializable)\n            {\n                throw new ArgumentException(\"Your type must be serializable.\", \"source\");\n            }\n            T cloneObj = default;\n            using (Stream jsonStream = MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStream(source))\n            {\n                cloneObj = MyJsonHelper.JsonDataContractJsonSerializer.JsonStreamToObject<T>(jsonStream);\n            }\n            return cloneObj;\n        }\n\n        public static bool MyContains<T>(this List<T> list, T item)\n        {\n            if (item == null)\n            {\n                for (int j = 0; j < list.Count; j++)\n                {\n                    if (list[j] == null)\n                    {\n                        return true;\n                    }\n                }\n                return false;\n            }\n\n            Type c = typeof(T);\n            if (c == typeof(MyKeyValuePair<string, string>))\n            {\n                for (int j = 0; j < list.Count; j++)\n                {\n                    if((list[j]).Equals(item))\n                    {\n                        return true;\n                    }\n                }\n                return false;\n            }\n            else\n            {\n                return list.Contains(item);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "MyHelper/MyGlobalHelper.cs",
    "content": "﻿using FreeHttp.WebService.HttpServer;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Security.Principal;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.MyHelper\n{\n    public class MyGlobalHelper\n    {\n        public class GlobalMessageEventArgs : EventArgs\n        {\n            public bool IsErrorMessage { get; set; }\n            public string Message { get; set; }\n            public GlobalMessageEventArgs(bool isErrorMessage, string message)\n            {\n                IsErrorMessage = isErrorMessage;\n                Message = message;\n            }\n        }\n\n        public delegate void GetGlobalMessageEventHandler(object sender, GlobalMessageEventArgs yourMessage);\n        \n        /// <summary>\n        /// it will called by other thread , you must keep the thread save\n        /// </summary>\n        public static GetGlobalMessageEventHandler OnGetGlobalMessage;\n\n        public static FreeHttp.FreeHttpControl.MarkControlService markControlService;\n        public static MyHttpListener myHttpListener;\n        static MyGlobalHelper()\n        {\n            markControlService = new FreeHttp.FreeHttpControl.MarkControlService(1000);\n            myHttpListener = new MyHttpListener();\n        }\n\n        public static void PutGlobalMessage(object sender, GlobalMessageEventArgs yourMessage)\n        {\n            if(OnGetGlobalMessage!=null && yourMessage!=null)\n            {\n                OnGetGlobalMessage(sender, yourMessage);\n            }\n        }\n\n        public static bool IsAdministrator()\n        {\n            WindowsIdentity identity = WindowsIdentity.GetCurrent();\n            WindowsPrincipal principal = new WindowsPrincipal(identity);\n            return principal.IsInRole(WindowsBuiltInRole.Administrator);\n        }\n    }\n}\n"
  },
  {
    "path": "MyHelper/MyJsonHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.MyHelper\n{\n    public class MyJsonHelper\n    {\n        public class JsonDataContractJsonSerializer\n        {\n            /// <summary>\n            /// 使用.net内置方法将对象序列号为str 对象需要使用[System.Runtime.Serialization.DataContract()]标记\n            /// </summary>\n            /// <param name=\"obj\"></param>\n            /// <returns></returns>\n            public static string ObjectToJsonStr(object obj)\n            {\n                System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());\n                using (MemoryStream stream = new MemoryStream())\n                {\n                    serializer.WriteObject(stream, obj);\n                    using (StreamReader sr = new StreamReader(stream))\n                    {\n                        stream.Position = 0;\n                        return sr.ReadToEnd();\n                    }\n                }\n            }\n\n            public static Stream ObjectToJsonStream(object obj)\n            {\n                System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());\n                MemoryStream stream = new MemoryStream();\n                serializer.WriteObject(stream, obj);\n                return stream;\n            }\n\n            public static T JsonStringToObject<T>(string str)\n            {\n                T serializeClass = default(T);\n                System.Runtime.Serialization.Json.DataContractJsonSerializer ser = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));\n                try\n                {\n                    using (MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(str)))\n                    {\n                        serializeClass = (T)ser.ReadObject(ms);\n                    }\n                }\n                catch (Exception ex)\n                {\n                    Console.WriteLine(ex.Message);\n                    serializeClass = default(T);\n                }\n                finally\n                {\n\n                }\n                return serializeClass;\n            }\n\n            public static T JsonStreamToObject<T>(Stream jsonStream)\n            {\n                T serializeClass = default(T);\n                System.Runtime.Serialization.Json.DataContractJsonSerializer ser = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));\n                try\n                {\n                    jsonStream.Position = 0;\n                    serializeClass = (T)ser.ReadObject(jsonStream);\n                }\n                catch (Exception ex)\n                {\n                    Console.WriteLine(ex.Message);\n                    serializeClass = default(T);\n                }\n                finally\n                {\n\n                }\n                return serializeClass;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "MyHelper/MyKeyValuePair.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.MyHelper\n{\n    [Serializable]\n    public class MyKeyValuePair<TKey, TValue> :ICloneable\n    {\n        private TKey key;\n        private TValue value;\n\n        public TKey Key\n        {\n            get { return this.key; }\n            set { this.key = value; }\n        }\n\n        public TValue Value\n        {\n            get { return this.value; }\n            set { this.value = value; }\n        }\n\n        public MyKeyValuePair(TKey key, TValue value)\n        {\n            this.key = key;\n            this.value = value;\n        }\n\n        public MyKeyValuePair()\n        {\n            this.key = default(TKey);\n            this.value = default(TValue);\n        }\n\n        public override string ToString()\n        {\n            StringBuilder sb = new StringBuilder();\n            sb.Append('[');\n            if (this.Key != null)\n            {\n                sb.Append(this.Key.ToString());\n            }\n            sb.Append(\", \");\n            if (this.Value != null)\n            {\n                sb.Append(this.Value.ToString());\n            }\n            sb.Append(']');\n            return sb.ToString();\n        }\n\n        public bool Equals(MyKeyValuePair<TKey, TValue> yourKvp)\n        {\n            if (yourKvp == null)\n            {\n                return false;\n            }\n            return (Key.Equals(yourKvp.key)&&Value.Equals(yourKvp.Value));\n        }\n\n        //public new bool Equals(object obj)     用new重写，强制转换的目标类型不会调用该重载，使用override 只要类型对象指针是目标类型，都会调用目标重载\n        public override bool Equals(object obj)\n        {\n            if (typeof(MyKeyValuePair<TKey, TValue>)==obj.GetType())\n            {\n                return Equals((MyKeyValuePair<TKey, TValue>)obj);\n            }\n            return base.Equals(obj);\n        }\n\n        public override int GetHashCode()\n        {\n            try\n            {\n                return key.GetHashCode() ^ value.GetHashCode();\n            }\n            catch\n            {\n                return base.GetHashCode();\n            }\n        }\n\n        public object Clone()\n        {\n            return new MyKeyValuePair<TKey, TValue>(key, value);\n        }\n    }\n\n\n}\n"
  },
  {
    "path": "MyHelper/SelfUpgradeHelp.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Net.Http;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace FreeHttp.MyHelper\n{\n    public class SelfUpgradeHelp\n    {\n        private static HttpClient httpClient = new HttpClient();\n        private static string GetFreeHttpDllPath()\n        {\n            string path = null;\n            try\n            {\n                string codeBase = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;\n                UriBuilder uri = new UriBuilder(codeBase);\n                path = Uri.UnescapeDataString(uri.Path);\n                //Path.GetDirectoryName(path);\n            }\n            catch\n            {\n                path = null;\n            }\n            finally\n            {\n                if(string.IsNullOrEmpty(path))\n                {\n                    path = Directory.GetCurrentDirectory() + \"\\\\Scripts\\\\FreeHttp.dll\";\n                }\n            }\n            return path;\n        }\n        private static async Task<bool> DownloadUpgradeFileAsync(string uri, string path)\n        {\n            if (File.Exists(path))\n            {\n                try\n                {\n                    File.Delete(path);\n                }\n                catch\n                {\n                    return false;\n                }\n            }\n            HttpResponseMessage response = await httpClient.GetAsync(uri);\n            if (response.IsSuccessStatusCode)\n            {\n                Stream fileStrem = await response.Content.ReadAsStreamAsync();\n                using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None))\n                {\n                    await fileStrem.CopyToAsync(fs);\n                    fs.Close();\n                }\n            }\n            else\n            {\n                return false;\n            }\n            return true;\n        }\n        public static async Task<string> UpdateDllAsync(string sourceFileUrl)\n        {\n            string path = GetFreeHttpDllPath();\n            string oldFilePath = path + \".oldversion\";\n            string upgradeFile = Path.GetDirectoryName(path) + \"/FreeHttpUpgradeFile\";\n            try\n            {\n                if (File.Exists(oldFilePath))\n                {\n                    File.Delete(oldFilePath);\n                }\n                //https://lulianqi.com/file/FreeHttpUpgradeFile\n                await DownloadUpgradeFileAsync(sourceFileUrl, upgradeFile);\n                System.IO.File.Move(path, oldFilePath);\n                System.IO.File.Move(upgradeFile, path);\n            }\n            catch(Exception ex)\n            {\n                return ex.Message;\n            }\n            return null;\n        }\n\n    }\n}\n"
  },
  {
    "path": "MyHelper/SerializableHelper.cs",
    "content": "﻿using FreeHttp.FiddlerHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nusing System.Xml.Serialization;\n\nnamespace FreeHttp.MyHelper\n{\n    \n    class SerializableHelper\n    {\n        public static void SerializeRuleList(ListView requestRuleListView, ListView reponseRuleListView)\n        {\n            string rulePath = \"FreeHttp\\\\RuleData.xml\";\n            if (requestRuleListView != null && reponseRuleListView!=null)\n            {\n                //dynamic\n                List<FiddlerRequestChange> requestList = new List<FiddlerRequestChange>();\n                List<FiddlerResponseChange> responseList = new List<FiddlerResponseChange>();\n                foreach (ListViewItem tempItem in requestRuleListView.Items)\n                {\n                    requestList.Add((FiddlerRequestChange)tempItem.Tag);\n                }\n                foreach (ListViewItem tempItem in reponseRuleListView.Items)\n                {\n                    responseList.Add((FiddlerResponseChange)tempItem.Tag);\n                }\n                //Stream stream = File.Open(\"data.xml\", FileMode.Create);\n                TextWriter writer = new StreamWriter(rulePath, false);\n                XmlSerializer serializer = new XmlSerializer(typeof(FiddlerModificHttpRuleCollection));\n                //serializer = new XmlSerializer(typeof(List<IFiddlerHttpTamper>));\n                serializer.Serialize(writer, new FiddlerModificHttpRuleCollection(requestList, responseList));\n                writer.Close();\n\n                //写入版本\n                System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument();\n                xmlDocument.Load(rulePath);\n                System.Xml.XmlAttribute dbAtt = xmlDocument.CreateAttribute(\"ruleVersion\");\n                dbAtt.Value = WebService.UserComputerInfo.GetRuleVersion();\n                xmlDocument.SelectSingleNode(\"/FiddlerModificHttpRuleCollection\")?.Attributes.Append(dbAtt);\n                xmlDocument.Save(rulePath);\n            }\n        }\n\n        public static FiddlerModificHttpRuleCollection DeserializeRuleList()\n        {\n            string rulePath = \"FreeHttp\\\\RuleData.xml\";\n            FiddlerModificHttpRuleCollection fiddlerModificHttpRuleCollection = null;\n            if (File.Exists(rulePath))\n            {\n                FileStream myFileStream = new FileStream(rulePath, FileMode.Open);\n                try\n                {\n                    using (System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(myFileStream))\n                    {\n                        reader.Normalization = false;\n                        //版本控制\n                        string ruleVersion = string.Empty;\n                        //System.Version version = new Version(\"2.0.0\");\n                        while (reader.Read())\n                        {\n                            if (reader.NodeType == System.Xml.XmlNodeType.Element)\n                            {\n                                if (reader.Name == \"FiddlerModificHttpRuleCollection\")\n                                {\n                                    ruleVersion = reader.GetAttribute(\"ruleVersion\");\n                                    break;\n                                }\n                            }\n                        }\n                        if (string.IsNullOrEmpty(ruleVersion) || ruleVersion[0] == '1')\n                        {\n                            File.Copy(rulePath, rulePath + \".oldVersion\", true);\n                            XmlSerializer mySerializer = new XmlSerializer(typeof(FreeHttp.FiddlerHelper.VersionControlV1.FiddlerModificHttpRuleCollection));\n                            fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)(FreeHttp.FiddlerHelper.VersionControlV1.FiddlerModificHttpRuleCollection)mySerializer.Deserialize(reader);\n                        }\n                        else if(ruleVersion[0]=='2')\n                        {\n                            XmlSerializer mySerializer = new XmlSerializer(typeof(FiddlerModificHttpRuleCollection));\n                            fiddlerModificHttpRuleCollection = (FiddlerModificHttpRuleCollection)mySerializer.Deserialize(reader);\n                        }\n                        else\n                        {\n                            throw new Exception(\"unkonw ruleVersion\",new Exception(\"this freehttp can not analysis the rule file , you should updata your freehttp\"));\n                        }\n                    }\n                }\n                catch(Exception ex)\n                {\n                    MessageBox.Show(string.Format(\"{0}\\r\\n{1}\\r\\nyour error rule file will back up in {2}\", ex.Message, ex.InnerException == null ? \"\" : ex.InnerException.Message, Directory.GetCurrentDirectory() + rulePath + \".lastErrorFile\"), \"load user rule fail\");\n                    _ = WebService.RemoteLogService.ReportLogAsync($\"load user rule fail [{ex.ToString()}]\", WebService.RemoteLogService.RemoteLogOperation.WindowLoad, WebService.RemoteLogService.RemoteLogType.Error);\n                    File.Copy(rulePath, rulePath+\".lastErrorFile\", true);\n                }\n                finally\n                {\n                    myFileStream.Close();\n                }\n            }\n            return fiddlerModificHttpRuleCollection;\n        }\n\n\n\n        /// <summary>\n        ///[Serializable] 标记类 （公共成员默认被序列化）\n        ///[NonSerialized] 标记不需要序列化的成员 (只对终端field有效 ， 属性可以使用[System.Xml.Serialization.XmlIgnore])\n        /// Serializable 需要空参数的构造函数 \n        /// </summary>\n        /// <typeparam name=\"T\"></typeparam>\n        /// <param name=\"modificSettingInfo\"></param>\n        /// <param name=\"filePath\"></param>\n        public static void SerializeData<T>(T modificSettingInfo, string filePath)\n        {\n            if (modificSettingInfo != null)\n            {\n                TextWriter writer = new StreamWriter(filePath, false);\n                XmlSerializer serializer = new XmlSerializer(typeof(T));\n                //serializer = new XmlSerializer(typeof(List<IFiddlerHttpTamper>));\n                serializer.Serialize(writer, modificSettingInfo);\n                writer.Close();\n            }\n        }\n\n        public static T DeserializeData<T>(string filePath)\n        {\n            T modificSettingInfo = default(T); //对于数值类型会返回零。 对于结构，此关键字将返回初始化为零或 null 的每个结构成员，具体取决于这些结构是值类型还是引用类型,对于数值类型会返回零。 对于结构，此关键字将返回初始化为零或 null 的每个结构成员，具体取决于这些结构是值类型还是引用类型\n            if (File.Exists(filePath))\n            {\n                XmlSerializer mySerializer = new XmlSerializer(typeof(T));\n                FileStream myFileStream = new FileStream(filePath, FileMode.Open);\n                try\n                {\n                    //modificSettingInfo = (T)mySerializer.Deserialize(myFileStream);    //默认使用XmlReader （ It doesn't have a property for controlling normalization, as the XmlTextReader does.） 导致\\r\\n被反序列化为\\n\n                    using (System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(myFileStream))\n                    {\n                        reader.Normalization = false;\n                        modificSettingInfo = (T)mySerializer.Deserialize(reader);\n                    }\n                }\n                catch (Exception ex)\n                {\n                    MessageBox.Show(string.Format(\"{0}\\r\\n{1}\", ex.Message, ex.InnerException == null ? \"\" : ex.InnerException.Message), \"DeserializeData fail\");\n                    File.Copy(filePath, string.Format(\"{0}.lastErrorFile\", filePath), true);\n                    modificSettingInfo = default(T);\n                }\n                finally\n                {\n                    myFileStream.Close();\n                }\n            }\n            return modificSettingInfo;\n        }\n\n\n        /// <summary>\n        /// 『DataMemberAttribute Class』   \n        /// 使用 [DataContract()] 标记class  \n        /// 【如果要使用[Serializable] 默认序列化公开字段及属性，且要求其有公开的Set,用[DataContract]指没有这个限制，使用 [DataMember(Name = \"ID\")] / [DataMember]  标记成员】\n        /// 使用 [DataMember(Name = \"ID\")] / [DataMember]  标记成员\n        /// 并且不要求成员访问修饰符为public\n        /// </summary>\n        /// <typeparam name=\"T\"></typeparam>\n        /// <param name=\"serializeClass\"></param>\n        /// <param name=\"filePath\"></param>\n        public static void SerializeContractData<T>(T serializeClass, string filePath)\n        {\n            if (serializeClass != null)\n            {\n                FileStream fs = new FileStream(filePath, FileMode.Create);\n                System.Xml.XmlDictionaryWriter writer = System.Xml.XmlDictionaryWriter.CreateTextWriter(fs);\n                System.Runtime.Serialization.DataContractSerializer ser = new System.Runtime.Serialization.DataContractSerializer(typeof(T));\n                ser.WriteObject(writer, serializeClass);\n                writer.Close();\n                fs.Close();\n            }\n        }\n\n        public static T DeserializeContractData<T>(string filePath)\n        {\n            T serializeClass = default(T); //对于数值类型会返回零。 对于结构，此关键字将返回初始化为零或 null 的每个结构成员，具体取决于这些结构是值类型还是引用类型,对于数值类型会返回零。 对于结构，此关键字将返回初始化为零或 null 的每个结构成员，具体取决于这些结构是值类型还是引用类型\n             if (File.Exists(filePath))\n             {\n                 FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate);\n                 DataContractSerializer ser = new DataContractSerializer(typeof(T));\n                 try\n                 {\n                     serializeClass = (T)ser.ReadObject(fs);\n                 }\n                 catch (Exception ex)\n                 {\n                     MessageBox.Show(string.Format(\"{0}\\r\\n{1}\", ex.Message, ex.Message, ex.InnerException == null ? \"\" : ex.InnerException.Message), \"DeserializeContractData Fail\");\n                     File.Copy(filePath, string.Format(\"{0}.lastErrorFile\", filePath), true);\n                     serializeClass = default(T);\n                 }\n                 finally\n                 {\n                     fs.Close();\n                 }\n                 \n             }\n             return serializeClass;\n        }\n\n    }\n\n}\n"
  },
  {
    "path": "Properties/AssemblyInfo.cs",
    "content": "﻿using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// 有关程序集的常规信息通过以下\n// 特性集控制。更改这些特性值可修改\n// 与程序集关联的信息。\n[assembly: AssemblyTitle(\"FreeHttp\")]\n[assembly: AssemblyDescription(\"mycllq@hotmail.com\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"mycllq@hotmail.com\")]\n[assembly: AssemblyProduct(\"FreeHttp\")]\n[assembly: AssemblyCopyright(\"mycllq@hotmail.com\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// 将 ComVisible 设置为 false 使此程序集中的类型\n// 对 COM 组件不可见。  如果需要从 COM 访问此程序集中的类型，\n// 则将该类型上的 ComVisible 特性设置为 true。\n[assembly: ComVisible(false)]\n\n// 如果此项目向 COM 公开，则下列 GUID 用于类型库的 ID\n[assembly: Guid(\"a65f9dc7-6140-4720-8445-406682cb12bc\")]\n\n// 程序集的版本信息由下面四个值组成: \n//\n//      主版本\n//      次版本 \n//      生成号\n//      修订号\n//\n// 可以指定所有这些值，也可以使用“生成号”和“修订号”的默认值，\n// 方法是按如下所示使用“*”: \n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"2.3.0\")]\n[assembly: AssemblyFileVersion(\"2.0.0\")]\n\n"
  },
  {
    "path": "Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     此代码由工具生成。\n//     运行时版本:4.0.30319.42000\n//\n//     对此文件的更改可能会导致不正确的行为，并且如果\n//     重新生成代码，这些更改将会丢失。\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace FreeHttp.Properties {\n    using System;\n    \n    \n    /// <summary>\n    ///   一个强类型的资源类，用于查找本地化的字符串等。\n    /// </summary>\n    // 此类是由 StronglyTypedResourceBuilder\n    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。\n    // 若要添加或移除成员，请编辑 .ResX 文件，然后重新运行 ResGen\n    // (以 /str 作为命令选项)，或重新生成 VS 项目。\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"16.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources() {\n        }\n        \n        /// <summary>\n        ///   返回此类使用的缓存的 ResourceManager 实例。\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"FreeHttp.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   重写当前线程的 CurrentUICulture 属性，对\n        ///   使用此强类型资源类的所有资源查找执行重写。\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap _goto {\n            get {\n                object obj = ResourceManager.GetObject(\"goto\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap add {\n            get {\n                object obj = ResourceManager.GetObject(\"add\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap cancel {\n            get {\n                object obj = ResourceManager.GetObject(\"cancel\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap close {\n            get {\n                object obj = ResourceManager.GetObject(\"close\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap cloud {\n            get {\n                object obj = ResourceManager.GetObject(\"cloud\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap copy {\n            get {\n                object obj = ResourceManager.GetObject(\"copy\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap copy_value {\n            get {\n                object obj = ResourceManager.GetObject(\"copy_value\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap delete_value {\n            get {\n                object obj = ResourceManager.GetObject(\"delete_value\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap group {\n            get {\n                object obj = ResourceManager.GetObject(\"group\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap httpEnable {\n            get {\n                object obj = ResourceManager.GetObject(\"httpEnable\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap minimize {\n            get {\n                object obj = ResourceManager.GetObject(\"minimize\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap move {\n            get {\n                object obj = ResourceManager.GetObject(\"move\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap noParameter {\n            get {\n                object obj = ResourceManager.GetObject(\"noParameter\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap remove {\n            get {\n                object obj = ResourceManager.GetObject(\"remove\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap rename {\n            get {\n                object obj = ResourceManager.GetObject(\"rename\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap select {\n            get {\n                object obj = ResourceManager.GetObject(\"select\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap unselect {\n            get {\n                object obj = ResourceManager.GetObject(\"unselect\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap useParameter {\n            get {\n                object obj = ResourceManager.GetObject(\"useParameter\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap wsEnable {\n            get {\n                object obj = ResourceManager.GetObject(\"wsEnable\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap zoombig {\n            get {\n                object obj = ResourceManager.GetObject(\"zoombig\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap zoomsmall {\n            get {\n                object obj = ResourceManager.GetObject(\"zoomsmall\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "Properties/Resources.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\n  <data name=\"noParameter\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\noParameter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"cloud\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\cloud.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"rename\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\rename.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"wsEnable\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\wsEnable.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"delete_value\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\delete_value.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"cancel\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\cancel5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"zoomsmall\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\zoomsmall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"move\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\move.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"zoombig\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\zoombig.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"copy_value\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\copy_value.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"remove\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\remove.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"close\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"goto\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\goto.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"httpEnable\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\httpEnable.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"useParameter\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\useParameter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"unselect\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\unselect.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"minimize\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\minimize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"add\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"group\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\group.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"copy\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"select\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\select.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n</root>"
  },
  {
    "path": "Resources/MyResource.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     此代码由工具生成。\n//     运行时版本:4.0.30319.42000\n//\n//     对此文件的更改可能会导致不正确的行为，并且如果\n//     重新生成代码，这些更改将会丢失。\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace FreeHttp.Resources {\n    using System;\n    \n    \n    /// <summary>\n    ///   一个强类型的资源类，用于查找本地化的字符串等。\n    /// </summary>\n    // 此类是由 StronglyTypedResourceBuilder\n    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。\n    // 若要添加或移除成员，请编辑 .ResX 文件，然后重新运行 ResGen\n    // (以 /str 作为命令选项)，或重新生成 VS 项目。\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"16.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class MyResource {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal MyResource() {\n        }\n        \n        /// <summary>\n        ///   返回此类使用的缓存的 ResourceManager 实例。\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"FreeHttp.Resources.MyResource\", typeof(MyResource).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   重写当前线程的 CurrentUICulture 属性\n        ///   重写当前线程的 CurrentUICulture 属性。\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap add_mode {\n            get {\n                object obj = ResourceManager.GetObject(\"add_mode\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap edit_mode {\n            get {\n                object obj = ResourceManager.GetObject(\"edit_mode\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap filter_off {\n            get {\n                object obj = ResourceManager.GetObject(\"filter_off\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap filter_on {\n            get {\n                object obj = ResourceManager.GetObject(\"filter_on\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap freehttp {\n            get {\n                object obj = ResourceManager.GetObject(\"freehttp\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Icon freehttpico {\n            get {\n                object obj = ResourceManager.GetObject(\"freehttpico\", resourceCulture);\n                return ((System.Drawing.Icon)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap naozhong_off {\n            get {\n                object obj = ResourceManager.GetObject(\"naozhong_off\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap naozhong_on {\n            get {\n                object obj = ResourceManager.GetObject(\"naozhong_on\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap pick_off {\n            get {\n                object obj = ResourceManager.GetObject(\"pick_off\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap pick_on {\n            get {\n                object obj = ResourceManager.GetObject(\"pick_on\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap show {\n            get {\n                object obj = ResourceManager.GetObject(\"show\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap switch_off {\n            get {\n                object obj = ResourceManager.GetObject(\"switch_off\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   查找 System.Drawing.Bitmap 类型的本地化资源。\n        /// </summary>\n        internal static System.Drawing.Bitmap switch_on {\n            get {\n                object obj = ResourceManager.GetObject(\"switch_on\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "Resources/MyResource.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\n  <data name=\"add_mode\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>add_mode.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"edit_mode\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>edit_mode.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"filter_off\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>filter_off.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"filter_on\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>filter_on.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"freehttp\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>freehttp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"freehttpico\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>freehttpico.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"naozhong_off\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>naozhong_off.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"naozhong_on\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>naozhong_on.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"pick_off\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>pick_off.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"pick_on\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>pick_on.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"show\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>show.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"switch_off\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>开关_关.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"switch_on\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>开关_开.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n</root>"
  },
  {
    "path": "WebService/ConfigurationData.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService\n{\n    public class ConfigurationData\n    {\n        private static readonly String url_dev = \"http://localhost:5000/\";\n        private static readonly String url_pro = \"https://api.lulianqi.com/\";\n        private static readonly String rule_version = \"2.0\";\n\n        public static string BaseUrl\n        {\n            get { return url_pro; }\n        }\n\n        public static string RuleVersion\n        {\n            get { return rule_version; }\n        }\n    }\n}\n"
  },
  {
    "path": "WebService/DataModel/BaseResultModel.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService.DataModel\n{\n    [DataContract]\n    public enum ReturnStatus\n    {\n        Success = 0,\n        Fail = 1,\n        Error = 2\n    }\n\n    [DataContract]\n    public class BaseResultModel<T>\n    {\n        public BaseResultModel(int? code = 0, string message = null, T result = default, ReturnStatus returnStatus = ReturnStatus.Success)\n        {\n            this.Code = code ?? 0;\n            this.Message = message;\n            this.Status = returnStatus;\n            this.Result = result;\n\n        }\n\n        [DataMember]\n        public int Code { get; set; }\n\n        [DataMember]\n        public string Message { get; set; }\n\n        [DataMember]\n        public T Result { get; set; }\n\n        [DataMember]\n        public ReturnStatus Status { get; set; }\n\n    }\n}\n"
  },
  {
    "path": "WebService/DataModel/RuleDetails.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.FiddlerHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService.DataModel\n{\n    [DataContract]\n    public class RuleDetails\n    {\n        [DataContract]\n\n        public class RuleCell\n        {\n            public RuleCell() { }\n\n            [DataMember]\n            public string RuleContent { get; set; }\n            [DataMember]\n            public string RuleVersion { get; set; }\n        }\n\n        public RuleDetails()\n        {\n            RequestRuleCells = new List<RuleCell>();\n            ResponseRuleCells = new List<RuleCell>();\n        }\n\n\n        [DataMember]\n        public List<RuleCell> RequestRuleCells { get; set; }\n\n        [DataMember]\n        public List<RuleCell> ResponseRuleCells { get; set; }\n\n        [DataMember]\n        public RuleCell RuleStaticDataCell { get; set; }\n\n        [DataMember]\n        public RuleCell RuleGroupCell { get; set; }\n\n        /// <summary>\n        /// 备注 只要Share RuleDetails 才会有\n        /// </summary>\n        [DataMember]\n        public String Remark { get; set; }\n\n        public FiddlerModificHttpRuleCollection ModificHttpRuleCollection { get; set; }\n\n        public ActuatorStaticDataCollection StaticDataCollection { get; set; }\n        \n        public FiddlerRuleGroup RuleGroup { get; set; }\n\n\n    }\n}\n"
  },
  {
    "path": "WebService/DataModel/ShareRuleSummary.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService.DataModel\n{\n    public class ShareRuleSummary\n    {\n        public class RuleToken\n        {\n            public string Token { get; set; }\n            public string Remark { get; set; }\n\n            public string ShowTag\n            {\n                get\n                {\n                    return $\"...{Token.Substring(Token.Length > 22 ? 22 : 0)} [{Remark??\"-\"}]\";\n                }\n            }\n\n            public string ShowWholeTag\n            {\n                get\n                {\n                    return $\"{Token} [{Remark ?? \"-\"}]\";\n                }\n            }\n        }\n\n        public List<RuleToken> ShareRuleList { get; set; }\n        public List<RuleToken> PrivateRuleList { get; set; }\n    }\n}\n"
  },
  {
    "path": "WebService/FeedbackService.cs",
    "content": "﻿//#define NET4_5UP\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService\n{\n    public class FeedbackService\n    {\n        [System.Runtime.Serialization.DataContract()]\n        public class Feedback\n        {\n            [System.Runtime.Serialization.DataMember()]\n            public string user_token { get; set; }\n            [System.Runtime.Serialization.DataMember()]\n            public string user_mac { get; set; }\n            [System.Runtime.Serialization.DataMember()]\n            public string machine_name { get; set; }\n            [System.Runtime.Serialization.DataMember()]\n            public string contact_infomation { get; set; }\n            [System.Runtime.Serialization.DataMember()]\n            public string feedback_content { get; set; }\n\n            public Feedback(string token ,string mac, String machine, string contact, string content)\n            {\n                user_token = token;\n                user_mac = mac;\n                machine_name = machine;\n                contact_infomation = contact;\n                feedback_content = content;\n            }\n        }\n\n#if NET4_5UP\n        public static async Task<int> SubmitFeedbackAsync(string userToken ,string mac, String machine, string contact, string content)\n        {\n            return await SubmitFeedbackAsync(new Feedback(userToken ,mac, machine, contact, content));\n        }\n\n        public static async Task<int> SubmitFeedbackAsync(Feedback feedback)\n        {\n            if (feedback == null) return -1;\n            Func<int> SubmitFeedbackTask = new Func<int>(() =>\n            {\n                //使用 Fiddler.WebFormats.JSON.JsonEncode 不要引入 第三方 库， 或者需要使用DataContract注解\n                string feedbackBody = String.Format(\"{{ \\\"user_mac\\\":{0},\\\"machine_name\\\":{1},\\\"feedback_content\\\":{2},\\\"contact_infomation\\\": {3}}}\"\n                    , Fiddler.WebFormats.JSON.JsonEncode(feedback.user_mac),\n                    Fiddler.WebFormats.JSON.JsonEncode(feedback.machine_name),\n                    Fiddler.WebFormats.JSON.JsonEncode(feedback.feedback_content),\n                    Fiddler.WebFormats.JSON.JsonEncode(feedback.contact_infomation));\n                int responseCode = (new WebService.MyWebTool.MyHttp()).SendHttpRequest(string.Format(\"{0}freehttp/Feedback\", ConfigurationData.BaseUrl), MyHelper.MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStr(feedback), \"POST\", new List<KeyValuePair<string, string>>() { new KeyValuePair<string, string>(\"Content-Type\", \"application/json\") }, false, null, null).StatusCode;\n                return responseCode;\n            });\n            int code =  await Task.Run(SubmitFeedbackTask);\n            return code;\n        }\n#endif\n\n#if NET4\n        //因为.net4.5 以下没有Task.Run，该方法用于低版本编译\n        public static void SubmitFeedbackTask(string mac, string contact, string content,Action<int> showResult)\n        {\n            Task<int> submitFeedback = new Task<int>(() =>\n            {\n                Feedback feedback = new Feedback(mac, contact, content);\n                string feedbackBody = String.Format(\"{{ \\\"user_mac\\\":{0},\\\"feedback_content\\\":{1},\\\"contact_infomation\\\": {2}}}\"\n                    , Fiddler.WebFormats.JSON.JsonEncode(feedback.user_mac),\n                    Fiddler.WebFormats.JSON.JsonEncode(feedback.feedback_content),\n                    Fiddler.WebFormats.JSON.JsonEncode(feedback.contact_infomation));\n                int responseCode = (new WebService.MyWebTool.MyHttp()).SendHttpRequest(string.Format(\"{0}freehttp/Feedback\", ConfigurationData.BaseUrl), feedbackBody, \"POST\",  new List<KeyValuePair<string, string>>() { new KeyValuePair<string, string>(\"Content-Type\", \"application/json\") }, false, null, null).StatusCode;\n                return responseCode;\n            });\n            submitFeedback.Start();\n            submitFeedback.ContinueWith((task) => { showResult(task.Result); }) ;\n        }\n#endif\n\n    }\n}\n"
  },
  {
    "path": "WebService/HttpServer/CertificatesHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Security.Cryptography.X509Certificates;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService.HttpServer\n{\n    public class CertificatesHelper\n    {\n        public static bool SetupSsl(int port)\n        {\n            System.Security.Cryptography.X509Certificates.X509Store store = new System.Security.Cryptography.X509Certificates.X509Store(System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine);\n            //Use the first cert to configure Ssl\n            store.Open(System.Security.Cryptography.X509Certificates.OpenFlags.ReadOnly);\n            //Assumption is we have certs. If not then this call will fail :(\n            try\n            {\n                bool found = false;\n                foreach (System.Security.Cryptography.X509Certificates.X509Certificate2 cert in store.Certificates)\n                {\n                    String certHash = cert.GetCertHashString();\n                    //Only install certs issued for the machine and has the name as the machine name\n                    if (cert.Subject.ToUpper().IndexOf(Environment.MachineName.ToUpper()) >= 0)\n                    {\n                        try\n                        {\n                            found = true;\n                            //ExecuteNetsh(String.Format(\"set ssl -i 0.0.0.0:{1} -c \\\"MY\\\" -h {0}\", certHash, port));\n                            ExecuteNetsh(string.Format(\"http add sslcert ipport=0.0.0.0:{0} certhash={1} appid={{{2}}}\", port, certHash, Guid.NewGuid().ToString()));\n                        }\n                        catch (Exception e)\n                        {\n                            return false;\n                        }\n                    }\n                }\n\n                if (!found)\n                {\n                    return false;\n                }\n\n            }\n            catch (Exception e)\n            {\n                return false;\n            }\n            finally\n            {\n                if (store != null)\n                {\n                    store.Close();\n                }\n            }\n\n            return true;\n        }\n\n        public static void AddCertificateToX509Store(X509Certificate2 cert)\n        {\n            var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);\n            store.Open(OpenFlags.ReadWrite);\n            //ensure pfx in cert.\n            byte[] pfx = cert.Export(X509ContentType.Pfx);\n            cert = new X509Certificate2(pfx, (string)null, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);\n            //then store\n            store.Add(cert);\n            store.Close();\n        }\n\n        public static void BindingCertificate(X509Certificate2 cert, int port)\n        {\n            if (cert == null)\n            {\n                throw new ArgumentNullException(\"your X509Certificate2 is null\");\n            }\n            String certHash = cert.GetCertHashString();\n            BindingCertificate(certHash,port);\n        }\n\n        public static void BindingCertificate(String certHash, int port)\n        {\n            if (certHash == null)\n            {\n                throw new ArgumentNullException(\"your certHash is null\");\n            }\n            ExecuteNetsh(string.Format(\"http add sslcert ipport=0.0.0.0:{0} certhash={1} appid={{{2}}} clientcertnegotiation=enable  \", port, certHash, Guid.NewGuid().ToString()));\n        }\n\n        private static void ExecuteNetsh(string arguments)\n        {\n            //netsh http add sslcert ipport=0.0.0.0:8443 certhash=585947f104b5bce53239f02d1c6fed06832f47dc appid={df8c8073-5a4b-4810-b469-5975a9c95230}\n            ProcessStartInfo procStartInfo = new ProcessStartInfo(\"netsh\", arguments);\n            procStartInfo.RedirectStandardOutput = true;\n            procStartInfo.UseShellExecute = false;\n            procStartInfo.CreateNoWindow = true;\n            Process.Start(procStartInfo);\n        }\n    }\n}\n"
  },
  {
    "path": "WebService/HttpServer/MyHttpListener.cs",
    "content": "﻿//#define NET4_5UP\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Net;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService.HttpServer\n{\n    public class MyHttpListener\n    {\n        public class HttpListenerMessageEventArgs : EventArgs\n        {\n            public bool IsErrorMessage { get; set; }\n            public string Message{ get; set; }\n            public HttpListenerMessageEventArgs(bool isErrorMessage, string message)\n            {\n                IsErrorMessage = isErrorMessage;\n                Message = message;\n            }\n        }\n\n        HttpListener listener;\n        public event EventHandler<HttpListenerMessageEventArgs> OnGetHttpListenerMessage;\n        public MyHttpListener()\n        {\n            if (!HttpListener.IsSupported)\n            {\n                return;\n            }\n            listener = new HttpListener();\n        }\n\n        public bool IsStart\n        {\n            get { return listener == null ? false : listener.IsListening; }\n        }\n\n        public bool Start(string prefixes)\n        {\n            return Start(new string[] { prefixes },true);\n        }\n        public bool Start(string[] prefixesArray ,bool isClear)\n        {\n            \n            if (!HttpListener.IsSupported)\n            {\n                throw new Exception(\"not supported\");\n            }\n           \n            //listener.Prefixes.Add(\"http://localhost:9998/\");\n            //listener.Prefixes.Add(\"https://localhost:44399/\");\n            //listener.Prefixes.Add(\"https://*:443/\");\n            //listener.Prefixes.Add(\"https://*:9996/\");\n            //listener.Prefixes.Add(\"https://*:9996/test/\");\n            try\n            {\n                if (isClear)\n                {\n                    listener.Prefixes.Clear();\n                }\n                foreach(var prefixes in prefixesArray)\n                {\n                    listener.Prefixes.Add(prefixes);\n                }\n            }\n            catch (Exception ex)\n            {\n                throw ex;\n            }\n\n            try\n            {\n                if (!listener.IsListening)\n                    listener.Start();\n            }\n            catch (Exception ex)\n            {\n                throw ex;\n            }\n#if NET4_5UP\n            ListenerAsync();\n            return true;\n#endif\n\n#if NET4\n            System.Threading.Thread ListenerThread = new System.Threading.Thread(new System.Threading.ThreadStart(ListenerWorker));\n            ListenerThread.Name = \"ListenerThread\";\n            ListenerThread.Priority = System.Threading.ThreadPriority.Normal;\n            ListenerThread.IsBackground = true;\n            ListenerThread.Start();\n#endif\n        }\n\n        public void Close()\n        {\n            if (listener != null )\n            {\n                Stop();\n                listener.Close();\n            }\n        }\n\n        public void Stop()\n        {\n            if (listener != null && listener.IsListening)\n            {\n                listener.Stop();\n            }\n        }\n#if NET4_5UP\n        private async void ListenerAsync()\n        {\n            HttpListenerContext context;\n            string responseString = \"Hello FreeHttp\";\n            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);\n            while (listener.IsListening)\n            {\n                try\n                {\n                    context = await listener.GetContextAsync();\n                    HttpListenerRequest request = context.Request;\n                    HttpListenerResponse response = context.Response;\n                    response.ContentLength64 = buffer.Length;\n                    System.IO.Stream output = response.OutputStream;\n                    await output.WriteAsync(buffer, 0, buffer.Length);\n                    output.Close();\n                }\n                catch(Exception ex)\n                {\n                    if(!IsStart)\n                    {\n                        return;\n                    }\n                    else\n                    {\n                        if(OnGetHttpListenerMessage!=null)\n                        {\n                            this.OnGetHttpListenerMessage(this, new HttpListenerMessageEventArgs(true, ex.Message));\n                        }\n                    }\n                }\n                \n            }\n        }\n#endif\n        private void ListenerWorker()\n        {\n            while(listener.IsListening)\n            {\n                // Note: The GetContext method blocks while waiting for a request. \n                HttpListenerContext context = listener.GetContext();\n                HttpListenerRequest request = context.Request;\n                // Obtain a response object.\n                HttpListenerResponse response = context.Response;\n                // Construct a response.\n                string responseString = \"ok\";\n                byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);\n                // Get a response stream and write the response to it.\n                response.ContentLength64 = buffer.Length;\n                System.IO.Stream output = response.OutputStream;\n                output.Write(buffer, 0, buffer.Length);\n                // You must close the output stream.\n                output.Close();\n                //listener.Stop();\n            }\n        }\n\n    }\n}\n"
  },
  {
    "path": "WebService/HttpServer/MySocketHelper.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Net;\nusing System.Net.NetworkInformation;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService.HttpServer\n{\n    public class MySocketHelper\n    {\n        public static bool IsPortInTcpListening(int port)\n        {\n            IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();\n            IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();\n\n            foreach (IPEndPoint endPoint in ipEndPoints)\n            {\n                if (endPoint.Port == port)\n                {\n                    return true;\n                }\n            }\n            return false;\n        }\n\n\n    }\n}\n"
  },
  {
    "path": "WebService/MyWebTool.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Diagnostics;\nusing System.Net;\nusing System.IO;\nusing System.Collections.Specialized;\nusing System.Linq;\nusing System.Security.Cryptography.X509Certificates;\n\n\n/*******************************************************************************\n* Copyright (c) 2015 lijie\n* All rights reserved.\n* \n* 文件名称: \n* 内容摘要: mycllq@hotmail.com\n* \n* 历史记录:\n* 日\t  期:   201505016           创建人: 李杰 15158155511\n* 描    述: 创建  (this file is from https://github.com/lulianqi/AutoTest/blob/master/AutoTest/MyCommonHelper/NetHelper/MyWebTool.cs)\n*******************************************************************************/\n\n\n//from  https://github.com/lulianqi/AutoTest/blob/master/AutoTest/MyCommonHelper/NetHelper/MyWebTool.cs\nnamespace FreeHttp.WebService\n{\n    public class MyWebTool\n    {\n        public class HttpMultipartDate\n        {\n            /** eg：\n            -----------------8d46c074125a195\n            Content-Disposition: form-data; name=\"name\"; filename=\"filenmae\"\n            Content-Type: application/octet-stream\n\n            testdata\n            -----------------8d46c074125a195--\n             * */\n\n            /// <summary>\n            /// name属性值,为null则不加\n            /// </summary>\n            public string Name { get; set; }\n            /// <summary>\n            /// filename属性值,为null则不加\n            /// </summary>\n            public string FileName { get; set; }\n            /// <summary>\n            /// Multipart下Content-Type: application/octet-stream,为null则不加\n            /// </summary>\n            public string ContentType { get; set; }\n            /// <summary>\n            /// 是否把fileData当作文件路径处理\n            /// </summary>\n            public bool IsFile { get; set; }\n            /// <summary>\n            /// 文件内容或文件路径。为null则当作\"\"\n            /// </summary>\n            public string FileData { get; set; }\n            public HttpMultipartDate()\n            {\n                Name = FileName = ContentType = FileData = null;\n            }\n\n            /// <summary>\n            /// 初始化 HttpMultipartDate\n            /// </summary>\n            /// <param name=\"yourName\">name属性值,为null则不加</param>\n            /// <param name=\"yourFileName\">filename属性值,为null则不加</param>\n            /// <param name=\"yourContentType\">Multipart下Content-Type: application/octet-stream,为null则为默认值application/octet-stream</param>\n            /// <param name=\"yourIsFile\">是否把fileData当作文件路径处理</param>\n            /// <param name=\"yourFileData\">文件内容或文件路径。为null则当作\"\"（作为路径时如果路径不存在将会返回错误）</param>\n            public HttpMultipartDate(string yourName, string yourFileName, string yourContentType, bool yourIsFile, string yourFileData)\n            {\n                Name = yourName;\n                FileName = yourFileName;\n                ContentType = yourContentType;\n                IsFile = yourIsFile;\n                FileData = yourFileData;\n            }\n\n        }\n\n        public class HttpHelper\n        {\n            private delegate void SetHeadAttributeCallback(HttpWebRequest yourRequest, string yourHeadValue);\n\n            private static Dictionary<string, SetHeadAttributeCallback> dicHeadSetFun = new Dictionary<string, SetHeadAttributeCallback>();\n            static HttpHelper()\n            {\n                dicHeadSetFun.Add(\"Accept\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.Accept = yourHeadValue));\n                dicHeadSetFun.Add(\"Connection\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => { string tempHeadVaule = yourHeadValue.ToLower(); if (tempHeadVaule.IndexOf(\"keep-alive\") != -1) { yourRequest.KeepAlive = true; } else if (tempHeadVaule.IndexOf(\"closee\") != -1) { yourRequest.KeepAlive = false; } else { yourRequest.Connection = yourHeadValue; } }));\n                dicHeadSetFun.Add(\"Date\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => { DateTime tempTime; if (!DateTime.TryParse(yourHeadValue, out tempTime)) tempTime = DateTime.Now; yourRequest.Date = tempTime; }));  //2009-05-01 14:57:32 //修改该头需要4.0版本支持，如果升级4.0可以取消该注释，启用该功能\n                //dicHeadSetFun.Add(\"KeepAlive\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.KeepAlive = yourHeadValue));//该头可以直接使用Headers.Add\n                dicHeadSetFun.Add(\"Transfer-Encoding\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.TransferEncoding = yourHeadValue));\n                dicHeadSetFun.Add(\"Content-Length\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => { int tempLen; if (!int.TryParse(yourHeadValue, out tempLen)) tempLen = 0; yourRequest.ContentLength = tempLen; }));\n                dicHeadSetFun.Add(\"Content-Type\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.ContentType = yourHeadValue));\n                dicHeadSetFun.Add(\"Expect\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.Expect = yourHeadValue));\n                dicHeadSetFun.Add(\"Host\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.Host = yourHeadValue)); //修改该头需要4.0版本支持，如果升级4.0可以取消该注释，启用该功能\n                dicHeadSetFun.Add(\"IfModifiedSince\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.Referer = yourHeadValue));\n                dicHeadSetFun.Add(\"Referer\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.Referer = yourHeadValue));\n                dicHeadSetFun.Add(\"User-Agent\".ToUpper(), new SetHeadAttributeCallback((yourRequest, yourHeadValue) => yourRequest.UserAgent = yourHeadValue));\n            }\n\n            /// <summary>\n            /// 添加http请求头属性（特殊属性自动转化为dicHeadSetFun中委托完成设置）\n            /// </summary>\n            /// <param name=\"httpWebRequest\">HttpWebRequest</param>\n            /// <param name=\"heads\">属性列表</param>\n            public static void AddHttpHeads(HttpWebRequest httpWebRequest, List<KeyValuePair<string, string>> heads)\n            {\n                if (httpWebRequest == null)\n                {\n                    return;\n                }\n                if (heads != null && heads.Count > 0)\n                {\n                    foreach (var Head in heads)\n                    {\n                        if (dicHeadSetFun.ContainsKey(Head.Key.ToUpper()))\n                        {\n                            (dicHeadSetFun[Head.Key.ToUpper()])(httpWebRequest, Head.Value);\n                        }\n                        else\n                        {\n                            httpWebRequest.Headers.Add(Head.Key, Head.Value);\n                        }\n                    }\n                }\n            }\n\n\n\n            /// <summary>\n            /// 添加http请求头属性（全部使用默认header.Add进行添加，失败后使用SetHeaderValue进行添加，不过依然可能失败）\n            /// </summary>\n            /// <param name=\"header\">WebHeaderCollection</param>\n            /// <param name=\"heads\">属性列表</param>\n            public static void AddHttpHeads(WebHeaderCollection header, List<KeyValuePair<string, string>> heads)\n            {\n                if (header == null)\n                {\n                    return;\n                }\n                if (heads != null)\n                {\n                    //wr.Headers.Add(new NameValueCollection());\n                    foreach (var Head in heads)\n                    {\n                        try\n                        {\n                            header.Add(Head.Key, Head.Value);\n                            //((HttpWebRequest)wr).Headers.Add(HttpRequestHeader.Host, \"www.contoso.com\"); //必须用适当的属性修改host   使用4.0也报必须使用适当的属性或方法修改“Host”标头\n                            //((HttpWebRequest)wr).Headers.Add(\"Host\", \"192.168.0.1\");//这样一样不行\n                            //SetHeaderValue(wr.Headers, \"Host\", \"www.contoso.com:8080\");//即使是4.0也无法直接修改\n                            //((HttpWebRequest)wr).Host = \"www.contoso.com:8080\";//只有这种方式在4.0可以生效\n                        }\n                        catch (Exception ex)\n                        {\n                            SetHeaderValue(header, Head.Key, Head.Value);\n                            MyHttp.GetError(ex);\n                        }\n                    }\n                }\n            }\n\n            /// <summary>\n            /// 设置请求头（注意该方法未经过测试，使用前请先测试）\n            /// </summary>\n            /// <param name=\"header\">WebHeaderCollection</param>\n            /// <param name=\"name\">key</param>\n            /// <param name=\"value\">value</param>\n            public static void SetHeaderValue(WebHeaderCollection header, string name, string value)\n            {\n                var property = typeof(WebHeaderCollection).GetProperty(\"InnerCollection\", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);\n                if (property != null)\n                {\n                    var collection = property.GetValue(header, null) as NameValueCollection;\n                    collection[name] = value;\n                }\n            }\n        }\n\n        public class HttpTimeLine\n        {\n            /// <summary>\n            /// 开始时间\n            /// </summary>\n            public DateTime StartTime { get; set; }\n\n            /// <summary>\n            /// 耗时（毫秒为单位）\n            /// </summary>\n            public long ElapsedTime { get; set; }\n\n            public HttpTimeLine()\n            {\n                ElapsedTime = 0;\n            }\n        }\n\n        /// <summary>\n        /// 使用前请先查看ErrorMes是否有错误信息\n        /// </summary>\n        public class MyHttpResponse\n        {\n            private int statusCode = -99;\n            private string responseLine = null;\n            private string responseBody = null;\n            private string responseRaw = null;\n            private string errorMes = null;\n            public HttpTimeLine TimeLine { get; internal set; }\n            public HttpWebResponse HttpResponse { get; internal set; }\n            public string ErrorMes\n            {\n                get { return errorMes; }\n                internal set { errorMes = value; responseBody = value; }\n            }\n\n            public MyHttpResponse()\n            {\n                TimeLine = null;\n                HttpResponse = null;\n            }\n\n            public int StatusCode\n            {\n                get\n                {\n                    if (HttpResponse == null)\n                    {\n                        return 0;\n                    }\n                    if (statusCode == -99)\n                    {\n                        statusCode = (int)HttpResponse.StatusCode;\n                    }\n                    return statusCode;\n                }\n            }\n\n            public string ResponseLine\n            {\n                get\n                {\n                    if (responseLine == null && HttpResponse != null)\n                    {\n                        responseLine = string.Format(@\"HTTP/{0} {1} {2}\",\n                            HttpResponse.ProtocolVersion == null ? \"NULL\" : HttpResponse.ProtocolVersion.ToString(),\n                            StatusCode,\n                            HttpResponse.StatusCode == null ? \"NULL\" : HttpResponse.StatusCode.ToString());\n                    }\n                    return responseLine;\n                }\n            }\n\n            public WebHeaderCollection ResponseHeads\n            {\n                get\n                {\n                    if (HttpResponse == null)\n                    {\n                        return null;\n                    }\n                    return HttpResponse.Headers;\n                }\n            }\n\n            /// <summary>\n            /// 获取Response Body（如果返回null则表示请求未发起，错误原因通过ErrorMes查看）\n            /// </summary>\n            public string ResponseBody\n            {\n                get\n                {\n                    if (responseBody == null && HttpResponse != null)\n                    {\n                        SeekResponseStream();\n                    }\n                    return responseBody;\n                }\n            }\n\n            /// <summary>\n            /// 获取Response Raw格式的报文（如果返回null则表示请求未发起，错误原因通过ErrorMes查看）\n            /// </summary>\n            public string ResponseRaw\n            {\n                get\n                {\n                    if (errorMes != null)\n                    {\n                        return null;\n                    }\n                    if (responseRaw == null && HttpResponse != null)\n                    {\n                        responseRaw = string.Format(\"{0}\\r\\n{1}{2}\", ResponseLine ?? \"NULL\", ResponseHeads.ToString(), ResponseBody ?? \"NULL\");\n                    }\n                    return responseRaw;\n                }\n            }\n\n            internal void SavaData(string saveFileName)\n            {\n                Stream receiveStream = null;\n                try\n                {\n                    using (FileStream stream = new FileStream(saveFileName, FileMode.Create, FileAccess.Write, FileShare.Write))\n                    {\n                        receiveStream = HttpResponse.GetResponseStream();\n                        int tempReadCount = 1024;\n                        byte[] infbytes = new byte[tempReadCount]; //反复使用前也不要清空，因为后面写入会指定有效长度\n                        int tempLen = tempReadCount;\n                        int offset = 0;\n                        while (tempLen >= tempReadCount)\n                        {\n                            tempLen = receiveStream.Read(infbytes, 0, tempReadCount);\n                            stream.Write(infbytes, 0, tempLen);//FileStream 内建缓冲区，不用自己构建缓存写入,FileStream的offset会自动维护，也可以使用stream.Position强制指定\n                            offset += tempLen;\n                        }\n                        responseBody = string.Format(\"file save success in [ {0} ]  with {1}byte\", saveFileName, offset);\n                    }\n                    #region WriteAllBytes\n                    /**\n                    byte[] infbytes = new byte[10240];\n                    int tempLen = 512;\n                    int offset = 0;\n\n                    //数据最多20k可以不需要分段读取\n                    while (tempLen - 512 >= 0)\n                    {\n                    tempLen = ReceiveStream.Read(infbytes, offset, 512);\n                    offset += tempLen;\n                    }\n                    byte[] bytesToSave = new byte[offset];\n                    for (int i = 0; i < offset; i++)\n                    {\n                    bytesToSave[i] = infbytes[i];\n                    }\n                    File.WriteAllBytes(saveFileName, bytesToSave);\n                    */\n                    #endregion\n                }\n                catch (Exception ex)\n                {\n                    responseBody = string.Format(\"file save fail with [ {0} ]  \", ex.Message);\n                }\n                finally\n                {\n                    if (receiveStream != null)\n                    {\n                        receiveStream.Close();\n                    }\n                }\n            }\n\n            internal void SeekResponseStream()\n            {\n                if (HttpResponse != null && responseBody == null)\n                {\n                    Stream receiveStream = HttpResponse.GetResponseStream();\n                    Encoding nowEncoding;\n                    try\n                    {\n                        nowEncoding = string.IsNullOrEmpty(HttpResponse.CharacterSet) ? Encoding.UTF8 : Encoding.GetEncoding(HttpResponse.CharacterSet);\n                    }\n                    catch\n                    {\n                        nowEncoding = Encoding.UTF8;\n                    }\n                    try\n                    {\n                        using (var responseStreamReader = new StreamReader(receiveStream, nowEncoding))  //will close the HttpResponse Stream\n                        {\n                            responseBody = responseStreamReader.ReadToEnd();\n                        }\n                    }\n                    catch (Exception ex)\n                    {\n                        responseBody = ex.Message;\n                    }\n                    #region Read\n                    //使用如下方法自己读取byte[] 是可行的，不过在Encoding 可变编码方式时，不能确保分段不被截断，直接使用内置StreamReader也是可以的\n                    /**  \n                    Byte[] read = new Byte[512];\n                    int bytes = receiveStream.Read(read, 0, 512);\n                    if (showResponseHeads)\n                    {\n                        re = result.Headers.ToString();\n                    }\n                    while (bytes > 0)\n                    {\n                        re += responseEncoding.GetString(read, 0, bytes);\n                        bytes = receiveStream.Read(read, 0, 512);\n                    }\n                     * */\n                    #endregion\n                }\n            }\n        }\n\n        public class MyHttp\n        {\n            private int httpTimeOut = 100000;                                               //http time out ,SendData and HttpPostData will use this value   （连接超时）\n            private int httpReadWriteTimeout = 300000;                                      //WebRequest.ReadWriteTimeout  [未使用]          （读取/写入超时）\n            private string defaultContentType = null;                                       //请求默认ContentType  (Content-Type: text/plain; charset=utf-8)\n            private bool withDefaultCookieContainer = false;                                //是否默认启用CookieContainer，如果启用则默认会管理所有使用MyHttp的cookie内容\n            private bool recordRequestTimeLine = true;                                      //是否记录请求时间线\n            private readonly string EOF = \"\\r\\n\";\n            private CookieContainer cookieContainer;\n            private List<KeyValuePair<string, string>> requestDefaultHeads;\n\n\n            public Encoding RequestEncoding { get; set; }  //需要发送数据，将使用此编码   [未使用]\n            public Encoding ResponseEncoding { get; set; } //如果要显示返回数据，返回数据将使用此编码  [未使用]\n\n            /// <summary>\n            /// get or set HttpTimeOut\n            /// </summary>\n            public int HttpTimeOut\n            {\n                get { return httpTimeOut; }\n                set { httpTimeOut = value; }\n            }\n\n            /// <summary>\n            /// get or set default ContentType\n            /// </summary>\n            public string DefaultContentType\n            {\n                get { return defaultContentType; }\n                set { defaultContentType = value; }\n            }\n\n            /// <summary>\n            /// get is record RequestTimeLine\n            /// </summary>\n            public bool IsrecordRequestTimeLine\n            {\n                get { return recordRequestTimeLine; }\n            }\n\n            /// <summary>\n            /// get or set is use DefaultCookieContainer\n            /// </summary>\n            public bool IsWithDefaultCookieContainer\n            {\n                get { return withDefaultCookieContainer; }\n                set { withDefaultCookieContainer = value; }\n            }\n\n            /// <summary>\n            /// get Inner CookieContainer\n            /// </summary>\n            public CookieContainer InnerCookieContainer\n            {\n                get { return cookieContainer; }\n            }\n\n            /// <summary>\n            /// get default request heads\n            /// </summary>\n            public List<KeyValuePair<string, string>> RequestDefaultHeads\n            {\n                get { return requestDefaultHeads; }\n            }\n\n            static MyHttp()\n            {\n                //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(\n                //    (sender, certificate, chain, sslPolicyErrors) => { return true; });\n                ServicePointManager.ServerCertificateValidationCallback = MyRemoteCertificateValidationCallback;\n                System.Net.ServicePointManager.DefaultConnectionLimit = 2000; //默认最大并发数有限，可以使用System.Net.ServicePointManager.DefaultConnectionLimit重设该值\n            }\n\n            private static bool enableServerCertificateValidation = false;\n            public static bool EnableServerCertificateValidation\n            {\n                get { return enableServerCertificateValidation; }\n                set\n                {\n                    enableServerCertificateValidation = value;\n                    if (enableServerCertificateValidation) { ServicePointManager.ServerCertificateValidationCallback = null; }\n                    else { ServicePointManager.ServerCertificateValidationCallback = MyRemoteCertificateValidationCallback; }\n                }\n            }\n\n            private static bool MyRemoteCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)\n            {\n                if (enableServerCertificateValidation && sslPolicyErrors != System.Net.Security.SslPolicyErrors.None)\n                {\n                    return false;\n                }\n                return true;\n            }\n\n            public MyHttp()\n            {\n                //cookieContainer = new CookieContainer(5000, 500, 1000);\n                cookieContainer = new CookieContainer();\n                requestDefaultHeads = new List<KeyValuePair<string, string>>();\n                RequestEncoding = System.Text.Encoding.GetEncoding(\"UTF-8\");\n                ResponseEncoding = System.Text.Encoding.GetEncoding(\"UTF-8\");\n            }\n\n            public MyHttp(bool isRecordRequestTimeLine, bool isWithDefaultCookieContainer)\n                : this()\n            {\n                recordRequestTimeLine = isRecordRequestTimeLine;\n                withDefaultCookieContainer = isWithDefaultCookieContainer;\n            }\n\n\n            /// <summary>\n            /// Send Http Request \n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) [ <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ]</param>\n            /// <param name=\"data\"> queryStr will add to the url (like url+?+data )  if method is not POST or PUT queryStr will add in request entity as body</param>\n            /// <param name=\"method\">GET/POST/PUT/HEAD/TRACE/OPTIONS/DELETE</param>\n            /// <returns>back data</returns>\n            public string SendData(string url, string data, string method)\n            {\n                return SendData(url, data, method, null, null);\n            }\n\n            /// <summary>\n            /// Send Http Request \n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) [ <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ]</param>\n            /// <returns>back data</returns>\n            public string SendData(string url)\n            {\n                return SendData(url, null, \"GET\", null, null);\n            }\n\n            /// <summary>\n            /// Send Http Request \n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) [ <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ]</param>\n            /// <param name=\"data\"> queryStr will add to the url (like url+?+data )  if method is not POST or PUT queryStr will add in request entity as body</param>\n            /// <param name=\"method\">GET/POST/PUT/HEAD/TRACE/OPTIONS/DELETE</param>\n            /// <param name=\"heads\">http Head list （if not need set it null）(header 名是不区分大小写的)</param>\n            /// <returns>back data</returns>\n            public string SendData(string url, string data, string method, List<KeyValuePair<string, string>> heads)\n            {\n                return SendData(url, data, method, heads, null);\n            }\n\n            /// <summary>\n            /// Send Http Request \n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) [ <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ]</param>\n            /// <param name=\"data\"> queryStr will add to the url (like url+?+data )  if method is not POST or PUT queryStr will add in request entity as body</param>\n            /// <param name=\"method\">GET/POST/PUT/HEAD/TRACE/OPTIONS/DELETE</param>\n            /// <param name=\"heads\">http Head list （if not need set it null）(header 名是不区分大小写的)</param>\n            /// <param name=\"saveFileName\">save your response as file （if not need set it null）</param>\n            /// <returns>back data</returns>\n            public string SendData(string url, string data, string method, List<KeyValuePair<string, string>> heads, string saveFileName)\n            {\n                return SendData(url, data, method, heads, saveFileName, null);\n            }\n\n            /// <summary>\n            /// Send Http Request \n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) [ <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ]</param>\n            /// <param name=\"data\"> queryStr will add to the url (like url+?+data )  if method is not POST or PUT queryStr will add in request entity as body</param>\n            /// <param name=\"method\">GET/POST/PUT/HEAD/TRACE/OPTIONS/DELETE</param>\n            /// <param name=\"heads\">http Head list （if not need set it null）(header 名是不区分大小写的)</param>\n            /// <param name=\"saveFileName\">save your response as file （if not need set it null）</param>\n            /// <param name=\"manualResetEvent\">ManualResetEvent 并发集合点 （if not need set it null）</param>\n            /// <returns>back data</returns>\n            public string SendData(string url, string data, string method, List<KeyValuePair<string, string>> heads, string saveFileName, System.Threading.ManualResetEvent manualResetEvent)\n            {\n                return SendData(url, data, method, heads, withDefaultCookieContainer, saveFileName, manualResetEvent);\n            }\n\n            /// <summary>\n            /// Send Http Request \n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) [ <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ]</param>\n            /// <param name=\"data\"> queryStr will add to the url (like url+?+data )  if method is not POST or PUT queryStr will add in request entity as body</param>\n            /// <param name=\"method\">GET/POST/PUT/HEAD/TRACE/OPTIONS/DELETE</param>\n            /// <param name=\"heads\">http Head list （if not need set it null）(header 名是不区分大小写的)</param>\n            /// <param name=\"isAntoCookie\">is use static CookieContainer （是否使用默认CookieContainer管理cookie，优先级高于withDefaultCookieContainer）(使用CookieContainer ，将不能手动在header中设置cookies)</param>\n            /// <param name=\"saveFileName\">save your response as file （if not need set it null）</param>\n            /// <param name=\"manualResetEvent\">ManualResetEvent 并发集合点 （if not need set it null）</param>\n            /// <returns>back data</returns>\n            public string SendData(string url, string data, string method, List<KeyValuePair<string, string>> heads, bool isAntoCookie, string saveFileName, System.Threading.ManualResetEvent manualResetEvent)\n            {\n                return SendHttpRequest(url, data, method, heads, isAntoCookie, saveFileName, manualResetEvent).ResponseBody;\n            }\n\n            // [ <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag> ]\n            /// <summary>\n            /// Send Http Request \n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ])</param> \n            /// <param name=\"queryStr\"> queryStr will add to the url (like url+?+data )  if method is not POST or PUT queryStr will add in request entity as body</param>\n            /// <param name=\"method\">GET/POST/PUT/HEAD/TRACE/OPTIONS/DELETE</param>\n            /// <param name=\"heads\">http Head list （if not need set it null）(header 名是不区分大小写的)</param>\n            /// <param name=\"isAntoCookie\">is use static CookieContainer （是否使用默认CookieContainer管理cookie，优先级高于withDefaultCookieContainer）(使用CookieContainer ，将不能手动在header中设置cookies)</param>\n            /// <param name=\"saveFileName\">save your response as file （if not need set it null）</param>\n            /// <param name=\"manualResetEvent\">ManualResetEvent 并发集合点 （if not need set it null）</param>\n            /// <returns>MyHttpResponse</returns>\n            public MyHttpResponse SendHttpRequest(string url, string queryStr, string method, List<KeyValuePair<string, string>> heads, bool isAntoCookie, string saveFileName, System.Threading.ManualResetEvent manualResetEvent)\n            {\n                MyHttpResponse myHttpResponse = new MyHttpResponse();\n                HttpTimeLine timeline = new HttpTimeLine();\n                Stopwatch myWatch = null;\n\n                Action WaitStartSignal = () =>\n                {\n                    if (manualResetEvent != null)\n                    {\n                        manualResetEvent.WaitOne();\n                    }\n\n                    if (recordRequestTimeLine)\n                    {\n                        timeline.StartTime = DateTime.Now;\n                        myWatch.Start();\n                    }\n                };\n\n                if (recordRequestTimeLine)\n                {\n                    myWatch = new Stopwatch();\n                }\n                bool hasQueryString = !string.IsNullOrEmpty(queryStr);\n                bool needBody = method.ToUpper() == \"POST\" || method.ToUpper() == \"PUT\";\n                WebRequest webRequest = null;\n                WebResponse webResponse = null;\n\n                try\n                {\n                    //except POST / PUT other data will add the url,if you want adjust the rules change here\n                    if (!needBody && hasQueryString)\n                    {\n                        url += \"?\" + queryStr;\n                        queryStr = null;           //make sure the data is null when Request is not post\n                    }\n                    webRequest = WebRequest.Create(url);\n                    webRequest.Timeout = httpTimeOut;\n                    webRequest.Method = method;\n                    //((HttpWebRequest)wr).KeepAlive = true;\n                    //((HttpWebRequest)wr).Pipelined = true;\n\n                    if (isAntoCookie)\n                    {\n                        ((HttpWebRequest)webRequest).CookieContainer = cookieContainer;  //设置CookieContainer后，将不能在heads中手动添加cookie\n                    }\n                    if (defaultContentType != null)\n                    {\n                        webRequest.ContentType = defaultContentType;\n                    }\n                    HttpHelper.AddHttpHeads((HttpWebRequest)webRequest, requestDefaultHeads);\n                    HttpHelper.AddHttpHeads((HttpWebRequest)webRequest, heads);\n\n                    if (needBody)\n                    {\n                        if (hasQueryString)\n                        {\n                            byte[] tempBodyBytes = null;\n                            tempBodyBytes = RequestEncoding.GetBytes(queryStr);\n                            webRequest.ContentLength = tempBodyBytes.Length;\n                            WaitStartSignal();                                       //尽可能确保所有manualResetEvent都在数据完全准备完成后\n                            Stream newStream = webRequest.GetRequestStream();        //连接建立Head已经发出，POST请求体还没有发送 (服务器可能会先回http 100)  (包括tcp及TLS链接建立都在这里)\n                            newStream.Write(tempBodyBytes, 0, tempBodyBytes.Length);         //请求交互完成\n                            newStream.Close();                                       //释放写入流（MSDN的示例也是在此处释放）(执行到此处请求就已经结束)\n                            webResponse = webRequest.GetResponse();                  //此处的GetResponse不会发起任何网络请求，只是为了填充webResponse\n                            if (recordRequestTimeLine)\n                            {\n                                myWatch.Stop();\n                            }\n                        }\n                        else\n                        {\n                            webRequest.ContentLength = 0;\n                            WaitStartSignal();\n                            webResponse = webRequest.GetResponse();\n                            if (recordRequestTimeLine)\n                            {\n                                myWatch.Stop();\n                            }\n                        }\n                    }\n                    else\n                    {\n                        WaitStartSignal();\n                        webResponse = webRequest.GetResponse();                       //GetResponse 方法向 Internet 资源发送请求并返回 WebResponse 实例。如果该请求已由 GetRequestStream 调用启动，则 GetResponse 方法完成该请求并返回任何响应。\n                        if (recordRequestTimeLine)\n                        {\n                            myWatch.Stop();\n                        }\n                    }\n\n                    if (isAntoCookie)\n                    {\n\n                        if (((HttpWebResponse)webResponse).Cookies != null && ((HttpWebResponse)webResponse).Cookies.Count > 0)\n                        {\n                            cookieContainer.Add(((HttpWebResponse)webResponse).Cookies);\n                        }\n                    }\n                    myHttpResponse.HttpResponse = (HttpWebResponse)webResponse;\n                }\n\n                catch (WebException wex)\n                {\n                    if (recordRequestTimeLine)\n                    {\n                        if (myWatch.IsRunning)\n                        {\n                            myWatch.Stop();\n                        }\n                    }\n                    if (wex.Response != null)\n                    {\n                        myHttpResponse.HttpResponse = (HttpWebResponse)wex.Response;\n                    }\n                    else\n                    {\n                        myHttpResponse.ErrorMes = wex.Message;\n                        GetError(wex);\n                    }\n                }\n\n                catch (Exception ex)\n                {\n                    myHttpResponse.ErrorMes = ex.Message;\n                    GetError(ex);\n                }\n\n                finally\n                {\n                    if (saveFileName != null)\n                    {\n                        myHttpResponse.SavaData(saveFileName);\n                    }\n                    myHttpResponse.SeekResponseStream();\n\n                    if (webResponse != null)\n                    {\n                        webResponse.Close();\n                    }\n                    if (recordRequestTimeLine)\n                    {\n                        if (myWatch.IsRunning)\n                        {\n                            myWatch.Stop();\n                        }\n                        timeline.ElapsedTime = myWatch.ElapsedMilliseconds;\n                    }\n                }\n\n                if (recordRequestTimeLine)\n                {\n                    myHttpResponse.TimeLine = timeline;\n                }\n                return myHttpResponse;\n            }\n\n            /// <summary>\n            /// Send Http Request (post multipart data  multipart/form-data)\n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) </param>\n            /// <param name=\"heads\">http Head list （if not need set it null）</param>\n            /// <param name=\"isAntoCookie\">is use static CookieContainer</param>\n            /// <param name=\"bodyData\">normal body (if not need it ,just set it null)</param>\n            /// <param name=\"multipartDateList\">MultipartDate list(if not need it ,just set it null)</param>\n            /// <param name=\"bodyMultipartParameter\">celerity MultipartParameter your should set it like \"a=1&amp;b=2&amp;c=3\" and it will send in multipart format (if not need it ,just set it null)</param>\n            /// <param name=\"yourBodyEncoding\">the MultipartParameter Encoding (if set it null ,it will be utf 8)</param>\n            /// <param name=\"saveFileName\">save your response as file （if not need set it null）</param>\n            /// <param name=\"manualResetEvent\">ManualResetEvent 并发集合点 （if not need set it null）</param>\n            /// <returns>MyHttpResponse</returns>\n            public MyHttpResponse SendMultipartRequest(string url, List<KeyValuePair<string, string>> heads, bool isAntoCookie, string bodyData, List<HttpMultipartDate> multipartDateList, string bodyMultipartParameter, Encoding yourBodyEncoding, string saveFileName, System.Threading.ManualResetEvent manualResetEvent)\n            {\n                MyHttpResponse myHttpResponse = new MyHttpResponse();\n                HttpTimeLine timeline = new HttpTimeLine();\n\n                Encoding httpBodyEncoding = Encoding.UTF8;\n                string defaultMultipartContentType = \"application/octet-stream\";\n                NameValueCollection stringDict = new NameValueCollection();\n                HttpWebRequest webRequest = null;\n                HttpWebResponse httpWebResponse = null;\n                Stopwatch myWatch = null;\n\n                if (recordRequestTimeLine)\n                {\n                    myWatch = new Stopwatch();\n                }\n                if (yourBodyEncoding != null)\n                {\n                    httpBodyEncoding = yourBodyEncoding;\n                }\n\n                var memStream = new MemoryStream();\n                webRequest = (HttpWebRequest)WebRequest.Create(url);\n\n                //设置CookieContainer\n                if (isAntoCookie)\n                {\n                    ((HttpWebRequest)webRequest).CookieContainer = cookieContainer;\n                }\n                //写入http头\n                if (defaultContentType != null)\n                {\n                    webRequest.ContentType = defaultContentType;\n                }\n                HttpHelper.AddHttpHeads(webRequest, requestDefaultHeads);\n                HttpHelper.AddHttpHeads(webRequest, heads);\n\n                // 边界符\n                var boundary = \"---------------\" + DateTime.Now.Ticks.ToString(\"x\");\n                // 边界符\n                var beginBoundary = Encoding.ASCII.GetBytes(string.Format(\"--{0}\\r\\n\", boundary));\n                // 最后的结束符\n                var endBoundary = Encoding.ASCII.GetBytes(string.Format(\"--{0}--\\r\\n\", boundary));\n\n                // 设置属性\n                webRequest.Method = \"POST\";\n                webRequest.Timeout = httpTimeOut;\n                webRequest.ContentType = \"multipart/form-data; boundary=\" + boundary;\n\n                //写入常规body\n                if (bodyData != null)\n                {\n                    var bodybytes = httpBodyEncoding.GetBytes(bodyData);\n                    memStream.Write(bodybytes, 0, bodybytes.Length);\n                }\n\n                if (multipartDateList != null)\n                {\n                    foreach (HttpMultipartDate nowMultipart in multipartDateList)\n                    {\n                        //Console.WriteLine(System.DateTime.Now.Ticks);\n                        //const string filePartHeader = \"Content-Disposition: form-data; name=\\\"{0}\\\"; filename=\\\"{1}\\\"\\r\\n\" + \"Content-Type: {2}\\r\\n\\r\\n\";\n                        //string nowPartHeader = \"Content-Disposition: form-data\";\n                        StringBuilder nowPartHeader = new StringBuilder(\"Content-Disposition: form-data\");\n                        if (nowMultipart.Name != null)\n                        {\n                            //nowPartHeader.Append(string.Format(\"; name=\\\"{0}\\\"\", nowMultipart.Name));\n                            nowPartHeader.AppendFormat(\"; name=\\\"{0}\\\"\", nowMultipart.Name);\n                        }\n                        if (nowMultipart.FileName != null)\n                        {\n                            nowPartHeader.AppendFormat(\"; filename=\\\"{0}\\\"\", nowMultipart.FileName);\n                        }\n                        nowPartHeader.Append(\"\\r\\n\");\n                        nowPartHeader.AppendFormat(\"Content-Type: {0}\", nowMultipart.ContentType == null ? defaultMultipartContentType : nowMultipart.ContentType);\n                        nowPartHeader.Append(\"\\r\\n\\r\\n\");\n                        //Console.WriteLine(System.DateTime.Now.Ticks);\n                        byte[] nowHeaderbytes = httpBodyEncoding.GetBytes(nowPartHeader.ToString());\n                        memStream.Write(Encoding.ASCII.GetBytes(\"\\r\\n\"), 0, Encoding.ASCII.GetBytes(\"\\r\\n\").Length);\n                        memStream.Write(beginBoundary, 0, beginBoundary.Length);\n                        memStream.Write(nowHeaderbytes, 0, nowHeaderbytes.Length);\n                        //MultipartDate\n                        if (nowMultipart.IsFile)\n                        {\n                            try\n                            {\n                                using (var fileStream = new FileStream(nowMultipart.FileData, FileMode.Open, FileAccess.Read))\n                                {\n                                    byte[] buffer = new byte[1024];\n                                    int bytesRead; // =0\n                                    while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)\n                                    {\n                                        memStream.Write(buffer, 0, bytesRead);\n                                    }\n                                }\n                            }\n                            catch (Exception ex)\n                            {\n                                GetError(ex);\n                                myHttpResponse.ErrorMes = string.Format(@\"the request not send , find error in multipartDateList [{0}]\", ex.Message);\n                                return myHttpResponse;\n                            }\n                        }\n                        else\n                        {\n                            byte[] myCmd = httpBodyEncoding.GetBytes(nowMultipart.FileData == null ? \"\" : nowMultipart.FileData);\n                            memStream.Write(myCmd, 0, myCmd.Length);\n                        }\n                    }\n                }\n\n                //解析快捷Multipart表单形式post参数\n                if (bodyMultipartParameter != null)\n                {\n                    string[] sArray = bodyMultipartParameter.Split('&');\n                    foreach (string tempStr in sArray)\n                    {\n                        int myBreak = tempStr.IndexOf('=');\n                        if (myBreak == -1)\n                        {\n                            myHttpResponse.ErrorMes = string.Format(@\"the request not send , can't find '=' in  bodyMultipartParameter [{0}]\", bodyMultipartParameter);\n                            return myHttpResponse;\n                        }\n                        stringDict.Add(tempStr.Substring(0, myBreak), tempStr.Substring(myBreak + 1));\n                    }\n\n                    //快捷写入写入POST非文件参数\n                    string bodyParameterFormat = \"\\r\\n--\" + boundary +\n                                           \"\\r\\nContent-Disposition: form-data; name=\\\"{0}\\\"\" +\n                                           \"\\r\\n\\r\\n{1}\";\n                    for (int i = 0; i < stringDict.Count; i++)\n                    {\n                        try\n                        {\n                            byte[] formitembytes = httpBodyEncoding.GetBytes(string.Format(bodyParameterFormat, stringDict.GetKey(i), stringDict.Get(i)));\n                            memStream.Write(formitembytes, 0, formitembytes.Length);\n                        }\n                        catch (Exception ex)\n                        {\n                            GetError(ex);\n                            myHttpResponse.ErrorMes = string.Format(@\"the request not send , find error in bodyMultipartParameter [{0}]\", ex.Message);\n                            return myHttpResponse;\n                        }\n                    }\n                }\n\n                //写入最后的结束边界符\n                if (!(bodyMultipartParameter == null && multipartDateList == null))\n                {\n                    memStream.Write(Encoding.ASCII.GetBytes(\"\\r\\n\"), 0, Encoding.ASCII.GetBytes(\"\\r\\n\").Length);\n                    memStream.Write(endBoundary, 0, endBoundary.Length);\n                }\n\n                webRequest.ContentLength = memStream.Length;\n\n                //开始请求\n                try\n                {\n                    if (manualResetEvent != null)\n                    {\n                        manualResetEvent.WaitOne();\n                    }\n                    var requestStream = webRequest.GetRequestStream();\n                    memStream.Position = 0;\n                    var tempBuffer = new byte[memStream.Length];\n                    memStream.Read(tempBuffer, 0, tempBuffer.Length);\n                    memStream.Close();\n                    if (recordRequestTimeLine)\n                    {\n                        timeline.StartTime = DateTime.Now;\n                        myWatch.Start();\n                    }\n                    requestStream.Write(tempBuffer, 0, tempBuffer.Length);\n                    requestStream.Close();\n\n                    httpWebResponse = (HttpWebResponse)webRequest.GetResponse();\n                    if (recordRequestTimeLine)\n                    {\n                        myWatch.Stop();\n                    }\n\n                    if (isAntoCookie)\n                    {\n                        if (httpWebResponse.Cookies != null && httpWebResponse.Cookies.Count > 0)\n                        {\n                            cookieContainer.Add(httpWebResponse.Cookies);\n                        }\n                    }\n\n                    myHttpResponse.HttpResponse = httpWebResponse;\n\n                }\n                catch (WebException wex)\n                {\n                    if (recordRequestTimeLine)\n                    {\n                        if (myWatch.IsRunning)\n                        {\n                            myWatch.Stop();\n                        }\n                    }\n                    if (wex.Response != null)\n                    {\n                        myHttpResponse.HttpResponse = (HttpWebResponse)wex.Response;\n                    }\n                    else\n                    {\n                        myHttpResponse.ErrorMes = wex.Message;\n                        GetError(wex);\n                    }\n                }\n\n                catch (Exception ex)\n                {\n                    myHttpResponse.ErrorMes = ex.Message;\n                    GetError(ex);\n                }\n\n                finally\n                {\n                    if (saveFileName != null)\n                    {\n                        myHttpResponse.SavaData(saveFileName);\n                    }\n                    myHttpResponse.SeekResponseStream();\n\n                    if (httpWebResponse != null)\n                    {\n                        httpWebResponse.Close();\n                    }\n                    if (recordRequestTimeLine)\n                    {\n                        if (myWatch.IsRunning)\n                        {\n                            myWatch.Stop();\n                        }\n                        timeline.ElapsedTime = myWatch.ElapsedMilliseconds;\n                    }\n                }\n                if (recordRequestTimeLine)\n                {\n                    myHttpResponse.TimeLine = timeline;\n                }\n                return myHttpResponse;\n            }\n\n            /// <summary>\n            /// Send Http Request (post multipart data)\n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) </param>\n            /// <param name=\"heads\">http Head list （if not need set it null）</param>\n            /// <param name=\"isAntoCookie\">is use static CookieContainer</param>\n            /// <param name=\"bodyData\">normal body (if not need it ,just set it null)</param>\n            /// <param name=\"multipartDateList\">MultipartDate list(if not need it ,just set it null)</param>\n            /// <param name=\"bodyMultipartParameter\">celerity MultipartParameter your should set it like \"a=1&amp;b=2&amp;c=3\" and it will send in multipart format (if not need it ,just set it null)</param>\n            /// <param name=\"yourBodyEncoding\">the MultipartParameter Encoding (if set it null ,it will be utf 8)</param>\n            /// <returns>back data</returns>\n            public string HttpPostData(string url, List<KeyValuePair<string, string>> heads, bool isAntoCookie, string bodyData, List<HttpMultipartDate> multipartDateList, string bodyMultipartParameter, Encoding yourBodyEncoding)\n            {\n                return SendMultipartRequest(url, heads, isAntoCookie, bodyData, multipartDateList, bodyMultipartParameter, yourBodyEncoding, null, null).ResponseBody;\n            }\n\n\n            /// <summary>\n            /// Send Http Request (post multipart data)\n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) </param>\n            /// <param name=\"heads\">http Head list (if not need it ,just set it null)</param>\n            /// <param name=\"bodyData\">normal body (if not need it ,just set it null)</param>\n            /// <param name=\"HttpMultipartDate\">MultipartDate list(if not need it ,just set it null)</param>\n            /// <param name=\"bodyMultipartParameter\">celerity MultipartParameter like \"a=1&amp;b=2&amp;c=3\" (if not need it ,just set it null)</param>\n            /// <param name=\"yourBodyEncoding\">the MultipartParameter Encoding (if set it null ,it will be utf 8)</param>\n            /// <returns>back data</returns>\n            public string HttpPostData(string url, List<KeyValuePair<string, string>> heads, string bodyData, List<HttpMultipartDate> multipartDateList, string bodyMultipartParameter, Encoding yourBodyEncoding)\n            {\n                return HttpPostData(url, heads, withDefaultCookieContainer, bodyData, multipartDateList, bodyMultipartParameter, yourBodyEncoding);\n            }\n\n\n            /// <summary>\n            /// Send Http Request (post multipart data)\n            /// </summary>\n            /// <param name=\"url\">url (must start with protocol scheme like [http://,https:// ,ftp:// ,file:// ]) </param>\n            /// <param name=\"HttpMultipartDate\">MultipartDate list(if not need it ,just set it null)</param>\n            /// <returns>back data</returns>\n            public string HttpPostData(string url, HttpMultipartDate HttpMultipartDate)\n            {\n                \n                return HttpPostData(url, null, null, new List<HttpMultipartDate>() { HttpMultipartDate }, null, null);\n            }\n\n            #region static Func\n            internal static void GetError(Exception ex)\n            {\n                //ErrorLog.PutInLog(ex);\n            }\n\n            /// <summary>\n            /// DownloadFile with http\n            /// </summary>\n            /// <param name=\"url\">url</param>\n            /// <param name=\"heads\">heads</param>\n            /// <param name=\"saveFileName\">save File path</param>\n            public static void DownloadFile(string url, List<KeyValuePair<string, string>> heads, string saveFileName)\n            {\n                using (WebClient client = new WebClient())\n                {\n                    HttpHelper.AddHttpHeads(client.Headers, heads);\n                    client.DownloadFile(url, saveFileName);\n                }\n            }\n\n            /// <summary>\n            /// DownloadFile with http \n            /// </summary>\n            /// <param name=\"url\">url</param>\n            /// <param name=\"saveFileName\">save File path</param>\n            public static void DownloadFile(string url, string saveFileName)\n            {\n                DownloadFile(url, null, saveFileName);\n            }\n            #endregion\n\n        }\n    }\n}\n"
  },
  {
    "path": "WebService/OperationReportService.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.FiddlerHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService\n{\n    public class OperationReportService\n    {\n\n        [System.Runtime.Serialization.DataContract()]\n        public class OperationDetail\n        {\n            public class OperationDetailCell\n            {\n                public DateTime InTime { get; set; }\n                public DateTime OutTime { get; set; }\n                public int RequestRuleCount { get; set; }\n                public int ResponseRuleCount { get; set; }\n            }\n\n            [System.Runtime.Serialization.DataMember(Name = \"UserToken\")]\n            public String UserToken { get; set; }\n\n            [System.Runtime.Serialization.DataMember(Name = \"UserMac\")]\n            public String UserMac { get; set; }\n\n            [System.Runtime.Serialization.DataMember(Name = \"MachineName\")]\n            public String MachineName { get; set; }\n\n            [System.Runtime.Serialization.DataMember(Name = \"OperationDetailCells\")]\n            public List<OperationDetailCell> OperationDetailCells { get; set; }\n\n            public OperationDetail(string mac = \"FF:FF:FF;FF:FF:FF\" , string machineName =null ,string userToken=null)\n            {\n                UserMac = mac;\n                MachineName = machineName;\n                UserToken = userToken;\n                OperationDetailCells = new List<OperationDetailCell>();\n            }\n\n            public void AddCell(DateTime inTime, DateTime outTime, int requestRuleCount, int responseRuleCount)\n            {\n                if (OperationDetailCells == null)\n                {\n                    OperationDetailCells = new List<OperationDetailCell>();\n                }\n                OperationDetailCells.Add(new OperationDetailCell() { InTime = inTime, OutTime = outTime, RequestRuleCount = requestRuleCount, ResponseRuleCount = responseRuleCount });\n            }\n\n        }\n\n        private OperationDetail operationDetail;\n        private DateTime? nowInTime;\n\n        public List<FiddlerRequestChange> FiddlerRequestChangeRuleList { get; set; } = null;\n        public List<FiddlerResponseChange> FiddlerResponseChangeRuleList { get; set; } = null;\n        public ActuatorStaticDataCollection StaticDataCollection { get; set; } = null;\n        public FiddlerRuleGroup RuleGroup { get; set; } = null;\n\n        public OperationReportService()\n        {\n            operationDetail = new OperationDetail(WebService.UserComputerInfo.GetComputerMac(), WebService.UserComputerInfo.GetMachineName(), WebService.UserComputerInfo.UserToken);\n            nowInTime = null;\n        }\n\n        public bool HasAnyOperation\n        {\n            get\n            {\n                return operationDetail.OperationDetailCells.Count > 0;\n            }\n        }\n\n        public void InOperation(DateTime inTime)\n        {\n            nowInTime = inTime;\n        }\n\n        public void OutOperation( DateTime outTime, int requestRuleCount, int responseRuleCount)\n        {\n            operationDetail.AddCell(nowInTime == null ? outTime : (DateTime)nowInTime, outTime, requestRuleCount, responseRuleCount);\n            nowInTime = null;\n        }\n\n        public async void ReportAsync()\n        {\n            //task需要在执行时设置CurrentThread.IsBackground，不能确保在设置成功前主线程不退出\n            Action reportAction = new Action(Report);\n            await Task.Run(reportAction);\n        }\n\n        public void StartReportThread()\n        {\n            System.Threading.Thread reportThread = new System.Threading.Thread(new System.Threading.ThreadStart(Report));\n            reportThread.IsBackground = false; //使用Thread创建的线程其实默认IsBackground就是false\n            reportThread.Start();\n        }\n\n        private void Report()\n        {\n            if(System.Threading.Thread.CurrentThread.IsBackground)//大部分情况在async方法里使用这种方式也没有效果 1：不能确保线程执行到这里没有被主线程结束，2：对于async方法大部分情况执行这里的代码也是上一个线程，到await 才可能切换线程 （不过仍然可以通过同步的方式启动async方法）\n            {\n                System.Threading.Thread.CurrentThread.IsBackground = false;\n            }\n            if (operationDetail.OperationDetailCells.Count > 0)\n            {\n                string operationBody = null;\n                //operationBody = Fiddler.WebFormats.JSON.JsonEncode(this.operationDetail);\n                operationBody = MyHelper.MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStr(this.operationDetail);\n                (new WebService.MyWebTool.MyHttp()).SendHttpRequest(string.Format(\"{0}freehttp/OperationReport\",ConfigurationData.BaseUrl), operationBody, \"POST\", new List<KeyValuePair<string, string>>() { new KeyValuePair<string, string>(\"Content-Type\", \"application/json\") }, false, null, null);\n                if (FiddlerRequestChangeRuleList != null || FiddlerResponseChangeRuleList != null)\n                {\n                    WebService.RemoteRuleService.UploadRulesAsync<FiddlerRequestChange, FiddlerResponseChange>(FiddlerRequestChangeRuleList, FiddlerResponseChangeRuleList , StaticDataCollection , RuleGroup).Wait();\n                }\n            }\n            //System.GC.Collect();\n        }\n    }\n}\n"
  },
  {
    "path": "WebService/RemoteLogService.cs",
    "content": "﻿using FreeHttp.FiddlerHelper;\nusing FreeHttp.MyHelper;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Net.Http;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService\n{\n    public class RemoteLogService\n    {\n        [System.Runtime.Serialization.DataContract()]\n        private  class RemoteLogDetail\n        {\n            [DataMember]\n            public String UserToken { get; set; }\n            [DataMember]\n            public String UserMac { get; set; }\n            [DataMember]\n            public String MachineName { get; set; }\n            [DataMember]\n            public String Version { get; set; }\n            [DataMember]\n            public String Type { get; set; }\n            [DataMember]\n            public String Operation { get; set; }\n            [DataMember]\n            public String Message { get; set; }\n\n        }\n\n        public enum RemoteLogOperation\n        {\n            Unknown ,\n            Exception,\n            SilentUpgrade ,\n            CheckUpgrade,\n            SessionTamp,\n            WindowLoad,\n            RuleUpload,\n            RemoteRule,\n            AddRule,\n            ShareRule,\n            EditRule,\n            ExecuteRule,\n            CommonBusiness\n        }\n\n        public enum RemoteLogType\n        {\n            Unknown,\n            Info,\n            Warning,\n            Error\n        }\n\n        private static HttpClient httpClient;\n        static RemoteLogService()\n        {\n            httpClient = new HttpClient();\n        }\n\n        public static async Task ReportLogAsync(string message , RemoteLogOperation operation = RemoteLogOperation.Unknown, RemoteLogType type =  RemoteLogType.Info)\n        {\n            RemoteLogDetail remoteLogDetail = new RemoteLogDetail() {\n                UserToken = WebService.UserComputerInfo.UserToken,\n                UserMac = WebService.UserComputerInfo.GetComputerMac(),\n                MachineName = WebService.UserComputerInfo.GetMachineName(),\n                Version = UserComputerInfo.GetFreeHttpVersion(),\n                Type = type.ToString(),\n                Operation = operation.ToString(),\n                Message = message\n            };\n            try\n            {\n                await httpClient.PostAsync(string.Format(@\"{0}freehttp/UserLogReport\", ConfigurationData.BaseUrl), new StringContent(MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStr(remoteLogDetail), Encoding.UTF8, \"application/json\"));\n            }\n            catch{ }\n        }\n    }\n}\n"
  },
  {
    "path": "WebService/RemoteRuleService.cs",
    "content": "﻿using FreeHttp.AutoTest.RunTimeStaticData;\nusing FreeHttp.FiddlerHelper;\nusing FreeHttp.MyHelper;\nusing FreeHttp.WebService.DataModel;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Net.Http;\nusing System.Runtime.Serialization;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService\n{\n    public class RemoteRuleService\n    {\n\n\n        protected static HttpClient httpClient;\n        static RemoteRuleService()\n        {\n            httpClient = new HttpClient();\n        }\n\n        protected const string _getRuleUrl = @\"{0}freehttp/RuleDetails?userToken={1}\";\n        protected const string _uploadRuleUrl = @\"{0}freehttp/RuleDetails?ruleversion={1}&{2}\";\n\n        public static async Task<RuleDetails> GetRemoteRuleAsync(string token ,string apiUrl = _getRuleUrl)\n        {\n            HttpResponseMessage responseMessage = await httpClient.GetAsync(string.Format(apiUrl, ConfigurationData.BaseUrl, token));\n            if(responseMessage.StatusCode != System.Net.HttpStatusCode.OK)\n            {\n                return null;\n            }\n            RuleDetails ruleDetails = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<RuleDetails>(await responseMessage.Content.ReadAsStringAsync());\n            if(ruleDetails==null)\n            {\n                return null;\n            }\n\n            string nowVersion = UserComputerInfo.GetRuleVersion();\n\n            if (ruleDetails.RuleStaticDataCell!=null)\n            {\n                //if (ruleDetails.RuleStaticData.RuleVersion == nowVersion)\n                ruleDetails.StaticDataCollection = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<ActuatorStaticDataCollection>(ruleDetails.RuleStaticDataCell.RuleContent);\n\n            }\n\n            if (ruleDetails.RuleGroupCell != null)\n            {\n                //if (ruleDetails.RuleStaticData.RuleVersion == nowVersion)\n                ruleDetails.RuleGroup = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<FiddlerRuleGroup>(ruleDetails.RuleGroupCell.RuleContent);\n\n            }\n\n            if (ruleDetails.RequestRuleCells!=null ||  ruleDetails.ResponseRuleCells!=null)\n            {\n                ruleDetails.ModificHttpRuleCollection = new FiddlerModificHttpRuleCollection();\n                ruleDetails.ModificHttpRuleCollection.RequestRuleList = new List<FiddlerRequestChange>();\n                ruleDetails.ModificHttpRuleCollection.ResponseRuleList = new List<FiddlerResponseChange>();\n                //fill RequestRule\n                foreach (var cell in ruleDetails.RequestRuleCells)\n                {\n                    if(cell.RuleVersion != nowVersion)\n                    {\n                        ruleDetails.ModificHttpRuleCollection.RequestRuleList.Add(new FiddlerRequestChange() {\n                            IsEnable =false,\n                            HttpFilter=new FiddlerHttpFilter() { \n                                Name = \"unmatch rule version\", \n                                UriMatch = new FiddlerUriMatch() {\n                                    MatchMode = FiddlerUriMatchMode.Is,\n                                    MatchUri = \"unmatch rule version\"\n                                } \n                            } \n                        });\n                    }\n                    else\n                    {\n                        FiddlerRequestChange tmepRequestChange = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<FiddlerRequestChange>(cell.RuleContent);\n                        ruleDetails.ModificHttpRuleCollection.RequestRuleList.Add(tmepRequestChange ?? new FiddlerRequestChange()\n                        {\n                            IsEnable = false,\n                            HttpFilter = new FiddlerHttpFilter()\n                            {\n                                Name = \"can not parse this rule\",\n                                UriMatch = new FiddlerUriMatch()\n                                {\n                                    MatchMode = FiddlerUriMatchMode.Is,\n                                    MatchUri = \"can not parse this rule\"\n                                }\n                            }\n                        });\n                    }\n                }\n                //fill ResponseRule\n                foreach (var cell in ruleDetails.ResponseRuleCells)\n                {\n                    if (cell.RuleVersion != nowVersion)\n                    {\n                        ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Add(new FiddlerResponseChange()\n                        {\n                            IsEnable = false,\n                            HttpFilter = new FiddlerHttpFilter()\n                            {\n                                Name = \"unmatch rule version\",\n                                UriMatch = new FiddlerUriMatch()\n                                {\n                                    MatchMode = FiddlerUriMatchMode.Is,\n                                    MatchUri = \"unmatch rule version\"\n                                }\n                            }\n                        });\n                    }\n                    else\n                    {\n                        FiddlerResponseChange tmepRequestChange = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<FiddlerResponseChange>(cell.RuleContent);\n                        ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Add(tmepRequestChange ?? new FiddlerResponseChange()\n                        {\n                            IsEnable = false,\n                            HttpFilter = new FiddlerHttpFilter()\n                            {\n                                Name = \"can not parse this rule\",\n                                UriMatch = new FiddlerUriMatch()\n                                {\n                                    MatchMode = FiddlerUriMatchMode.Is,\n                                    MatchUri = \"can not parse this rule\"\n                                }\n                            }\n                        });\n                    }\n                }\n            }\n\n            return ruleDetails;\n        }\n        public static async Task<string> UploadRulesAsync<T1, T2>(List<T1> requestRules, List<T2> responseRules, ActuatorStaticDataCollection staticDataCollection = null,FiddlerRuleGroup ruleGroup = null ,string executeUrl = null) where T1 : IFiddlerHttpTamper where T2 : IFiddlerHttpTamper\n        {\n            MultipartFormDataContent multipartFormData = new MultipartFormDataContent();\n            if (staticDataCollection != null)\n            {\n                multipartFormData.Add(new StringContent(MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStr(staticDataCollection)), \"staticData\");\n            }\n            if (ruleGroup != null)\n            {\n                multipartFormData.Add(new StringContent(MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStr(ruleGroup)), \"groupData\");\n            }\n            if (requestRules != null)\n            {\n                foreach (var request in requestRules)\n                {\n                    multipartFormData.Add(new StringContent(MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStr(request)), \"requestRule\");\n                }\n            }\n            if (responseRules != null)\n            {\n                foreach (var response in responseRules)\n                {\n                    multipartFormData.Add(new StringContent(MyJsonHelper.JsonDataContractJsonSerializer.ObjectToJsonStr(response)), \"responseRule\");\n                }\n            }\n\n            try\n            {\n                HttpResponseMessage httpResponseMessage = await httpClient.PostAsync(string.Format(executeUrl ?? _uploadRuleUrl, ConfigurationData.BaseUrl, UserComputerInfo.GetRuleVersion(), WebService.UserComputerInfo.GetFreeHttpUser()), multipartFormData);\n                if (httpResponseMessage.IsSuccessStatusCode)\n                {\n                    return await httpResponseMessage.Content.ReadAsStringAsync();\n                }\n            }\n            catch (Exception ex)\n            {\n                await RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.RuleUpload, RemoteLogService.RemoteLogType.Error);\n            }\n            finally\n            {\n\n            }\n            return null;\n        }\n   \n    }\n}\n"
  },
  {
    "path": "WebService/ShareRuleService.cs",
    "content": "﻿using FreeHttp.FiddlerHelper;\nusing FreeHttp.MyHelper;\nusing FreeHttp.WebService.DataModel;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Net.Http;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService\n{\n    public class ShareRuleService: RemoteRuleService\n    {\n        public ShareRuleSummary NowShareRuleSummary { get;private set; }\n        public RuleDetails NowSaveRuleDetails { get; set; }\n        public RuleDetails NowShowRuleDetails { get; set; }\n\n        private string _userInfoStr;\n\n        public ShareRuleService(string personalUserInfoStr)\n        {\n            NowShareRuleSummary = new ShareRuleSummary();\n            _userInfoStr = personalUserInfoStr;\n        }\n\n        public async Task<ShareRuleSummary> GetShareRuleSummaryAsync()\n        {\n            try\n            {\n                HttpResponseMessage responseMessage = await httpClient.GetAsync($\"{ConfigurationData.BaseUrl}freehttp/sharerule/sharerulesummary?{_userInfoStr}\");\n\n                if (responseMessage.StatusCode != System.Net.HttpStatusCode.OK)\n                {\n                    await RemoteLogService.ReportLogAsync(\"GetPersonalShareRulesAsync fail\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                }\n                else\n                {\n                    NowShareRuleSummary = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<ShareRuleSummary>(await responseMessage.Content.ReadAsStringAsync());\n                    if (NowShareRuleSummary == null)\n                    {\n                        await RemoteLogService.ReportLogAsync($\"JsonStringToObject fail in【GetPersonalShareRulesAsync】 that {await responseMessage.Content.ReadAsStringAsync()}\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                    }\n                    else\n                    {\n                        return NowShareRuleSummary;\n                    }\n                }\n            }\n            catch (Exception ex)\n            {\n                await RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n            }\n\n            return default;\n        }\n\n        public async Task<KeyValuePair<string, string>> SaveShareRulesAsync(string remark=null,bool isUploadStaticData=false)\n        {\n            string tempExecuteUrl = null;\n            if (!string.IsNullOrEmpty(remark))\n            {\n                tempExecuteUrl = $\"{{0}}freehttp/sharerule/create?remark={remark}&ruleversion={{1}}&{{2}}\";\n            }\n            if(NowSaveRuleDetails==null || NowSaveRuleDetails.ModificHttpRuleCollection==null)\n            {\n                _ = RemoteLogService.ReportLogAsync(\"SaveShareRules fail in ShareRuleService that NowSaveRuleDetails is null\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                return default;\n            }\n            string response = await RemoteRuleService.UploadRulesAsync<FiddlerRequestChange, FiddlerResponseChange>(\n                NowSaveRuleDetails.ModificHttpRuleCollection?.RequestRuleList,\n                NowSaveRuleDetails.ModificHttpRuleCollection?.ResponseRuleList, \n                isUploadStaticData? NowSaveRuleDetails.StaticDataCollection:null,\n                null,\n                tempExecuteUrl);\n            BaseResultModel<string> httpResult = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<BaseResultModel<string>>(response);\n            if(httpResult==null)\n            {\n                _ = RemoteLogService.ReportLogAsync($\"SaveShareRules fail in ShareRuleService that JsonDataContractJsonSerializer fial [{response}]\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n            }\n            else\n            {\n                return new KeyValuePair<string, string>(httpResult.Result, remark);\n            }\n            return default;\n        }\n\n        public async Task<bool> UpdateShareRulesAsync(string shareToken, bool isUploadStaticData = false)\n        {\n            string tempExecuteUrl = null;\n            if (string.IsNullOrEmpty(shareToken))\n            {\n                return false;\n            }\n            tempExecuteUrl = $\"{{0}}freehttp/sharerule/update?sharetoken={shareToken}&ruleversion={{1}}&{{2}}\";\n            if (NowSaveRuleDetails == null || NowSaveRuleDetails.ModificHttpRuleCollection == null)\n            {\n                _ = RemoteLogService.ReportLogAsync(\"SaveShareRules fail in ShareRuleService that NowSaveRuleDetails is null\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                return default;\n            }\n            string response = await RemoteRuleService.UploadRulesAsync<FiddlerRequestChange, FiddlerResponseChange>(\n                NowSaveRuleDetails.ModificHttpRuleCollection?.RequestRuleList,\n                NowSaveRuleDetails.ModificHttpRuleCollection?.ResponseRuleList,\n                isUploadStaticData ? NowSaveRuleDetails.StaticDataCollection : null,\n                null,\n                tempExecuteUrl);\n            BaseResultModel<string> httpResult = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<BaseResultModel<string>>(response);\n            if (httpResult == null)\n            {\n                _ = RemoteLogService.ReportLogAsync($\"SaveShareRules fail in ShareRuleService that JsonDataContractJsonSerializer fial [{response}]\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n            }\n            else\n            {\n                if(httpResult.Status== ReturnStatus.Success)\n                {\n                    return true;\n                }\n            }\n            return false;\n        }\n\n        public async Task<RuleDetails> GetShareRuleDetailAsync(string token)\n        {\n            if(string.IsNullOrEmpty(token))\n            {\n                return null;\n            }\n            NowShowRuleDetails = await RemoteRuleService.GetRemoteRuleAsync(token, \"{0}freehttp/ShareRule/get?shareToken={1}\");\n            return NowShowRuleDetails;\n        }\n\n        public async Task<bool> DeleteShareRuleDetailAsync(string token)\n        {\n            try\n            {\n                HttpResponseMessage responseMessage = await httpClient.DeleteAsync($\"{ConfigurationData.BaseUrl}freehttp/sharerule?sharetoken={token}&{_userInfoStr}\");\n\n                if (responseMessage.StatusCode != System.Net.HttpStatusCode.OK)\n                {\n                    string errorMes =await responseMessage.Content.ReadAsStringAsync();\n                    MyHelper.MyGlobalHelper.PutGlobalMessage(null,new MyGlobalHelper.GlobalMessageEventArgs(true, $\"remove share token fial that :{errorMes}\"));\n                    await RemoteLogService.ReportLogAsync($\"DeleteShareRuleDetailAsync fail : {errorMes}\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                }\n                else\n                {\n                    if (MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<BaseResultModel<string>>(await responseMessage.Content.ReadAsStringAsync()) == null)\n                    {\n                        await RemoteLogService.ReportLogAsync($\"JsonStringToObject fail in【DeleteShareRuleDetailAsync】 that {await responseMessage.Content.ReadAsStringAsync()}\", RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n                    }\n                    else\n                    {\n                        return true;\n                    }\n                }\n            }\n            catch (Exception ex)\n            {\n                await RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.ShareRule, RemoteLogService.RemoteLogType.Error);\n            }\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "WebService/UpgradeService.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing System.Management;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Threading;\nusing System.Runtime.Serialization;\nusing FreeHttp.MyHelper;\nusing System.Net.Http;\n\nnamespace FreeHttp.WebService\n{\n    public class UpgradeService\n    {\n        [DataContract]\n        public class UpdateInfo\n        {\n            [DataMember]\n            public bool isNeedUpdata { get; set; }\n\n            [DataMember]\n            public bool isSilentUpgrade { get; set; }\n\n            [DataMember]\n            public bool isShowMessage { get; set; }\n\n            [DataMember]\n            public string messageFlag { get; set; }\n\n            [DataMember]\n            public string url { get; set; }\n\n            [DataMember]\n            public string message { get; set; }\n\n            [DataMember]\n            public bool isForceEnter { get; set; }\n\n            [DataMember]\n            public string uuid { get; set; }\n        }\n        public class UpgradeServiceEventArgs : EventArgs\n        {\n            public bool IsSuccess { get; set; }\n            public UpdateInfo UpgradeInfo { get; set; }\n\n            public UpgradeServiceEventArgs(bool isSuccess, UpdateInfo upgradeInfo)\n            {\n                IsSuccess = isSuccess;\n                UpgradeInfo = upgradeInfo;\n            }\n        }\n\n        MyWebTool.MyHttp myHttp;\n\n        public event EventHandler<UpgradeServiceEventArgs> GetUpgradeMes;\n\n        public string SilentUpgradeUrl { get; private set; }\n\n\n        private static HttpClient httpClient;\n        static UpgradeService()\n        {\n            httpClient = new HttpClient();\n        }\n\n        public UpgradeService()\n        {\n            MyWebTool.MyHttp.EnableServerCertificateValidation = true;\n            myHttp = new MyWebTool.MyHttp();\n        }\n\n        public void StartCheckUpgrade()\n        {\n            //Task checkUpgradeCheckUpgrade = new Task(CheckUpgrade);\n            //checkUpgradeCheckUpgrade.Start();\n            //checkUpgradeCheckUpgrade.ContinueWith((task) => { StartCheckUpgrade(); });\n\n            Task<UpgradeServiceEventArgs> checkUpgradeTask = new Task<UpgradeServiceEventArgs>(() =>\n            {\n                //string tempResponse = myHttp.SendData(string.Format(@\"{0}freehttp/UpdateCheck/v{1}?dotnetrelease={2}&{3}\", ConfigurationData.BaseUrl, System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(),  UserComputerInfo.GetDotNetRelease(), UserComputerInfo.GetFreeHttpUser()));\n                //string isNeedUpdata = FreeHttp.AutoTest.ParameterizationPick.ParameterPickHelper.PickStrParameter(\"\\\"isNeedUpdata\\\":\", \",\", tempResponse);\n                //string isSilentUpgrade = FreeHttp.AutoTest.ParameterizationPick.ParameterPickHelper.PickStrParameter(\"\\\"isSilentUpgrade\\\":\", \",\", tempResponse);\n                //string url = FreeHttp.AutoTest.ParameterizationPick.ParameterPickHelper.PickStrParameter(\"\\\"url\\\":\\\"\", \"\\\",\", tempResponse);\n                //string message = FreeHttp.AutoTest.ParameterizationPick.ParameterPickHelper.PickStrParameter(\"\\\"message\\\":\\\"\", \"\\\"\", tempResponse);\n                //if (string.IsNullOrEmpty(isNeedUpdata))\n                //{\n                //    return new UpgradeServiceEventArgs(false, null);\n                //}\n                //if (isNeedUpdata == \"true\")\n                //{\n                //    if (isSilentUpgrade == \"true\") SilentUpgradeUrl = url;\n                //    return new UpgradeServiceEventArgs(true, url, null, isSilentUpgrade == \"true\");\n                //}\n                //if (!string.IsNullOrEmpty(message))\n                //{\n                //    return new UpgradeServiceEventArgs(true, null, message);\n                //}\n                //return null;\n\n                try\n                {\n                    HttpResponseMessage response = httpClient.GetAsync(string.Format(@\"{0}freehttp/UpdateCheck/v{1}?dotnetrelease={2}&{3}\", ConfigurationData.BaseUrl, UserComputerInfo.GetFreeHttpVersion(), UserComputerInfo.GetDotNetRelease(), UserComputerInfo.GetFreeHttpUser())).GetAwaiter().GetResult();\n                    if (response.IsSuccessStatusCode)\n                    {\n                        UpdateInfo updateInfo = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject<UpdateInfo>(response.Content.ReadAsStringAsync().GetAwaiter().GetResult());\n                        if (updateInfo == null)\n                        {\n                            _ = RemoteLogService.ReportLogAsync(\"JsonStringToObject fail that StartCheckUpgrade\", RemoteLogService.RemoteLogOperation.CheckUpgrade, RemoteLogService.RemoteLogType.Error);\n                            return new UpgradeServiceEventArgs(false, null);\n                        }\n                        if (updateInfo.isNeedUpdata && updateInfo.isSilentUpgrade && !string.IsNullOrEmpty(updateInfo.url))\n                        {\n                            SilentUpgradeUrl = updateInfo.url;\n                        }\n                        return new UpgradeServiceEventArgs(true, updateInfo);\n                    }\n                    else\n                    {\n                        _ = RemoteLogService.ReportLogAsync(\"StartCheckUpgrade get error response\", RemoteLogService.RemoteLogOperation.CheckUpgrade, RemoteLogService.RemoteLogType.Error);\n                        return new UpgradeServiceEventArgs(false, null);\n                    }\n                }\n                catch(Exception ex)\n                {\n                    _ = RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.Exception, RemoteLogService.RemoteLogType.Error);\n                    return new UpgradeServiceEventArgs(false, null);\n                }\n\n            });\n\n            checkUpgradeTask.Start();\n            checkUpgradeTask.ContinueWith((task) => { if (checkUpgradeTask.Result != null) this.GetUpgradeMes(this, checkUpgradeTask.Result); });\n        }\n\n        public void TrySilentUpgrade()\n        {\n            if (string.IsNullOrEmpty(SilentUpgradeUrl))\n            {\n                return;\n            }\n            System.Threading.Thread silentUpgradeThread = new System.Threading.Thread(new System.Threading.ThreadStart(StartSilentUpgrade));\n            silentUpgradeThread.IsBackground = false; //使用Thread创建的线程其实默认IsBackground就是false\n            silentUpgradeThread.Start();\n        }\n\n        private void StartSilentUpgrade()\n        {\n            if (System.Threading.Thread.CurrentThread.IsBackground)//大部分情况在async方法里使用这种方式也没有效果 1：不能确保线程执行到这里没有被主线程结束，2：对于async方法大部分情况执行这里的代码也是上一个线程，到await 才可能切换线程 （不过仍然可以通过同步的方式启动async方法）\n            {\n                System.Threading.Thread.CurrentThread.IsBackground = false;\n            }\n            //_ = await RemoteLogService.ReportLogAsync() 父进程可能先结束，不会管以异步启动的任务是否完成\n            RemoteLogService.ReportLogAsync(\"start SilentUpgrade\", RemoteLogService.RemoteLogOperation.SilentUpgrade, RemoteLogService.RemoteLogType.Info).Wait();\n            //MyHelper.SelfUpgradeHelp.UpdateDllAsync(\"https://lulianqi.com/file/FreeHttpUpgradeFile\").Wait();\n            MyHelper.SelfUpgradeHelp.UpdateDllAsync(SilentUpgradeUrl).ContinueWith((result) =>\n            {\n                if (!string.IsNullOrEmpty(result.Result))\n                {\n                    RemoteLogService.ReportLogAsync(result.Result, RemoteLogService.RemoteLogOperation.SilentUpgrade, RemoteLogService.RemoteLogType.Error).Wait();\n                }\n                else\n                {\n                    RemoteLogService.ReportLogAsync(\"SilentUpgrade complete\", RemoteLogService.RemoteLogOperation.SilentUpgrade, RemoteLogService.RemoteLogType.Info).Wait();\n                }\n            }).Wait();\n        }\n\n\n        /// <summary>\n        /// give up maintenance\n        /// </summary>\n        public void StartCheckUpgradeThread()\n        {\n            Thread checkUpgradeTaskThread = new Thread(new ThreadStart(CheckUpgrade));\n            checkUpgradeTaskThread.Name = \"CheckUpgradeTaskThread\";\n            checkUpgradeTaskThread.Priority = ThreadPriority.Normal;\n            checkUpgradeTaskThread.IsBackground = true;\n            checkUpgradeTaskThread.Start();\n        }\n\n        /// <summary>\n        /// give up maintenance\n        /// </summary>\n        private void CheckUpgrade()\n        {\n            string tempResponse = myHttp.SendData(string.Format(@\"{0}freehttp/UpdateCheck/v1.1?user={1}\", ConfigurationData.BaseUrl, UserComputerInfo.GetComputerMac()));\n            string isNeedUpdata = FreeHttp.AutoTest.ParameterizationPick.ParameterPickHelper.PickStrParameter(\"\\\"isNeedUpdata\\\":\", \",\", tempResponse);\n            string url = FreeHttp.AutoTest.ParameterizationPick.ParameterPickHelper.PickStrParameter(\"\\\"url\\\":\", \",\", tempResponse);\n            string message = FreeHttp.AutoTest.ParameterizationPick.ParameterPickHelper.PickStrParameter(\"\\\"message\\\":\", \",\", tempResponse);\n            if (string.IsNullOrEmpty(isNeedUpdata))\n            {\n                this.GetUpgradeMes(this, new UpgradeServiceEventArgs(false, null));\n            }\n            if (isNeedUpdata == \"true\")\n            {\n                this.GetUpgradeMes(this, new UpgradeServiceEventArgs(true, new UpdateInfo() { url = url}));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "WebService/UserComputerInfo.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Management;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace FreeHttp.WebService\n{\n    internal class UserComputerInfo\n    {\n        internal static string UserToken { get; set; }\n        \n        internal static string GetComputerMac()\n        {\n            ManagementClass mc = null;\n            ManagementObjectCollection moc = null;\n            try\n            {\n                string mac = \"\";\n                mc = new ManagementClass(\"Win32_NetworkAdapterConfiguration\");\n                moc = mc.GetInstances();\n                foreach (ManagementObject mo in moc)\n                {\n                    if ((bool)mo[\"IPEnabled\"] == true)\n                    {\n                        mac = mo[\"MacAddress\"].ToString();\n                        break;\n                    }\n                }\n                return mac;\n            }\n            catch (Exception ex)\n            {\n                return ex.Message;\n            }\n            finally\n            {\n                if (moc != null)\n                {\n                    moc.Dispose();\n                }\n                if (mc != null)\n                {\n                    mc.Dispose();\n                }\n            }\n\n        }\n\n        internal static string GetMachineName()\n        {\n            try\n            {\n                return System.Environment.MachineName;\n            }\n            catch\n            {\n                return \"\";\n            }\n        }\n\n        internal static string GetUserName()\n        {\n            try\n            {\n                return System.Environment.UserName;\n            }\n            catch\n            {\n                return \"\";\n            }\n        }\n\n        internal static string GetFreeHttpVersion()\n        {\n            return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();\n        }\n\n        internal static string GetRuleVersion()\n        {\n            return ConfigurationData.RuleVersion;\n        }\n\n        internal static string GetFreeHttpUser()\n        {\n            if(string.IsNullOrEmpty(UserToken))\n            {\n                return string.Format(\"user={0}&username={1}&machinename={2}\", GetComputerMac(), GetUserName(), GetMachineName());\n            }\n            else\n            {\n                return string.Format(\"user={0}&username={1}&machinename={2}&usertoken={3}\", GetComputerMac(), GetUserName(), GetMachineName(), UserToken);\n            }       \n        }\n\n        internal static int GetDotNetRelease()\n        {\n            const string subkey = @\"SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\\";\n            using (Microsoft.Win32.RegistryKey ndpKey = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, Microsoft.Win32.RegistryView.Registry32).OpenSubKey(subkey))\n            {\n                if (ndpKey != null && ndpKey.GetValue(\"Release\") != null)\n                {\n                    return (int)ndpKey.GetValue(\"Release\");\n                }\n                return 0;\n            }\n        }\n\n\n\n    }\n}\n"
  },
  {
    "path": "packages.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n  <package id=\"WindowsBase\" version=\"4.6.1055.0\" targetFramework=\"net45\" />\n</packages>"
  },
  {
    "path": "readme.md",
    "content": " ### 基本逻辑\n![](https://img2018.cnblogs.com/blog/209007/201902/209007-20190225195756643-2027300818.png)\n### 环境搭建\n* Fiddler 扩展插件开发环境配置 请参考官方文档 https://docs.telerik.com/fiddler/Extend-Fiddler/ExtendWithDotNet （该文档已经详细说明了搭建及调试项目的过程）<br>\n* Fiddler 对外开放接口可以参见《Lulu.Debugging with Fiddler》（书中不仅介绍Fiddler的起源，还详细介绍了Fiddler的使用，其中就包括对外提供的扩展接口）<br>\n* 当前FreeHttp扩展插件开发使用.net framework 版本为4.5（您在配置开发环境时需要注意您调试引用的Fiddler 的版本，及您开发环境所支持的最高版本）<br>\n<br>\n\n### 基本结构\n![](https://img2018.cnblogs.com/blog/209007/201902/209007-20190226113810174-1578807533.png)\n>>1：AutoTest命名空间主要提供参数化数据的拾取及管理<br>\n>>2：FiddlerHelper命名空间 提供与Fiddler篡改直接相关的功能<br>\n>>3：FreeHttpControl命名空间提供UI界面及窗体操作逻辑<br>\n>>4：HttpHelper命名空间提供对HTTP协议报文处理的功能<br>\n>>5：MyHelper 命名空间提供公共的辅助工具<br>\n>>6：WebService命名空间提供使网络服务的功能<br>\n>>7：FiddlerFreeHttp继承至IAutoTamper，他是与FIddler数据交换的入口  ， FiddlerSessionTamper是FiddlerFreeHttp的工具类<br>\n\n\n### FreeHttp使用说明\n* 操作说明见https://www.cnblogs.com/lulianqi/p/10428551.html <br>\n* 您可以根据自己的需要直接修改FreeHttp各部分的代码以改动或扩展FreeHttp的功能，使他更符合您的个性化需求。<br>\n* 如果您发现了任何问题或是意见请请在https://github.com/lulianqi/FreeHttp/issues 直接提出 （您也可能通过邮箱联系mycllq@hotmail.com提出您的问题或建议）<br>\n"
  }
]