();
110 | var objScope = new ManagementScope(ManagementPath.DefaultPath); //For the local Access
111 | objScope.Connect();
112 |
113 | var selectQuery = new SelectQuery();
114 | selectQuery.QueryString = "Select * from win32_Printer";
115 | var MOS = new ManagementObjectSearcher(objScope, selectQuery);
116 | var MOC = MOS.Get();
117 | foreach (var mo in MOC)
118 | {
119 | printers.Add(new { Name = mo["Name"].ToString() });
120 | }
121 |
122 | return JsonConvert.SerializeObject(printers);
123 | }
124 | catch (Exception ex)
125 | {
126 | return JsonConvert.SerializeObject(new { error = ex.Message });
127 | }
128 | }
129 | }
130 | }
131 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | RAW Print Testing
6 |
7 |
8 |
9 |
19 |
20 |
21 |
22 |
RAW Print Testing
23 |
24 |
25 | -
26 | Download & Install RAW Print
27 |
28 | -
29 | Modify address if necessary
30 |
31 |
32 | -
33 | Select Printer
34 |
Error retrieving local printers. RAW Print might not be installed or running or your address is incorrect.
35 |
36 |
37 | -
38 | Send RAW Data to Printer
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
120 |
121 |
122 |
--------------------------------------------------------------------------------
/RawPrint/RawPrinterHelper.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace RawPrint
10 | {
11 | public class RawPrinterHelper
12 | {
13 | // Structure and API declarions:
14 | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
15 | public class DOCINFOA
16 | {
17 | [MarshalAs(UnmanagedType.LPStr)]
18 | public string pDocName;
19 | [MarshalAs(UnmanagedType.LPStr)]
20 | public string pOutputFile;
21 | [MarshalAs(UnmanagedType.LPStr)]
22 | public string pDataType;
23 | }
24 | [DllImport("winspool.Drv", EntryPoint = "OpenPrinterA", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
25 | public static extern bool OpenPrinter([MarshalAs(UnmanagedType.LPStr)] string szPrinter, out IntPtr hPrinter, IntPtr pd);
26 |
27 | [DllImport("winspool.Drv", EntryPoint = "ClosePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
28 | public static extern bool ClosePrinter(IntPtr hPrinter);
29 |
30 | [DllImport("winspool.Drv", EntryPoint = "StartDocPrinterA", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
31 | public static extern bool StartDocPrinter(IntPtr hPrinter, Int32 level, [In, MarshalAs(UnmanagedType.LPStruct)] DOCINFOA di);
32 |
33 | [DllImport("winspool.Drv", EntryPoint = "EndDocPrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
34 | public static extern bool EndDocPrinter(IntPtr hPrinter);
35 |
36 | [DllImport("winspool.Drv", EntryPoint = "StartPagePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
37 | public static extern bool StartPagePrinter(IntPtr hPrinter);
38 |
39 | [DllImport("winspool.Drv", EntryPoint = "EndPagePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
40 | public static extern bool EndPagePrinter(IntPtr hPrinter);
41 |
42 | [DllImport("winspool.Drv", EntryPoint = "WritePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
43 | public static extern bool WritePrinter(IntPtr hPrinter, IntPtr pBytes, Int32 dwCount, out Int32 dwWritten);
44 |
45 | // SendBytesToPrinter()
46 | // When the function is given a printer name and an unmanaged array
47 | // of bytes, the function sends those bytes to the print queue.
48 | // Returns true on success, false on failure.
49 | public static bool SendBytesToPrinter(string szPrinterName, IntPtr pBytes, Int32 dwCount)
50 | {
51 | Int32 dwError = 0, dwWritten = 0;
52 | IntPtr hPrinter = new IntPtr(0);
53 | DOCINFOA di = new DOCINFOA();
54 | bool bSuccess = false; // Assume failure unless you specifically succeed.
55 | di.pDocName = "My C#.NET RAW Document";
56 | di.pDataType = "RAW";
57 |
58 | // Open the printer.
59 | if (OpenPrinter(szPrinterName.Normalize(), out hPrinter, IntPtr.Zero))
60 | {
61 | // Start a document.
62 | if (StartDocPrinter(hPrinter, 1, di))
63 | {
64 | // Start a page.
65 | if (StartPagePrinter(hPrinter))
66 | {
67 | // Write your bytes.
68 | bSuccess = WritePrinter(hPrinter, pBytes, dwCount, out dwWritten);
69 | EndPagePrinter(hPrinter);
70 | }
71 | EndDocPrinter(hPrinter);
72 | }
73 | ClosePrinter(hPrinter);
74 | }
75 | // If you did not succeed, GetLastError may give more information
76 | // about why not.
77 | if (bSuccess == false)
78 | {
79 | dwError = Marshal.GetLastWin32Error();
80 | }
81 | return bSuccess;
82 | }
83 |
84 | public static bool SendFileToPrinter(string szPrinterName, string szFileName)
85 | {
86 | // Open the file.
87 | FileStream fs = new FileStream(szFileName, FileMode.Open);
88 | // Create a BinaryReader on the file.
89 | BinaryReader br = new BinaryReader(fs);
90 | // Dim an array of bytes big enough to hold the file's contents.
91 | Byte[] bytes = new Byte[fs.Length];
92 | bool bSuccess = false;
93 | // Your unmanaged pointer.
94 | IntPtr pUnmanagedBytes = new IntPtr(0);
95 | int nLength;
96 |
97 | nLength = Convert.ToInt32(fs.Length);
98 | // Read the contents of the file into the array.
99 | bytes = br.ReadBytes(nLength);
100 | // Allocate some unmanaged memory for those bytes.
101 | pUnmanagedBytes = Marshal.AllocCoTaskMem(nLength);
102 | // Copy the managed byte array into the unmanaged array.
103 | Marshal.Copy(bytes, 0, pUnmanagedBytes, nLength);
104 | // Send the unmanaged bytes to the printer.
105 | bSuccess = SendBytesToPrinter(szPrinterName, pUnmanagedBytes, nLength);
106 | // Free the unmanaged memory that you allocated earlier.
107 | Marshal.FreeCoTaskMem(pUnmanagedBytes);
108 | return bSuccess;
109 | }
110 |
111 | public static bool SendStringToPrinter(string szPrinterName, string szString)
112 | {
113 | IntPtr pBytes;
114 | Int32 dwCount;
115 | Boolean bSuccess = false;
116 |
117 | // How many characters are in the string?
118 | // Fix from Nicholas Piasecki:
119 | // dwCount = szString.Length;
120 | dwCount = (szString.Length + 1) * Marshal.SystemMaxDBCSCharSize;
121 |
122 | // Assume that the printer is expecting ANSI text, and then convert
123 | // the string to ANSI text.
124 | pBytes = Marshal.StringToCoTaskMemAnsi(szString);
125 | // Send the converted ANSI string to the printer.
126 | bSuccess = SendBytesToPrinter(szPrinterName, pBytes, dwCount);
127 | Marshal.FreeCoTaskMem(pBytes);
128 | return true;
129 | }
130 | }
131 | }
132 |
--------------------------------------------------------------------------------
/RawPrint/ProjectInstaller.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 | 196, 17
125 |
126 |
127 | False
128 |
129 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015/2017 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # Visual Studio 2017 auto generated files
33 | Generated\ Files/
34 |
35 | # MSTest test Results
36 | [Tt]est[Rr]esult*/
37 | [Bb]uild[Ll]og.*
38 |
39 | # NUNIT
40 | *.VisualState.xml
41 | TestResult.xml
42 |
43 | # Build Results of an ATL Project
44 | [Dd]ebugPS/
45 | [Rr]eleasePS/
46 | dlldata.c
47 |
48 | # Benchmark Results
49 | BenchmarkDotNet.Artifacts/
50 |
51 | # .NET Core
52 | project.lock.json
53 | project.fragment.lock.json
54 | artifacts/
55 | **/Properties/launchSettings.json
56 |
57 | # StyleCop
58 | StyleCopReport.xml
59 |
60 | # Files built by Visual Studio
61 | *_i.c
62 | *_p.c
63 | *_i.h
64 | *.ilk
65 | *.meta
66 | *.obj
67 | *.iobj
68 | *.pch
69 | *.pdb
70 | *.ipdb
71 | *.pgc
72 | *.pgd
73 | *.rsp
74 | *.sbr
75 | *.tlb
76 | *.tli
77 | *.tlh
78 | *.tmp
79 | *.tmp_proj
80 | *.log
81 | *.vspscc
82 | *.vssscc
83 | .builds
84 | *.pidb
85 | *.svclog
86 | *.scc
87 |
88 | # Chutzpah Test files
89 | _Chutzpah*
90 |
91 | # Visual C++ cache files
92 | ipch/
93 | *.aps
94 | *.ncb
95 | *.opendb
96 | *.opensdf
97 | *.sdf
98 | *.cachefile
99 | *.VC.db
100 | *.VC.VC.opendb
101 |
102 | # Visual Studio profiler
103 | *.psess
104 | *.vsp
105 | *.vspx
106 | *.sap
107 |
108 | # Visual Studio Trace Files
109 | *.e2e
110 |
111 | # TFS 2012 Local Workspace
112 | $tf/
113 |
114 | # Guidance Automation Toolkit
115 | *.gpState
116 |
117 | # ReSharper is a .NET coding add-in
118 | _ReSharper*/
119 | *.[Rr]e[Ss]harper
120 | *.DotSettings.user
121 |
122 | # JustCode is a .NET coding add-in
123 | .JustCode
124 |
125 | # TeamCity is a build add-in
126 | _TeamCity*
127 |
128 | # DotCover is a Code Coverage Tool
129 | *.dotCover
130 |
131 | # AxoCover is a Code Coverage Tool
132 | .axoCover/*
133 | !.axoCover/settings.json
134 |
135 | # Visual Studio code coverage results
136 | *.coverage
137 | *.coveragexml
138 |
139 | # NCrunch
140 | _NCrunch_*
141 | .*crunch*.local.xml
142 | nCrunchTemp_*
143 |
144 | # MightyMoose
145 | *.mm.*
146 | AutoTest.Net/
147 |
148 | # Web workbench (sass)
149 | .sass-cache/
150 |
151 | # Installshield output folder
152 | [Ee]xpress/
153 |
154 | # DocProject is a documentation generator add-in
155 | DocProject/buildhelp/
156 | DocProject/Help/*.HxT
157 | DocProject/Help/*.HxC
158 | DocProject/Help/*.hhc
159 | DocProject/Help/*.hhk
160 | DocProject/Help/*.hhp
161 | DocProject/Help/Html2
162 | DocProject/Help/html
163 |
164 | # Click-Once directory
165 | publish/
166 |
167 | # Publish Web Output
168 | *.[Pp]ublish.xml
169 | *.azurePubxml
170 | # Note: Comment the next line if you want to checkin your web deploy settings,
171 | # but database connection strings (with potential passwords) will be unencrypted
172 | *.pubxml
173 | *.publishproj
174 |
175 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
176 | # checkin your Azure Web App publish settings, but sensitive information contained
177 | # in these scripts will be unencrypted
178 | PublishScripts/
179 |
180 | # NuGet Packages
181 | *.nupkg
182 | # The packages folder can be ignored because of Package Restore
183 | **/[Pp]ackages/*
184 | # except build/, which is used as an MSBuild target.
185 | !**/[Pp]ackages/build/
186 | # Uncomment if necessary however generally it will be regenerated when needed
187 | #!**/[Pp]ackages/repositories.config
188 | # NuGet v3's project.json files produces more ignorable files
189 | *.nuget.props
190 | *.nuget.targets
191 |
192 | # Microsoft Azure Build Output
193 | csx/
194 | *.build.csdef
195 |
196 | # Microsoft Azure Emulator
197 | ecf/
198 | rcf/
199 |
200 | # Windows Store app package directories and files
201 | AppPackages/
202 | BundleArtifacts/
203 | Package.StoreAssociation.xml
204 | _pkginfo.txt
205 | *.appx
206 |
207 | # Visual Studio cache files
208 | # files ending in .cache can be ignored
209 | *.[Cc]ache
210 | # but keep track of directories ending in .cache
211 | !*.[Cc]ache/
212 |
213 | # Others
214 | ClientBin/
215 | ~$*
216 | *~
217 | *.dbmdl
218 | *.dbproj.schemaview
219 | *.jfm
220 | *.pfx
221 | *.publishsettings
222 | orleans.codegen.cs
223 |
224 | # Including strong name files can present a security risk
225 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
226 | #*.snk
227 |
228 | # Since there are multiple workflows, uncomment next line to ignore bower_components
229 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
230 | #bower_components/
231 |
232 | # RIA/Silverlight projects
233 | Generated_Code/
234 |
235 | # Backup & report files from converting an old project file
236 | # to a newer Visual Studio version. Backup files are not needed,
237 | # because we have git ;-)
238 | _UpgradeReport_Files/
239 | Backup*/
240 | UpgradeLog*.XML
241 | UpgradeLog*.htm
242 | ServiceFabricBackup/
243 | *.rptproj.bak
244 |
245 | # SQL Server files
246 | *.mdf
247 | *.ldf
248 | *.ndf
249 |
250 | # Business Intelligence projects
251 | *.rdl.data
252 | *.bim.layout
253 | *.bim_*.settings
254 | *.rptproj.rsuser
255 |
256 | # Microsoft Fakes
257 | FakesAssemblies/
258 |
259 | # GhostDoc plugin setting file
260 | *.GhostDoc.xml
261 |
262 | # Node.js Tools for Visual Studio
263 | .ntvs_analysis.dat
264 | node_modules/
265 |
266 | # Visual Studio 6 build log
267 | *.plg
268 |
269 | # Visual Studio 6 workspace options file
270 | *.opt
271 |
272 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
273 | *.vbw
274 |
275 | # Visual Studio LightSwitch build output
276 | **/*.HTMLClient/GeneratedArtifacts
277 | **/*.DesktopClient/GeneratedArtifacts
278 | **/*.DesktopClient/ModelManifest.xml
279 | **/*.Server/GeneratedArtifacts
280 | **/*.Server/ModelManifest.xml
281 | _Pvt_Extensions
282 |
283 | # Paket dependency manager
284 | .paket/paket.exe
285 | paket-files/
286 |
287 | # FAKE - F# Make
288 | .fake/
289 |
290 | # JetBrains Rider
291 | .idea/
292 | *.sln.iml
293 |
294 | # CodeRush
295 | .cr/
296 |
297 | # Python Tools for Visual Studio (PTVS)
298 | __pycache__/
299 | *.pyc
300 |
301 | # Cake - Uncomment if you are using it
302 | # tools/**
303 | # !tools/packages.config
304 |
305 | # Tabs Studio
306 | *.tss
307 |
308 | # Telerik's JustMock configuration file
309 | *.jmconfig
310 |
311 | # BizTalk build output
312 | *.btp.cs
313 | *.btm.cs
314 | *.odx.cs
315 | *.xsd.cs
316 |
317 | # OpenCover UI analysis results
318 | OpenCover/
319 |
320 | # Azure Stream Analytics local run output
321 | ASALocalRun/
322 |
323 | # MSBuild Binary and Structured Log
324 | *.binlog
325 |
326 | # NVidia Nsight GPU debugger configuration file
327 | *.nvuser
328 |
329 | # MFractors (Xamarin productivity tool) working folder
330 | .mfractor/
331 |
--------------------------------------------------------------------------------
/css/w3.css:
--------------------------------------------------------------------------------
1 | /* W3.CSS 2.99 Mar 2017 by Jan Egil and Borge Refsnes */
2 | html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}
3 | /* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
4 | html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}
5 | article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}
6 | audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}
7 | audio:not([controls]){display:none;height:0}[hidden],template{display:none}
8 | a{background-color:transparent;-webkit-text-decoration-skip:objects}
9 | a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
10 | dfn{font-style:italic}mark{background:#ff0;color:#000}
11 | small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
12 | sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}
13 | img{border-style:none}svg:not(:root){overflow:hidden}
14 | code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
15 | hr{box-sizing:content-box;height:0;overflow:visible}
16 | button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}
17 | button,input{overflow:visible}button,select{text-transform:none}
18 | button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}
19 | button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0}
20 | button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText}
21 | fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
22 | legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}
23 | [type=checkbox],[type=radio]{padding:0}
24 | [type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
25 | [type=search]{-webkit-appearance:textfield;outline-offset:-2px}
26 | [type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}
27 | ::-webkit-input-placeholder{color:inherit;opacity:0.54}
28 | ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
29 | /* End extract */
30 | html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden}
31 | h1,h2,h3,h4,h5,h6,.w3-slim,.w3-wide{font-family:"Segoe UI",Arial,sans-serif}
32 | h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}
33 | .w3-serif{font-family:"Times New Roman",Times,serif}
34 | h1,h2,h3,h4,h5,h6{font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px}
35 | h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}
36 | hr{border:0;border-top:1px solid #eee;margin:20px 0}
37 | img{margin-bottom:-5px}a{color:inherit}
38 | .w3-image{max-width:100%;height:auto}
39 | .w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}
40 | .w3-table-all{border:1px solid #ccc}
41 | .w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}
42 | .w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}
43 | .w3-table-all tr:nth-child(odd){background-color:#fff}
44 | .w3-table-all tr:nth-child(even){background-color:#f1f1f1}
45 | .w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}
46 | .w3-centered tr th,.w3-centered tr td{text-align:center}
47 | .w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}
48 | .w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px}
49 | .w3-btn,.w3-btn-block,.w3-button{border:none;display:inline-block;outline:0;padding:6px 16px;vertical-align:middle;overflow:hidden;text-decoration:none!important;color:#fff;background-color:#000;text-align:center;cursor:pointer;white-space:nowrap}
50 | .w3-btn:hover,.w3-btn-block:hover,.w3-btn-floating:hover,.w3-btn-floating-large:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}
51 | .w3-button{color:#000;background-color:#f1f1f1;padding:8px 16px}.w3-button:hover{color:#000!important;background-color:#ccc!important}
52 | .w3-btn,.w3-btn-floating,.w3-btn-floating-large,.w3-closenav,.w3-opennav,.w3-btn-block,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
53 | .w3-btn-floating,.w3-btn-floating-large{display:inline-block;text-align:center;color:#fff;background-color:#000;position:relative;overflow:hidden;z-index:1;padding:0;border-radius:50%;cursor:pointer;font-size:24px}
54 | .w3-btn-floating{width:40px;height:40px;line-height:40px}.w3-btn-floating-large{width:56px;height:56px;line-height:56px}
55 | .w3-disabled,.w3-btn:disabled,.w3-button:disabled,.w3-btn-floating:disabled,.w3-btn-floating-large:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none}
56 | .w3-btn.w3-disabled:hover,.w3-btn-block.w3-disabled:hover,.w3-btn:disabled:hover,.w3-btn-floating.w3-disabled:hover,.w3-btn-floating:disabled:hover,
57 | .w3-btn-floating-large.w3-disabled:hover,.w3-btn-floating-large:disabled:hover{box-shadow:none}
58 | .w3-btn-group .w3-btn{float:left}.w3-btn-block{width:100%}
59 | .w3-btn-bar .w3-btn{box-shadow:none;background-color:inherit;color:inherit;float:left}.w3-btn-bar .w3-btn:hover{background-color:#ccc}
60 | .w3-badge,.w3-tag,.w3-sign{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}
61 | .w3-badge{border-radius:50%}
62 | ul.w3-ul{list-style-type:none;padding:0;margin:0}ul.w3-ul li{padding:6px 2px 6px 16px;border-bottom:1px solid #ddd}ul.w3-ul li:last-child{border-bottom:none}
63 | .w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}
64 | .w3-navbar{list-style-type:none;margin:0;padding:0;overflow:hidden}
65 | .w3-navbar li{float:left}.w3-navbar li a,.w3-navitem,.w3-navbar li .w3-btn,.w3-navbar li .w3-input{display:block;padding:8px 16px}.w3-navbar li .w3-btn,.w3-navbar li .w3-input{border:none;outline:none;width:100%}
66 | .w3-navbar li a:hover{color:#000;background-color:#ccc}
67 | .w3-navbar .w3-dropdown-hover,.w3-navbar .w3-dropdown-click{position:static}
68 | .w3-navbar .w3-dropdown-hover:hover,.w3-navbar .w3-dropdown-hover:first-child,.w3-navbar .w3-dropdown-click:hover{background-color:#ccc;color:#000}
69 | .w3-navbar a,.w3-topnav a,.w3-sidenav a,.w3-dropdown-content a,.w3-accordion-content a,.w3-dropnav a,.w3-navblock a{text-decoration:none!important}
70 | .w3-navbar .w3-opennav.w3-right{float:right!important}.w3-topnav{padding:8px 8px}
71 | .w3-navblock .w3-dropdown-hover:hover,.w3-navblock .w3-dropdown-hover:first-child,.w3-navblock .w3-dropdown-click:hover{background-color:#ccc;color:#000}
72 | .w3-navblock .w3-dropdown-hover,.w3-navblock .w3-dropdown-click{width:100%}.w3-navblock .w3-dropdown-hover .w3-dropdown-content,.w3-navblock .w3-dropdown-click .w3-dropdown-content{min-width:100%}
73 | .w3-topnav a{padding:0 8px;border-bottom:3px solid transparent;-webkit-transition:border-bottom .25s;transition:border-bottom .25s}
74 | .w3-topnav a:hover{border-bottom:3px solid #fff}.w3-topnav .w3-dropdown-hover a{border-bottom:0}
75 | .w3-opennav,.w3-closenav{color:inherit}.w3-opennav:hover,.w3-closenav:hover{cursor:pointer;opacity:0.8}
76 | .w3-btn,.w3-btn-floating,.w3-dropnav a,.w3-btn-floating-large,.w3-btn-block, .w3-navbar a,.w3-navblock a,.w3-sidenav a,.w3-pagination li a,.w3-hoverable tbody tr,.w3-hoverable li,
77 | .w3-accordion-content a,.w3-dropdown-content a,.w3-dropdown-click:hover,.w3-dropdown-hover:hover,.w3-opennav,.w3-closenav,.w3-closebtn,*[class*="w3-hover-"]
78 | {-webkit-transition:background-color .25s,color .15s,box-shadow .25s,opacity 0.25s,filter 0.25s,border 0.15s;transition:background-color .25s,color .15s,box-shadow .15s,opacity .25s,filter .25s,border .15s}
79 | .w3-ripple:active{opacity:0.5}.w3-ripple{-webkit-transition:opacity 0s;transition:opacity 0s}
80 | .w3-sidenav,.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
81 | .w3-sidenav a,.w3-navblock a{padding:4px 2px 4px 16px}.w3-sidenav a:hover,.w3-navblock a:hover{background-color:#ccc;color:#000}.w3-sidenav a,.w3-dropnav a,.w3-navblock a{display:block}
82 | .w3-sidenav .w3-dropdown-hover:hover,.w3-sidenav .w3-dropdown-hover:first-child,.w3-sidenav .w3-dropdown-click:hover,.w3-dropnav a:hover{background-color:#ccc;color:#000}
83 | .w3-sidenav .w3-dropdown-hover,.w3-sidenav .w3-dropdown-click,.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
84 | .w3-sidenav .w3-dropdown-hover .w3-dropdown-content,.w3-sidenav .w3-dropdown-click .w3-dropdown-content,.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%}
85 | .w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;background-color:inherit;color:inherit;padding:6px 2px 6px 16px}
86 | .w3-main,#main{transition:margin-left .4s}
87 | .w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
88 | .w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}.w3-closebtn{text-decoration:none;float:right;font-size:24px;font-weight:bold;color:inherit}
89 | .w3-closebtn:hover,.w3-closebtn:focus{color:#000;text-decoration:none;cursor:pointer}
90 | .w3-pagination{display:inline-block;padding:0;margin:0}.w3-pagination li{display:inline}
91 | .w3-pagination li a{text-decoration:none;color:#000;float:left;padding:8px 16px}
92 | .w3-pagination li a:hover{background-color:#ccc}
93 | .w3-input-group,.w3-group{margin-top:24px;margin-bottom:24px}
94 | .w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #808080;width:100%}
95 | .w3-label{color:#009688}.w3-input:not(:valid)~.w3-validate{color:#f44336}
96 | .w3-select{padding:9px 0;width:100%;color:#000;border:1px solid transparent;border-bottom:1px solid #009688}
97 | .w3-select select:focus{color:#000;border:1px solid #009688}.w3-select option[disabled]{color:#009688}
98 | .w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}
99 | .w3-dropdown-hover:hover .w3-dropdown-content{display:block;z-index:1}
100 | .w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
101 | .w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
102 | .w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0}
103 | .w3-dropdown-content a{padding:6px 16px;display:block}
104 | .w3-dropdown-content a:hover{background-color:#ccc}
105 | .w3-accordion{width:100%;cursor:pointer}
106 | .w3-accordion-content{cursor:auto;display:none;position:relative;width:100%;margin:0;padding:0}
107 | .w3-accordion-content a{padding:6px 16px;display:block}.w3-accordion-content a:hover{background-color:#ccc}
108 | .w3-progress-container{width:100%;height:1.5em;position:relative;background-color:#f1f1f1}
109 | .w3-progressbar{background-color:#757575;height:100%;position:absolute;line-height:inherit}
110 | input[type=checkbox].w3-check,input[type=radio].w3-radio{width:24px;height:24px;position:relative;top:6px}
111 | input[type=checkbox].w3-check:checked+.w3-validate,input[type=radio].w3-radio:checked+.w3-validate{color:#009688}
112 | input[type=checkbox].w3-check:disabled+.w3-validate,input[type=radio].w3-radio:disabled+.w3-validate{color:#aaa}
113 | .w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto}
114 | .w3-bar .w3-bar-item{padding:8px 16px;float:left;background-color:inherit;color:inherit;width:auto;border:none;outline:none;display:block}
115 | .w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left}
116 | .w3-bar .w3-button{background-color:inherit;color:inherit;white-space:normal}
117 | .w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;background-color:inherit;color:inherit;border:none;outline:none;white-space:normal}
118 | .w3-bar-block.w3-center .w3-bar-item{text-align:center}
119 | .w3-block{display:block;width:100%}
120 | .w3-responsive{overflow-x:auto}
121 | .w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before,.w3-cell-row:before,.w3-cell-row:after,
122 | .w3-topnav:after,.w3-topnav:before,.w3-clear:after,.w3-clear:before,.w3-btn-group:before,.w3-btn-group:after,.w3-btn-bar:before,.w3-btn-bar:after,.w3-bar:before,.w3-bar:after
123 | {content:"";display:table;clear:both}
124 | .w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%}
125 | .w3-col.s1{width:8.33333%}
126 | .w3-col.s2{width:16.66666%}
127 | .w3-col.s3{width:24.99999%}
128 | .w3-col.s4{width:33.33333%}
129 | .w3-col.s5{width:41.66666%}
130 | .w3-col.s6{width:49.99999%}
131 | .w3-col.s7{width:58.33333%}
132 | .w3-col.s8{width:66.66666%}
133 | .w3-col.s9{width:74.99999%}
134 | .w3-col.s10{width:83.33333%}
135 | .w3-col.s11{width:91.66666%}
136 | .w3-col.s12,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{width:99.99999%}
137 | @media (min-width:601px){
138 | .w3-col.m1{width:8.33333%}
139 | .w3-col.m2{width:16.66666%}
140 | .w3-col.m3,.w3-quarter{width:24.99999%}
141 | .w3-col.m4,.w3-third{width:33.33333%}
142 | .w3-col.m5{width:41.66666%}
143 | .w3-col.m6,.w3-half{width:49.99999%}
144 | .w3-col.m7{width:58.33333%}
145 | .w3-col.m8,.w3-twothird{width:66.66666%}
146 | .w3-col.m9,.w3-threequarter{width:74.99999%}
147 | .w3-col.m10{width:83.33333%}
148 | .w3-col.m11{width:91.66666%}
149 | .w3-col.m12{width:99.99999%}}
150 | @media (min-width:993px){
151 | .w3-col.l1{width:8.33333%}
152 | .w3-col.l2{width:16.66666%}
153 | .w3-col.l3,.w3-quarter{width:24.99999%}
154 | .w3-col.l4,.w3-third{width:33.33333%}
155 | .w3-col.l5{width:41.66666%}
156 | .w3-col.l6,.w3-half{width:49.99999%}
157 | .w3-col.l7{width:58.33333%}
158 | .w3-col.l8,.w3-twothird{width:66.66666%}
159 | .w3-col.l9,.w3-threequarter{width:74.99999%}
160 | .w3-col.l10{width:83.33333%}
161 | .w3-col.l11{width:91.66666%}
162 | .w3-col.l12{width:99.99999%}}
163 | .w3-content{max-width:980px;margin:auto}
164 | .w3-rest{overflow:hidden}
165 | .w3-layout-container,.w3-cell-row{display:table;width:100%}.w3-layout-row{display:table-row}.w3-layout-cell,.w3-layout-col,.w3-cell{display:table-cell}
166 | .w3-layout-top,.w3-cell-top{vertical-align:top}.w3-layout-middle,.w3-cell-middle{vertical-align:middle}.w3-layout-bottom,.w3-cell-bottom{vertical-align:bottom}
167 | .w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important}
168 | @media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px}
169 | .w3-topnav a{display:block}.w3-navbar li:not(.w3-opennav){float:none;width:100%!important}.w3-navbar li.w3-right{float:none!important}
170 | .w3-topnav .w3-dropdown-hover .w3-dropdown-content,.w3-navbar .w3-dropdown-click .w3-dropdown-content,.w3-navbar .w3-dropdown-hover .w3-dropdown-content,.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative}
171 | .w3-topnav,.w3-navbar{text-align:center}.w3-hide-small{display:none!important}.w3-layout-col,.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center}
172 | .w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}}
173 | @media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}
174 | @media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidenav.w3-collapse,.w3-sidebar.w3-collapse{display:block!important}}
175 | @media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}}
176 | @media (max-width:992px){.w3-sidenav.w3-collapse,.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}}
177 | .w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0}
178 | .w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2}
179 | .w3-left{float:left!important}.w3-right{float:right!important}
180 | .w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}
181 | .w3-medium{font-size:15px!important}.w3-large{font-size:18px!important}
182 | .w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}
183 | .w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important}
184 | .w3-vertical{word-break:break-all;line-height:1;text-align:center;width:0.6em}
185 | .w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}
186 | .w3-justify{text-align:justify!important}.w3-center{text-align:center!important}
187 | .w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0}
188 | .w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0}
189 | .w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}
190 | .w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)}
191 | .w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)}
192 | .w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
193 | .w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
194 | .w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none}
195 | .w3-display-position{position:absolute}
196 | .w3-circle{border-radius:50%!important}
197 | .w3-round-small{border-radius:2px!important}.w3-round,.w3-round-medium{border-radius:4px!important}
198 | .w3-round-large{border-radius:8px!important}.w3-round-xlarge{border-radius:16px!important}
199 | .w3-round-xxlarge{border-radius:32px!important}.w3-round-jumbo{border-radius:64px!important}
200 | .w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important}
201 | .w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important}
202 | .w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important}
203 | .w3-margin{margin:16px!important}.w3-margin-0{margin:0!important}
204 | .w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important}
205 | .w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important}
206 | .w3-section{margin-top:16px!important;margin-bottom:16px!important}
207 | .w3-padding-tiny{padding:2px 4px!important}.w3-padding-small{padding:4px 8px!important}
208 | .w3-padding-medium,.w3-padding,.w3-form{padding:8px 16px!important}
209 | .w3-padding-large{padding:12px 24px!important}.w3-padding-xlarge{padding:16px 32px!important}
210 | .w3-padding-xxlarge{padding:24px 48px!important}.w3-padding-jumbo{padding:32px 64px!important}
211 | .w3-padding-4{padding-top:4px!important;padding-bottom:4px!important}
212 | .w3-padding-8{padding-top:8px!important;padding-bottom:8px!important}
213 | .w3-padding-12{padding-top:12px!important;padding-bottom:12px!important}
214 | .w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}
215 | .w3-padding-24{padding-top:24px!important;padding-bottom:24px!important}
216 | .w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}
217 | .w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}
218 | .w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}
219 | .w3-padding-128{padding-top:128px!important;padding-bottom:128px!important}
220 | .w3-padding-0{padding:0!important}
221 | .w3-padding-top{padding-top:8px!important}.w3-padding-bottom{padding-bottom:8px!important}
222 | .w3-padding-left{padding-left:16px!important}.w3-padding-right{padding-right:16px!important}
223 | .w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important}
224 | .w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important}
225 | .w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px}
226 | .w3-spin{animation:w3-spin 2s infinite linear;-webkit-animation:w3-spin 2s infinite linear}
227 | @-webkit-keyframes w3-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}
228 | @keyframes w3-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}
229 | .w3-container{padding:0.01em 16px}
230 | .w3-panel{padding:0.01em 16px;margin-top:16px!important;margin-bottom:16px!important}
231 | .w3-example{background-color:#f1f1f1;padding:0.01em 16px}
232 | .w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px}
233 | .w3-code{line-height:1.4;width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word}
234 | .w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}
235 | .w3-example,.w3-code{margin:20px 0}.w3-card{border:1px solid #ccc}
236 | .w3-card-2,.w3-example{box-shadow:0 2px 4px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)!important}
237 | .w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)!important}
238 | .w3-card-8{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)!important}
239 | .w3-card-12{box-shadow:0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19)!important}
240 | .w3-card-16{box-shadow:0 16px 24px 0 rgba(0,0,0,0.22),0 25px 55px 0 rgba(0,0,0,0.21)!important}
241 | .w3-card-24{box-shadow:0 24px 24px 0 rgba(0,0,0,0.2),0 40px 77px 0 rgba(0,0,0,0.22)!important}
242 | .w3-animate-fading{-webkit-animation:fading 10s infinite;animation:fading 10s infinite}
243 | @-webkit-keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
244 | @keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
245 | .w3-animate-opacity{-webkit-animation:opac 0.8s;animation:opac 0.8s}
246 | @-webkit-keyframes opac{from{opacity:0} to{opacity:1}}
247 | @keyframes opac{from{opacity:0} to{opacity:1}}
248 | .w3-animate-top{position:relative;-webkit-animation:animatetop 0.4s;animation:animatetop 0.4s}
249 | @-webkit-keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
250 | @keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
251 | .w3-animate-left{position:relative;-webkit-animation:animateleft 0.4s;animation:animateleft 0.4s}
252 | @-webkit-keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
253 | @keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
254 | .w3-animate-right{position:relative;-webkit-animation:animateright 0.4s;animation:animateright 0.4s}
255 | @-webkit-keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
256 | @keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
257 | .w3-animate-bottom{position:relative;-webkit-animation:animatebottom 0.4s;animation:animatebottom 0.4s}
258 | @-webkit-keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0px;opacity:1}}
259 | @keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
260 | .w3-animate-zoom {-webkit-animation:animatezoom 0.6s;animation:animatezoom 0.6s}
261 | @-webkit-keyframes animatezoom{from{-webkit-transform:scale(0)} to{-webkit-transform:scale(1)}}
262 | @keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
263 | .w3-animate-input{-webkit-transition:width 0.4s ease-in-out;transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}
264 | .w3-opacity,.w3-hover-opacity:hover{opacity:0.60;-webkit-backface-visibility:hidden}
265 | .w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1;-webkit-backface-visibility:hidden}
266 | .w3-opacity-max{opacity:0.25;-webkit-backface-visibility:hidden}
267 | .w3-opacity-min{opacity:0.75;-webkit-backface-visibility:hidden}
268 | .w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{-webkit-filter:grayscale(100%);filter:grayscale(100%)}
269 | .w3-greyscale,.w3-grayscale{-webkit-filter:grayscale(75%);filter:grayscale(75%)}
270 | .w3-greyscale-min,.w3-grayscale-min{-webkit-filter:grayscale(50%);filter:grayscale(50%)}
271 | .w3-sepia{-webkit-filter:sepia(75%);filter:sepia(75%)}
272 | .w3-sepia-max,.w3-hover-sepia:hover{-webkit-filter:sepia(100%);filter:sepia(100%)}
273 | .w3-sepia-min{-webkit-filter:sepia(50%);filter:sepia(50%)}
274 | .w3-text-shadow{text-shadow:1px 1px 0 #444}.w3-text-shadow-white{text-shadow:1px 1px 0 #ddd}
275 | .w3-transparent{background-color:transparent!important}
276 | .w3-hover-none:hover{box-shadow:none!important;background-color:transparent!important}
277 | /* Colors */
278 | .w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}
279 | .w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important}
280 | .w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important}
281 | .w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important}
282 | .w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important}
283 | .w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important}
284 | .w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important}
285 | .w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important}
286 | .w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important}
287 | .w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important}
288 | .w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important}
289 | .w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important}
290 | .w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important}
291 | .w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}
292 | .w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important}
293 | .w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important}
294 | .w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}
295 | .w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}
296 | .w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important}
297 | .w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important}
298 | .w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important}
299 | .w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important}
300 | .w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important}
301 | .w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important}
302 | .w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important}
303 | .w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important}
304 | .w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important}
305 | .w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important}
306 | .w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important}
307 | .w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important}
308 | .w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important}
309 | .w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important}
310 | .w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important}
311 | .w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important}
312 | .w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important}
313 | .w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important}
314 | .w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important}
315 | .w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important}
316 | .w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important}
317 | .w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important}
318 | .w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important}
319 | .w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important}
320 | .w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important}
321 | .w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important}
322 | .w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important}
323 | .w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important}
324 | .w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important}
325 | .w3-text-red,.w3-hover-text-red:hover{color:#f44336!important}
326 | .w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important}
327 | .w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important}
328 | .w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important}
329 | .w3-text-white,.w3-hover-text-white:hover{color:#fff!important}
330 | .w3-text-black,.w3-hover-text-black:hover{color:#000!important}
331 | .w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important}
332 | .w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important}
333 | .w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important}
334 | .w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important}
335 | .w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important}
336 | .w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important}
337 | .w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important}
338 | .w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important}
339 | .w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important}
340 | .w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important}
341 | .w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important}
342 | .w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important}
343 | .w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important}
344 | .w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important}
345 | .w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important}
346 | .w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important}
347 | .w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important}
348 | .w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important}
349 | .w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important}
350 | .w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important}
351 | .w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important}
352 | .w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important}
353 | .w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important}
354 | .w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important}
355 | .w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important}
356 | .w3-border-black,.w3-hover-border-black:hover{border-color:#000!important}
357 | .w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important}
358 | .w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important}
359 | .w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important}
360 | .w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important}
361 | .w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important}
--------------------------------------------------------------------------------
/Setup1/Setup1.vdproj:
--------------------------------------------------------------------------------
1 | "DeployProject"
2 | {
3 | "VSVersion" = "3:800"
4 | "ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
5 | "IsWebType" = "8:FALSE"
6 | "ProjectName" = "8:Setup1"
7 | "LanguageId" = "3:1033"
8 | "CodePage" = "3:1252"
9 | "UILanguageId" = "3:1033"
10 | "SccProjectName" = "8:"
11 | "SccLocalPath" = "8:"
12 | "SccAuxPath" = "8:"
13 | "SccProvider" = "8:"
14 | "Hierarchy"
15 | {
16 | "Entry"
17 | {
18 | "MsmKey" = "8:_5B4FBE0D2BFAE559D4B454D3BD6DE73A"
19 | "OwnerKey" = "8:_825C198C322D44D7A3B02D3D76904093"
20 | "MsmSig" = "8:_UNDEFINED"
21 | }
22 | "Entry"
23 | {
24 | "MsmKey" = "8:_825C198C322D44D7A3B02D3D76904093"
25 | "OwnerKey" = "8:_UNDEFINED"
26 | "MsmSig" = "8:_UNDEFINED"
27 | }
28 | "Entry"
29 | {
30 | "MsmKey" = "8:_E17651D76D449596A3217A5FB9A9F86E"
31 | "OwnerKey" = "8:_825C198C322D44D7A3B02D3D76904093"
32 | "MsmSig" = "8:_UNDEFINED"
33 | }
34 | "Entry"
35 | {
36 | "MsmKey" = "8:_UNDEFINED"
37 | "OwnerKey" = "8:_825C198C322D44D7A3B02D3D76904093"
38 | "MsmSig" = "8:_UNDEFINED"
39 | }
40 | "Entry"
41 | {
42 | "MsmKey" = "8:_UNDEFINED"
43 | "OwnerKey" = "8:_E17651D76D449596A3217A5FB9A9F86E"
44 | "MsmSig" = "8:_UNDEFINED"
45 | }
46 | "Entry"
47 | {
48 | "MsmKey" = "8:_UNDEFINED"
49 | "OwnerKey" = "8:_5B4FBE0D2BFAE559D4B454D3BD6DE73A"
50 | "MsmSig" = "8:_UNDEFINED"
51 | }
52 | }
53 | "Configurations"
54 | {
55 | "Debug"
56 | {
57 | "DisplayName" = "8:Debug"
58 | "IsDebugOnly" = "11:TRUE"
59 | "IsReleaseOnly" = "11:FALSE"
60 | "OutputFilename" = "8:Debug/RawPrint.msi"
61 | "PackageFilesAs" = "3:2"
62 | "PackageFileSize" = "3:-2147483648"
63 | "CabType" = "3:1"
64 | "Compression" = "3:2"
65 | "SignOutput" = "11:FALSE"
66 | "CertificateFile" = "8:"
67 | "PrivateKeyFile" = "8:"
68 | "TimeStampServer" = "8:"
69 | "InstallerBootstrapper" = "3:2"
70 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
71 | {
72 | "Enabled" = "11:TRUE"
73 | "PromptEnabled" = "11:TRUE"
74 | "PrerequisitesLocation" = "2:1"
75 | "Url" = "8:"
76 | "ComponentsUrl" = "8:"
77 | "Items"
78 | {
79 | "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
80 | {
81 | "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
82 | "ProductCode" = "8:.NETFramework,Version=v4.7.2"
83 | }
84 | }
85 | }
86 | }
87 | "Release"
88 | {
89 | "DisplayName" = "8:Release"
90 | "IsDebugOnly" = "11:FALSE"
91 | "IsReleaseOnly" = "11:TRUE"
92 | "OutputFilename" = "8:RawPrint.msi"
93 | "PackageFilesAs" = "3:2"
94 | "PackageFileSize" = "3:-2147483648"
95 | "CabType" = "3:1"
96 | "Compression" = "3:2"
97 | "SignOutput" = "11:FALSE"
98 | "CertificateFile" = "8:"
99 | "PrivateKeyFile" = "8:"
100 | "TimeStampServer" = "8:"
101 | "InstallerBootstrapper" = "3:2"
102 | "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
103 | {
104 | "Enabled" = "11:TRUE"
105 | "PromptEnabled" = "11:TRUE"
106 | "PrerequisitesLocation" = "2:1"
107 | "Url" = "8:"
108 | "ComponentsUrl" = "8:"
109 | "Items"
110 | {
111 | "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
112 | {
113 | "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
114 | "ProductCode" = "8:.NETFramework,Version=v4.7.2"
115 | }
116 | }
117 | }
118 | }
119 | }
120 | "Deployable"
121 | {
122 | "CustomAction"
123 | {
124 | "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_0690B3A9D79447CC8E05BFB826E17318"
125 | {
126 | "Name" = "8:Primary output from RawPrint (Active)"
127 | "Condition" = "8:"
128 | "Object" = "8:_825C198C322D44D7A3B02D3D76904093"
129 | "FileType" = "3:2"
130 | "InstallAction" = "3:2"
131 | "Arguments" = "8:"
132 | "EntryPoint" = "8:"
133 | "Sequence" = "3:1"
134 | "Identifier" = "8:_6409F5EF_D51D_4178_B7A6_4EE32FE5FE4F"
135 | "InstallerClass" = "11:TRUE"
136 | "CustomActionData" = "8:"
137 | }
138 | "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_5FAD2FDD5B484E18A79AF0FB2870D84A"
139 | {
140 | "Name" = "8:Primary output from RawPrint (Active)"
141 | "Condition" = "8:"
142 | "Object" = "8:_825C198C322D44D7A3B02D3D76904093"
143 | "FileType" = "3:2"
144 | "InstallAction" = "3:1"
145 | "Arguments" = "8:"
146 | "EntryPoint" = "8:"
147 | "Sequence" = "3:1"
148 | "Identifier" = "8:_546C40E2_4041_4D2E_A747_BE464AEF8A70"
149 | "InstallerClass" = "11:TRUE"
150 | "CustomActionData" = "8:"
151 | }
152 | "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_798E0F53E05449D785C204E204B8B79E"
153 | {
154 | "Name" = "8:Primary output from RawPrint (Active)"
155 | "Condition" = "8:"
156 | "Object" = "8:_825C198C322D44D7A3B02D3D76904093"
157 | "FileType" = "3:2"
158 | "InstallAction" = "3:3"
159 | "Arguments" = "8:"
160 | "EntryPoint" = "8:"
161 | "Sequence" = "3:1"
162 | "Identifier" = "8:_30DD9991_D7DF_40DC_AF5B_270F5A727E51"
163 | "InstallerClass" = "11:TRUE"
164 | "CustomActionData" = "8:"
165 | }
166 | "{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_AE6DBEBD70BB46278C611F460C91E2D0"
167 | {
168 | "Name" = "8:Primary output from RawPrint (Active)"
169 | "Condition" = "8:"
170 | "Object" = "8:_825C198C322D44D7A3B02D3D76904093"
171 | "FileType" = "3:2"
172 | "InstallAction" = "3:4"
173 | "Arguments" = "8:"
174 | "EntryPoint" = "8:"
175 | "Sequence" = "3:1"
176 | "Identifier" = "8:_A9BF13E3_43D1_4A2D_882F_830222F183F3"
177 | "InstallerClass" = "11:TRUE"
178 | "CustomActionData" = "8:"
179 | }
180 | }
181 | "DefaultFeature"
182 | {
183 | "Name" = "8:DefaultFeature"
184 | "Title" = "8:"
185 | "Description" = "8:"
186 | }
187 | "ExternalPersistence"
188 | {
189 | "LaunchCondition"
190 | {
191 | "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_89930F9821344795ABE51BC0F660C268"
192 | {
193 | "Name" = "8:.NET Framework"
194 | "Message" = "8:[VSDNETMSG]"
195 | "FrameworkVersion" = "8:.NETFramework,Version=v4.6.1"
196 | "AllowLaterVersions" = "11:FALSE"
197 | "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=671728"
198 | }
199 | }
200 | }
201 | "File"
202 | {
203 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5B4FBE0D2BFAE559D4B454D3BD6DE73A"
204 | {
205 | "AssemblyRegister" = "3:1"
206 | "AssemblyIsInGAC" = "11:FALSE"
207 | "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
208 | "ScatterAssemblies"
209 | {
210 | "_5B4FBE0D2BFAE559D4B454D3BD6DE73A"
211 | {
212 | "Name" = "8:System.Net.Http.dll"
213 | "Attributes" = "3:512"
214 | }
215 | }
216 | "SourcePath" = "8:System.Net.Http.dll"
217 | "TargetName" = "8:"
218 | "Tag" = "8:"
219 | "Folder" = "8:_E7E4433B81D3431090338ACD7F522668"
220 | "Condition" = "8:"
221 | "Transitive" = "11:FALSE"
222 | "Vital" = "11:TRUE"
223 | "ReadOnly" = "11:FALSE"
224 | "Hidden" = "11:FALSE"
225 | "System" = "11:FALSE"
226 | "Permanent" = "11:FALSE"
227 | "SharedLegacy" = "11:FALSE"
228 | "PackageAs" = "3:1"
229 | "Register" = "3:1"
230 | "Exclude" = "11:FALSE"
231 | "IsDependency" = "11:TRUE"
232 | "IsolateTo" = "8:"
233 | }
234 | "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E17651D76D449596A3217A5FB9A9F86E"
235 | {
236 | "AssemblyRegister" = "3:1"
237 | "AssemblyIsInGAC" = "11:FALSE"
238 | "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"
239 | "ScatterAssemblies"
240 | {
241 | "_E17651D76D449596A3217A5FB9A9F86E"
242 | {
243 | "Name" = "8:Newtonsoft.Json.dll"
244 | "Attributes" = "3:512"
245 | }
246 | }
247 | "SourcePath" = "8:Newtonsoft.Json.dll"
248 | "TargetName" = "8:"
249 | "Tag" = "8:"
250 | "Folder" = "8:_E7E4433B81D3431090338ACD7F522668"
251 | "Condition" = "8:"
252 | "Transitive" = "11:FALSE"
253 | "Vital" = "11:TRUE"
254 | "ReadOnly" = "11:FALSE"
255 | "Hidden" = "11:FALSE"
256 | "System" = "11:FALSE"
257 | "Permanent" = "11:FALSE"
258 | "SharedLegacy" = "11:FALSE"
259 | "PackageAs" = "3:1"
260 | "Register" = "3:1"
261 | "Exclude" = "11:FALSE"
262 | "IsDependency" = "11:TRUE"
263 | "IsolateTo" = "8:"
264 | }
265 | }
266 | "FileType"
267 | {
268 | }
269 | "Folder"
270 | {
271 | "{1525181F-901A-416C-8A58-119130FE478E}:_8A2DFF6EB062482AA591DD20DE9001BE"
272 | {
273 | "Name" = "8:#1919"
274 | "AlwaysCreate" = "11:FALSE"
275 | "Condition" = "8:"
276 | "Transitive" = "11:FALSE"
277 | "Property" = "8:ProgramMenuFolder"
278 | "Folders"
279 | {
280 | }
281 | }
282 | "{1525181F-901A-416C-8A58-119130FE478E}:_B1A1678C7F714DAE97685F9AA54E8905"
283 | {
284 | "Name" = "8:#1916"
285 | "AlwaysCreate" = "11:FALSE"
286 | "Condition" = "8:"
287 | "Transitive" = "11:FALSE"
288 | "Property" = "8:DesktopFolder"
289 | "Folders"
290 | {
291 | }
292 | }
293 | "{3C67513D-01DD-4637-8A68-80971EB9504F}:_E7E4433B81D3431090338ACD7F522668"
294 | {
295 | "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
296 | "Name" = "8:#1925"
297 | "AlwaysCreate" = "11:FALSE"
298 | "Condition" = "8:"
299 | "Transitive" = "11:FALSE"
300 | "Property" = "8:TARGETDIR"
301 | "Folders"
302 | {
303 | }
304 | }
305 | }
306 | "LaunchCondition"
307 | {
308 | }
309 | "Locator"
310 | {
311 | }
312 | "MsiBootstrapper"
313 | {
314 | "LangId" = "3:1033"
315 | "RequiresElevation" = "11:FALSE"
316 | }
317 | "Product"
318 | {
319 | "Name" = "8:Microsoft Visual Studio"
320 | "ProductName" = "8:RAW Print"
321 | "ProductCode" = "8:{A92EB5FC-CB78-41A3-A619-1D4CF2F33F74}"
322 | "PackageCode" = "8:{7A8C2F39-4FEA-40DF-8DC2-D321A3F75EE7}"
323 | "UpgradeCode" = "8:{A113521F-54F1-427D-B29C-2721E2AA9D10}"
324 | "AspNetVersion" = "8:4.0.30319.0"
325 | "RestartWWWService" = "11:FALSE"
326 | "RemovePreviousVersions" = "11:FALSE"
327 | "DetectNewerInstalledVersion" = "11:TRUE"
328 | "InstallAllUsers" = "11:FALSE"
329 | "ProductVersion" = "8:1.0.0"
330 | "Manufacturer" = "8:TreHoffman Technologies"
331 | "ARPHELPTELEPHONE" = "8:"
332 | "ARPHELPLINK" = "8:"
333 | "Title" = "8:RAW Print Setup"
334 | "Subject" = "8:"
335 | "ARPCONTACT" = "8:TreHoffman Technologies"
336 | "Keywords" = "8:"
337 | "ARPCOMMENTS" = "8:"
338 | "ARPURLINFOABOUT" = "8:"
339 | "ARPPRODUCTICON" = "8:"
340 | "ARPIconIndex" = "3:0"
341 | "SearchPath" = "8:"
342 | "UseSystemSearchPath" = "11:TRUE"
343 | "TargetPlatform" = "3:0"
344 | "PreBuildEvent" = "8:"
345 | "PostBuildEvent" = "8:"
346 | "RunPostBuildEvent" = "3:0"
347 | }
348 | "Registry"
349 | {
350 | "HKLM"
351 | {
352 | "Keys"
353 | {
354 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EC6E913B55454BF68E2DBD5DA9C3290A"
355 | {
356 | "Name" = "8:Software"
357 | "Condition" = "8:"
358 | "AlwaysCreate" = "11:FALSE"
359 | "DeleteAtUninstall" = "11:FALSE"
360 | "Transitive" = "11:FALSE"
361 | "Keys"
362 | {
363 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_94D157FE5DF7434886BDDBBDF638B4CE"
364 | {
365 | "Name" = "8:[Manufacturer]"
366 | "Condition" = "8:"
367 | "AlwaysCreate" = "11:FALSE"
368 | "DeleteAtUninstall" = "11:FALSE"
369 | "Transitive" = "11:FALSE"
370 | "Keys"
371 | {
372 | }
373 | "Values"
374 | {
375 | }
376 | }
377 | }
378 | "Values"
379 | {
380 | }
381 | }
382 | }
383 | }
384 | "HKCU"
385 | {
386 | "Keys"
387 | {
388 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2BD95440B8F34BD0A42F38823AFDC7E1"
389 | {
390 | "Name" = "8:Software"
391 | "Condition" = "8:"
392 | "AlwaysCreate" = "11:FALSE"
393 | "DeleteAtUninstall" = "11:FALSE"
394 | "Transitive" = "11:FALSE"
395 | "Keys"
396 | {
397 | "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7B6FD9227F5A489DBC3DB9587877F104"
398 | {
399 | "Name" = "8:[Manufacturer]"
400 | "Condition" = "8:"
401 | "AlwaysCreate" = "11:FALSE"
402 | "DeleteAtUninstall" = "11:FALSE"
403 | "Transitive" = "11:FALSE"
404 | "Keys"
405 | {
406 | }
407 | "Values"
408 | {
409 | }
410 | }
411 | }
412 | "Values"
413 | {
414 | }
415 | }
416 | }
417 | }
418 | "HKCR"
419 | {
420 | "Keys"
421 | {
422 | }
423 | }
424 | "HKU"
425 | {
426 | "Keys"
427 | {
428 | }
429 | }
430 | "HKPU"
431 | {
432 | "Keys"
433 | {
434 | }
435 | }
436 | }
437 | "Sequences"
438 | {
439 | }
440 | "Shortcut"
441 | {
442 | }
443 | "UserInterface"
444 | {
445 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_02197D8E1BFF4AB680B4ADC8F76F5E45"
446 | {
447 | "Name" = "8:#1900"
448 | "Sequence" = "3:1"
449 | "Attributes" = "3:1"
450 | "Dialogs"
451 | {
452 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1B7222B59F0D44A494B5B57E4490FD99"
453 | {
454 | "Sequence" = "3:200"
455 | "DisplayName" = "8:Installation Folder"
456 | "UseDynamicProperties" = "11:TRUE"
457 | "IsDependency" = "11:FALSE"
458 | "SourcePath" = "8:\\VsdFolderDlg.wid"
459 | "Properties"
460 | {
461 | "BannerBitmap"
462 | {
463 | "Name" = "8:BannerBitmap"
464 | "DisplayName" = "8:#1001"
465 | "Description" = "8:#1101"
466 | "Type" = "3:8"
467 | "ContextData" = "8:Bitmap"
468 | "Attributes" = "3:4"
469 | "Setting" = "3:1"
470 | "UsePlugInResources" = "11:TRUE"
471 | }
472 | "InstallAllUsersVisible"
473 | {
474 | "Name" = "8:InstallAllUsersVisible"
475 | "DisplayName" = "8:#1059"
476 | "Description" = "8:#1159"
477 | "Type" = "3:5"
478 | "ContextData" = "8:1;True=1;False=0"
479 | "Attributes" = "3:0"
480 | "Setting" = "3:0"
481 | "Value" = "3:1"
482 | "DefaultValue" = "3:1"
483 | "UsePlugInResources" = "11:TRUE"
484 | }
485 | }
486 | }
487 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_221DCC1E667F4DD599F3C713F97527C2"
488 | {
489 | "Sequence" = "3:100"
490 | "DisplayName" = "8:Welcome"
491 | "UseDynamicProperties" = "11:TRUE"
492 | "IsDependency" = "11:FALSE"
493 | "SourcePath" = "8:\\VsdWelcomeDlg.wid"
494 | "Properties"
495 | {
496 | "BannerBitmap"
497 | {
498 | "Name" = "8:BannerBitmap"
499 | "DisplayName" = "8:#1001"
500 | "Description" = "8:#1101"
501 | "Type" = "3:8"
502 | "ContextData" = "8:Bitmap"
503 | "Attributes" = "3:4"
504 | "Setting" = "3:1"
505 | "UsePlugInResources" = "11:TRUE"
506 | }
507 | "CopyrightWarning"
508 | {
509 | "Name" = "8:CopyrightWarning"
510 | "DisplayName" = "8:#1002"
511 | "Description" = "8:#1102"
512 | "Type" = "3:3"
513 | "ContextData" = "8:"
514 | "Attributes" = "3:0"
515 | "Setting" = "3:1"
516 | "Value" = "8:#1202"
517 | "DefaultValue" = "8:#1202"
518 | "UsePlugInResources" = "11:TRUE"
519 | }
520 | "Welcome"
521 | {
522 | "Name" = "8:Welcome"
523 | "DisplayName" = "8:#1003"
524 | "Description" = "8:#1103"
525 | "Type" = "3:3"
526 | "ContextData" = "8:"
527 | "Attributes" = "3:0"
528 | "Setting" = "3:1"
529 | "Value" = "8:#1203"
530 | "DefaultValue" = "8:#1203"
531 | "UsePlugInResources" = "11:TRUE"
532 | }
533 | }
534 | }
535 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_96B34E91881642979E148C69CE4DBFFA"
536 | {
537 | "Sequence" = "3:300"
538 | "DisplayName" = "8:Confirm Installation"
539 | "UseDynamicProperties" = "11:TRUE"
540 | "IsDependency" = "11:FALSE"
541 | "SourcePath" = "8:\\VsdConfirmDlg.wid"
542 | "Properties"
543 | {
544 | "BannerBitmap"
545 | {
546 | "Name" = "8:BannerBitmap"
547 | "DisplayName" = "8:#1001"
548 | "Description" = "8:#1101"
549 | "Type" = "3:8"
550 | "ContextData" = "8:Bitmap"
551 | "Attributes" = "3:4"
552 | "Setting" = "3:1"
553 | "UsePlugInResources" = "11:TRUE"
554 | }
555 | }
556 | }
557 | }
558 | }
559 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_1F3D5F3364514E9CAC70ED6CC832F0CF"
560 | {
561 | "UseDynamicProperties" = "11:FALSE"
562 | "IsDependency" = "11:FALSE"
563 | "SourcePath" = "8:\\VsdUserInterface.wim"
564 | }
565 | "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_2A8692DDD48B46A8984951E3565D85EA"
566 | {
567 | "UseDynamicProperties" = "11:FALSE"
568 | "IsDependency" = "11:FALSE"
569 | "SourcePath" = "8:\\VsdBasicDialogs.wim"
570 | }
571 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_76C95506D31146EAAB62F496FFBDB42C"
572 | {
573 | "Name" = "8:#1900"
574 | "Sequence" = "3:2"
575 | "Attributes" = "3:1"
576 | "Dialogs"
577 | {
578 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2511DE9741094C8F8F173E3E11FA0686"
579 | {
580 | "Sequence" = "3:200"
581 | "DisplayName" = "8:Installation Folder"
582 | "UseDynamicProperties" = "11:TRUE"
583 | "IsDependency" = "11:FALSE"
584 | "SourcePath" = "8:\\VsdAdminFolderDlg.wid"
585 | "Properties"
586 | {
587 | "BannerBitmap"
588 | {
589 | "Name" = "8:BannerBitmap"
590 | "DisplayName" = "8:#1001"
591 | "Description" = "8:#1101"
592 | "Type" = "3:8"
593 | "ContextData" = "8:Bitmap"
594 | "Attributes" = "3:4"
595 | "Setting" = "3:1"
596 | "UsePlugInResources" = "11:TRUE"
597 | }
598 | }
599 | }
600 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6CAFC7AC97F140E88C5E8DDA6A93DDD9"
601 | {
602 | "Sequence" = "3:300"
603 | "DisplayName" = "8:Confirm Installation"
604 | "UseDynamicProperties" = "11:TRUE"
605 | "IsDependency" = "11:FALSE"
606 | "SourcePath" = "8:\\VsdAdminConfirmDlg.wid"
607 | "Properties"
608 | {
609 | "BannerBitmap"
610 | {
611 | "Name" = "8:BannerBitmap"
612 | "DisplayName" = "8:#1001"
613 | "Description" = "8:#1101"
614 | "Type" = "3:8"
615 | "ContextData" = "8:Bitmap"
616 | "Attributes" = "3:4"
617 | "Setting" = "3:1"
618 | "UsePlugInResources" = "11:TRUE"
619 | }
620 | }
621 | }
622 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EC82F293D9524B349931A97199E1E3B6"
623 | {
624 | "Sequence" = "3:100"
625 | "DisplayName" = "8:Welcome"
626 | "UseDynamicProperties" = "11:TRUE"
627 | "IsDependency" = "11:FALSE"
628 | "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid"
629 | "Properties"
630 | {
631 | "BannerBitmap"
632 | {
633 | "Name" = "8:BannerBitmap"
634 | "DisplayName" = "8:#1001"
635 | "Description" = "8:#1101"
636 | "Type" = "3:8"
637 | "ContextData" = "8:Bitmap"
638 | "Attributes" = "3:4"
639 | "Setting" = "3:1"
640 | "UsePlugInResources" = "11:TRUE"
641 | }
642 | "CopyrightWarning"
643 | {
644 | "Name" = "8:CopyrightWarning"
645 | "DisplayName" = "8:#1002"
646 | "Description" = "8:#1102"
647 | "Type" = "3:3"
648 | "ContextData" = "8:"
649 | "Attributes" = "3:0"
650 | "Setting" = "3:1"
651 | "Value" = "8:#1202"
652 | "DefaultValue" = "8:#1202"
653 | "UsePlugInResources" = "11:TRUE"
654 | }
655 | "Welcome"
656 | {
657 | "Name" = "8:Welcome"
658 | "DisplayName" = "8:#1003"
659 | "Description" = "8:#1103"
660 | "Type" = "3:3"
661 | "ContextData" = "8:"
662 | "Attributes" = "3:0"
663 | "Setting" = "3:1"
664 | "Value" = "8:#1203"
665 | "DefaultValue" = "8:#1203"
666 | "UsePlugInResources" = "11:TRUE"
667 | }
668 | }
669 | }
670 | }
671 | }
672 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_7FADA242FEF14FF488FA0D7EE94243CB"
673 | {
674 | "Name" = "8:#1902"
675 | "Sequence" = "3:1"
676 | "Attributes" = "3:3"
677 | "Dialogs"
678 | {
679 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CF42BBFCD89C4AC48C3AEF19874C0C18"
680 | {
681 | "Sequence" = "3:100"
682 | "DisplayName" = "8:Finished"
683 | "UseDynamicProperties" = "11:TRUE"
684 | "IsDependency" = "11:FALSE"
685 | "SourcePath" = "8:\\VsdFinishedDlg.wid"
686 | "Properties"
687 | {
688 | "BannerBitmap"
689 | {
690 | "Name" = "8:BannerBitmap"
691 | "DisplayName" = "8:#1001"
692 | "Description" = "8:#1101"
693 | "Type" = "3:8"
694 | "ContextData" = "8:Bitmap"
695 | "Attributes" = "3:4"
696 | "Setting" = "3:1"
697 | "UsePlugInResources" = "11:TRUE"
698 | }
699 | "UpdateText"
700 | {
701 | "Name" = "8:UpdateText"
702 | "DisplayName" = "8:#1058"
703 | "Description" = "8:#1158"
704 | "Type" = "3:15"
705 | "ContextData" = "8:"
706 | "Attributes" = "3:0"
707 | "Setting" = "3:1"
708 | "Value" = "8:#1258"
709 | "DefaultValue" = "8:#1258"
710 | "UsePlugInResources" = "11:TRUE"
711 | }
712 | }
713 | }
714 | }
715 | }
716 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_916E5C2C0BAB4413BA7AF7E1D62254D5"
717 | {
718 | "Name" = "8:#1901"
719 | "Sequence" = "3:1"
720 | "Attributes" = "3:2"
721 | "Dialogs"
722 | {
723 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A7863A75B2DB47E4A2FA914773B859F8"
724 | {
725 | "Sequence" = "3:100"
726 | "DisplayName" = "8:Progress"
727 | "UseDynamicProperties" = "11:TRUE"
728 | "IsDependency" = "11:FALSE"
729 | "SourcePath" = "8:\\VsdProgressDlg.wid"
730 | "Properties"
731 | {
732 | "BannerBitmap"
733 | {
734 | "Name" = "8:BannerBitmap"
735 | "DisplayName" = "8:#1001"
736 | "Description" = "8:#1101"
737 | "Type" = "3:8"
738 | "ContextData" = "8:Bitmap"
739 | "Attributes" = "3:4"
740 | "Setting" = "3:1"
741 | "UsePlugInResources" = "11:TRUE"
742 | }
743 | "ShowProgress"
744 | {
745 | "Name" = "8:ShowProgress"
746 | "DisplayName" = "8:#1009"
747 | "Description" = "8:#1109"
748 | "Type" = "3:5"
749 | "ContextData" = "8:1;True=1;False=0"
750 | "Attributes" = "3:0"
751 | "Setting" = "3:0"
752 | "Value" = "3:1"
753 | "DefaultValue" = "3:1"
754 | "UsePlugInResources" = "11:TRUE"
755 | }
756 | }
757 | }
758 | }
759 | }
760 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_AC34B9C3448E4888B6478BC8D6965CD5"
761 | {
762 | "Name" = "8:#1902"
763 | "Sequence" = "3:2"
764 | "Attributes" = "3:3"
765 | "Dialogs"
766 | {
767 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0EFF3CE699594D5FA6E832E43108E7FF"
768 | {
769 | "Sequence" = "3:100"
770 | "DisplayName" = "8:Finished"
771 | "UseDynamicProperties" = "11:TRUE"
772 | "IsDependency" = "11:FALSE"
773 | "SourcePath" = "8:\\VsdAdminFinishedDlg.wid"
774 | "Properties"
775 | {
776 | "BannerBitmap"
777 | {
778 | "Name" = "8:BannerBitmap"
779 | "DisplayName" = "8:#1001"
780 | "Description" = "8:#1101"
781 | "Type" = "3:8"
782 | "ContextData" = "8:Bitmap"
783 | "Attributes" = "3:4"
784 | "Setting" = "3:1"
785 | "UsePlugInResources" = "11:TRUE"
786 | }
787 | }
788 | }
789 | }
790 | }
791 | "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_BFA4C65CF10549B9BC66D7D082F7B695"
792 | {
793 | "Name" = "8:#1901"
794 | "Sequence" = "3:2"
795 | "Attributes" = "3:2"
796 | "Dialogs"
797 | {
798 | "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_DEDD54222DE742DB88ED21868EB91C8B"
799 | {
800 | "Sequence" = "3:100"
801 | "DisplayName" = "8:Progress"
802 | "UseDynamicProperties" = "11:TRUE"
803 | "IsDependency" = "11:FALSE"
804 | "SourcePath" = "8:\\VsdAdminProgressDlg.wid"
805 | "Properties"
806 | {
807 | "BannerBitmap"
808 | {
809 | "Name" = "8:BannerBitmap"
810 | "DisplayName" = "8:#1001"
811 | "Description" = "8:#1101"
812 | "Type" = "3:8"
813 | "ContextData" = "8:Bitmap"
814 | "Attributes" = "3:4"
815 | "Setting" = "3:1"
816 | "UsePlugInResources" = "11:TRUE"
817 | }
818 | "ShowProgress"
819 | {
820 | "Name" = "8:ShowProgress"
821 | "DisplayName" = "8:#1009"
822 | "Description" = "8:#1109"
823 | "Type" = "3:5"
824 | "ContextData" = "8:1;True=1;False=0"
825 | "Attributes" = "3:0"
826 | "Setting" = "3:0"
827 | "Value" = "3:1"
828 | "DefaultValue" = "3:1"
829 | "UsePlugInResources" = "11:TRUE"
830 | }
831 | }
832 | }
833 | }
834 | }
835 | }
836 | "MergeModule"
837 | {
838 | }
839 | "ProjectOutput"
840 | {
841 | "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_825C198C322D44D7A3B02D3D76904093"
842 | {
843 | "SourcePath" = "8:..\\RawPrint\\obj\\Release\\RawPrint.exe"
844 | "TargetName" = "8:"
845 | "Tag" = "8:"
846 | "Folder" = "8:_E7E4433B81D3431090338ACD7F522668"
847 | "Condition" = "8:"
848 | "Transitive" = "11:FALSE"
849 | "Vital" = "11:TRUE"
850 | "ReadOnly" = "11:FALSE"
851 | "Hidden" = "11:FALSE"
852 | "System" = "11:FALSE"
853 | "Permanent" = "11:FALSE"
854 | "SharedLegacy" = "11:FALSE"
855 | "PackageAs" = "3:1"
856 | "Register" = "3:1"
857 | "Exclude" = "11:FALSE"
858 | "IsDependency" = "11:FALSE"
859 | "IsolateTo" = "8:"
860 | "ProjectOutputGroupRegister" = "3:1"
861 | "OutputConfiguration" = "8:"
862 | "OutputGroupCanonicalName" = "8:Built"
863 | "OutputProjectGuid" = "8:{0EBAFB0D-0180-470A-8B15-BED25A6D839A}"
864 | "ShowKeyOutput" = "11:TRUE"
865 | "ExcludeFilters"
866 | {
867 | }
868 | }
869 | }
870 | }
871 | }
872 |
--------------------------------------------------------------------------------