├── .gitattributes ├── .gitignore ├── .vs ├── ProjectSettings.json ├── VSWorkspaceState.json ├── XXQGAns │ └── v16 │ │ ├── .suo │ │ └── Server │ │ └── sqlite3 │ │ ├── storage.ide │ │ ├── storage.ide-shm │ │ └── storage.ide-wal ├── slnx.sqlite └── xxqg │ └── v16 │ └── .suo ├── README.md ├── XXQGAns.sln └── XXQGAns ├── App.config ├── DeviceInfoData.cs ├── Hotkey.cs ├── Newtonsoft.Json.dll ├── OcrTools.cs ├── Program.cs ├── Properties ├── AssemblyInfo.cs ├── Resources.Designer.cs ├── Resources.resx ├── Settings.Designer.cs └── Settings.settings ├── Resources ├── Newtonsoft.Json.dll └── Snapshot.dll ├── Snapshot.dll ├── StreamPipe.cs ├── XXQGAns.csproj ├── XXQGAns.csproj.user ├── bin └── Debug │ ├── BouncyCastle.Crypto.dll │ ├── Google.Protobuf.dll │ ├── MySql.Data.dll │ ├── MySql.Data.xml │ ├── MySql.Web.dll │ ├── MySql.Web.xml │ ├── Newtonsoft.Json.dll │ ├── Renci.SshNet.dll │ ├── Snapshot.dll │ ├── Ubiety.Dns.Core.dll │ ├── app.publish │ └── 学习强国挑战答题神器.exe │ ├── lib │ ├── adb │ │ ├── AdbWinApi.dll │ │ ├── AdbWinUsbApi.dll │ │ ├── adb.exe │ │ └── libwinpthread-1.dll │ └── mpv │ │ ├── d3dcompiler_43.dll │ │ └── mpv.exe │ ├── 学习强国挑战答题神器.application │ ├── 学习强国挑战答题神器.exe │ ├── 学习强国挑战答题神器.exe.config │ ├── 学习强国挑战答题神器.exe.manifest │ └── 学习强国挑战答题神器.pdb ├── bitbug_favicon.ico ├── lib ├── adb │ ├── AdbWinApi.dll │ ├── AdbWinUsbApi.dll │ ├── adb.exe │ └── libwinpthread-1.dll └── mpv │ ├── d3dcompiler_43.dll │ └── mpv.exe ├── login.Designer.cs ├── login.cs ├── login.resx ├── main.Designer.cs ├── main.cs ├── main.resx └── obj └── Debug ├── DesignTimeResolveAssemblyReferences.cache ├── DesignTimeResolveAssemblyReferencesInput.cache ├── TempPE └── Properties.Resources.Designer.cs.dll ├── XXQGAns.Properties.Resources.resources ├── XXQGAns.csproj.CopyComplete ├── XXQGAns.csproj.FileListAbsolute.txt ├── XXQGAns.csproj.GenerateResource.cache ├── XXQGAns.csprojAssemblyReference.cache ├── XXQGAns.login.resources ├── XXQGAns.main.resources ├── 学习强国挑战答题神器.application ├── 学习强国挑战答题神器.exe ├── 学习强国挑战答题神器.exe.manifest └── 学习强国挑战答题神器.pdb /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.vs/XXQGAns/v16/Server/sqlite3/db.lock 2 | -------------------------------------------------------------------------------- /.vs/ProjectSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "CurrentProjectSetting": null 3 | } -------------------------------------------------------------------------------- /.vs/VSWorkspaceState.json: -------------------------------------------------------------------------------- 1 | { 2 | "ExpandedNodes": [ 3 | "" 4 | ], 5 | "PreviewInSolutionExplorer": false 6 | } -------------------------------------------------------------------------------- /.vs/XXQGAns/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/.vs/XXQGAns/v16/.suo -------------------------------------------------------------------------------- /.vs/XXQGAns/v16/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/.vs/XXQGAns/v16/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /.vs/XXQGAns/v16/Server/sqlite3/storage.ide-shm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/.vs/XXQGAns/v16/Server/sqlite3/storage.ide-shm -------------------------------------------------------------------------------- /.vs/XXQGAns/v16/Server/sqlite3/storage.ide-wal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/.vs/XXQGAns/v16/Server/sqlite3/storage.ide-wal -------------------------------------------------------------------------------- /.vs/slnx.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/.vs/slnx.sqlite -------------------------------------------------------------------------------- /.vs/xxqg/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/.vs/xxqg/v16/.suo -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 学习强国挑战答题神器 2 | ## 学习强国挑战答题神器 成品下载 https://qg.zyqq.top 3 | ## 受国家政策影响,目前暂不提供下载使用,已下载的软件正常使用(如果我还有钱续费服务器的话),当然,你也可以自己编译部署自己服务器 4 | ## 软件使用C#编写,实现连接数据库查找题库 5 | 部署自己服务器请修改login.cs main.cs中的字符串server=IP;user=user;password=passwd;database=xxqg;sslMode=none;中内容为你服务器对应数据库 6 | ## 软件更新2.1版本,源码稍后同步~ 7 | ## 网页源码整理完成即上传 8 | # 2.1更新日志 9 | 1.支持连接安卓手机投屏 10 | 2.支持截图OCR识别题目呀 11 | 3.苹果用户使用iTools投屏,使用软件截图OCR一样可以使用 12 | 4.支持投屏窗口直接点击操作手机 13 | 5.增加OCR自动搜索开关(默认不勾选) 14 | -------------------------------------------------------------------------------- /XXQGAns.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29806.167 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XXQGAns", "XXQGAns\XXQGAns.csproj", "{1662181F-1AAF-4CFE-92C2-8E25E7BE2DDA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {1662181F-1AAF-4CFE-92C2-8E25E7BE2DDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {1662181F-1AAF-4CFE-92C2-8E25E7BE2DDA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {1662181F-1AAF-4CFE-92C2-8E25E7BE2DDA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {1662181F-1AAF-4CFE-92C2-8E25E7BE2DDA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {7C3BCBD8-F2A4-48FC-9D0C-A8976D15A758} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /XXQGAns/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /XXQGAns/DeviceInfoData.cs: -------------------------------------------------------------------------------- 1 | namespace XXQGAns 2 | { 3 | public class DeviceInfoData 4 | { 5 | public int deviceWidth = 2340; 6 | public int deviceHeight = 1080; 7 | public double deviceRefreshRate = 60; 8 | public bool deviceVmode = true; // 是否为竖屏状态 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /XXQGAns/Hotkey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Runtime.InteropServices; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | using System.Windows.Forms; 9 | 10 | namespace XXQGAns 11 | { 12 | /// 13 | /// windows系统下绑定全局热键 14 | /// 15 | public delegate void HotkeyEventHandler(int HotKeyID); 16 | public class Hotkey : System.Windows.Forms.IMessageFilter 17 | { 18 | Hashtable keyIDs = new Hashtable(); 19 | IntPtr hWnd; 20 | 21 | static public int Hotkey1; 22 | 23 | public event HotkeyEventHandler OnHotkey; 24 | 25 | public enum KeyFlags 26 | { 27 | MOD_NONE = 0x0, 28 | MOD_ALT = 0x1, 29 | MOD_CONTROL = 0x2, 30 | MOD_SHIFT = 0x4, 31 | MOD_WIN = 0x8 32 | } 33 | [DllImport("user32.dll")] 34 | public static extern UInt32 RegisterHotKey(IntPtr hWnd, UInt32 id, UInt32 fsModifiers, UInt32 vk); 35 | 36 | [DllImport("user32.dll")] 37 | public static extern UInt32 UnregisterHotKey(IntPtr hWnd, UInt32 id); 38 | 39 | [DllImport("kernel32.dll")] 40 | public static extern UInt32 GlobalAddAtom(String lpString); 41 | 42 | [DllImport("kernel32.dll")] 43 | public static extern UInt32 GlobalDeleteAtom(UInt32 nAtom); 44 | 45 | public Hotkey(IntPtr hWnd) 46 | { 47 | this.hWnd = hWnd; 48 | Application.AddMessageFilter(this); 49 | } 50 | 51 | public int RegisterHotkey(Keys Key, KeyFlags keyflags) 52 | { 53 | UInt32 hotkeyid = GlobalAddAtom(System.Guid.NewGuid().ToString()); 54 | RegisterHotKey((IntPtr)hWnd, hotkeyid, (UInt32)keyflags, (UInt32)Key); 55 | keyIDs.Add(hotkeyid, hotkeyid); 56 | return (int)hotkeyid; 57 | } 58 | 59 | public void UnregisterHotkeys() 60 | { 61 | Application.RemoveMessageFilter(this); 62 | foreach (UInt32 key in keyIDs.Values) 63 | { 64 | UnregisterHotKey(hWnd, key); 65 | GlobalDeleteAtom(key); 66 | } 67 | } 68 | 69 | public bool PreFilterMessage(ref System.Windows.Forms.Message m) 70 | { 71 | if (m.Msg == 0x312) 72 | { 73 | if (OnHotkey != null) 74 | { 75 | foreach (UInt32 key in keyIDs.Values) 76 | { 77 | if ((UInt32)m.WParam == key) 78 | { 79 | OnHotkey((int)m.WParam); 80 | return true; 81 | } 82 | } 83 | } 84 | } 85 | return false; 86 | } 87 | } 88 | } 89 | 90 | -------------------------------------------------------------------------------- /XXQGAns/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /XXQGAns/OcrTools.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.Net; 6 | using System.Text; 7 | using System.Text.RegularExpressions; 8 | using System.Web; 9 | using System.Web.Script.Serialization; 10 | 11 | namespace XXQGAns 12 | { 13 | /// 14 | /// 百度OCR API 15 | /// 16 | class OcrTools 17 | { 18 | private string AccessToken = ""; 19 | public string language = "CHN_ENG"; 20 | 21 | /// 22 | /// 构造函数,获取API Token 23 | /// 24 | public OcrTools() 25 | { 26 | string API_key = "你的百度OCRkey"; 27 | string Secret_key = "你的百度OCRSecret"; 28 | string host = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + API_key + "&client_secret=" + Secret_key; 29 | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host); 30 | request.Method = "get"; 31 | HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 32 | StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default); 33 | string JsonData = reader.ReadToEnd(); 34 | JavaScriptSerializer serializer = new JavaScriptSerializer(); 35 | Dictionary json = (Dictionary)serializer.DeserializeObject(JsonData); 36 | this.AccessToken = json["access_token"].ToString(); 37 | } 38 | /// 39 | /// 根据图片路径进行在线文字识别 40 | /// 41 | /// 图片文件路径 42 | /// 按行返回识别的文字内容 43 | public List accurateBasic(String fileName) 44 | { 45 | List result = new List(); 46 | string token = this.AccessToken; 47 | string host = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic?access_token=" + this.AccessToken + "&language_type=" + this.language; 48 | Encoding encoding = Encoding.Default; 49 | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host); 50 | request.Method = "post"; 51 | request.KeepAlive = true; 52 | // 图片的base64编码 53 | string base64 = getFileBase64(fileName); 54 | String str = "image=" + HttpUtility.UrlEncode(base64); 55 | byte[] buffer = encoding.GetBytes(str); 56 | request.ContentLength = buffer.Length; 57 | request.GetRequestStream().Write(buffer, 0, buffer.Length); 58 | HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 59 | StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); 60 | string jsonText = reader.ReadToEnd(); 61 | //解析json字符串,提取结果 62 | JsonReader jsreader = new JsonTextReader(new StringReader(jsonText)); 63 | while (jsreader.Read()) 64 | { 65 | if (Regex.IsMatch(jsreader.Path, "words_result\\[\\d*\\].words")) 66 | { 67 | if (jsreader.TokenType.ToString() != "PropertyName") 68 | { 69 | result.Add(jsreader.Value.ToString()); 70 | } 71 | } 72 | } 73 | return result; 74 | } 75 | public List accurateBasic(MemoryStream stream) 76 | { 77 | List result = new List(); 78 | string token = this.AccessToken; 79 | string host = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic?access_token=" + this.AccessToken + "&language_type=" + this.language; 80 | Encoding encoding = Encoding.Default; 81 | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host); 82 | request.Method = "post"; 83 | request.KeepAlive = true; 84 | // 图片的base64编码 85 | string base64 = getStreamBase64(stream); 86 | String str = "image=" + HttpUtility.UrlEncode(base64); 87 | byte[] buffer = encoding.GetBytes(str); 88 | request.ContentLength = buffer.Length; 89 | request.GetRequestStream().Write(buffer, 0, buffer.Length); 90 | HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 91 | StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); 92 | string jsonText = reader.ReadToEnd(); 93 | //解析json字符串,提取结果 94 | JsonReader jsreader = new JsonTextReader(new StringReader(jsonText)); 95 | while (jsreader.Read()) 96 | { 97 | if (Regex.IsMatch(jsreader.Path, "words_result\\[\\d*\\].words")) 98 | { 99 | if (jsreader.TokenType.ToString() != "PropertyName") 100 | { 101 | result.Add(jsreader.Value.ToString()); 102 | } 103 | } 104 | } 105 | return result; 106 | } 107 | /// 108 | /// base64编码文件 109 | /// 110 | /// 文件路径 111 | /// 文件的base64字符串 112 | public static String getFileBase64(String fileName) 113 | { 114 | FileStream filestream = new FileStream(fileName, FileMode.Open); 115 | byte[] arr = new byte[filestream.Length]; 116 | filestream.Read(arr, 0, (int)filestream.Length); 117 | string baser64 = Convert.ToBase64String(arr); 118 | filestream.Close(); 119 | return baser64; 120 | } 121 | 122 | /// 123 | /// base64编码文件流 124 | /// 125 | /// 文件流 126 | /// 文件流的base64字符串 127 | public static String getStreamBase64(MemoryStream ms) 128 | { 129 | byte[] arr = new byte[ms.Length]; 130 | arr = ms.GetBuffer(); 131 | string baser64 = Convert.ToBase64String(arr); 132 | return baser64; 133 | } 134 | } 135 | } 136 | 137 | -------------------------------------------------------------------------------- /XXQGAns/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace XXQGAns 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// 应用程序的主入口点。 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new login()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /XXQGAns/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的一般信息由以下 6 | // 控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("学习强国挑战答题神器")] 9 | [assembly: AssemblyDescription("Design by SummerLotus")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("SummerLotus")] 12 | [assembly: AssemblyProduct("学习强国挑战答题神器")] 13 | [assembly: AssemblyCopyright("SummerLotus Copyright© 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 会使此程序集中的类型 18 | //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 19 | //请将此类型的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("1662181f-1aaf-4cfe-92c2-8e25e7be2dda")] 24 | 25 | // 程序集的版本信息由下列四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 生成号 30 | // 修订号 31 | // 32 | //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 33 | //通过使用 "*",如下所示: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2.0.329.2")] 36 | [assembly: AssemblyFileVersion("2.0.329.2")] 37 | -------------------------------------------------------------------------------- /XXQGAns/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace XXQGAns.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// 一个强类型的资源类,用于查找本地化的字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | internal static byte[] Snapshot 27 | { 28 | get 29 | { 30 | object obj = ResourceManager.GetObject("Snapshot", resourceCulture); 31 | return ((byte[])(obj)); 32 | } 33 | } 34 | private static global::System.Resources.ResourceManager resourceMan; 35 | 36 | private static global::System.Globalization.CultureInfo resourceCulture; 37 | 38 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 39 | internal Resources() { 40 | } 41 | 42 | /// 43 | /// 返回此类使用的缓存的 ResourceManager 实例。 44 | /// 45 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 46 | internal static global::System.Resources.ResourceManager ResourceManager { 47 | get { 48 | if (object.ReferenceEquals(resourceMan, null)) { 49 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XXQGAns.Properties.Resources", typeof(Resources).Assembly); 50 | resourceMan = temp; 51 | } 52 | return resourceMan; 53 | } 54 | } 55 | 56 | /// 57 | /// 重写当前线程的 CurrentUICulture 属性 58 | /// 重写当前线程的 CurrentUICulture 属性。 59 | /// 60 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 61 | internal static global::System.Globalization.CultureInfo Culture { 62 | get { 63 | return resourceCulture; 64 | } 65 | set { 66 | resourceCulture = value; 67 | } 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /XXQGAns/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /XXQGAns/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace XXQGAns.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /XXQGAns/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /XXQGAns/Resources/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/Resources/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /XXQGAns/Resources/Snapshot.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/Resources/Snapshot.dll -------------------------------------------------------------------------------- /XXQGAns/Snapshot.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/Snapshot.dll -------------------------------------------------------------------------------- /XXQGAns/StreamPipe.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace XXQGAns 6 | { 7 | internal class StreamPipe 8 | { 9 | private const int BufferSize = 4096; 10 | 11 | public Stream Source { get; protected set; } 12 | public Stream Destination { get; protected set; } 13 | 14 | private CancellationTokenSource _cancellationToken; 15 | private Task _worker; 16 | 17 | public StreamPipe(Stream source, Stream destination) 18 | { 19 | Source = source; 20 | Destination = destination; 21 | } 22 | 23 | public StreamPipe Connect() 24 | { 25 | _cancellationToken = new CancellationTokenSource(); 26 | _worker = Task.Run(async () => 27 | { 28 | byte[] buffer = new byte[BufferSize]; 29 | while (true) 30 | { 31 | _cancellationToken.Token.ThrowIfCancellationRequested(); 32 | int count = await Source.ReadAsync(buffer, 0, BufferSize, _cancellationToken.Token); 33 | if (count <= 0) 34 | { 35 | break; 36 | } 37 | 38 | await Destination.WriteAsync(buffer, 0, count, _cancellationToken.Token); 39 | await Destination.FlushAsync(_cancellationToken.Token); 40 | } 41 | }, _cancellationToken.Token); 42 | return this; 43 | } 44 | 45 | public void Disconnect() 46 | { 47 | _cancellationToken.Cancel(); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /XXQGAns/XXQGAns.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {1662181F-1AAF-4CFE-92C2-8E25E7BE2DDA} 8 | WinExe 9 | XXQGAns 10 | 学习强国挑战答题神器 11 | v4.5.2 12 | 512 13 | true 14 | 15 | true 16 | ftp://39.107.250.159/XXQG/ 17 | true 18 | Web 19 | true 20 | Foreground 21 | 7 22 | Days 23 | false 24 | false 25 | true 26 | https://cdn.myepoch.cn/XXQG/ 27 | 学习强国挑战答题神器 28 | SummerLotus 29 | true 30 | publish.htm 31 | 6 32 | 1.0.325.%2a 33 | true 34 | true 35 | true 36 | true 37 | 38 | 39 | AnyCPU 40 | true 41 | full 42 | false 43 | bin\Debug\ 44 | DEBUG;TRACE 45 | prompt 46 | 4 47 | 48 | 49 | AnyCPU 50 | pdbonly 51 | true 52 | bin\Release\ 53 | TRACE 54 | prompt 55 | 4 56 | 57 | 58 | bitbug_favicon.ico 59 | 60 | 61 | true 62 | 63 | 64 | 302E10EDB40D6C56FABFF877B02590532EC27A91 65 | 66 | 67 | 68 | 69 | 70 | 71 | true 72 | 73 | 74 | true 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | False 86 | .\Newtonsoft.Json.dll 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | Form 107 | 108 | 109 | login.cs 110 | 111 | 112 | Form 113 | 114 | 115 | main.cs 116 | 117 | 118 | 119 | 120 | 121 | 122 | login.cs 123 | 124 | 125 | main.cs 126 | 127 | 128 | ResXFileCodeGenerator 129 | Resources.Designer.cs 130 | Designer 131 | 132 | 133 | True 134 | Resources.resx 135 | True 136 | 137 | 138 | SettingsSingleFileGenerator 139 | Settings.Designer.cs 140 | 141 | 142 | True 143 | Settings.settings 144 | True 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | False 158 | Microsoft .NET Framework 4.5.2 %28x86 和 x64%29 159 | true 160 | 161 | 162 | False 163 | .NET Framework 3.5 SP1 164 | false 165 | 166 | 167 | 168 | 169 | False 170 | 171 | 172 | 173 | 174 | Exclude 175 | True 176 | Assembly 177 | 178 | 179 | False 180 | 181 | 182 | 183 | 184 | Exclude 185 | True 186 | Assembly 187 | 188 | 189 | False 190 | 191 | 192 | 193 | 194 | Exclude 195 | True 196 | Assembly 197 | 198 | 199 | False 200 | 201 | 202 | 203 | 204 | Exclude 205 | True 206 | Assembly 207 | 208 | 209 | False 210 | 211 | 212 | 213 | 214 | Exclude 215 | True 216 | Assembly 217 | 218 | 219 | 220 | -------------------------------------------------------------------------------- /XXQGAns/XXQGAns.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ftp://39.107.250.159/XXQG/|publish\ 5 | https://cdn.myepoch.cn/XXQG/ 6 | 7 | 8 | 9 | 10 | zh-CN 11 | false 12 | 13 | 14 | false 15 | 16 | -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/BouncyCastle.Crypto.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/BouncyCastle.Crypto.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/Google.Protobuf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/Google.Protobuf.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/MySql.Data.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/MySql.Data.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/MySql.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/MySql.Web.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/Renci.SshNet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/Renci.SshNet.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/Snapshot.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/Snapshot.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/Ubiety.Dns.Core.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/Ubiety.Dns.Core.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/app.publish/学习强国挑战答题神器.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/app.publish/学习强国挑战答题神器.exe -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/lib/adb/AdbWinApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/lib/adb/AdbWinApi.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/lib/adb/AdbWinUsbApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/lib/adb/AdbWinUsbApi.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/lib/adb/adb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/lib/adb/adb.exe -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/lib/adb/libwinpthread-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/lib/adb/libwinpthread-1.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/lib/mpv/d3dcompiler_43.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/lib/mpv/d3dcompiler_43.dll -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/lib/mpv/mpv.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/lib/mpv/mpv.exe -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/学习强国挑战答题神器.application: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | enCFFCjPWKvJUuzVQ78kKek1kGFeYezbtYohw6iXkQY= 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/学习强国挑战答题神器.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/学习强国挑战答题神器.exe -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/学习强国挑战答题神器.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/学习强国挑战答题神器.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | g9XzK0Ar9gtq6r20XP7q4pKypZDp01G/gHLPQ2WGhKs= 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | kADPyyfSH/HZ9xlrZ47Mk76YryoUJUwDpVQxiJHmyyM= 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | R6wOQRKlUz34RZOm7yRfiaNMR6yVIWVCYVtt9iBYZzA= 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 9IKFgUgZQ73KHDK8yOdPriJemd7bt01eN60VR7DSO2c= 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | kADPyyfSH/HZ9xlrZ47Mk76YryoUJUwDpVQxiJHmyyM= 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | RwXgz7yT3nL2lqWsqsQgebbC4Ewtgg/pNolrIvmuxpc= 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | GUHS+OFx1101tsQAmSxc2HiZ6DFfxLEUn0Es0Znho/o= 116 | 117 | 118 | -------------------------------------------------------------------------------- /XXQGAns/bin/Debug/学习强国挑战答题神器.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bin/Debug/学习强国挑战答题神器.pdb -------------------------------------------------------------------------------- /XXQGAns/bitbug_favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/bitbug_favicon.ico -------------------------------------------------------------------------------- /XXQGAns/lib/adb/AdbWinApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/lib/adb/AdbWinApi.dll -------------------------------------------------------------------------------- /XXQGAns/lib/adb/AdbWinUsbApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/lib/adb/AdbWinUsbApi.dll -------------------------------------------------------------------------------- /XXQGAns/lib/adb/adb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/lib/adb/adb.exe -------------------------------------------------------------------------------- /XXQGAns/lib/adb/libwinpthread-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/lib/adb/libwinpthread-1.dll -------------------------------------------------------------------------------- /XXQGAns/lib/mpv/d3dcompiler_43.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/lib/mpv/d3dcompiler_43.dll -------------------------------------------------------------------------------- /XXQGAns/lib/mpv/mpv.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/lib/mpv/mpv.exe -------------------------------------------------------------------------------- /XXQGAns/login.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace XXQGAns 2 | { 3 | partial class login 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(login)); 32 | this.user = new System.Windows.Forms.TextBox(); 33 | this.pictureBox1 = new System.Windows.Forms.PictureBox(); 34 | this.label1 = new System.Windows.Forms.Label(); 35 | this.label2 = new System.Windows.Forms.Label(); 36 | this.passwd = new System.Windows.Forms.TextBox(); 37 | this.button1 = new System.Windows.Forms.Button(); 38 | this.checkBox1 = new System.Windows.Forms.CheckBox(); 39 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); 40 | this.SuspendLayout(); 41 | // 42 | // user 43 | // 44 | this.user.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 45 | this.user.Location = new System.Drawing.Point(100, 152); 46 | this.user.Name = "user"; 47 | this.user.Size = new System.Drawing.Size(165, 26); 48 | this.user.TabIndex = 0; 49 | // 50 | // pictureBox1 51 | // 52 | this.pictureBox1.ErrorImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.ErrorImage"))); 53 | this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); 54 | this.pictureBox1.InitialImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.InitialImage"))); 55 | this.pictureBox1.Location = new System.Drawing.Point(0, -1); 56 | this.pictureBox1.Name = "pictureBox1"; 57 | this.pictureBox1.Size = new System.Drawing.Size(306, 137); 58 | this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; 59 | this.pictureBox1.TabIndex = 1; 60 | this.pictureBox1.TabStop = false; 61 | // 62 | // label1 63 | // 64 | this.label1.AutoSize = true; 65 | this.label1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 66 | this.label1.Location = new System.Drawing.Point(34, 154); 67 | this.label1.Name = "label1"; 68 | this.label1.Size = new System.Drawing.Size(65, 20); 69 | this.label1.TabIndex = 2; 70 | this.label1.Text = "用户名:"; 71 | // 72 | // label2 73 | // 74 | this.label2.AutoSize = true; 75 | this.label2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 76 | this.label2.Location = new System.Drawing.Point(48, 186); 77 | this.label2.Name = "label2"; 78 | this.label2.Size = new System.Drawing.Size(51, 20); 79 | this.label2.TabIndex = 4; 80 | this.label2.Text = "密码:"; 81 | // 82 | // passwd 83 | // 84 | this.passwd.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 85 | this.passwd.Location = new System.Drawing.Point(100, 184); 86 | this.passwd.Name = "passwd"; 87 | this.passwd.PasswordChar = '*'; 88 | this.passwd.Size = new System.Drawing.Size(165, 26); 89 | this.passwd.TabIndex = 3; 90 | // 91 | // button1 92 | // 93 | this.button1.Location = new System.Drawing.Point(86, 247); 94 | this.button1.Name = "button1"; 95 | this.button1.Size = new System.Drawing.Size(143, 30); 96 | this.button1.TabIndex = 5; 97 | this.button1.Text = "点击登录"; 98 | this.button1.UseVisualStyleBackColor = true; 99 | this.button1.Click += new System.EventHandler(this.button1_Click); 100 | // 101 | // checkBox1 102 | // 103 | this.checkBox1.AutoSize = true; 104 | this.checkBox1.Checked = true; 105 | this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; 106 | this.checkBox1.Location = new System.Drawing.Point(108, 223); 107 | this.checkBox1.Name = "checkBox1"; 108 | this.checkBox1.Size = new System.Drawing.Size(108, 16); 109 | this.checkBox1.TabIndex = 6; 110 | this.checkBox1.Text = "记住用户名密码"; 111 | this.checkBox1.UseVisualStyleBackColor = true; 112 | // 113 | // login 114 | // 115 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 116 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 117 | this.ClientSize = new System.Drawing.Size(304, 289); 118 | this.Controls.Add(this.checkBox1); 119 | this.Controls.Add(this.button1); 120 | this.Controls.Add(this.label2); 121 | this.Controls.Add(this.passwd); 122 | this.Controls.Add(this.label1); 123 | this.Controls.Add(this.pictureBox1); 124 | this.Controls.Add(this.user); 125 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; 126 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 127 | this.Name = "login"; 128 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 129 | this.Text = "用户登录"; 130 | this.Load += new System.EventHandler(this.login_Load); 131 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); 132 | this.ResumeLayout(false); 133 | this.PerformLayout(); 134 | 135 | } 136 | 137 | #endregion 138 | 139 | private System.Windows.Forms.TextBox user; 140 | private System.Windows.Forms.PictureBox pictureBox1; 141 | private System.Windows.Forms.Label label1; 142 | private System.Windows.Forms.Label label2; 143 | private System.Windows.Forms.TextBox passwd; 144 | private System.Windows.Forms.Button button1; 145 | private System.Windows.Forms.CheckBox checkBox1; 146 | } 147 | } -------------------------------------------------------------------------------- /XXQGAns/login.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | using Microsoft.Win32; 11 | using MySql.Data.MySqlClient; 12 | 13 | namespace XXQGAns 14 | { 15 | public partial class login : Form 16 | { 17 | MySqlConnection SQLCon; 18 | public login() 19 | { 20 | InitializeComponent(); 21 | string connetStr = "server=IP;user=xxqg;password=passwd;database=xxqg;sslMode=none;"; 22 | //MySqlConnection conn = new MySqlConnection(connetStr); 23 | SQLCon = new MySqlConnection(connetStr); 24 | try 25 | { 26 | SQLCon.Open();//打开通道,建立连接 27 | string programversion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 28 | string version = "select * from version where version ='"+programversion+"'"; 29 | MySqlCommand commm = new MySqlCommand(version, SQLCon); 30 | MySqlDataReader versiondr = commm.ExecuteReader(); 31 | 32 | if (versiondr.Read()) 33 | { 34 | } 35 | else { 36 | MessageBox.Show("软件有新版本更新!\n请前往官网下载最新版本!\n当前版本可正常使用!"); 37 | SQLCon.Close(); 38 | } 39 | } 40 | catch (MySqlException ex) 41 | { 42 | 43 | MessageBox.Show(ex.Message); 44 | } 45 | finally 46 | { 47 | SQLCon.Close(); 48 | } 49 | this.passwd.KeyDown += new KeyEventHandler(passwd_KeyDown); 50 | } 51 | private void passwd_KeyDown(object sender, KeyEventArgs e) 52 | { 53 | if (e.KeyCode == Keys.Enter)//判断回 54 | { 55 | //MessageBox.Show("123", "提示", MessageBoxButtons.OK); 56 | this.button1_Click(sender, e);//触发按钮事件 57 | } 58 | } 59 | private void login_Load(object sender, EventArgs e) 60 | { 61 | try 62 | { 63 | RegistryKey regkey = Registry.CurrentUser.OpenSubKey("xxqguser"); 64 | if (regkey != null) 65 | { 66 | user.Text = regkey.GetValue("UserName").ToString(); 67 | passwd.Text = regkey.GetValue("Passwd").ToString(); 68 | regkey.Close(); 69 | } 70 | } 71 | 72 | catch (Exception) 73 | { 74 | } 75 | } 76 | private void button1_Click(object sender, EventArgs e) 77 | { 78 | string connetStr = "server=IP;user=xxqg;password=passwd;database=xxqg;sslMode=none;"; 79 | MySqlConnection conn = new MySqlConnection(connetStr); 80 | try 81 | { 82 | conn.Open(); 83 | string strSql = "select * from login where user = '" + this.user.Text.Trim().ToString() + "'and passwd = '" + 84 | this.passwd.Text.Trim().ToString() + "'"; 85 | //this.textBox1.Text.Trim().ToString()获取文本框的值,往数据库里查询 86 | MySqlCommand comm = new MySqlCommand(strSql, conn); 87 | MySqlDataReader dr = comm.ExecuteReader(); 88 | if (dr.Read()) 89 | { 90 | this.Hide(); //登录成功后,隐藏该页面 91 | if (checkBox1.CheckState == CheckState.Checked) 92 | { 93 | RegistryKey regkey = Registry.CurrentUser.CreateSubKey("xxqguser"); 94 | regkey.SetValue("UserName", user.Text); 95 | regkey.SetValue("Passwd", passwd.Text); 96 | regkey.Close(); 97 | } 98 | else 99 | { 100 | RegistryKey regkey = Registry.CurrentUser.OpenSubKey("xxqguser", true); 101 | regkey.DeleteValue("UserName"); 102 | regkey.DeleteValue("Passwd"); 103 | regkey.Close(); 104 | } 105 | 106 | main m = new main(); //new到另一个面板 107 | m.ShowDialog(); //展示登录后的面板 108 | } 109 | else 110 | { 111 | MessageBox.Show("登陆失败!"); 112 | } 113 | 114 | } 115 | catch (MySqlException ex) 116 | { 117 | 118 | MessageBox.Show(ex.Message); 119 | } 120 | finally 121 | { 122 | conn.Close(); 123 | } 124 | } 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /XXQGAns/main.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace XXQGAns 2 | { 3 | partial class main 4 | { 5 | /// 6 | /// 必需的设计器变量。 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// 清理所有正在使用的资源。 12 | /// 13 | /// 如果应释放托管资源,为 true;否则为 false。 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows 窗体设计器生成的代码 24 | 25 | /// 26 | /// 设计器支持所需的方法 - 不要修改 27 | /// 使用代码编辑器修改此方法的内容。 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.components = new System.ComponentModel.Container(); 32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(main)); 33 | this.tabControl1 = new System.Windows.Forms.TabControl(); 34 | this.tabPage1 = new System.Windows.Forms.TabPage(); 35 | this.label15 = new System.Windows.Forms.Label(); 36 | this.label14 = new System.Windows.Forms.Label(); 37 | this.ocrbtn = new System.Windows.Forms.Button(); 38 | this.label13 = new System.Windows.Forms.Label(); 39 | this.ocrout = new System.Windows.Forms.TextBox(); 40 | this.label12 = new System.Windows.Forms.Label(); 41 | this.stopCastButton = new System.Windows.Forms.Button(); 42 | this.startCastButton = new System.Windows.Forms.Button(); 43 | this.button2 = new System.Windows.Forms.Button(); 44 | this.daannum = new System.Windows.Forms.Label(); 45 | this.label9 = new System.Windows.Forms.Label(); 46 | this.groupBox1 = new System.Windows.Forms.GroupBox(); 47 | this.state = new System.Windows.Forms.Label(); 48 | this.label2 = new System.Windows.Forms.Label(); 49 | this.dataGridView1 = new System.Windows.Forms.DataGridView(); 50 | this.label1 = new System.Windows.Forms.Label(); 51 | this.search = new System.Windows.Forms.Button(); 52 | this.inputtext = new System.Windows.Forms.TextBox(); 53 | this.tabPage2 = new System.Windows.Forms.TabPage(); 54 | this.label11 = new System.Windows.Forms.Label(); 55 | this.label8 = new System.Windows.Forms.Label(); 56 | this.label7 = new System.Windows.Forms.Label(); 57 | this.label6 = new System.Windows.Forms.Label(); 58 | this.button1 = new System.Windows.Forms.Button(); 59 | this.label5 = new System.Windows.Forms.Label(); 60 | this.newans = new System.Windows.Forms.TextBox(); 61 | this.label4 = new System.Windows.Forms.Label(); 62 | this.newop = new System.Windows.Forms.TextBox(); 63 | this.label3 = new System.Windows.Forms.Label(); 64 | this.newques = new System.Windows.Forms.TextBox(); 65 | this.tabPage3 = new System.Windows.Forms.TabPage(); 66 | this.label16 = new System.Windows.Forms.Label(); 67 | this.label10 = new System.Windows.Forms.Label(); 68 | this.pageSetupDialog1 = new System.Windows.Forms.PageSetupDialog(); 69 | this.heartTimer = new System.Windows.Forms.Timer(this.components); 70 | this.screenBox = new System.Windows.Forms.Panel(); 71 | this.nosigalLabel = new System.Windows.Forms.Label(); 72 | this.startCastSingleButton = new System.Windows.Forms.Button(); 73 | this.tabControl1.SuspendLayout(); 74 | this.tabPage1.SuspendLayout(); 75 | this.groupBox1.SuspendLayout(); 76 | ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); 77 | this.tabPage2.SuspendLayout(); 78 | this.tabPage3.SuspendLayout(); 79 | this.screenBox.SuspendLayout(); 80 | this.SuspendLayout(); 81 | // 82 | // tabControl1 83 | // 84 | this.tabControl1.Controls.Add(this.tabPage1); 85 | this.tabControl1.Controls.Add(this.tabPage2); 86 | this.tabControl1.Controls.Add(this.tabPage3); 87 | this.tabControl1.Location = new System.Drawing.Point(1, 1); 88 | this.tabControl1.Name = "tabControl1"; 89 | this.tabControl1.SelectedIndex = 0; 90 | this.tabControl1.Size = new System.Drawing.Size(911, 677); 91 | this.tabControl1.TabIndex = 2; 92 | // 93 | // tabPage1 94 | // 95 | this.tabPage1.Controls.Add(this.label15); 96 | this.tabPage1.Controls.Add(this.label14); 97 | this.tabPage1.Controls.Add(this.ocrbtn); 98 | this.tabPage1.Controls.Add(this.label13); 99 | this.tabPage1.Controls.Add(this.ocrout); 100 | this.tabPage1.Controls.Add(this.label12); 101 | this.tabPage1.Controls.Add(this.stopCastButton); 102 | this.tabPage1.Controls.Add(this.startCastButton); 103 | this.tabPage1.Controls.Add(this.button2); 104 | this.tabPage1.Controls.Add(this.daannum); 105 | this.tabPage1.Controls.Add(this.label9); 106 | this.tabPage1.Controls.Add(this.groupBox1); 107 | this.tabPage1.Controls.Add(this.label2); 108 | this.tabPage1.Controls.Add(this.dataGridView1); 109 | this.tabPage1.Controls.Add(this.label1); 110 | this.tabPage1.Controls.Add(this.search); 111 | this.tabPage1.Controls.Add(this.inputtext); 112 | this.tabPage1.Location = new System.Drawing.Point(4, 22); 113 | this.tabPage1.Name = "tabPage1"; 114 | this.tabPage1.Padding = new System.Windows.Forms.Padding(3); 115 | this.tabPage1.Size = new System.Drawing.Size(903, 651); 116 | this.tabPage1.TabIndex = 0; 117 | this.tabPage1.Text = "挑战答题题库"; 118 | this.tabPage1.UseVisualStyleBackColor = true; 119 | // 120 | // label15 121 | // 122 | this.label15.AutoSize = true; 123 | this.label15.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 124 | this.label15.ForeColor = System.Drawing.Color.Red; 125 | this.label15.Location = new System.Drawing.Point(234, 135); 126 | this.label15.Name = "label15"; 127 | this.label15.Size = new System.Drawing.Size(392, 34); 128 | this.label15.TabIndex = 18; 129 | this.label15.Text = "识别结果已经复制到剪贴板!\r\n请尽量选择无标点及特殊符号的关键词进行识别!否则容易无法匹配题库"; 130 | this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 131 | // 132 | // label14 133 | // 134 | this.label14.AutoSize = true; 135 | this.label14.Location = new System.Drawing.Point(715, 155); 136 | this.label14.Name = "label14"; 137 | this.label14.Size = new System.Drawing.Size(47, 12); 138 | this.label14.TabIndex = 17; 139 | this.label14.Text = "message"; 140 | // 141 | // ocrbtn 142 | // 143 | this.ocrbtn.Location = new System.Drawing.Point(706, 63); 144 | this.ocrbtn.Name = "ocrbtn"; 145 | this.ocrbtn.Size = new System.Drawing.Size(62, 88); 146 | this.ocrbtn.TabIndex = 16; 147 | this.ocrbtn.Text = "截取屏幕\r\nAlt + A\r\n"; 148 | this.ocrbtn.UseVisualStyleBackColor = true; 149 | this.ocrbtn.Click += new System.EventHandler(this.ocrbtn_Click); 150 | // 151 | // label13 152 | // 153 | this.label13.AutoSize = true; 154 | this.label13.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 155 | this.label13.Location = new System.Drawing.Point(101, 84); 156 | this.label13.Name = "label13"; 157 | this.label13.Size = new System.Drawing.Size(70, 17); 158 | this.label13.TabIndex = 15; 159 | this.label13.Text = "OCR结果:"; 160 | // 161 | // ocrout 162 | // 163 | this.ocrout.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 164 | this.ocrout.Location = new System.Drawing.Point(173, 69); 165 | this.ocrout.Name = "ocrout"; 166 | this.ocrout.Size = new System.Drawing.Size(504, 29); 167 | this.ocrout.TabIndex = 14; 168 | // 169 | // label12 170 | // 171 | this.label12.AutoSize = true; 172 | this.label12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 173 | this.label12.Location = new System.Drawing.Point(885, 73); 174 | this.label12.Name = "label12"; 175 | this.label12.Size = new System.Drawing.Size(22, 17); 176 | this.label12.TabIndex = 12; 177 | this.label12.Text = "->"; 178 | // 179 | // stopCastButton 180 | // 181 | this.stopCastButton.Location = new System.Drawing.Point(775, 111); 182 | this.stopCastButton.Name = "stopCastButton"; 183 | this.stopCastButton.Size = new System.Drawing.Size(112, 40); 184 | this.stopCastButton.TabIndex = 13; 185 | this.stopCastButton.Text = "结束投屏"; 186 | this.stopCastButton.UseVisualStyleBackColor = true; 187 | this.stopCastButton.Click += new System.EventHandler(this.stopCastButton_Click); 188 | // 189 | // startCastButton 190 | // 191 | this.startCastButton.Location = new System.Drawing.Point(775, 63); 192 | this.startCastButton.Name = "startCastButton"; 193 | this.startCastButton.Size = new System.Drawing.Size(111, 40); 194 | this.startCastButton.TabIndex = 11; 195 | this.startCastButton.Text = "连接投屏"; 196 | this.startCastButton.UseVisualStyleBackColor = true; 197 | this.startCastButton.Click += new System.EventHandler(this.startCastButton_Click); 198 | // 199 | // button2 200 | // 201 | this.button2.Location = new System.Drawing.Point(9, 105); 202 | this.button2.Name = "button2"; 203 | this.button2.Size = new System.Drawing.Size(92, 36); 204 | this.button2.TabIndex = 10; 205 | this.button2.Text = "刷新题库"; 206 | this.button2.UseVisualStyleBackColor = true; 207 | this.button2.Click += new System.EventHandler(this.button2_Click); 208 | // 209 | // daannum 210 | // 211 | this.daannum.AutoSize = true; 212 | this.daannum.ForeColor = System.Drawing.Color.DodgerBlue; 213 | this.daannum.Location = new System.Drawing.Point(113, 150); 214 | this.daannum.Name = "daannum"; 215 | this.daannum.Size = new System.Drawing.Size(11, 12); 216 | this.daannum.TabIndex = 9; 217 | this.daannum.Text = "0"; 218 | // 219 | // label9 220 | // 221 | this.label9.AutoSize = true; 222 | this.label9.Location = new System.Drawing.Point(6, 150); 223 | this.label9.Name = "label9"; 224 | this.label9.Size = new System.Drawing.Size(101, 12); 225 | this.label9.TabIndex = 8; 226 | this.label9.Text = "当前题库题目数:"; 227 | // 228 | // groupBox1 229 | // 230 | this.groupBox1.Controls.Add(this.state); 231 | this.groupBox1.Font = new System.Drawing.Font("宋体", 7.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 232 | this.groupBox1.Location = new System.Drawing.Point(3, 3); 233 | this.groupBox1.Name = "groupBox1"; 234 | this.groupBox1.Size = new System.Drawing.Size(98, 50); 235 | this.groupBox1.TabIndex = 7; 236 | this.groupBox1.TabStop = false; 237 | this.groupBox1.Text = "数据库连接状态"; 238 | // 239 | // state 240 | // 241 | this.state.AutoSize = true; 242 | this.state.Font = new System.Drawing.Font("黑体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 243 | this.state.ForeColor = System.Drawing.Color.Red; 244 | this.state.Location = new System.Drawing.Point(20, 20); 245 | this.state.Name = "state"; 246 | this.state.Size = new System.Drawing.Size(56, 16); 247 | this.state.TabIndex = 7; 248 | this.state.Text = "未连接"; 249 | // 250 | // label2 251 | // 252 | this.label2.AutoSize = true; 253 | this.label2.Font = new System.Drawing.Font("宋体", 7.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 254 | this.label2.Location = new System.Drawing.Point(7, 17); 255 | this.label2.Name = "label2"; 256 | this.label2.Size = new System.Drawing.Size(0, 10); 257 | this.label2.TabIndex = 5; 258 | // 259 | // dataGridView1 260 | // 261 | this.dataGridView1.ColumnHeadersHeight = 30; 262 | this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; 263 | this.dataGridView1.Location = new System.Drawing.Point(6, 174); 264 | this.dataGridView1.Name = "dataGridView1"; 265 | this.dataGridView1.RowTemplate.DefaultCellStyle.Font = new System.Drawing.Font("微软雅黑 Light", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 266 | this.dataGridView1.RowTemplate.Height = 42; 267 | this.dataGridView1.RowTemplate.ReadOnly = true; 268 | this.dataGridView1.Size = new System.Drawing.Size(891, 470); 269 | this.dataGridView1.TabIndex = 4; 270 | // 271 | // label1 272 | // 273 | this.label1.AutoSize = true; 274 | this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 275 | this.label1.Location = new System.Drawing.Point(103, 25); 276 | this.label1.Name = "label1"; 277 | this.label1.Size = new System.Drawing.Size(68, 17); 278 | this.label1.TabIndex = 3; 279 | this.label1.Text = "输入问题:"; 280 | // 281 | // search 282 | // 283 | this.search.Font = new System.Drawing.Font("黑体", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 284 | this.search.Location = new System.Drawing.Point(775, 6); 285 | this.search.Name = "search"; 286 | this.search.Size = new System.Drawing.Size(112, 47); 287 | this.search.TabIndex = 2; 288 | this.search.Text = "搜索"; 289 | this.search.UseVisualStyleBackColor = true; 290 | this.search.Click += new System.EventHandler(this.search_Click); 291 | // 292 | // inputtext 293 | // 294 | this.inputtext.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 295 | this.inputtext.Location = new System.Drawing.Point(173, 6); 296 | this.inputtext.Name = "inputtext"; 297 | this.inputtext.Size = new System.Drawing.Size(598, 29); 298 | this.inputtext.TabIndex = 1; 299 | // 300 | // tabPage2 301 | // 302 | this.tabPage2.Controls.Add(this.label11); 303 | this.tabPage2.Controls.Add(this.label8); 304 | this.tabPage2.Controls.Add(this.label7); 305 | this.tabPage2.Controls.Add(this.label6); 306 | this.tabPage2.Controls.Add(this.button1); 307 | this.tabPage2.Controls.Add(this.label5); 308 | this.tabPage2.Controls.Add(this.newans); 309 | this.tabPage2.Controls.Add(this.label4); 310 | this.tabPage2.Controls.Add(this.newop); 311 | this.tabPage2.Controls.Add(this.label3); 312 | this.tabPage2.Controls.Add(this.newques); 313 | this.tabPage2.Location = new System.Drawing.Point(4, 22); 314 | this.tabPage2.Name = "tabPage2"; 315 | this.tabPage2.Padding = new System.Windows.Forms.Padding(3); 316 | this.tabPage2.Size = new System.Drawing.Size(903, 651); 317 | this.tabPage2.TabIndex = 1; 318 | this.tabPage2.Text = "提交问题"; 319 | this.tabPage2.UseVisualStyleBackColor = true; 320 | // 321 | // label11 322 | // 323 | this.label11.AutoSize = true; 324 | this.label11.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 325 | this.label11.ForeColor = System.Drawing.Color.Red; 326 | this.label11.Location = new System.Drawing.Point(92, 364); 327 | this.label11.Name = "label11"; 328 | this.label11.Size = new System.Drawing.Size(278, 25); 329 | this.label11.TabIndex = 10; 330 | this.label11.Text = "请勿随意提交无谓的数据!!!"; 331 | // 332 | // label8 333 | // 334 | this.label8.AutoSize = true; 335 | this.label8.Font = new System.Drawing.Font("宋体", 7.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 336 | this.label8.ForeColor = System.Drawing.Color.Tomato; 337 | this.label8.Location = new System.Drawing.Point(4, 437); 338 | this.label8.Name = "label8"; 339 | this.label8.Size = new System.Drawing.Size(95, 10); 340 | this.label8.TabIndex = 9; 341 | this.label8.Text = "当前待处理题目数:"; 342 | // 343 | // label7 344 | // 345 | this.label7.AutoSize = true; 346 | this.label7.ForeColor = System.Drawing.Color.Fuchsia; 347 | this.label7.Location = new System.Drawing.Point(100, 437); 348 | this.label7.Name = "label7"; 349 | this.label7.Size = new System.Drawing.Size(11, 12); 350 | this.label7.TabIndex = 8; 351 | this.label7.Text = "0"; 352 | // 353 | // label6 354 | // 355 | this.label6.AutoSize = true; 356 | this.label6.Font = new System.Drawing.Font("黑体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 357 | this.label6.ForeColor = System.Drawing.Color.DodgerBlue; 358 | this.label6.Location = new System.Drawing.Point(93, 321); 359 | this.label6.Name = "label6"; 360 | this.label6.Size = new System.Drawing.Size(376, 32); 361 | this.label6.TabIndex = 7; 362 | this.label6.Text = "可在此页面提交数据库未收录的题目及答案至数据库\r\n作者审核题目后添加题目至正式数据库"; 363 | // 364 | // button1 365 | // 366 | this.button1.Location = new System.Drawing.Point(765, 341); 367 | this.button1.Name = "button1"; 368 | this.button1.Size = new System.Drawing.Size(106, 44); 369 | this.button1.TabIndex = 6; 370 | this.button1.Text = "提交至数据库"; 371 | this.button1.UseVisualStyleBackColor = true; 372 | this.button1.Click += new System.EventHandler(this.button1_Click); 373 | // 374 | // label5 375 | // 376 | this.label5.AutoSize = true; 377 | this.label5.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 378 | this.label5.Location = new System.Drawing.Point(29, 252); 379 | this.label5.Name = "label5"; 380 | this.label5.Size = new System.Drawing.Size(40, 16); 381 | this.label5.TabIndex = 5; 382 | this.label5.Text = "答案"; 383 | // 384 | // newans 385 | // 386 | this.newans.Location = new System.Drawing.Point(96, 232); 387 | this.newans.Name = "newans"; 388 | this.newans.Size = new System.Drawing.Size(775, 21); 389 | this.newans.TabIndex = 4; 390 | // 391 | // label4 392 | // 393 | this.label4.AutoSize = true; 394 | this.label4.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 395 | this.label4.Location = new System.Drawing.Point(29, 138); 396 | this.label4.Name = "label4"; 397 | this.label4.Size = new System.Drawing.Size(40, 16); 398 | this.label4.TabIndex = 3; 399 | this.label4.Text = "选项"; 400 | // 401 | // newop 402 | // 403 | this.newop.Location = new System.Drawing.Point(96, 118); 404 | this.newop.Name = "newop"; 405 | this.newop.Size = new System.Drawing.Size(775, 21); 406 | this.newop.TabIndex = 2; 407 | // 408 | // label3 409 | // 410 | this.label3.AutoSize = true; 411 | this.label3.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 412 | this.label3.Location = new System.Drawing.Point(29, 35); 413 | this.label3.Name = "label3"; 414 | this.label3.Size = new System.Drawing.Size(40, 16); 415 | this.label3.TabIndex = 1; 416 | this.label3.Text = "问题"; 417 | // 418 | // newques 419 | // 420 | this.newques.Location = new System.Drawing.Point(96, 18); 421 | this.newques.Name = "newques"; 422 | this.newques.Size = new System.Drawing.Size(775, 21); 423 | this.newques.TabIndex = 0; 424 | // 425 | // tabPage3 426 | // 427 | this.tabPage3.Controls.Add(this.label16); 428 | this.tabPage3.Controls.Add(this.label10); 429 | this.tabPage3.Location = new System.Drawing.Point(4, 22); 430 | this.tabPage3.Name = "tabPage3"; 431 | this.tabPage3.Size = new System.Drawing.Size(903, 651); 432 | this.tabPage3.TabIndex = 2; 433 | this.tabPage3.Text = "说明"; 434 | this.tabPage3.UseVisualStyleBackColor = true; 435 | // 436 | // label16 437 | // 438 | this.label16.AutoSize = true; 439 | this.label16.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 440 | this.label16.ForeColor = System.Drawing.Color.Red; 441 | this.label16.Location = new System.Drawing.Point(26, 213); 442 | this.label16.Name = "label16"; 443 | this.label16.Size = new System.Drawing.Size(665, 105); 444 | this.label16.TabIndex = 1; 445 | this.label16.Text = "打开手机,开发者选项,打开USB调试,数据线连接,弹窗提示调试设备允许,方可连接手机\r\n如无法连接,尝试打开USB调试(安全设置)或联系作者反馈\r\n苹果手机使用i" + 446 | "Tools连接投屏一样可以使用软件内置截屏OCR\r\n\r\n测试机型:Redmi K20 Pro/Oneplus 3/荣耀8X/Redmi Note8 Pro"; 447 | // 448 | // label10 449 | // 450 | this.label10.AutoSize = true; 451 | this.label10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 452 | this.label10.ForeColor = System.Drawing.Color.DodgerBlue; 453 | this.label10.Location = new System.Drawing.Point(28, 46); 454 | this.label10.Name = "label10"; 455 | this.label10.Size = new System.Drawing.Size(334, 126); 456 | this.label10.TabIndex = 0; 457 | this.label10.Text = "软件名称:学习强国挑战答题神器\r\n程序版本:2.0\r\n构建日期:2020.03.28\r\n作者;SummerLotus(吾爱ID:君莫笑WXH)\r\n官网:https" + 458 | "://qg.zyqq.top/(单击即可访问)\r\n题库来源:互联网+不定时更新\r\n"; 459 | this.label10.Click += new System.EventHandler(this.label10_Click); 460 | // 461 | // heartTimer 462 | // 463 | this.heartTimer.Interval = 1000; 464 | this.heartTimer.Tick += new System.EventHandler(this.HeartTimer_Tick); 465 | // 466 | // screenBox 467 | // 468 | this.screenBox.BackColor = System.Drawing.Color.Black; 469 | this.screenBox.Controls.Add(this.nosigalLabel); 470 | this.screenBox.Location = new System.Drawing.Point(914, 23); 471 | this.screenBox.Name = "screenBox"; 472 | this.screenBox.Size = new System.Drawing.Size(348, 655); 473 | this.screenBox.TabIndex = 14; 474 | // 475 | // nosigalLabel 476 | // 477 | this.nosigalLabel.BackColor = System.Drawing.Color.Transparent; 478 | this.nosigalLabel.Dock = System.Windows.Forms.DockStyle.Fill; 479 | this.nosigalLabel.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); 480 | this.nosigalLabel.ForeColor = System.Drawing.Color.White; 481 | this.nosigalLabel.Location = new System.Drawing.Point(0, 0); 482 | this.nosigalLabel.Name = "nosigalLabel"; 483 | this.nosigalLabel.Size = new System.Drawing.Size(348, 655); 484 | this.nosigalLabel.TabIndex = 1; 485 | this.nosigalLabel.Text = "请打开开发者选项-USB调试\r\n并使用数据线连接手机\r\n如投屏出现问题请尝试独立窗口投屏\r\n或者联系作者"; 486 | this.nosigalLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 487 | // 488 | // startCastSingleButton 489 | // 490 | this.startCastSingleButton.Location = new System.Drawing.Point(1031, 1); 491 | this.startCastSingleButton.Name = "startCastSingleButton"; 492 | this.startCastSingleButton.Size = new System.Drawing.Size(115, 20); 493 | this.startCastSingleButton.TabIndex = 15; 494 | this.startCastSingleButton.Text = "独立窗口投屏"; 495 | this.startCastSingleButton.UseVisualStyleBackColor = true; 496 | this.startCastSingleButton.Click += new System.EventHandler(this.startCastSingleButton_Click); 497 | // 498 | // main 499 | // 500 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 501 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 502 | this.ClientSize = new System.Drawing.Size(1267, 681); 503 | this.Controls.Add(this.startCastSingleButton); 504 | this.Controls.Add(this.screenBox); 505 | this.Controls.Add(this.tabControl1); 506 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; 507 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 508 | this.Name = "main"; 509 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 510 | this.Text = "学习强国挑战答题搜索神器V2.0"; 511 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.main_FormClosing); 512 | this.Load += new System.EventHandler(this.main_Load); 513 | this.tabControl1.ResumeLayout(false); 514 | this.tabPage1.ResumeLayout(false); 515 | this.tabPage1.PerformLayout(); 516 | this.groupBox1.ResumeLayout(false); 517 | this.groupBox1.PerformLayout(); 518 | ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); 519 | this.tabPage2.ResumeLayout(false); 520 | this.tabPage2.PerformLayout(); 521 | this.tabPage3.ResumeLayout(false); 522 | this.tabPage3.PerformLayout(); 523 | this.screenBox.ResumeLayout(false); 524 | this.ResumeLayout(false); 525 | 526 | } 527 | 528 | #endregion 529 | 530 | private System.Windows.Forms.TabControl tabControl1; 531 | private System.Windows.Forms.TabPage tabPage1; 532 | private System.Windows.Forms.Label label1; 533 | private System.Windows.Forms.Button search; 534 | private System.Windows.Forms.TextBox inputtext; 535 | private System.Windows.Forms.TabPage tabPage2; 536 | private System.Windows.Forms.DataGridView dataGridView1; 537 | private System.Windows.Forms.Label label2; 538 | private System.Windows.Forms.GroupBox groupBox1; 539 | private System.Windows.Forms.Label state; 540 | private System.Windows.Forms.Label label5; 541 | private System.Windows.Forms.TextBox newans; 542 | private System.Windows.Forms.Label label4; 543 | private System.Windows.Forms.TextBox newop; 544 | private System.Windows.Forms.Label label3; 545 | private System.Windows.Forms.TextBox newques; 546 | private System.Windows.Forms.Label label6; 547 | private System.Windows.Forms.Button button1; 548 | private System.Windows.Forms.Label label7; 549 | private System.Windows.Forms.Label label8; 550 | private System.Windows.Forms.Label daannum; 551 | private System.Windows.Forms.Label label9; 552 | private System.Windows.Forms.Button button2; 553 | private System.Windows.Forms.TabPage tabPage3; 554 | private System.Windows.Forms.Label label10; 555 | private System.Windows.Forms.Label label11; 556 | private System.Windows.Forms.PageSetupDialog pageSetupDialog1; 557 | private System.Windows.Forms.Timer heartTimer; 558 | private System.Windows.Forms.Label label12; 559 | private System.Windows.Forms.Button startCastButton; 560 | private System.Windows.Forms.Button stopCastButton; 561 | private System.Windows.Forms.Panel screenBox; 562 | private System.Windows.Forms.Label nosigalLabel; 563 | private System.Windows.Forms.Label label13; 564 | private System.Windows.Forms.TextBox ocrout; 565 | private System.Windows.Forms.Button ocrbtn; 566 | private System.Windows.Forms.Label label14; 567 | private System.Windows.Forms.Label label15; 568 | private System.Windows.Forms.Label label16; 569 | private System.Windows.Forms.Button startCastSingleButton; 570 | } 571 | } 572 | 573 | -------------------------------------------------------------------------------- /XXQGAns/main.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualBasic; 2 | using System; 3 | using System.Diagnostics; 4 | using System.IO.Pipes; 5 | using System.Runtime.InteropServices; 6 | using System.Text; 7 | using System.Text.RegularExpressions; 8 | using System.Threading; 9 | using System.Windows.Forms; 10 | using System.Collections; 11 | using System.Collections.Generic; 12 | using System.IO; 13 | using System.ComponentModel; 14 | using System.Data; 15 | using System.Drawing; 16 | using System.Linq; 17 | using System.Threading.Tasks; 18 | using MySql.Data.MySqlClient; 19 | using System.Drawing.Imaging; 20 | 21 | namespace XXQGAns 22 | { 23 | public partial class main : Form 24 | { 25 | #region 以下为数据库查找代码 26 | //以下为数据库查找代码 27 | MySqlConnection SQLCon; 28 | MySqlCommand SQLCmd; 29 | string ques = "null", ans = "null", op = "null"; 30 | private void daanuptable_refresh() 31 | { 32 | string nowid; 33 | string searchStr = "select max(id) from daanup"; //xxqgup表中最大 34 | SQLCmd = new MySqlCommand(searchStr, SQLCon); 35 | nowid = SQLCmd.ExecuteScalar().ToString(); 36 | label7.Text = nowid; 37 | } 38 | private void daanup_refresh() 39 | { 40 | string searchStr = "select * from daan"; //xxqg表中数据 41 | MySqlDataAdapter adapter = new MySqlDataAdapter(searchStr, SQLCon); 42 | DataTable a = new DataTable(); 43 | adapter.Fill(a); 44 | this.dataGridView1.DataSource = a; 45 | dataGridView1.Columns[0].HeaderText = "题号"; 46 | dataGridView1.Columns[0].Width = 50; 47 | dataGridView1.Columns[1].HeaderText = "题目"; 48 | dataGridView1.Columns[1].Width = 355; 49 | dataGridView1.Columns[2].HeaderText = "答案"; 50 | dataGridView1.Columns[2].DefaultCellStyle.ForeColor= System.Drawing.Color.Red; 51 | dataGridView1.Columns[2].Width = 80; 52 | dataGridView1.Columns[3].HeaderText = "选项"; 53 | dataGridView1.Columns[3].Width = 350; 54 | dataGridView1.AllowUserToResizeRows = false; 55 | this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 56 | //this.dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 57 | string nowid; 58 | string nowidStr = "select max(id) from daan"; //xxqgup表中最大 59 | SQLCmd = new MySqlCommand(nowidStr, SQLCon); 60 | nowid = SQLCmd.ExecuteScalar().ToString(); 61 | daannum.Text = nowid; 62 | 63 | } 64 | private void button1_Click(object sender, EventArgs e) 65 | { 66 | 67 | if (newques.Text != string.Empty && newans.Text != string.Empty && newop.Text != string.Empty) 68 | { 69 | ques = newques.Text; 70 | ans = newans.Text; 71 | op = newop.Text; 72 | 73 | //MySqlDataAdapter adapter = new MySqlDataAdapter(searchStr, SQLCon); 74 | try 75 | { 76 | string insertStr = "insert into daanup(ques,ans,op) values('" + ques + "','" + ans + "','" + op + "')"; 77 | SQLCmd = new MySqlCommand(insertStr, SQLCon); 78 | SQLCmd.ExecuteNonQuery(); 79 | MessageBox.Show("添加成功", "提示", MessageBoxButtons.OK); 80 | daanuptable_refresh(); 81 | //button1_Click(sender,e); 82 | } 83 | catch (MySqlException ex) 84 | { 85 | MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK); 86 | } 87 | } 88 | else { 89 | MessageBox.Show("问题/答案/选项均不能为空", "提示", MessageBoxButtons.OK); 90 | } 91 | } 92 | private void button2_Click(object sender, EventArgs e) 93 | { 94 | daanup_refresh(); 95 | } 96 | 97 | private void main_FormClosing(object sender, FormClosingEventArgs e) 98 | { 99 | DialogResult dr = MessageBox.Show("是否退出?", "提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); 100 | 101 | if (dr == DialogResult.OK) //如果单击“是”按钮 102 | { 103 | e.Cancel = false; //关闭窗体 104 | SQLCon.Close(); 105 | System.Environment.Exit(0); 106 | } 107 | else if (dr == DialogResult.Cancel) 108 | { 109 | e.Cancel = true; //不执行操作 110 | } 111 | } 112 | private void inputtext_KeyDown(object sender, KeyEventArgs e) 113 | { 114 | if (e.KeyCode == Keys.Enter)//判断回 115 | { 116 | //MessageBox.Show("123", "提示", MessageBoxButtons.OK); 117 | this.search_Click(sender, e);//触发按钮事件 118 | } 119 | } 120 | private void search_Click(object sender, EventArgs e) 121 | { 122 | string str = ""; 123 | if (inputtext.Text != "") 124 | { 125 | str = "where ques like '%" + inputtext.Text+ "%'"; 126 | //daannum.Text = str; 127 | } 128 | 129 | try 130 | { 131 | string searchStr = ("select * from daan " + str); 132 | MySqlDataAdapter adapter = new MySqlDataAdapter(searchStr, SQLCon); 133 | DataTable a = new DataTable(); 134 | adapter.Fill(a); 135 | this.dataGridView1.DataSource = a; 136 | } 137 | catch (MySqlException ex) 138 | { 139 | MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK); 140 | } 141 | } 142 | #endregion 143 | 144 | public main()//主函数 145 | { 146 | InitializeComponent(); 147 | inputtext.AutoSize = false; 148 | inputtext.Height = 50; 149 | ocrout.AutoSize = false; 150 | ocrout.Height = 50; 151 | newques.AutoSize = false; 152 | newques.Height = 50; 153 | newop.AutoSize = false; 154 | newop.Height = 50; 155 | newans.AutoSize = false; 156 | newans.Height = 50; 157 | string connetStr = "server=IP;user=xxqg;password=passwd;database=xxqg;sslMode=none;"; 158 | SQLCon = new MySqlConnection(connetStr); 159 | try 160 | { 161 | SQLCon.Open(); //连接数据库 162 | state.Text = "已连接"; 163 | state.ForeColor = Color.FromArgb(0, 255, 0); 164 | daanup_refresh(); 165 | daanuptable_refresh(); 166 | } 167 | catch (MySqlException ex) 168 | { 169 | MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK); //显示错误信息 170 | } 171 | this.inputtext.KeyDown += new KeyEventHandler(inputtext_KeyDown); 172 | //添加dll引用失败处理 173 | AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); 174 | releaseRes(); 175 | //初始化OCR 176 | this.ocrTools = new OcrTools(); 177 | 178 | } 179 | #region 以下为投屏代码 180 | //以下为投屏代码 181 | private const uint WS_EX_LAYERED = 0x80000; 182 | private const int WS_EX_TRANSPARENT = 0x20; 183 | private const int GWL_STYLE = (-16); 184 | private const int GWL_EXSTYLE = (-20); 185 | private const int LWA_ALPHA = 0; 186 | 187 | [DllImport("user32", EntryPoint = "SetWindowLong")] 188 | private static extern uint SetWindowLong( 189 | IntPtr hwnd, 190 | int nIndex, 191 | uint dwNewLong 192 | ); 193 | 194 | [DllImport("user32", EntryPoint = "GetWindowLong")] 195 | private static extern uint GetWindowLong( 196 | IntPtr hwnd, 197 | int nIndex 198 | ); 199 | 200 | [DllImport("user32", EntryPoint = "SetLayeredWindowAttributes")] 201 | private static extern int SetLayeredWindowAttributes( 202 | IntPtr hwnd, 203 | int crKey, 204 | int bAlpha, 205 | int dwFlags 206 | ); 207 | 208 | [DllImport("user32.dll", SetLastError = true)] 209 | private static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint); 210 | 211 | [DllImport("user32.dll")] 212 | private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); 213 | 214 | private readonly Process stdoutProcess = new Process(); 215 | private readonly Process stdinProcess = new Process(); 216 | private StreamPipe RePipe; 217 | private CastType castType = CastType.Internal; 218 | private bool isCastingValue = false; 219 | 220 | private bool isCasting 221 | { 222 | get => isCastingValue; 223 | set 224 | { 225 | isCastingValue = value; 226 | stopCastButton.Enabled = value; 227 | } 228 | } 229 | 230 | private enum CastType 231 | { 232 | Internal, 233 | Single 234 | } 235 | 236 | private readonly DeviceInfoData deviceInfoData = new DeviceInfoData(); // device info form adb 237 | private readonly DeviceInfoData instartDeviceInfoData = new DeviceInfoData(); // device info at start cast 238 | 239 | private double castMbitRate = 30; // 16M适中 240 | 241 | public static NamedPipeClientStream client; 242 | private void startCastSingleButton_Click(object sender, EventArgs e) 243 | { 244 | MessageBox.Show("关于独立窗口模式\n\n尝试解决部分手机无法投屏或者分辨率出错问题,因为弹出外部播放器窗口相比内建可控性更差,画面旋转及分辨率自适应已被禁用。\n\n投屏窗口可随意拖动,双击最大化。" , "提示"); 245 | castType = CastType.Single; 246 | //ShowConfigDialog(); 247 | StartCastAction(); 248 | startCastSingleButton.Enabled = false; 249 | startCastButton.Enabled = false; 250 | } 251 | private void startCastButton_Click(object sender, EventArgs e) 252 | { 253 | castType = CastType.Internal; 254 | castMbitRate = 30; 255 | //ShowConfigDialog(); 256 | StartCastAction(); 257 | startCastSingleButton.Enabled = false; 258 | } 259 | private void ShowConfigDialog() 260 | { 261 | string inputText = string.Empty; 262 | try 263 | { 264 | inputText = Interaction.InputBox("请输入投屏码率(Mbps):\r\n\r\n<10:适合互联网传输\r\n<30:适合一般手机通过USB传输\r\n<100:适合编码能力强的手机通过家庭局域网(百兆)内传输\r\n<=200:适合编码能力超强的手机通过USB传输\r\n\r\n建议值:30", "准备投屏", $"{castMbitRate}", -1, -1); 265 | castMbitRate = double.Parse(inputText); 266 | if (castMbitRate <= 0 || castMbitRate > 200) 267 | { 268 | MessageBox.Show("码率(Mbps)必须大于0且不超过200", "警告"); 269 | } 270 | else 271 | { 272 | StartCastAction(); 273 | } 274 | } 275 | catch 276 | { 277 | if (inputText.Length > 0) 278 | { 279 | MessageBox.Show("请输入正确的码率(Mbps)", "警告"); 280 | } 281 | } 282 | } 283 | private void StartCastAction() 284 | { 285 | StopCast(); 286 | if (UpdateScreenDeviceInfo()) 287 | { 288 | StartCast(); 289 | } 290 | else 291 | { 292 | MessageBox.Show("找不到任何设备或模拟器", "警告"); 293 | } 294 | } 295 | 296 | private void StartCast() 297 | { 298 | StdOut(); 299 | StdIn(); 300 | RePipe = new StreamPipe(stdoutProcess.StandardOutput.BaseStream, stdinProcess.StandardInput.BaseStream); 301 | RePipe.Connect(); 302 | instartDeviceInfoData.deviceVmode = deviceInfoData.deviceVmode; // 记录播放时的横竖屏状态(是否竖屏) 303 | isCasting = true; 304 | heartTimer.Enabled = true; 305 | //startCastButton.Enabled = false; 306 | startCastSingleButton.Enabled = false; 307 | startCastButton.Enabled = false; 308 | if (castType == CastType.Single) 309 | nosigalLabel.Text = "投屏中 (`・ω・´)"; 310 | } 311 | 312 | private void StopCast() //结束投屏 313 | { 314 | try 315 | { 316 | try 317 | { 318 | stdoutProcess.Exited -= StdIOProcess_Exited; 319 | // stdoutProcess.OutputDataReceived -= new DataReceivedEventHandler(StdOutProcessOutDataReceived); 320 | stdoutProcess.Kill(); 321 | } 322 | catch (Exception ex) 323 | { 324 | Console.WriteLine("无法关闭StdOUT," + ex.Message); 325 | } 326 | try 327 | { 328 | stdinProcess.Exited -= StdIOProcess_Exited; 329 | // stdinProcess.OutputDataReceived -= new DataReceivedEventHandler(StdInProcessOutDataReceived); 330 | stdinProcess.Kill(); 331 | } 332 | catch (Exception ex) 333 | { 334 | Console.WriteLine("无法关闭StdIN," + ex.Message); 335 | } 336 | RePipe.Disconnect(); 337 | } 338 | catch (Exception ex) 339 | { 340 | Console.WriteLine("无法断开管道重定向," + ex.Message); 341 | } 342 | heartTimer.Enabled = false; 343 | isCasting = false; 344 | nosigalLabel.Text = "无信号\nNo signal"; 345 | startCastButton.Enabled = true; 346 | startCastSingleButton.Enabled = true; 347 | } 348 | 349 | public void SetPenetrate(IntPtr useHandle, bool flag = true) 350 | { 351 | uint style = GetWindowLong(useHandle, GWL_EXSTYLE); 352 | if (flag) 353 | { 354 | SetWindowLong(useHandle, GWL_EXSTYLE, style | WS_EX_TRANSPARENT | WS_EX_LAYERED); 355 | } 356 | else 357 | { 358 | SetWindowLong(useHandle, GWL_EXSTYLE, style & ~(WS_EX_TRANSPARENT | WS_EX_LAYERED)); 359 | } 360 | 361 | SetLayeredWindowAttributes(useHandle, 0, 100, LWA_ALPHA); 362 | } 363 | 364 | private void StdOut() 365 | { 366 | //stdoutProcess.OutputDataReceived -= new DataReceivedEventHandler(StdOutProcessOutDataReceived); 367 | // https://developer.android.com/studio/releases/platform-tools.html 368 | stdoutProcess.StartInfo.FileName = System.AppDomain.CurrentDomain.BaseDirectory + @"lib\adb\adb.exe"; 369 | stdoutProcess.StartInfo.Arguments = $"exec-out \"while true;do screenrecord --bit-rate={(int)(castMbitRate * 1000000)} --output-format=h264 --size {deviceInfoData.deviceWidth.ToString()}x{deviceInfoData.deviceHeight.ToString()} - ;done\""; // 370 | stdoutProcess.StartInfo.UseShellExecute = false; 371 | stdoutProcess.StartInfo.RedirectStandardOutput = true; 372 | stdoutProcess.StartInfo.CreateNoWindow = true; 373 | stdoutProcess.EnableRaisingEvents = true; 374 | stdoutProcess.Exited += StdIOProcess_Exited; 375 | stdoutProcess.Start(); 376 | if (stdinProcess.StartInfo.FileName.Length != 0) 377 | { 378 | stdinProcess.CancelOutputRead(); 379 | stdinProcess.Close(); 380 | } 381 | //stdoutProcess.OutputDataReceived += new DataReceivedEventHandler(StdOutProcessOutDataReceived); 382 | } 383 | 384 | private void StdOutProcessOutDataReceived(object sender, DataReceivedEventArgs e) 385 | { 386 | 387 | } 388 | 389 | private void ADBSentKey(string keycode) 390 | { 391 | new Thread(delegate () 392 | { 393 | Process process = new Process(); 394 | process.StartInfo.FileName = System.AppDomain.CurrentDomain.BaseDirectory + @"lib\adb\adb.exe"; 395 | process.StartInfo.Arguments = "shell input keyevent " + keycode; 396 | process.StartInfo.UseShellExecute = false; 397 | process.StartInfo.RedirectStandardOutput = true; 398 | process.StartInfo.CreateNoWindow = true; 399 | process.StartInfo.StandardOutputEncoding = Encoding.UTF8; 400 | process.Start(); 401 | Console.WriteLine(process.StandardOutput.ReadToEnd()); 402 | }).Start(); 403 | } 404 | 405 | private string ADBResult(string args) 406 | { 407 | Process process = new Process(); 408 | process.StartInfo.FileName = System.AppDomain.CurrentDomain.BaseDirectory + @"lib\adb\adb.exe"; 409 | process.StartInfo.Arguments = args; 410 | process.StartInfo.UseShellExecute = false; 411 | process.StartInfo.RedirectStandardOutput = true; 412 | process.StartInfo.RedirectStandardError = true; 413 | process.StartInfo.CreateNoWindow = true; 414 | process.StartInfo.StandardOutputEncoding = Encoding.UTF8; 415 | process.Start(); 416 | //while (!process.StandardOutput.EndOfStream) 417 | //{ 418 | // Console.WriteLine(process.StandardOutput.ReadLine()); 419 | //} 420 | //process.WaitForExit(); 421 | string result = process.StandardOutput.ReadToEnd(); 422 | string error = process.StandardError.ReadLine(); 423 | process.Close(); 424 | return error + result; 425 | } 426 | 427 | private void StdIn() 428 | { 429 | string widArg; 430 | switch (castType) 431 | { 432 | case CastType.Internal: 433 | widArg = $"--wid={screenBox.Handle.ToInt64().ToString()}"; 434 | break; 435 | case CastType.Single: 436 | widArg = default; 437 | break; 438 | default: 439 | widArg = default; 440 | break; 441 | } 442 | string release_args = "--input-default-bindings=no --osd-level=0"; 443 | #if DEBUG 444 | release_args = default; 445 | #endif 446 | string mpv_full_args = $"--title=\"Mirror Caster Source\" --no-taskbar-progress --hwdec=auto --opengl-glfinish=yes --opengl-swapinterval=0 --d3d11-sync-interval=0 --fps={deviceInfoData.deviceRefreshRate} --no-audio --framedrop=decoder --no-correct-pts --speed=1.01 --profile=low-latency --no-config --no-border {release_args} -no-osc {widArg} -"; 447 | Console.WriteLine("MPV ARGS:\r\n" + mpv_full_args); 448 | stdinProcess.StartInfo.FileName = System.AppDomain.CurrentDomain.BaseDirectory + @"lib\mpv\mpv.exe"; 449 | stdinProcess.StartInfo.Arguments = mpv_full_args; 450 | //stdinProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized; 451 | stdinProcess.StartInfo.UseShellExecute = false; 452 | stdinProcess.StartInfo.RedirectStandardOutput = true; 453 | stdinProcess.StartInfo.RedirectStandardInput = true; 454 | stdinProcess.StartInfo.CreateNoWindow = true; 455 | stdinProcess.EnableRaisingEvents = true; 456 | stdinProcess.Exited += StdIOProcess_Exited; 457 | stdinProcess.Start(); 458 | stdinProcess.BeginOutputReadLine(); 459 | //stdinProcess.OutputDataReceived += new DataReceivedEventHandler(StdInProcessOutDataReceived); 460 | } 461 | 462 | private void StdIOProcess_Exited(object sender, EventArgs e) 463 | { 464 | Console.WriteLine("StdIO管道被关闭,关闭投屏"); 465 | Invoke(new Action(StopCast)); // 结束投屏需要修改UI,所以Invoke 466 | } 467 | 468 | private void StdInProcessOutDataReceived(object sender, DataReceivedEventArgs e) 469 | { 470 | try 471 | { 472 | Invoke(new Action(() => 473 | { 474 | SetParent(stdinProcess.MainWindowHandle, screenBox.Handle); 475 | SetPenetrate(stdinProcess.MainWindowHandle, true); 476 | SetParent(stdinProcess.MainWindowHandle, Handle); 477 | // window, x, y, width, height, repaint 478 | MoveWindow(stdinProcess.MainWindowHandle, screenBox.Location.X, screenBox.Location.Y, screenBox.Width, screenBox.Height, false); 479 | })); 480 | } 481 | catch { } 482 | } 483 | 484 | private void main_Resize(object sender, EventArgs e) 485 | { 486 | //MoveWindow(stdinProcess.MainWindowHandle, screenBox.Location.X, screenBox.Location.Y, screenBox.Width, screenBox.Height, false); 487 | } 488 | 489 | private void stopCastButton_Click(object sender, EventArgs e) 490 | { 491 | StopCast(); 492 | } 493 | 494 | 495 | 496 | private bool UpdateScreenDeviceInfo() 497 | { 498 | string str = ADBResult("shell \"dumpsys window displays && dumpsys SurfaceFlinger\"").ToLower(); 499 | if (str.StartsWith("error: no devices/emulators found") || str.StartsWith("error: more than one device/emulator")) 500 | { 501 | return false; //MessageBox.Show("找不到任何设备或模拟器", "警告"); 502 | } 503 | // Console.WriteLine(str); 504 | Regex regexSize = new Regex(@"\s+cur=(?[0-9]*)x(?[0-9]*?)\s+", RegexOptions.Multiline); 505 | Match matchSize = regexSize.Match(str); 506 | Regex regexRefreshRate = new Regex(@"\s+refresh-rate.+?(?[0-9]*\.{0,1}[0-9]*?)\s*fps\s+", RegexOptions.Multiline); 507 | Match matchRefreshRate = regexRefreshRate.Match(str); 508 | if (matchSize.Success) 509 | { 510 | Console.WriteLine("Size成功"); 511 | try 512 | { 513 | int width = int.Parse(matchSize.Groups["width"].Value); //宽 514 | int height = int.Parse(matchSize.Groups["height"].Value); //高 515 | bool vmode = true; //垂直 516 | if (width > height) 517 | { 518 | vmode = false; //水平 519 | } 520 | 521 | string strFormat = string.Format("{0}*{1},是否垂直:{2}", width, height, vmode.ToString()); 522 | Console.WriteLine(strFormat); 523 | deviceInfoData.deviceWidth = width; 524 | deviceInfoData.deviceHeight = height; 525 | deviceInfoData.deviceVmode = vmode; 526 | } 527 | catch { } 528 | } 529 | if (matchRefreshRate.Success) 530 | { 531 | try 532 | { 533 | Console.WriteLine("RefreshRate成功"); 534 | double refreshRate = double.Parse(matchRefreshRate.Groups["refreshRate"].Value); 535 | string strFormat = string.Format("刷新率:{0}", refreshRate); 536 | Console.WriteLine(strFormat); 537 | deviceInfoData.deviceRefreshRate = refreshRate; 538 | } 539 | catch { } 540 | } 541 | return true; 542 | } 543 | 544 | private void HeartTimer_Tick(object sender, EventArgs e) 545 | { 546 | if (UpdateScreenDeviceInfo()) 547 | { 548 | if (instartDeviceInfoData.deviceVmode != deviceInfoData.deviceVmode) 549 | { 550 | if (castType == CastType.Internal) StartCastAction(); // 如果设备info切换则重新连接(为了转换分辨率) 551 | } 552 | } 553 | else 554 | { 555 | heartTimer.Enabled = false; 556 | MessageBox.Show("设备已断开连接", "警告"); 557 | StopCast(); 558 | } 559 | } 560 | #endregion 561 | #region 以下为OCR代码 562 | //以下为ocr代码 563 | private void ocrbtn_Click(object sender, EventArgs e) 564 | { 565 | ScreenCapture(); 566 | toClipboard = true;//复制结果到剪贴板 567 | } 568 | OcrTools ocrTools; 569 | 570 | //Resources.resx文件中dll引用路径处理 571 | System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) 572 | { 573 | string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", ""); 574 | dllName = dllName.Replace(".", "_"); 575 | if (dllName.EndsWith("_resources")) return null; 576 | System.Resources.ResourceManager rm = new System.Resources.ResourceManager(GetType().Namespace + ".Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly()); 577 | byte[] bytes = (byte[])rm.GetObject(dllName); 578 | return System.Reflection.Assembly.Load(bytes); 579 | } 580 | string thisfile = System.AppDomain.CurrentDomain.BaseDirectory + "Snapshot.dll"; 581 | private void releaseRes() //释放截图dll 582 | { 583 | 584 | //ocrout.Text = thisfile; 585 | if (System.IO.File.Exists("Snapshot.dll")) 586 | { 587 | //存在文件,啥都不干 588 | } 589 | else 590 | { 591 | try 592 | { 593 | //释放资源文件中的Dll以供调用 594 | FileStream snapdll = new FileStream("Snapshot.dll", System.IO.FileMode.Create); 595 | snapdll.Write(Properties.Resources.Snapshot, 0, Properties.Resources.Snapshot.Length); 596 | snapdll.Close(); 597 | } 598 | catch (Exception e) 599 | { 600 | MessageBox.Show("请检查当前程序目录是否包含Snapshot.dll\n" + e.ToString()); 601 | } 602 | } 603 | } 604 | 605 | bool appendMode = false; //追加模式 606 | bool toClipboard = true; //输出至剪切板 607 | 608 | public class DLL 609 | { 610 | [DllImport("Snapshot.dll", EntryPoint = "PrScrn")] 611 | public static extern int PrScrn(); //截图方法 612 | } 613 | 614 | private void message(string mess, Color color) 615 | { 616 | this.label14.Text = mess; 617 | this.label14.ForeColor = color; 618 | } 619 | 620 | private void CopyClipboard() 621 | { 622 | if (toClipboard) 623 | { 624 | Clipboard.SetText(this.ocrout.Text); 625 | } 626 | } 627 | 628 | private void ScreenCapture() 629 | { 630 | if (!appendMode) 631 | { 632 | this.ocrout.Text = ""; 633 | } 634 | if (DLL.PrScrn() == 1) 635 | { 636 | if (Clipboard.ContainsImage()) 637 | { 638 | message("处理截图中...", Color.Green); 639 | Image SnapImg = Clipboard.GetImage(); 640 | MemoryStream ImgStream = new MemoryStream(0); 641 | if (SnapImg != null) 642 | { 643 | try 644 | { 645 | SnapImg.Save(ImgStream, ImageFormat.Jpeg); 646 | List tempResult = ocrTools.accurateBasic(ImgStream); 647 | foreach (string line in tempResult) 648 | { 649 | this.ocrout.AppendText(line + Environment.NewLine); 650 | } 651 | message("识别完成!", Color.Green); 652 | CopyClipboard(); 653 | } 654 | catch (Exception err) 655 | { 656 | MessageBox.Show("处理截图文件流失败!" + err.ToString()); 657 | } 658 | 659 | } 660 | else 661 | { 662 | message("错误,无法获取截图", Color.Red); 663 | } 664 | ImgStream.Close(); 665 | } 666 | else 667 | { 668 | message("错误,无法捕获截图", Color.Red); 669 | } 670 | } 671 | else 672 | { 673 | message("用户取消截图", Color.Red); 674 | } 675 | } 676 | 677 | 678 | private void textBox1_DragDrop(object sender, DragEventArgs e) 679 | { 680 | //处理拖动文件 681 | Array aryFiles = ((System.Array)e.Data.GetData(DataFormats.FileDrop)); 682 | if (!appendMode) 683 | { 684 | this.ocrout.Text = ""; 685 | } 686 | bool singleFileFlag = false; 687 | if (aryFiles.Length == 1) 688 | { 689 | singleFileFlag = true; 690 | } 691 | for (int i = 0; i < aryFiles.Length; i++) 692 | { 693 | List tempResult; 694 | string curFilePath = aryFiles.GetValue(i).ToString(); 695 | string curFileName = Path.GetFileName(curFilePath); 696 | string extension = Path.GetExtension(curFilePath).ToLower(); 697 | //message("正在处理 " + curFileName+ '\t' + (i + 1).ToString() + '/' + aryFiles.Length.ToString(), Color.Green); 698 | if (extension == ".jpg" || extension == ".png" || extension == ".bmp") 699 | { 700 | try 701 | { 702 | tempResult = this.ocrTools.accurateBasic(curFilePath); 703 | if (!singleFileFlag) 704 | { 705 | this.ocrout.AppendText("[" + (i + 1).ToString() + "] " + curFileName + ":"); 706 | this.ocrout.AppendText(Environment.NewLine + Environment.NewLine); 707 | } 708 | foreach (string line in tempResult) 709 | { 710 | this.ocrout.AppendText(line + Environment.NewLine); 711 | } 712 | } 713 | catch (Exception err) 714 | { 715 | MessageBox.Show("处理图片失败\n" + err.ToString()); 716 | } 717 | } 718 | else 719 | { 720 | this.ocrout.AppendText("[" + (i + 1).ToString() + "] " + curFileName + ":" + "格式不支持!" + Environment.NewLine); 721 | } 722 | this.ocrout.AppendText(Environment.NewLine + Environment.NewLine); 723 | 724 | } 725 | message("转换完成", Color.Green); 726 | CopyClipboard(); 727 | } 728 | 729 | private void textBox1_DragEnter(object sender, DragEventArgs e) 730 | { 731 | if (e.Data.GetDataPresent(DataFormats.FileDrop)) 732 | e.Effect = DragDropEffects.All; //重要代码:表明是所有类型的数据,比如文件路径 733 | else 734 | e.Effect = DragDropEffects.None; 735 | } 736 | 737 | 738 | public void OnHotkey(int HotkeyID) //设置热键的行为 739 | { 740 | if (HotkeyID == Hotkey.Hotkey1) 741 | { 742 | ScreenCapture(); 743 | } 744 | 745 | } 746 | 747 | Hotkey hotkey; 748 | 749 | private void label10_Click(object sender, EventArgs e) 750 | { 751 | System.Diagnostics.Process.Start("https://qg.zyqq.top/"); 752 | } 753 | 754 | 755 | 756 | #endregion 757 | 758 | #region 加载事件 759 | private void main_FormClosed(object sender, FormClosedEventArgs e) //关闭窗口事件 760 | { 761 | //反注册热键 762 | hotkey.UnregisterHotkeys(); 763 | StopCast(); 764 | } 765 | private void main_Load(object sender, EventArgs e) //窗口加载事件 766 | { 767 | 768 | //this.comboBox1.SelectedIndex = 0; 769 | stopCastButton.Enabled = false; 770 | hotkey = new Hotkey(this.Handle); 771 | try 772 | { 773 | Hotkey.Hotkey1 = hotkey.RegisterHotkey(Keys.A, Hotkey.KeyFlags.MOD_ALT); //定义快键(Alt + A) 774 | hotkey.OnHotkey += new HotkeyEventHandler(OnHotkey); 775 | } 776 | catch (Exception) 777 | { 778 | MessageBox.Show("绑定全局热键失败:Alt + A 热键被占用"); 779 | } 780 | } 781 | 782 | #endregion 783 | 784 | } 785 | } 786 | -------------------------------------------------------------------------------- /XXQGAns/main.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 161, 21 125 | 126 | 127 | 44 128 | 129 | 130 | 131 | 132 | AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAABMLAAATCwAAAAAAAAAA 133 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 134 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 135 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 136 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 137 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 138 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 139 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 140 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 141 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 142 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 143 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 144 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 145 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 146 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 147 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 148 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 149 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 150 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 151 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 152 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 153 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 154 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 155 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 156 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 157 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 158 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 159 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 160 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 161 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 162 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 163 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 164 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 165 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 166 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 167 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 168 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 169 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 170 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 171 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 172 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 173 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 174 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 175 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 176 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 177 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 178 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 179 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 180 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 181 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 182 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 183 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 184 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 185 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8EAAD/GAAA/wwAAP8AAAAAAAAAAAAAAAAAAAAAAAAA 186 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8HAAD/PAAA 187 | /ysAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 188 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 189 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8cAAD/hwAA/9QAAP+dAAD/EQAA 190 | /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 191 | /wAAAP8SAAD/jgAA//AAAP+5AAD/DwAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA 192 | /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 193 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wUAAP9WAAD/zAAA 194 | //wAAP//AAD/9wAA/0kAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 195 | AAAAAAAAAAAAAAAA/wAAAP8AAAD/fwAA//wAAP//AAD/8wAA/0YAAP8AAAD/AAAA/wAAAP8AAAD/AAAA 196 | /x0AAP8xAAD/BwAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 197 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AgAA 198 | /zcAAP+jAAD/7wAA//4AAP/9AAD//wAA//sAAP9QAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 199 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/GgAA/9EAAP//AAD//wAA//QAAP9GAAD/HQAA 200 | /4YAAP9NAAD/AAAA/ykAAP/FAAD/4wAA/2EAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 201 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA 202 | /wAAAP8AAAD/EwAA/30AAP/iAAD/1QAA/6cAAP9oAAD/tgAA//8AAP/6AAD/TgAA/wAAAAAAAAAAAAAA 203 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/2AAAP/6AAD//wAA 204 | //8AAP+5AAD/OgAA/8gAAP//AAD/nAAA/wAAAP98AAD//wAA//8AAP+rAAD/BgAA/wAAAAAAAAAAAAAA 205 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 206 | AAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/1IAAP+hAAD/WgAA/xsAAP8DAAD/AAAA/4sAAP//AAD/+AAA 207 | /0gAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA 208 | /xYAAP/JAAD//wAA//8AAP//AAD/jwAA/3cAAP//AAD/2AAA/0UAAP8GAAD/uQAA//8AAP//AAD/5QAA 209 | /ygAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 210 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8IAAD/BgAA/wAAAAAAAAD/AAAA 211 | /wEAAP+ZAAD//wAA//YAAP9BAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 212 | AAAAAAAAAAD/AAAA/wAAAP9cAAD/+gAA//MAAP/tAAD//wAA/5MAAP88AAD/hQAA/yYAAP8AAAD/CwAA 213 | /6oAAP+uAAD/6QAA//oAAP9SAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 214 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AwAA 215 | /wUAAP8AAAD/AAAA/wAAAP8CAAD/owAA//8AAP/yAAD/OQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 216 | AAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8BAAD/mQAA/+4AAP9WAAD/VwAA//YAAP+nAAD/DAAA 217 | /zsAAP9TAAD/PgAA/wkAAP8dAAD/DQAA/7AAAP//AAD/jwAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA 218 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA 219 | /wAAAP8HAAD/ZwAA/6YAAP+uAAD/cgAA/xwAAP8BAAD/AQAA/5oAAP//AAD/7QAA/zMAAP8AAAAAAAAA 220 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AQAA/2gAAP/fAAD/TAAA 221 | /w4AAP+6AAD/6QAA/4UAAP/cAAD//QAA/+8AAP+MAAD/DAAA/wAAAP90AAD//wAA/8cAAP8RAAD/AAAA 222 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8HAAD/CgAA 223 | /wEAAP8AAAAAAAAA/wAAAP8AAAD/ZgAA//MAAP//AAD//wAA//sAAP/SAAD/eQAA/zkAAP+qAAD//wAA 224 | /+oAAP8tAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 225 | /wAAAP8HAAD/kwAA/+QAAP9YAAD/bwAA//kAAP/8AAD//AAA//8AAP//AAD/zQAA/xcAAP8AAAD/UgAA 226 | //wAAP/rAAD/MgAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 227 | /wAAAP8aAAD/nQAA/7kAAP9DAAD/AAAA/wAAAP8AAAD/AwAA/5MAAP/3AAD//gAA//8AAP//AAD//wAA 228 | //8AAP/rAAD/8gAA//8AAP/nAAD/KQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 229 | AAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/xQAAP+0AAD/8QAA/4sAAP+BAAD/6QAA//8AAP//AAD/+AAA 230 | /10AAP8AAAD/AAAA/zQAAP/sAAD//gAA/2AAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 231 | AAAAAAAAAAAAAAAA/wAAAP8AAAD/dgAA//4AAP//AAD/zgAA/xwAAP8AAAD/AAAA/wAAAP8VAAD/QwAA 232 | /3kAAP+sAAD/2gAA//gAAP//AAD//wAA//8AAP//AAD/9gAA/2EAAP8NAAD/AQAA/wAAAAAAAAAAAAAA 233 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/MQAA/9QAAP/2AAD/ggAA 234 | /0wAAP+5AAD//wAA//cAAP9sAAD/CAAA/wAAAP8RAAD/xgAA//8AAP+cAAD/AwAA/wAAAP8AAAAAAAAA 235 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/BAAA/6wAAP//AAD//wAA//MAAP8+AAD/AAAA 236 | AAAAAAAAAAAAAAAA/wAAAP8AAAD/BAAA/yAAAP9OAAD/hwAA/8kAAP/0AAD//wAA//8AAP/uAAD/xAAA 237 | /30AAP81AAD/CQAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA 238 | /wAAAP9DAAD/4gAA//oAAP+OAAD/KQAA/5gAAP/0AAD/8wAA/6gAAP8uAAD/AAAA/5kAAP//AAD/2AAA 239 | /xsAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wIAAP+iAAD//wAA 240 | //8AAP/9AAD/cAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wIAAP8RAAD/YwAA 241 | /+0AAP//AAD//wAA//8AAP/+AAD/6gAA/68AAP9rAAD/CwAA/wAAAAAAAAAAAAAA/wAAAP8AAAD/CgAA 242 | /w0AAP8AAAD/AAAA/wAAAP8AAAD/AAAA/10AAP/xAAD//AAA/6gAAP8xAAD/VgAA/9AAAP//AAD/0wAA 243 | /18AAP9+AAD//wAA//IAAP8/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 244 | /wAAAP8AAAD/fQAA//8AAP//AAD//wAA/9wAAP84AAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 245 | AAAAAAAAAAD/AAAA/wUAAP+jAAD//wAA//gAAP/sAAD//wAA//8AAP//AAD/6QAA/zEAAP8AAAAAAAAA 246 | AAAAAP8AAAD/EQAA/6MAAP+4AAD/OwAA/wAAAP8AAAAAAAAA/wAAAP8EAAD/hgAA//0AAP//AAD/xQAA 247 | /zQAAP8nAAD/pwAA//oAAP/1AAD/3wAA//4AAP/9AAD/WgAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 248 | AAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/z0AAP/wAAD//wAA//8AAP//AAD/1wAA/10AAP8MAAD/AAAA 249 | AAAAAAAAAAAAAAAAAAAAAP8AAAD/AwAA/xwAAP8fAAD/hgAA//8AAP/jAAD/XgAA/7oAAP/vAAD/7wAA 250 | /6QAAP8RAAD/AAAAAAAAAAAAAAD/AAAA/zwAAP/wAAD//wAA/9gAAP81AAD/AAAA/wAAAP8yAAD/ZwAA 251 | /ysAAP+rAAD//wAA//8AAP/bAAD/TwAA/w0AAP+GAAD/7gAA//8AAP//AAD/+QAA/00AAP8AAAAAAAAA 252 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8SAAD/xgAA//8AAP/rAAD/oAAA 253 | /+UAAP/4AAD/ogAA/x0AAP8AAAD/AAAAAAAAAP8AAAD/AAAA/04AAP/VAAD/4gAA//AAAP//AAD/+gAA 254 | /1gAAP8QAAD/NAAA/zEAAP8QAAD/AAAA/wAAAAAAAAAAAAAA/wAAAP81AAD/7gAA//8AAP//AAD/zQAA 255 | /zYAAP8SAAD/vAAA//8AAP+bAAD/MQAA/9QAAP//AAD//wAA/9cAAP8uAAD/BQAA/z0AAP+xAAD//wAA 256 | //AAAP83AAD/AAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA 257 | /4IAAP/+AAD/gQAA/wQAAP86AAD/uQAA//0AAP/IAAD/XAAA/wkAAP8AAAD/AAAA/wcAAP+4AAD//wAA 258 | //8AAP//AAD//wAA//0AAP9pAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/FwAA 259 | /88AAP/9AAD/9gAA//8AAP+3AAD/cQAA//gAAP//AAD/7gAA/zkAAP9jAAD/+gAA//8AAP//AAD/ZgAA 260 | /wAAAP8AAAD/JwAA/98AAP/8AAD/UAAA/wAAAAAAAAAAAAAA/wAAAP8BAAD/AAAA/wAAAAAAAAAAAAAA 261 | AAAAAAAAAAAAAAAA/wAAAP8zAAD/dAAA/xEAAP8AAAD/AAAA/xcAAP+CAAD/7AAA//UAAP+WAAD/KgAA 262 | /wEAAP8EAAD/dgAA/7QAAP/VAAD//AAA//8AAP/cAAD/KwAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA 263 | AAAAAAAAAAD/AAAA/wAAAP+GAAD/7gAA/4cAAP/OAAD/+AAA/+wAAP//AAD//wAA//cAAP9DAAD/EwAA 264 | /9AAAP//AAD/2gAA/y8AAP8AAAD/AAAA/wwAAP/AAAD//wAA/18AAP8AAAD/AAAAAAAAAP8AAAD/AwAA 265 | /wEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAP8AAAD/BAAA 266 | /0kAAP++AAD/+QAA/94AAP9wAAD/DwAA/wAAAP8EAAD/HgAA/3AAAP/aAAD/9gAA/8AAAP9iAAD/GAAA 267 | /wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/PwAA//MAAP9xAAD/YQAA//kAAP//AAD//wAA 268 | //8AAP/6AAD/TgAA/wAAAP+KAAD/4AAA/2MAAP8AAAD/AAAA/wAAAP8GAAD/rAAA//8AAP+JAAD/AAAA 269 | /wAAAAAAAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 270 | AAAAAAAAAAAAAAAA/wAAAP8AAAD/EgAA/2oAAP/XAAD/+wAA/7EAAP8+AAD/BwAA/wAAAP8CAAD/JwAA 271 | /40AAP/tAAD//QAA/8gAAP9eAAD/CwAA/wAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/xoAAP/aAAD/yAAA 272 | /yEAAP+VAAD/5gAA/+oAAP//AAD/+gAA/1EAAP8AAAD/DwAA/x8AAP8EAAD/AAAA/wAAAP8AAAD/AAAA 273 | /3MAAP//AAD/wgAA/w4AAP8AAAAAAAAA/wAAAP8BAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 274 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/JAAA/5AAAP/pAAD/7wAA 275 | /6EAAP81AAD/AwAA/wAAAP8DAAD/SwAA/8EAAP/8AAD/9wAA/6EAAP8pAAD/AAAA/wAAAAAAAAAAAAAA 276 | /wAAAP8EAAD/pgAA//4AAP9mAAD/CwAA/ycAAP9vAAD//QAA//4AAP9dAAD/AAAAAAAAAAAAAAAAAAAA 277 | AAAAAAAAAAAAAAAA/wAAAP9CAAD/9gAA/+kAAP8tAAD/AAAAAAAAAP8AAAD/AAAA/wAAAP8AAAAAAAAA 278 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 279 | /wAAAP8EAAD/OgAA/6oAAP/3AAD/6wAA/5kAAP84AAD/CQAA/wAAAP8TAAD/fwAA/+4AAP//AAD/0AAA 280 | /0QAAP8AAAD/AAAAAAAAAP8AAAD/AAAA/2cAAP//AAD/2QAA/0UAAP8AAAD/LQAA/+UAAP//AAD/agAA 281 | /wAAAAAAAAD/AAAA/wAAAP8sAAD/ggAA/14AAP8IAAD/FgAA/8wAAP//AAD/XgAA/wAAAAAAAAAAAAAA 282 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA 283 | /wAAAP8AAAD/EwAA/z8AAP8MAAD/AAAA/wAAAP8JAAD/UgAA/7YAAP/tAAD/7gAA/5wAAP9RAAD/EgAA 284 | /wIAAP9ZAAD/3QAA//8AAP/fAAD/VwAA/wIAAP8AAAD/AAAA/wAAAP8zAAD/7AAA//8AAP/aAAD/TAAA 285 | /wwAAP+7AAD//wAA/4EAAP8AAAD/AAAA/wAAAP8OAAD/tgAA//8AAP/tAAD/OAAA/wAAAP9+AAD//wAA 286 | /44AAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 287 | AAAAAAAAAAD/AAAA/wAAAP8AAAD/JgAA/7MAAP/0AAD/dgAA/wAAAP8CAAD/FAAA/wkAAP8HAAD/RgAA 288 | /7IAAP/2AAD/+gAA/8gAAP+HAAD/RAAA/2oAAP/rAAD//wAA/+gAAP9LAAD/AAAA/wAAAP8AAAD/LgAA 289 | /+kAAP//AAD//wAA/84AAP8TAAD/jAAA//8AAP+2AAD/BwAA/wAAAP8AAAD/MgAA/+wAAP//AAD/xgAA 290 | /xoAAP8AAAD/MgAA/+gAAP/bAAD/JQAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 291 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/3YAAP//AAD//wAA/5oAAP8AAAD/HQAA 292 | /74AAP+kAAD/GAAA/wAAAP8MAAD/SwAA/7gAAP/+AAD//wAA//UAAP/YAAD/6QAA//8AAP//AAD/2wAA 293 | /zgAAP8AAAD/AAAA/2wAAP/9AAD//wAA//8AAP/NAAD/EQAA/2QAAP//AAD/1QAA/xYAAP8AAAD/AAAA 294 | /zgAAP/yAAD/8AAA/0wAAP8AAAD/AAAA/wIAAP+GAAD//wAA/4cAAP8BAAD/AgAA/wAAAAAAAAAAAAAA 295 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wEAAP+fAAD//wAA 296 | //IAAP9JAAD/AAAA/wsAAP+qAAD//wAA/4wAAP8IAAD/AAAA/w4AAP+KAAD//gAA//8AAP//AAD//wAA 297 | //8AAP//AAD//wAA//8AAP+XAAD/AQAA/wAAAP98AAD//QAA//4AAP/mAAD/WgAA/wAAAP8/AAD/8wAA 298 | //AAAP82AAD/AAAA/wAAAP8dAAD/0QAA/8gAAP8kAAD/AAAA/wAAAP8AAAD/JgAA/9oAAP/fAAD/KgAA 299 | /wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 300 | /wAAAP8DAAD/qgAA//8AAP+vAAD/CgAA/wAAAP8AAAD/IAAA/68AAP/1AAD/hwAA/2IAAP+7AAD/+gAA 301 | //8AAP//AAD//wAA//8AAP/IAAD/pQAA/9oAAP/QAAD/YAAA/wAAAP8AAAD/FAAA/2IAAP9uAAD/NAAA 302 | /wQAAP8AAAD/FwAA/8wAAP//AAD/bgAA/wAAAP8AAAD/AAAA/00AAP/lAAD/0wAA/4AAAP8WAAD/AAAA 303 | /wEAAP+NAAD//wAA/6EAAP8MAAD/BgAA/wUAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 304 | AAAAAAAAAAAAAAAAAAAAAP8AAAD/BwAA/7MAAP/1AAD/UgAA/y0AAP9+AAD/RQAA/wAAAP8lAAD/3AAA 305 | //8AAP/6AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/zgAA/ycAAP8cAAD/GAAA/wEAAP8AAAAAAAAA 306 | AAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+VAAD//wAA/54AAP8CAAD/AAAA/wAAAP8HAAD/sgAA 307 | //8AAP/+AAD/jQAA/wEAAP8AAAD/MwAA/+YAAP/5AAD/cQAA/wYAAP8EAAD/AAAA/wAAAAAAAAAAAAAA 308 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wwAAP/FAAD/swAA/wsAAP+aAAD//wAA 309 | /9MAAP8wAAD/cgAA//AAAP//AAD//wAA//0AAP/vAAD//gAA/+oAAP/QAAD//QAA//8AAP+YAAD/BwAA 310 | /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/ZwAA//8AAP/fAAD/JAAA 311 | /wAAAP8AAAD/IAAA/9oAAP//AAD/8wAA/2AAAP8AAAD/AAAA/wIAAP+MAAD//wAA/+cAAP8/AAD/AAAA 312 | /wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8CAAD/XgAA 313 | /zkAAP8RAAD/ywAA//8AAP/tAAD/eQAA/8IAAP/UAAD/+AAA//8AAP/nAAD/iwAA//kAAP+oAAD/KQAA 314 | /8kAAP//AAD/8gAA/0wAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AQAA/wUAAP8BAAD/AAAA 315 | /z4AAP/zAAD/+wAA/1gAAP8AAAD/AAAA/x0AAP+oAAD/sQAA/14AAP8IAAD/AAAAAAAAAP8AAAD/HwAA 316 | /8MAAP//AAD/wQAA/xwAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 317 | AAAAAAAAAAD/AAAA/wEAAP8AAAD/NgAA/+4AAP//AAD/uAAA/xQAAP8RAAD/FgAA/30AAP/7AAD/7wAA 318 | /7kAAP/9AAD/awAA/wAAAP9pAAD//AAA//8AAP+hAAD/BgAA/wAAAAAAAAAAAAAAAAAAAP8AAAD/CAAA 319 | /20AAP+yAAD/jQAA/zwAAP84AAD/4AAA//8AAP+jAAD/BAAA/wAAAP8AAAD/BwAA/wUAAP8AAAD/AAAA 320 | AAAAAAAAAAD/AAAA/wAAAP9MAAD/9AAA//8AAP+UAAD/BwAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 321 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/2gAAP//AAD/5QAA/0QAAP8AAAD/AAAA 322 | /wAAAP8cAAD/0wAA//8AAP/IAAD/mwAA/xkAAP8AAAD/FQAA/70AAP//AAD/7wAA/0gAAP8AAAAAAAAA 323 | AAAAAAAAAAD/AAAA/zoAAP/pAAD//wAA//8AAP/0AAD/4AAA//UAAP//AAD/3QAA/yQAAP8AAAD/AAAA 324 | /wAAAP8GAAD/BAAA/wAAAAAAAAAAAAAAAAAAAP8AAAD/CQAA/5sAAP//AAD/8QAA/1AAAP8AAAD/AAAA 325 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP9fAAD/vwAA 326 | /1AAAP8CAAD/AQAA/ycAAP8oAAD/AgAA/4cAAP//AAD/rQAA/xEAAP8AAAD/AAAA/wAAAP9ZAAD/+AAA 327 | //8AAP+jAAD/BgAA/wAAAAAAAAAAAAAA/wAAAP8VAAD/TwAA/20AAP+aAAD/zQAA/+0AAP//AAD//wAA 328 | //4AAP9sAAD/AAAA/wAAAP8yAAD/qQAA/6AAAP9fAAD/NgAA/wsAAP8AAAAAAAAA/wAAAP8iAAD/xQAA 329 | //8AAP/JAAD/HwAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 330 | AAAAAP8AAAD/BgAA/wwAAP8BAAD/AAAA/04AAP/bAAD/4gAA/3MAAP88AAD/3wAA/+4AAP83AAD/AAAA 331 | /wAAAP8AAAD/NwAA/+oAAP//AAD/7QAA/0AAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AwAA 332 | /xAAAP9PAAD/0gAA//4AAP//AAD/hwAA/wAAAP8CAAD/cAAA/+kAAP/+AAD//gAA//AAAP+rAAD/TwAA 333 | /wkAAP8AAAD/AAAA/zcAAP/hAAD//wAA/5AAAP8GAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 334 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wEAAP+AAAD/9QAA//8AAP/5AAD/pAAA 335 | /9QAAP//AAD/agAA/wAAAP8AAAD/DgAA/7AAAP//AAD//wAA//8AAP+EAAD/AAAA/wAAAAAAAAAAAAAA 336 | AAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/yUAAP9uAAD/fAAA/yIAAP8AAAD/AAAA/wgAAP8tAAD/YgAA 337 | /6UAAP/lAAD//wAA//IAAP+eAAD/JgAA/wAAAP8AAAD/dQAA//4AAP/xAAD/SAAA/wAAAAAAAAAAAAAA 338 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/CwAA 339 | /1MAAP/CAAD//gAA//4AAP/+AAD//wAA/5cAAP8BAAD/AAAA/wsAAP+YAAD/9gAA//8AAP//AAD/iQAA 340 | /wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA 341 | /wAAAP8AAAD/AAAA/wAAAP8FAAD/NgAA/48AAP/cAAD//gAA/9gAAP99AAD/LQAA/zEAAP/dAAD//wAA 342 | /5UAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 343 | AAAAAAAAAAAAAAAA/wAAAP8AAAD/HwAA/6IAAP/7AAD//wAA//8AAP+OAAD/AAAA/wAAAP8AAAD/DAAA 344 | /1IAAP+aAAD/hgAA/ycAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 345 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8CAAD/JQAA/4sAAP/mAAD//gAA 346 | /+wAAP/SAAD/8wAA//8AAP+dAAD/AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 347 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8RAAD/mgAA//kAAP//AAD/mgAA 348 | /wgAAP8AAAAAAAAAAAAAAP8AAAD/AQAA/wEAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 349 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 350 | /wAAAP8EAAD/LwAA/4oAAP/bAAD/+AAA//UAAP/WAAD/PQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 351 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA 352 | /xAAAP+yAAD//wAA//YAAP9nAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 353 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 354 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8DAAD/HgAA/0kAAP9GAAD/HwAA/wIAAP8AAAAAAAAA 355 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 356 | AAAAAAAAAAAAAAAA/wAAAP8AAAD/QwAA/+sAAP//AAD/0gAA/x4AAP8AAAAAAAAAAAAAAAAAAAAAAAAA 357 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 358 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAA 359 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 360 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wYAAP+oAAD//wAA//gAAP9MAAD/AAAA 361 | /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 362 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA 363 | /wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 364 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/WwAA 365 | //oAAP/nAAD/NQAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 366 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 367 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 368 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 369 | AAAAAP8AAAD/AAAA/w4AAP9hAAD/UQAA/wUAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 370 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 371 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 372 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 373 | AAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 374 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 375 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 376 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 377 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 378 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 379 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 380 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 381 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 382 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 383 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 384 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 385 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 386 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 387 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 388 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 389 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 390 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 391 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 392 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 393 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 394 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 395 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 396 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 397 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 398 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 399 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 400 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 401 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 402 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 403 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 404 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 405 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 406 | AAAAAAAA//////////////////////////////////////////////////////////////////////// 407 | ///////////////////////////////////////////////////////////H//4//////wP//B/P///+ 408 | A//4Eh///8gD//gCH///0AP/+AIP///wQ//wAA////OD//AED///8IP/4AAP//9AA//AAIf/44AD//AA 409 | h//DgAP/+AGF/8HAAP/8AIP/gfgAP/oAA/+B/wAPiwAD/8D/wA8HAAP/wD8ADwYAA//AHwAfAAAD/+AG 410 | Af8AAMPP4wAB/wAAw8/ngIB/gBHDz//gIB+AESHP//gID4Af4c///AIDwh4B//8jAAHAHBD//0IAAcAM 411 | EL//whAAwAwwH/+CCABBDBhP/4MAAEEOCA//gIAA8wYED/+AAAP/hgwf/4AAA/iGDg//0ABB8AIfB//w 412 | 4EHwAx8H//AA4PADA4P/8QDg/gIAwf/+AMD/wwBh//8AQP/h4AH//8Bg///4AP//4Hn///4B///wf/// 413 | /4H///g/////P///+D////8////8P/////////w//////////f////////////////////////////// 414 | //////////////////////////////////////////////////8= 415 | 416 | 417 | -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/XXQGAns.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/XXQGAns.Properties.Resources.resources -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/XXQGAns.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/XXQGAns.csproj.CopyComplete -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/XXQGAns.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\学习强国挑战答题神器.exe.config 2 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\学习强国挑战答题神器.exe.manifest 3 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\学习强国挑战答题神器.application 4 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\学习强国挑战答题神器.exe 5 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\学习强国挑战答题神器.pdb 6 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\MySql.Data.dll 7 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\MySql.Web.dll 8 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\Newtonsoft.Json.dll 9 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\Google.Protobuf.dll 10 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\BouncyCastle.Crypto.dll 11 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\Ubiety.Dns.Core.dll 12 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\Renci.SshNet.dll 13 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\MySql.Data.xml 14 | D:\VSWorkSpace\XXQGAns\XXQGAns\bin\Debug\MySql.Web.xml 15 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\XXQGAns.login.resources 16 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\XXQGAns.main.resources 17 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\XXQGAns.Properties.Resources.resources 18 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\XXQGAns.csproj.GenerateResource.cache 19 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\学习强国挑战答题神器.exe.manifest 20 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\学习强国挑战答题神器.application 21 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\XXQGAns.csproj.CopyComplete 22 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\学习强国挑战答题神器.exe 23 | D:\VSWorkSpace\XXQGAns\XXQGAns\obj\Debug\学习强国挑战答题神器.pdb 24 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\学习强国挑战答题神器.exe.config 25 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\学习强国挑战答题神器.exe.manifest 26 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\学习强国挑战答题神器.application 27 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\学习强国挑战答题神器.exe 28 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\学习强国挑战答题神器.pdb 29 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\MySql.Data.dll 30 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\MySql.Web.dll 31 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\Newtonsoft.Json.dll 32 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\Google.Protobuf.dll 33 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\BouncyCastle.Crypto.dll 34 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\Ubiety.Dns.Core.dll 35 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\Renci.SshNet.dll 36 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\MySql.Data.xml 37 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\bin\Debug\MySql.Web.xml 38 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\XXQGAns.csprojAssemblyReference.cache 39 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\XXQGAns.login.resources 40 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\XXQGAns.main.resources 41 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\XXQGAns.Properties.Resources.resources 42 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\XXQGAns.csproj.GenerateResource.cache 43 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\学习强国挑战答题神器.exe.manifest 44 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\学习强国挑战答题神器.application 45 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\XXQGAns.csproj.CopyComplete 46 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\学习强国挑战答题神器.exe 47 | C:\Users\43196\Desktop\XXQGAns\xxqg\XXQGAns\obj\Debug\学习强国挑战答题神器.pdb 48 | -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/XXQGAns.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/XXQGAns.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/XXQGAns.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/XXQGAns.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/XXQGAns.login.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/XXQGAns.login.resources -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/XXQGAns.main.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/XXQGAns.main.resources -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/学习强国挑战答题神器.application: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | enCFFCjPWKvJUuzVQ78kKek1kGFeYezbtYohw6iXkQY= 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/学习强国挑战答题神器.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/学习强国挑战答题神器.exe -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/学习强国挑战答题神器.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | g9XzK0Ar9gtq6r20XP7q4pKypZDp01G/gHLPQ2WGhKs= 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | kADPyyfSH/HZ9xlrZ47Mk76YryoUJUwDpVQxiJHmyyM= 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | R6wOQRKlUz34RZOm7yRfiaNMR6yVIWVCYVtt9iBYZzA= 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 9IKFgUgZQ73KHDK8yOdPriJemd7bt01eN60VR7DSO2c= 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | kADPyyfSH/HZ9xlrZ47Mk76YryoUJUwDpVQxiJHmyyM= 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | RwXgz7yT3nL2lqWsqsQgebbC4Ewtgg/pNolrIvmuxpc= 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | GUHS+OFx1101tsQAmSxc2HiZ6DFfxLEUn0Es0Znho/o= 116 | 117 | 118 | -------------------------------------------------------------------------------- /XXQGAns/obj/Debug/学习强国挑战答题神器.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/summerlotus513/xxqg/68eb640bc9fee2613815deae90de2d7c1afd6bf8/XXQGAns/obj/Debug/学习强国挑战答题神器.pdb --------------------------------------------------------------------------------