rubyjs 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. data/README +128 -0
  2. data/Rakefile +9 -0
  3. data/bin/rubyjs +140 -0
  4. data/examples/ex1/Rakefile +7 -0
  5. data/examples/ex1/ex1.js +771 -0
  6. data/examples/ex1/ex1.rb +42 -0
  7. data/examples/ex1/index.html +7 -0
  8. data/examples/hw/Rakefile +9 -0
  9. data/examples/hw/hw.js +635 -0
  10. data/examples/hw/hw.rb +7 -0
  11. data/examples/hw/index.html +7 -0
  12. data/patches/parse_tree.rb.diff +34 -0
  13. data/rubyjs.gemspec +24 -0
  14. data/src/rubyjs.rb +4 -0
  15. data/src/rubyjs/code_generator.rb +474 -0
  16. data/src/rubyjs/compiler.rb +2007 -0
  17. data/src/rubyjs/debug_name_generator.rb +75 -0
  18. data/src/rubyjs/encoder.rb +171 -0
  19. data/src/rubyjs/eval_into.rb +59 -0
  20. data/src/rubyjs/lib/core.rb +1008 -0
  21. data/src/rubyjs/lib/json.rb +101 -0
  22. data/src/rubyjs/model.rb +287 -0
  23. data/src/rubyjs/name_generator.rb +71 -0
  24. data/src/rwt/AbsolutePanel.rb +161 -0
  25. data/src/rwt/DOM.Konqueror.rb +89 -0
  26. data/src/rwt/DOM.Opera.rb +65 -0
  27. data/src/rwt/DOM.rb +1044 -0
  28. data/src/rwt/Event.Opera.rb +35 -0
  29. data/src/rwt/Event.rb +429 -0
  30. data/src/rwt/HTTPRequest.IE6.rb +5 -0
  31. data/src/rwt/HTTPRequest.rb +74 -0
  32. data/src/rwt/Label.rb +164 -0
  33. data/src/rwt/Panel.rb +90 -0
  34. data/src/rwt/RootPanel.rb +16 -0
  35. data/src/rwt/UIObject.rb +495 -0
  36. data/src/rwt/Widget.rb +193 -0
  37. data/src/rwt/ported-from/AbsolutePanel.java +158 -0
  38. data/src/rwt/ported-from/DOM.java +571 -0
  39. data/src/rwt/ported-from/DOMImpl.java +426 -0
  40. data/src/rwt/ported-from/DOMImplOpera.java +82 -0
  41. data/src/rwt/ported-from/DOMImplStandard.java +234 -0
  42. data/src/rwt/ported-from/HTTPRequest.java +81 -0
  43. data/src/rwt/ported-from/HTTPRequestImpl.java +103 -0
  44. data/src/rwt/ported-from/Label.java +163 -0
  45. data/src/rwt/ported-from/Panel.java +99 -0
  46. data/src/rwt/ported-from/UIObject.java +614 -0
  47. data/src/rwt/ported-from/Widget.java +221 -0
  48. data/test/benchmark/bm_call_conv1.js +16 -0
  49. data/test/benchmark/bm_call_conv2.js +14 -0
  50. data/test/benchmark/bm_var_acc1.js +13 -0
  51. data/test/benchmark/bm_var_acc2.js +11 -0
  52. data/test/benchmark/bm_vm1_block.js +15 -0
  53. data/test/benchmark/bm_vm1_block.rb +15 -0
  54. data/test/benchmark/bm_vm1_const.js +13 -0
  55. data/test/benchmark/bm_vm1_const.rb +13 -0
  56. data/test/benchmark/bm_vm1_ensure.js +17 -0
  57. data/test/benchmark/bm_vm1_ensure.rb +15 -0
  58. data/test/benchmark/common.js +4 -0
  59. data/test/benchmark/common.rb +5 -0
  60. data/test/benchmark/params.yaml +7 -0
  61. data/test/browser.test.html +4059 -0
  62. data/test/browser.test.js +3225 -0
  63. data/test/common.Browser.rb +13 -0
  64. data/test/common.rb +8 -0
  65. data/test/gen_browser_test_suite.rb +129 -0
  66. data/test/gen_test_suite.rb +41 -0
  67. data/test/run_benchs.rb +58 -0
  68. data/test/run_tests.rb +22 -0
  69. data/test/test_args.rb +24 -0
  70. data/test/test_array.rb +26 -0
  71. data/test/test_case.rb +35 -0
  72. data/test/test_class.rb +55 -0
  73. data/test/test_eql.rb +9 -0
  74. data/test/test_exception.rb +61 -0
  75. data/test/test_expr.rb +12 -0
  76. data/test/test_hash.rb +29 -0
  77. data/test/test_if.rb +28 -0
  78. data/test/test_inspect.rb +10 -0
  79. data/test/test_lebewesen.rb +39 -0
  80. data/test/test_massign.rb +66 -0
  81. data/test/test_new.rb +12 -0
  82. data/test/test_range.rb +53 -0
  83. data/test/test_regexp.rb +22 -0
  84. data/test/test_send.rb +65 -0
  85. data/test/test_simple_output.rb +5 -0
  86. data/test/test_splat.rb +21 -0
  87. data/test/test_string.rb +51 -0
  88. data/test/test_yield.rb +152 -0
  89. data/utils/js/Makefile +9 -0
  90. data/utils/js/RunScript.class +0 -0
  91. data/utils/js/RunScript.java +73 -0
  92. data/utils/js/js.jar +0 -0
  93. data/utils/js/run.sh +3 -0
  94. data/utils/jsc/Makefile +7 -0
  95. data/utils/jsc/README +3 -0
  96. data/utils/jsc/RunScript.c +93 -0
  97. data/utils/jsc/run.sh +15 -0
  98. data/utils/yuicompressor/README +1 -0
  99. data/utils/yuicompressor/yuicompressor-2.2.5.jar +0 -0
  100. data/vendor/ParseTree-1.7.1-patched/History.txt +217 -0
  101. data/vendor/ParseTree-1.7.1-patched/Manifest.txt +22 -0
  102. data/vendor/ParseTree-1.7.1-patched/README.txt +110 -0
  103. data/vendor/ParseTree-1.7.1-patched/Rakefile +41 -0
  104. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_abc +89 -0
  105. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_audit +28 -0
  106. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_deps +62 -0
  107. data/vendor/ParseTree-1.7.1-patched/bin/parse_tree_show +49 -0
  108. data/vendor/ParseTree-1.7.1-patched/demo/printer.rb +20 -0
  109. data/vendor/ParseTree-1.7.1-patched/lib/composite_sexp_processor.rb +49 -0
  110. data/vendor/ParseTree-1.7.1-patched/lib/parse_tree.rb +1013 -0
  111. data/vendor/ParseTree-1.7.1-patched/lib/sexp.rb +235 -0
  112. data/vendor/ParseTree-1.7.1-patched/lib/sexp_processor.rb +330 -0
  113. data/vendor/ParseTree-1.7.1-patched/lib/unique.rb +15 -0
  114. data/vendor/ParseTree-1.7.1-patched/test/pt_testcase.rb +1221 -0
  115. data/vendor/ParseTree-1.7.1-patched/test/something.rb +53 -0
  116. data/vendor/ParseTree-1.7.1-patched/test/test_all.rb +13 -0
  117. data/vendor/ParseTree-1.7.1-patched/test/test_composite_sexp_processor.rb +69 -0
  118. data/vendor/ParseTree-1.7.1-patched/test/test_parse_tree.rb +216 -0
  119. data/vendor/ParseTree-1.7.1-patched/test/test_sexp.rb +291 -0
  120. data/vendor/ParseTree-1.7.1-patched/test/test_sexp_processor.rb +244 -0
  121. data/vendor/ParseTree-1.7.1-patched/validate.sh +31 -0
  122. data/vendor/ParseTree-1.7.1/History.txt +217 -0
  123. data/vendor/ParseTree-1.7.1/Manifest.txt +22 -0
  124. data/vendor/ParseTree-1.7.1/README.txt +110 -0
  125. data/vendor/ParseTree-1.7.1/Rakefile +41 -0
  126. data/vendor/ParseTree-1.7.1/bin/parse_tree_abc +89 -0
  127. data/vendor/ParseTree-1.7.1/bin/parse_tree_audit +28 -0
  128. data/vendor/ParseTree-1.7.1/bin/parse_tree_deps +62 -0
  129. data/vendor/ParseTree-1.7.1/bin/parse_tree_show +49 -0
  130. data/vendor/ParseTree-1.7.1/demo/printer.rb +20 -0
  131. data/vendor/ParseTree-1.7.1/lib/composite_sexp_processor.rb +49 -0
  132. data/vendor/ParseTree-1.7.1/lib/parse_tree.rb +1004 -0
  133. data/vendor/ParseTree-1.7.1/lib/sexp.rb +235 -0
  134. data/vendor/ParseTree-1.7.1/lib/sexp_processor.rb +330 -0
  135. data/vendor/ParseTree-1.7.1/lib/unique.rb +15 -0
  136. data/vendor/ParseTree-1.7.1/test/pt_testcase.rb +1221 -0
  137. data/vendor/ParseTree-1.7.1/test/something.rb +53 -0
  138. data/vendor/ParseTree-1.7.1/test/test_all.rb +13 -0
  139. data/vendor/ParseTree-1.7.1/test/test_composite_sexp_processor.rb +69 -0
  140. data/vendor/ParseTree-1.7.1/test/test_parse_tree.rb +216 -0
  141. data/vendor/ParseTree-1.7.1/test/test_sexp.rb +291 -0
  142. data/vendor/ParseTree-1.7.1/test/test_sexp_processor.rb +244 -0
  143. data/vendor/ParseTree-1.7.1/validate.sh +31 -0
  144. metadata +230 -0
data/README ADDED
@@ -0,0 +1,128 @@
1
+ ------------------------------------
2
+ RubyJS - Ruby to Javascript Compiler
3
+ ------------------------------------
4
+
5
+ COPYRIGHT
6
+
7
+ Copyright (c) 2007, 2008 by Michael Neumann (mneumann@ntecs.de).
8
+ All rights reserved.
9
+
10
+ ABOUT
11
+
12
+ RubyJS translates Ruby code into Javascript code. NOTE that it executes the
13
+ Ruby code before it translates it into Javascript. This has the advantage of
14
+ being able to (mis-)use all of Ruby's meta-programming tricks in the global
15
+ scope (i.e. for defining classes and methods, NOT within methods!).
16
+
17
+ REQUIREMENTS
18
+
19
+ * ParseTree 1.7.1 (with patches) -> included in vendor/
20
+
21
+ MAPPING
22
+
23
+ The mapping from Ruby objects (left) to Javascript values (right) are given below.
24
+
25
+ true -> true (class Boolean)
26
+ false -> false (class Boolean)
27
+ nil -> nil (a special variable!)
28
+ 1, 1.2 -> Javascript Number (unboxed)
29
+ "String" -> immutable Javascript String (unboxed)
30
+ /regexp/ -> /regexp/ (unboxed)
31
+ [array] -> [array] (unboxed)
32
+ {hash} -> Javascript Hash object (unboxed, but indirect)
33
+ iterator -> function (unboxed)
34
+ 1..2 -> custom Range object
35
+
36
+ BUGS
37
+
38
+ --
39
+ Debug mode sometimes generates code that does not run!
40
+
41
+ --
42
+ Spidermonkey doesn't run all tests.
43
+
44
+ TODO
45
+
46
+ --
47
+ Issue a warning whenever a destructive Ruby string method like gsub!
48
+ is used. The reason behind this warning is that, due to efficience
49
+ reasons, Ruby strings (which are mutable) are mapped to immutable
50
+ Javascript strings.
51
+
52
+ --
53
+ Command-line switch that doesn't call methods for some operators.
54
+ Most important ones are "+", "-" and "/". This is of course an unsafe
55
+ operation as you could define a method "+" in your own class. For
56
+ heavy math operations, this of course increases performance a lot!
57
+
58
+ --
59
+ Command-line switch that removes unused methods. This is possible, as
60
+ we record the names of all (possibly) called methods. This of course
61
+ disables send() support. This switch has the potential to reduce the
62
+ size of the generated Javascript significantly (which also reduces
63
+ memory consumption on the client side). For this to work, we have to
64
+ generate a call chain, which method name calls which other method
65
+ names. This works only on method names, as we can't infer the used
66
+ classes.
67
+
68
+ --
69
+ Command-line switch that disables the generation of name-information
70
+ used by methods like send(), instance_variables(), methods() or
71
+ respond_to?(). This makes it hard to decompile the Javascript code
72
+ back to Ruby or assign meaningful names.
73
+
74
+ LIMITATIONS
75
+
76
+ --
77
+ Module's are mapped to Classes for now.
78
+
79
+ --
80
+ You can't inherit from core classes like Array, String, Regexp and so
81
+ on. It's easy to allow by adding one further indirection, e.g. in that
82
+ on object creation an attribute "m" is assigned, which contains a hash
83
+ of all methods of that object, and on method call use "obj.m.method".
84
+ As long as this limitation is no problem, I go the way via prototypes,
85
+ which should be slightly more efficient.
86
+
87
+ --
88
+ You are not allowed to redefine the classes name method:
89
+
90
+ class MyClass
91
+ def self.name
92
+ # NOT ALLOWED!!!
93
+ end
94
+ end
95
+
96
+ The same is true for other methods like ancestors, superclass,
97
+ instance_methods, methods. But you wouldn't do that anyways in Ruby,
98
+ so that's no big restriction!
99
+
100
+ --
101
+ Constant assignment inside methods is forbidden. This is due to
102
+ using static constant lookup. Constant assignment inside the class
103
+ scope or module scope is not affected, as this is executed by the
104
+ Ruby interpreter.
105
+ Constants are either inlined in the case it is a value type (Fixnum, Float)
106
+ or a reference is generated (i.e. a variable holding it's value + a name).
107
+ References are only generated on demand, i.e. only when a constant is
108
+ accessed.
109
+
110
+ --
111
+ +break+ inside of loops cannot have arguments in RubyJS:
112
+
113
+ # RubyJS
114
+ while true
115
+ break 1 # => CompileTime Error
116
+ end
117
+
118
+ This could be accomplished, by introducing a "return loop"
119
+ variable for each while loop, and setting this variable
120
+ in "break".
121
+
122
+ A loop break cannot occur as expression. This could be accomplished
123
+ by using a throw instead of break and surrounding the loop by a catch.
124
+
125
+ The same applies for +next+!
126
+
127
+ --
128
+ Methods can be called regardless of their privacy (private, protected)
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ task :gen_tests do
2
+ ruby "test/gen_browser_test_suite.rb"
3
+ end
4
+
5
+ task :run_tests do
6
+ ruby "test/run_tests.rb"
7
+ end
8
+
9
+ task :default => :gen_tests
data/bin/rubyjs ADDED
@@ -0,0 +1,140 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'optparse'
4
+ require 'ostruct'
5
+ require 'rubygems'
6
+
7
+ options = OpenStruct.new
8
+ options.load_path = []
9
+ options.library = []
10
+ options.platform = []
11
+ options.outputs = []
12
+ options.main = nil
13
+ options.code = nil
14
+ options.append = ""
15
+ options.debug = false
16
+ options.opts = []
17
+
18
+ OPTS = %w(NoArgumentArityChecks NoMethodMissing OptimizeArithOps PrettyPrint)
19
+
20
+ def show_options
21
+ puts "Compiler Options:"
22
+ puts " --opt NoArgumentArityChecks:: Disable generation of arity checking code"
23
+ puts " --opt NoMethodMissing:: Disable method_missing functionality"
24
+ puts " --opt OptimizeArithOps:: Enable native +-*/ operators"
25
+ puts " --opt PrettyPrint:: Output more readable code"
26
+ end
27
+
28
+ opts = OptionParser.new do |opts|
29
+ opts.banner = "Usage: rubyjs_gen [options] [file, [file, ...]]"
30
+ opts.on("-r", "--require LIBRARY",
31
+ "Require the LIBRARY before executing your script") do |lib|
32
+ options.library << lib
33
+ end
34
+ opts.on("-I", "--load-path DIRECTORY", "Specifies load path") do |lib|
35
+ options.load_path << lib
36
+ end
37
+ opts.on("-P", "--platform PLATFORM", "Specifies platform") do |plat|
38
+ options.platform << plat
39
+ end
40
+ opts.on("-m", "--main CLASSNAME", "Entry point") do |main|
41
+ raise "only one entry point allowed" if options.main
42
+ options.main = main
43
+ end
44
+ opts.on("-e", "--eval STRING", "Eval code") do |code|
45
+ raise "only one code allowed" if options.code
46
+ options.code = code
47
+ end
48
+ opts.on("-a", "--append JSCODE", "Append Javascript code") do |append|
49
+ options.append << append
50
+ options.append << "\n"
51
+ end
52
+ opts.on("-o", "--output FILE", "Filename to write output to") do |out|
53
+ options.outputs << out
54
+ end
55
+ opts.on("-O", "--opt OPTION", "Set a specific compiler option") do |out|
56
+ if OPTS.include?(out)
57
+ options.opts << out
58
+ else
59
+ puts "WRONG option"
60
+ show_options()
61
+ exit 1
62
+ end
63
+ end
64
+ opts.on("--show-options", "--show-options", "Show all compiler options") do |out|
65
+ show_options()
66
+ exit
67
+ end
68
+ opts.on("-d", "--debug", "Turn on debug mode") do |out|
69
+ options.debug = true
70
+ end
71
+ opts.on_tail("-h", "--help", "Show this message") do
72
+ puts opts
73
+ exit
74
+ end
75
+ end
76
+
77
+ args = ARGV.dup
78
+ opts.parse!(args)
79
+
80
+ # output to STDOUT by default
81
+ if options.outputs.empty?
82
+ options.outputs << "-"
83
+ end
84
+
85
+ if args.empty? and !options.code
86
+ puts opts
87
+ exit
88
+ end
89
+
90
+ src_dir = File.expand_path(File.join(File.dirname(__FILE__), "..", "src"))
91
+ options.load_path << src_dir
92
+ options.load_path << File.join(src_dir, "rubyjs", "lib")
93
+
94
+ $RUBYJS__LOAD_PATH = options.load_path.map {|i| File.expand_path(i)}
95
+ $RUBYJS__LOAD_PATH << "."
96
+ $RUBYJS__PLATFORM = options.platform
97
+ $RUBYJS = true # to distinguish between Ruby and RubyJS
98
+ $RUBYJS__DEBUG = options.debug
99
+ $RUBYJS__OPTS = options.opts
100
+
101
+ # load RubyJS
102
+ $LOAD_PATH.unshift(src_dir)
103
+ require 'rubyjs'
104
+
105
+ # process requires
106
+
107
+ eval_into(RubyJS::Environment) do |eval|
108
+ $RUBYJS__LOAD_PATH.unshift File.join(src_dir, "rubyjs", "lib")
109
+ require 'core'
110
+ $RUBYJS__LOAD_PATH.shift
111
+
112
+ options.library.each do |lib|
113
+ require lib
114
+ end
115
+
116
+ eval.call(options.code) if options.code
117
+
118
+ args.each do |file|
119
+ if file == '-'
120
+ eval.call(STDIN.read)
121
+ else
122
+ eval.call(File.read(file))
123
+ end
124
+ end
125
+ end
126
+
127
+ gen = CodeGenerator.new
128
+ str = ""
129
+ str << gen.generate()
130
+ str << gen.encode("function main() { return #<#{options.main}>.#<m:main>.apply(#<#{options.main}>, arguments); }") if options.main
131
+ str << options.append
132
+
133
+ options.outputs.each do |outname|
134
+ if outname == "-"
135
+ STDOUT << str
136
+ STDOUT.flush
137
+ else
138
+ File.open(outname, 'w+') {|f| f << str }
139
+ end
140
+ end
@@ -0,0 +1,7 @@
1
+ RUBYJS_BIN = File.join(File.dirname(__FILE__), "..", "..", "bin", "rubyjs")
2
+
3
+ task "ex1.js" do
4
+ sh "#{RUBYJS_BIN} -m Main -o ex1.js ex1.rb"
5
+ end
6
+
7
+ task :default => "ex1.js"
@@ -0,0 +1,771 @@
1
+ // declare nil
2
+ function NilClass() {}
3
+
4
+ // FIXME: remove
5
+ NilClass.prototype.toString = function() { return "nil"; };
6
+ nil = new NilClass();
7
+
8
+ //
9
+ // define a null-function (used by HTTPRequest)
10
+ //
11
+ function a$o()
12
+ {
13
+ }
14
+
15
+ //
16
+ // r: return value
17
+ // s: scope (method scope)
18
+ //
19
+ function a$c(r,s)
20
+ {
21
+ this.a$a = r;
22
+ this.a$b = s;
23
+ return this;
24
+ }
25
+
26
+ //
27
+ // Throw in Javascript is a statement.
28
+ //
29
+ // This function can be used to overcome
30
+ // that limitation.
31
+ //
32
+ function a$p(x) { throw(x); }
33
+
34
+ function a$b(a)
35
+ {
36
+ // TODO
37
+ return a;
38
+ }
39
+
40
+ //
41
+ // helper function for multiple assignment in
42
+ // iterator parameters.
43
+ //
44
+ // undefined -> []
45
+ // 1 -> [1]
46
+ // [1] -> [[1]]
47
+ // [] -> [[]]
48
+ // [1,2] -> [1,2]
49
+ //
50
+ function a$k(a)
51
+ {
52
+ if (a===undefined) return [];
53
+ if (a.constructor!=Array || a.length<2) return [a];
54
+ return a;
55
+ }
56
+
57
+ //
58
+ // Call the method in the superclass.
59
+ //
60
+ // As super is used quite rarely, we dont optimize for it.
61
+ //
62
+ // object, method, iterator, arguments
63
+ //
64
+ function a$j(o, m, i, a)
65
+ {
66
+ var r = o[m]; // method in current class
67
+ var c = o.a$g.a$e;
68
+ while (r === c.a$d.prototype[m])
69
+ c = c.a$e;
70
+ return c.a$d.prototype[m].apply(o, [i].concat(a));
71
+ }
72
+
73
+ function a$q(o, m, a)
74
+ {
75
+ var r = o[m]; // method in current class
76
+ var c = o.a$g.a$e;
77
+ while (r === c.a$d.prototype[m])
78
+ c = c.a$e;
79
+ return c.a$d.prototype[m].apply(o, a);
80
+ }
81
+
82
+ //
83
+ // Whether o.kind_of?(c)
84
+ //
85
+ function a$i(o, c)
86
+ {
87
+ var k,i,m;
88
+
89
+ k = o.a$g;
90
+
91
+ while (k != nil)
92
+ {
93
+ if (k === c) return true;
94
+
95
+ // check included modules
96
+ m = k.a$j;
97
+ for (i=0; i<m.length; i++)
98
+ {
99
+ if (m[i] === c) return true;
100
+ }
101
+
102
+ k = k.a$e;
103
+ }
104
+
105
+ return false;
106
+ }
107
+
108
+ function a$m(c)
109
+ {
110
+ for (var i=0; i<c.length; i++)
111
+ a$e(c[i]);
112
+ }
113
+
114
+ function a$e(c)
115
+ {
116
+ var k,i;
117
+
118
+ //
119
+ // include modules
120
+ //
121
+ // do that before, because when assigning instance methods of
122
+ // the super class, a check for === undefined prevents this method
123
+ // from being overwritten.
124
+ //
125
+ for (i=0; i<c.a$j.length; i++)
126
+ {
127
+ for (k in c.a$j[i].a$d.prototype)
128
+ {
129
+ if (c.a$d.prototype[k]===undefined)
130
+ {
131
+ c.a$d.prototype[k] = c.a$j[i].a$d.prototype[k];
132
+ }
133
+ }
134
+ }
135
+
136
+ // instance methods
137
+ if (c.a$e != nil)
138
+ {
139
+ for (k in c.a$e.a$d.prototype)
140
+ {
141
+ if (c.a$d.prototype[k]===undefined)
142
+ {
143
+ c.a$d.prototype[k] = c.a$e.a$d.prototype[k];
144
+ }
145
+ }
146
+ }
147
+
148
+ // inherit class methods from superclass
149
+ if (c.a$e != nil)
150
+ {
151
+ for (k in c.a$e)
152
+ {
153
+ if (c[k]===undefined)
154
+ {
155
+ c[k] = c.a$e[k];
156
+ }
157
+ }
158
+ }
159
+
160
+ // set class for instanciated objects
161
+ c.a$d.prototype.a$g = c;
162
+ }
163
+
164
+ function a$d(h)
165
+ {
166
+ var c,k,i;
167
+ c = h.a$g || $b.$a(nil, h.a$e, h.a$c, h.a$d);
168
+
169
+ if (h.a$h)
170
+ {
171
+ for (k in h.a$h)
172
+ {
173
+ c.a$d.prototype[k] = h.a$h[k];
174
+ }
175
+ }
176
+
177
+ if (h.a$f)
178
+ {
179
+ for (k in h.a$f) c[k] = h.a$f[k];
180
+ }
181
+
182
+ if (h.a$j)
183
+ {
184
+ for (i=0; i<h.a$j.length; i++)
185
+ {
186
+ c.a$j.push(h.a$j[i]);
187
+ }
188
+ }
189
+
190
+ return c;
191
+ }
192
+
193
+ function a$a(_a, _b, _c, _d)
194
+ {
195
+ this.a$e = _b;
196
+ this.a$c = _c;
197
+ this.a$d = _d;
198
+ this.a$j = [];
199
+ this.a$g = _a;
200
+ return this;
201
+ }
202
+
203
+ a$a.$e = function() { return "MetaClass"; };
204
+ a$a.$z = function() { return this; };
205
+ //
206
+ // Generates a new method_missing function
207
+ // for the given symbol +sym+.
208
+ //
209
+ var a$r = {};
210
+ function a$s(sym)
211
+ {
212
+ if (!a$r[sym])
213
+ {
214
+ var fn = function() {
215
+ return a$t(this, arguments, sym);
216
+ };
217
+ fn.a$i = true;
218
+ a$r[sym] = fn;
219
+ }
220
+
221
+ return a$r[sym];
222
+ }
223
+
224
+ function a$t(obj, args, sym)
225
+ {
226
+ var i, a;
227
+ a = [];
228
+ if (args.length == 0)
229
+ a.push(nil);
230
+ else
231
+ a.push(args[0]);
232
+
233
+ a.push(a$h[sym] || nil);
234
+
235
+ for (i=1; i<args.length; i++)
236
+ a.push(args[i]);
237
+
238
+ var m = obj.$n;
239
+
240
+ if (m)
241
+ return m.apply(obj, a);
242
+ else
243
+ throw "FATAL: method_missing missing";
244
+ }
245
+
246
+ //
247
+ // assign method_missing stubs
248
+ //
249
+ function a$n(c)
250
+ {
251
+ var i;
252
+
253
+ for (i in a$h)
254
+ {
255
+ if (c.a$d.prototype[i]===undefined)
256
+ {
257
+ c.a$d.prototype[i] = a$s(i);
258
+ }
259
+ }
260
+
261
+ if (c.a$e != nil)
262
+ {
263
+ for (i in c.a$e)
264
+ {
265
+ if (c[i]===undefined)
266
+ {
267
+ c[i] = a$s(i);
268
+ }
269
+ }
270
+ }
271
+ }
272
+ // method map
273
+ var a$h = {"$cG":"getClientY","$u":"puts","$cp":"addMouseWheelListener","$cX":"checkWidgetParent","$bG":"createTD","$cf":"get","$c4":"sub","$cQ":"getTarget","$bW":"getChild","$bb":"setInnerHTML","$cw":"to_i","$cD":"getCtrlKey","$db":"pop","$W":"setTitle","$bK":"createInputCheck","$cI":"getToElement","$1":"getStyleElement","$H":"last","$bP":"createTH","$b2":"getPropertyBoolean","$ae":"getEventsSunk","$cS":"getButton","$S":"<<","$p":"__send","$cg":"addClickListener","$0":"isVisible","$bM":"createForm","$bQ":"getChildIndex","$h":"kind_of?","$m":"instance_of?","$N":"<=","$bD":"setOptionText","$aE":"onLoad","$cc":"mapEvent","$dd":"push","$bR":"createCol","$bt":"windowGetClientWidth","$J":"exclude_end?","$cs":"onClick","$cu":"removeMouseListener","$U":"message","$aZ":"collect","$4":"setStyleAttribute","$al":"getOffsetWidth","$bc":"getElementById","$cP":"getAltKey","$bS":"createIFrame","$o":"to_s","$cd":"main","$b8":"changeToStaticPositioning","$a9":"values","$bk":"createInputText","$Z":"removeAttribute","$cb":"getType","$5":"removeStyleName","$c8":"ljust","$c0":"getWidgetTop","$bs":"createTR","$bu":"createCaption","$aI":"isAttached","$O":"end","$cF":"preventDefault","$s":"proc","$bX":"getCapture","$c2":"setWidgetPosition","$r":"respond_to?","$bm":"getStyleAttributeInt","$bh":"compare","$c5":"size","$bf":"releaseCapture","$x":"loop","$cT":"getRepeat","$X":"setAttribute","$_":"setProperty","$B":"hash","$be":"getNextSibling","$7":"getAbsoluteLeft","$e":"name","$a2":"map","$bv":"setImgSrc","$co":"setText","$ag":"getPropertyInt","$a8":"[]=","$df":"reverse!","$aB":"setLayoutData","$cH":"setKeyCode","$aH":"setParent","$cL":"dispatch","$aV":"^","$aC":"onAttach","$ba":"new_from_jsobject","$a0":"call","$cO":"getMouseWheelVelocityY","$cJ":"getMetaKey","$bo":"getInnerText","$b4":"getStyleAttributeBoolean","$aQ":">=","$aX":"+@","$c_":"gsub","$ac":"sinkEvents","$bA":"windowGetClientHeight","$ct":"addMouseListener","$bO":"createLabel","$a_":"new_from_key_value_list","$cB":"getScreenX","$ax":"onUnload","$ch":"setWordWrap","$aM":"createDiv","$ca":"disown","$dh":"getBodyElement","$de":"unshift","$cR":"getShiftKey","$b6":"appendChild","$l":"empty?","$aP":"downto","$cC":"getScreenY","$cr":"removeClickListener","$d":"__invoke","$bZ":"createTable","$a5":"keys","$c9":"index","$cN":"getTypeString","$aD":"setEventListener","$b":"allocate","$aT":"%","$da":"each_with_index","$9":"strip","$a":"new","$aq":"&","$w":"send","$c$":"reverse","$cW":"getWidgetLeft","$bz":"createFieldSet","$bd":"getStyleAttribute","$L":"include?","$c1":"setWidgetPositionToStatic","$at":"setPixelSize","$aN":"setInnerText","$bq":"getImgSrc","$aY":"*","$au":"+","$ck":"delete","$f":"===","$c":"initialize","$ap":"unsinkEvents","$bH":"createInputPassword","$j":"raise","$ci":"removeMouseWheelListener","$v":"each","$aR":"-","$bw":"createTBody","$b1":"getChildCount","$b5":"insertChild","$a7":"join","$an":"setElement","$8":"getProperty","$aU":"times","$cM":"toString","$n":"method_missing","$z":"class","$cm":"getWordWrap","$aS":"/","$aF":"getParent","$t":"p","$af":"getOffsetHeight","$b$":"adopt","$bn":"createInputRadio","$i":"inspect","$bJ":"createTFoot","$cZ":"addStatic","$b3":"createSpan","$cn":"getText","$bY":"isOrHasChild","$K":"begin","$ak":"getElement","$bi":"createColGroup","$aK":"remove","$Q":"succ","$y":"is_a?","$c7":"=~","$cK":"getKeyCode","$b_":"clear","$3":"setHeight","$D":"==","$dc":"to_ary","$bC":"insertBefore","$bl":"createInput","$by":"createLegend","$bV":"createImg","$aJ":"removeFromParent","$av":"onDetach","$am":"setStyleName","$cx":"to_splat","$ai":"getTitle","$bL":"getAttribute","$dg":"dup","$bN":"createButton","$aj":"getStyleName","$aW":"-@","$a1":"find_all","$T":"member?","$C":"method","$aL":"onBrowserEvent","$br":"setAbsolutePixelPosition","$a6":"[]","$ce":"__init","$bF":"getInnerHTML","$a3":"reject","$cU":"getFromElement","$A":"tap","$a4":"select","$bp":"setCapture","$aa":"setSize","$c6":"rjust","$R":"to_a","$bI":"createTextArea","$ad":"|","$c3":"addPositioned","$bT":"createOptions","$F":"first","$M":"<","$a$":"length","$b0":"createTHead","$bU":"createAnchor","$az":"getLayoutData","$6":"styleNameHelper","$bE":"removeChild","$ao":"replace","$ar":"~","$2":"getAbsoluteTop","$$":"split","$bB":"getFirstChild","$as":"setVisible","$P":">","$g":"eql?","$ab":"setWidth","$b7":"createSelect","$b9":"add","$bx":"scrollIntoView","$aO":"upto","$bj":"createElement","$q":"nil?","$ay":"removeEventListener","$cE":"getClientX","$ah":"addStyleName","$k":"shift","$cv":"to_f"};
274
+ var a$f = {};
275
+ for (var i in a$h) a$f[a$h[i]] = i;
276
+ $b = a$d({a$e: nil,a$f: {$a: function(_e,_a,_b,_c){var self,_d;self=this;try{if(arguments.length<3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(arguments.length>4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));if(_c==null)_c=nil;;if((_d=_c,_d===false||_d===nil)){_c=(function() {})};return new self.a$d($b, _a, _b, _c);}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==2))return _f.a$a;throw(_f)}}},a$c: "Class",a$g: new a$a(a$a, nil, "Class", a$a),a$h: {$e: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.a$c},$a: function(_c){var self,_a,_b,_d,_e,_f;_f=nil;self=this;_d=_c==null?nil:_c;try{_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;_e=self.$b();_e.$d(_d,'$c',a$b(_a));_f=_e;return _f}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==0))return _g.a$a;throw(_g)}},$f: function(_d,_a){var self,_b,_c;_c=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_c=(_b=self.$g(nil,_a), (_b!==false&&_b!==nil) ? _b : (_a.$h(nil,self)));return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==1))return _e.a$a;throw(_e)}},$b: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return (new self.a$d())},$i: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.a$c}}});a$e($b);$i = a$d({a$j: [],a$e: nil,a$c: "Kernel",a$h: {$p: function(_d,_a){var self,_b,_c,_e;self=this;_e=_d==null?nil:_d;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));_b=[];for(_c=2;_c<arguments.length;_c++)_b.push(arguments[_c]);;
277
+ var m = self[a$f[_a]];
278
+ if (m)
279
+ return m.apply(self, [_e].concat(_b));
280
+ else
281
+ return self.$n.apply(self, [_e].concat([_a]).concat(_b));}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==4))return _f.a$a;throw(_f)}},$n: function(_d,_a){var self,_b,_c,_e,_f;_f=nil;self=this;_e=_d==null?nil:_d;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));_b=[];for(_c=2;_c<arguments.length;_c++)_b.push(arguments[_c]);;_f=self.$j(nil,$g,("undefined method `" + (_a).$o() + ("' for ").$o() + (self.$i()).$o()));return _f}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==3))return _g.a$a;throw(_g)}},$j: function(){var self,_a,_b,_c,_d;self=this;_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;_c=((_b=_a.$l(),_b!==false&&_b!==nil)?$c.$a(nil,""):(_d=_a.$k(),((_b=_d.$h(nil,$b),_b!==false&&_b!==nil)?_d.$d(nil,'$a',a$b(_a)):((_b=_d.$m(nil,$f),_b!==false&&_b!==nil)?((_b=_a.$l(),_b!==false&&_b!==nil)?_d:$a.$a(nil,"to many arguments given to raise")):((_b=_d.$m(nil,$e),_b!==false&&_b!==nil)?((_b=_a.$l(),_b!==false&&_b!==nil)?$c.$a(nil,_d):$a.$a(nil,"to many arguments given to raise")):$d.$a(nil,"exception class/object expected"))))));throw(_c)},$q: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=false;return _a},$s: function(_a){var self,_b,_c;_c=nil;self=this;_b=_a==null?nil:_a;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_c=$h.$a(_b);return _c}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==6))return _d.a$a;throw(_d)}},$r: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
282
+ var m = a$f[_a];
283
+ return (m !== undefined && self[m] !== undefined && !self[m].a$i)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==5))return _c.a$a;throw(_c)}},$t: function(){var self,_a,_b,_f;_f=nil;self=this;_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;_a.$v(function(_c){var _d;var _e=nil;_d=_c==null?nil:_c;_e=self.$u(nil,_d.$i());return _e});_f=nil;return _f},$d: function(_c,_a,_b){var self,_d;self=this;_d=_c==null?nil:_c;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
284
+ var m = self[_a];
285
+ if (m)
286
+ return m.apply(self, [_d].concat(_b));
287
+ else
288
+ return self.$n.apply(self,
289
+ [_d].concat([a$h[_a]]).concat(_b));}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==7))return _e.a$a;throw(_e)}},$x: function(_a){var self,_b;_b=nil;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;while(true){_a()};_b=nil;;return _b}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==10))return _c.a$a;throw(_c)}},$u: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_a=_a.$o();alert(_a); return nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==9))return _c.a$a;throw(_c)}},$w: function(_d,_a){var self,_b,_c,_e;self=this;_e=_d==null?nil:_d;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));_b=[];for(_c=2;_c<arguments.length;_c++)_b.push(arguments[_c]);;
290
+ var m = self[a$f[_a]];
291
+ if (m)
292
+ return m.apply(self, [_e].concat(_b));
293
+ else
294
+ return self.$n.apply(self, [_e].concat([_a]).concat(_b));}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==8))return _f.a$a;throw(_f)}}}});$k = a$d({a$j: [$i],a$e: nil,a$c: "Object",a$h: {$h: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return a$i(self, _a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==11))return _c.a$a;throw(_c)}},$y: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return a$i(self, _a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==12))return _c.a$a;throw(_c)}},$z: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.a$g},$g: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return (self.constructor == _a.constructor && self == _a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==13))return _c.a$a;throw(_c)}},$B: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.toString()},$A: function(_a){var self,_b;_b=nil;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a(self);_b=self;return _b}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==14))return _c.a$a;throw(_c)}},$o: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.toString()},$c: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=nil;return _a},$C: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$j.$a(nil,self,_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==15))return _d.a$a;throw(_d)}},$f: function(_d,_a){var self,_b,_c;_c=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_c=(_b=self.$g(nil,_a), (_b!==false&&_b!==nil) ? _b : (self.$h(nil,_a)));return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==16))return _e.a$a;throw(_e)}},$m: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return (self.a$g === _a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==17))return _c.a$a;throw(_c)}},$i: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.toString()}}});$l = a$d({a$j: [],a$e: $k,a$c: "Range",a$h: {$D: function(_e,_a){var self,_b,_c,_d;_d=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if (self.constructor != _a.constructor) return false;;_d=(_b=self.$E.$D(nil,_a.$F()), (_b!==false&&_b!==nil) ? ((_c=self.$G.$D(nil,_a.$H()), (_c!==false&&_c!==nil) ? (self.$I.$D(nil,_a.$J())) : _c)) : _b);return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==18))return _f.a$a;throw(_f)}},$K: function(){var self,_a;_a=nil;self=this;if(self.$E==null)self.$E=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$E;return _a},$g: function(_e,_a){var self,_b,_c,_d;_d=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if (self.constructor != _a.constructor) return false;;_d=(_b=self.$E.$g(nil,_a.$F()), (_b!==false&&_b!==nil) ? ((_c=self.$G.$g(nil,_a.$H()), (_c!==false&&_c!==nil) ? (self.$I.$D(nil,_a.$J())) : _c)) : _b);return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==19))return _f.a$a;throw(_f)}},$J: function(){var self,_a;_a=nil;self=this;if(self.$I==null)self.$I=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$I;return _a},$H: function(){var self,_a;_a=nil;self=this;if(self.$G==null)self.$G=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$G;return _a},$o: function(){var self,_b,_a;_a=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;if((_b=self.$I,_b!==false&&_b!==nil)){_a=("" + (self.$E).$o() + ("...").$o() + (self.$G).$o())}else{_a=("" + (self.$E).$o() + ("..").$o() + (self.$G).$o())};return _a},$v: function(_c){var self,_a,_b,_d;_d=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$E;if((_b=self.$E.$P(nil,self.$G),_b!==false&&_b!==nil)){return nil};if((_b=self.$I,_b!==false&&_b!==nil)){while((_b=_a.$M(nil,self.$G),_b!==false&&_b!==nil)){_c(_a);_a=_a.$Q()};_d=nil;}else{while((_b=_a.$N(nil,self.$G),_b!==false&&_b!==nil)){_c(_a);_a=_a.$Q()};_d=nil;};return _d}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==22))return _e.a$a;throw(_e)}},$O: function(){var self,_a;_a=nil;self=this;if(self.$G==null)self.$G=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$G;return _a},$F: function(){var self,_a;_a=nil;self=this;if(self.$E==null)self.$E=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$E;return _a},$L: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_b=_a.$M(nil,self.$E),_b!==false&&_b!==nil)){return false};if((_b=self.$I,_b!==false&&_b!==nil)){_c=_a.$M(nil,self.$G)}else{_c=_a.$N(nil,self.$G)};return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==21))return _e.a$a;throw(_e)}},$c: function(_f,_a,_b,_c){var self,_d,_e;_e=nil;self=this;try{if(arguments.length<3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(arguments.length>4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));if(_c==null)_c=false;;(_d=[_a,_b],self.$E=_d[0]==null?nil:_d[0],self.$G=_d[1]==null?nil:_d[1],_d);_e=self.$I=((_d=_c,_d!==false&&_d!==nil)?true:false);return _e}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==20))return _g.a$a;throw(_g)}},$f: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_b=_a.$M(nil,self.$E),_b!==false&&_b!==nil)){return false};if((_b=self.$I,_b!==false&&_b!==nil)){_c=_a.$M(nil,self.$G)}else{_c=_a.$N(nil,self.$G)};return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==23))return _e.a$a;throw(_e)}},$R: function(){var self,_a,_b,_c;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];if((_b=self.$E.$P(nil,self.$G),_b!==false&&_b!==nil)){return _a};_c=self.$E;if((_b=self.$I,_b!==false&&_b!==nil)){while((_b=_c.$M(nil,self.$G),_b!==false&&_b!==nil)){_a.$S(nil,_c);_c=_c.$Q()}}else{while((_b=_c.$N(nil,self.$G),_b!==false&&_b!==nil)){_a.$S(nil,_c);_c=_c.$Q()}};return _a},$i: function(){var self,_b,_a;_a=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;if((_b=self.$I,_b!==false&&_b!==nil)){_a=("" + (self.$E.$i()).$o() + ("...").$o() + (self.$G.$i()).$o())}else{_a=("" + (self.$E.$i()).$o() + ("..").$o() + (self.$G.$i()).$o())};return _a},$T: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$E==null)self.$E=nil;if(self.$G==null)self.$G=nil;if(self.$I==null)self.$I=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_b=_a.$M(nil,self.$E),_b!==false&&_b!==nil)){return false};if((_b=self.$I,_b!==false&&_b!==nil)){_c=_a.$M(nil,self.$G)}else{_c=_a.$N(nil,self.$G)};return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==24))return _e.a$a;throw(_e)}}}});$f = a$d({a$j: [],a$e: $k,a$c: "Exception",a$h: {$U: function(){var self,_a;_a=nil;self=this;if(self.$V==null)self.$V=nil;_a=self.$V;return _a},$o: function(){var self,_a;_a=nil;self=this;if(self.$V==null)self.$V=nil;_a=self.$V;return _a},$c: function(_d,_a){var self,_c,_b;_b=nil;self=this;try{if(arguments.length>2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(_a==null)_a=nil;;if((_c=_a.$q(),_c!==false&&_c!==nil)){_b=self.$V=self.$z().$e()}else{_b=self.$V=_a};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==25))return _e.a$a;throw(_e)}},$i: function(){var self,_a;_a=nil;self=this;if(self.$V==null)self.$V=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=("#<" + (self.$z().$e()).$o() + (": ").$o() + (self.$V).$o() + (">").$o());return _a}}});$m = a$d({a$j: [],a$e: $f,a$c: "StandardError"});$n = a$d({a$j: [],a$e: $m,a$c: "NameError"});$g = a$d({a$j: [],a$e: $n,a$c: "NoMethodError"});$p = a$d({a$j: [],a$e: $k,a$c: "UIObject",a$h: {$W: function(_d,_a){var self,_c,_b;_b=nil;self=this;if(self.$Y==null)self.$Y=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_c=_a,_c!==false&&_c!==nil)){_b=$o.$X(nil,self.$Y,"title",_a)}else{_b=$o.$Z(nil,self.$Y,"title")};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==26))return _e.a$a;throw(_e)}},$2: function(){var self,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=$o.$2(nil,self.$Y);return _a},$1: function(){var self;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.$Y},$0: function(){var self,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=$o.$0(nil,self.$Y);return _a},$7: function(){var self,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=$o.$7(nil,self.$Y);return _a},$5: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$6(nil,(3),_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==28))return _d.a$a;throw(_d)}},$3: function(_c,_a){var self,_b;_b=nil;self=this;if(self.$Y==null)self.$Y=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$o.$4(nil,self.$Y,"height",_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==27))return _d.a$a;throw(_d)}},$aa: function(_d,_a,_b){var self,_c;_c=nil;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;self.$ab(nil,_a);_c=self.$3(nil,_b);return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==30))return _e.a$a;throw(_e)}},$6: function(_k,_a,_b){var self,_c,_d,_e,_f,_g,_h,_i,_j;_j=nil;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b=nil;;if((_c=_d=self.$1(),_c===false||_c===nil)){self.$j(nil,"Null widget handle!")};_e=$o.$8(nil,_d,"className").$9();if((_c=_e.$l(),_c!==false&&_c!==nil)){_e="rwt-nostyle";$o.$_(nil,_d,"className",_e)};if((_c=_a.$D(nil,(0)),_c===false||_c===nil)){_b=_b.$9();if((_c=_b.$l(),_c!==false&&_c!==nil)){self.$j(nil,"Style names cannot be empty")}};_f=_e.$$(nil," ");_g=_f.$F();if((_c=_a.$D(nil,(0)),_c!==false&&_c!==nil)){return _g};if((_c=(_h=_a.$D(nil,(3)), (_h!==false&&_h!==nil) ? (_g.$D(nil,_b)) : _h),_c!==false&&_c!==nil)){self.$j(nil,"Cannot remove primary style name")};_i=[];var e, s;
295
+ for (var i=0; i<_f.length; i++)
296
+ {
297
+ e = _f[i];
298
+ if (e == '') continue;
299
+
300
+ if (_a == (1))
301
+ {
302
+ // set primary name -> update all dependent style names
303
+ if (e.indexOf(_g) != 0)
304
+ {
305
+ // +e+ doesnt start with the old primary style name
306
+ // -> we dont touch it and keep it!
307
+ s = e;
308
+ }
309
+ else
310
+ {
311
+ // replace +primary+ with +style+
312
+ s = _b + e.substring(_g.length);
313
+ }
314
+ }
315
+ else /* MODE_ADD or MODE_REM */
316
+ {
317
+ // remove the style. in case of MODE_ADD, we add it back later!
318
+ s = (e == _b) ? null : e;
319
+ }
320
+
321
+ if (s) _i.push(s);
322
+ }
323
+
324
+ if (_a == (2))
325
+ {
326
+ _i.push(_b);
327
+ }
328
+
329
+ _i = _i.join(" ");;_j=$o.$_(nil,_d,"className",_i);return _j}catch(_l){if(_l instanceof a$c && (!_l.a$b || _l.a$b==29))return _l.a$a;throw(_l)}},$ab: function(_c,_a){var self,_b;_b=nil;self=this;if(self.$Y==null)self.$Y=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$o.$4(nil,self.$Y,"width",_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==31))return _d.a$a;throw(_d)}},$o: function(){var self,_b,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;if((_b=self.$Y,_b!==false&&_b!==nil)){_a=$o.$o(nil,self.$Y)}else{_a="(null handle)"};return _a},$ah: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$6(nil,(2),_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==33))return _d.a$a;throw(_d)}},$af: function(){var self,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=$o.$ag(nil,self.$Y,"offsetHeight");return _a},$ac: function(_c,_a){var self,_b;_b=nil;self=this;if(self.$Y==null)self.$Y=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$o.$ac(nil,self.$Y,_a.$ad(nil,$o.$ae(nil,self.$Y)));return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==32))return _d.a$a;throw(_d)}},$ak: function(){var self,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$Y;return _a},$aj: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$6(nil,(0));return _a},$ai: function(){var self,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=$o.$8(nil,self.$Y,"title");return _a},$al: function(){var self,_a;_a=nil;self=this;if(self.$Y==null)self.$Y=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=$o.$ag(nil,self.$Y,"offsetWidth");return _a},$an: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$Y==null)self.$Y=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_b=self.$Y,_b!==false&&_b!==nil)){$o.$ao(nil,self.$Y,_a)};_c=self.$Y=_a;return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==35))return _e.a$a;throw(_e)}},$am: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$6(nil,(1),_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==34))return _d.a$a;throw(_d)}},$at: function(_d,_a,_b){var self,_c;_c=nil;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;self.$ab(nil,_a.$au(nil,"px"));_c=self.$3(nil,_b.$au(nil,"px"));return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==38))return _e.a$a;throw(_e)}},$as: function(_c,_a){var self,_b;_b=nil;self=this;if(self.$Y==null)self.$Y=nil;try{if(arguments.length>2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(_a==null)_a=true;;_b=$o.$as(nil,self.$Y,_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==37))return _d.a$a;throw(_d)}},$ap: function(_c,_a){var self,_b;_b=nil;self=this;if(self.$Y==null)self.$Y=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$o.$ac(nil,self.$Y,$o.$ae(nil,self.$Y).$aq(nil,_a.$ar()));return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==36))return _d.a$a;throw(_d)}}}});$q = a$d({a$j: [],a$e: $p,a$c: "Widget",a$h: {$av: function(){var self,_a,_b;_b=nil;self=this;if(self.$aw==null)self.$aw=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;if((_a=self.$aw,_a===false||_a===nil)){self.$j(nil,"cannot detached unattached widget")};self.$ax();self.$aw=false;_b=$o.$ay(nil,self.$ak());return _b},$az: function(){var self,_a;_a=nil;self=this;if(self.$aA==null)self.$aA=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$aA;return _a},$aF: function(){var self,_a;_a=nil;self=this;if(self.$aG==null)self.$aG=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$aG;return _a},$aC: function(){var self,_a,_b;_b=nil;self=this;if(self.$aw==null)self.$aw=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;if((_a=self.$aw,_a!==false&&_a!==nil)){self.$j(nil,"already attached")};self.$aw=true;$o.$aD(nil,self.$ak(),self);_b=self.$aE();return _b},$aB: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$aA=_a;return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==39))return _d.a$a;throw(_d)}},$aH: function(_f,_a){var self,_b,_d,_e,_c;_c=nil;self=this;if(self.$aG==null)self.$aG=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$aG;self.$aG=_a;if((_d=_a.$q(),_d!==false&&_d!==nil)){if((_d=(_e=_b, (_e!==false&&_e!==nil) ? (_b.$aI()) : _e),_d!==false&&_d!==nil)){_c=self.$av()}else{_c=nil}}else{if((_d=_a.$aI(),_d!==false&&_d!==nil)){_c=self.$aC()}else{_c=nil}};return _c}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==40))return _g.a$a;throw(_g)}},$aL: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=nil;return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==41))return _d.a$a;throw(_d)}},$aJ: function(){var self,_b,_a;_a=nil;self=this;if(self.$aG==null)self.$aG=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;if((_b=self.$aG,_b!==false&&_b!==nil)){_a=self.$aG.$aK(nil,self)}else{_a=nil};return _a},$aI: function(){var self,_a;_a=nil;self=this;if(self.$aw==null)self.$aw=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$aw;return _a},$ax: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=nil;return _a},$an: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$aw==null)self.$aw=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_b=self.$aw,_b!==false&&_b!==nil)){$o.$ay(nil,self.$ak())};a$j(self,'$an',nil,[_a]);if((_b=self.$aw,_b!==false&&_b!==nil)){_c=$o.$aD(nil,_a,self)}else{_c=nil};return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==42))return _e.a$a;throw(_e)}},$aE: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=nil;return _a}}});$r = a$d({a$j: [],a$e: $q,a$c: "MyWidget",a$h: {$c: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;self.$an(nil,$o.$aM());self.$ac(nil,(1));self.$W(nil,"test");_a=$o.$aN(nil,self.$ak(),"click me");return _a},$aL: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;alert('okay')}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==43))return _c.a$a;throw(_c)}}}});$d = a$d({a$j: [],a$e: $m,a$c: "TypeError"});$s = a$d({a$j: [],a$e: $k,a$c: "Number",a$d: Number,a$h: {$au: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self + _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==47))return _c.a$a;throw(_c)}},$D: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self == _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==46))return _c.a$a;throw(_c)}},$aP: function(_d,_a){var self,_b,_c;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self;while((_c=_b.$aQ(nil,_a),_c!==false&&_c!==nil)){_d(_b);_b=_b.$aR(nil,1)};return self}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==45))return _e.a$a;throw(_e)}},$aO: function(_d,_a){var self,_b,_c;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self;while((_c=_b.$N(nil,_a),_c!==false&&_c!==nil)){_d(_b);_b=_b.$au(nil,1)};return self}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==44))return _e.a$a;throw(_e)}},$N: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self <= _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==48))return _c.a$a;throw(_c)}},$aR: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self - _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==49))return _c.a$a;throw(_c)}},$Q: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self+1},$aS: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self / _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==51))return _c.a$a;throw(_c)}},$o: function(_b,_a){var self;self=this;try{if(arguments.length>2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(_a==null)_a=10;;return self.toString(_a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==50))return _c.a$a;throw(_c)}},$aT: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self % _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==52))return _c.a$a;throw(_c)}},$aq: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self & _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==56))return _c.a$a;throw(_c)}},$M: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self < _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==55))return _c.a$a;throw(_c)}},$aU: function(_c){var self,_a,_b;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=0;while((_b=_a.$M(nil,self),_b!==false&&_b!==nil)){_c(_a);_a=_a.$au(nil,1)};return self}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==54))return _d.a$a;throw(_d)}},$ad: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self | _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==53))return _c.a$a;throw(_c)}},$aW: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return -self},$P: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self > _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==58))return _c.a$a;throw(_c)}},$aV: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self ^ _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==57))return _c.a$a;throw(_c)}},$ar: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return ~self},$aQ: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self >= _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==59))return _c.a$a;throw(_c)}},$i: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.toString()},$aY: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self * _a}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==60))return _c.a$a;throw(_c)}},$aX: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self}}});$t = a$d({a$j: [],a$e: $s,a$c: "Bignum",a$d: Number});$u = a$d({a$j: [],a$e: nil,a$c: "Enumerable",a$h: {$aZ: function(_a){var self,_b,_c,_f,_h;_h=nil;self=this;_b=_a==null?nil:_a;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_c=[];self.$v(function(_d){var _e;var _g=nil;_e=_d==null?nil:_d;_g=_c.$S(nil,((_f=_b,_f!==false&&_f!==nil)?_b.$a0(nil,_e):_e));return _g});_h=_c;return _h}catch(_i){if(_i instanceof a$c && (!_i.a$b || _i.a$b==61))return _i.a$a;throw(_i)}},$a1: function(_f){var self,_a,_e,_g;_g=nil;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];self.$v(function(_b){var _c;var _d=nil;_c=_b==null?nil:_b;if((_e=_f(_c),_e!==false&&_e!==nil)){_d=_a.$S(nil,_c)}else{_d=nil};return _d});_g=_a;return _g}catch(_h){if(_h instanceof a$c && (!_h.a$b || _h.a$b==62))return _h.a$a;throw(_h)}},$a2: function(_a){var self,_b,_c,_f,_h;_h=nil;self=this;_b=_a==null?nil:_a;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_c=[];self.$v(function(_d){var _e;var _g=nil;_e=_d==null?nil:_d;_g=_c.$S(nil,((_f=_b,_f!==false&&_f!==nil)?_b.$a0(nil,_e):_e));return _g});_h=_c;return _h}catch(_i){if(_i instanceof a$c && (!_i.a$b || _i.a$b==63))return _i.a$a;throw(_i)}},$R: function(){var self,_a,_e;_e=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];self.$v(function(_b){var _c;var _d=nil;_c=_b==null?nil:_b;_d=_a.$S(nil,_c);return _d});_e=_a;return _e},$a3: function(_f){var self,_a,_e,_g;_g=nil;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];self.$v(function(_b){var _c;var _d=nil;_c=_b==null?nil:_b;if((_e=_f(_c),_e===false||_e===nil)){_d=_a.$S(nil,_c)}else{_d=nil};return _d});_g=_a;return _g}catch(_h){if(_h instanceof a$c && (!_h.a$b || _h.a$b==64))return _h.a$a;throw(_h)}},$a4: function(_f){var self,_a,_e,_g;_g=nil;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];self.$v(function(_b){var _c;var _d=nil;_c=_b==null?nil:_b;if((_e=_f(_c),_e!==false&&_e!==nil)){_d=_a.$S(nil,_c)}else{_d=nil};return _d});_g=_a;return _g}catch(_h){if(_h instanceof a$c && (!_h.a$b || _h.a$b==65))return _h.a$a;throw(_h)}}}});$v = a$d({a$j: [$u],a$e: $k,a$f: {$a_: function(){var self,_a,_b,_c;self=this;_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;if((_b=_a.$a$().$aT(nil,2).$D(nil,0),_b===false||_b===nil)){self.$j(nil,$a)};_c=self.$b();
330
+ //
331
+ // we use an associate array to store the items. But unlike
332
+ // Javascript, the entries are arrays which contain the collisions.
333
+ // NOTE that we have to prefix the hash code with a prefix so that
334
+ // there are no collisions with methods etc.
335
+ // I prefix it for now with ":".
336
+ //
337
+ var items = {};
338
+ var hashed_key, current_key, current_val;
339
+
340
+ for (var i = 0; i < _a.length; i += 2)
341
+ {
342
+ current_key = _a[i];
343
+ current_val = _a[i+1];
344
+ hashed_key = ":" + current_key.$B();
345
+
346
+ // make sure that a bucket exists
347
+ if (!items[hashed_key]) items[hashed_key] = [];
348
+
349
+ items[hashed_key].push(current_key, current_val);
350
+ }
351
+
352
+ _c.a$k = items;
353
+ _c.a$l = nil;
354
+ return _c;
355
+ },$ba: function(_d,_a){var self,_b,_c;_c=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_c=_b=self.$a();return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==69))return _e.a$a;throw(_e)}}},a$c: "Hash",a$h: {$a6: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
356
+ if (!self.a$k)
357
+ {
358
+ // this is a Javascript Object, not a RubyJS Hash object.
359
+ // we directly look the key up. it's fast but not Ruby-like,
360
+ // so be careful!
361
+
362
+ var elem = self[_a];
363
+ return (elem == null ? nil : elem);
364
+ }
365
+
366
+ var hashed_key = ":" + _a.$B();
367
+ var bucket = self.a$k[hashed_key];
368
+
369
+ if (bucket)
370
+ {
371
+ //
372
+ // find the matching element inside the bucket
373
+ //
374
+
375
+ for (var i = 0; i < bucket.length; i += 2)
376
+ {
377
+ if (bucket[i].$g(nil,_a))
378
+ return bucket[i+1];
379
+ }
380
+ }
381
+
382
+ // no matching key found -> return default value
383
+ return self.a$l;
384
+ }catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==66))return _c.a$a;throw(_c)}},$a5: function(){var self,_b,_f;_b=_f=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_f=self.$a2(function(_a){var _c,_d;var _e=nil;(_b=a$k(_a),_c=_b[0]==null?nil:_b[0],_d=_b[1]==null?nil:_b[1],_b);_e=_c;return _e});return _f},$o: function(){var self,_a,_c,_g;_c=_g=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];self.$v(function(_b){var _d,_e;var _f=nil;(_c=a$k(_b),_d=_c[0]==null?nil:_c[0],_e=_c[1]==null?nil:_c[1],_c);_a.$S(nil,_d);_f=_a.$S(nil,_e);return _f});_g=_a.$a7(nil,"");return _g},$a8: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
385
+ if (!self.a$k)
386
+ {
387
+ // this is a Javascript Object, not a RubyJS Hash object.
388
+ // we directly look the key up. it's fast but not Ruby-like,
389
+ // so be careful!
390
+
391
+ self[_a] = _b;
392
+ return _b;
393
+ }
394
+
395
+ var hashed_key = ":" + _a.$B();
396
+ var bucket = self.a$k[hashed_key];
397
+
398
+ if (bucket)
399
+ {
400
+ //
401
+ // find the matching element inside the bucket
402
+ //
403
+
404
+ for (var i = 0; i < bucket.length; i += 2)
405
+ {
406
+ if (bucket[i].$g(nil,_a))
407
+ {
408
+ // overwrite value
409
+ bucket[i+1] = _b;
410
+ return _b;
411
+ }
412
+ }
413
+ // key not found in this bucket. append key, value pair to bucket
414
+ bucket.push(_a, _b);
415
+ }
416
+ else
417
+ {
418
+ //
419
+ // create new bucket
420
+ //
421
+ self.a$k[hashed_key] = [_a, _b];
422
+ }
423
+ return _b;
424
+ }catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==68))return _d.a$a;throw(_d)}},$v: function(_a){var self;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;
425
+ if (!self.a$k)
426
+ {
427
+ // this is a Javascript Object, not a RubyJS Hash object.
428
+ // we directly look the key up. it's fast but not Ruby-like,
429
+ // so be careful!
430
+ var key, value;
431
+ for (key in self)
432
+ {
433
+ value = self[key];;_a([(key == null ? nil : key),(value == null ? nil : value)]);
434
+ }
435
+
436
+ return nil;
437
+ }
438
+
439
+ var key, bucket, i;
440
+ for (key in self.a$k)
441
+ {
442
+ if (key.charAt(0) == ":")
443
+ {
444
+ bucket = self.a$k[key];
445
+ for (i=0; i<bucket.length; i+=2)
446
+ {;_a([bucket[i],bucket[i+1]]);
447
+ }
448
+ }
449
+ }
450
+ return nil;
451
+ }catch(_b){if(_b instanceof a$c && (!_b.a$b || _b.a$b==67))return _b.a$a;throw(_b)}},$c: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;
452
+ self.a$k = {};
453
+ self.a$l = nil;
454
+ return nil},$a9: function(){var self,_b,_f;_b=_f=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_f=self.$a2(function(_a){var _c,_d;var _e=nil;(_b=a$k(_a),_c=_b[0]==null?nil:_b[0],_d=_b[1]==null?nil:_b[1],_b);_e=_d;return _e});return _f},$i: function(){var self,_a,_c,_g;_c=_g=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a="{";_a=_a.$au(nil,self.$a2(function(_b){var _d,_e;var _f=nil;(_c=a$k(_b),_d=_c[0]==null?nil:_c[0],_e=_c[1]==null?nil:_c[1],_c);_f=_d.$i().$au(nil,"=>").$au(nil,_e.$i());return _f}).$a7(nil,", "));_a=_a.$au(nil,"}");_g=_a;return _g}}});$w = a$d({a$j: [],a$e: $k,a$c: "Regexp",a$d: RegExp});$o = a$d({a$j: [],a$e: $k,a$f: {$bb: function(_c,_a,_b){var self;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b="";;
455
+ _a.innerHTML = _b;
456
+ return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==72))return _d.a$a;throw(_d)}},$bc: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return document.getElementById(_a) || nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==73))return _c.a$a;throw(_c)}},$_: function(_d,_a,_b,_c){var self;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;_a[_b] = _c; return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==71))return _e.a$a;throw(_e)}},$bd: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
457
+ var ret = _a.style[_b];
458
+ return (ret == null) ? nil : ret}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==74))return _d.a$a;throw(_d)}},$o: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.outerHTML}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==70))return _c.a$a;throw(_c)}},$be: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
459
+ var sib = _a.nextSibling;
460
+ while (sib && sib.nodeType != 1)
461
+ sib = sib.nextSibling;
462
+ return sib || nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==75))return _c.a$a;throw(_c)}},$bf: function(_d,_a){var self,_b,_c;self=this;if(self.$bg==null)self.$bg=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_b=(_c=self.$bg, (_c!==false&&_c!==nil) ? (self.$bh(nil,_a,self.$bg)) : _c),_b!==false&&_b!==nil)){self.$bg=nil};if (_a == window.a$m) window.a$m = null;;return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==76))return _e.a$a;throw(_e)}},$as: function(_d,_a,_b){var self,_c;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b=true;;if((_c=_b,_c!==false&&_c!==nil)){_a.style.display = ''}else{_a.style.display = 'none'};return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==77))return _e.a$a;throw(_e)}},$bh: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;return (_a == _b)}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==78))return _d.a$a;throw(_d)}},$bi: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"colgroup");return _a},$bk: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bl(nil,"text");return _a},$bm: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
463
+ var i = parseInt(_a.style[_b]);
464
+ return ((!i) ? 0 : i)}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==79))return _d.a$a;throw(_d)}},$bn: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
465
+ var e = document.createElement("INPUT");
466
+ e.type = 'radio';
467
+ e.name = _a;
468
+ return e}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==80))return _c.a$a;throw(_c)}},$bo: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
469
+ // To mimic IEs +innerText+ property in the W3C DOM, we need to recursively
470
+ // concatenate all child text nodes (depth first).
471
+ var text = '', child = _a.firstChild;
472
+ while (child) {
473
+ // 1 == Element node
474
+ if (child.nodeType == 1) {
475
+ text += this.$bo(nil, child);
476
+ } else if (child.nodeValue) {
477
+ text += child.nodeValue;
478
+ }
479
+ child = child.nextSibling;
480
+ }
481
+ return text}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==81))return _c.a$a;throw(_c)}},$bp: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$bg=_a;window.a$m = _a;;return nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==82))return _c.a$a;throw(_c)}},$bq: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
482
+ var ret = _a.src;
483
+ return (ret == null) ? nil : ret}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==83))return _c.a$a;throw(_c)}},$br: function(_e,_a,_b,_c){var self,_d;_d=nil;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;self.$4(nil,_a,"position","absolute");self.$4(nil,_a,"left",_b.$au(nil,"px"));_d=self.$4(nil,_a,"top",_c.$au(nil,"px"));return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==84))return _f.a$a;throw(_f)}},$bs: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"tr");return _a},$8: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
484
+ var ret = _a[_b];
485
+ return (ret == null) ? nil : String(ret)}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==85))return _d.a$a;throw(_d)}},$bu: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"caption");return _a},$ag: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
486
+ var i = parseInt(_a[_b]);
487
+ return ((!i) ? 0 : i)}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==87))return _d.a$a;throw(_d)}},$ac: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
488
+ _a.a$n = _b;
489
+
490
+ _a.onclick = (_b & 0x00001) ? window.a$o : null;
491
+ _a.ondblclick = (_b & 0x00002) ? window.a$o : null;
492
+ _a.onmousedown = (_b & 0x00004) ? window.a$o : null;
493
+ _a.onmouseup = (_b & 0x00008) ? window.a$o : null;
494
+ _a.onmouseover = (_b & 0x00010) ? window.a$o : null;
495
+ _a.onmouseout = (_b & 0x00020) ? window.a$o : null;
496
+ _a.onmousemove = (_b & 0x00040) ? window.a$o : null;
497
+ _a.onkeydown = (_b & 0x00080) ? window.a$o : null;
498
+ _a.onkeypress = (_b & 0x00100) ? window.a$o : null;
499
+ _a.onkeyup = (_b & 0x00200) ? window.a$o : null;
500
+ _a.onchange = (_b & 0x00400) ? window.a$o : null;
501
+ _a.onfocus = (_b & 0x00800) ? window.a$o : null;
502
+ _a.onblur = (_b & 0x01000) ? window.a$o : null;
503
+ _a.onlosecapture = (_b & 0x02000) ? window.a$o : null;
504
+ _a.onscroll = (_b & 0x04000) ? window.a$o : null;
505
+ _a.onload = (_b & 0x08000) ? window.a$o : null;
506
+ _a.onerror = (_b & 0x10000) ? window.a$o : null;
507
+ _a.onmousewheel = (_b & 0x20000) ? window.a$o : null;
508
+
509
+ return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==86))return _d.a$a;throw(_d)}},$X: function(_d,_a,_b,_c){var self;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;_a.setAttribute(_b, _c); return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==88))return _e.a$a;throw(_e)}},$bt: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return document.body.clientWidth},$ae: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.a$n || 0}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==89))return _c.a$a;throw(_c)}},$bw: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"tbody");return _a},$bv: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;_a.src = _b; return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==90))return _d.a$a;throw(_d)}},$bl: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
510
+ var e = document.createElement("INPUT");
511
+ e.type = _a;
512
+ return e}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==91))return _c.a$a;throw(_c)}},$bx: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
513
+ var left = _a.offsetLeft, top = _a.offsetTop;
514
+ var width = _a.offsetWidth, height = _a.offsetHeight;
515
+
516
+ if (_a.parentNode != _a.offsetParent) {
517
+ left -= _a.parentNode.offsetLeft;
518
+ top -= _a.parentNode.offsetTop;
519
+ }
520
+
521
+ var cur = _a.parentNode;
522
+ while (cur && (cur.nodeType == 1)) {
523
+ // body tags are implicitly scrollable
524
+ if ((cur.style.overflow == 'auto') || (cur.style.overflow == 'scroll') ||
525
+ (cur.tagName == 'BODY')) {
526
+
527
+ if (left < cur.scrollLeft) {
528
+ cur.scrollLeft = left;
529
+ }
530
+ if (left + width > cur.scrollLeft + cur.clientWidth) {
531
+ cur.scrollLeft = (left + width) - cur.clientWidth;
532
+ }
533
+ if (top < cur.scrollTop) {
534
+ cur.scrollTop = top;
535
+ }
536
+ if (top + height > cur.scrollTop + cur.clientHeight) {
537
+ cur.scrollTop = (top + height) - cur.clientHeight;
538
+ }
539
+ }
540
+
541
+ var offsetLeft = cur.offsetLeft, offsetTop = cur.offsetTop;
542
+ if (cur.parentNode != cur.offsetParent) {
543
+ offsetLeft -= cur.parentNode.offsetLeft;
544
+ offsetTop -= cur.parentNode.offsetTop;
545
+ }
546
+
547
+ left += offsetLeft - cur.scrollLeft;
548
+ top += offsetTop - cur.scrollTop;
549
+ cur = cur.parentNode;
550
+ }
551
+ return nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==92))return _c.a$a;throw(_c)}},$by: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"legend");return _a},$bz: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"fieldset");return _a},$bj: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return document.createElement(_a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==93))return _c.a$a;throw(_c)}},$aM: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"div");return _a},$bB: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
552
+ var child = _a.firstChild;
553
+ while (child && child.nodeType != 1)
554
+ child = child.nextSibling;
555
+ return child || nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==94))return _c.a$a;throw(_c)}},$bA: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return document.body.clientHeight},$7: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
556
+ var left = 0;
557
+ var curr = _a;
558
+ // This intentionally excludes body which has a null offsetParent.
559
+ while (curr.offsetParent) {
560
+ left -= curr.scrollLeft;
561
+ curr = curr.parentNode;
562
+ }
563
+ while (_a) {
564
+ left += _a.offsetLeft;
565
+ _a = _a.offsetParent;
566
+ }
567
+ return left}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==95))return _c.a$a;throw(_c)}},$bC: function(_d,_a,_b,_c){var self;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;_a.insertBefore(_b, _c); return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==96))return _e.a$a;throw(_e)}},$bD: function(_d,_a,_b,_c){var self;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;var option = _a.options[_c];
568
+ option.text = _b;
569
+ return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==97))return _e.a$a;throw(_e)}},$bE: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;_a.removeChild(_b); return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==98))return _d.a$a;throw(_d)}},$bF: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
570
+ var ret = _a.innerHTML;
571
+ return (ret == null) ? nil : ret}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==99))return _c.a$a;throw(_c)}},$bG: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"td");return _a},$bH: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bl(nil,"password");return _a},$bI: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"textarea");return _a},$bJ: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"tfoot");return _a},$bK: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bl(nil,"checkbox");return _a},$bL: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
572
+ var ret = _a.getAttribute(_b);
573
+ return (ret == null) ? nil : ret}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==101))return _d.a$a;throw(_d)}},$bM: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"form");return _a},$bN: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"button");return _a},$bO: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"label");return _a},$aD: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;_a.a$p = (_b === nil) ? null : _b; return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==100))return _d.a$a;throw(_d)}},$0: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return (_a.style.display != 'none')}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==102))return _c.a$a;throw(_c)}},$bP: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"th");return _a},$bQ: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
574
+ var count = 0, child = _a.firstChild;
575
+ while (child) {
576
+ if (child == _b)
577
+ return count;
578
+ if (child.nodeType == 1)
579
+ ++count;
580
+ child = child.nextSibling;
581
+ }
582
+
583
+ return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==103))return _d.a$a;throw(_d)}},$bR: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"col");return _a},$bS: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"iframe");return _a},$bT: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"options");return _a},$ao: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
584
+ var p = _a.parentNode;
585
+ if (!p) return;
586
+ p.insertBefore(_b, _a);
587
+ p.removeChild(_a);
588
+ return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==104))return _d.a$a;throw(_d)}},$bU: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"A");return _a},$ay: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_a.a$p = null; return nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==106))return _c.a$a;throw(_c)}},$aN: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
589
+ // Remove all children first.
590
+ while (_a.firstChild) {
591
+ _a.removeChild(_a.firstChild);
592
+ }
593
+ // Add a new text node.
594
+ if (_b !== nil) {
595
+ _a.appendChild(document.createTextNode(_b));
596
+ }
597
+ return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==105))return _d.a$a;throw(_d)}},$bV: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"img");return _a},$4: function(_d,_a,_b,_c){var self;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;_a.style[_b] = _c; return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==107))return _e.a$a;throw(_e)}},$bW: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
598
+ var count = 0, child = _a.firstChild;
599
+ while (child) {
600
+ var next = child.nextSibling;
601
+ if (child.nodeType == 1) {
602
+ if (_b == count)
603
+ return child;
604
+ ++count;
605
+ }
606
+ child = next;
607
+ }
608
+
609
+ return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==108))return _d.a$a;throw(_d)}},$bX: function(){var self;self=this;if(self.$bg==null)self.$bg=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.$bg},$bY: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;
610
+ while (_b) {
611
+ if (_a == _b) {
612
+ return true;
613
+ }
614
+ _b = _b.parentNode;
615
+ if (_b && (_b.nodeType != 1)) {
616
+ _b = null;
617
+ }
618
+ }
619
+ return false}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==109))return _d.a$a;throw(_d)}},$bZ: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"table");return _a},$b0: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"thead");return _a},$b2: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;return !!_a[_b]}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==111))return _d.a$a;throw(_d)}},$b1: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
620
+ var count = 0, child = _a.firstChild;
621
+ while (child) {
622
+ if (child.nodeType == 1)
623
+ ++count;
624
+ child = child.nextSibling;
625
+ }
626
+ return count}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==110))return _c.a$a;throw(_c)}},$b4: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;return !!_a.style[_b]}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==113))return _d.a$a;throw(_d)}},$Z: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;_a.removeAttribute(_b); return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==112))return _d.a$a;throw(_d)}},$b3: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$bj(nil,"span");return _a},$2: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
627
+ var top = 0;
628
+ var curr = _a;
629
+ // This intentionally excludes body which has a null offsetParent.
630
+ while (curr.offsetParent) {
631
+ top -= curr.scrollTop;
632
+ curr = curr.parentNode;
633
+ }
634
+ while (_a) {
635
+ top += _a.offsetTop;
636
+ _a = _a.offsetParent;
637
+ }
638
+ return top}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==119))return _c.a$a;throw(_c)}},$aF: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
639
+ var parent = _a.parentNode;
640
+ if(parent == null) {
641
+ return nil;
642
+ }
643
+ if (parent.nodeType != 1)
644
+ parent = null;
645
+ return parent || nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==118))return _c.a$a;throw(_c)}},$b8: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$4(nil,_a,"left","");self.$4(nil,_a,"top","");_b=self.$4(nil,_a,"position","static");return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==117))return _d.a$a;throw(_d)}},$b7: function(_d,_a){var self,_b,_c;self=this;try{if(arguments.length>2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(_a==null)_a=false;;_b=self.$bj(nil,"select");if((_c=_a,_c!==false&&_c!==nil)){self.$_(nil,_b,"multiple",true)};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==116))return _e.a$a;throw(_e)}},$b6: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;_a.appendChild(_b); return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==115))return _d.a$a;throw(_d)}},$b5: function(_d,_a,_b,_c){var self;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;
646
+ var count = 0, child = _a.firstChild, before = null;
647
+ while (child) {
648
+ if (child.nodeType == 1) {
649
+ if (count == _c) {
650
+ before = child;
651
+ break;
652
+ }
653
+ ++count;
654
+ }
655
+ child = child.nextSibling;
656
+ }
657
+
658
+ _a.insertBefore(_b, before);
659
+ return nil}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==114))return _e.a$a;throw(_e)}}},a$c: "DOM"});$x = a$d({a$j: [],a$e: $q,a$c: "Panel",a$h: {$av: function(){var self,_d;_d=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;a$j(self,'$av',nil,[]);_d=self.$v(function(_a){var _b;var _c=nil;_b=_a==null?nil:_a;_c=_b.$av();return _c});return _d},$b9: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$j(nil,"This panel does not support no-arg add()");return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==120))return _d.a$a;throw(_d)}},$b_: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$j();return _a},$aC: function(){var self,_d;_d=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;a$j(self,'$aC',nil,[]);_d=self.$v(function(_a){var _b;var _c=nil;_b=_a==null?nil:_a;_c=_b.$aC();return _c});return _d},$b$: function(_e,_a,_b){var self,_c,_d;_d=nil;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;_a.$aJ();if((_c=_b,_c!==false&&_c!==nil)){$o.$b6(nil,_b,_a.$ak())};_d=_a.$aH(nil,self);return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==121))return _f.a$a;throw(_f)}},$v: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self.$j();return _a},$ca: function(_e,_a){var self,_b,_c,_d;_d=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_b=_a.$aF().$D(nil,self),_b===false||_b===nil)){self.$j(nil,"w is not a child of this panel")};_c=_a.$ak();_a.$aH(nil,nil);_d=$o.$bE(nil,$o.$aF(nil,_c),_c);return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==122))return _f.a$a;throw(_f)}}}});$z = a$d({a$j: [],a$e: nil,a$c: "EventDispatchMap",a$h: {$aL: function(_c,_a){var self,_b;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$y.$cb(nil,_a);
660
+ var cb = self[_b];
661
+ if (cb) cb.apply(self, [nil, _a]);
662
+ return nil
663
+ }catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==123))return _d.a$a;throw(_d)}},$cc: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;self[_a] = _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==124))return _d.a$a;throw(_d)}}}});$D = a$d({a$j: [],a$e: $k,a$f: {$cd: function(){var self,_a,_e;_e=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;$y.$ce();$A.$cf().$b9(nil,$r.$a());_a=$B.$a();_e=(10).$aU(function(){var _c;var _d=nil;;_c=$C.$a(nil,"XXX");_c.$cg(nil,_a);_d=$A.$cf().$b9(nil,_c);return _d});return _e}},a$c: "Main"});$c = a$d({a$j: [],a$e: $m,a$c: "RuntimeError"});$E = a$d({a$j: [],a$e: $s,a$c: "Fixnum",a$d: Number});$h = a$d({a$j: [],a$e: $k,a$f: {$a: function(_a){var self,_b,_c;self=this;_b=_a==null?nil:_a;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;if((_c=_b,_c===false||_c===nil)){self.$j(nil,$a,"tried to create Proc object without a block")};return (function() {
664
+ try {
665
+ return _b.$a0.apply(_b, arguments);
666
+ } catch(e)
667
+ {
668
+ if (e instanceof a$c)
669
+ {
670
+ if (e.a$b == null)
671
+ {;self.$j(nil,$F,"break from proc-closure");}
672
+ return e.a$a;
673
+ }
674
+ else throw(e);
675
+ }
676
+ })}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==125))return _d.a$a;throw(_d)}}},a$c: "Proc",a$d: Function,a$h: {$a0: function(){var self,_a,_b;self=this;_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;
677
+ // TODO: use switch/case
678
+ if (_a.length == 0) return self();
679
+ else if (_a.length == 1) return self(_a[0]);
680
+ else return self(_a);}}});$F = a$d({a$j: [],a$e: $m,a$c: "LocalJumpError"});$G = a$d({a$j: [],a$e: $s,a$c: "Float",a$d: Number});$C = a$d({a$j: [],a$e: $q,a$c: "Label",a$h: {$ch: function(_d,_a){var self,_b,_c;_c=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_c=$o.$4(nil,self.$ak(),"whiteSpace",((_b=_a,_b!==false&&_b!==nil)?"normal":"nowrap"));return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==126))return _e.a$a;throw(_e)}},$cn: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=$o.$bo(nil,self.$ak());return _a},$cm: function(){var self,_a,_b;_b=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_b=(_a=$o.$bd(nil,self.$ak(),"whiteSpace").$D(nil,"nowrap"),_a===false||_a===nil);return _b},$ci: function(_d,_a){var self,_c,_b;_b=nil;self=this;if(self.$cj==null)self.$cj=nil;if(self.$cl==null)self.$cl=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_c=self.$cl,_c!==false&&_c!==nil)){_b=self.$cj.$ck(nil,_a)}else{_b=nil};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==127))return _e.a$a;throw(_e)}},$cp: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$cl==null)self.$cl=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$cl=(_b=self.$cl, (_b!==false&&_b!==nil) ? _b : ([]));_c=self.$cl.$S(nil,_a);return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==129))return _e.a$a;throw(_e)}},$co: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$o.$aN(nil,self.$ak(),_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==128))return _d.a$a;throw(_d)}},$cg: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$cq==null)self.$cq=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$cq=(_b=self.$cq, (_b!==false&&_b!==nil) ? _b : ([]));_c=self.$cq.$S(nil,_a);return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==131))return _e.a$a;throw(_e)}},$c: function(_e,_a,_b){var self,_c,_d;_d=nil;self=this;try{if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_a==null)_a=nil;if(_b==null)_b=nil;;self.$an(nil,$o.$aM());self.$ac(nil,(1).$ad(nil,(124)).$ad(nil,(131072)));self.$am(nil,"rwt-Label");if((_c=_a,_c!==false&&_c!==nil)){self.$co(nil,_a)};if((_c=_b.$q(),_c===false||_c===nil)){_d=self.$ch(nil,_b)}else{_d=nil};return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==130))return _f.a$a;throw(_f)}},$ct: function(_d,_a){var self,_b,_c;_c=nil;self=this;if(self.$cj==null)self.$cj=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$cj=(_b=self.$cj, (_b!==false&&_b!==nil) ? _b : ([]));_c=self.$cj.$S(nil,_a);return _c}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==134))return _e.a$a;throw(_e)}},$aL: function(_h,_a){var self,_b,_g,_f;_f=nil;self=this;if(self.$cq==null)self.$cq=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=$y.$cb(nil,_a);if((_g=_b.$D(nil,(1)),_g!==false&&_g!==nil)){if((_g=self.$cq,_g!==false&&_g!==nil)){_f=self.$cq.$v(function(_c){var _d;var _e=nil;_d=_c==null?nil:_c;_e=_d.$cs(nil,self);return _e})}else{_f=nil}}else{_f=nil};return _f}catch(_i){if(_i instanceof a$c && (!_i.a$b || _i.a$b==133))return _i.a$a;throw(_i)}},$cr: function(_d,_a){var self,_c,_b;_b=nil;self=this;if(self.$cq==null)self.$cq=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_c=self.$cq,_c!==false&&_c!==nil)){_b=self.$cq.$ck(nil,_a)}else{_b=nil};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==132))return _e.a$a;throw(_e)}},$cu: function(_d,_a){var self,_c,_b;_b=nil;self=this;if(self.$cj==null)self.$cj=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_c=self.$cj,_c!==false&&_c!==nil)){_b=self.$cj.$ck(nil,_a)}else{_b=nil};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==135))return _e.a$a;throw(_e)}}}});$H = a$d({a$j: [],a$e: $k,a$c: "NilClass",a$d: NilClass,a$h: {$cv: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=0.0;return _a},$q: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=true;return _a},$o: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a="";return _a},$cw: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=0;return _a},$R: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];return _a},$cx: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=[];return _a},$i: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a="nil";return _a}}});$j = a$d({a$j: [],a$e: $k,a$c: "Method",a$h: {$c: function(_f,_a,_b){var self,_c,_d,_e;_e=nil;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;(_c=[_a,_b],self.$cy=_c[0]==null?nil:_c[0],self.$cz=_c[1]==null?nil:_c[1],_c);_d=nil;_d = _a[a$f[_b]];
681
+ if (_d==null) _d = nil;;if((_c=_d,_c!==false&&_c!==nil)){_e=self.$cA=_d}else{_e=self.$j(nil,$n,("undefined method `" + (_b).$o() + ("' for class `").$o() + (_a.$z().$e()).$o() + ("'").$o()))};return _e}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==136))return _g.a$a;throw(_g)}},$a0: function(_c){var self,_a,_b,_d;self=this;_d=_c==null?nil:_c;try{_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;return self.$cA.apply(self.$cy, [_d].concat(_a))}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==137))return _e.a$a;throw(_e)}},$i: function(){var self,_a;_a=nil;self=this;if(self.$cy==null)self.$cy=nil;if(self.$cz==null)self.$cz=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=("#<Method: " + (self.$cy.$z().$e()).$o() + ("#").$o() + (self.$cz).$o() + (">").$o());return _a}}});$y = a$d({a$j: [],a$e: $k,a$f: {$cB: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.screenX}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==138))return _c.a$a;throw(_c)}},$cE: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.clientX}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==141))return _c.a$a;throw(_c)}},$cD: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.ctrlKey}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==140))return _c.a$a;throw(_c)}},$cC: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.screenY}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==139))return _c.a$a;throw(_c)}},$cG: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.clientY}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==143))return _c.a$a;throw(_c)}},$cF: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_a.preventDefault(); return nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==142))return _c.a$a;throw(_c)}},$cH: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;_a.keyCode = _b; return nil}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==144))return _d.a$a;throw(_d)}},$cL: function(_f,_a,_b,_c){var self,_e,_d;_d=nil;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;if((_e=_c,_e!==false&&_e!==nil)){_d=_c.$aL(nil,_a)}else{_d=nil};return _d}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==148))return _g.a$a;throw(_g)}},$cK: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.which || _a.keyCode}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==147))return _c.a$a;throw(_c)}},$cJ: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return !!_a.getMetaKey}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==146))return _c.a$a;throw(_c)}},$cI: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.relatedTarget || nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==145))return _c.a$a;throw(_c)}},$cP: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.altKey}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==153))return _c.a$a;throw(_c)}},$cO: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$j();return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==152))return _d.a$a;throw(_d)}},$cb: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
682
+ switch (_a.type) {
683
+ case "blur": return 0x01000;
684
+ case "change": return 0x00400;
685
+ case "click": return 0x00001;
686
+ case "dblclick": return 0x00002;
687
+ case "focus": return 0x00800;
688
+ case "keydown": return 0x00080;
689
+ case "keypress": return 0x00100;
690
+ case "keyup": return 0x00200;
691
+ case "load": return 0x08000;
692
+ case "losecapture": return 0x02000;
693
+ case "mousedown": return 0x00004;
694
+ case "mousemove": return 0x00040;
695
+ case "mouseout": return 0x00020;
696
+ case "mouseover": return 0x00010;
697
+ case "mouseup": return 0x00008;
698
+ case "scroll": return 0x04000;
699
+ case "error": return 0x10000;
700
+ case "mousewheel": return 0x20000;
701
+ case "DOMMouseScroll": return 0x20000;
702
+ }}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==151))return _c.a$a;throw(_c)}},$cN: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.type}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==150))return _c.a$a;throw(_c)}},$cM: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.toString()}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==149))return _c.a$a;throw(_c)}},$cQ: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.target || nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==154))return _c.a$a;throw(_c)}},$cS: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.button}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==156))return _c.a$a;throw(_c)}},$cR: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.shiftKey}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==155))return _c.a$a;throw(_c)}},$ce: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;
703
+ // assign event dispatcher
704
+ window.a$o = function(evt) {
705
+ self.$cL(nil, evt, this, this.a$p || nil);
706
+ };},$cU: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.relatedTarget || nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==158))return _c.a$a;throw(_c)}},$cT: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return _a.repeat}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==157))return _c.a$a;throw(_c)}}},a$c: "Event"});$B = a$d({a$j: [],a$e: $k,a$c: "MyEventListener",a$h: {$cs: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=_a.$co(nil,_a.$cn().$au(nil,"-"));return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==159))return _d.a$a;throw(_d)}}}});$I = a$d({a$j: [],a$e: $k,a$c: "MatchData",a$h: {$c: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_b=self.$cV=_a;return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==160))return _d.a$a;throw(_d)}}}});$J = a$d({a$j: [],a$e: $k,a$c: "Boolean",a$d: Boolean,a$h: {$D: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return (self == _a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==161))return _c.a$a;throw(_c)}},$o: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return (self == true ? 'true' : 'false')},$i: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return (self == true ? 'true' : 'false')}}});$a = a$d({a$j: [],a$e: $m,a$c: "ArgumentError"});$K = a$d({a$j: [],a$e: $x,a$c: "AbsolutePanel",a$h: {$b9: function(_d,_a){var self,_c,_b;_b=nil;self=this;if(self.$cY==null)self.$cY=nil;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$b$(nil,_a,self.$ak());if((_c=self.$cY,_c!==false&&_c!==nil)){_b=self.$cY.$S(nil,_a)}else{_b=nil};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==163))return _e.a$a;throw(_e)}},$cW: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$cX(nil,_a);return $o.$7(nil,_a.$ak()).$aR(nil,$o.$7(nil,self.$ak()))}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==162))return _c.a$a;throw(_c)}},$cZ: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;_a.$aJ();$o.$b8(nil,_a.$ak());_b=self.$b9(nil,_a);return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==165))return _d.a$a;throw(_d)}},$cX: function(_d,_a){var self,_c,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;if((_c=_a.$aF().$D(nil,self),_c===false||_c===nil)){_b=self.$j(nil,"Widget must be a child of this panel")}else{_b=nil};return _b}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==164))return _e.a$a;throw(_e)}},$v: function(_a){var self,_b,_c;_c=nil;self=this;_b=_a==null?nil:_a;if(self.$cY==null)self.$cY=nil;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_c=self.$cY.$v(_b);return _c}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==167))return _d.a$a;throw(_d)}},$c0: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$cX(nil,_a);return $o.$2(nil,_a.$ak()).$aR(nil,$o.$2(nil,self.$ak()))}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==166))return _c.a$a;throw(_c)}},$c: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;self.$cY=[];self.$an(nil,$o.$aM());$o.$4(nil,self.$ak(),"position","relative");_a=$o.$4(nil,self.$ak(),"overflow","hidden");return _a},$ca: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;a$j(self,'$ca',nil,[_a]);_b=$o.$b8(nil,_a.$ak());return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==169))return _d.a$a;throw(_d)}},$c1: function(_c,_a){var self,_b;_b=nil;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.$cX(nil,_a);_b=$o.$b8(nil,_a.$ak());return _b}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==168))return _d.a$a;throw(_d)}},$c2: function(_e,_a,_b,_c){var self,_d;_d=nil;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;self.$cX(nil,_a);_d=$o.$br(nil,_a.$ak(),_b,_c);return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==170))return _f.a$a;throw(_f)}},$c3: function(_e,_a,_b,_c){var self,_d;_d=nil;self=this;try{if(arguments.length!=4)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 3)'));;_a.$aJ();$o.$br(nil,_a.$ak(),_b,_c);_d=self.$b9(nil,_a);return _d}catch(_f){if(_f instanceof a$c && (!_f.a$b || _f.a$b==171))return _f.a$a;throw(_f)}}}});a$d({a$j: [],a$g: $b});$e = a$d({a$j: [],a$e: $k,a$c: "String",a$d: String,a$h: {$au: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return(self + _a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==173))return _c.a$a;throw(_c)}},$c4: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;self.replace(pattern, replacement)}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==172))return _d.a$a;throw(_d)}},$c7: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
707
+ var i = self.search(_a);
708
+ return (i == -1 ? nil : i)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==175))return _c.a$a;throw(_c)}},$c6: function(_f,_a,_b){var self,_c,_d,_e;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b=" ";;if((_c=_b.$l(),_c!==false&&_c!==nil)){self.$j(nil,$a,"zero width padding")};_d=_a.$aR(nil,self.$a$());if((_c=_d.$N(nil,0),_c!==false&&_c!==nil)){return self};_e="";while(_e.length < _d) _e += _b;;return _e.$a6(nil,0,_d).$au(nil,self)}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==174))return _g.a$a;throw(_g)}},$c5: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.length},$a6: function(_d,_a,_b){var self,_c;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b=nil;;if((_c=_b.$q(),_c!==false&&_c!==nil)){return self.charAt(_a) || nil}else{if((_c=_b.$M(nil,0),_c!==false&&_c!==nil)){return nil};return self.substring(_a, _a+_b)}}catch(_e){if(_e instanceof a$c && (!_e.a$b || _e.a$b==177))return _e.a$a;throw(_e)}},$c8: function(_f,_a,_b){var self,_c,_d,_e;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b=" ";;if((_c=_b.$l(),_c!==false&&_c!==nil)){self.$j(nil,$a,"zero width padding")};_d=_a.$aR(nil,self.$a$());if((_c=_d.$N(nil,0),_c!==false&&_c!==nil)){return self};_e="";while(_e.length < _d) _e += _b;;return self.$au(nil,_e.$a6(nil,0,_d))}catch(_g){if(_g instanceof a$c && (!_g.a$b || _g.a$b==176))return _g.a$a;throw(_g)}},$$: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self.split(_a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==178))return _c.a$a;throw(_c)}},$o: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self;return _a},$a$: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.length},$9: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.replace(/^\s+/, '').replace(/\s+$/, '')},$l: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return(self === "")},$c_: function(_g,_a,_b){var self,_c,_d,_e,_f;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b=nil;;(_c=["",self,nil],_d=_c[0]==null?nil:_c[0],_e=_c[1]==null?nil:_c[1],_f=_c[2]==null?nil:_c[2],_c);while(_e.length > 0) {
709
+ if (_f = _e.match(_a)) {
710
+ _d += _e.slice(0, _f.index);;if((_c=_b,_c!==false&&_c!==nil)){_d=_d.$au(nil,_b)}else{_d=_d.$au(nil,_g(_f.$F()).$o())};_e = _e.slice(_f.index + _f[0].length);
711
+ } else {
712
+ _d += _e; _e = '';
713
+ }
714
+ } return _d}catch(_h){if(_h instanceof a$c && (!_h.a$b || _h.a$b==180))return _h.a$a;throw(_h)}},$c9: function(_c,_a,_b){var self;self=this;try{if(arguments.length<2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(arguments.length>3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));if(_b==null)_b=0;;
715
+ var i = self.indexOf(_a, _b);
716
+ return (i == -1) ? nil : i}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==179))return _d.a$a;throw(_d)}},$i: function(){var self,_a,_b;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a={
717
+ '\b': '\\b',
718
+ '\t': '\\t',
719
+ '\n': '\\n',
720
+ '\f': '\\f',
721
+ '\r': '\\r',
722
+ '\\': '\\\\'
723
+ };;_b=self.$c_(function(_c){var _d,_e;_d=_c==null?nil:_c;_e=_a[_d];return _e ? _e :
724
+ '\\u00' + ("0" + _d.charCodeAt().toString(16)).substring(0,2);},/[\x00-\x1f\\]/);return ('"' + _b.replace(/"/g, '\\"') + '"');}}});$L = a$d({a$j: [$u],a$e: $k,a$f: {$a: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return []}},a$c: "Array",a$d: Array,a$h: {$au: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;return self.concat(_a)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==183))return _c.a$a;throw(_c)}},$S: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;self.push(_a); return self}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==182))return _c.a$a;throw(_c)}},$ck: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
725
+ var del = false;
726
+ for (var i=0; i < self.length; i++)
727
+ {
728
+ if (_a.$g(nil, self[i]))
729
+ {
730
+ self.splice(i,1);
731
+ del = true;
732
+ // stay at the current index unless we are at the last element!
733
+ if (i < self.length-1) --i;
734
+ }
735
+ }
736
+ return del ? _a : nil}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==181))return _c.a$a;throw(_c)}},$c5: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.length},$a6: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;var v = self[_a]; return (v == null ? nil : v)}catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==185))return _c.a$a;throw(_c)}},$b_: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;self.length=0; return self},$g: function(_b,_a){var self;self=this;try{if(arguments.length!=2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));;
737
+ if (!(_a instanceof Array)) return false;
738
+ if (self.length != _a.length) return false;
739
+
740
+ //
741
+ // compare element-wise
742
+ //
743
+ for (var i = 0; i < self.length; i++)
744
+ {
745
+ if (! self[i].$g(nil, _a[i]))
746
+ {
747
+ //
748
+ // at least for one element #eql? holds not true
749
+ //
750
+ return false;
751
+ }
752
+ }
753
+
754
+ return true;
755
+ }catch(_c){if(_c instanceof a$c && (!_c.a$b || _c.a$b==184))return _c.a$a;throw(_c)}},$c$: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.concat().reverse()},$H: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;var v = self[self.length - 1]; return (v == null ? nil : v)},$o: function(){var self,_d;_d=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_d=self.$a2(function(_a){var _b;var _c=nil;_b=_a==null?nil:_a;_c=_b.$o();return _c}).$a7();return _d},$a8: function(_c,_a,_b){var self;self=this;try{if(arguments.length!=3)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 2)'));;return (self[_a] = _b)}catch(_d){if(_d instanceof a$c && (!_d.a$b || _d.a$b==188))return _d.a$a;throw(_d)}},$v: function(_a){var self;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;
756
+ var elem;
757
+ for (var i=0; i < self.length; i++) {
758
+ elem = self[i];;_a((elem == null ? nil : elem));}
759
+ return self}catch(_b){if(_b instanceof a$c && (!_b.a$b || _b.a$b==187))return _b.a$a;throw(_b)}},$da: function(_a){var self;self=this;try{if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;
760
+ var elem;
761
+ for (var i=0; i < self.length; i++) {
762
+ elem = self[i];;_a([(elem == null ? nil : elem),i]);}
763
+ return self}catch(_b){if(_b instanceof a$c && (!_b.a$b || _b.a$b==186))return _b.a$a;throw(_b)}},$F: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;var v = self[0]; return (v == null ? nil : v)},$a$: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.length},$db: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;
764
+ var elem = self.pop();
765
+ return (elem == null ? nil : elem)},$k: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;
766
+ var elem = self.shift();
767
+ return (elem == null ? nil : elem)},$l: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return (self.length == 0)},$R: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self;return _a},$dd: function(){var self,_a,_b;self=this;_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;self.push.apply(self, _a); return self},$dc: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=self;return _a},$dg: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return self.concat()},$i: function(){var self,_a,_e;_e=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a="[";_a=_a.$au(nil,self.$a2(function(_b){var _c;var _d=nil;_c=_b==null?nil:_b;_d=_c.$i();return _d}).$a7(nil,", "));_a=_a.$au(nil,"]");_e=_a;return _e},$df: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;self.reverse(); return self},$de: function(){var self,_a,_b;self=this;_a=[];for(_b=1;_b<arguments.length;_b++)_a.push(arguments[_b]);;self.unshift.apply(self, _a); return self},$a7: function(_i,_a){var self,_b,_d,_h;_h=nil;self=this;try{if(arguments.length>2)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 1)'));if(_a==null)_a="";;_b="";self.$da(function(_c){var _e,_f;var _g=nil;(_d=a$k(_c),_e=_d[0]==null?nil:_d[0],_f=_d[1]==null?nil:_d[1],_d);_b=_b.$au(nil,_e.$o());if((_d=_f.$D(nil,self.$a$().$aR(nil,1)),_d===false||_d===nil)){_g=_b=_b.$au(nil,_a)}else{_g=nil};return _g});_h=_b;return _h}catch(_j){if(_j instanceof a$c && (!_j.a$b || _j.a$b==189))return _j.a$a;throw(_j)}}}});$A = a$d({a$j: [],a$e: $K,a$f: {$cf: function(){var self,_a,_b;_b=nil;self=this;if(self.$di==null)self.$di=nil;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_b=self.$di=(_a=self.$di, (_a!==false&&_a!==nil) ? _a : (self.$a()));return _b}},a$c: "RootPanel",a$h: {$dh: function(){var self;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;return document.body},$v: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;_a=nil;return _a},$c: function(){var self,_a;_a=nil;self=this;if(arguments.length>1)throw($a.$a(nil,'wrong number of arguments ('+Math.max(0,arguments.length-1).toString()+' for 0)'));;self.$an(nil,self.$dh());_a=self.$aC();return _a}}}); $b.a$e = $k;
768
+ var a$l = [$i,$k,$l,$f,$m,$n,$g,$p,$q,$r,$d,$s,$t,$u,$v,$w,$o,$x,$z,$D,$c,$E,$h,$F,$G,$C,$H,$j,$y,$B,$I,$J,$a,$K,$b,$e,$L,$A];
769
+ a$m(a$l);
770
+ for (var i=0; i<a$l.length; i++) a$n(a$l[i]);
771
+ function main() { return $D.$cd.apply($D, arguments); }