Win32 support
[dashstudio.git] / qonfigure.rb
blob0d265e889397a4543ab28bb2fb066fbacc5acaf4
1 # License, not of this script, but of the application it contains:
3
4 # Copyright (C) 2007 David Cuadrado                                     
5 # krawek@gmail.com                                                      
6 #                                                                       
7 # This library is free software; you can redistribute it and/or         
8 # modify it under the terms of the GNU Lesser General Public            
9 # License as published by the Free Software Foundation; either          
10 # version 2.1 of the License, or (at your option) any later version.    
11 #                                                                       
12 # This library is distributed in the hope that it will be useful,       
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of        
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     
15 # Lesser General Public License for more details.                       
16 #                                                                       
17 # You should have received a copy of the GNU Lesser General Public      
18 # License along with this library; if not, write to the Free Software   
19 # Foundation, Inc.,                                                     
20 # 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA              
21
23 # License of this script, not of the application it contains:
25 # Copyright Erik Veenstra <tar2rubyscript@erikveen.dds.nl>
26
27 # This program is free software; you can redistribute it and/or
28 # modify it under the terms of the GNU General Public License,
29 # version 2, as published by the Free Software Foundation.
30
31 # This program is distributed in the hope that it will be
32 # useful, but WITHOUT ANY WARRANTY; without even the implied
33 # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
34 # PURPOSE. See the GNU General Public License for more details.
35
36 # You should have received a copy of the GNU General Public
37 # License along with this program; if not, write to the Free
38 # Software Foundation, Inc., 59 Temple Place, Suite 330,
39 # Boston, MA 02111-1307 USA.
41 # Parts of this code are based on code from Thomas Hurst
42 # <tom@hur.st>.
44 # Tar2RubyScript constants
46 unless defined?(BLOCKSIZE)
47   ShowContent   = ARGV.include?("--tar2rubyscript-list")
48   JustExtract   = ARGV.include?("--tar2rubyscript-justextract")
49   ToTar         = ARGV.include?("--tar2rubyscript-totar")
50   Preserve      = ARGV.include?("--tar2rubyscript-preserve")
51 end
53 ARGV.concat     []
55 ARGV.delete_if{|arg| arg =~ /^--tar2rubyscript-/}
57 ARGV << "--tar2rubyscript-preserve"     if Preserve
59 # Tar constants
61 unless defined?(BLOCKSIZE)
62   BLOCKSIZE             = 512
64   NAMELEN               = 100
65   MODELEN               = 8
66   UIDLEN                = 8
67   GIDLEN                = 8
68   CHKSUMLEN             = 8
69   SIZELEN               = 12
70   MAGICLEN              = 8
71   MODTIMELEN            = 12
72   UNAMELEN              = 32
73   GNAMELEN              = 32
74   DEVLEN                = 8
76   TMAGIC                = "ustar"
77   GNU_TMAGIC            = "ustar  "
78   SOLARIS_TMAGIC        = "ustar\00000"
80   MAGICS                = [TMAGIC, GNU_TMAGIC, SOLARIS_TMAGIC]
82   LF_OLDFILE            = '\0'
83   LF_FILE               = '0'
84   LF_LINK               = '1'
85   LF_SYMLINK            = '2'
86   LF_CHAR               = '3'
87   LF_BLOCK              = '4'
88   LF_DIR                = '5'
89   LF_FIFO               = '6'
90   LF_CONTIG             = '7'
92   GNUTYPE_DUMPDIR       = 'D'
93   GNUTYPE_LONGLINK      = 'K'   # Identifies the *next* file on the tape as having a long linkname.
94   GNUTYPE_LONGNAME      = 'L'   # Identifies the *next* file on the tape as having a long name.
95   GNUTYPE_MULTIVOL      = 'M'   # This is the continuation of a file that began on another volume.
96   GNUTYPE_NAMES         = 'N'   # For storing filenames that do not fit into the main header.
97   GNUTYPE_SPARSE        = 'S'   # This is for sparse files.
98   GNUTYPE_VOLHDR        = 'V'   # This file is a tape/volume header.  Ignore it on extraction.
99 end
101 class Dir
102   def self.rm_rf(entry)
103     begin
104       File.chmod(0755, entry)
105     rescue
106     end
108     if File.ftype(entry) == "directory"
109       pdir      = Dir.pwd
111       Dir.chdir(entry)
112         Dir.open(".") do |d|
113           d.each do |e|
114             Dir.rm_rf(e)        if not [".", ".."].include?(e)
115           end
116         end
117       Dir.chdir(pdir)
119       begin
120         Dir.delete(entry)
121       rescue => e
122         $stderr.puts e.message
123       end
124     else
125       begin
126         File.delete(entry)
127       rescue => e
128         $stderr.puts e.message
129       end
130     end
131   end
134 class Reader
135   def initialize(filehandle)
136     @fp = filehandle
137   end
139   def extract
140     each do |entry|
141       entry.extract
142     end
143   end
145   def list
146     each do |entry|
147       entry.list
148     end
149   end
151   def each
152     @fp.rewind
154     while entry = next_entry
155       yield(entry)
156     end
157   end
159   def next_entry
160     buf = @fp.read(BLOCKSIZE)
162     if buf.length < BLOCKSIZE or buf == "\000" * BLOCKSIZE
163       entry     = nil
164     else
165       entry     = Entry.new(buf, @fp)
166     end
168     entry
169   end
172 class Entry
173   attr_reader(:header, :data)
175   def initialize(header, fp)
176     @header     = Header.new(header)
178     readdata =
179     lambda do |header|
180       padding   = (BLOCKSIZE - (header.size % BLOCKSIZE)) % BLOCKSIZE
181       @data     = fp.read(header.size)  if header.size > 0
182       dummy     = fp.read(padding)      if padding > 0
183     end
185     readdata.call(@header)
187     if @header.longname?
188       gnuname           = @data[0..-2]
190       header            = fp.read(BLOCKSIZE)
191       @header           = Header.new(header)
192       @header.name      = gnuname
194       readdata.call(@header)
195     end
196   end
198   def extract
199     if not @header.name.empty?
200       if @header.symlink?
201         begin
202           File.symlink(@header.linkname, @header.name)
203         rescue SystemCallError => e
204           $stderr.puts "Couldn't create symlink #{@header.name}: " + e.message
205         end
206       elsif @header.link?
207         begin
208           File.link(@header.linkname, @header.name)
209         rescue SystemCallError => e
210           $stderr.puts "Couldn't create link #{@header.name}: " + e.message
211         end
212       elsif @header.dir?
213         begin
214           Dir.mkdir(@header.name, @header.mode)
215         rescue SystemCallError => e
216           $stderr.puts "Couldn't create dir #{@header.name}: " + e.message
217         end
218       elsif @header.file?
219         begin
220           File.open(@header.name, "wb") do |fp|
221             fp.write(@data)
222             fp.chmod(@header.mode)
223           end
224         rescue => e
225           $stderr.puts "Couldn't create file #{@header.name}: " + e.message
226         end
227       else
228         $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
229       end
231       #File.chown(@header.uid, @header.gid, @header.name)
232       #File.utime(Time.now, @header.mtime, @header.name)
233     end
234   end
236   def list
237     if not @header.name.empty?
238       if @header.symlink?
239         $stderr.puts "s %s -> %s" % [@header.name, @header.linkname]
240       elsif @header.link?
241         $stderr.puts "l %s -> %s" % [@header.name, @header.linkname]
242       elsif @header.dir?
243         $stderr.puts "d %s" % [@header.name]
244       elsif @header.file?
245         $stderr.puts "f %s (%s)" % [@header.name, @header.size]
246       else
247         $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
248       end
249     end
250   end
253 class Header
254   attr_reader(:name, :uid, :gid, :size, :mtime, :uname, :gname, :mode, :linkflag, :linkname)
255   attr_writer(:name)
257   def initialize(header)
258     fields      = header.unpack('A100 A8 A8 A8 A12 A12 A8 A1 A100 A8 A32 A32 A8 A8')
259     types       = ['str', 'oct', 'oct', 'oct', 'oct', 'time', 'oct', 'str', 'str', 'str', 'str', 'str', 'oct', 'oct']
261     begin
262       converted = []
263       while field = fields.shift
264         type    = types.shift
266         case type
267         when 'str'      then converted.push(field)
268         when 'oct'      then converted.push(field.oct)
269         when 'time'     then converted.push(Time::at(field.oct))
270         end
271       end
273       @name, @mode, @uid, @gid, @size, @mtime, @chksum, @linkflag, @linkname, @magic, @uname, @gname, @devmajor, @devminor      = converted
275       @name.gsub!(/^\.\//, "")
276       @linkname.gsub!(/^\.\//, "")
278       @raw      = header
279     rescue ArgumentError => e
280       raise "Couldn't determine a real value for a field (#{field})"
281     end
283     raise "Magic header value #{@magic.inspect} is invalid."    if not MAGICS.include?(@magic)
285     @linkflag   = LF_FILE                       if @linkflag == LF_OLDFILE or @linkflag == LF_CONTIG
286     @linkflag   = LF_DIR                        if @linkflag == LF_FILE and @name[-1] == '/'
287     @size       = 0                             if @size < 0
288   end
290   def file?
291     @linkflag == LF_FILE
292   end
294   def dir?
295     @linkflag == LF_DIR
296   end
298   def symlink?
299     @linkflag == LF_SYMLINK
300   end
302   def link?
303     @linkflag == LF_LINK
304   end
306   def longname?
307     @linkflag == GNUTYPE_LONGNAME
308   end
311 class Content
312   @@count       = 0     unless defined?(@@count)
314   def initialize
315     @@count += 1
317     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
318     temp        = ENV["TEMP"]
319     temp        = "/tmp"        if temp.nil?
320     temp        = File.expand_path(temp)
321     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
322   end
324   def list
325     begin
326       File.open(@tempfile, "wb")        {|f| f.write @archive}
327       File.open(@tempfile, "rb")        {|f| Reader.new(f).list}
328     ensure
329       File.delete(@tempfile)
330     end
332     self
333   end
335   def cleanup
336     @archive    = nil
338     self
339   end
342 class TempSpace
343   @@count       = 0     unless defined?(@@count)
345   def initialize
346     @@count += 1
348     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
349     @olddir     = Dir.pwd
350     temp        = ENV["TEMP"]
351     temp        = "/tmp"        if temp.nil?
352     temp        = File.expand_path(temp)
353     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
354     @tempdir    = "#{temp}/tar2rubyscript.d.#{Process.pid}.#{@@count}"
356     @@tempspace = self
358     @newdir     = @tempdir
360     @touchthread =
361     Thread.new do
362       loop do
363         sleep 60*60
365         touch(@tempdir)
366         touch(@tempfile)
367       end
368     end
369   end
371   def extract
372     Dir.rm_rf(@tempdir) if File.exists?(@tempdir)
373     Dir.mkdir(@tempdir)
375     newlocation do
377                 # Create the temp environment.
379       File.open(@tempfile, "wb")        {|f| f.write @archive}
380       File.open(@tempfile, "rb")        {|f| Reader.new(f).extract}
382                 # Eventually look for a subdirectory.
384       entries   = Dir.entries(".")
385       entries.delete(".")
386       entries.delete("..")
388       if entries.length == 1
389         entry   = entries.shift.dup
390         if File.directory?(entry)
391           @newdir       = "#{@tempdir}/#{entry}"
392         end
393       end
394     end
396                 # Remember all File objects.
398     @ioobjects  = []
399     ObjectSpace::each_object(File) do |obj|
400       @ioobjects << obj
401     end
403     at_exit do
404       @touchthread.kill
406                 # Close all File objects, opened in init.rb .
408       ObjectSpace::each_object(File) do |obj|
409         obj.close       if (not obj.closed? and not @ioobjects.include?(obj))
410       end
412                 # Remove the temp environment.
414       Dir.chdir(@olddir)
416       Dir.rm_rf(@tempfile)
417       Dir.rm_rf(@tempdir)
418     end
420     self
421   end
423   def cleanup
424     @archive    = nil
426     self
427   end
429   def touch(entry)
430     entry       = entry.gsub!(/[\/\\]*$/, "")   unless entry.nil?
432     return      unless File.exists?(entry)
434     if File.directory?(entry)
435       pdir      = Dir.pwd
437       begin
438         Dir.chdir(entry)
440         begin
441           Dir.open(".") do |d|
442             d.each do |e|
443               touch(e)  unless [".", ".."].include?(e)
444             end
445           end
446         ensure
447           Dir.chdir(pdir)
448         end
449       rescue Errno::EACCES => error
450         $stderr.puts error
451       end
452     else
453       File.utime(Time.now, File.mtime(entry), entry)
454     end
455   end
457   def oldlocation(file="")
458     if block_given?
459       pdir      = Dir.pwd
461       Dir.chdir(@olddir)
462         res     = yield
463       Dir.chdir(pdir)
464     else
465       res       = File.expand_path(file, @olddir)       if not file.nil?
466     end
468     res
469   end
471   def newlocation(file="")
472     if block_given?
473       pdir      = Dir.pwd
475       Dir.chdir(@newdir)
476         res     = yield
477       Dir.chdir(pdir)
478     else
479       res       = File.expand_path(file, @newdir)       if not file.nil?
480     end
482     res
483   end
485   def templocation(file="")
486     if block_given?
487       pdir      = Dir.pwd
489       Dir.chdir(@tempdir)
490         res     = yield
491       Dir.chdir(pdir)
492     else
493       res       = File.expand_path(file, @tempdir)      if not file.nil?
494     end
496     res
497   end
499   def self.oldlocation(file="")
500     if block_given?
501       @@tempspace.oldlocation { yield }
502     else
503       @@tempspace.oldlocation(file)
504     end
505   end
507   def self.newlocation(file="")
508     if block_given?
509       @@tempspace.newlocation { yield }
510     else
511       @@tempspace.newlocation(file)
512     end
513   end
515   def self.templocation(file="")
516     if block_given?
517       @@tempspace.templocation { yield }
518     else
519       @@tempspace.templocation(file)
520     end
521   end
524 class Extract
525   @@count       = 0     unless defined?(@@count)
527   def initialize
528     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
529     temp        = ENV["TEMP"]
530     temp        = "/tmp"        if temp.nil?
531     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count += 1}"
532   end
534   def extract
535     begin
536       File.open(@tempfile, "wb")        {|f| f.write @archive}
537       File.open(@tempfile, "rb")        {|f| Reader.new(f).extract}
538     ensure
539       File.delete(@tempfile)
540     end
542     self
543   end
545   def cleanup
546     @archive    = nil
548     self
549   end
552 class MakeTar
553   def initialize
554     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
555     @tarfile    = File.expand_path(__FILE__).gsub(/\.rbw?$/, "") + ".tar"
556   end
558   def extract
559     File.open(@tarfile, "wb")   {|f| f.write @archive}
561     self
562   end
564   def cleanup
565     @archive    = nil
567     self
568   end
571 def oldlocation(file="")
572   if block_given?
573     TempSpace.oldlocation { yield }
574   else
575     TempSpace.oldlocation(file)
576   end
579 def newlocation(file="")
580   if block_given?
581     TempSpace.newlocation { yield }
582   else
583     TempSpace.newlocation(file)
584   end
587 def templocation(file="")
588   if block_given?
589     TempSpace.templocation { yield }
590   else
591     TempSpace.templocation(file)
592   end
595 if ShowContent
596   Content.new.list.cleanup
597 elsif JustExtract
598   Extract.new.extract.cleanup
599 elsif ToTar
600   MakeTar.new.extract.cleanup
601 else
602   TempSpace.new.extract.cleanup
604   $:.unshift(templocation)
605   $:.unshift(newlocation)
606   $:.push(oldlocation)
608   verbose       = $VERBOSE
609   $VERBOSE      = nil
610   s     = ENV["PATH"].dup
611   if Dir.pwd[1..2] == ":/"      # Hack ???
612     s << ";#{templocation.gsub(/\//, "\\")}"
613     s << ";#{newlocation.gsub(/\//, "\\")}"
614     s << ";#{oldlocation.gsub(/\//, "\\")}"
615   else
616     s << ":#{templocation}"
617     s << ":#{newlocation}"
618     s << ":#{oldlocation}"
619   end
620   ENV["PATH"]   = s
621   $VERBOSE      = verbose
623   TAR2RUBYSCRIPT        = true  unless defined?(TAR2RUBYSCRIPT)
625   newlocation do
626     if __FILE__ == $0
627       $0.replace(File.expand_path("./init.rb"))
629       if File.file?("./init.rb")
630         load File.expand_path("./init.rb")
631       else
632         $stderr.puts "%s doesn't contain an init.rb ." % __FILE__
633       end
634     else
635       if File.file?("./init.rb")
636         load File.expand_path("./init.rb")
637       end
638     end
639   end
643 # cW9uZmlndXJlLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
644 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
645 # AAAAAAAAAAAAADAwMDA3NTUAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAwMDAw
646 # ADEwNzEzNDI1NDc1ADAxMjQxNwAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
647 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
648 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdl
649 # awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAA
650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
654 # AAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcW9uZi5yYgAAAAAAAAAAAAAA
655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
656 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAw
657 # MDE3NTAAMDAwMDAwMzIzNTQAMTA3MTM0MjU0NzUAMDEzNzE2ACAwAAAAAAAA
658 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
659 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
660 # AAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr
661 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
662 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
663 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
664 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
665 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICd0
666 # ZXN0JwpyZXF1aXJlICdwa2djb25maWcnCnJlcXVpcmUgJ2Zyb250ZW5kZmFj
667 # dG9yeScKcmVxdWlyZSAnY29uZmlnJwpyZXF1aXJlICdxbWFrZScKcmVxdWly
668 # ZSAnbWFrZWZpbGUnCgptb2R1bGUgUW9uZgogIFZFUlNJT04gPSAiMC41Ii5m
669 # cmVlemUKICBWRVJTSU9OX0RBVEUgPSAiMjAwNy0xMC0xNCIKICAKICBjbGFz
670 # cyBRdFZlcnNpb24KICAgIGF0dHJfcmVhZGVyIDp2ZXJzaW9uLCA6b3AgIyAw
671 # OiBlcXVhbCAxOiBncmVhdGVyIDI6IGdyZWF0ZXIgZXF1YWwKICAgIAogICAg
672 # ZGVmIGluaXRpYWxpemUodmVyc2lvbikKICAgICAgQG9wID0gMgogICAgICBw
673 # YXJzZSh2ZXJzaW9uKQogICAgZW5kCiAgICAKICAgIGRlZiA9PSh2ZXIpCiAg
674 # ICAgIEBvcCA9IDAKICAgICAgcGFyc2UodmVyKQogICAgZW5kCiAgICAKICAg
675 # IGRlZiA+KHZlcikKICAgICAgQG9wID0gMQogICAgICBwYXJzZSh2ZXIpCiAg
676 # ICBlbmQKICAgIAogICAgZGVmID49KHZlcikKICAgICAgQG9wID0gMgogICAg
677 # ICBwYXJzZSh2ZXIpCiAgICBlbmQKICAgIAogICAgZGVmIHRvX3MKICAgICAg
678 # cyA9ICJRdCAiCiAgICAgIGNhc2UgQG9wCiAgICAgICAgd2hlbiAwCiAgICAg
679 # ICAgICBzKz0iPT0iCiAgICAgICAgd2hlbiAxCiAgICAgICAgICBzKz0iPiIK
680 # ICAgICAgICBlbHNlCiAgICAgICAgICBzKz0iPj0iCiAgICAgIGVuZAogICAg
681 # ICBzKz0gIiAiK0B2ZXJzaW9uCiAgICAgIAogICAgICBzCiAgICBlbmQKICAg
682 # IAogICAgcHJpdmF0ZQogICAgZGVmIHBhcnNlKHZlcnNpb24pCiAgICAgIEB2
683 # ZXJzaW9uID0gdmVyc2lvbi50b19zCiAgICAgIHZlciA9IEB2ZXJzaW9uLnRv
684 # X3Muc3BsaXQoJy4nKQogICAgICBzaXplID0gdmVyLnNpemUKICAgICAgICAK
685 # ICAgICAgZmluYWx2ZXIgPSBbXQogICAgICAzLnRpbWVzIHsgfGl8CiAgICAg
686 # ICAgdHAgPSB2ZXJbaV0KICAgICAgICAKICAgICAgICBpZiB0cC5uaWw/CiAg
687 # ICAgICAgICB0cCA9ICIwIgogICAgICAgIGVuZAogICAgICAgIAogICAgICAg
688 # IGZpbmFsdmVyIDw8IHRwCiAgICAgIH0KICAgICAgCiAgICAgIEB2ZXJzaW9u
689 # ID0gZmluYWx2ZXIuam9pbigiLiIpCiAgICBlbmQKICBlbmQKICAKICBjbGFz
690 # cyBTZXR1cAogICAgYXR0cl9yZWFkZXIgOm9wdGlvbnMsIDpwYWNrYWdlcywg
691 # OnRlc3RzLCA6cGtnX2NvbmZpZ3MKICAgIGRlZiBpbml0aWFsaXplCiAgICAg
692 # IEBvcHRpb25zID0gW10KICAgICAgQHBhY2thZ2VzID0gW10KICAgICAgQHRl
693 # c3RzID0gW10KICAgICAgQHBrZ19jb25maWdzID0gW10KICAgICAgQHF0X3Zl
694 # cnNpb24gPSBRdFZlcnNpb24ubmV3KCI0LjAuMCIpCiAgICAgIAogICAgICBh
695 # ZGRfb3B0aW9uKDpuYW1lID0+ICJwcmVmaXgiLCA6dHlwZSA9PiAicGF0aCIs
696 # IDpkZWZhdWx0ID0+ICIvdXNyL2xvY2FsLyIsIDpvcHRpb25hbCA9PiB0cnVl
697 # LCA6ZGVzY3JpcHRpb24gPT4gIlNldHMgdGhlIGluc3RhbGwgcHJlZml4IikK
698 # ICAgIGVuZAogICAgCiAgICBkZWYgYWRkX29wdGlvbihvcHRpb24pCiAgICAg
699 # IGlmIG5vdCBvcHRpb25bOnR5cGVdLm5pbD8KICAgICAgICBvcHRpb25bOnR5
700 # cGVdLmRvd25jYXNlIQogICAgICBlbmQKICAgICAgCiAgICAgIEBvcHRpb25z
701 # IDw8IG9wdGlvbgogICAgZW5kCiAgICAKICAgIGRlZiBmaW5kX3BhY2thZ2Uo
702 # b3B0aW9ucykKICAgICAgQHBhY2thZ2VzIDw8IG9wdGlvbnMKICAgIGVuZAog
703 # ICAgCiAgICBkZWYgYWRkX3Rlc3Qob3B0aW9uKQogICAgICByYWlzZSAiUGxl
704 # YXNlIHNldCBhIHZhbGlkIG5hbWUgdG8gdGhlIHRlc3QiIGlmIG9wdGlvbls6
705 # bmFtZV0udG9fcy5lbXB0eT8KICAgICAgcmFpc2UgIlBsZWFzZSBzZXQgYSB2
706 # YWxpZCBpZCB0byB0aGUgdGVzdCIgaWYgb3B0aW9uWzppZF0udG9fcy5lbXB0
707 # eT8KICAgICAgCiAgICAgIEB0ZXN0cyA8PCBvcHRpb24KICAgIGVuZAogICAg
708 # CiAgICBkZWYgZ2VuZXJhdGVfcGtnY29uZmlnKG9wdGlvbnMpCiAgICAgIHJh
709 # aXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgbmFtZSIgaWYgb3B0aW9uc1s6cGFj
710 # a2FnZV9uYW1lXS50b19zLmVtcHR5PwogICAgICBAcGtnX2NvbmZpZ3MgPDwg
711 # b3B0aW9ucwogICAgZW5kCiAgICAKICAgIGRlZiBxdAogICAgICBAcXRfdmVy
712 # c2lvbgogICAgZW5kCiAgICAKICBlbmQKICAKICBjbGFzcyBDb25maWd1cmUK
713 # ICAgIGRlZiBpbml0aWFsaXplCiAgICAgIEBhcmd1bWVudHMgPSB7fQogICAg
714 # ICBAY29uZmlnID0gQ29uZmlnLm5ldwogICAgICAKICAgICAgQGxvZ19maWxl
715 # ID0gb2xkbG9jYXRpb24oImNvbmZpZy5sb2ciKQogICAgICAKICAgICAgRmls
716 # ZS5vcGVuKEBsb2dfZmlsZSwgInciKSBkbyB8ZnwKICAgICAgICBmIDw8ICI9
717 # PT09PT09PiBHZW5lcmF0ZWQgYXQgI3tUaW1lLm5vd30gPD09PT09PT1cbiIK
718 # ICAgICAgZW5kCiAgICAgIAogICAgICBxbWFrZV9wYXRocyA9IFtdCiAgICAg
719 # IGlmKCBEZXRlY3RPUy5vcz8gIT0gMSApICMgVW5peAogICAgICAgIElPLnBv
720 # cGVuKCJsb2NhdGUgLXIgL3FtYWtlJCAyPiAje25ld2xvY2F0aW9uKCdsb2Nh
721 # dGVfbG9nJyl9IikgeyB8cHJjfAogICAgICAgICAgcHJlX3BhdGhzID0gcHJj
722 # LnJlYWRsaW5lcwogICAgICAgICAgcHJlX3BhdGhzLmVhY2ggeyB8cW18CiAg
723 # ICAgICAgICAgIHFtLnN0cmlwIQogICAgICAgICAgICBpZiBGaWxlLmV4aXN0
724 # cz8ocW0pCiAgICAgICAgICAgICAgc3RhdCA9IEZpbGUuc3RhdChxbSkKICAg
725 # ICAgICAgICAgICAKICAgICAgICAgICAgICBpZiAobm90IChzdGF0LnN5bWxp
726 # bms/IG9yIHN0YXQuZGlyZWN0b3J5PykpIGFuZCBzdGF0LmV4ZWN1dGFibGU/
727 # CiAgICAgICAgICAgICAgICBxbWFrZV9wYXRocyA8PCBxbQogICAgICAgICAg
728 # ICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICAgIH0KICAgICAgICB9
729 # CiAgICAgIGVuZAogICAgICAKICAgICAgQHFtYWtlID0gUU1ha2UubmV3KHFt
730 # YWtlX3BhdGhzLCBAbG9nX2ZpbGUpCiAgICAgIAogICAgICBjZmcgPSBTZXR1
731 # cC5uZXcKICAgICAgY29uZmlndXJlKGNmZykKICAgICAgCiAgICAgIHByaW50
732 # ICI9PiBTZWFyY2hpbmcgZm9yICN7Y2ZnLnF0fS4uLiAiCiAgICAgIGlmIEBx
733 # bWFrZS5maW5kX3FtYWtlKGNmZy5xdC52ZXJzaW9uLCBjZmcucXQub3ApCiAg
734 # ICAgICAgcHV0cyAiKCN7QHFtYWtlLnBhdGh9KSBbWUVTXSIKICAgICAgZWxz
735 # ZQogICAgICAgIHB1dHMgIltOT10iCiAgICAgICAgZXhpdCgtMSkKICAgICAg
736 # ZW5kCiAgICAgIAogICAgICBAb3B0aW9ucyA9IGNmZy5vcHRpb25zCiAgICAg
737 # IEBwYWNrYWdlcyA9IGNmZy5wYWNrYWdlcwogICAgICBAdGVzdHMgPSBjZmcu
738 # dGVzdHMKICAgICAgQHBrZ19jb25maWdzID0gY2ZnLnBrZ19jb25maWdzCiAg
739 # ICAgIEBzdGF0dXNGaWxlID0gRGlyLmdldHdkKyIvdXBkYXRlLW1ha2VmaWxl
740 # IgogICAgZW5kCiAgICAKICAgIGRlZiBmaW5kX3BhY2thZ2VzICMgVE9ETzog
741 # c29wb3J0YXIgaW5mb3JtYWNpb24gcGFyYSBlbCBzaXN0ZW1hIG9wZXJhdGl2
742 # byBzb2JyZSBjb21vIGluc3RhbGFyIGVsIHBhcXVldGUKICAgICAgQHBhY2th
743 # Z2VzLmVhY2ggeyB8cGFja2FnZXwKICAgICAgICBwcmludCAiPT4gU2VhcmNo
744 # aW5nIGZvciBwYWNrYWdlOiAje3BhY2thZ2VbOm5hbWVdfS4uLiAgIgogICAg
745 # ICAgIHBrZ2NvbmZpZyA9IFBrZ0NvbmZpZy5uZXcocGFja2FnZVs6bmFtZV0p
746 # CiAgICAgICAgcGtnY29uZmlnLmFkZF9zZWFyY2hfcGF0aCgiI3tAYXJndW1l
747 # bnRzWyJwcmVmaXgiXX0vbGliL3BrZ2NvbmZpZyIpCiAgICAgICAgYmVnaW4K
748 # ICAgICAgICAgIHNldHVwX3BrZ2NvbmZpZyhwa2djb25maWcsIEBhcmd1bWVu
749 # dHMpCiAgICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAg
750 # ICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBfcGtnY29uZmlnLwogICAg
751 # ICAgICAgICBwdXRzICJFcnJvcjogI3tlLm1lc3NhZ2V9IgogICAgICAgICAg
752 # ICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICAgIGV4aXQoLTEpCiAgICAg
753 # ICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBpZiBub3Qg
754 # cGtnY29uZmlnLmZpbmQocGFja2FnZVs6bmFtZV0pCiAgICAgICAgICBwdXRz
755 # ICJbTk9dIgogICAgICAgICAgCiAgICAgICAgICBvcHRpb25hbCA9IHBhY2th
756 # Z2VbOm9wdGlvbmFsXS5uaWw/ID8gZmFsc2UgOiBwYWNrYWdlWzpvcHRpb25h
757 # bF0KICAgICAgICAgIAogICAgICAgICAgaWYgbm90IG9wdGlvbmFsCiAgICAg
758 # ICAgICAgIHB1dHMgIj0+IFRoZSBwYWNrYWdlICcje3BhY2thZ2VbOm5hbWVd
759 # fScgaXMgcmVxdWlyZWQuIgogICAgICAgICAgICBleGl0KC0xKQogICAgICAg
760 # ICAgZW5kCiAgICAgICAgZWxzZQogICAgICAgICAgcHV0cyAiW1lFU10iCiAg
761 # ICAgICAgICBnbG9iYWwgPSBwYWNrYWdlWzpnbG9iYWxdLm5pbD8gPyBmYWxz
762 # ZSA6IHBhY2thZ2VbOmdsb2JhbF0KICAgICAgICAgIAogICAgICAgICAgcW9u
763 # ZnBrZyA9IEBjb25maWcKICAgICAgICAgIAogICAgICAgICAgaWYgbm90IGds
764 # b2JhbAogICAgICAgICAgICBxb25mcGtnID0gUGFja2FnZS5uZXcocGFja2Fn
765 # ZVs6bmFtZV0pCiAgICAgICAgICBlbmQKICAgICAgICAgIAogICAgICAgICAg
766 # CiMgICAgICAgICAgIHBrZ2NvbmZpZy5yZXF1aXJlcy5lYWNoIHsgfHJlcXwK
767 # IyAgICAgICAgICAgICBAY29uZmlnLmFkZF9xb25mX3BhY2thZ2UocmVxKQoj
768 # ICAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cuYWRk
769 # X2xpYihwa2djb25maWcubGlicykKICAgICAgICAgIAogICAgICAgICAgcGtn
770 # Y29uZmlnLmluY2x1ZGVfcGF0aC5lYWNoIHsgfGluY3BhdGh8CiAgICAgICAg
771 # ICAgIHFvbmZwa2cuYWRkX2luY2x1ZGVfcGF0aChpbmNwYXRoKQogICAgICAg
772 # ICAgfQogICAgICAgICAgCiAgICAgICAgICBwa2djb25maWcuZGVmaW5lcy5l
773 # YWNoIHsgfGRlZmluZXwKICAgICAgICAgICAgcW9uZnBrZy5hZGRfZGVmaW5l
774 # KGRlZmluZSkKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgaWYg
775 # bm90IGdsb2JhbAogICAgICAgICAgICBAY29uZmlnLmFkZF9xb25mX3BhY2th
776 # Z2UocW9uZnBrZykKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgQGNvbmZp
777 # Zy5hZGRfcW9uZl9mZWF0dXJlKHBhY2thZ2VbOm5hbWVdKQogICAgICAgICAg
778 # ZW5kCiAgICAgICAgZW5kCiAgICAgIH0KICAgIGVuZAogICAgCiAgICBkZWYg
779 # cnVuX3Rlc3RzCiAgICAgIEB0ZXN0cy5lYWNoIHsgfHRlc3RvcHR8CiAgICAg
780 # ICAgcHJpbnQgIj0+IFRlc3RpbmcgI3t0ZXN0b3B0WzpuYW1lXX0uLi4gICIK
781 # ICAgICAgICAKICAgICAgICB0c3QgPSBUZXN0Lm5ldyh0ZXN0b3B0LCBAY29u
782 # ZmlnLCBAbG9nX2ZpbGUpCiAgICAgICAgCiAgICAgICAgYmVnaW4KICAgICAg
783 # ICAgIHNldHVwX3Rlc3QodGVzdG9wdFs6aWRdLCB0c3QsIEBhcmd1bWVudHMp
784 # CiAgICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAgICAg
785 # aWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBfdGVzdC8KICAgICAgICAgICAg
786 # cHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAgICAgIHB1dHMgZS5iYWNrdHJh
787 # Y2UKICAgICAgICAgICAgZXhpdCgtMSkKICAgICAgICAgIGVuZAogICAgICAg
788 # IGVuZAogICAgICAgIAogICAgICAgIG9wdGlvbmFsID0gdGVzdG9wdFs6b3B0
789 # aW9uYWxdLm5pbD8gPyBmYWxzZSA6IHRlc3RvcHRbOm9wdGlvbmFsXQogICAg
790 # ICAgIGlmIHRzdC5ydW4oQHFtYWtlKQogICAgICAgICAgZ2xvYmFsID0gdGVz
791 # dG9wdFs6Z2xvYmFsXS5uaWw/ID8gZmFsc2UgOiB0ZXN0b3B0WzpnbG9iYWxd
792 # CiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cgPSBAY29uZmlnCiAgICAg
793 # ICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9iYWwKICAgICAgICAgICAgcW9u
794 # ZnBrZyA9IFBhY2thZ2UubmV3KHRzdC5pZCkKICAgICAgICAgIGVuZAogICAg
795 # ICAgICAgCiAgICAgICAgICB0c3QuaW5jbHVkZV9wYXRoLmVhY2ggeyB8aW5j
796 # cGF0aHwKICAgICAgICAgICAgcW9uZnBrZy5hZGRfaW5jbHVkZV9wYXRoKGlu
797 # Y3BhdGgpCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIHRzdC5k
798 # ZWZpbmVzLmVhY2ggeyB8ZGVmaW5lfAogICAgICAgICAgICBxb25mcGtnLmFk
799 # ZF9kZWZpbmUoZGVmaW5lKQogICAgICAgICAgfQogICAgICAgICAgCiAgICAg
800 # ICAgICBxb25mcGtnLmFkZF9saWIodHN0LmxpYnMudG9fcykKICAgICAgICAg
801 # IAogICAgICAgICAgaWYgbm90IGdsb2JhbAogICAgICAgICAgICBAY29uZmln
802 # LmFkZF9xb25mX3BhY2thZ2UocW9uZnBrZykKICAgICAgICAgIGVsc2UKICAg
803 # ICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9mZWF0dXJlKHRzdC5pZCkKICAg
804 # ICAgICAgIGVuZAogICAgICAgICAgcHV0cyAiW09LXSIKICAgICAgICBlbHNl
805 # CiAgICAgICAgICBwdXRzICJbRkFJTEVEXSIKICAgICAgICAgIAogICAgICAg
806 # ICAgaWYgbm90IG9wdGlvbmFsCiAgICAgICAgICAgIHB1dHMgIj0+ICN7dGVz
807 # dG9wdFs6bmFtZV19IGlzIHJlcXVpcmVkIgogICAgICAgICAgICBleGl0KC0x
808 # KQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgIH0KICAgIGVuZAog
809 # ICAgCiAgICBkZWYgZ2VuZXJhdGVfbWFrZWZpbGVzCiAgICAgIHB1dHMgIj0+
810 # IENyZWF0aW5nIG1ha2VmaWxlcy4uLiIKICAgICAgQHFtYWtlLnJ1bigiIiwg
811 # dHJ1ZSkKICAgICAgCiAgICAgIHB1dHMgIj0+IFVwZGF0aW5nIG1ha2VmaWxl
812 # cy4uLiIKICAgICAgCiAgICAgIEBtYWtlZmlsZXMgPSBNYWtlZmlsZTo6Zmlu
813 # ZF9tYWtlZmlsZXMoRGlyLmdldHdkKQogICAgICBAbWFrZWZpbGVzLmVhY2gg
814 # eyB8bWFrZWZpbGV8CiAgICAgICAgICBNYWtlZmlsZTo6b3ZlcnJpZGUobWFr
815 # ZWZpbGUsIEZpbGUuZXhwYW5kX3BhdGgoQGFyZ3VtZW50c1sicHJlZml4Il0u
816 # dG9fcyksIEBzdGF0dXNGaWxlKQogICAgICB9CiAgICAgIAogICAgICBGaWxl
817 # Lm9wZW4oQHN0YXR1c0ZpbGUsICJ3IiApIHsgfGZpbGV8CiAgICAgICAgZmls
818 # ZSA8PCAlQAoje0ZpbGUucmVhZChuZXdsb2NhdGlvbigibWFrZWZpbGUucmIi
819 # KSl9ClFvbmY6Ok1ha2VmaWxlOjpvdmVycmlkZSggQVJHVlswXS50b19zLCAi
820 # I3tAYXJndW1lbnRzWyJwcmVmaXgiXX0iLCAiI3tAc3RhdHVzRmlsZX0iICkK
821 # QAoKaWYgRGV0ZWN0T1Mub3M/ID09IDEgI3dpbjMyCiAgICAgICAgZmlsZSA8
822 # PCAlQApRb25mOjpNYWtlZmlsZTo6b3ZlcnJpZGUoIEFSR1ZbMF0udG9fcysi
823 # LnJlbGVhc2UiLCAiI3tAYXJndW1lbnRzWyJwcmVmaXgiXX0iLCAiI3tAc3Rh
824 # dHVzRmlsZX0iICkKUW9uZjo6TWFrZWZpbGU6Om92ZXJyaWRlKCBBUkdWWzBd
825 # LnRvX3MrIi5kZWJ1ZyIsICIje0Bhcmd1bWVudHNbInByZWZpeCJdfSIsICIj
826 # e0BzdGF0dXNGaWxlfSIgKQpACmVuZAogICAgICB9CiAgICBlbmQKICAgIAog
827 # ICAgZGVmIGdldF9hcmdzKGFyZ3YpCiAgICAgIG9wdGMgPSAwCiAgICAgIGxh
828 # c3Rfb3B0ID0gIiIKICAgICAgCiAgICAgIEBvcHRpb25zLmVhY2ggeyB8b3B0
829 # aW9ufAogICAgICAgIGdpdmVuX29wdGlvbiA9IG5pbAogICAgICAgIAogICAg
830 # ICAgIGFyZ3YuZWFjaCB7IHxhcmd8CiAgICAgICAgICBhcmcuc3RyaXAhCiAg
831 # ICAgICAgICBnaXZlbiA9IGZhbHNlCiAgICAgICAgICAKICAgICAgICAgIGNh
832 # c2Ugb3B0aW9uWzp0eXBlXS50b19zCiAgICAgICAgICAgIHdoZW4gInN0cmlu
833 # ZyIKICAgICAgICAgICAgICBpZiBhcmcgPX4gLy0tI3tvcHRpb25bOm5hbWVd
834 # fT0oW1xXXHddKikvCiAgICAgICAgICAgICAgICBnaXZlbiA9IHRydWUKICAg
835 # ICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICQxCiAgICAgICAgICAgICAg
836 # ZW5kCiAgICAgICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgICAgaWYg
837 # YXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX09KFtcV1x3XSopLwogICAgICAg
838 # ICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAgICAgICAgICAgICAgICBnaXZlbl9v
839 # cHRpb24gPSBGaWxlLmV4cGFuZF9wYXRoKCQxKQogICAgICAgICAgICAgIGVu
840 # ZAogICAgICAgICAgICB3aGVuICJib29sIgogICAgICAgICAgICAgIGlmIGFy
841 # ZyA9fiAvLS11c2UtI3tvcHRpb25bOm5hbWVdfT0oXHcrKS8KICAgICAgICAg
842 # ICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0
843 # aW9uID0gJDEKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZWxzZQog
844 # ICAgICAgICAgICAgIGlmIGFyZyA9fiAvLS0je29wdGlvbls6bmFtZV19Lwog
845 # ICAgICAgICAgICAgICAgZ2l2ZW5fb3B0aW9uID0gInllcyIKICAgICAgICAg
846 # ICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgIGVuZAogICAgICAg
847 # ICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIGlmIGdpdmVuCiAgICAgICAg
848 # ICAgIGFyZ3YuZGVsZXRlKGFyZykKICAgICAgICAgIGVuZAogICAgICAgIH0K
849 # ICAgICAgICAKICAgICAgICBvcHRpb25bOnZhbHVlXSA9IGdpdmVuX29wdGlv
850 # bgogICAgICB9CiAgICAgIAogICAgICBmcm9udGVuZF9rZXkgPSAidGsiCiAg
851 # ICAgIGFyZ3YuZWFjaCB7IHx1bmtub3dufAogICAgICAgIHVua25vd24uc3Ry
852 # aXAhCiAgICAgICAgaWYgdW5rbm93biA9fiAvLS13aXRoLWNvbmZpZy1mcm9u
853 # dGVuZD0oXHcrKS8KICAgICAgICAgIGZyb250ZW5kX2tleSA9ICQxCiAgICAg
854 # ICAgZWxzaWYgdW5rbm93biA9fiAvLS1oZWxwLwogICAgICAgICAgdXNhZ2UK
855 # ICAgICAgICAgIGV4aXQoMCkKICAgICAgICBlbHNpZiB1bmtub3duID1+IC8t
856 # LXZlcnNpb24vCiAgICAgICAgICBwdXRzICJRT25mICN7VkVSU0lPTn0gWyN7
857 # VkVSU0lPTl9EQVRFfV0iCiAgICAgICAgICBleGl0KDApCiAgICAgICAgZW5k
858 # CiAgICAgIH0KICAgICAgCiAgICAgIGZyb250ZW5kID0gRnJvbnRlbmRGYWN0
859 # b3J5LmNyZWF0ZShmcm9udGVuZF9rZXkpCiAgICAgIGlmIGZyb250ZW5kLm5p
860 # bD8KICAgICAgICBwdXRzICI9PiBJbnZhbGlkIGZyb250ZW5kIgogICAgICAg
861 # IHVzYWdlKCkKICAgICAgICBleGl0KC0xKQogICAgICBlbHNpZiBub3QgZnJv
862 # bnRlbmQucGFyc2UoQG9wdGlvbnMpCiAgICAgICAgdXNhZ2UoKQogICAgICAg
863 # IGV4aXQoLTEpCiAgICAgIGVuZAogICAgICAKICAgICAgQG9wdGlvbnMuZWFj
864 # aCB7IHxvcHRpb258CiAgICAgICAgdmFsdWUgPSBvcHRpb25bOnZhbHVlXS5u
865 # aWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19zIDogb3B0aW9uWzp2YWx1ZV0K
866 # ICAgICAgICBAYXJndW1lbnRzW29wdGlvbls6bmFtZV1dID0gdmFsdWUKICAg
867 # ICAgfQogICAgICAKICAgIGVuZAogICAgCiAgICBkZWYgc2F2ZShwYXRoKQog
868 # ICAgICBiZWdpbgogICAgICAgIHNldHVwX2NvbmZpZyhAY29uZmlnLCBAYXJn
869 # dW1lbnRzKQogICAgICByZXNjdWUgTm9NZXRob2RFcnJvciA9PiBlCiAgICAg
870 # ICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBfY29uZmlnLwogICAgICAg
871 # ICAgcHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAgICBwdXRzIGUuYmFja3Ry
872 # YWNlCiAgICAgICAgICBleGl0KC0xKQogICAgICAgIGVuZAogICAgICBlbmQK
873 # ICAgICAgCiAgICAgIEBjb25maWcuYWRkX2RlZmluZSglQF9fUFJFRklYX189
874 # J1xcXFwiJyN7RmlsZS5leHBhbmRfcGF0aCBAYXJndW1lbnRzWyJwcmVmaXgi
875 # XX0nXFxcXCInQCkKICAgICAgCiAgICAgIHNhdmVfcGtnY29uZmlnCiAgICAg
876 # IEBjb25maWcuc2F2ZShwYXRoKQogICAgICAKICAgICAgbGF1bmNoZXIgPSBu
877 # aWwKICAgICAgaWYgRGV0ZWN0T1Mub3M/ID09IDEgIyBXaW5kb3dzCiAgICAg
878 # ICAgbGF1bmNoZXIgPSBGaWxlLm5ldygibGF1bmNoZXIuYmF0IiwgInciKQog
879 # ICAgICAgIAogICAgICAgIGxhdW5jaGVyIDw8ICJzZXQgUEFUSD0je0Bjb25m
880 # aWcuYnVpbGRfZGlyLmdzdWIoJy8nLCAnXFwnKX1cXGJpbjsje0Bjb25maWcu
881 # YnVpbGRfZGlyLmdzdWIoJy8nLCAnXFwnKX1cXGxpYjsje0Bjb25maWcubGli
882 # cmFyeV9wYXRoLmpvaW4oIjoiKS5nc3ViKCcvJywgJ1xcJyl9OyVQQVRIJVxu
883 # IgogICAgICAgIGxhdW5jaGVyIDw8ICIlMVxuIgogICAgICBlbHNlCiAgICAg
884 # ICAgbGF1bmNoZXIgPSBGaWxlLm5ldygibGF1bmNoZXIuc2giLCJ3IikKICAg
885 # ICAgICBsYXVuY2hlciA8PCAiIyEvYmluL2Jhc2hcbiIKICAgICAgICBsYXVu
886 # Y2hlciA8PCAiZXhwb3J0IFBBVEg9I3tAY29uZmlnLmJ1aWxkX2Rpcn0vYmlu
887 # OiR7UEFUSH1cbiIKICAgICAgICBsYXVuY2hlciA8PCAiZXhwb3J0IExEX0xJ
888 # QlJBUllfUEFUSD0je0Bjb25maWcuYnVpbGRfZGlyfS9iaW46I3tAY29uZmln
889 # LmJ1aWxkX2Rpcn0vbGliOiN7QGNvbmZpZy5saWJyYXJ5X3BhdGguam9pbigi
890 # OiIpfToke0xEX0xJQlJBUllfUEFUSH06JHtEWV9MRF9MSUJSQVJZX1BBVEh9
891 # XG4iCiAgICAgICAgbGF1bmNoZXIgPDwgImV4cG9ydCBEWUxEX0xJQlJBUllf
892 # UEFUSD0ke0xEX0xJQlJBUllfUEFUSH1cbiIKICAgICAgICBsYXVuY2hlciA8
893 # PCAiQVBQPSQxXG4iCiAgICAgICAgbGF1bmNoZXIgPDwgInNoaWZ0XG4iCiAg
894 # ICAgICAgbGF1bmNoZXIgPDwgImVjaG8gTGF1bmNoaW5nOiAkQVBQXG4iCiAg
895 # ICAgICAgbGF1bmNoZXIgPDwgIiRBUFAgJCpcbiIKICAgICAgZW5kCiAgICAg
896 # IAogICAgICBGaWxlLmNobW9kKDA3NTUsIGxhdW5jaGVyLnBhdGgpCiAgICAg
897 # IAogICAgZW5kCiAgICAKICAgIGRlZiBzYXZlX3BrZ2NvbmZpZwogICAgICBp
898 # ZiBub3QgQHBrZ19jb25maWdzLmVtcHR5PwogICAgICAgIEBwa2dfY29uZmln
899 # cy5lYWNoIHsgfHBrZ19jb25maWd8CiAgICAgICAgICBGaWxlLm9wZW4oIHBr
900 # Z19jb25maWdbOnBhY2thZ2VfbmFtZV0rIi5wYyIsICJ3IikgZG8gfGZpbGV8
901 # CiAgICAgICAgICAgIGZpbGUgPDwgInByZWZpeD0iIDw8IEBhcmd1bWVudHNb
902 # InByZWZpeCJdIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiZXhlY19w
903 # cmVmaXg9JHtwcmVmaXh9IiA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwg
904 # ImxpYmRpcj0je3BrZ19jb25maWdbOmxpYmRpcl0ubmlsPyA/ICIke3ByZWZp
905 # eH0vbGliIiA6IHBrZ19jb25maWdbOmxpYmRpcl0gfSIgPDwgIlxuIgogICAg
906 # ICAgICAgICBmaWxlIDw8ICJpbmNsdWRlZGlyPSN7cGtnX2NvbmZpZ1s6aW5j
907 # bHVkZWRpcl0ubmlsPyA/ICIke3ByZWZpeH0vaW5jbHVkZSIgOiBwa2dfY29u
908 # ZmlnWzppbmNsdWRlZGlyXSB9IiA8PCAiXG5cblxuIgogICAgICAgICAgICAK
909 # ICAgICAgICAgICAgZmlsZSA8PCAiTmFtZTogIiA8PCBwa2dfY29uZmlnWzpw
910 # YWNrYWdlX25hbWVdIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiRGVz
911 # Y3JpcHRpb246ICIgPDwgcGtnX2NvbmZpZ1s6ZGVzY3JpcHRpb25dIDw8ICJc
912 # biIKICAgICAgICAgICAgZmlsZSA8PCAiUmVxdWlyZXM6ICIgPDwgcGtnX2Nv
913 # bmZpZ1s6cmVxdWlyZXNdLmpvaW4oIiAiKSA8PCAiXG4iIGlmIHBrZ19jb25m
914 # aWdbOnJlcXVpcmVzXS5jbGFzcyA9PSBBcnJheQogICAgICAgICAgICBmaWxl
915 # IDw8ICJWZXJzaW9uOiAiIDw8IHBrZ19jb25maWdbOnZlcnNpb25dIDw8ICJc
916 # biIKICAgICAgICAgICAgCiAgICAgICAgICAgIGZpbGUgPDwgIkxpYnM6ICIg
917 # PDwgcGtnX2NvbmZpZ1s6bGlic10gPDwgIlxuIgogICAgICAgICAgICBmaWxl
918 # IDw8ICJDZmxhZ3M6ICIgPDwgcGtnX2NvbmZpZ1s6Y2ZsYWdzXSA8PCAiXG4i
919 # CiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgIGVuZAogICAgZW5kCiAg
920 # ICAKICAgIAogICAgZGVmIGxvZyh0eHQpCiAgICAgIEZpbGUub3BlbihAbG9n
921 # X2ZpbGUsICJhIikgZG8gfGZ8CiAgICAgICAgZiA8PCB0eHQgPDwgIlxuIgog
922 # ICAgICBlbmQKICAgIGVuZAogICAgCiAgICBkZWYgdXNhZ2UKICAgICAgcHV0
923 # cyAiT3B0aW9uczoiCiAgICAgIEBvcHRpb25zLmVhY2ggeyB8b3B0aW9ufAog
924 # ICAgICAgIGNhc2Ugb3B0aW9uWzp0eXBlXQogICAgICAgICAgd2hlbiAic3Ry
925 # aW5nIgogICAgICAgICAgICBwcmludCAiXG4gIC0tI3tvcHRpb25bOm5hbWVd
926 # fT1bdmFsdWVdIgogICAgICAgICAgICBwcmludCAiXHRcdC4uLi4uLiN7b3B0
927 # aW9uWzpkZXNjcmlwdGlvbl19ICIKICAgICAgICAgICAgCiAgICAgICAgICAg
928 # IGlmIG5vdCBvcHRpb25bOmRlZmF1bHRdLm5pbD8KICAgICAgICAgICAgICBw
929 # cmludCAiW2RlZmF1bHQ9I3tvcHRpb25bOmRlZmF1bHRdfV0iCiAgICAgICAg
930 # ICAgIGVuZAogICAgICAgICAgd2hlbiAicGF0aCIKICAgICAgICAgICAgcHJp
931 # bnQgIlxuICAtLSN7b3B0aW9uWzpuYW1lXX09Wy9hL3BhdGhdIgogICAgICAg
932 # ICAgICBwcmludCAiXHRcdC4uLi4uLiN7b3B0aW9uWzpkZXNjcmlwdGlvbl19
933 # ICIKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIG5vdCBvcHRpb25bOmRl
934 # ZmF1bHRdLm5pbD8KICAgICAgICAgICAgICBwcmludCAiW2RlZmF1bHQ9I3tv
935 # cHRpb25bOmRlZmF1bHRdfV0iCiAgICAgICAgICAgIGVuZAogICAgICAgICAg
936 # d2hlbiAiYm9vbCIKICAgICAgICAgICAgcHJpbnQgIlxuICAtLXVzZS0je29w
937 # dGlvbls6bmFtZV19PVt5ZXN8bm9dIgogICAgICAgICAgICBpZiBub3Qgb3B0
938 # aW9uWzpkZWZhdWx0XS5uaWw/CiAgICAgICAgICAgICAgZGVmYXVsdCA9IG9w
939 # dGlvbls6ZGVmYXVsdF0KICAgICAgICAgICAgICBpZiBkZWZhdWx0ID09IHRy
940 # dWUgb3IgZGVmYXVsdCA9PSAieWVzIiBvciBkZWZhdWx0ID09ICJ0cnVlIgog
941 # ICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJ5ZXMiCiAgICAgICAgICAgICAg
942 # ZWxzaWYgZGVmYXVsdCA9PSBmYWxzZSBvciBkZWZhdWx0ID09ICJubyIgb3Ig
943 # ZGVmYXVsdCA9PSAiZmFsc2UiCiAgICAgICAgICAgICAgICBkZWZhdWx0ID0g
944 # Im5vIgogICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGRlZmF1
945 # bHQgPSAibm8iCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgCiAg
946 # ICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3Jp
947 # cHRpb25dfSBbZGVmYXVsdD0je2RlZmF1bHR9XSIKICAgICAgICAgICAgZW5k
948 # CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHByaW50ICJcbiAgLS0je29w
949 # dGlvbls6bmFtZV19IgogICAgICAgICAgICBwcmludCAiXHRcdC4uLi4uLiN7
950 # b3B0aW9uWzpkZXNjcmlwdGlvbl19IgogICAgICAgIGVuZAogICAgICB9CiAg
951 # ICAgIAogICAgICBwcmludCAiXG4gIC0td2l0aC1jb25maWctZnJvbnRlbmQ9
952 # W3BsYWlufHRrXSIKICAgICAgcHJpbnQgIlx0XHQuLi4uLi5TZXRzIHRoZSBm
953 # cm9udGVuZCB0byBjb25maWd1cmUgdGhlIGFwcGxpY2F0aW9uIFtkZWZhdWx0
954 # PXRrXSIKICAgICAgcHJpbnQgIlxuICAtLWhlbHAiCiAgICAgIHByaW50ICJc
955 # biAgLS12ZXJzaW9uIgogICAgICBwcmludCAiXHRcdC4uLi4uLlNob3dzIHRo
956 # aXMgbWVzc2FnZSIKICAgICAgCiAgICAgIHB1dHMgIiIKICAgIGVuZAogIGVu
957 # ZAplbmQKCmJlZ2luCiAgbG9hZCAic2V0dXAucmIiCnJlc2N1ZSBMb2FkRXJy
958 # b3IKICBGaWxlLm9wZW4ob2xkbG9jYXRpb24oInNldHVwLnJiIiksICJ3Iikg
959 # ZG8gfGZpbGV8CiAgICBmaWxlIDw8IEZpbGUucmVhZCgic2V0dXBfcmIudHBs
960 # IikgPDwgIlxuIgogIGVuZAogIHB1dHMgIj0+IEEgdGVtcGxhdGUgZmlsZSB3
961 # YXMgZ2VuZXJhdGVkIGluIHNldHVwLnJiLCBwbGVhc2UgZWRpdCBpdCBhbmQg
962 # cmVydW4gdGhlIGNvbmZpZ3VyZSBzY3JpcHQuIgogIGV4aXQoLTEpCmVuZAoK
963 # aWYgX19GSUxFX18gPT0gJDAKICBxb25mID0gUW9uZjo6Q29uZmlndXJlLm5l
964 # dwogIHFvbmYuZ2V0X2FyZ3MoQVJHVikKICBxb25mLmZpbmRfcGFja2FnZXMK
965 # ICBxb25mLnJ1bl90ZXN0cwogIAogIHFvbmYuc2F2ZSgiY29uZmlnLnByaSIp
966 # CiAgCiAgcW9uZi5nZW5lcmF0ZV9tYWtlZmlsZXMKZW5kCgoKCgAAAAAAAAAA
967 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
968 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
969 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
970 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
971 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
972 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFv
973 # bmZpZ3VyZS9kZXRlY3Rvcy5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
974 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
975 # AAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMTcyNAAx
976 # MDcwNDQ1MTIyMQAwMTQ1NDYAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
977 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
978 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsA
979 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAA
980 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
981 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
982 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
983 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
984 # AAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ3JiY29uZmlnJwoKbW9kdWxlIFFv
985 # bmYKCmNsYXNzIERldGVjdE9TCglPUyA9IHsKCQkwID0+ICJVbmtub3duIiwK
986 # CQkxID0+ICJXaW5kb3dzIiwKCQkyID0+ICJVbml4IiwKCQkzID0+ICJMaW51
987 # eCIsCgkJMzEgPT4gIkRlYmlhbiIsCgkJMzExID0+ICJVYnVudHUiLAoJCTMy
988 # ID0+ICJHZW50b28iLAoJCTQgPT4gIk1hYyBPUyBYIgoJfQoJCglkZWYgc2Vs
989 # Zi5vcz8KCQlAb3MgPSAwCgkJCgkJaWYgOjpDb25maWc6OkNPTkZJR1siYnVp
990 # bGRfb3MiXSA9PSAibXN3aW4zMiIKCQkJcmV0dXJuIDEKCQllbHNlCgkJCUBv
991 # cyA9IDIKCQkJCgkJCWxpbnV4ID0gRGV0ZWN0T1MuZmluZF9saW51eAoJCQlA
992 # b3MgPSBsaW51eCBpZiBsaW51eCA+IDAKCQllbmQKCQkKCQkKCQlyZXR1cm4g
993 # QG9zCgllbmQKCQoJZGVmIHNlbGYuZmluZF9saW51eAoJCWN3ZCA9IERpci5n
994 # ZXR3ZAoJCURpci5jaGRpcigiL2V0Yy8iKQoJCQoJCURpclsiKnstLF99e3Zl
995 # cnNpb24scmVsZWFzZX0iXS5lYWNoIHsgfHBhdGh8CgkJCWlmIHBhdGguZG93
996 # bmNhc2UgPX4gL14oXHcqKSgtfF8pKHZlcnNpb258cmVsZWFzZSkvCgkJCQlE
997 # ZXRlY3RPUzo6T1MuZWFjaCB7IHxpZCwgb3N8CgkJCQkJaWYgb3MuZG93bmNh
998 # c2UgPT0gJDEKCQkJCQkJRGlyLmNoZGlyKGN3ZCkKCQkJCQkJCgkJCQkJCWlm
999 # ICQxID09ICJkZWJpYW4iCgkJCQkJCQlpZiBgYXB0LWNhY2hlIC12YC5pbmNs
1000 # dWRlPygidWJ1bnR1IikKCQkJCQkJCQlyZXR1cm4gMzExCgkJCQkJCQllbmQK
1001 # CQkJCQkJZW5kCgkJCQkJCQoJCQkJCQlyZXR1cm4gaWQKCQkJCQllbmQKCQkJ
1002 # CX0KCQkJZW5kCgkJfQoJCQoJCURpci5jaGRpcihjd2QpCgkJCgkJaWYgYHVu
1003 # YW1lYC5kb3duY2FzZSA9PSAibGludXgiCgkJCXJldHVybiAyCgkJZW5kCgkJ
1004 # CgkJcmV0dXJuIDAKCWVuZAplbmQKCmVuZAoKaWYgX19GSUxFX18gPT0gJDAK
1005 # CXB1dHMgUW9uZjo6RGV0ZWN0T1M6Ok9TW1FvbmY6OkRldGVjdE9TLm9zP10K
1006 # ZW5kCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1007 # AAAAAHFvbmZpZ3VyZS9tYWtlZmlsZS5yYn4AAAAAAAAAAAAAAAAAAAAAAAAA
1008 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1009 # AAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAw
1010 # MzI3MgAxMDcxMzM1NDcwMAAwMTQ3MTMAIDAAAAAAAAAAAAAAAAAAAAAAAAAA
1011 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1012 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABr
1013 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAA
1014 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1015 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1016 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1017 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1018 # AAAAAAAAAAAAAAAAAAAAAAAAAAAADQpyZXF1aXJlICdyYmNvbmZpZycNCg0K
1019 # bW9kdWxlIFFvbmYNCiAgY2xhc3MgTWFrZWZpbGUNCiAgICBkZWYgc2VsZi5m
1020 # aW5kX21ha2VmaWxlcyhwYXRoKQ0KICAgICAgbWFrZWZpbGVzID0gW10NCiAg
1021 # ICAgIERpci5mb3JlYWNoKHBhdGgpIHsgfGZ8DQogICAgICAgIGZpbGUgPSAi
1022 # I3twYXRofS8je2Z9Ig0KICAgICAgICBpZiBGaWxlLnN0YXQoZmlsZSkuZGly
1023 # ZWN0b3J5Pw0KICAgICAgICAgIGlmIG5vdCBmID1+IC9eXC4vDQogICAgICAg
1024 # ICAgICBtYWtlZmlsZXMuY29uY2F0IGZpbmRfbWFrZWZpbGVzKGZpbGUpDQog
1025 # ICAgICAgICAgZW5kDQogICAgICAgIGVsc2lmIGYuZG93bmNhc2UgPX4gL15t
1026 # YWtlZmlsZSguZGVidWd8LnJlbGVhc2UpezAsMX0vDQogICAgICAgICAgbWFr
1027 # ZWZpbGVzIDw8IGZpbGUNCiAgICAgICAgZW5kDQogICAgICB9DQogICAgICBt
1028 # YWtlZmlsZXMNCiAgICBlbmQNCiAgICANCiAgICBkZWYgc2VsZi5vdmVycmlk
1029 # ZShtYWtlZmlsZSwgZGVzdGRpciwgc3RhdHVzRmlsZSkNCiAgICAgIG5ld21h
1030 # a2VmaWxlID0gIiINCiAgICAgIA0KICAgICAgcnVieV9iaW4gPSAiI3s6OkNv
1031 # bmZpZzo6Q09ORklHWyJiaW5kaXIiXX0vI3s6OkNvbmZpZzo6Q09ORklHWyJy
1032 # dWJ5X2luc3RhbGxfbmFtZSJdfSINCiAgICAgIA0KICAgICAgRmlsZS5vcGVu
1033 # KG1ha2VmaWxlLCAiciIpIHsgfGZ8DQogICAgICAgIGxpbmVzID0gZi5yZWFk
1034 # bGluZXMNCiAgICAgICAgDQogICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFU
1035 # T1INCiAgICAgICAgICBsaW5lLmdzdWIhKCIvIiwgRmlsZTo6QUxUX1NFUEFS
1036 # QVRPUikNCiAgICAgICAgZW5kDQogICAgICAgIA0KICAgICAgICBpbmRleCA9
1037 # IDANCiAgICAgICAgcmVwbGFjZWQgPSBmYWxzZQ0KICAgICAgICB3aGlsZSBp
1038 # bmRleCA8IGxpbmVzLnNpemUNCiAgICAgICAgICBsaW5lID0gbGluZXNbaW5k
1039 # ZXhdDQogICAgICAgICAgaWYgbGluZSA9fiAvXlxzK1tAXXswLDF9XCRcKFFN
1040 # QUtFXCkvDQogICAgICAgICAgICBuZXdtYWtlZmlsZSArPSBsaW5lDQogICAg
1041 # ICAgICAgICBuZXdtYWtlZmlsZSArPSAiXHQje3J1YnlfYmlufSAje3N0YXR1
1042 # c0ZpbGV9ICN7bWFrZWZpbGV9XG4iDQogICAgICAgICAgICBpbmRleCArPSAx
1043 # DQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgaWYgbm90IHJlcGxhY2Vk
1044 # DQogICAgICAgICAgICAgIGlmIGxpbmUgPX4gL15JTlNUQUxMX0RJUi8NCiAg
1045 # ICAgICAgICAgICAgICBuZXdtYWtlZmlsZSArPSAiSU5TVEFMTF9ST09UID0g
1046 # I3tkZXN0ZGlyfVxuIg0KICAgICAgICAgICAgICAgIHJlcGxhY2VkID0gdHJ1
1047 # ZQ0KICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIGVsc2UNCiAgICAg
1048 # ICAgICAgICAgaWYgbGluZSA9fiAvXCRcKElOU1RBTExfUk9PVFwpLw0KICAg
1049 # ICAgICAgICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFUT1INCiAgICAgICAg
1050 # ICAgICAgICAgIGxpbmUuZ3N1YiEoIi8iLCBGaWxlOjpBTFRfU0VQQVJBVE9S
1051 # KQ0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICBlbmQNCiAg
1052 # ICAgICAgICAgIGVuZA0KICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0gbGlu
1053 # ZQ0KICAgICAgICAgIGVuZA0KICAgICAgICAgIGluZGV4ICs9IDENCiAgICAg
1054 # ICAgZW5kDQogICAgICB9DQogICAgICANCiAgICAgIEZpbGUub3BlbihtYWtl
1055 # ZmlsZSwgInciKSB7IHxmfA0KICAgICAgICBmIDw8IG5ld21ha2VmaWxlDQog
1056 # ICAgICB9DQogICAgZW5kDQogIGVuZA0KZW5kDQoNCg0KAAAAAAAAAAAAAAAA
1057 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1058 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1059 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1060 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1061 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1062 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1063 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx
1064 # b25maWd1cmUvcGxhaW5fZnJvbnRlbmQucmIAAAAAAAAAAAAAAAAAAAAAAAAA
1065 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1066 # AAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDA0NjYA
1067 # MTA3MDQ0NTEyMjEAMDE1NzQwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1068 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1069 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2Vr
1070 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAA
1071 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1072 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1073 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1074 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1075 # AAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICdmcm9udGVuZCcKCm1vZHVsZSBR
1076 # b25mCgpjbGFzcyBQbGFpbkZyb250ZW5kIDwgRnJvbnRlbmQKICBkZWYgcGFy
1077 # c2Uob3B0aW9ucykKICAgIG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAg
1078 # IGlmIG9wdGlvbls6dmFsdWVdLnRvX3MuZW1wdHk/IGFuZCBvcHRpb25bOm9w
1079 # dGlvbmFsXSA9PSBmYWxzZQogICAgICAgIHB1dHMgIj0+IFRoZSBvcHRpb24g
1080 # JyN7b3B0aW9uWzpuYW1lXX0nIGlzIHJlcXVpcmVkLiIKICAgICAgICByZXR1
1081 # cm4gZmFsc2UKICAgICAgZW5kCiAgICB9CiAgICAKICAgIHRydWUKICBlbmQK
1082 # ZW5kCgplbmQKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1083 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1084 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1085 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1086 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL2Nv
1087 # bmZpZy5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1088 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw
1089 # MDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA3MDY2ADEwNzEzMzc1MTY0
1090 # ADAxNDIyMQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1091 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1092 # AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAA
1093 # AAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1094 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1095 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1096 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1097 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1098 # AAAAAAAKcmVxdWlyZSAnZGV0ZWN0b3MnCgptb2R1bGUgUW9uZgoKY2xhc3Mg
1099 # UGFja2FnZQogIGF0dHJfcmVhZGVyIDppbmNsdWRlX3BhdGgsIDpsaWJzLCA6
1100 # bW9kdWxlcywgOmRlZmluZXMsIDpuYW1lCiAgZGVmIGluaXRpYWxpemUobmFt
1101 # ZSkKICAgIEBpbmNsdWRlX3BhdGggPSBbXQogICAgQGxpYnMgPSBbXQogICAg
1102 # QG1vZHVsZXMgPSBbXQogICAgQGRlZmluZXMgPSBbXQogICAgQG5hbWUgPSBu
1103 # YW1lCiAgZW5kCiAgCiAgZGVmIGFkZF9pbmNsdWRlX3BhdGgocGF0aCkKICAg
1104 # IEBpbmNsdWRlX3BhdGggPDwgcGF0aAogIGVuZAogIAogIGRlZiBhZGRfbGli
1105 # KGxpYikKICAgIEBsaWJzIDw8IGxpYi50b19zCiAgZW5kCiAgCiAgZGVmIGFk
1106 # ZF9xdG1vZHVsZShtb2QpCiAgICBAbW9kdWxlcyA8PCBtb2QKICBlbmQKICAK
1107 # ICBkZWYgYWRkX2RlZmluZShkZWZpbmUpCiAgICBAZGVmaW5lcyA8PCBkZWZp
1108 # bmUKICBlbmQKICAKICBkZWYgd3JpdGUoZikKICAgIGlmIG5vdCBAaW5jbHVk
1109 # ZV9wYXRoLmVtcHR5PwogICAgICAgIGYgPDwgIklOQ0xVREVQQVRIICs9ICIg
1110 # PDwgQGluY2x1ZGVfcGF0aC51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBl
1111 # bmQKICAgIAogICAgaWYgbm90IEBsaWJzLmVtcHR5PwogICAgICAgIGYgPDwg
1112 # IkxJQlMgKz0gIiA8PCBAbGlicy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAg
1113 # ICBlbmQKICAgIAogICAgaWYgbm90IEBtb2R1bGVzLmVtcHR5PwogICAgICAg
1114 # IGYgPDwgIlFUICs9ICIgPDwgQG1vZHVsZXMudW5pcS5qb2luKCIgIikgPDwg
1115 # IlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBAZGVmaW5lcy5lbXB0eT8K
1116 # ICAgICAgICBmIDw8ICJERUZJTkVTICs9ICIgPDwgQGRlZmluZXMudW5pcS5q
1117 # b2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAgZW5kCmVuZAoKY2xhc3MgQ29u
1118 # ZmlnIDwgUGFja2FnZQogIGF0dHJfcmVhZGVyIDpidWlsZF9kaXIKICBkZWYg
1119 # aW5pdGlhbGl6ZQogICAgc3VwZXIobmlsKQogICAgQHFvbmZfZmVhdHVyZXMg
1120 # PSBbXQogICAgQHFvbmZfcGFja2FnZXMgPSBbXQogICAgQGJ1aWxkX2RpciA9
1121 # IG9sZGxvY2F0aW9uKCIiKSsiL19idWlsZF8iCiAgZW5kCgogIGRlZiBhZGRf
1122 # cW9uZl9wYWNrYWdlKHBrZykKICAgIEBxb25mX3BhY2thZ2VzIDw8IHBrZwog
1123 # IGVuZAogIAogIGRlZiBhZGRfcW9uZl9mZWF0dXJlKGZ0cikKICAgIEBxb25m
1124 # X2ZlYXR1cmVzIDw8IGZ0cgogIGVuZCAKCiAgZGVmIGluY2x1ZGVfcGF0aAog
1125 # ICAgaW5jcGF0aCA9IEBpbmNsdWRlX3BhdGgKICAgIAogICAgQHFvbmZfcGFj
1126 # a2FnZXMuZWFjaCB7IHxwa2d8CiAgICAgICAgaW5jcGF0aC5jb25jYXQgcGtn
1127 # LmluY2x1ZGVfcGF0aAogICAgfQogICAgCiAgICBpbmNwYXRoCiAgZW5kCiAg
1128 # CiAgZGVmIGxpYnMKICAgIGxpYiA9IEBsaWJzCiAgICBAcW9uZl9wYWNrYWdl
1129 # cy5lYWNoIHsgfHBrZ3wKICAgICAgICBsaWIuY29uY2F0IHBrZy5saWJzCiAg
1130 # ICB9CiAgICAKICAgIGxpYgogIGVuZAogIAogIGRlZiBsaWJyYXJ5X3BhdGgK
1131 # ICAgIGxpYnNfYSA9IFtdCgogICAgc3BsaXR0ZWQgPSBAbGlicy5qb2luKCIg
1132 # Iikuc3BsaXQoIiAiKQogICAgc3BsaXR0ZWQuZWFjaCB7IHxzcHwKICAgICAg
1133 # ICBpZiggc3AgPX4gLy1MKC4rKVxzKi8gKQogICAgICAgICAgICBsaWJzX2Eg
1134 # PDwgJDEKICAgICAgICBlbmQKICAgIH0KICAgIAogICAgbGlic19hCiAgZW5k
1135 # CiAgCiAgZGVmIGRlZmluZXMKICAgIGRlZnMgPSBAZGVmaW5lcwogICAgCiAg
1136 # ICBAcW9uZl9wYWNrYWdlcy5lYWNoIHsgfHBrZ3wKICAgICAgICBkZWZzLmNv
1137 # bmNhdCBwa2cuZGVmaW5lcwogICAgfQogICAgCiAgICBkZWZzCiAgZW5kCiAg
1138 # CiAgZGVmIHNhdmUocGF0aCkKICAgIGlmIHBhdGhbMF0uY2hyID09IEZpbGU6
1139 # OlNFUEFSQVRPUgogICAgICAgIHBhdGggPSBwYXRoCiAgICBlbHNlCiAgICAg
1140 # ICAgcGF0aCA9ICIje0Rpci5nZXR3ZH0vI3twYXRofSIKICAgIGVuZAogICAg
1141 # CiAgICBGaWxlLm9wZW4ocGF0aCwgInciKSB7IHxmfAogICAgICAgIGYgPDwg
1142 # IiMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYXQgI3tUaW1lLm5vd30hIFBM
1143 # RUFTRSBETyBOT1QgRURJVCBNQU5VQUxMWSEiPDwgIlxuIgogICAgICAgIAog
1144 # ICAgICAgIGYgPDwgIlBST0pFQ1RfRElSID0gIiA8PCBvbGRsb2NhdGlvbigi
1145 # IikgPDwgIlxuIgogICAgICAgIGYgPDwgIkJVSUxEX0RJUiA9ICN7QGJ1aWxk
1146 # X2Rpcn1cbiIKICAgICAgICAKICAgICAgICBmIDw8ICdjb250YWlucyhURU1Q
1147 # TEFURSwgImFwcCIpIHsnIDw8ICJcbiIKICAgICAgICBmIDw8ICJERVNURElS
1148 # ID0gJCRCVUlMRF9ESVIvYmluXG4iCiAgICAgICAgZiA8PCAnfSBlbHNlOmNv
1149 # bnRhaW5zKFRFTVBMQVRFLCAibGliIikgeycgPDwgIlxuIgogICAgICAgIGYg
1150 # PDwgIkRFU1RESVIgPSAkJEJVSUxEX0RJUi9saWJcbiIKICAgICAgICBmIDw8
1151 # ICd9IGVsc2UgeycgPDwgIlxuIgogICAgICAgIGYgPDwgIkRFU1RESVIgPSAk
1152 # JEJVSUxEX0RJUlxuIgogICAgICAgIGYgPDwgIn1cblxuXG4iCiAgICAgICAg
1153 # CiAgICAgICAgZiA8PCAiTElCUyArPSAtTCQkQlVJTERfRElSL2xpYlxuIgog
1154 # ICAgICAgIGYgPDwgIlJFTEFUSVZFX1BBVEggPSAkJHJlcGxhY2UoX1BST19G
1155 # SUxFX1BXRF8sICQkUFJPSkVDVF9ESVIsICIiKVxuIgogICAgICAgIGYgPDwg
1156 # IkNVUlJFTlRfQlVJTERfRElSID0gJCRCVUlMRF9ESVIkJFJFTEFUSVZFX1BB
1157 # VEhcbiIKICAgICAgICAKaWYgRGV0ZWN0T1Mub3M/ICE9IDEgIyBEaXNhYmxl
1158 # ZCBiZWNhdXNlIFdpbmRvd3Mgc3Vja3MuCiAgICAgICAgZiA8PCAiT0JKRUNU
1159 # U19ESVIgPSAkJENVUlJFTlRfQlVJTERfRElSXG4iCiAgICAgICAgZiA8PCAi
1160 # TU9DX0RJUiA9ICQkQ1VSUkVOVF9CVUlMRF9ESVJcbiIKICAgICAgICBmIDw8
1161 # ICJVSV9ESVIgPSAkJENVUlJFTlRfQlVJTERfRElSXG5cbiIKZW5kCiAgICAg
1162 # ICAgCiAgICAgICAgd3JpdGUoZikKICAgICAgICAKICAgICAgICAKICAgICAg
1163 # ICBmIDw8ICJRT05GX0ZFQVRVUkVTICs9ICIgPDwgQHFvbmZfcGFja2FnZXMu
1164 # bWFwIHsgfGV8IGUubmFtZSB9LmpvaW4oIiAiKSAgPDwgIlxuIgogICAgICAg
1165 # IGYgPDwgIlFPTkZfRkVBVFVSRVMgKz0gIiA8PCBAcW9uZl9mZWF0dXJlcy5q
1166 # b2luKCIgIikgIDw8ICJcbiIKICAgICAgICAKICAgICAgICBmIDw8ICJcbmRl
1167 # ZmluZVRlc3QobGlua193aXRoKSB7IiA8PCAiXG4iCiAgICAgICAgZiA8PCAi
1168 # ICByZXQgPSBmYWxzZVxuIgogICAgICAgIEBxb25mX3BhY2thZ2VzLmVhY2gg
1169 # eyB8cW9uZnwKICAgICAgICAgIGYgPDwgJUAgIGNvbnRhaW5zKCQkbGlzdCgk
1170 # JHNwbGl0KDEpKSAsIiN7cW9uZi5uYW1lfSIpIHtcbkAKICAgICAgICAgIGYg
1171 # PDwgIiAgICByZXQgPSB0cnVlXG4iCiAgICAgICAgICBmIDw8ICIgICAgbWVz
1172 # c2FnZSg9PiBMaW5raW5nIHFvbmYgbW9kdWxlOiAje3FvbmYubmFtZX0pXG4i
1173 # CiAgICAgICAgICBxb25mLndyaXRlKGYpCiAgICAgICAgICBmIDw8ICIgIH1c
1174 # biIKICAgICAgICB9CiAgICAgICAgZiA8PCAiICBleHBvcnQoSU5DTFVERVBB
1175 # VEgpXG4iCiAgICAgICAgZiA8PCAiICBleHBvcnQoTElCUylcbiIKICAgICAg
1176 # ICBmIDw8ICIgIGV4cG9ydChRVClcbiIKICAgICAgICBmIDw8ICIgIGV4cG9y
1177 # dChERUZJTkVTKVxuIgogICAgICAgIGYgPDwgIiAgcmV0dXJuKCQkcmV0KVxu
1178 # IgogICAgICAgIGYgPDwgIn1cbiIKICAgIH0KICBlbmQKZW5kCgplbmQKCgAA
1179 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1180 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1181 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1182 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1183 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1184 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1185 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1186 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1187 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1188 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1189 # AAAAAAAAcW9uZmlndXJlL3BrZ2NvbmZpZy5yYgAAAAAAAAAAAAAAAAAAAAAA
1190 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1191 # AAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAw
1192 # MDA2NjI3ADEwNzEzNDI1MjY1ADAxNDcyMwAgMAAAAAAAAAAAAAAAAAAAAAAA
1193 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1194 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg
1195 # AGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAA
1196 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1197 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1198 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1199 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1200 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCnJlcXVpcmUgJ2RldGVjdG9zJwoK
1201 # bW9kdWxlIFFvbmYKCmNsYXNzIFBrZ0NvbmZpZ1BhcnNlcgogIGRlZiBpbml0
1202 # aWFsaXplCiAgICBAdmFyaWFibGVzID0ge30KICAgIEBzcGVjcyA9IHt9CiAg
1203 # ZW5kCiAgCiAgZGVmIHBhcnNlKHBhdGgpCiAgICBGaWxlLm9wZW4ocGF0aCkg
1204 # eyB8ZmlsZXwKICAgICAgZmlsZS5lYWNoIHsgfGxpbmV8CiAgICAgICAgaWYg
1205 # bGluZSA9fiAvKFx3Kyk9KC4qKSQvCiAgICAgICAgICBAdmFyaWFibGVzWyQx
1206 # XSA9ICQyCiAgICAgICAgZWxzaWYgbGluZSA9fiAvKFx3Kyk6XHMoLiopJC8K
1207 # ICAgICAgICAgIEBzcGVjc1skMV0gPSAkMgogICAgICAgIGVuZAogICAgICB9
1208 # CiAgICB9CiAgZW5kCiAgCiAgZGVmIHZhbHVlKHZhcmlhYmxlKQogICAgdmFs
1209 # ID0gQHZhcmlhYmxlc1t2YXJpYWJsZV0KICAgIHdoaWxlIHZhbCA9fiAvKFwk
1210 # XHsoXHcrKVx9KS8KICAgICAgdmFsLmdzdWIhKCQxLCB2YWx1ZSgkMikpCiAg
1211 # ICBlbmQKICAgIAogICAgdmFsCiAgZW5kCiAgCiAgZGVmIHNwZWModmFyaWFi
1212 # bGUpCiAgICB2YWwgPSBAc3BlY3NbdmFyaWFibGVdCiAgICB3aGlsZSB2YWwg
1213 # PX4gLyhcJFx7KFx3KylcfSkvCiAgICAgIHZhbC5nc3ViISgkMSwgdmFsdWUo
1214 # JDIpKQogICAgZW5kCiAgICAKICAgIHZhbAogIGVuZAogIAogIGRlZiBsaWJz
1215 # CiAgICBzcGVjKCJMaWJzIikKICBlbmQKICAKICBkZWYgY2ZsYWdzCiAgICBz
1216 # cGVjKCJDZmxhZ3MiKQogIGVuZAogIAogIGRlZiByZXF1aXJlcwogICAgc3Bl
1217 # YygiUmVxdWlyZXMiKS50b19zCiAgZW5kCmVuZAoKY2xhc3MgUGtnQ29uZmln
1218 # CiAgYXR0cl9yZWFkZXIgOmlkLCA6bGlicywgOmNmbGFncywgOnJlcXVpcmVz
1219 # CiAgCiAgZGVmIGluaXRpYWxpemUoaWQpCiAgICBAaWQgPSBpZAogICAgQHNl
1220 # YXJjaF9wYXRoID0gW10KICAgIEByZXF1aXJlcyA9IFtdCiAgZW5kCiAgCiAg
1221 # ZGVmIGZpbmQocGtnKQogICAgcGtncGF0aCA9IGZpbmRfcGF0aF9mb3JfcGFj
1222 # a2FnZShwa2cpCiAgICAKICAgIGlmIG5vdCBwa2dwYXRoLm5pbD8KICAgICAg
1223 # QGNmbGFncyA9ICIiCiAgICAgIEBsaWJzID0gIiIKICAgICAgcGFyc2UocGtn
1224 # cGF0aCwgcGtnKQogICAgICAKICAgICAgcmV0dXJuIHRydWUKICAgIGVuZAog
1225 # ICAgCiAgICBmYWxzZQogIGVuZAogIAogIGRlZiBhZGRfc2VhcmNoX3BhdGgo
1226 # cGF0aCkKICAgIGlmIHBhdGgua2luZF9vZj8oQXJyYXkpCiAgICAgIEBzZWFy
1227 # Y2hfcGF0aC5jb25jYXQocGF0aCkKICAgIGVsc2UKICAgICAgQHNlYXJjaF9w
1228 # YXRoIDw8IHBhdGgudG9fcwogICAgZW5kCiAgZW5kCiAgCiAgZGVmIGluY2x1
1229 # ZGVfcGF0aAogICAgaW5jcGF0aCA9IFtdCiAgICBjZmxhZ3MgPSBAY2ZsYWdz
1230 # LmR1cAogICAgd2hpbGUgY2ZsYWdzID1+IC8oLUkoKFx3Oil7MCwxfShbXC9c
1231 # XF1cdyspKykpLwogICAgICBpbmNwYXRoIDw8ICQyCiAgICAgIGNmbGFncy5z
1232 # dWIhKCQxLCAiIikKICAgIGVuZAogICAgCiAgICBpbmNwYXRoLnVuaXEKICBl
1233 # bmQKICAKICBkZWYgZGVmaW5lcwogICAgZGVmaW5lcyA9IFtdCiAgICBjZmxh
1234 # Z3MgPSBAY2ZsYWdzLmR1cAogICAgd2hpbGUgY2ZsYWdzID1+IC8oLURccyoo
1235 # KFxXXHcrKSspKS8KICAgICAgZGVmaW5lcyA8PCAkMgogICAgICBkZWZpbmVz
1236 # LnN1YiEoJDEsICIiKQogICAgZW5kCiAgICAKICAgIGRlZmluZXMudW5pcQog
1237 # IGVuZAogIAogIGRlZiBmaW5kX3dpbjMyX3BhdGhzCiAgICBwYXRocyA9IGZp
1238 # bmRfZW52X3BhdGhzCiAgICAKICAgIAogICAgcGF0aHMKICBlbmQKICAKICBk
1239 # ZWYgZmluZF91bml4X3BhdGhzCiAgICBwYXRocyA9IGZpbmRfZW52X3BhdGhz
1240 # CiAgICBpZiBGaWxlLmV4aXN0cz8oIi9ldGMvbGQuc28uY29uZiIpCiAgICAg
1241 # IEZpbGUub3BlbigiL2V0Yy9sZC5zby5jb25mIikgZG8gfGZpbGV8CiAgICAg
1242 # ICAgZmlsZS5lYWNoIHsgfGxpbmV8CiAgICAgICAgICBkaXIgPSBsaW5lLnN0
1243 # cmlwKyIvcGtnY29uZmlnIgogICAgICAgICAgaWYgRmlsZS5leGlzdHM/KGRp
1244 # cikKICAgICAgICAgICAgcGF0aHMgPDwgZGlyCiAgICAgICAgICBlbmQKICAg
1245 # ICAgICB9CiAgICAgIGVuZAogICAgZW5kCiAgICAKICAgIHBhdGhzIDw8ICIv
1246 # dXNyL2xpYi9wa2djb25maWciIDw8ICIvdXNyL2xvY2FsL2xpYi9wa2djb25m
1247 # aWciIDw8IEVOVlsiSE9NRSJdLnRvX3MrIi9sb2NhbC9saWIvcGtnY29uZmln
1248 # IgogICAgCiAgICBwYXRocwogIGVuZAogIAogIGRlZiBmaW5kX2Vudl9wYXRo
1249 # cwogICAgc2VwcGF0aCA9IChEZXRlY3RPUy5vcz8gPT0gMSkgPyAiOyIgOiAi
1250 # OiIKICAgIAogICAgcGF0aHMgPSBbICIuIiBdCiAgICAoRU5WWyJQS0dfQ09O
1251 # RklHX1BBVEgiXS50b19zK3NlcHBhdGgrRU5WWyJMRF9MSUJSQVJZX1BBVEgi
1252 # XS50b19zKS5zcGxpdChzZXBwYXRoKS5lYWNoIHsgfHBhdGh8CiAgICAgIGlm
1253 # IEZpbGUuZXhpc3RzPyhwYXRoKQogICAgICAgIHBhdGhzIDw8IHBhdGgKICAg
1254 # ICAgZW5kCiAgICB9CiAgICAKICAgIHBhdGhzCiAgZW5kCiAgCiAgcHJpdmF0
1255 # ZQogIGRlZiBwYXJzZShwa2dwYXRoLCBwa2cpCiAgICByZXR1cm4gaWYgcGtn
1256 # cGF0aC5uaWw/CiAgICAKICAgIHBhcnNlciA9IFBrZ0NvbmZpZ1BhcnNlci5u
1257 # ZXcKICAgIHBhcnNlci5wYXJzZShwa2dwYXRoKQogICAgCiAgICBwYXJzZXIu
1258 # cmVxdWlyZXMuc3BsaXQoLyx8XHMvKS5lYWNoIHsgfHJlcXwKICAgICAgcmVx
1259 # LnN0cmlwIQogICAgICAKICAgICAgcGFyc2UoZmluZF9wYXRoX2Zvcl9wYWNr
1260 # YWdlKHJlcSksIHJlcSkKICAgIH0KICAgIAogICAgY2ZsYWdzID0gcGFyc2Vy
1261 # LmNmbGFncwogICAgbGlicyA9IHBhcnNlci5saWJzCiAgICAKICAgIGlmIGlk
1262 # ICE9IHBrZyBhbmQgbm90IChjZmxhZ3MuZW1wdHk/IG9yIGxpYnMuZW1wdHk/
1263 # KQogICAgICBAcmVxdWlyZXMgPDwgcGtnCiAgICBlbmQKICAgIAogICAgQGNm
1264 # bGFncyA9ICIje2NmbGFnc30gI3tAY2ZsYWdzfSIKICAgIEBsaWJzID0gIiN7
1265 # bGlic30gI3tAbGlic30iCiAgICAKICAgIG5pbAogIGVuZAogIAogIGRlZiBm
1266 # aW5kX3BhdGhfZm9yX3BhY2thZ2UocGtnKQogICAgaWYgbm90IHBrZyA9fiAv
1267 # XC5wYyQvCiAgICAgIHBrZyArPSAiLnBjIgogICAgZW5kCiAgICAKICAgIHBh
1268 # dGhzID0gQHNlYXJjaF9wYXRoCiAgICAKICAgIGlmIERldGVjdE9TLm9zPyA9
1269 # PSAxICMgV2luZG93cwogICAgICBwYXRocy5jb25jYXQgZmluZF93aW4zMl9w
1270 # YXRocwogICAgZWxzZQogICAgICBwYXRocy5jb25jYXQgZmluZF91bml4X3Bh
1271 # dGhzCiAgICBlbmQKICAgIAogICAgcGtncGF0aCA9IG5pbAogICAgcGF0aHMu
1272 # ZWFjaCB7IHxwYXRofAogICAgICB0bXBwYXRoID0gcGF0aCsiLyIrcGtnCiAg
1273 # ICAgIGlmIEZpbGUuZXhpc3RzPyh0bXBwYXRoKQogICAgICAgIHBrZ3BhdGgg
1274 # PSB0bXBwYXRoCiAgICAgIGVuZAogICAgfQogICAgCiAgICBwa2dwYXRoCiAg
1275 # ZW5kCmVuZAoKZW5kCgoKaWYgJDAgPT0gX19GSUxFX18KICBwa2djb25maWcg
1276 # PSBRb25mOjpQa2dDb25maWcubmV3CiAgcGtnY29uZmlnLmZpbmQoInRlc3Rf
1277 # cW9uZiIpCiAgCiAgcHV0cyBwa2djb25maWcubGlicwplbmQKCgAAAAAAAAAA
1278 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1279 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1280 # AAAAAAAAAHFvbmZpZ3VyZS9xbWFrZS5yYn4AAAAAAAAAAAAAAAAAAAAAAAAA
1281 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1282 # AAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAw
1283 # MDAwNzMwNAAxMDcwNDQ0NDAyMgAwMTQyMzEAIDAAAAAAAAAAAAAAAAAAAAAA
1284 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1285 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIg
1286 # IABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAA
1287 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1288 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1289 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1290 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1291 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ29wZW4zJwpyZXF1
1292 # aXJlICdkZXRlY3RvcycKCm1vZHVsZSBRb25mCgpjbGFzcyBRTWFrZQogIGRl
1293 # ZiBpbml0aWFsaXplKHBhdGhzID0gW10sIGxvZ19maWxlID0gbmlsKQogICAg
1294 # QHBhdGhzID0gWyAicW1ha2UtcXQ0IiwgInFtYWtlNCIsICJxbWFrZSIgXQog
1295 # ICAgQHBhdGhzLmNvbmNhdChwYXRocykKICAgIAogICAgaWYoICRERUJVRyAp
1296 # CiAgICAgICRzdGRlcnIgPDwgIlFNYWtlIHBhdGhzOiAiIDw8IEBwYXRocy5q
1297 # b2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBmaW5k
1298 # X3FtYWtlKCI0LjAuMCIpCiAgICAgICAgICAgIHJhaXNlICJDYW4ndCBmaW5k
1299 # IHZhbGlkIHFtYWtlIC0gcXQ0IgogICAgZW5kCiAgICAKICAgIEBsb2dfZmls
1300 # ZSA9IGxvZ19maWxlCiAgICBpZiggQGxvZ19maWxlLm5pbD8gKQogICAgICBA
1301 # bG9nX2ZpbGUgPSBvbGRsb2NhdGlvbigiY29uZmlnLmxvZyIpCiAgICBlbmQK
1302 # ICAgIAogICAgQG1ha2UgPSAibWFrZSIKICAgIAogICAgaWYgRGV0ZWN0T1Mu
1303 # b3M/ID09IDEKICAgICAgQG1ha2Vfb3B0aW9ucyA9ICIyPj4gI3tAbG9nX2Zp
1304 # bGV9IgogICAgZWxzZQogICAgICBAbWFrZV9vcHRpb25zID0gIj4+ICN7QGxv
1305 # Z19maWxlfSAyPj4gI3tAbG9nX2ZpbGV9IgogICAgZW5kCiAgZW5kCiAgICAg
1306 # ICAgCiAgZGVmIGZpbmRfcW1ha2UobWlucXR2ZXJzaW9uLCBvcCA9IDIpCiAg
1307 # ICAKICAgIAogICAgbWludmVyID0gbWlucXR2ZXJzaW9uLnNwbGl0KCIuIikK
1308 # ICAgIEBwYXRocy5lYWNoIHsgfHBhdGh8CiAgICAgIGJlZ2luCiAgICAgICAg
1309 # dmVyc2lvbiA9IFtdCiAgICAgICAgb2sgPSB0cnVlCiAgICAgICAgCiAgICAg
1310 # ICAgSU8ucG9wZW4oIiN7cGF0aH0gLXF1ZXJ5IFFUX1ZFUlNJT04gMj4gI3tu
1311 # ZXdsb2NhdGlvbigicW1ha2VfbG9nIil9IikgeyB8cHJjfAogICAgICAgICAg
1312 # dmVyc2lvbiA9IHByYy5yZWFkbGluZXMuam9pbigiIikuc3BsaXQoIi4iKQog
1313 # ICAgICAgIH0KICAgICAgICAKICAgICAgICBuZXh0IGlmICQ/ICE9IDAKICAg
1314 # ICAgICAKICAgICAgICB2ZXJzaW9uLnNpemUudGltZXMgeyB8aXwKICAgICAg
1315 # ICAgIGlmIHZlcnNpb24uc2l6ZSA8IGkgYW5kIG1pbnZlci5zaXplID49IDMK
1316 # ICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgIGVuZAogICAgICAg
1317 # ICAgCiAgICAgICAgICBjYXNlIG9wCiAgICAgICAgICAgIHdoZW4gMAogICAg
1318 # ICAgICAgICAgIGlmIHZlcnNpb25baV0gIT0gbWludmVyW2ldCiAgICAgICAg
1319 # ICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAgICAgICBicmVhawogICAg
1320 # ICAgICAgICAgIGVuZAogICAgICAgICAgICB3aGVuIDEKICAgICAgICAgICAg
1321 # ICBpZiB2ZXJzaW9uW2ldIDwgbWludmVyW2ldCiAgICAgICAgICAgICAgICBv
1322 # ayA9IGZhbHNlCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAg
1323 # IGVuZAogICAgICAgICAgICB3aGVuIDIKICAgICAgICAgICAgICBpZiB2ZXJz
1324 # aW9uW2ldIDwgbWludmVyW2ldCiAgICAgICAgICAgICAgICBvayA9IGZhbHNl
1325 # CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgIGVuZAogICAg
1326 # ICAgICAgZW5kCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmIG9rCiAg
1327 # ICAgICAgICBAcGF0aCA9IHBhdGgKICAgICAgICAgIAogICAgICAgICAgaWYg
1328 # JERFQlVHCiAgICAgICAgICAgIHB1dHMgIlVzaW5nIHFtYWtlOiAje0BwYXRo
1329 # fSAje3ZlcnNpb24uam9pbigiLiIpfSIKICAgICAgICAgIGVuZAogICAgICAg
1330 # ICAgCiAgICAgICAgICByZXR1cm4gb2sKICAgICAgICBlbmQKICAgICAgcmVz
1331 # Y3VlCiAgICAgIGVuc3VyZQogICAgICBlbmQKICAgIH0KICAKICAgIHJldHVy
1332 # biBmYWxzZQogIGVuZAogICAgICAgIAogICAgICAgIGRlZiBxdWVyeSh2YXIp
1333 # CiAgICAgICAgICAgICAgICBvdXRwdXQgPSBgI3tAcGF0aH0gLXF1ZXJ5ICN7
1334 # dmFyfWAKICAgICAgICAgICAgICAgIG91dHB1dAogICAgICAgIGVuZAogICAg
1335 # ICAgIAogICAgICAgIGRlZiBydW4oYXJncyA9ICIiLCByZWN1ciA9IGZhbHNl
1336 # KQogICAgICAgICAgICAgICAgaWYgJERFQlVHCiAgICAgICAgICAgICAgICAg
1337 # IHB1dHMgIkFSR1MgPSAje2FyZ3N9IgogICAgICAgICAgICAgICAgZW5kCiAg
1338 # ICAgICAgICAgICAgICBvcHRpb25zID0gIiIKICAgICAgICAgICAgICAgIGlm
1339 # IHJlY3VyCiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgKz0gIi1y
1340 # IgogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAKICAgICAg
1341 # ICAgICAgICAgIG91dHB1dCA9IGAje0BwYXRofSAje2FyZ3N9ICN7b3B0aW9u
1342 # c30gYAogICAgICAgICAgICAgICAgaWYgb3V0cHV0LnN0cmlwLmVtcHR5Pwog
1343 # ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQogICAgICAgICAg
1344 # ICAgICAgZW5kCgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAg
1345 # ICAgZW5kCiAgICAgICAgCiAgICAgICAgZGVmIGNvbXBpbGUKICAgICAgICAg
1346 # ICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgIElPLnBvcGVu
1347 # KCIje0BtYWtlfSBjbGVhbiAje0BtYWtlX29wdGlvbnN9IikgeyB8Y3wKICAg
1348 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgPSBjLnJlYWRs
1349 # aW5lcwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
1350 # ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB0aW1lcyA9IDAK
1351 # ICAgICAgICAgICAgICAgICAgICAgICAgZW5kY29kZSA9IDIKICAgICAgICAg
1352 # ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbGUu
1353 # b3BlbihAbG9nX2ZpbGUsICJhIiApIGRvIHxmfAogICAgICAgICAgICAgICAg
1354 # ICAgICAgICAgIGYgPDwgIj09PT09PiBDT01QSUxJTkcgXG4iCiAgICAgICAg
1355 # ICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgICAgICAgICAK
1356 # ICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgZW5kY29kZSA9PSAyIGFu
1357 # ZCB0aW1lcyA8PSAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1358 # SU8ucG9wZW4oIiN7QG1ha2V9ICN7QG1ha2Vfb3B0aW9uc30iLCAiciIpIHsg
1359 # fGN8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
1360 # dXRwdXQgPSBjLnJlYWRsaW5lcwogICAgICAgICAgICAgICAgICAgICAgICAg
1361 # ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
1362 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
1363 # ICAgICAgICAgICAgICAgICBlbmRjb2RlID0gJD8gPj4gOAogICAgICAgICAg
1364 # ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
1365 # ICAgICAgICAgIHRpbWVzICs9IDEKICAgICAgICAgICAgICAgICAgICAgICAg
1366 # ZW5kCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1367 # cmVzY3VlCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZQog
1368 # ICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAKICAgICAgICAg
1369 # ICAgICAgIGlmIGVuZGNvZGUgIT0gMAogICAgICAgICAgICAgICAgICAgICAg
1370 # ICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAg
1371 # ICAgICAgCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQogICAgICAgIGVu
1372 # ZAogICAgICAgIAogICAgICAgIGRlZiBjbGVhbl91cAogICAgICBJTy5wb3Bl
1373 # bigiI3tAbWFrZX0gZGlzdGNsZWFuIDI+PiBkaXN0Y2xlYW4iKSB7IHxjfAog
1374 # ICAgICAgICAgb3V0cHV0ID0gYy5yZWFkbGluZXMKICAgICAgfQogICAgICAg
1375 # IGVuZAplbmQKCmVuZCAjbW9kdWxlCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1376 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1377 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1378 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1379 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1380 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1381 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1382 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS90a19mcm9udGVu
1383 # ZC5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1384 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAw
1385 # MDE3NTAAMDAwMTc1MAAwMDAwMDAwNjI3MwAxMDcwNDQ1MTIyMQAwMTUyNTUA
1386 # IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1387 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1388 # AAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAA
1389 # AAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1390 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1391 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1392 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1393 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoK
1394 # CnJlcXVpcmUgJ2Zyb250ZW5kJwoKbW9kdWxlIFFvbmYKICBjbGFzcyBUa0Zy
1395 # b250ZW5kIDwgRnJvbnRlbmQKICAgIGRlZiBpbml0aWFsaXplCiAgICBlbmQK
1396 # ICAgIAogICAgZGVmIHBhcnNlKG9wdHMpCiAgICAgIHJvb3QgPSBUa1Jvb3Qu
1397 # bmV3KCkgeyB0aXRsZSAiQ29uZmlndXJlLi4uIiB9CiAgICAgIG9wdHMuZWFj
1398 # aCB7IHxvcHRpb258CiAgICAgICAgbGFiZWwgPSBUa0xhYmVsLm5ldyhyb290
1399 # KSB7IHRleHQgb3B0aW9uWzpuYW1lXSB9CiAgICAgICAgCiAgICAgICAgY2Fz
1400 # ZSBvcHRpb25bOnR5cGVdLnRvX3MuZG93bmNhc2UKICAgICAgICAgIHdoZW4g
1401 # InN0cmluZyIKICAgICAgICAgICAgZW50cnkgPSBUa0VudHJ5Lm5ldyhyb290
1402 # KQogICAgICAgICAgICBlbnRyeS5pbnNlcnQoMCwgKG9wdGlvbls6dmFsdWVd
1403 # Lm5pbD8gPyBvcHRpb25bOmRlZmF1bHRdLnRvX3MgOiBvcHRpb25bOnZhbHVl
1404 # XS50b19zICApKQogICAgICAgICAgICBUa0dyaWQuZ3JpZChsYWJlbCwgZW50
1405 # cnksICJjb2x1bW5zcGFuIiA9PiAyKQogICAgICAgICAgICAKICAgICAgICAg
1406 # ICAgb3B0aW9uWzppbnB1dF0gPSBlbnRyeQogICAgICAgICAgd2hlbiAicGF0
1407 # aCIKICAgICAgICAgICAgZW50cnkgPSBUa0VudHJ5Lm5ldyhyb290KQogICAg
1408 # ICAgICAgICBlbnRyeS5pbnNlcnQoMCwgKG9wdGlvbls6dmFsdWVdLm5pbD8g
1409 # PyBvcHRpb25bOmRlZmF1bHRdLnRvX3MgOiBvcHRpb25bOnZhbHVlXS50b19z
1410 # ICApKQogICAgICAgICAgICAKICAgICAgICAgICAgZ2V0RmlsZSA9IFRrQnV0
1411 # dG9uLm5ldyhyb290KSB7CiAgICAgICAgICAgICAgdGV4dCAiQnJvd3NlLi4u
1412 # IgogICAgICAgICAgICAgIGNvbW1hbmQgewogICAgICAgICAgICAgICAgdmFs
1413 # ID0gVGsuY2hvb3NlRGlyZWN0b3J5CiAgICAgICAgICAgICAgICAKICAgICAg
1414 # ICAgICAgICAgIGVudHJ5LnZhbHVlID0gdmFsIGlmIG5vdCB2YWwudG9fcy5l
1415 # bXB0eT8KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAg
1416 # ICAgVGtHcmlkLmdyaWQobGFiZWwsIGVudHJ5LCBnZXRGaWxlLCAiY29sdW1u
1417 # c3BhbiIgPT4gMikKICAgICAgICAgICAgCiAgICAgICAgICAgIG9wdGlvbls6
1418 # aW5wdXRdID0gZW50cnkKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgZ2l2
1419 # ZW4gPSAob3B0aW9uWzp2YWx1ZV0ubmlsPyA/IG9wdGlvbls6ZGVmYXVsdF0u
1420 # dG9fcyA6IG9wdGlvbls6dmFsdWVdLnRvX3MgICkKICAgICAgICAgICAgCiAg
1421 # ICAgICAgICAgIGlmIGdpdmVuID09ICJmYWxzZSIgb3IgZ2l2ZW4gPT0gIm5v
1422 # IiBvciBnaXZlbi5lbXB0eT8KICAgICAgICAgICAgICB2YWx1ZSA9IDAKICAg
1423 # ICAgICAgICAgZWxzZQogICAgICAgICAgICAgIHZhbHVlID0gMQogICAgICAg
1424 # ICAgICBlbmQKICAgICAgICAgICAgCiAgICAgICAgICAgIG15Y2hlY2sgPSBU
1425 # a1ZhcmlhYmxlLm5ldyh2YWx1ZSkKICAgICAgICAgICAgY2hlY2sgPSBUa0No
1426 # ZWNrQnV0dG9uLm5ldyhyb290KSB7CiAgICAgICAgICAgICAgdmFyaWFibGUg
1427 # bXljaGVjawogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAg
1428 # ICBUa0dyaWQuZ3JpZChsYWJlbCwgY2hlY2ssICJjb2x1bW5zcGFuIiA9PiAy
1429 # KQogICAgICAgICAgICAKICAgICAgICAgICAgb3B0aW9uWzppbnB1dF0gPSBt
1430 # eWNoZWNrCiAgICAgICAgZW5kCiAgICAgIH0KICAgICAgCiAgICAgIG9rID0g
1431 # VGtCdXR0b24ubmV3KHJvb3QpIHsKICAgICAgICB0ZXh0ICJPayIKICAgICAg
1432 # ICBjb21tYW5kICB7CiAgICAgICAgICBvayA9IHRydWUKICAgICAgICAgIHJl
1433 # cXVpcmVkX2ZpZWxkcyA9IFtdCiAgICAgICAgICAKICAgICAgICAgIG9wdHMu
1434 # ZWFjaCB7IHxvcHRpb258CiAgICAgICAgICAgIHZhbHVlID0gb3B0aW9uWzpk
1435 # ZWZhdWx0XQogICAgICAgICAgICBjYXNlIG9wdGlvbls6dHlwZV0uZG93bmNh
1436 # c2UKICAgICAgICAgICAgICB3aGVuICJzdHJpbmciCiAgICAgICAgICAgICAg
1437 # ICB2YWx1ZSA9IG9wdGlvbls6aW5wdXRdLnZhbHVlCiAgICAgICAgICAgICAg
1438 # d2hlbiAicGF0aCIKICAgICAgICAgICAgICAgIHZhbHVlID0gRmlsZS5leHBh
1439 # bmRfcGF0aChvcHRpb25bOmlucHV0XS52YWx1ZSkKICAgICAgICAgICAgICBl
1440 # bHNlCiAgICAgICAgICAgICAgICB2YWx1ZSA9IG9wdGlvbls6aW5wdXRdLnZh
1441 # bHVlCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICAKICAgICAgICAgICAg
1442 # aWYgb3B0aW9uWzpvcHRpb25hbF0gPT0gZmFsc2UgYW5kIHZhbHVlLnRvX3Mu
1443 # ZW1wdHk/CiAgICAgICAgICAgICAgcmVxdWlyZWRfZmllbGRzIDw8IG9wdGlv
1444 # bls6bmFtZV0KICAgICAgICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAg
1445 # IGVsc2UKICAgICAgICAgICAgICBvcHRpb25bOnZhbHVlXSA9IHZhbHVlCiAg
1446 # ICAgICAgICAgIGVuZAogICAgICAgICAgICAKICAgICAgICAgICAgb2sgPSBv
1447 # ayAmJiB0cnVlCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIGlm
1448 # IG9rCiAgICAgICAgICAgIFRrLmV4aXQKICAgICAgICAgIGVsc2UKICAgICAg
1449 # ICAgICAgVGtXYXJuaW5nLnNob3coIlRoZSBmaWVsZHMgJyN7cmVxdWlyZWRf
1450 # ZmllbGRzLmpvaW4oIiwgIil9JyBhcmUgcmVxdWlyZWQuIikKICAgICAgICAg
1451 # IGVuZAogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgY2FuY2VsID0g
1452 # VGtCdXR0b24ubmV3KHJvb3QpIHsKICAgICAgICB0ZXh0ICJDYW5jZWwiCiAg
1453 # ICAgICAgY29tbWFuZCAgewogICAgICAgICAgVGsuZXhpdAogICAgICAgICAg
1454 # ZXhpdCAwCiAgICAgICAgfQogICAgICB9CiAgICAgICAgCiAgICAgIFRrR3Jp
1455 # ZC5ncmlkKG9rLCBjYW5jZWwsICJjb2x1bW5zcGFuIiA9PiAzKQogICAgICAK
1456 # ICAgICAgVGsubWFpbmxvb3AKICAgICAgCiAgICAgIHRydWUKICAgIGVuZAog
1457 # IGVuZAplbmQKCgppZiBfX0ZJTEVfXyA9PSAkMCAjIFRlc3QKICBvcHRzID0g
1458 # W10KICBvcHRzIDw8IHs6bmFtZSA9PiAibmFtZTEiLCA6dHlwZSA9PiAiU3Ry
1459 # aW5nIiwgOmRlZmF1bHQgPT4gInZhbHVlIiwgOm9wdGlvbmFsID0+IGZhbHNl
1460 # IH0KICBvcHRzIDw8IHs6bmFtZSA9PiAibmFtZTQiLCA6dHlwZSA9PiAiUGF0
1461 # aCIsIDpkZWZhdWx0ID0+ICJ2YWx1ZSIgfQogIG9wdHMgPDwgezpuYW1lID0+
1462 # ICJuYW1lMiIsIDp0eXBlID0+ICJCb29sIiwgOmRlZmF1bHQgPT4gdHJ1ZSB9
1463 # CiAgb3B0cyA8PCB7Om5hbWUgPT4gIm5hbWUzIiwgOnR5cGUgPT4gIlZvaWQi
1464 # LCA6ZGVmYXVsdCA9PiBmYWxzZSB9CiAgCiAgdGsgPSBRb25mOjpUa0Zyb250
1465 # ZW5kLm5ldwogIHRrLnBhcnNlKG9wdHMpCiAgCiAgcHV0cyBvcHRzLmZpcnN0
1466 # Wzp2YWx1ZV0KZW5kCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1467 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1468 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1469 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1470 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1471 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1472 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1473 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvdGVzdC5yYn4A
1474 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1475 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAw
1476 # MDAxNzUwADAwMDE3NTAAMDAwMDAwMDYzMjAAMTA3MDIyMDUxMzYAMDE0MTA2
1477 # ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1478 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1479 # AAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAA
1480 # AAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1481 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1482 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1483 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1484 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJl
1485 # cXVpcmUgJ3RtcGRpcicKcmVxdWlyZSAnZmlsZXV0aWxzJwoKbW9kdWxlIFFv
1486 # bmYKICBjbGFzcyBUZXN0CiAgICBhdHRyX3JlYWRlciA6aW5jbHVkZV9wYXRo
1487 # LCA6bGlicywgOmRlZmluZXMsIDppZAogICAgCiAgICBkZWYgaW5pdGlhbGl6
1488 # ZShvcHRpb25zLCBjb25maWcsIGxvZ19maWxlID0gbmlsKQogICAgICBAb3B0
1489 # aW9ucyA9IG9wdGlvbnMKICAgICAgCiAgICAgIEBpbmNsdWRlX3BhdGggPSBb
1490 # XQogICAgICBAbGlicyA9IFtdCiAgICAgIEBkZWZpbmVzID0gW10KICAgICAg
1491 # QGlkID0gb3B0aW9uc1s6aWRdCiAgICAgIAogICAgICBAaW5jbHVkZV9wYXRo
1492 # ID0gb3B0aW9uc1s6aW5jbHVkZXBhdGhdIGlmIG5vdCBvcHRpb25zWzppbmNs
1493 # dWRlcGF0aF0ubmlsPwogICAgICBAbGlicyA8PCBvcHRpb25zWzpsaWJzXSBp
1494 # ZiBub3Qgb3B0aW9uc1s6bGlic10ubmlsPwogICAgICBAZGVmaW5lcyA9IG9w
1495 # dGlvbnNbOmRlZmluZXNdIGlmIG5vdCBvcHRpb25zWzpkZWZpbmVzXS5uaWw/
1496 # CiAgICAgIAogICAgICBAY29uZmlnID0gY29uZmlnCiAgICAgIAogICAgICBA
1497 # bG9nX2ZpbGUgPSBsb2dfZmlsZQogICAgZW5kCiAgICAKICAgIGRlZiBydW4o
1498 # cW1ha2UpCiAgICAgICMgR2VuZXJhdGUKICAgICAgcmV0ID0gZmFsc2UKICAg
1499 # ICAgY3dkID0gRGlyLmdldHdkCiAgICAgIAogICAgICBxb25mdGVzdF9kaXIg
1500 # PSAiI3tEaXI6OnRtcGRpcn0vcW9uZl90ZXN0cy4je1Byb2Nlc3MucGlkfSIK
1501 # ICAgICAgYmFzZXBhdGggPSBxb25mdGVzdF9kaXIrIi90ZXN0XyN7UHJvY2Vz
1502 # cy5waWR9IgogICAgICAKICAgICAgZmlsZXBhdGggPSBiYXNlcGF0aCsiLmNw
1503 # cCIKICAgICAgcHJvcGF0aCA9IGJhc2VwYXRoKyIucHJvIgogICAgICB0YXJn
1504 # ZXQgPSAidGVzdF8je1Byb2Nlc3MucGlkfV9hcHAiCiAgICAgIAogICAgICBi
1505 # ZWdpbgogICAgICAgIERpci5ta2Rpcihxb25mdGVzdF9kaXIpIGlmIG5vdCBG
1506 # aWxlLmV4aXN0cz8ocW9uZnRlc3RfZGlyKQogICAgICAgIEZpbGUub3Blbihm
1507 # aWxlcGF0aCwgInciKSB7IHxmfAogICAgICAgICAgCiAgICAgICAgICB3cml0
1508 # ZV90ZXN0KGYpCiAgICAgICAgICAKICAgICAgICAgIEZpbGUub3Blbihwcm9w
1509 # YXRoLCAidyIpIHsgfHBmfAogICAgICAgICAgICBwZiA8PCAiU09VUkNFUyAr
1510 # PSAiIDw8IGZpbGVwYXRoIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIlRF
1511 # TVBMQVRFID0gYXBwIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJUQVJH
1512 # RVQgPSAiIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIklOQ0xVREVQQVRI
1513 # ICs9ICIgPDwgQGluY2x1ZGVfcGF0aC5qb2luKCIgIikgPDwgIiAiIDw8IEBj
1514 # b25maWcuaW5jbHVkZV9wYXRoLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAgICAg
1515 # ICAgIHBmIDw8ICJMSUJTICs9ICIgPDwgQGxpYnMuam9pbigiICIpIDw8ICIg
1516 # IiA8PCAgQGNvbmZpZy5saWJzLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAgICAg
1517 # ICAgIHBmIDw8ICJERUZJTkVTICs9ICIgPDwgQGRlZmluZXMuam9pbigiICIp
1518 # IDw8ICIgIiA8PCBAY29uZmlnLmRlZmluZXMuam9pbigiICIpIDw8ICJcbiIK
1519 # ICAgICAgICAgICAgcGYgPDwgIkNPTkZJRyAtPSBkZWJ1ZyIgPDwgIlxuIgog
1520 # ICAgICAgICAgICBwZiA8PCAiQ09ORklHICo9IHJlbGVhc2UiIDw8ICJcbiIK
1521 # ICAgICAgICAgICAgcGYgPDwgIkRFU1RESVIgPSAje3FvbmZ0ZXN0X2Rpcn0i
1522 # IDw8ICJcbiIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAg
1523 # ICAgCiAgICAgICAgRGlyLmNoZGlyKHFvbmZ0ZXN0X2RpcikKICAgICAgICAK
1524 # ICAgICAgICBxbWFrZS5ydW4ocHJvcGF0aCkKICAgICAgICByZXQgPSBxbWFr
1525 # ZS5jb21waWxlCiAgICAgICAgcW1ha2UuY2xlYW5fdXAKICAgICAgICAKICAg
1526 # ICAgICBEaXIuY2hkaXIoY3dkKQogICAgICAgIAogICAgICAgIEZpbGUudW5s
1527 # aW5rKHRhcmdldCkgaWYgRmlsZS5leGlzdHM/KHRhcmdldCkgIyBGSVhNRTog
1528 # d2luZG93cwogICAgICAgIEZpbGUudW5saW5rKHByb3BhdGgpIGlmIEZpbGUu
1529 # ZXhpc3RzPyhwcm9wYXRoKQogICAgICAgIEZpbGUudW5saW5rKGZpbGVwYXRo
1530 # KSBpZiBGaWxlLmV4aXN0cz8oZmlsZXBhdGgpCiAgICAgICAgRmlsZVV0aWxz
1531 # LnJtX3JmKHFvbmZ0ZXN0X2RpcikKICAgICAgICAKICAgICAgcmVzY3VlID0+
1532 # IGUKICAgICAgICBwdXRzIGUKICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAg
1533 # ICAgICAgCiAgICAgICAgRGlyLmNoZGlyKGN3ZCkKICAgICAgICBGaWxlLnVu
1534 # bGluayh0YXJnZXQpIGlmIEZpbGUuZXhpc3RzPyh0YXJnZXQpICMgRklYTUU6
1535 # IHdpbmRvd3MKICAgICAgICBGaWxlLnVubGluayhwcm9wYXRoKSBpZiBGaWxl
1536 # LmV4aXN0cz8ocHJvcGF0aCkKICAgICAgICBGaWxlLnVubGluayhmaWxlcGF0
1537 # aCkgaWYgRmlsZS5leGlzdHM/KGZpbGVwYXRoKQogICAgICAgIEZpbGVVdGls
1538 # cy5ybV9yZihxb25mdGVzdF9kaXIpCiAgICAgICAgCiAgICAgICAgcmV0dXJu
1539 # IGZhbHNlCiAgICAgIGVuc3VyZQogICAgICBlbmQKICAgICAgCiAgICAgIHJl
1540 # dAogICAgZW5kCiAgICAKICAgIGRlZiBhZGRfaW5jbHVkZV9wYXRoKGluY3Bh
1541 # dGgpCiAgICAgIEBpbmNsdWRlX3BhdGggPDwgaW5jcGF0aAogICAgZW5kCiAg
1542 # ICAKICAgIGRlZiBhZGRfbGliKGxpYikKICAgICAgQGxpYnMgPDwgbGliCiAg
1543 # ICBlbmQKICAgIAogICAgZGVmIGFkZF9kZWZpbmUoZGVmaW5lKQogICAgICBA
1544 # ZGVmaW5lcyA8PCBkZWZpbmUKICAgIGVuZAogICAgCiAgICBwcml2YXRlCiAg
1545 # ICBkZWYgd3JpdGVfdGVzdChmKQogICAgICBoZWFkZXJzID0gIiIKICAgICAg
1546 # aWYgbm90IEBvcHRpb25zWzpoZWFkZXJzXS5uaWw/CiAgICAgICAgQG9wdGlv
1547 # bnNbOmhlYWRlcnNdLmVhY2ggeyB8aGVhZGVyfAogICAgICAgICAgaGVhZGVy
1548 # cyArPSAiI2luY2x1ZGUgPCN7aGVhZGVyfT5cbiIKICAgICAgICB9CiAgICAg
1549 # IGVuZAogICAgICBjb2RlID0gJUAKaW50IG1haW4oKQp7CiAgcmV0dXJuIDA7
1550 # Cn0KQAogICAgICBpZiBub3QgQG9wdGlvbnNbOmN1c3RvbV0ubmlsPwogICAg
1551 # ICAgIGNvZGUgPSBAb3B0aW9uc1s6Y3VzdG9tXQogICAgICBlbmQKICAgICAg
1552 # CiAgICAgIGYgPDwgaGVhZGVycyA8PCAiXG4iIDw8IGNvZGUgPDwgIlxuIgog
1553 # ICAgICAKICAgICAgaWYoIG5vdCBAbG9nX2ZpbGUubmlsPyApCiAgICAgICAg
1554 # RmlsZS5vcGVuKEBsb2dfZmlsZSwgImEiKSBkbyB8bGZpbGV8CiAgICAgICAg
1555 # ICBsZmlsZSA8PCAiXG5cblxuLS0tLS0tLS0tLS0tXG4iIDw8IGhlYWRlcnMg
1556 # PDwgIlxuIiA8PCBjb2RlIDw8ICJcbi0tLS0tLS0tLS0tLVxuXG5cbiIKICAg
1557 # ICAgICBlbmQKICAgICAgZW5kCiAgICBlbmQKICBlbmQKZW5kCgoAAAAAAAAA
1558 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1559 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1560 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1561 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1562 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1563 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1564 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL3Rlc3QucmIA
1565 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1566 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQA
1567 # MDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MzIwADEwNzA0NDUxMjIxADAxMzcx
1568 # MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1569 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1570 # AAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAA
1571 # AAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1572 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1573 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1574 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1575 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy
1576 # ZXF1aXJlICd0bXBkaXInCnJlcXVpcmUgJ2ZpbGV1dGlscycKCm1vZHVsZSBR
1577 # b25mCiAgY2xhc3MgVGVzdAogICAgYXR0cl9yZWFkZXIgOmluY2x1ZGVfcGF0
1578 # aCwgOmxpYnMsIDpkZWZpbmVzLCA6aWQKICAgIAogICAgZGVmIGluaXRpYWxp
1579 # emUob3B0aW9ucywgY29uZmlnLCBsb2dfZmlsZSA9IG5pbCkKICAgICAgQG9w
1580 # dGlvbnMgPSBvcHRpb25zCiAgICAgIAogICAgICBAaW5jbHVkZV9wYXRoID0g
1581 # W10KICAgICAgQGxpYnMgPSBbXQogICAgICBAZGVmaW5lcyA9IFtdCiAgICAg
1582 # IEBpZCA9IG9wdGlvbnNbOmlkXQogICAgICAKICAgICAgQGluY2x1ZGVfcGF0
1583 # aCA9IG9wdGlvbnNbOmluY2x1ZGVwYXRoXSBpZiBub3Qgb3B0aW9uc1s6aW5j
1584 # bHVkZXBhdGhdLm5pbD8KICAgICAgQGxpYnMgPDwgb3B0aW9uc1s6bGlic10g
1585 # aWYgbm90IG9wdGlvbnNbOmxpYnNdLm5pbD8KICAgICAgQGRlZmluZXMgPSBv
1586 # cHRpb25zWzpkZWZpbmVzXSBpZiBub3Qgb3B0aW9uc1s6ZGVmaW5lc10ubmls
1587 # PwogICAgICAKICAgICAgQGNvbmZpZyA9IGNvbmZpZwogICAgICAKICAgICAg
1588 # QGxvZ19maWxlID0gbG9nX2ZpbGUKICAgIGVuZAogICAgCiAgICBkZWYgcnVu
1589 # KHFtYWtlKQogICAgICAjIEdlbmVyYXRlCiAgICAgIHJldCA9IGZhbHNlCiAg
1590 # ICAgIGN3ZCA9IERpci5nZXR3ZAogICAgICAKICAgICAgcW9uZnRlc3RfZGly
1591 # ID0gIiN7RGlyOjp0bXBkaXJ9L3FvbmZfdGVzdHMuI3tQcm9jZXNzLnBpZH0i
1592 # CiAgICAgIGJhc2VwYXRoID0gcW9uZnRlc3RfZGlyKyIvdGVzdF8je1Byb2Nl
1593 # c3MucGlkfSIKICAgICAgCiAgICAgIGZpbGVwYXRoID0gYmFzZXBhdGgrIi5j
1594 # cHAiCiAgICAgIHByb3BhdGggPSBiYXNlcGF0aCsiLnBybyIKICAgICAgdGFy
1595 # Z2V0ID0gInRlc3RfI3tQcm9jZXNzLnBpZH1fYXBwIgogICAgICAKICAgICAg
1596 # YmVnaW4KICAgICAgICBEaXIubWtkaXIocW9uZnRlc3RfZGlyKSBpZiBub3Qg
1597 # RmlsZS5leGlzdHM/KHFvbmZ0ZXN0X2RpcikKICAgICAgICBGaWxlLm9wZW4o
1598 # ZmlsZXBhdGgsICJ3IikgeyB8ZnwKICAgICAgICAgIAogICAgICAgICAgd3Jp
1599 # dGVfdGVzdChmKQogICAgICAgICAgCiAgICAgICAgICBGaWxlLm9wZW4ocHJv
1600 # cGF0aCwgInciKSB7IHxwZnwKICAgICAgICAgICAgcGYgPDwgIlNPVVJDRVMg
1601 # Kz0gIiA8PCBmaWxlcGF0aCA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJU
1602 # RU1QTEFURSA9IGFwcCIgPDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiVEFS
1603 # R0VUID0gIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJJTkNMVURFUEFU
1604 # SCArPSAiIDw8IEBpbmNsdWRlX3BhdGguam9pbigiICIpIDw8ICIgIiA8PCBA
1605 # Y29uZmlnLmluY2x1ZGVfcGF0aC5qb2luKCIgIikgPDwgIlxuIgogICAgICAg
1606 # ICAgICBwZiA8PCAiTElCUyArPSAiIDw8IEBsaWJzLmpvaW4oIiAiKSA8PCAi
1607 # ICIgPDwgIEBjb25maWcubGlicy5qb2luKCIgIikgPDwgIlxuIgogICAgICAg
1608 # ICAgICBwZiA8PCAiREVGSU5FUyArPSAiIDw8IEBkZWZpbmVzLmpvaW4oIiAi
1609 # KSA8PCAiICIgPDwgQGNvbmZpZy5kZWZpbmVzLmpvaW4oIiAiKSA8PCAiXG4i
1610 # CiAgICAgICAgICAgIHBmIDw8ICJDT05GSUcgLT0gZGVidWciIDw8ICJcbiIK
1611 # ICAgICAgICAgICAgcGYgPDwgIkNPTkZJRyAqPSByZWxlYXNlIiA8PCAiXG4i
1612 # CiAgICAgICAgICAgIHBmIDw8ICJERVNURElSID0gI3txb25mdGVzdF9kaXJ9
1613 # IiA8PCAiXG4iCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAg
1614 # ICAgIAogICAgICAgIERpci5jaGRpcihxb25mdGVzdF9kaXIpCiAgICAgICAg
1615 # CiAgICAgICAgcW1ha2UucnVuKHByb3BhdGgpCiAgICAgICAgcmV0ID0gcW1h
1616 # a2UuY29tcGlsZQogICAgICAgIHFtYWtlLmNsZWFuX3VwCiAgICAgICAgCiAg
1617 # ICAgICAgRGlyLmNoZGlyKGN3ZCkKICAgICAgICAKICAgICAgICBGaWxlLnVu
1618 # bGluayh0YXJnZXQpIGlmIEZpbGUuZXhpc3RzPyh0YXJnZXQpICMgRklYTUU6
1619 # IHdpbmRvd3MKICAgICAgICBGaWxlLnVubGluayhwcm9wYXRoKSBpZiBGaWxl
1620 # LmV4aXN0cz8ocHJvcGF0aCkKICAgICAgICBGaWxlLnVubGluayhmaWxlcGF0
1621 # aCkgaWYgRmlsZS5leGlzdHM/KGZpbGVwYXRoKQogICAgICAgIEZpbGVVdGls
1622 # cy5ybV9yZihxb25mdGVzdF9kaXIpCiAgICAgICAgCiAgICAgIHJlc2N1ZSA9
1623 # PiBlCiAgICAgICAgcHV0cyBlCiAgICAgICAgcHV0cyBlLmJhY2t0cmFjZQog
1624 # ICAgICAgIAogICAgICAgIERpci5jaGRpcihjd2QpCiAgICAgICAgRmlsZS51
1625 # bmxpbmsodGFyZ2V0KSBpZiBGaWxlLmV4aXN0cz8odGFyZ2V0KSAjIEZJWE1F
1626 # OiB3aW5kb3dzCiAgICAgICAgRmlsZS51bmxpbmsocHJvcGF0aCkgaWYgRmls
1627 # ZS5leGlzdHM/KHByb3BhdGgpCiAgICAgICAgRmlsZS51bmxpbmsoZmlsZXBh
1628 # dGgpIGlmIEZpbGUuZXhpc3RzPyhmaWxlcGF0aCkKICAgICAgICBGaWxlVXRp
1629 # bHMucm1fcmYocW9uZnRlc3RfZGlyKQogICAgICAgIAogICAgICAgIHJldHVy
1630 # biBmYWxzZQogICAgICBlbnN1cmUKICAgICAgZW5kCiAgICAgIAogICAgICBy
1631 # ZXQKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX2luY2x1ZGVfcGF0aChpbmNw
1632 # YXRoKQogICAgICBAaW5jbHVkZV9wYXRoIDw8IGluY3BhdGgKICAgIGVuZAog
1633 # ICAgCiAgICBkZWYgYWRkX2xpYihsaWIpCiAgICAgIEBsaWJzIDw8IGxpYgog
1634 # ICAgZW5kCiAgICAKICAgIGRlZiBhZGRfZGVmaW5lKGRlZmluZSkKICAgICAg
1635 # QGRlZmluZXMgPDwgZGVmaW5lCiAgICBlbmQKICAgIAogICAgcHJpdmF0ZQog
1636 # ICAgZGVmIHdyaXRlX3Rlc3QoZikKICAgICAgaGVhZGVycyA9ICIiCiAgICAg
1637 # IGlmIG5vdCBAb3B0aW9uc1s6aGVhZGVyc10ubmlsPwogICAgICAgIEBvcHRp
1638 # b25zWzpoZWFkZXJzXS5lYWNoIHsgfGhlYWRlcnwKICAgICAgICAgIGhlYWRl
1639 # cnMgKz0gIiNpbmNsdWRlIDwje2hlYWRlcn0+XG4iCiAgICAgICAgfQogICAg
1640 # ICBlbmQKICAgICAgY29kZSA9ICVACmludCBtYWluKCkKewogIHJldHVybiAw
1641 # Owp9CkAKICAgICAgaWYgbm90IEBvcHRpb25zWzpjdXN0b21dLm5pbD8KICAg
1642 # ICAgICBjb2RlID0gQG9wdGlvbnNbOmN1c3RvbV0KICAgICAgZW5kCiAgICAg
1643 # IAogICAgICBmIDw8IGhlYWRlcnMgPDwgIlxuIiA8PCBjb2RlIDw8ICJcbiIK
1644 # ICAgICAgCiAgICAgIGlmKCBub3QgQGxvZ19maWxlLm5pbD8gKQogICAgICAg
1645 # IEZpbGUub3BlbihAbG9nX2ZpbGUsICJhIikgZG8gfGxmaWxlfAogICAgICAg
1646 # ICAgbGZpbGUgPDwgIlxuXG5cbi0tLS0tLS0tLS0tLVxuIiA8PCBoZWFkZXJz
1647 # IDw8ICJcbiIgPDwgY29kZSA8PCAiXG4tLS0tLS0tLS0tLS1cblxuXG4iCiAg
1648 # ICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCmVuZAoKAAAAAAAA
1649 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1654 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9jb25maWcu
1656 # cmJ+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1657 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0
1658 # ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNzA0MgAxMDcxMzM3NDAzMAAwMTQ0
1659 # MDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1660 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1661 # AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAA
1662 # AAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1663 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1664 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1665 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1666 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1667 # Cm1vZHVsZSBRb25mCgpjbGFzcyBQYWNrYWdlCiAgYXR0cl9yZWFkZXIgOmlu
1668 # Y2x1ZGVfcGF0aCwgOmxpYnMsIDptb2R1bGVzLCA6ZGVmaW5lcywgOm5hbWUK
1669 # ICBkZWYgaW5pdGlhbGl6ZShuYW1lKQogICAgQGluY2x1ZGVfcGF0aCA9IFtd
1670 # CiAgICBAbGlicyA9IFtdCiAgICBAbW9kdWxlcyA9IFtdCiAgICBAZGVmaW5l
1671 # cyA9IFtdCiAgICBAbmFtZSA9IG5hbWUKICBlbmQKICAKICBkZWYgYWRkX2lu
1672 # Y2x1ZGVfcGF0aChwYXRoKQogICAgQGluY2x1ZGVfcGF0aCA8PCBwYXRoCiAg
1673 # ZW5kCiAgCiAgZGVmIGFkZF9saWIobGliKQogICAgQGxpYnMgPDwgbGliLnRv
1674 # X3MKICBlbmQKICAKICBkZWYgYWRkX3F0bW9kdWxlKG1vZCkKICAgIEBtb2R1
1675 # bGVzIDw8IG1vZAogIGVuZAogIAogIGRlZiBhZGRfZGVmaW5lKGRlZmluZSkK
1676 # ICAgIEBkZWZpbmVzIDw8IGRlZmluZQogIGVuZAogIAogIGRlZiB3cml0ZShm
1677 # KQogICAgaWYgbm90IEBpbmNsdWRlX3BhdGguZW1wdHk/CiAgICAgICAgZiA8
1678 # PCAiSU5DTFVERVBBVEggKz0gIiA8PCBAaW5jbHVkZV9wYXRoLnVuaXEuam9p
1679 # bigiICIpIDw8ICJcbiIKICAgIGVuZAogICAgCiAgICBpZiBub3QgQGxpYnMu
1680 # ZW1wdHk/CiAgICAgICAgZiA8PCAiTElCUyArPSAiIDw8IEBsaWJzLnVuaXEu
1681 # am9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogICAgCiAgICBpZiBub3QgQG1v
1682 # ZHVsZXMuZW1wdHk/CiAgICAgICAgZiA8PCAiUVQgKz0gIiA8PCBAbW9kdWxl
1683 # cy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAgIAogICAgaWYg
1684 # bm90IEBkZWZpbmVzLmVtcHR5PwogICAgICAgIGYgPDwgIkRFRklORVMgKz0g
1685 # IiA8PCBAZGVmaW5lcy51bmlxLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQK
1686 # ICBlbmQKZW5kCgpjbGFzcyBDb25maWcgPCBQYWNrYWdlCiAgYXR0cl9yZWFk
1687 # ZXIgOmJ1aWxkX2RpcgogIGRlZiBpbml0aWFsaXplCiAgICBzdXBlcihuaWwp
1688 # CiAgICBAcW9uZl9mZWF0dXJlcyA9IFtdCiAgICBAcW9uZl9wYWNrYWdlcyA9
1689 # IFtdCiAgICBAYnVpbGRfZGlyID0gb2xkbG9jYXRpb24oIiIpKyIvX2J1aWxk
1690 # XyIKICBlbmQKCiAgZGVmIGFkZF9xb25mX3BhY2thZ2UocGtnKQogICAgQHFv
1691 # bmZfcGFja2FnZXMgPDwgcGtnCiAgZW5kCiAgCiAgZGVmIGFkZF9xb25mX2Zl
1692 # YXR1cmUoZnRyKQogICAgQHFvbmZfZmVhdHVyZXMgPDwgZnRyCiAgZW5kIAoK
1693 # ICBkZWYgaW5jbHVkZV9wYXRoCiAgICBpbmNwYXRoID0gQGluY2x1ZGVfcGF0
1694 # aAogICAgCiAgICBAcW9uZl9wYWNrYWdlcy5lYWNoIHsgfHBrZ3wKICAgICAg
1695 # ICBpbmNwYXRoLmNvbmNhdCBwa2cuaW5jbHVkZV9wYXRoCiAgICB9CiAgICAK
1696 # ICAgIGluY3BhdGgKICBlbmQKICAKICBkZWYgbGlicwogICAgbGliID0gQGxp
1697 # YnMKICAgIEBxb25mX3BhY2thZ2VzLmVhY2ggeyB8cGtnfAogICAgICAgIGxp
1698 # Yi5jb25jYXQgcGtnLmxpYnMKICAgIH0KICAgIAogICAgbGliCiAgZW5kCiAg
1699 # CiAgZGVmIGxpYnJhcnlfcGF0aAogICAgbGlic19hID0gW10KCiAgICBzcGxp
1700 # dHRlZCA9IEBsaWJzLmpvaW4oIiAiKS5zcGxpdCgiICIpCiAgICBzcGxpdHRl
1701 # ZC5lYWNoIHsgfHNwfAogICAgICAgIGlmKCBzcCA9fiAvLUwoLispXHMqLyAp
1702 # CiAgICAgICAgICAgIGxpYnNfYSA8PCAkMQogICAgICAgIGVuZAogICAgfQog
1703 # ICAgCiAgICBsaWJzX2EKICBlbmQKICAKICBkZWYgZGVmaW5lcwogICAgZGVm
1704 # cyA9IEBkZWZpbmVzCiAgICAKICAgIEBxb25mX3BhY2thZ2VzLmVhY2ggeyB8
1705 # cGtnfAogICAgICAgIGRlZnMuY29uY2F0IHBrZy5kZWZpbmVzCiAgICB9CiAg
1706 # ICAKICAgIGRlZnMKICBlbmQKICAKICBkZWYgc2F2ZShwYXRoKQogICAgaWYg
1707 # cGF0aFswXS5jaHIgPT0gRmlsZTo6U0VQQVJBVE9SCiAgICAgICAgcGF0aCA9
1708 # IHBhdGgKICAgIGVsc2UKICAgICAgICBwYXRoID0gIiN7RGlyLmdldHdkfS8j
1709 # e3BhdGh9IgogICAgZW5kCiAgICAKICAgIEZpbGUub3BlbihwYXRoLCAidyIp
1710 # IHsgfGZ8CiAgICAgICAgZiA8PCAiIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxs
1711 # eSBhdCAje1RpbWUubm93fSEgUExFQVNFIERPIE5PVCBFRElUIE1BTlVBTExZ
1712 # ISI8PCAiXG4iCiAgICAgICAgCiAgICAgICAgZiA8PCAiUFJPSkVDVF9ESVIg
1713 # PSAiIDw8IG9sZGxvY2F0aW9uKCIiKSA8PCAiXG4iCiAgICAgICAgZiA8PCAi
1714 # QlVJTERfRElSID0gI3tAYnVpbGRfZGlyfVxuIgogICAgICAgIAogICAgICAg
1715 # IGYgPDwgJ2NvbnRhaW5zKFRFTVBMQVRFLCAiYXBwIikgeycgPDwgIlxuIgog
1716 # ICAgICAgIGYgPDwgIkRFU1RESVIgPSAkJEJVSUxEX0RJUi9iaW5cbiIKICAg
1717 # ICAgICBmIDw8ICd9IGVsc2U6Y29udGFpbnMoVEVNUExBVEUsICJsaWIiKSB7
1718 # JyA8PCAiXG4iCiAgICAgICAgZiA8PCAiREVTVERJUiA9ICQkQlVJTERfRElS
1719 # L2xpYlxuIgogICAgICAgIGYgPDwgJ30gZWxzZSB7JyA8PCAiXG4iCiAgICAg
1720 # ICAgZiA8PCAiREVTVERJUiA9ICQkQlVJTERfRElSXG4iCiAgICAgICAgZiA8
1721 # PCAifVxuXG5cbiIKICAgICAgICAKICAgICAgICBmIDw8ICJMSUJTICs9IC1M
1722 # JCRCVUlMRF9ESVIvbGliXG4iCiAgICAgICAgZiA8PCAiUkVMQVRJVkVfUEFU
1723 # SCA9ICQkcmVwbGFjZShfUFJPX0ZJTEVfUFdEXywgJCRQUk9KRUNUX0RJUiwg
1724 # IiIpXG4iCiAgICAgICAgZiA8PCAiQ1VSUkVOVF9CVUlMRF9ESVIgPSAkJEJV
1725 # SUxEX0RJUiQkUkVMQVRJVkVfUEFUSFxuIgogICAgICAgIAppZiBEZXRlY3RP
1726 # Uy5vcz8gIT0gMSAjIERpc2FibGVkIGJlY2F1c2UgV2luZG93cyBzdWNrcy4K
1727 # ICAgICAgICBmIDw8ICJPQkpFQ1RTX0RJUiA9ICQkQ1VSUkVOVF9CVUlMRF9E
1728 # SVJcbiIKICAgICAgICBmIDw8ICJNT0NfRElSID0gJCRDVVJSRU5UX0JVSUxE
1729 # X0RJUlxuIgogICAgICAgIGYgPDwgIlVJX0RJUiA9ICQkQ1VSUkVOVF9CVUlM
1730 # RF9ESVJcblxuIgplbmQKICAgICAgICAKICAgICAgICB3cml0ZShmKQogICAg
1731 # ICAgIAogICAgICAgIAogICAgICAgIGYgPDwgIlFPTkZfRkVBVFVSRVMgKz0g
1732 # IiA8PCBAcW9uZl9wYWNrYWdlcy5tYXAgeyB8ZXwgZS5uYW1lIH0uam9pbigi
1733 # ICIpICA8PCAiXG4iCiAgICAgICAgZiA8PCAiUU9ORl9GRUFUVVJFUyArPSAi
1734 # IDw8IEBxb25mX2ZlYXR1cmVzLmpvaW4oIiAiKSAgPDwgIlxuIgogICAgICAg
1735 # IAogICAgICAgIGYgPDwgIlxuZGVmaW5lVGVzdChsaW5rX3dpdGgpIHsiIDw8
1736 # ICJcbiIKICAgICAgICBmIDw8ICIgIHJldCA9IGZhbHNlXG4iCiAgICAgICAg
1737 # QHFvbmZfcGFja2FnZXMuZWFjaCB7IHxxb25mfAogICAgICAgICAgZiA8PCAl
1738 # QCAgY29udGFpbnMoJCRsaXN0KCQkc3BsaXQoMSkpICwiI3txb25mLm5hbWV9
1739 # Iikge1xuQAogICAgICAgICAgZiA8PCAiICAgIHJldCA9IHRydWVcbiIKICAg
1740 # ICAgICAgIGYgPDwgIiAgICBtZXNzYWdlKD0+IExpbmtpbmcgcW9uZiBtb2R1
1741 # bGU6ICN7cW9uZi5uYW1lfSlcbiIKICAgICAgICAgIHFvbmYud3JpdGUoZikK
1742 # ICAgICAgICAgIGYgPDwgIiAgfVxuIgogICAgICAgIH0KICAgICAgICBmIDw8
1743 # ICIgIGV4cG9ydChJTkNMVURFUEFUSClcbiIKICAgICAgICBmIDw8ICIgIGV4
1744 # cG9ydChMSUJTKVxuIgogICAgICAgIGYgPDwgIiAgZXhwb3J0KFFUKVxuIgog
1745 # ICAgICAgIGYgPDwgIiAgZXhwb3J0KERFRklORVMpXG4iCiAgICAgICAgZiA8
1746 # PCAiICByZXR1cm4oJCRyZXQpXG4iCiAgICAgICAgZiA8PCAifVxuIgogICAg
1747 # fQogIGVuZAplbmQKCmVuZAoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1748 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1749 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1750 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1751 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1752 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1753 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1754 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1755 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1756 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1757 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1758 # AHFvbmZpZ3VyZS9zZXR1cF9yYi50cGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1759 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1760 # AAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNjIz
1761 # NwAxMDcwNDQ1MTIyMQAwMTQ3NTcAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1762 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1763 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3
1764 # ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAA
1765 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1766 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1767 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1768 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1769 # AAAAAAAAAAAAAAAAAAAAAAAACgoKIyBzZXR1cCBpcyBhIG9iamVjdCB0aGF0
1770 # IGhlbHBzIHRvIGNvbmZpZ3VyZSB0aGUgcHJvamVjdAojIEl0IGNvbnRhaW5z
1771 # IHNvbWUgbWV0aG9kcyBsaWtlOgojICAgYWRkX29wdGlvbgojICAgZmluZF9w
1772 # YWNrYWdlCiMgICBhZGRfdGVzdAojICAgZ2VuZXJhdGVfcGtnY29uZmlnCmRl
1773 # ZiBjb25maWd1cmUoc2V0dXApCiMjIyMgCiMjIyMgVmVyaWZ5IGZvciBRdCB2
1774 # ZXJzaW9uLgojIyMjIAojIHNldHVwLnF0ID49ICI0LjIuMCIKCiMjIyMgCiMj
1775 # IyMgYWRkX29wdGlvbiBhZGRzIGFuIG9wdGlvbiB0byB0aGUgc2NyaXB0LCBp
1776 # dCBoYXMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgojIyMjIDpuYW1lICAgICAg
1777 # ICAgVGhlIG5hbWUgb2YgdGhlIG9wdGlvbi4KIyMjIyA6dHlwZSAgICAgICAg
1778 # IFRoZSB0eXBlIG9mIHRoZSBvcHRpb24gKCJwYXRoIiwgInN0cmluZyIsICJi
1779 # b29sIiBvciAidm9pZCIpLgojIyMjIDpvcHRpb25hbCAgICAgU2F5cyBpZiB0
1780 # aGUgb3B0aW9uIGlzIHJlcXVpcmVkIG9yIG5vdC4KIyMjIyA6ZGVzY3JpcHRp
1781 # b24gIERlc2NyaXB0aW9uIG9mIHRoZSBvcHRpb24KIyMjIyA6ZGVmYXVsdCAg
1782 # ICAgIFRoZSBkZWZhdWx0IHZhbHVlCiMjIyMgCiMgICBzZXR1cC5hZGRfb3B0
1783 # aW9uKDpuYW1lID0+ICJvcHRpb24tbmFtZSIsIDp0eXBlID0+ICJwYXRoIiwg
1784 # Om9wdGlvbmFsID0+IGZhbHNlLCA6ZGVzY3JpcHRpb24gPT4gIlNldHMgYW4g
1785 # b3B0aW9uIikKICAKIyMjIyAKIyMjIyBmaW5kX3BhY2thZ2Ugc2VhcmNoIGZv
1786 # ciBhIHBrZ2NvbmZpZyBzcGVjIGluIHlvdXIgY29tcHV0ZXIsIGl0IHNlYXJj
1787 # aCBpbiB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxl
1788 # IG9yIExEX0xJQlJBUllfUEFUSAojIyMjIFRoZSBvcHRpb25zIGFyZToKIyMj
1789 # IyA6bmFtZSAgICAgICBQYWNrYWdlIG5hbWUKIyMjIyA6b3B0aW9uYWwgICBU
1790 # cnVlIGlmIHRoZSBwYWNrYWdlIGlzIG9wdGlvbmFsCiMjIyMgOmdsb2JhbCAg
1791 # ICAgTGluayBnbG9iYWxseQojIyMjIAojICAgc2V0dXAuZmluZF9wYWNrYWdl
1792 # KDpuYW1lID0+ICJkYnVzLTEiLCA6b3B0aW9uYWwgPT4gZmFsc2UsIDpnbG9i
1793 # YWwgPT4gdHJ1ZSkKCiMjIyMgCiMjIyMgYWRkX3Rlc3QgYWRkcyBhbmQgcnVu
1794 # IGEgdGVzdCBmb3Igc29tZSBmZWF0dXJlIG9yIHBhY2thZ2UsIHRoZSBvcHRp
1795 # b25zIGFyZToKIyMjIyAgIDppZCAgICAgICAgICAgVGhlIGlkIG9mIHRoZSB0
1796 # ZXN0CiMjIyMgICA6bmFtZSAgICAgICAgIFRoZSB0ZXN0IG5hbWUKIyMjIyAg
1797 # IDpkZWZpbmVzICAgICAgRGVmaW5lcyB0byB0ZXN0CiMjIyMgICA6aW5jbHVk
1798 # ZXBhdGggIEEgbGlzdCB3aXRoIHRoZSBpbmNsdWRlIHBhdGgKIyMjIyAgIDps
1799 # aWJzICAgICAgICAgVGhlIGxpYnMgcmVxdWlyZWQgZm9yIHRoZSB0ZXN0CiMj
1800 # IyMgICA6b3B0aW9uYWwgICAgIFRydWUgaWYgdGhlIHRlc3QgaXMgb3B0aW9u
1801 # YWwKIyMjIyAgIDpjdXN0b20gICAgICAgQSBjb2RlIHRvIHRlc3QKIyMjIyAg
1802 # IDpnbG9iYWwgICAgICAgTGluayBnbG9iYWxseQojIyMjIAojIHNldHVwLmFk
1803 # ZF90ZXN0KDppZCA9PiAiZmVhdHVyZSIsIDpuYW1lID0+ICJGZWF0dXJlIHN1
1804 # cHBvcnQiLCA6ZGVmaW5lcyA9PiBbIkhBVkVfRkVBVFVSRSJdLCA6b3B0aW9u
1805 # YWwgPT4gdHJ1ZSwgOmhlYWRlcnMgPT4gWyJmZWF0dXJlLmgiXSwgOmxpYnMg
1806 # PT4gIi1sZmVhdHVyZSIsIDpnbG9iYWwgPT4gdHJ1ZSAgKQoKIyMjIyAKIyMj
1807 # IyBnZW5lcmF0ZV9wa2djb25maWcgR2VuZXJhdGVzIGEgc2ltcGxlIHBrZ2Nv
1808 # bmZpZyBmaWxlCiMjIyMgVGhlIG9wdGlvbnMgYXJlOgojIyMjICAgOnBhY2th
1809 # Z2VfbmFtZSAgVGhlIHBhY2thZ2UgbmFtZSAKIyMjIyAgIDpuYW1lICAgICAg
1810 # ICAgIFRoZSBhcHBsaWNhdGlvbiBuYW1lCiMjIyMgICA6ZGVzY3JpcHRpb24g
1811 # ICBUaGUgYXBwbGljYXRpb24gZGVzY3JpcHRpb24KIyMjIyAgIDp2ZXJzaW9u
1812 # ICAgICAgIFRoZSB2ZXJzaW9uIG9mIHRoZSBhcHBsaWNhdGlvbgojIyMjICAg
1813 # OmxpYmRpciAgICAgICAgVGhlIGRpcmVjdG9yeSB3aGVyZSBsaWJyYXJpZXMg
1814 # YXJlLCBieSBkZWZhdWx0IGlzICQocHJlZml4KS9saWIKIyMjIyAgIDppbmNs
1815 # dWRlZGlyICAgIFRoZSBkaXJlY3Rvcnkgd2hlcmUgaGVhZGVycyBhcmUsIGJ5
1816 # IGRlZmF1bHQgaXMgJChwcmVmaXgpL2luY2x1ZGUKIyMjIyAgIDpsaWJzICAg
1817 # ICAgICAgIExpYnJhcmllcyB0aGF0IGxpbmtzIHRoZSBwYWNrYWdlCiMjIyMg
1818 # ICA6Y2ZsYWdzICAgICAgICBDZmxhZ3MgZm9yIHRoZSBwYWNrYWdlCiMjIyMg
1819 # ICA6cmVxdWlyZXMgICAgICBBIGxpc3Qgb2YgcGFja2FnZSBuYW1lcyByZXF1
1820 # aXJlZCBmb3IgdGhpcyBwYWNrYWdlLgojIyMjIAojIHNldHVwLmdlbmVyYXRl
1821 # X3BrZ2NvbmZpZyg6cGFja2FnZV9uYW1lID0+ICJkbGliLWVkaXRvciIsIDpu
1822 # YW1lID0+ICJETGliIFF0IGxpYnJhcnkiLCA6ZGVzY3JpcHRpb24gPT4gIkEg
1823 # ZXh0ZW5zaW9uIGZvciBRdDQiLCA6dmVyc2lvbiA9PiAiMC4xYmV0YSIsIDps
1824 # aWJkaXIgPT4gbmlsLCA6aW5jbHVkZWRpciA9PiBuaWwsIDpsaWJzID0+ICIt
1825 # TCR7bGliZGlyfSAtbGRjb3JlIC1sZGd1aSAtbGRlZGl0b3IiLCA6Y2ZsYWdz
1826 # ID0+ICItSSR7aW5jbHVkZWRpcn0iLCA6cmVxdWlyZXMgPT4gWyJzb21lcGFj
1827 # a2FnZSIsICJvdGhlcnBhY2thZ2UiIF0gKQplbmQKCiMgVGhpcyBtZXRob2Qg
1828 # aXMgY2FsbGVkIGJlZm9yZSB0byBzZWFyY2ggYSBwYWNrYWdlCmRlZiBzZXR1
1829 # cF9wa2djb25maWcocGtnY29uZmlnLCBhcmdzKQojICAgY2FzZSBwa2djb25m
1830 # aWcuaWQKIyAgICAgd2hlbiAiZGJ1cy0xIgojICAgICAgIHBrZ2NvbmZpZy5h
1831 # ZGRfc2VhcmNoX3BhdGgoIi9hL3BhdGgvdG8vdGhlL3BjIikKIyAgIGVuZApl
1832 # bmQKCmRlZiBzZXR1cF90ZXN0KGlkLCB0c3QsIGFyZ3MpCiMgICBjYXNlIGlk
1833 # CiMgICAgIHdoZW4gImZlYXR1cmUiCiMgICAgICAgdHN0LmFkZF9kZWZpbmUo
1834 # Ik1ZREVGSU5FIikKIyAgICAgICB0c3QuYWRkX2xpYigiLWxteWxpYiIpCiMg
1835 # ICAgICAgdHN0LmFkZF9pbmNsdWRlX3BhdGgoIi9zb21lL2luY2x1ZGUvcGF0
1836 # aC9yZXF1aXJlZC90by9jb21waWxlL3RoZS90ZXN0IikKIyAgIGVuZAplbmQK
1837 # CmRlZiBzZXR1cF9jb25maWcoY2ZnLCBhcmdzKQojICAgY2ZnLmFkZF9pbmNs
1838 # dWRlX3BhdGggRmlsZS5leHBhbmRfcGF0aCgic3JjIikKIyAgIGNmZy5hZGRf
1839 # ZGVmaW5lKCJfX1NURENfQ09OU1RBTlRfTUFDUk9TIikKIyAgIGNmZy5hZGRf
1840 # cXRtb2R1bGUoInhtbCIpCiMgICBjZmcuYWRkX3F0bW9kdWxlKCJuZXR3b3Jr
1841 # IikKZW5kCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1842 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1843 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1844 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1845 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1846 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1847 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1848 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1849 # AABxb25maWd1cmUvcW1ha2UucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1850 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1851 # AAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDcz
1852 # MzMAMTA3MDQ0NTEyMjEAMDE0MDM0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1853 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1854 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jh
1855 # d2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAA
1856 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1857 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1858 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1859 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1860 # AAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICdvcGVuMycKcmVxdWlyZSAn
1861 # ZGV0ZWN0b3MnCgptb2R1bGUgUW9uZgoKY2xhc3MgUU1ha2UKICBhdHRyX3Jl
1862 # YWRlciA6cGF0aAogIAogIGRlZiBpbml0aWFsaXplKHBhdGhzID0gW10sIGxv
1863 # Z19maWxlID0gbmlsKQogICAgQHBhdGhzID0gWyAicW1ha2UtcXQ0IiwgInFt
1864 # YWtlNCIsICJxbWFrZSIgXQogICAgQHBhdGhzLmNvbmNhdChwYXRocykKICAg
1865 # IAogICAgaWYoICRERUJVRyApCiAgICAgICRzdGRlcnIgPDwgIlFNYWtlIHBh
1866 # dGhzOiAiIDw8IEBwYXRocy5qb2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAg
1867 # ICAKICAgIGlmIG5vdCBmaW5kX3FtYWtlKCI0LjAuMCIpCiAgICAgICAgICAg
1868 # IHJhaXNlICJDYW4ndCBmaW5kIHZhbGlkIHFtYWtlIC0gcXQ0IgogICAgZW5k
1869 # CiAgICAKICAgIEBsb2dfZmlsZSA9IGxvZ19maWxlCiAgICBpZiggQGxvZ19m
1870 # aWxlLm5pbD8gKQogICAgICBAbG9nX2ZpbGUgPSBvbGRsb2NhdGlvbigiY29u
1871 # ZmlnLmxvZyIpCiAgICBlbmQKICAgIAogICAgQG1ha2UgPSAibWFrZSIKICAg
1872 # IAogICAgaWYgRGV0ZWN0T1Mub3M/ID09IDEKICAgICAgQG1ha2Vfb3B0aW9u
1873 # cyA9ICIyPj4gI3tAbG9nX2ZpbGV9IgogICAgZWxzZQogICAgICBAbWFrZV9v
1874 # cHRpb25zID0gIj4+ICN7QGxvZ19maWxlfSAyPj4gI3tAbG9nX2ZpbGV9Igog
1875 # ICAgZW5kCiAgZW5kCiAgICAgICAgCiAgZGVmIGZpbmRfcW1ha2UobWlucXR2
1876 # ZXJzaW9uLCBvcCA9IDIpCiAgICAKICAgIAogICAgbWludmVyID0gbWlucXR2
1877 # ZXJzaW9uLnNwbGl0KCIuIikKICAgIEBwYXRocy5lYWNoIHsgfHBhdGh8CiAg
1878 # ICAgIGJlZ2luCiAgICAgICAgdmVyc2lvbiA9IFtdCiAgICAgICAgb2sgPSB0
1879 # cnVlCiAgICAgICAgCiAgICAgICAgSU8ucG9wZW4oIiN7cGF0aH0gLXF1ZXJ5
1880 # IFFUX1ZFUlNJT04gMj4gI3tuZXdsb2NhdGlvbigicW1ha2VfbG9nIil9Iikg
1881 # eyB8cHJjfAogICAgICAgICAgdmVyc2lvbiA9IHByYy5yZWFkbGluZXMuam9p
1882 # bigiIikuc3BsaXQoIi4iKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBu
1883 # ZXh0IGlmICQ/ICE9IDAKICAgICAgICAKICAgICAgICB2ZXJzaW9uLnNpemUu
1884 # dGltZXMgeyB8aXwKICAgICAgICAgIGlmIHZlcnNpb24uc2l6ZSA8IGkgYW5k
1885 # IG1pbnZlci5zaXplID49IDMKICAgICAgICAgICAgICAgICAgYnJlYWsKICAg
1886 # ICAgICAgIGVuZAogICAgICAgICAgCiAgICAgICAgICBjYXNlIG9wCiAgICAg
1887 # ICAgICAgIHdoZW4gMAogICAgICAgICAgICAgIGlmIHZlcnNpb25baV0gIT0g
1888 # bWludmVyW2ldCiAgICAgICAgICAgICAgICBvayA9IGZhbHNlCiAgICAgICAg
1889 # ICAgICAgICBicmVhawogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICB3
1890 # aGVuIDEKICAgICAgICAgICAgICBpZiB2ZXJzaW9uW2ldIDwgbWludmVyW2ld
1891 # CiAgICAgICAgICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAgICAgICBi
1892 # cmVhawogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICB3aGVuIDIKICAg
1893 # ICAgICAgICAgICBpZiB2ZXJzaW9uW2ldIDwgbWludmVyW2ldCiAgICAgICAg
1894 # ICAgICAgICBvayA9IGZhbHNlCiAgICAgICAgICAgICAgICBicmVhawogICAg
1895 # ICAgICAgICAgIGVuZAogICAgICAgICAgZW5kCiAgICAgICAgfQogICAgICAg
1896 # IAogICAgICAgIGlmIG9rCiAgICAgICAgICBAcGF0aCA9IHBhdGgKICAgICAg
1897 # ICAgIAogICAgICAgICAgaWYgJERFQlVHCiAgICAgICAgICAgIHB1dHMgIlVz
1898 # aW5nIHFtYWtlOiAje0BwYXRofSAje3ZlcnNpb24uam9pbigiLiIpfSIKICAg
1899 # ICAgICAgIGVuZAogICAgICAgICAgCiAgICAgICAgICByZXR1cm4gb2sKICAg
1900 # ICAgICBlbmQKICAgICAgcmVzY3VlCiAgICAgIGVuc3VyZQogICAgICBlbmQK
1901 # ICAgIH0KICAKICAgIHJldHVybiBmYWxzZQogIGVuZAogICAgICAgIAogICAg
1902 # ICAgIGRlZiBxdWVyeSh2YXIpCiAgICAgICAgICAgICAgICBvdXRwdXQgPSBg
1903 # I3tAcGF0aH0gLXF1ZXJ5ICN7dmFyfWAKICAgICAgICAgICAgICAgIG91dHB1
1904 # dAogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIGRlZiBydW4oYXJncyA9
1905 # ICIiLCByZWN1ciA9IGZhbHNlKQogICAgICAgICAgICAgICAgaWYgJERFQlVH
1906 # CiAgICAgICAgICAgICAgICAgIHB1dHMgIkFSR1MgPSAje2FyZ3N9IgogICAg
1907 # ICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBvcHRpb25zID0gIiIK
1908 # ICAgICAgICAgICAgICAgIGlmIHJlY3VyCiAgICAgICAgICAgICAgICAgICAg
1909 # ICAgIG9wdGlvbnMgKz0gIi1yIgogICAgICAgICAgICAgICAgZW5kCiAgICAg
1910 # ICAgICAgICAgICAKICAgICAgICAgICAgICAgIG91dHB1dCA9IGAje0BwYXRo
1911 # fSAje2FyZ3N9ICN7b3B0aW9uc30gYAogICAgICAgICAgICAgICAgaWYgb3V0
1912 # cHV0LnN0cmlwLmVtcHR5PwogICAgICAgICAgICAgICAgICAgICAgICByZXR1
1913 # cm4gdHJ1ZQogICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICAgICAg
1914 # cmV0dXJuIGZhbHNlCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgZGVm
1915 # IGNvbXBpbGUKICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAg
1916 # ICAgICAgICAgIElPLnBvcGVuKCIje0BtYWtlfSBjbGVhbiAje0BtYWtlX29w
1917 # dGlvbnN9IikgeyB8Y3wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1918 # ICBvdXRwdXQgPSBjLnJlYWRsaW5lcwogICAgICAgICAgICAgICAgICAgICAg
1919 # ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
1920 # ICAgICAgICB0aW1lcyA9IDAKICAgICAgICAgICAgICAgICAgICAgICAgZW5k
1921 # Y29kZSA9IDIKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1922 # ICAgICAgICAgICAgIEZpbGUub3BlbihAbG9nX2ZpbGUsICJhIiApIGRvIHxm
1923 # fAogICAgICAgICAgICAgICAgICAgICAgICAgIGYgPDwgIj09PT09PiBDT01Q
1924 # SUxJTkcgXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIGVuZAogICAgICAg
1925 # ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgd2hp
1926 # bGUgZW5kY29kZSA9PSAyIGFuZCB0aW1lcyA8PSAzCiAgICAgICAgICAgICAg
1927 # ICAgICAgICAgICAgICAgICAgSU8ucG9wZW4oIiN7QG1ha2V9ICN7QG1ha2Vf
1928 # b3B0aW9uc30iLCAiciIpIHsgfGN8CiAgICAgICAgICAgICAgICAgICAgICAg
1929 # ICAgICAgICAgICAgICAgICBvdXRwdXQgPSBjLnJlYWRsaW5lcwogICAgICAg
1930 # ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
1931 # ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1932 # ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRjb2RlID0g
1933 # JD8gPj4gOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
1934 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzICs9IDEKICAgICAg
1935 # ICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAgICAgICAg
1936 # IAogICAgICAgICAgICAgICAgcmVzY3VlCiAgICAgICAgICAgICAgICAgICAg
1937 # ICAgIHJldHVybiBmYWxzZQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAg
1938 # ICAgICAgICAKICAgICAgICAgICAgICAgIGlmIGVuZGNvZGUgIT0gMAogICAg
1939 # ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgICAgICAg
1940 # ICAgIGVuZAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICByZXR1
1941 # cm4gdHJ1ZQogICAgICAgIGVuZAogICAgICAgIAogICAgICAgIGRlZiBjbGVh
1942 # bl91cAogICAgICBJTy5wb3BlbigiI3tAbWFrZX0gZGlzdGNsZWFuIDI+PiBk
1943 # aXN0Y2xlYW4iKSB7IHxjfAogICAgICAgICAgb3V0cHV0ID0gYy5yZWFkbGlu
1944 # ZXMKICAgICAgfQogICAgICAgIGVuZAplbmQKCmVuZCAjbW9kdWxlCgoKAAAA
1945 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1946 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1947 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1948 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1949 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1950 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1951 # AAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcGtnY29uZmlnLnJifgAA
1952 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1953 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUw
1954 # ADAwMDE3NTAAMDAwMDAwMDY2MjcAMTA3MTM0MjUyNjUAMDE1MTIxACAwAAAA
1955 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1956 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1957 # AAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1958 # AABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1959 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1960 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1961 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1962 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKcmVxdWly
1963 # ZSAnZGV0ZWN0b3MnCgptb2R1bGUgUW9uZgoKY2xhc3MgUGtnQ29uZmlnUGFy
1964 # c2VyCiAgZGVmIGluaXRpYWxpemUKICAgIEB2YXJpYWJsZXMgPSB7fQogICAg
1965 # QHNwZWNzID0ge30KICBlbmQKICAKICBkZWYgcGFyc2UocGF0aCkKICAgIEZp
1966 # bGUub3BlbihwYXRoKSB7IHxmaWxlfAogICAgICBmaWxlLmVhY2ggeyB8bGlu
1967 # ZXwKICAgICAgICBpZiBsaW5lID1+IC8oXHcrKT0oLiopJC8KICAgICAgICAg
1968 # IEB2YXJpYWJsZXNbJDFdID0gJDIKICAgICAgICBlbHNpZiBsaW5lID1+IC8o
1969 # XHcrKTpccyguKikkLwogICAgICAgICAgQHNwZWNzWyQxXSA9ICQyCiAgICAg
1970 # ICAgZW5kCiAgICAgIH0KICAgIH0KICBlbmQKICAKICBkZWYgdmFsdWUodmFy
1971 # aWFibGUpCiAgICB2YWwgPSBAdmFyaWFibGVzW3ZhcmlhYmxlXQogICAgd2hp
1972 # bGUgdmFsID1+IC8oXCRceyhcdyspXH0pLwogICAgICB2YWwuZ3N1YiEoJDEs
1973 # IHZhbHVlKCQyKSkKICAgIGVuZAogICAgCiAgICB2YWwKICBlbmQKICAKICBk
1974 # ZWYgc3BlYyh2YXJpYWJsZSkKICAgIHZhbCA9IEBzcGVjc1t2YXJpYWJsZV0K
1975 # ICAgIHdoaWxlIHZhbCA9fiAvKFwkXHsoXHcrKVx9KS8KICAgICAgdmFsLmdz
1976 # dWIhKCQxLCB2YWx1ZSgkMikpCiAgICBlbmQKICAgIAogICAgdmFsCiAgZW5k
1977 # CiAgCiAgZGVmIGxpYnMKICAgIHNwZWMoIkxpYnMiKQogIGVuZAogIAogIGRl
1978 # ZiBjZmxhZ3MKICAgIHNwZWMoIkNmbGFncyIpCiAgZW5kCiAgCiAgZGVmIHJl
1979 # cXVpcmVzCiAgICBzcGVjKCJSZXF1aXJlcyIpLnRvX3MKICBlbmQKZW5kCgpj
1980 # bGFzcyBQa2dDb25maWcKICBhdHRyX3JlYWRlciA6aWQsIDpsaWJzLCA6Y2Zs
1981 # YWdzLCA6cmVxdWlyZXMKICAKICBkZWYgaW5pdGlhbGl6ZShpZCkKICAgIEBp
1982 # ZCA9IGlkCiAgICBAc2VhcmNoX3BhdGggPSBbXQogICAgQHJlcXVpcmVzID0g
1983 # W10KICBlbmQKICAKICBkZWYgZmluZChwa2cpCiAgICBwa2dwYXRoID0gZmlu
1984 # ZF9wYXRoX2Zvcl9wYWNrYWdlKHBrZykKICAgIAogICAgaWYgbm90IHBrZ3Bh
1985 # dGgubmlsPwogICAgICBAY2ZsYWdzID0gIiIKICAgICAgQGxpYnMgPSAiIgog
1986 # ICAgICBwYXJzZShwa2dwYXRoLCBwa2cpCiAgICAgIAogICAgICByZXR1cm4g
1987 # dHJ1ZQogICAgZW5kCiAgICAKICAgIGZhbHNlCiAgZW5kCiAgCiAgZGVmIGFk
1988 # ZF9zZWFyY2hfcGF0aChwYXRoKQogICAgaWYgcGF0aC5raW5kX29mPyhBcnJh
1989 # eSkKICAgICAgQHNlYXJjaF9wYXRoLmNvbmNhdChwYXRoKQogICAgZWxzZQog
1990 # ICAgICBAc2VhcmNoX3BhdGggPDwgcGF0aC50b19zCiAgICBlbmQKICBlbmQK
1991 # ICAKICBkZWYgaW5jbHVkZV9wYXRoCiAgICBpbmNwYXRoID0gW10KICAgIGNm
1992 # bGFncyA9IEBjZmxhZ3MuZHVwCiAgICB3aGlsZSBjZmxhZ3MgPX4gLygtSSgo
1993 # XHc6KXswLDF9KFtcL1xcXVx3KykrKSkvCiAgICAgIGluY3BhdGggPDwgJDIK
1994 # ICAgICAgY2ZsYWdzLnN1YiEoJDEsICIiKQogICAgZW5kCiAgICAKICAgIGlu
1995 # Y3BhdGgudW5pcQogIGVuZAogIAogIGRlZiBkZWZpbmVzCiAgICBkZWZpbmVz
1996 # ID0gW10KICAgIGNmbGFncyA9IEBjZmxhZ3MuZHVwCiAgICB3aGlsZSBjZmxh
1997 # Z3MgPX4gLygtRFxzKigoXFdcdyspKykpLwogICAgICBkZWZpbmVzIDw8ICQy
1998 # CiAgICAgIGRlZmluZXMuc3ViISgkMSwgIiIpCiAgICBlbmQKICAgIAogICAg
1999 # ZGVmaW5lcy51bmlxCiAgZW5kCiAgCiAgZGVmIGZpbmRfd2luMzJfcGF0aHMK
2000 # ICAgIHBhdGhzID0gZmluZF9lbnZfcGF0aHMKICAgIAogICAgCiAgICBwYXRo
2001 # cwogIGVuZAogIAogIGRlZiBmaW5kX3VuaXhfcGF0aHMKICAgIHBhdGhzID0g
2002 # ZmluZF9lbnZfcGF0aHMKICAgIGlmIEZpbGUuZXhpc3RzPygiL2V0Yy9sZC5z
2003 # by5jb25mIikKICAgICAgRmlsZS5vcGVuKCIvZXRjL2xkLnNvLmNvbmYiKSBk
2004 # byB8ZmlsZXwKICAgICAgICBmaWxlLmVhY2ggeyB8bGluZXwKICAgICAgICAg
2005 # IGRpciA9IGxpbmUuc3RyaXArIi9wa2djb25maWciCiAgICAgICAgICBpZiBG
2006 # aWxlLmV4aXN0cz8oZGlyKQogICAgICAgICAgICBwYXRocyA8PCBkaXIKICAg
2007 # ICAgICAgIGVuZAogICAgICAgIH0KICAgICAgZW5kCiAgICBlbmQKICAgIAog
2008 # ICAgcGF0aHMgPDwgIi91c3IvbGliL3BrZ2NvbmZpZyIgPDwgIi91c3IvbG9j
2009 # YWwvbGliL3BrZ2NvbmZpZyIgPDwgRU5WWyJIT01FIl0udG9fcysiL2xvY2Fs
2010 # L2xpYi9wa2djb25maWciCiAgICAKICAgIHBhdGhzCiAgZW5kCiAgCiAgZGVm
2011 # IGZpbmRfZW52X3BhdGhzCiAgICBzZXBwYXRoID0gKERldGVjdE9TLm9zPyA9
2012 # PSAxKSA/ICI7IiA6ICI6IgogICAgCiAgICBwYXRocyA9IFsgIi4iIF0KICAg
2013 # IChFTlZbIlBLR19DT05GSUdfUEFUSCJdLnRvX3Mrc2VwcGF0aCtFTlZbIkxE
2014 # X0xJQlJBUllfUEFUSCJdLnRvX3MpLnNwbGl0KHNlcHBhdGgpLmVhY2ggeyB8
2015 # cGF0aHwKICAgICAgaWYgRmlsZS5leGlzdHM/KHBhdGgpCiAgICAgICAgcGF0
2016 # aHMgPDwgcGF0aAogICAgICBlbmQKICAgIH0KICAgIAogICAgcGF0aHMKICBl
2017 # bmQKICAKICBwcml2YXRlCiAgZGVmIHBhcnNlKHBrZ3BhdGgsIHBrZykKICAg
2018 # IHJldHVybiBpZiBwa2dwYXRoLm5pbD8KICAgIAogICAgcGFyc2VyID0gUGtn
2019 # Q29uZmlnUGFyc2VyLm5ldwogICAgcGFyc2VyLnBhcnNlKHBrZ3BhdGgpCiAg
2020 # ICAKICAgIHBhcnNlci5yZXF1aXJlcy5zcGxpdCgvLHxccy8pLmVhY2ggeyB8
2021 # cmVxfAogICAgICByZXEuc3RyaXAhCiAgICAgIAogICAgICBwYXJzZShmaW5k
2022 # X3BhdGhfZm9yX3BhY2thZ2UocmVxKSwgcmVxKQogICAgfQogICAgCiAgICBj
2023 # ZmxhZ3MgPSBwYXJzZXIuY2ZsYWdzCiAgICBsaWJzID0gcGFyc2VyLmxpYnMK
2024 # ICAgIAogICAgaWYgaWQgIT0gcGtnIGFuZCBub3QgKGNmbGFncy5lbXB0eT8g
2025 # b3IgbGlicy5lbXB0eT8pCiAgICAgIEByZXF1aXJlcyA8PCBwa2cKICAgIGVu
2026 # ZAogICAgCiAgICBAY2ZsYWdzID0gIiN7Y2ZsYWdzfSAje0BjZmxhZ3N9Igog
2027 # ICAgQGxpYnMgPSAiI3tsaWJzfSAje0BsaWJzfSIKICAgIAogICAgbmlsCiAg
2028 # ZW5kCiAgCiAgZGVmIGZpbmRfcGF0aF9mb3JfcGFja2FnZShwa2cpCiAgICBp
2029 # ZiBub3QgcGtnID1+IC9cLnBjJC8KICAgICAgcGtnICs9ICIucGMiCiAgICBl
2030 # bmQKICAgIAogICAgcGF0aHMgPSBAc2VhcmNoX3BhdGgKICAgIAogICAgaWYg
2031 # RGV0ZWN0T1Mub3M/ID09IDEgIyBXaW5kb3dzCiAgICAgIHBhdGhzLmNvbmNh
2032 # dCBmaW5kX3dpbjMyX3BhdGhzCiAgICBlbHNlCiAgICAgIHBhdGhzLmNvbmNh
2033 # dCBmaW5kX3VuaXhfcGF0aHMKICAgIGVuZAogICAgCiAgICBwa2dwYXRoID0g
2034 # bmlsCiAgICBwYXRocy5lYWNoIHsgfHBhdGh8CiAgICAgIHRtcHBhdGggPSBw
2035 # YXRoKyIvIitwa2cKICAgICAgaWYgRmlsZS5leGlzdHM/KHRtcHBhdGgpCiAg
2036 # ICAgICAgcGtncGF0aCA9IHRtcHBhdGgKICAgICAgZW5kCiAgICB9CiAgICAK
2037 # ICAgIHBrZ3BhdGgKICBlbmQKZW5kCgplbmQKCgppZiAkMCA9PSBfX0ZJTEVf
2038 # XwogIHBrZ2NvbmZpZyA9IFFvbmY6OlBrZ0NvbmZpZy5uZXcKICBwa2djb25m
2039 # aWcuZmluZCgidGVzdF9xb25mIikKICAKICBwdXRzIHBrZ2NvbmZpZy5saWJz
2040 # CmVuZAoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2041 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2042 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL2Zyb250ZW5kLnJiAAAA
2043 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2044 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1
2045 # MAAwMDAxNzUwADAwMDAwMDAwMTI0ADEwNzA0NDUxMjIxADAxNDU0NAAgMAAA
2046 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2047 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2048 # AAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2049 # AAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2050 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2051 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2052 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2053 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKbW9kdWxl
2054 # IFFvbmYKCmNsYXNzIEZyb250ZW5kCiAgZGVmIGluaXRpYWxpemUKICBlbmQK
2055 # ICAKICBkZWYgcGFyc2UKICBlbmQKZW5kCgplbmQKCgoAAAAAAAAAAAAAAAAA
2056 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2057 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2058 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2059 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2060 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2061 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2062 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2063 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2064 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2065 # AAAAAAAAAAAAAHFvbmZpZ3VyZS9mcm9udGVuZGZhY3RvcnkucmIAAAAAAAAA
2066 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2067 # AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAw
2068 # MDAwMDAwMDY0MwAxMDcwNDQ1MTIyMQAwMTYxNDIAIDAAAAAAAAAAAAAAAAAA
2069 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2070 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
2071 # YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtyYXdlawAA
2072 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2073 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2074 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2075 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2076 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ3BsYWluX2Zy
2077 # b250ZW5kJwoKbW9kdWxlIFFvbmYKCmNsYXNzIEZyb250ZW5kRmFjdG9yeQog
2078 # IGRlZiBzZWxmLmNyZWF0ZShuYW1lID0gInRrIikKICAgIGNhc2UgbmFtZQog
2079 # ICAgICB3aGVuICJwbGFpbiIKICAgICAgICBQbGFpbkZyb250ZW5kLm5ldwog
2080 # ICAgICB3aGVuICJ0ayIKICAgICAgICBoYXZlX3RrID0gZmFsc2UKCiAgICAg
2081 # ICAgYmVnaW4KICAgICAgICAgIGhhdmVfdGsgPSByZXF1aXJlICd0aycKICAg
2082 # ICAgICByZXNjdWUgTG9hZEVycm9yCiAgICAgICAgICByZXR1cm4gY3JlYXRl
2083 # KCJwbGFpbiIpCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgcmVxdWly
2084 # ZSAndGtfZnJvbnRlbmQnCiAgICAgICAgVGtGcm9udGVuZC5uZXcKICAgICAg
2085 # ZWxzZQogICAgICAgIG5pbAogICAgZW5kCiAgZW5kCmVuZAoKZW5kCgoAAAAA
2086 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2087 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx
2088 # b25maWd1cmUvbWFrZWZpbGUucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2089 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2090 # AAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDMyNzUA
2091 # MTA3MTMzNTQ3MDQAMDE0NTI0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2092 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2093 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2Vr
2094 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrcmF3ZWsAAAAAAAAAAAAAAAAA
2095 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2096 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2097 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2098 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2099 # AAAAAAAAAAAAAAAAAAAAAA0KcmVxdWlyZSAncmJjb25maWcnDQoNCm1vZHVs
2100 # ZSBRb25mDQogIGNsYXNzIE1ha2VmaWxlDQogICAgZGVmIHNlbGYuZmluZF9t
2101 # YWtlZmlsZXMocGF0aCkNCiAgICAgIG1ha2VmaWxlcyA9IFtdDQogICAgICBE
2102 # aXIuZm9yZWFjaChwYXRoKSB7IHxmfA0KICAgICAgICBmaWxlID0gIiN7cGF0
2103 # aH0vI3tmfSINCiAgICAgICAgaWYgRmlsZS5zdGF0KGZpbGUpLmRpcmVjdG9y
2104 # eT8NCiAgICAgICAgICBpZiBub3QgZiA9fiAvXlwuLw0KICAgICAgICAgICAg
2105 # bWFrZWZpbGVzLmNvbmNhdCBmaW5kX21ha2VmaWxlcyhmaWxlKQ0KICAgICAg
2106 # ICAgIGVuZA0KICAgICAgICBlbHNpZiBmLmRvd25jYXNlID1+IC9ebWFrZWZp
2107 # bGUoLmRlYnVnfC5yZWxlYXNlKXswLDF9Lw0KICAgICAgICAgIG1ha2VmaWxl
2108 # cyA8PCBmaWxlDQogICAgICAgIGVuZA0KICAgICAgfQ0KICAgICAgbWFrZWZp
2109 # bGVzDQogICAgZW5kDQogICAgDQogICAgZGVmIHNlbGYub3ZlcnJpZGUobWFr
2110 # ZWZpbGUsIGRlc3RkaXIsIHN0YXR1c0ZpbGUpDQogICAgICBuZXdtYWtlZmls
2111 # ZSA9ICIiDQogICAgICANCiAgICAgIHJ1YnlfYmluID0gIiN7OjpDb25maWc6
2112 # OkNPTkZJR1siYmluZGlyIl19LyN7OjpDb25maWc6OkNPTkZJR1sicnVieV9p
2113 # bnN0YWxsX25hbWUiXX0iDQogICAgICANCiAgICAgIEZpbGUub3BlbihtYWtl
2114 # ZmlsZSwgInIiKSB7IHxmfA0KICAgICAgICBsaW5lcyA9IGYucmVhZGxpbmVz
2115 # DQogICAgICAgIA0KICAgICAgICBpZiBGaWxlOjpBTFRfU0VQQVJBVE9SDQog
2116 # ICAgICAgICAgZGVzdGRpci5nc3ViISgiLyIsIEZpbGU6OkFMVF9TRVBBUkFU
2117 # T1IpDQogICAgICAgIGVuZA0KICAgICAgICANCiAgICAgICAgaW5kZXggPSAw
2118 # DQogICAgICAgIHJlcGxhY2VkID0gZmFsc2UNCiAgICAgICAgd2hpbGUgaW5k
2119 # ZXggPCBsaW5lcy5zaXplDQogICAgICAgICAgbGluZSA9IGxpbmVzW2luZGV4
2120 # XQ0KICAgICAgICAgIGlmIGxpbmUgPX4gL15ccytbQF17MCwxfVwkXChRTUFL
2121 # RVwpLw0KICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0gbGluZQ0KICAgICAg
2122 # ICAgICAgbmV3bWFrZWZpbGUgKz0gIlx0I3tydWJ5X2Jpbn0gI3tzdGF0dXNG
2123 # aWxlfSAje21ha2VmaWxlfVxuIg0KICAgICAgICAgICAgaW5kZXggKz0gMQ0K
2124 # ICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIGlmIG5vdCByZXBsYWNlZA0K
2125 # ICAgICAgICAgICAgICBpZiBsaW5lID1+IC9eSU5TVEFMTF9ESVIvDQogICAg
2126 # ICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0gIklOU1RBTExfUk9PVCA9ICN7
2127 # ZGVzdGRpcn1cbiINCiAgICAgICAgICAgICAgICByZXBsYWNlZCA9IHRydWUN
2128 # CiAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICBlbHNlDQogICAgICAg
2129 # ICAgICAgIGlmIGxpbmUgPX4gL1wkXChJTlNUQUxMX1JPT1RcKS8NCiAgICAg
2130 # ICAgICAgICAgICBpZiBGaWxlOjpBTFRfU0VQQVJBVE9SDQogICAgICAgICAg
2131 # ICAgICAgICBsaW5lLmdzdWIhKCIvIiwgRmlsZTo6QUxUX1NFUEFSQVRPUikN
2132 # CiAgICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgICAgZW5kDQogICAg
2133 # ICAgICAgICBlbmQNCiAgICAgICAgICAgIG5ld21ha2VmaWxlICs9IGxpbmUN
2134 # CiAgICAgICAgICBlbmQNCiAgICAgICAgICBpbmRleCArPSAxDQogICAgICAg
2135 # IGVuZA0KICAgICAgfQ0KICAgICAgDQogICAgICBGaWxlLm9wZW4obWFrZWZp
2136 # bGUsICJ3IikgeyB8ZnwNCiAgICAgICAgZiA8PCBuZXdtYWtlZmlsZQ0KICAg
2137 # ICAgfQ0KICAgIGVuZA0KICBlbmQNCmVuZA0KDQoNCgAAAAAAAAAAAAAAAAAA
2138 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2139 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2140 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2141 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2142 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2143 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2144 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmln
2145 # dXJlL2luaXQucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2146 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2147 # AAAAADAwMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAwMzA2ADEwNzA0
2148 # NDUxMjIxADAxMzY3MgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2149 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2150 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAA
2151 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAA
2152 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2153 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2154 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2155 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2156 # AAAAAAAAAAAAAAAKcmVxdWlyZSAncW9uZicKCkRpci5jaGRpcihGaWxlLmRp
2157 # cm5hbWUob2xkbG9jYXRpb24oInFvbmYucmIiKSkpCgpxb25mID0gUW9uZjo6
2158 # Q29uZmlndXJlLm5ldwpxb25mLmdldF9hcmdzKEFSR1YpCnFvbmYuZmluZF9w
2159 # YWNrYWdlcwpxb25mLnJ1bl90ZXN0cwoKcW9uZi5zYXZlKCJjb25maWcucHJp
2160 # IikKCnFvbmYuZ2VuZXJhdGVfbWFrZWZpbGVzCgoAAAAAAAAAAAAAAAAAAAAA
2161 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2162 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2163 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2164 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2165 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2166 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2167 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9xb25mLnJi
2168 # fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2169 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0
2170 # ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAzMjMzNwAxMDcxMzQyNTQ2NAAwMTQx
2171 # MTMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2172 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2173 # AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAA
2174 # AAAAAAAAAAAAAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2175 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2176 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2177 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2178 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2179 # CnJlcXVpcmUgJ3Rlc3QnCnJlcXVpcmUgJ3BrZ2NvbmZpZycKcmVxdWlyZSAn
2180 # ZnJvbnRlbmRmYWN0b3J5JwpyZXF1aXJlICdjb25maWcnCnJlcXVpcmUgJ3Ft
2181 # YWtlJwpyZXF1aXJlICdtYWtlZmlsZScKCm1vZHVsZSBRb25mCiAgVkVSU0lP
2182 # TiA9ICIwLjUiLmZyZWV6ZQogIFZFUlNJT05fREFURSA9ICIyMDA3LTEwLTE0
2183 # IgogIAogIGNsYXNzIFF0VmVyc2lvbgogICAgYXR0cl9yZWFkZXIgOnZlcnNp
2184 # b24sIDpvcCAjIDA6IGVxdWFsIDE6IGdyZWF0ZXIgMjogZ3JlYXRlciBlcXVh
2185 # bAogICAgCiAgICBkZWYgaW5pdGlhbGl6ZSh2ZXJzaW9uKQogICAgICBAb3Ag
2186 # PSAyCiAgICAgIHBhcnNlKHZlcnNpb24pCiAgICBlbmQKICAgIAogICAgZGVm
2187 # ID09KHZlcikKICAgICAgQG9wID0gMAogICAgICBwYXJzZSh2ZXIpCiAgICBl
2188 # bmQKICAgIAogICAgZGVmID4odmVyKQogICAgICBAb3AgPSAxCiAgICAgIHBh
2189 # cnNlKHZlcikKICAgIGVuZAogICAgCiAgICBkZWYgPj0odmVyKQogICAgICBA
2190 # b3AgPSAyCiAgICAgIHBhcnNlKHZlcikKICAgIGVuZAogICAgCiAgICBkZWYg
2191 # dG9fcwogICAgICBzID0gIlF0ICIKICAgICAgY2FzZSBAb3AKICAgICAgICB3
2192 # aGVuIDAKICAgICAgICAgIHMrPSI9PSIKICAgICAgICB3aGVuIDEKICAgICAg
2193 # ICAgIHMrPSI+IgogICAgICAgIGVsc2UKICAgICAgICAgIHMrPSI+PSIKICAg
2194 # ICAgZW5kCiAgICAgIHMrPSAiICIrQHZlcnNpb24KICAgICAgCiAgICAgIHMK
2195 # ICAgIGVuZAogICAgCiAgICBwcml2YXRlCiAgICBkZWYgcGFyc2UodmVyc2lv
2196 # bikKICAgICAgQHZlcnNpb24gPSB2ZXJzaW9uLnRvX3MKICAgICAgdmVyID0g
2197 # QHZlcnNpb24udG9fcy5zcGxpdCgnLicpCiAgICAgIHNpemUgPSB2ZXIuc2l6
2198 # ZQogICAgICAgIAogICAgICBmaW5hbHZlciA9IFtdCiAgICAgIDMudGltZXMg
2199 # eyB8aXwKICAgICAgICB0cCA9IHZlcltpXQogICAgICAgIAogICAgICAgIGlm
2200 # IHRwLm5pbD8KICAgICAgICAgIHRwID0gIjAiCiAgICAgICAgZW5kCiAgICAg
2201 # ICAgCiAgICAgICAgZmluYWx2ZXIgPDwgdHAKICAgICAgfQogICAgICAKICAg
2202 # ICAgQHZlcnNpb24gPSBmaW5hbHZlci5qb2luKCIuIikKICAgIGVuZAogIGVu
2203 # ZAogIAogIGNsYXNzIFNldHVwCiAgICBhdHRyX3JlYWRlciA6b3B0aW9ucywg
2204 # OnBhY2thZ2VzLCA6dGVzdHMsIDpwa2dfY29uZmlncwogICAgZGVmIGluaXRp
2205 # YWxpemUKICAgICAgQG9wdGlvbnMgPSBbXQogICAgICBAcGFja2FnZXMgPSBb
2206 # XQogICAgICBAdGVzdHMgPSBbXQogICAgICBAcGtnX2NvbmZpZ3MgPSBbXQog
2207 # ICAgICBAcXRfdmVyc2lvbiA9IFF0VmVyc2lvbi5uZXcoIjQuMC4wIikKICAg
2208 # ICAgCiAgICAgIGFkZF9vcHRpb24oOm5hbWUgPT4gInByZWZpeCIsIDp0eXBl
2209 # ID0+ICJwYXRoIiwgOmRlZmF1bHQgPT4gIi91c3IvbG9jYWwvIiwgOm9wdGlv
2210 # bmFsID0+IHRydWUsIDpkZXNjcmlwdGlvbiA9PiAiU2V0cyB0aGUgaW5zdGFs
2211 # bCBwcmVmaXgiKQogICAgZW5kCiAgICAKICAgIGRlZiBhZGRfb3B0aW9uKG9w
2212 # dGlvbikKICAgICAgaWYgbm90IG9wdGlvbls6dHlwZV0ubmlsPwogICAgICAg
2213 # IG9wdGlvbls6dHlwZV0uZG93bmNhc2UhCiAgICAgIGVuZAogICAgICAKICAg
2214 # ICAgQG9wdGlvbnMgPDwgb3B0aW9uCiAgICBlbmQKICAgIAogICAgZGVmIGZp
2215 # bmRfcGFja2FnZShvcHRpb25zKQogICAgICBAcGFja2FnZXMgPDwgb3B0aW9u
2216 # cwogICAgZW5kCiAgICAKICAgIGRlZiBhZGRfdGVzdChvcHRpb24pCiAgICAg
2217 # IHJhaXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgbmFtZSB0byB0aGUgdGVzdCIg
2218 # aWYgb3B0aW9uWzpuYW1lXS50b19zLmVtcHR5PwogICAgICByYWlzZSAiUGxl
2219 # YXNlIHNldCBhIHZhbGlkIGlkIHRvIHRoZSB0ZXN0IiBpZiBvcHRpb25bOmlk
2220 # XS50b19zLmVtcHR5PwogICAgICAKICAgICAgQHRlc3RzIDw8IG9wdGlvbgog
2221 # ICAgZW5kCiAgICAKICAgIGRlZiBnZW5lcmF0ZV9wa2djb25maWcob3B0aW9u
2222 # cykKICAgICAgcmFpc2UgIlBsZWFzZSBzZXQgYSB2YWxpZCBuYW1lIiBpZiBv
2223 # cHRpb25zWzpwYWNrYWdlX25hbWVdLnRvX3MuZW1wdHk/CiAgICAgIEBwa2df
2224 # Y29uZmlncyA8PCBvcHRpb25zCiAgICBlbmQKICAgIAogICAgZGVmIHF0CiAg
2225 # ICAgIEBxdF92ZXJzaW9uCiAgICBlbmQKICAgIAogIGVuZAogIAogIGNsYXNz
2226 # IENvbmZpZ3VyZQogICAgZGVmIGluaXRpYWxpemUKICAgICAgQGFyZ3VtZW50
2227 # cyA9IHt9CiAgICAgIEBjb25maWcgPSBDb25maWcubmV3CiAgICAgIAogICAg
2228 # ICBAbG9nX2ZpbGUgPSBvbGRsb2NhdGlvbigiY29uZmlnLmxvZyIpCiAgICAg
2229 # IAogICAgICBGaWxlLm9wZW4oQGxvZ19maWxlLCAidyIpIGRvIHxmfAogICAg
2230 # ICAgIGYgPDwgIj09PT09PT0+IEdlbmVyYXRlZCBhdCAje1RpbWUubm93fSA8
2231 # PT09PT09PVxuIgogICAgICBlbmQKICAgICAgCiAgICAgIHFtYWtlX3BhdGhz
2232 # ID0gW10KICAgICAgaWYoIERldGVjdE9TLm9zPyAhPSAxICkgIyBVbml4CiAg
2233 # ICAgICAgSU8ucG9wZW4oImxvY2F0ZSAtciAvcW1ha2UkIDI+ICN7bmV3bG9j
2234 # YXRpb24oJ2xvY2F0ZV9sb2cnKX0iKSB7IHxwcmN8CiAgICAgICAgICBwcmVf
2235 # cGF0aHMgPSBwcmMucmVhZGxpbmVzCiAgICAgICAgICBwcmVfcGF0aHMuZWFj
2236 # aCB7IHxxbXwKICAgICAgICAgICAgcW0uc3RyaXAhCiAgICAgICAgICAgIGlm
2237 # IEZpbGUuZXhpc3RzPyhxbSkKICAgICAgICAgICAgICBzdGF0ID0gRmlsZS5z
2238 # dGF0KHFtKQogICAgICAgICAgICAgIAogICAgICAgICAgICAgIGlmIChub3Qg
2239 # KHN0YXQuc3ltbGluaz8gb3Igc3RhdC5kaXJlY3Rvcnk/KSkgYW5kIHN0YXQu
2240 # ZXhlY3V0YWJsZT8KICAgICAgICAgICAgICAgIHFtYWtlX3BhdGhzIDw8IHFt
2241 # CiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgICAg
2242 # fQogICAgICAgIH0KICAgICAgZW5kCiAgICAgIAogICAgICBAcW1ha2UgPSBR
2243 # TWFrZS5uZXcocW1ha2VfcGF0aHMsIEBsb2dfZmlsZSkKICAgICAgCiAgICAg
2244 # IGNmZyA9IFNldHVwLm5ldwogICAgICBjb25maWd1cmUoY2ZnKQogICAgICAK
2245 # ICAgICAgcHJpbnQgIj0+IFNlYXJjaGluZyBmb3IgI3tjZmcucXR9Li4uICIK
2246 # ICAgICAgaWYgQHFtYWtlLmZpbmRfcW1ha2UoY2ZnLnF0LnZlcnNpb24sIGNm
2247 # Zy5xdC5vcCkKICAgICAgICBwdXRzICIoI3tAcW1ha2UucGF0aH0pIFtZRVNd
2248 # IgogICAgICBlbHNlCiAgICAgICAgcHV0cyAiW05PXSIKICAgICAgICBleGl0
2249 # KC0xKQogICAgICBlbmQKICAgICAgCiAgICAgIEBvcHRpb25zID0gY2ZnLm9w
2250 # dGlvbnMKICAgICAgQHBhY2thZ2VzID0gY2ZnLnBhY2thZ2VzCiAgICAgIEB0
2251 # ZXN0cyA9IGNmZy50ZXN0cwogICAgICBAcGtnX2NvbmZpZ3MgPSBjZmcucGtn
2252 # X2NvbmZpZ3MKICAgICAgQHN0YXR1c0ZpbGUgPSBEaXIuZ2V0d2QrIi91cGRh
2253 # dGUtbWFrZWZpbGUiCiAgICBlbmQKICAgIAogICAgZGVmIGZpbmRfcGFja2Fn
2254 # ZXMgIyBUT0RPOiBzb3BvcnRhciBpbmZvcm1hY2lvbiBwYXJhIGVsIHNpc3Rl
2255 # bWEgb3BlcmF0aXZvIHNvYnJlIGNvbW8gaW5zdGFsYXIgZWwgcGFxdWV0ZQog
2256 # ICAgICBAcGFja2FnZXMuZWFjaCB7IHxwYWNrYWdlfAogICAgICAgIHByaW50
2257 # ICI9PiBTZWFyY2hpbmcgZm9yIHBhY2thZ2U6ICN7cGFja2FnZVs6bmFtZV19
2258 # Li4uICAiCiAgICAgICAgcGtnY29uZmlnID0gUGtnQ29uZmlnLm5ldyhwYWNr
2259 # YWdlWzpuYW1lXSkKICAgICAgICBwa2djb25maWcuYWRkX3NlYXJjaF9wYXRo
2260 # KCIje0Bhcmd1bWVudHNbInByZWZpeCJdfS8iKQogICAgICAgIGJlZ2luCiAg
2261 # ICAgICAgICBzZXR1cF9wa2djb25maWcocGtnY29uZmlnLCBAYXJndW1lbnRz
2262 # KQogICAgICAgIHJlc2N1ZSBOb01ldGhvZEVycm9yID0+IGUKICAgICAgICAg
2263 # IGlmIG5vdCBlLm1lc3NhZ2UgPX4gL3NldHVwX3BrZ2NvbmZpZy8KICAgICAg
2264 # ICAgICAgcHV0cyAiRXJyb3I6ICN7ZS5tZXNzYWdlfSIKICAgICAgICAgICAg
2265 # cHV0cyBlLmJhY2t0cmFjZQogICAgICAgICAgICBleGl0KC0xKQogICAgICAg
2266 # ICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgaWYgbm90IHBr
2267 # Z2NvbmZpZy5maW5kKHBhY2thZ2VbOm5hbWVdKQogICAgICAgICAgcHV0cyAi
2268 # W05PXSIKICAgICAgICAgIAogICAgICAgICAgb3B0aW9uYWwgPSBwYWNrYWdl
2269 # WzpvcHRpb25hbF0ubmlsPyA/IGZhbHNlIDogcGFja2FnZVs6b3B0aW9uYWxd
2270 # CiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBvcHRpb25hbAogICAgICAg
2271 # ICAgICBwdXRzICI9PiBUaGUgcGFja2FnZSAnI3twYWNrYWdlWzpuYW1lXX0n
2272 # IGlzIHJlcXVpcmVkLiIKICAgICAgICAgICAgZXhpdCgtMSkKICAgICAgICAg
2273 # IGVuZAogICAgICAgIGVsc2UKICAgICAgICAgIHB1dHMgIltZRVNdIgogICAg
2274 # ICAgICAgZ2xvYmFsID0gcGFja2FnZVs6Z2xvYmFsXS5uaWw/ID8gZmFsc2Ug
2275 # OiBwYWNrYWdlWzpnbG9iYWxdCiAgICAgICAgICAKICAgICAgICAgIHFvbmZw
2276 # a2cgPSBAY29uZmlnCiAgICAgICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9i
2277 # YWwKICAgICAgICAgICAgcW9uZnBrZyA9IFBhY2thZ2UubmV3KHBhY2thZ2Vb
2278 # Om5hbWVdKQogICAgICAgICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIAoj
2279 # ICAgICAgICAgICBwa2djb25maWcucmVxdWlyZXMuZWFjaCB7IHxyZXF8CiMg
2280 # ICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdlKHJlcSkKIyAg
2281 # ICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICBxb25mcGtnLmFkZF9s
2282 # aWIocGtnY29uZmlnLmxpYnMpCiAgICAgICAgICAKICAgICAgICAgIHBrZ2Nv
2283 # bmZpZy5pbmNsdWRlX3BhdGguZWFjaCB7IHxpbmNwYXRofAogICAgICAgICAg
2284 # ICBxb25mcGtnLmFkZF9pbmNsdWRlX3BhdGgoaW5jcGF0aCkKICAgICAgICAg
2285 # IH0KICAgICAgICAgIAogICAgICAgICAgcGtnY29uZmlnLmRlZmluZXMuZWFj
2286 # aCB7IHxkZWZpbmV8CiAgICAgICAgICAgIHFvbmZwa2cuYWRkX2RlZmluZShk
2287 # ZWZpbmUpCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIGlmIG5v
2288 # dCBnbG9iYWwKICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9wYWNrYWdl
2289 # KHFvbmZwa2cpCiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIEBjb25maWcu
2290 # YWRkX3FvbmZfZmVhdHVyZShwYWNrYWdlWzpuYW1lXSkKICAgICAgICAgIGVu
2291 # ZAogICAgICAgIGVuZAogICAgICB9CiAgICBlbmQKICAgIAogICAgZGVmIHJ1
2292 # bl90ZXN0cwogICAgICBAdGVzdHMuZWFjaCB7IHx0ZXN0b3B0fAogICAgICAg
2293 # IHByaW50ICI9PiBUZXN0aW5nICN7dGVzdG9wdFs6bmFtZV19Li4uICAiCiAg
2294 # ICAgICAgCiAgICAgICAgdHN0ID0gVGVzdC5uZXcodGVzdG9wdCwgQGNvbmZp
2295 # ZywgQGxvZ19maWxlKQogICAgICAgIAogICAgICAgIGJlZ2luCiAgICAgICAg
2296 # ICBzZXR1cF90ZXN0KHRlc3RvcHRbOmlkXSwgdHN0LCBAYXJndW1lbnRzKQog
2297 # ICAgICAgIHJlc2N1ZSBOb01ldGhvZEVycm9yID0+IGUKICAgICAgICAgIGlm
2298 # IG5vdCBlLm1lc3NhZ2UgPX4gL3NldHVwX3Rlc3QvCiAgICAgICAgICAgIHB1
2299 # dHMgIkVycm9yOiAje2V9IgogICAgICAgICAgICBwdXRzIGUuYmFja3RyYWNl
2300 # CiAgICAgICAgICAgIGV4aXQoLTEpCiAgICAgICAgICBlbmQKICAgICAgICBl
2301 # bmQKICAgICAgICAKICAgICAgICBvcHRpb25hbCA9IHRlc3RvcHRbOm9wdGlv
2302 # bmFsXS5uaWw/ID8gZmFsc2UgOiB0ZXN0b3B0WzpvcHRpb25hbF0KICAgICAg
2303 # ICBpZiB0c3QucnVuKEBxbWFrZSkKICAgICAgICAgIGdsb2JhbCA9IHRlc3Rv
2304 # cHRbOmdsb2JhbF0ubmlsPyA/IGZhbHNlIDogdGVzdG9wdFs6Z2xvYmFsXQog
2305 # ICAgICAgICAgCiAgICAgICAgICBxb25mcGtnID0gQGNvbmZpZwogICAgICAg
2306 # ICAgCiAgICAgICAgICBpZiBub3QgZ2xvYmFsCiAgICAgICAgICAgIHFvbmZw
2307 # a2cgPSBQYWNrYWdlLm5ldyh0c3QuaWQpCiAgICAgICAgICBlbmQKICAgICAg
2308 # ICAgIAogICAgICAgICAgdHN0LmluY2x1ZGVfcGF0aC5lYWNoIHsgfGluY3Bh
2309 # dGh8CiAgICAgICAgICAgIHFvbmZwa2cuYWRkX2luY2x1ZGVfcGF0aChpbmNw
2310 # YXRoKQogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICB0c3QuZGVm
2311 # aW5lcy5lYWNoIHsgfGRlZmluZXwKICAgICAgICAgICAgcW9uZnBrZy5hZGRf
2312 # ZGVmaW5lKGRlZmluZSkKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAg
2313 # ICAgcW9uZnBrZy5hZGRfbGliKHRzdC5saWJzLnRvX3MpCiAgICAgICAgICAK
2314 # ICAgICAgICAgIGlmIG5vdCBnbG9iYWwKICAgICAgICAgICAgQGNvbmZpZy5h
2315 # ZGRfcW9uZl9wYWNrYWdlKHFvbmZwa2cpCiAgICAgICAgICBlbHNlCiAgICAg
2316 # ICAgICAgIEBjb25maWcuYWRkX3FvbmZfZmVhdHVyZSh0c3QuaWQpCiAgICAg
2317 # ICAgICBlbmQKICAgICAgICAgIHB1dHMgIltPS10iCiAgICAgICAgZWxzZQog
2318 # ICAgICAgICAgcHV0cyAiW0ZBSUxFRF0iCiAgICAgICAgICAKICAgICAgICAg
2319 # IGlmIG5vdCBvcHRpb25hbAogICAgICAgICAgICBwdXRzICI9PiAje3Rlc3Rv
2320 # cHRbOm5hbWVdfSBpcyByZXF1aXJlZCIKICAgICAgICAgICAgZXhpdCgtMSkK
2321 # ICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgICB9CiAgICBlbmQKICAg
2322 # IAogICAgZGVmIGdlbmVyYXRlX21ha2VmaWxlcwogICAgICBwdXRzICI9PiBD
2323 # cmVhdGluZyBtYWtlZmlsZXMuLi4iCiAgICAgIEBxbWFrZS5ydW4oIiIsIHRy
2324 # dWUpCiAgICAgIAogICAgICBwdXRzICI9PiBVcGRhdGluZyBtYWtlZmlsZXMu
2325 # Li4iCiAgICAgIAogICAgICBAbWFrZWZpbGVzID0gTWFrZWZpbGU6OmZpbmRf
2326 # bWFrZWZpbGVzKERpci5nZXR3ZCkKICAgICAgQG1ha2VmaWxlcy5lYWNoIHsg
2327 # fG1ha2VmaWxlfAogICAgICAgICAgTWFrZWZpbGU6Om92ZXJyaWRlKG1ha2Vm
2328 # aWxlLCBGaWxlLmV4cGFuZF9wYXRoKEBhcmd1bWVudHNbInByZWZpeCJdLnRv
2329 # X3MpLCBAc3RhdHVzRmlsZSkKICAgICAgfQogICAgICAKICAgICAgRmlsZS5v
2330 # cGVuKEBzdGF0dXNGaWxlLCAidyIgKSB7IHxmaWxlfAogICAgICAgIGZpbGUg
2331 # PDwgJUAKI3tGaWxlLnJlYWQobmV3bG9jYXRpb24oIm1ha2VmaWxlLnJiIikp
2332 # fQpRb25mOjpNYWtlZmlsZTo6b3ZlcnJpZGUoIEFSR1ZbMF0udG9fcywgIiN7
2333 # QGFyZ3VtZW50c1sicHJlZml4Il19IiwgIiN7QHN0YXR1c0ZpbGV9IiApCkAK
2334 # CmlmIERldGVjdE9TLm9zPyA9PSAxICN3aW4zMgogICAgICAgIGZpbGUgPDwg
2335 # JUAKUW9uZjo6TWFrZWZpbGU6Om92ZXJyaWRlKCBBUkdWWzBdLnRvX3MrIi5y
2336 # ZWxlYXNlIiwgIiN7QGFyZ3VtZW50c1sicHJlZml4Il19IiwgIiN7QHN0YXR1
2337 # c0ZpbGV9IiApClFvbmY6Ok1ha2VmaWxlOjpvdmVycmlkZSggQVJHVlswXS50
2338 # b19zKyIuZGVidWciLCAiI3tAYXJndW1lbnRzWyJwcmVmaXgiXX0iLCAiI3tA
2339 # c3RhdHVzRmlsZX0iICkKQAplbmQKICAgICAgfQogICAgZW5kCiAgICAKICAg
2340 # IGRlZiBnZXRfYXJncyhhcmd2KQogICAgICBvcHRjID0gMAogICAgICBsYXN0
2341 # X29wdCA9ICIiCiAgICAgIAogICAgICBAb3B0aW9ucy5lYWNoIHsgfG9wdGlv
2342 # bnwKICAgICAgICBnaXZlbl9vcHRpb24gPSBuaWwKICAgICAgICAKICAgICAg
2343 # ICBhcmd2LmVhY2ggeyB8YXJnfAogICAgICAgICAgYXJnLnN0cmlwIQogICAg
2344 # ICAgICAgZ2l2ZW4gPSBmYWxzZQogICAgICAgICAgCiAgICAgICAgICBjYXNl
2345 # IG9wdGlvbls6dHlwZV0udG9fcwogICAgICAgICAgICB3aGVuICJzdHJpbmci
2346 # CiAgICAgICAgICAgICAgaWYgYXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX09
2347 # KFtcV1x3XSopLwogICAgICAgICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAgICAg
2348 # ICAgICAgICAgICBnaXZlbl9vcHRpb24gPSAkMQogICAgICAgICAgICAgIGVu
2349 # ZAogICAgICAgICAgICB3aGVuICJwYXRoIgogICAgICAgICAgICAgIGlmIGFy
2350 # ZyA9fiAvLS0je29wdGlvbls6bmFtZV19PShbXFdcd10qKS8KICAgICAgICAg
2351 # ICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0
2352 # aW9uID0gRmlsZS5leHBhbmRfcGF0aCgkMSkKICAgICAgICAgICAgICBlbmQK
2353 # ICAgICAgICAgICAgd2hlbiAiYm9vbCIKICAgICAgICAgICAgICBpZiBhcmcg
2354 # PX4gLy0tdXNlLSN7b3B0aW9uWzpuYW1lXX09KFx3KykvCiAgICAgICAgICAg
2355 # ICAgICBnaXZlbiA9IHRydWUKICAgICAgICAgICAgICAgIGdpdmVuX29wdGlv
2356 # biA9ICQxCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVsc2UKICAg
2357 # ICAgICAgICAgICBpZiBhcmcgPX4gLy0tI3tvcHRpb25bOm5hbWVdfS8KICAg
2358 # ICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICJ5ZXMiCiAgICAgICAgICAg
2359 # ICAgICBnaXZlbiA9IHRydWUKICAgICAgICAgICAgICBlbmQKICAgICAgICAg
2360 # IGVuZAogICAgICAgICAgCiAgICAgICAgICBpZiBnaXZlbgogICAgICAgICAg
2361 # ICBhcmd2LmRlbGV0ZShhcmcpCiAgICAgICAgICBlbmQKICAgICAgICB9CiAg
2362 # ICAgICAgCiAgICAgICAgb3B0aW9uWzp2YWx1ZV0gPSBnaXZlbl9vcHRpb24K
2363 # ICAgICAgfQogICAgICAKICAgICAgZnJvbnRlbmRfa2V5ID0gInRrIgogICAg
2364 # ICBhcmd2LmVhY2ggeyB8dW5rbm93bnwKICAgICAgICB1bmtub3duLnN0cmlw
2365 # IQogICAgICAgIGlmIHVua25vd24gPX4gLy0td2l0aC1jb25maWctZnJvbnRl
2366 # bmQ9KFx3KykvCiAgICAgICAgICBmcm9udGVuZF9rZXkgPSAkMQogICAgICAg
2367 # IGVsc2lmIHVua25vd24gPX4gLy0taGVscC8KICAgICAgICAgIHVzYWdlCiAg
2368 # ICAgICAgICBleGl0KDApCiAgICAgICAgZWxzaWYgdW5rbm93biA9fiAvLS12
2369 # ZXJzaW9uLwogICAgICAgICAgcHV0cyAiUU9uZiAje1ZFUlNJT059IFsje1ZF
2370 # UlNJT05fREFURX1dIgogICAgICAgICAgZXhpdCgwKQogICAgICAgIGVuZAog
2371 # ICAgICB9CiAgICAgIAogICAgICBmcm9udGVuZCA9IEZyb250ZW5kRmFjdG9y
2372 # eS5jcmVhdGUoZnJvbnRlbmRfa2V5KQogICAgICBpZiBmcm9udGVuZC5uaWw/
2373 # CiAgICAgICAgcHV0cyAiPT4gSW52YWxpZCBmcm9udGVuZCIKICAgICAgICB1
2374 # c2FnZSgpCiAgICAgICAgZXhpdCgtMSkKICAgICAgZWxzaWYgbm90IGZyb250
2375 # ZW5kLnBhcnNlKEBvcHRpb25zKQogICAgICAgIHVzYWdlKCkKICAgICAgICBl
2376 # eGl0KC0xKQogICAgICBlbmQKICAgICAgCiAgICAgIEBvcHRpb25zLmVhY2gg
2377 # eyB8b3B0aW9ufAogICAgICAgIHZhbHVlID0gb3B0aW9uWzp2YWx1ZV0ubmls
2378 # PyA/IG9wdGlvbls6ZGVmYXVsdF0udG9fcyA6IG9wdGlvbls6dmFsdWVdCiAg
2379 # ICAgICAgQGFyZ3VtZW50c1tvcHRpb25bOm5hbWVdXSA9IHZhbHVlCiAgICAg
2380 # IH0KICAgICAgCiAgICBlbmQKICAgIAogICAgZGVmIHNhdmUocGF0aCkKICAg
2381 # ICAgYmVnaW4KICAgICAgICBzZXR1cF9jb25maWcoQGNvbmZpZywgQGFyZ3Vt
2382 # ZW50cykKICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAg
2383 # IGlmIG5vdCBlLm1lc3NhZ2UgPX4gL3NldHVwX2NvbmZpZy8KICAgICAgICAg
2384 # IHB1dHMgIkVycm9yOiAje2V9IgogICAgICAgICAgcHV0cyBlLmJhY2t0cmFj
2385 # ZQogICAgICAgICAgZXhpdCgtMSkKICAgICAgICBlbmQKICAgICAgZW5kCiAg
2386 # ICAgIAogICAgICBAY29uZmlnLmFkZF9kZWZpbmUoJUBfX1BSRUZJWF9fPSdc
2387 # XFxcIicje0ZpbGUuZXhwYW5kX3BhdGggQGFyZ3VtZW50c1sicHJlZml4Il19
2388 # J1xcXFwiJ0ApCiAgICAgIAogICAgICBzYXZlX3BrZ2NvbmZpZwogICAgICBA
2389 # Y29uZmlnLnNhdmUocGF0aCkKICAgICAgCiAgICAgIGxhdW5jaGVyID0gbmls
2390 # CiAgICAgIGlmIERldGVjdE9TLm9zPyA9PSAxICMgV2luZG93cwogICAgICAg
2391 # IGxhdW5jaGVyID0gRmlsZS5uZXcoImxhdW5jaGVyLmJhdCIsICJ3IikKICAg
2392 # ICAgICAKICAgICAgICBsYXVuY2hlciA8PCAic2V0IFBBVEg9I3tAY29uZmln
2393 # LmJ1aWxkX2Rpci5nc3ViKCcvJywgJ1xcJyl9XFxiaW47I3tAY29uZmlnLmJ1
2394 # aWxkX2Rpci5nc3ViKCcvJywgJ1xcJyl9XFxsaWI7I3tAY29uZmlnLmxpYnJh
2395 # cnlfcGF0aC5qb2luKCI6IikuZ3N1YignLycsICdcXCcpfTslUEFUSCVcbiIK
2396 # ICAgICAgICBsYXVuY2hlciA8PCAiJTFcbiIKICAgICAgZWxzZQogICAgICAg
2397 # IGxhdW5jaGVyID0gRmlsZS5uZXcoImxhdW5jaGVyLnNoIiwidyIpCiAgICAg
2398 # ICAgbGF1bmNoZXIgPDwgIiMhL2Jpbi9iYXNoXG4iCiAgICAgICAgbGF1bmNo
2399 # ZXIgPDwgImV4cG9ydCBQQVRIPSN7QGNvbmZpZy5idWlsZF9kaXJ9L2Jpbjok
2400 # e1BBVEh9XG4iCiAgICAgICAgbGF1bmNoZXIgPDwgImV4cG9ydCBMRF9MSUJS
2401 # QVJZX1BBVEg9I3tAY29uZmlnLmJ1aWxkX2Rpcn0vYmluOiN7QGNvbmZpZy5i
2402 # dWlsZF9kaXJ9L2xpYjoje0Bjb25maWcubGlicmFyeV9wYXRoLmpvaW4oIjoi
2403 # KX06JHtMRF9MSUJSQVJZX1BBVEh9OiR7RFlfTERfTElCUkFSWV9QQVRIfVxu
2404 # IgogICAgICAgIGxhdW5jaGVyIDw8ICJleHBvcnQgRFlMRF9MSUJSQVJZX1BB
2405 # VEg9JHtMRF9MSUJSQVJZX1BBVEh9XG4iCiAgICAgICAgbGF1bmNoZXIgPDwg
2406 # IkFQUD0kMVxuIgogICAgICAgIGxhdW5jaGVyIDw8ICJzaGlmdFxuIgogICAg
2407 # ICAgIGxhdW5jaGVyIDw8ICJlY2hvIExhdW5jaGluZzogJEFQUFxuIgogICAg
2408 # ICAgIGxhdW5jaGVyIDw8ICIkQVBQICQqXG4iCiAgICAgIGVuZAogICAgICAK
2409 # ICAgICAgRmlsZS5jaG1vZCgwNzU1LCBsYXVuY2hlci5wYXRoKQogICAgICAK
2410 # ICAgIGVuZAogICAgCiAgICBkZWYgc2F2ZV9wa2djb25maWcKICAgICAgaWYg
2411 # bm90IEBwa2dfY29uZmlncy5lbXB0eT8KICAgICAgICBAcGtnX2NvbmZpZ3Mu
2412 # ZWFjaCB7IHxwa2dfY29uZmlnfAogICAgICAgICAgRmlsZS5vcGVuKCBwa2df
2413 # Y29uZmlnWzpwYWNrYWdlX25hbWVdKyIucGMiLCAidyIpIGRvIHxmaWxlfAog
2414 # ICAgICAgICAgICBmaWxlIDw8ICJwcmVmaXg9IiA8PCBAYXJndW1lbnRzWyJw
2415 # cmVmaXgiXSA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgImV4ZWNfcHJl
2416 # Zml4PSR7cHJlZml4fSIgPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJs
2417 # aWJkaXI9I3twa2dfY29uZmlnWzpsaWJkaXJdLm5pbD8gPyAiJHtwcmVmaXh9
2418 # L2xpYiIgOiBwa2dfY29uZmlnWzpsaWJkaXJdIH0iIDw8ICJcbiIKICAgICAg
2419 # ICAgICAgZmlsZSA8PCAiaW5jbHVkZWRpcj0je3BrZ19jb25maWdbOmluY2x1
2420 # ZGVkaXJdLm5pbD8gPyAiJHtwcmVmaXh9L2luY2x1ZGUiIDogcGtnX2NvbmZp
2421 # Z1s6aW5jbHVkZWRpcl0gfSIgPDwgIlxuXG5cbiIKICAgICAgICAgICAgCiAg
2422 # ICAgICAgICAgIGZpbGUgPDwgIk5hbWU6ICIgPDwgcGtnX2NvbmZpZ1s6cGFj
2423 # a2FnZV9uYW1lXSA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgIkRlc2Ny
2424 # aXB0aW9uOiAiIDw8IHBrZ19jb25maWdbOmRlc2NyaXB0aW9uXSA8PCAiXG4i
2425 # CiAgICAgICAgICAgIGZpbGUgPDwgIlJlcXVpcmVzOiAiIDw8IHBrZ19jb25m
2426 # aWdbOnJlcXVpcmVzXS5qb2luKCIgIikgPDwgIlxuIiBpZiBwa2dfY29uZmln
2427 # WzpyZXF1aXJlc10uY2xhc3MgPT0gQXJyYXkKICAgICAgICAgICAgZmlsZSA8
2428 # PCAiVmVyc2lvbjogIiA8PCBwa2dfY29uZmlnWzp2ZXJzaW9uXSA8PCAiXG4i
2429 # CiAgICAgICAgICAgIAogICAgICAgICAgICBmaWxlIDw8ICJMaWJzOiAiIDw8
2430 # IHBrZ19jb25maWdbOmxpYnNdIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8
2431 # PCAiQ2ZsYWdzOiAiIDw8IHBrZ19jb25maWdbOmNmbGFnc10gPDwgIlxuIgog
2432 # ICAgICAgICAgZW5kCiAgICAgICAgfQogICAgICBlbmQKICAgIGVuZAogICAg
2433 # CiAgICAKICAgIGRlZiBsb2codHh0KQogICAgICBGaWxlLm9wZW4oQGxvZ19m
2434 # aWxlLCAiYSIpIGRvIHxmfAogICAgICAgIGYgPDwgdHh0IDw8ICJcbiIKICAg
2435 # ICAgZW5kCiAgICBlbmQKICAgIAogICAgZGVmIHVzYWdlCiAgICAgIHB1dHMg
2436 # Ik9wdGlvbnM6IgogICAgICBAb3B0aW9ucy5lYWNoIHsgfG9wdGlvbnwKICAg
2437 # ICAgICBjYXNlIG9wdGlvbls6dHlwZV0KICAgICAgICAgIHdoZW4gInN0cmlu
2438 # ZyIKICAgICAgICAgICAgcHJpbnQgIlxuICAtLSN7b3B0aW9uWzpuYW1lXX09
2439 # W3ZhbHVlXSIKICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlv
2440 # bls6ZGVzY3JpcHRpb25dfSAiCiAgICAgICAgICAgIAogICAgICAgICAgICBp
2441 # ZiBub3Qgb3B0aW9uWzpkZWZhdWx0XS5uaWw/CiAgICAgICAgICAgICAgcHJp
2442 # bnQgIltkZWZhdWx0PSN7b3B0aW9uWzpkZWZhdWx0XX1dIgogICAgICAgICAg
2443 # ICBlbmQKICAgICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgIHByaW50
2444 # ICJcbiAgLS0je29wdGlvbls6bmFtZV19PVsvYS9wYXRoXSIKICAgICAgICAg
2445 # ICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3JpcHRpb25dfSAi
2446 # CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiBub3Qgb3B0aW9uWzpkZWZh
2447 # dWx0XS5uaWw/CiAgICAgICAgICAgICAgcHJpbnQgIltkZWZhdWx0PSN7b3B0
2448 # aW9uWzpkZWZhdWx0XX1dIgogICAgICAgICAgICBlbmQKICAgICAgICAgIHdo
2449 # ZW4gImJvb2wiCiAgICAgICAgICAgIHByaW50ICJcbiAgLS11c2UtI3tvcHRp
2450 # b25bOm5hbWVdfT1beWVzfG5vXSIKICAgICAgICAgICAgaWYgbm90IG9wdGlv
2451 # bls6ZGVmYXVsdF0ubmlsPwogICAgICAgICAgICAgIGRlZmF1bHQgPSBvcHRp
2452 # b25bOmRlZmF1bHRdCiAgICAgICAgICAgICAgaWYgZGVmYXVsdCA9PSB0cnVl
2453 # IG9yIGRlZmF1bHQgPT0gInllcyIgb3IgZGVmYXVsdCA9PSAidHJ1ZSIKICAg
2454 # ICAgICAgICAgICAgIGRlZmF1bHQgPSAieWVzIgogICAgICAgICAgICAgIGVs
2455 # c2lmIGRlZmF1bHQgPT0gZmFsc2Ugb3IgZGVmYXVsdCA9PSAibm8iIG9yIGRl
2456 # ZmF1bHQgPT0gImZhbHNlIgogICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJu
2457 # byIKICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBkZWZhdWx0
2458 # ID0gIm5vIgogICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgIAogICAg
2459 # ICAgICAgICAgIHByaW50ICJcdFx0Li4uLi4uI3tvcHRpb25bOmRlc2NyaXB0
2460 # aW9uXX0gW2RlZmF1bHQ9I3tkZWZhdWx0fV0iCiAgICAgICAgICAgIGVuZAog
2461 # ICAgICAgICAgZWxzZQogICAgICAgICAgICBwcmludCAiXG4gIC0tI3tvcHRp
2462 # b25bOm5hbWVdfSIKICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29w
2463 # dGlvbls6ZGVzY3JpcHRpb25dfSIKICAgICAgICBlbmQKICAgICAgfQogICAg
2464 # ICAKICAgICAgcHJpbnQgIlxuICAtLXdpdGgtY29uZmlnLWZyb250ZW5kPVtw
2465 # bGFpbnx0a10iCiAgICAgIHByaW50ICJcdFx0Li4uLi4uU2V0cyB0aGUgZnJv
2466 # bnRlbmQgdG8gY29uZmlndXJlIHRoZSBhcHBsaWNhdGlvbiBbZGVmYXVsdD10
2467 # a10iCiAgICAgIHByaW50ICJcbiAgLS1oZWxwIgogICAgICBwcmludCAiXG4g
2468 # IC0tdmVyc2lvbiIKICAgICAgcHJpbnQgIlx0XHQuLi4uLi5TaG93cyB0aGlz
2469 # IG1lc3NhZ2UiCiAgICAgIAogICAgICBwdXRzICIiCiAgICBlbmQKICBlbmQK
2470 # ZW5kCgpiZWdpbgogIGxvYWQgInNldHVwLnJiIgpyZXNjdWUgTG9hZEVycm9y
2471 # CiAgRmlsZS5vcGVuKG9sZGxvY2F0aW9uKCJzZXR1cC5yYiIpLCAidyIpIGRv
2472 # IHxmaWxlfAogICAgZmlsZSA8PCBGaWxlLnJlYWQoInNldHVwX3JiLnRwbCIp
2473 # IDw8ICJcbiIKICBlbmQKICBwdXRzICI9PiBBIHRlbXBsYXRlIGZpbGUgd2Fz
2474 # IGdlbmVyYXRlZCBpbiBzZXR1cC5yYiwgcGxlYXNlIGVkaXQgaXQgYW5kIHJl
2475 # cnVuIHRoZSBjb25maWd1cmUgc2NyaXB0LiIKICBleGl0KC0xKQplbmQKCmlm
2476 # IF9fRklMRV9fID09ICQwCiAgcW9uZiA9IFFvbmY6OkNvbmZpZ3VyZS5uZXcK
2477 # ICBxb25mLmdldF9hcmdzKEFSR1YpCiAgcW9uZi5maW5kX3BhY2thZ2VzCiAg
2478 # cW9uZi5ydW5fdGVzdHMKICAKICBxb25mLnNhdmUoImNvbmZpZy5wcmkiKQog
2479 # IAogIHFvbmYuZ2VuZXJhdGVfbWFrZWZpbGVzCmVuZAoKCgoAAAAAAAAAAAAA
2480 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2481 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2482 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2483 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2484 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2485 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2486 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2487 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2488 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2489 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2490 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2491 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2492 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2493 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2494 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2495 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2496 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2497 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2498 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2499 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2500 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2501 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2502 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2503 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2504 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2505 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2506 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2507 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2508 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2509 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2510 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2511 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2512 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2513 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2514 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2515 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2516 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2517 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2518 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2519 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2520 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2521 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2522 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2523 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2524 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2525 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2526 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2527 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2528 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2529 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2530 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2531 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2532 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2533 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2534 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2535 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2536 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2537 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2538 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2539 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2540 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2541 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2542 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2543 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2544 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2545 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2546 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2547 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2548 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2549 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2550 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2551 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2552 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2553 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2554 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2555 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2556 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2557 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2558 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2559 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2560 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2561 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2562 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2563 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2564 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2565 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2566 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2567 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2568 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2569 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2570 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2571 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2572 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2573 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2574 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2575 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2576 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2577 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2578 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2579 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2580 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2581 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2582 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2583 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2584 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2585 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2586 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2587 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2588 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2589 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2590 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2591 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2592 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2593 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2594 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2595 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2596 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2597 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2598 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2599 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2600 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2601 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2602 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2603 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2604 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2605 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2606 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2607 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2608 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2609 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2610 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2611 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2612 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2613 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2614 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2615 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2616 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2617 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2618 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2619 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2620 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2621 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2622 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2623 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2624 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2625 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2626 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2627 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2628 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2629 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2630 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2631 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2632 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2633 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2634 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2635 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2636 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2637 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2638 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2639 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2640 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2641 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2642 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2643 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2644 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2645 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2646 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2647 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2648 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2649 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2654 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2656 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2657 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2658 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2659 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2660 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2661 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2662 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2663 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2664 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2665 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2666 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2667 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2668 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2669 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2670 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2671 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2672 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2673 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2674 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2675 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2676 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2677 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2678 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2679 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2680 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2681 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2682 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2683 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2684 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2685 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2686 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2687 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2688 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2689 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2690 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA