gli 1.6.0 → 2.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/.gitignore +11 -0
  2. data/.rvmrc +1 -0
  3. data/.travis.yml +10 -0
  4. data/Gemfile +8 -0
  5. data/LICENSE.txt +201 -0
  6. data/ObjectModel.graffle +1191 -0
  7. data/README.rdoc +60 -10
  8. data/Rakefile +145 -0
  9. data/bin/gli +12 -30
  10. data/bin/report_on_rake_results +10 -0
  11. data/bin/test_all_rubies.sh +6 -0
  12. data/features/gli_executable.feature +84 -0
  13. data/features/gli_init.feature +219 -0
  14. data/features/step_definitions/gli_executable_steps.rb +12 -0
  15. data/features/step_definitions/gli_init_steps.rb +11 -0
  16. data/features/step_definitions/todo_steps.rb +69 -0
  17. data/features/support/env.rb +49 -0
  18. data/features/todo.feature +182 -0
  19. data/gli.cheat +95 -0
  20. data/gli.gemspec +34 -0
  21. data/lib/gli.rb +11 -571
  22. data/lib/gli/app.rb +184 -0
  23. data/lib/gli/app_support.rb +226 -0
  24. data/lib/gli/command.rb +107 -95
  25. data/lib/gli/command_line_option.rb +34 -0
  26. data/lib/gli/command_line_token.rb +13 -9
  27. data/lib/gli/command_support.rb +200 -0
  28. data/lib/gli/commands/compound_command.rb +42 -0
  29. data/lib/gli/commands/help.rb +63 -0
  30. data/lib/gli/commands/help_modules/command_help_format.rb +134 -0
  31. data/lib/gli/commands/help_modules/global_help_format.rb +61 -0
  32. data/lib/gli/commands/help_modules/list_formatter.rb +22 -0
  33. data/lib/gli/commands/help_modules/options_formatter.rb +50 -0
  34. data/lib/gli/commands/help_modules/text_wrapper.rb +53 -0
  35. data/lib/gli/commands/initconfig.rb +67 -0
  36. data/lib/{support → gli/commands}/scaffold.rb +150 -34
  37. data/lib/gli/dsl.rb +194 -0
  38. data/lib/gli/exceptions.rb +13 -4
  39. data/lib/gli/flag.rb +30 -41
  40. data/lib/gli/gli_option_parser.rb +98 -0
  41. data/lib/gli/option_parser_factory.rb +44 -0
  42. data/lib/gli/options.rb +2 -1
  43. data/lib/gli/switch.rb +19 -51
  44. data/lib/gli/terminal.rb +30 -20
  45. data/lib/gli/version.rb +5 -0
  46. data/test/apps/README.md +2 -0
  47. data/test/apps/todo/Gemfile +2 -0
  48. data/test/apps/todo/README.rdoc +6 -0
  49. data/test/apps/todo/Rakefile +23 -0
  50. data/test/apps/todo/bin/todo +52 -0
  51. data/test/apps/todo/lib/todo/commands/create.rb +22 -0
  52. data/test/apps/todo/lib/todo/commands/list.rb +53 -0
  53. data/test/apps/todo/lib/todo/commands/ls.rb +47 -0
  54. data/test/apps/todo/lib/todo/version.rb +3 -0
  55. data/test/apps/todo/test/tc_nothing.rb +14 -0
  56. data/test/apps/todo/todo.gemspec +23 -0
  57. data/test/apps/todo/todo.rdoc +5 -0
  58. data/test/config.yaml +10 -0
  59. data/test/fake_std_out.rb +30 -0
  60. data/test/gli.reek +122 -0
  61. data/test/init_simplecov.rb +8 -0
  62. data/test/option_test_helper.rb +13 -0
  63. data/test/roodi.yaml +18 -0
  64. data/test/tc_command.rb +260 -0
  65. data/test/tc_compount_command.rb +22 -0
  66. data/test/tc_flag.rb +56 -0
  67. data/test/tc_gli.rb +611 -0
  68. data/test/tc_help.rb +223 -0
  69. data/test/tc_options.rb +31 -0
  70. data/test/tc_subcommands.rb +162 -0
  71. data/test/tc_switch.rb +57 -0
  72. data/test/tc_terminal.rb +97 -0
  73. data/test/test_helper.rb +13 -0
  74. metadata +318 -49
  75. data/lib/gli_version.rb +0 -3
  76. data/lib/support/help.rb +0 -179
  77. data/lib/support/initconfig.rb +0 -34
  78. data/lib/support/rdoc.rb +0 -119
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ doc
2
+ html
3
+ *.sw?
4
+ pkg
5
+ coverage
6
+ .bundle
7
+ tmp
8
+ cruddo.rdoc
9
+ gli.wiki
10
+ Gemfile.lock
11
+ results.html
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.9.3@gli-dev --create
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ script: 'bundle exec rake test features'
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - 1.8.7
6
+ - ree
7
+ branches:
8
+ only:
9
+ - 'master'
10
+ - 'gli-2'
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source :rubygems
2
+
3
+ gemspec
4
+
5
+ gem "rcov", ">= 0.9.8", :platforms => :mri_18
6
+ gem "simplecov", "~> 0.5.3", :platforms => :mri_19
7
+ gem "psych", :platforms => :mri_19
8
+
data/LICENSE.txt ADDED
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
@@ -0,0 +1,1191 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>ActiveLayerIndex</key>
6
+ <integer>0</integer>
7
+ <key>ApplicationVersion</key>
8
+ <array>
9
+ <string>com.omnigroup.OmniGraffle.MacAppStore</string>
10
+ <string>138.33</string>
11
+ </array>
12
+ <key>AutoAdjust</key>
13
+ <true/>
14
+ <key>BackgroundGraphic</key>
15
+ <dict>
16
+ <key>Bounds</key>
17
+ <string>{{0, 0}, {576, 733}}</string>
18
+ <key>Class</key>
19
+ <string>SolidGraphic</string>
20
+ <key>ID</key>
21
+ <integer>2</integer>
22
+ <key>Style</key>
23
+ <dict>
24
+ <key>shadow</key>
25
+ <dict>
26
+ <key>Draws</key>
27
+ <string>NO</string>
28
+ </dict>
29
+ <key>stroke</key>
30
+ <dict>
31
+ <key>Draws</key>
32
+ <string>NO</string>
33
+ </dict>
34
+ </dict>
35
+ </dict>
36
+ <key>CanvasOrigin</key>
37
+ <string>{0, 0}</string>
38
+ <key>ColumnAlign</key>
39
+ <integer>1</integer>
40
+ <key>ColumnSpacing</key>
41
+ <real>36</real>
42
+ <key>CreationDate</key>
43
+ <string>2012-03-23 19:22:12 +0000</string>
44
+ <key>Creator</key>
45
+ <string>David Copeland</string>
46
+ <key>DisplayScale</key>
47
+ <string>1 0/72 in = 1 0/72 in</string>
48
+ <key>GraphDocumentVersion</key>
49
+ <integer>8</integer>
50
+ <key>GraphicsList</key>
51
+ <array>
52
+ <dict>
53
+ <key>Bounds</key>
54
+ <string>{{20, 518}, {99, 61}}</string>
55
+ <key>Class</key>
56
+ <string>ShapedGraphic</string>
57
+ <key>ID</key>
58
+ <integer>66</integer>
59
+ <key>Shape</key>
60
+ <string>NoteShape</string>
61
+ <key>Style</key>
62
+ <dict/>
63
+ <key>Text</key>
64
+ <dict>
65
+ <key>Text</key>
66
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
67
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
68
+ {\colortbl;\red255\green255\blue255;}
69
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
70
+
71
+ \f0\fs24 \cf0 top most commands point to App as the parent}</string>
72
+ <key>VerticalPad</key>
73
+ <integer>0</integer>
74
+ </dict>
75
+ </dict>
76
+ <dict>
77
+ <key>Bounds</key>
78
+ <string>{{114.5, 503.3269}, {45, 24}}</string>
79
+ <key>Class</key>
80
+ <string>ShapedGraphic</string>
81
+ <key>FitText</key>
82
+ <string>YES</string>
83
+ <key>Flow</key>
84
+ <string>Resize</string>
85
+ <key>FontInfo</key>
86
+ <dict>
87
+ <key>Color</key>
88
+ <dict>
89
+ <key>w</key>
90
+ <string>0</string>
91
+ </dict>
92
+ <key>Font</key>
93
+ <string>Helvetica</string>
94
+ <key>Size</key>
95
+ <real>12</real>
96
+ </dict>
97
+ <key>ID</key>
98
+ <integer>65</integer>
99
+ <key>Line</key>
100
+ <dict>
101
+ <key>ID</key>
102
+ <integer>64</integer>
103
+ <key>Position</key>
104
+ <real>0.31400206685066223</real>
105
+ <key>RotationType</key>
106
+ <integer>0</integer>
107
+ </dict>
108
+ <key>Shape</key>
109
+ <string>Rectangle</string>
110
+ <key>Style</key>
111
+ <dict>
112
+ <key>shadow</key>
113
+ <dict>
114
+ <key>Draws</key>
115
+ <string>NO</string>
116
+ </dict>
117
+ <key>stroke</key>
118
+ <dict>
119
+ <key>Draws</key>
120
+ <string>NO</string>
121
+ </dict>
122
+ </dict>
123
+ <key>Text</key>
124
+ <dict>
125
+ <key>Text</key>
126
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
127
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
128
+ {\colortbl;\red255\green255\blue255;}
129
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
130
+
131
+ \f0\fs24 \cf0 parent}</string>
132
+ </dict>
133
+ <key>Wrap</key>
134
+ <string>NO</string>
135
+ </dict>
136
+ <dict>
137
+ <key>Class</key>
138
+ <string>LineGraphic</string>
139
+ <key>Head</key>
140
+ <dict>
141
+ <key>ID</key>
142
+ <integer>43</integer>
143
+ </dict>
144
+ <key>ID</key>
145
+ <integer>64</integer>
146
+ <key>OrthogonalBarAutomatic</key>
147
+ <true/>
148
+ <key>OrthogonalBarPoint</key>
149
+ <string>{0, 0}</string>
150
+ <key>OrthogonalBarPosition</key>
151
+ <real>57.505828857421875</real>
152
+ <key>Points</key>
153
+ <array>
154
+ <string>{137, 568}</string>
155
+ <string>{106.76401, 430.48834}</string>
156
+ </array>
157
+ <key>Style</key>
158
+ <dict>
159
+ <key>stroke</key>
160
+ <dict>
161
+ <key>HeadArrow</key>
162
+ <string>0</string>
163
+ <key>LineType</key>
164
+ <integer>2</integer>
165
+ <key>Pattern</key>
166
+ <integer>1</integer>
167
+ <key>TailArrow</key>
168
+ <string>Diamond</string>
169
+ </dict>
170
+ </dict>
171
+ <key>Tail</key>
172
+ <dict>
173
+ <key>ID</key>
174
+ <integer>63</integer>
175
+ </dict>
176
+ </dict>
177
+ <dict>
178
+ <key>Bounds</key>
179
+ <string>{{92, 568}, {90, 36}}</string>
180
+ <key>Class</key>
181
+ <string>ShapedGraphic</string>
182
+ <key>ID</key>
183
+ <integer>63</integer>
184
+ <key>Magnets</key>
185
+ <array>
186
+ <string>{0, 1}</string>
187
+ <string>{0, -1}</string>
188
+ <string>{1, 0}</string>
189
+ <string>{-1, 0}</string>
190
+ </array>
191
+ <key>Shape</key>
192
+ <string>Rectangle</string>
193
+ <key>Style</key>
194
+ <dict/>
195
+ <key>Text</key>
196
+ <dict>
197
+ <key>Text</key>
198
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
199
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
200
+ {\colortbl;\red255\green255\blue255;}
201
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
202
+
203
+ \f0\b\fs24 \cf0 App}</string>
204
+ <key>VerticalPad</key>
205
+ <integer>0</integer>
206
+ </dict>
207
+ </dict>
208
+ <dict>
209
+ <key>Bounds</key>
210
+ <string>{{208, 288}, {80, 47}}</string>
211
+ <key>Class</key>
212
+ <string>ShapedGraphic</string>
213
+ <key>ID</key>
214
+ <integer>62</integer>
215
+ <key>Shape</key>
216
+ <string>NoteShape</string>
217
+ <key>Style</key>
218
+ <dict/>
219
+ <key>Text</key>
220
+ <dict>
221
+ <key>Text</key>
222
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
223
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
224
+ {\colortbl;\red255\green255\blue255;}
225
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
226
+
227
+ \f0\fs24 \cf0 nil if this is a global option}</string>
228
+ <key>VerticalPad</key>
229
+ <integer>0</integer>
230
+ </dict>
231
+ </dict>
232
+ <dict>
233
+ <key>Class</key>
234
+ <string>LineGraphic</string>
235
+ <key>Head</key>
236
+ <dict>
237
+ <key>ID</key>
238
+ <integer>38</integer>
239
+ </dict>
240
+ <key>ID</key>
241
+ <integer>61</integer>
242
+ <key>Points</key>
243
+ <array>
244
+ <string>{294.97458, 380.63699}</string>
245
+ <string>{451.53046, 215.36313}</string>
246
+ </array>
247
+ <key>Style</key>
248
+ <dict>
249
+ <key>stroke</key>
250
+ <dict>
251
+ <key>HeadArrow</key>
252
+ <string>UMLInheritance</string>
253
+ <key>LineType</key>
254
+ <integer>1</integer>
255
+ <key>TailArrow</key>
256
+ <string>0</string>
257
+ </dict>
258
+ </dict>
259
+ <key>Tail</key>
260
+ <dict>
261
+ <key>ID</key>
262
+ <integer>55</integer>
263
+ </dict>
264
+ </dict>
265
+ <dict>
266
+ <key>Class</key>
267
+ <string>LineGraphic</string>
268
+ <key>Head</key>
269
+ <dict>
270
+ <key>ID</key>
271
+ <integer>38</integer>
272
+ </dict>
273
+ <key>ID</key>
274
+ <integer>60</integer>
275
+ <key>Points</key>
276
+ <array>
277
+ <string>{474.81839, 387.50204}</string>
278
+ <string>{459.18158, 215.49792}</string>
279
+ </array>
280
+ <key>Style</key>
281
+ <dict>
282
+ <key>stroke</key>
283
+ <dict>
284
+ <key>HeadArrow</key>
285
+ <string>UMLInheritance</string>
286
+ <key>LineType</key>
287
+ <integer>1</integer>
288
+ <key>TailArrow</key>
289
+ <string>0</string>
290
+ </dict>
291
+ </dict>
292
+ <key>Tail</key>
293
+ <dict>
294
+ <key>ID</key>
295
+ <integer>58</integer>
296
+ </dict>
297
+ </dict>
298
+ <dict>
299
+ <key>Class</key>
300
+ <string>TableGroup</string>
301
+ <key>Graphics</key>
302
+ <array>
303
+ <dict>
304
+ <key>Bounds</key>
305
+ <string>{{388, 388}, {175, 14}}</string>
306
+ <key>Class</key>
307
+ <string>ShapedGraphic</string>
308
+ <key>FitText</key>
309
+ <string>Vertical</string>
310
+ <key>Flow</key>
311
+ <string>Resize</string>
312
+ <key>ID</key>
313
+ <integer>58</integer>
314
+ <key>Shape</key>
315
+ <string>Rectangle</string>
316
+ <key>Style</key>
317
+ <dict>
318
+ <key>fill</key>
319
+ <dict>
320
+ <key>GradientCenter</key>
321
+ <string>{-0.29411799, -0.26470599}</string>
322
+ </dict>
323
+ </dict>
324
+ <key>Text</key>
325
+ <dict>
326
+ <key>Text</key>
327
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
328
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
329
+ {\colortbl;\red255\green255\blue255;}
330
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
331
+
332
+ \f0\b\fs24 \cf0 Switch}</string>
333
+ <key>VerticalPad</key>
334
+ <integer>0</integer>
335
+ </dict>
336
+ <key>TextPlacement</key>
337
+ <integer>0</integer>
338
+ </dict>
339
+ </array>
340
+ <key>ID</key>
341
+ <integer>57</integer>
342
+ </dict>
343
+ <dict>
344
+ <key>Class</key>
345
+ <string>TableGroup</string>
346
+ <key>Graphics</key>
347
+ <array>
348
+ <dict>
349
+ <key>Bounds</key>
350
+ <string>{{200.5, 381}, {175, 14}}</string>
351
+ <key>Class</key>
352
+ <string>ShapedGraphic</string>
353
+ <key>FitText</key>
354
+ <string>Vertical</string>
355
+ <key>Flow</key>
356
+ <string>Resize</string>
357
+ <key>ID</key>
358
+ <integer>55</integer>
359
+ <key>Shape</key>
360
+ <string>Rectangle</string>
361
+ <key>Style</key>
362
+ <dict>
363
+ <key>fill</key>
364
+ <dict>
365
+ <key>GradientCenter</key>
366
+ <string>{-0.29411799, -0.26470599}</string>
367
+ </dict>
368
+ </dict>
369
+ <key>Text</key>
370
+ <dict>
371
+ <key>Text</key>
372
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
373
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
374
+ {\colortbl;\red255\green255\blue255;}
375
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
376
+
377
+ \f0\b\fs24 \cf0 Flag}</string>
378
+ <key>VerticalPad</key>
379
+ <integer>0</integer>
380
+ </dict>
381
+ <key>TextPlacement</key>
382
+ <integer>0</integer>
383
+ </dict>
384
+ <dict>
385
+ <key>Bounds</key>
386
+ <string>{{200.5, 395}, {175, 14}}</string>
387
+ <key>Class</key>
388
+ <string>ShapedGraphic</string>
389
+ <key>FitText</key>
390
+ <string>Vertical</string>
391
+ <key>Flow</key>
392
+ <string>Resize</string>
393
+ <key>ID</key>
394
+ <integer>56</integer>
395
+ <key>Shape</key>
396
+ <string>Rectangle</string>
397
+ <key>Style</key>
398
+ <dict>
399
+ <key>fill</key>
400
+ <dict>
401
+ <key>GradientCenter</key>
402
+ <string>{-0.29411799, -0.26470599}</string>
403
+ </dict>
404
+ </dict>
405
+ <key>Text</key>
406
+ <dict>
407
+ <key>Align</key>
408
+ <integer>0</integer>
409
+ <key>Text</key>
410
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
411
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
412
+ {\colortbl;\red255\green255\blue255;}
413
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
414
+
415
+ \f0\fs24 \cf0 argument name}</string>
416
+ <key>VerticalPad</key>
417
+ <integer>0</integer>
418
+ </dict>
419
+ <key>TextPlacement</key>
420
+ <integer>0</integer>
421
+ </dict>
422
+ </array>
423
+ <key>GridH</key>
424
+ <array>
425
+ <integer>55</integer>
426
+ <integer>56</integer>
427
+ <array/>
428
+ </array>
429
+ <key>ID</key>
430
+ <integer>54</integer>
431
+ </dict>
432
+ <dict>
433
+ <key>Bounds</key>
434
+ <string>{{258.604, 256.57898}, {127, 24}}</string>
435
+ <key>Class</key>
436
+ <string>ShapedGraphic</string>
437
+ <key>FitText</key>
438
+ <string>YES</string>
439
+ <key>Flow</key>
440
+ <string>Resize</string>
441
+ <key>FontInfo</key>
442
+ <dict>
443
+ <key>Color</key>
444
+ <dict>
445
+ <key>w</key>
446
+ <string>0</string>
447
+ </dict>
448
+ <key>Font</key>
449
+ <string>Helvetica</string>
450
+ <key>Size</key>
451
+ <real>12</real>
452
+ </dict>
453
+ <key>ID</key>
454
+ <integer>53</integer>
455
+ <key>Line</key>
456
+ <dict>
457
+ <key>ID</key>
458
+ <integer>52</integer>
459
+ <key>Position</key>
460
+ <real>0.36914369463920593</real>
461
+ <key>RotationType</key>
462
+ <integer>0</integer>
463
+ </dict>
464
+ <key>Shape</key>
465
+ <string>Rectangle</string>
466
+ <key>Style</key>
467
+ <dict>
468
+ <key>shadow</key>
469
+ <dict>
470
+ <key>Draws</key>
471
+ <string>NO</string>
472
+ </dict>
473
+ <key>stroke</key>
474
+ <dict>
475
+ <key>Draws</key>
476
+ <string>NO</string>
477
+ </dict>
478
+ </dict>
479
+ <key>Text</key>
480
+ <dict>
481
+ <key>Text</key>
482
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
483
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
484
+ {\colortbl;\red255\green255\blue255;}
485
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
486
+
487
+ \f0\fs24 \cf0 associated_command}</string>
488
+ </dict>
489
+ <key>Wrap</key>
490
+ <string>NO</string>
491
+ </dict>
492
+ <dict>
493
+ <key>Class</key>
494
+ <string>LineGraphic</string>
495
+ <key>Head</key>
496
+ <dict>
497
+ <key>ID</key>
498
+ <integer>42</integer>
499
+ </dict>
500
+ <key>ID</key>
501
+ <integer>52</integer>
502
+ <key>Points</key>
503
+ <array>
504
+ <string>{442.28226, 215.20296}</string>
505
+ <string>{116.72269, 359.79709}</string>
506
+ </array>
507
+ <key>Style</key>
508
+ <dict>
509
+ <key>stroke</key>
510
+ <dict>
511
+ <key>HeadArrow</key>
512
+ <string>Diamond</string>
513
+ <key>LineType</key>
514
+ <integer>1</integer>
515
+ <key>Pattern</key>
516
+ <integer>1</integer>
517
+ <key>TailArrow</key>
518
+ <string>0</string>
519
+ </dict>
520
+ </dict>
521
+ <key>Tail</key>
522
+ <dict>
523
+ <key>ID</key>
524
+ <integer>38</integer>
525
+ </dict>
526
+ </dict>
527
+ <dict>
528
+ <key>Bounds</key>
529
+ <string>{{11.5, 458.71945}, {45, 24}}</string>
530
+ <key>Class</key>
531
+ <string>ShapedGraphic</string>
532
+ <key>FitText</key>
533
+ <string>YES</string>
534
+ <key>Flow</key>
535
+ <string>Resize</string>
536
+ <key>FontInfo</key>
537
+ <dict>
538
+ <key>Color</key>
539
+ <dict>
540
+ <key>w</key>
541
+ <string>0</string>
542
+ </dict>
543
+ <key>Font</key>
544
+ <string>Helvetica</string>
545
+ <key>Size</key>
546
+ <real>12</real>
547
+ </dict>
548
+ <key>ID</key>
549
+ <integer>51</integer>
550
+ <key>Line</key>
551
+ <dict>
552
+ <key>ID</key>
553
+ <integer>49</integer>
554
+ <key>Position</key>
555
+ <real>0.31400206685066223</real>
556
+ <key>RotationType</key>
557
+ <integer>0</integer>
558
+ </dict>
559
+ <key>Shape</key>
560
+ <string>Rectangle</string>
561
+ <key>Style</key>
562
+ <dict>
563
+ <key>shadow</key>
564
+ <dict>
565
+ <key>Draws</key>
566
+ <string>NO</string>
567
+ </dict>
568
+ <key>stroke</key>
569
+ <dict>
570
+ <key>Draws</key>
571
+ <string>NO</string>
572
+ </dict>
573
+ </dict>
574
+ <key>Text</key>
575
+ <dict>
576
+ <key>Text</key>
577
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
578
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
579
+ {\colortbl;\red255\green255\blue255;}
580
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
581
+
582
+ \f0\fs24 \cf0 parent}</string>
583
+ </dict>
584
+ <key>Wrap</key>
585
+ <string>NO</string>
586
+ </dict>
587
+ <dict>
588
+ <key>Class</key>
589
+ <string>LineGraphic</string>
590
+ <key>Head</key>
591
+ <dict>
592
+ <key>ID</key>
593
+ <integer>43</integer>
594
+ </dict>
595
+ <key>ID</key>
596
+ <integer>49</integer>
597
+ <key>OrthogonalBarAutomatic</key>
598
+ <true/>
599
+ <key>OrthogonalBarPoint</key>
600
+ <string>{0, 0}</string>
601
+ <key>OrthogonalBarPosition</key>
602
+ <real>-1</real>
603
+ <key>Points</key>
604
+ <array>
605
+ <string>{62.860363, 430.30048}</string>
606
+ <string>{34, 452}</string>
607
+ <string>{74, 497}</string>
608
+ <string>{92.555122, 430.48163}</string>
609
+ </array>
610
+ <key>Style</key>
611
+ <dict>
612
+ <key>stroke</key>
613
+ <dict>
614
+ <key>HeadArrow</key>
615
+ <string>0</string>
616
+ <key>LineType</key>
617
+ <integer>2</integer>
618
+ <key>Pattern</key>
619
+ <integer>1</integer>
620
+ <key>TailArrow</key>
621
+ <string>Diamond</string>
622
+ </dict>
623
+ </dict>
624
+ <key>Tail</key>
625
+ <dict>
626
+ <key>ID</key>
627
+ <integer>43</integer>
628
+ </dict>
629
+ </dict>
630
+ <dict>
631
+ <key>Class</key>
632
+ <string>LineGraphic</string>
633
+ <key>Head</key>
634
+ <dict>
635
+ <key>ID</key>
636
+ <integer>35</integer>
637
+ </dict>
638
+ <key>ID</key>
639
+ <integer>46</integer>
640
+ <key>Points</key>
641
+ <array>
642
+ <string>{106.2841, 359.6062}</string>
643
+ <string>{290.28815, 124.3938}</string>
644
+ </array>
645
+ <key>Style</key>
646
+ <dict>
647
+ <key>stroke</key>
648
+ <dict>
649
+ <key>HeadArrow</key>
650
+ <string>UMLInheritance</string>
651
+ <key>LineType</key>
652
+ <integer>1</integer>
653
+ <key>TailArrow</key>
654
+ <string>0</string>
655
+ </dict>
656
+ </dict>
657
+ <key>Tail</key>
658
+ <dict>
659
+ <key>ID</key>
660
+ <integer>42</integer>
661
+ </dict>
662
+ </dict>
663
+ <dict>
664
+ <key>Class</key>
665
+ <string>LineGraphic</string>
666
+ <key>Head</key>
667
+ <dict>
668
+ <key>ID</key>
669
+ <integer>10</integer>
670
+ </dict>
671
+ <key>ID</key>
672
+ <integer>44</integer>
673
+ <key>Points</key>
674
+ <array>
675
+ <string>{100.5, 359.5}</string>
676
+ <string>{100.5, 107}</string>
677
+ </array>
678
+ <key>Style</key>
679
+ <dict>
680
+ <key>stroke</key>
681
+ <dict>
682
+ <key>HeadArrow</key>
683
+ <string>UMLInheritance</string>
684
+ <key>LineType</key>
685
+ <integer>1</integer>
686
+ <key>TailArrow</key>
687
+ <string>0</string>
688
+ </dict>
689
+ </dict>
690
+ <key>Tail</key>
691
+ <dict>
692
+ <key>ID</key>
693
+ <integer>42</integer>
694
+ </dict>
695
+ </dict>
696
+ <dict>
697
+ <key>Bounds</key>
698
+ <string>{{55.5, 71}, {90, 36}}</string>
699
+ <key>Class</key>
700
+ <string>ShapedGraphic</string>
701
+ <key>ID</key>
702
+ <integer>10</integer>
703
+ <key>Magnets</key>
704
+ <array>
705
+ <string>{0, 1}</string>
706
+ <string>{0, -1}</string>
707
+ <string>{1, 0}</string>
708
+ <string>{-1, 0}</string>
709
+ </array>
710
+ <key>Shape</key>
711
+ <string>Rectangle</string>
712
+ <key>Style</key>
713
+ <dict/>
714
+ <key>Text</key>
715
+ <dict>
716
+ <key>Text</key>
717
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
718
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
719
+ {\colortbl;\red255\green255\blue255;}
720
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
721
+
722
+ \f0\b\fs24 \cf0 DSL}</string>
723
+ <key>VerticalPad</key>
724
+ <integer>0</integer>
725
+ </dict>
726
+ </dict>
727
+ <dict>
728
+ <key>Class</key>
729
+ <string>TableGroup</string>
730
+ <key>Graphics</key>
731
+ <array>
732
+ <dict>
733
+ <key>Bounds</key>
734
+ <string>{{13, 360}, {175, 14}}</string>
735
+ <key>Class</key>
736
+ <string>ShapedGraphic</string>
737
+ <key>FitText</key>
738
+ <string>Vertical</string>
739
+ <key>Flow</key>
740
+ <string>Resize</string>
741
+ <key>ID</key>
742
+ <integer>42</integer>
743
+ <key>Shape</key>
744
+ <string>Rectangle</string>
745
+ <key>Style</key>
746
+ <dict>
747
+ <key>fill</key>
748
+ <dict>
749
+ <key>GradientCenter</key>
750
+ <string>{-0.29411799, -0.26470599}</string>
751
+ </dict>
752
+ </dict>
753
+ <key>Text</key>
754
+ <dict>
755
+ <key>Text</key>
756
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
757
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
758
+ {\colortbl;\red255\green255\blue255;}
759
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
760
+
761
+ \f0\b\fs24 \cf0 Command}</string>
762
+ <key>VerticalPad</key>
763
+ <integer>0</integer>
764
+ </dict>
765
+ <key>TextPlacement</key>
766
+ <integer>0</integer>
767
+ </dict>
768
+ <dict>
769
+ <key>Bounds</key>
770
+ <string>{{13, 374}, {175, 56}}</string>
771
+ <key>Class</key>
772
+ <string>ShapedGraphic</string>
773
+ <key>FitText</key>
774
+ <string>Vertical</string>
775
+ <key>Flow</key>
776
+ <string>Resize</string>
777
+ <key>ID</key>
778
+ <integer>43</integer>
779
+ <key>Shape</key>
780
+ <string>Rectangle</string>
781
+ <key>Style</key>
782
+ <dict>
783
+ <key>fill</key>
784
+ <dict>
785
+ <key>GradientCenter</key>
786
+ <string>{-0.29411799, -0.26470599}</string>
787
+ </dict>
788
+ </dict>
789
+ <key>Text</key>
790
+ <dict>
791
+ <key>Align</key>
792
+ <integer>0</integer>
793
+ <key>Text</key>
794
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
795
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
796
+ {\colortbl;\red255\green255\blue255;}
797
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
798
+
799
+ \f0\fs24 \cf0 name\
800
+ description\
801
+ long_description\
802
+ aliases}</string>
803
+ <key>VerticalPad</key>
804
+ <integer>0</integer>
805
+ </dict>
806
+ <key>TextPlacement</key>
807
+ <integer>0</integer>
808
+ </dict>
809
+ </array>
810
+ <key>GridH</key>
811
+ <array>
812
+ <integer>42</integer>
813
+ <integer>43</integer>
814
+ <array/>
815
+ </array>
816
+ <key>ID</key>
817
+ <integer>41</integer>
818
+ </dict>
819
+ <dict>
820
+ <key>Class</key>
821
+ <string>LineGraphic</string>
822
+ <key>Head</key>
823
+ <dict>
824
+ <key>ID</key>
825
+ <integer>35</integer>
826
+ </dict>
827
+ <key>ID</key>
828
+ <integer>40</integer>
829
+ <key>Points</key>
830
+ <array>
831
+ <string>{447.65482, 186.72136}</string>
832
+ <string>{354.61505, 124.27872}</string>
833
+ </array>
834
+ <key>Style</key>
835
+ <dict>
836
+ <key>stroke</key>
837
+ <dict>
838
+ <key>HeadArrow</key>
839
+ <string>UMLInheritance</string>
840
+ <key>LineType</key>
841
+ <integer>1</integer>
842
+ <key>TailArrow</key>
843
+ <string>0</string>
844
+ </dict>
845
+ </dict>
846
+ <key>Tail</key>
847
+ <dict>
848
+ <key>ID</key>
849
+ <integer>37</integer>
850
+ </dict>
851
+ </dict>
852
+ <dict>
853
+ <key>Class</key>
854
+ <string>TableGroup</string>
855
+ <key>Graphics</key>
856
+ <array>
857
+ <dict>
858
+ <key>Bounds</key>
859
+ <string>{{371, 187}, {175, 14}}</string>
860
+ <key>Class</key>
861
+ <string>ShapedGraphic</string>
862
+ <key>FitText</key>
863
+ <string>Vertical</string>
864
+ <key>Flow</key>
865
+ <string>Resize</string>
866
+ <key>ID</key>
867
+ <integer>37</integer>
868
+ <key>Shape</key>
869
+ <string>Rectangle</string>
870
+ <key>Style</key>
871
+ <dict>
872
+ <key>fill</key>
873
+ <dict>
874
+ <key>GradientCenter</key>
875
+ <string>{-0.29411799, -0.26470599}</string>
876
+ </dict>
877
+ </dict>
878
+ <key>Text</key>
879
+ <dict>
880
+ <key>Text</key>
881
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
882
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
883
+ {\colortbl;\red255\green255\blue255;}
884
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
885
+
886
+ \f0\b\fs24 \cf0 CommandLineOption}</string>
887
+ <key>VerticalPad</key>
888
+ <integer>0</integer>
889
+ </dict>
890
+ <key>TextPlacement</key>
891
+ <integer>0</integer>
892
+ </dict>
893
+ <dict>
894
+ <key>Bounds</key>
895
+ <string>{{371, 201}, {175, 14}}</string>
896
+ <key>Class</key>
897
+ <string>ShapedGraphic</string>
898
+ <key>FitText</key>
899
+ <string>Vertical</string>
900
+ <key>Flow</key>
901
+ <string>Resize</string>
902
+ <key>ID</key>
903
+ <integer>38</integer>
904
+ <key>Shape</key>
905
+ <string>Rectangle</string>
906
+ <key>Style</key>
907
+ <dict>
908
+ <key>fill</key>
909
+ <dict>
910
+ <key>GradientCenter</key>
911
+ <string>{-0.29411799, -0.26470599}</string>
912
+ </dict>
913
+ </dict>
914
+ <key>Text</key>
915
+ <dict>
916
+ <key>Align</key>
917
+ <integer>0</integer>
918
+ <key>Text</key>
919
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
920
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
921
+ {\colortbl;\red255\green255\blue255;}
922
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
923
+
924
+ \f0\fs24 \cf0 default_value}</string>
925
+ <key>VerticalPad</key>
926
+ <integer>0</integer>
927
+ </dict>
928
+ <key>TextPlacement</key>
929
+ <integer>0</integer>
930
+ </dict>
931
+ </array>
932
+ <key>GridH</key>
933
+ <array>
934
+ <integer>37</integer>
935
+ <integer>38</integer>
936
+ <array/>
937
+ </array>
938
+ <key>ID</key>
939
+ <integer>36</integer>
940
+ </dict>
941
+ <dict>
942
+ <key>Class</key>
943
+ <string>TableGroup</string>
944
+ <key>Graphics</key>
945
+ <array>
946
+ <dict>
947
+ <key>Bounds</key>
948
+ <string>{{225, 54}, {175, 14}}</string>
949
+ <key>Class</key>
950
+ <string>ShapedGraphic</string>
951
+ <key>FitText</key>
952
+ <string>Vertical</string>
953
+ <key>Flow</key>
954
+ <string>Resize</string>
955
+ <key>ID</key>
956
+ <integer>34</integer>
957
+ <key>Shape</key>
958
+ <string>Rectangle</string>
959
+ <key>Style</key>
960
+ <dict>
961
+ <key>fill</key>
962
+ <dict>
963
+ <key>GradientCenter</key>
964
+ <string>{-0.29411799, -0.26470599}</string>
965
+ </dict>
966
+ </dict>
967
+ <key>Text</key>
968
+ <dict>
969
+ <key>Text</key>
970
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
971
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
972
+ {\colortbl;\red255\green255\blue255;}
973
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
974
+
975
+ \f0\b\fs24 \cf0 CommandLineToklen}</string>
976
+ <key>VerticalPad</key>
977
+ <integer>0</integer>
978
+ </dict>
979
+ <key>TextPlacement</key>
980
+ <integer>0</integer>
981
+ </dict>
982
+ <dict>
983
+ <key>Bounds</key>
984
+ <string>{{225, 68}, {175, 56}}</string>
985
+ <key>Class</key>
986
+ <string>ShapedGraphic</string>
987
+ <key>FitText</key>
988
+ <string>Vertical</string>
989
+ <key>Flow</key>
990
+ <string>Resize</string>
991
+ <key>ID</key>
992
+ <integer>35</integer>
993
+ <key>Shape</key>
994
+ <string>Rectangle</string>
995
+ <key>Style</key>
996
+ <dict>
997
+ <key>fill</key>
998
+ <dict>
999
+ <key>GradientCenter</key>
1000
+ <string>{-0.29411799, -0.26470599}</string>
1001
+ </dict>
1002
+ </dict>
1003
+ <key>Text</key>
1004
+ <dict>
1005
+ <key>Align</key>
1006
+ <integer>0</integer>
1007
+ <key>Text</key>
1008
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
1009
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
1010
+ {\colortbl;\red255\green255\blue255;}
1011
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
1012
+
1013
+ \f0\fs24 \cf0 name\
1014
+ description\
1015
+ long_description\
1016
+ aliases}</string>
1017
+ <key>VerticalPad</key>
1018
+ <integer>0</integer>
1019
+ </dict>
1020
+ <key>TextPlacement</key>
1021
+ <integer>0</integer>
1022
+ </dict>
1023
+ </array>
1024
+ <key>GridH</key>
1025
+ <array>
1026
+ <integer>34</integer>
1027
+ <integer>35</integer>
1028
+ <array/>
1029
+ </array>
1030
+ <key>ID</key>
1031
+ <integer>33</integer>
1032
+ </dict>
1033
+ </array>
1034
+ <key>GridInfo</key>
1035
+ <dict/>
1036
+ <key>GuidesLocked</key>
1037
+ <string>NO</string>
1038
+ <key>GuidesVisible</key>
1039
+ <string>YES</string>
1040
+ <key>HPages</key>
1041
+ <integer>1</integer>
1042
+ <key>ImageCounter</key>
1043
+ <integer>1</integer>
1044
+ <key>KeepToScale</key>
1045
+ <false/>
1046
+ <key>Layers</key>
1047
+ <array>
1048
+ <dict>
1049
+ <key>Lock</key>
1050
+ <string>NO</string>
1051
+ <key>Name</key>
1052
+ <string>Layer 1</string>
1053
+ <key>Print</key>
1054
+ <string>YES</string>
1055
+ <key>View</key>
1056
+ <string>YES</string>
1057
+ </dict>
1058
+ </array>
1059
+ <key>LayoutInfo</key>
1060
+ <dict>
1061
+ <key>Animate</key>
1062
+ <string>NO</string>
1063
+ <key>circoMinDist</key>
1064
+ <real>18</real>
1065
+ <key>circoSeparation</key>
1066
+ <real>0.0</real>
1067
+ <key>layoutEngine</key>
1068
+ <string>dot</string>
1069
+ <key>neatoSeparation</key>
1070
+ <real>0.0</real>
1071
+ <key>twopiSeparation</key>
1072
+ <real>0.0</real>
1073
+ </dict>
1074
+ <key>LinksVisible</key>
1075
+ <string>NO</string>
1076
+ <key>MagnetsVisible</key>
1077
+ <string>NO</string>
1078
+ <key>MasterSheets</key>
1079
+ <array/>
1080
+ <key>ModificationDate</key>
1081
+ <string>2012-03-23 21:24:30 +0000</string>
1082
+ <key>Modifier</key>
1083
+ <string>David Copeland</string>
1084
+ <key>NotesVisible</key>
1085
+ <string>NO</string>
1086
+ <key>Orientation</key>
1087
+ <integer>2</integer>
1088
+ <key>OriginVisible</key>
1089
+ <string>NO</string>
1090
+ <key>PageBreaks</key>
1091
+ <string>YES</string>
1092
+ <key>PrintInfo</key>
1093
+ <dict>
1094
+ <key>NSBottomMargin</key>
1095
+ <array>
1096
+ <string>float</string>
1097
+ <string>41</string>
1098
+ </array>
1099
+ <key>NSHorizonalPagination</key>
1100
+ <array>
1101
+ <string>int</string>
1102
+ <string>0</string>
1103
+ </array>
1104
+ <key>NSLeftMargin</key>
1105
+ <array>
1106
+ <string>float</string>
1107
+ <string>18</string>
1108
+ </array>
1109
+ <key>NSPaperSize</key>
1110
+ <array>
1111
+ <string>coded</string>
1112
+ <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAx7X05TU2l6ZT1mZn2WgWQCgRgDhg==</string>
1113
+ </array>
1114
+ <key>NSPrintReverseOrientation</key>
1115
+ <array>
1116
+ <string>int</string>
1117
+ <string>0</string>
1118
+ </array>
1119
+ <key>NSRightMargin</key>
1120
+ <array>
1121
+ <string>float</string>
1122
+ <string>18</string>
1123
+ </array>
1124
+ <key>NSTopMargin</key>
1125
+ <array>
1126
+ <string>float</string>
1127
+ <string>18</string>
1128
+ </array>
1129
+ </dict>
1130
+ <key>PrintOnePage</key>
1131
+ <false/>
1132
+ <key>ReadOnly</key>
1133
+ <string>NO</string>
1134
+ <key>RowAlign</key>
1135
+ <integer>1</integer>
1136
+ <key>RowSpacing</key>
1137
+ <real>36</real>
1138
+ <key>SheetTitle</key>
1139
+ <string>Canvas 1</string>
1140
+ <key>SmartAlignmentGuidesActive</key>
1141
+ <string>YES</string>
1142
+ <key>SmartDistanceGuidesActive</key>
1143
+ <string>YES</string>
1144
+ <key>UniqueID</key>
1145
+ <integer>1</integer>
1146
+ <key>UseEntirePage</key>
1147
+ <false/>
1148
+ <key>VPages</key>
1149
+ <integer>1</integer>
1150
+ <key>WindowInfo</key>
1151
+ <dict>
1152
+ <key>CurrentSheet</key>
1153
+ <integer>0</integer>
1154
+ <key>ExpandedCanvases</key>
1155
+ <array>
1156
+ <dict>
1157
+ <key>name</key>
1158
+ <string>Canvas 1</string>
1159
+ </dict>
1160
+ </array>
1161
+ <key>Frame</key>
1162
+ <string>{{218, 0}, {710, 878}}</string>
1163
+ <key>ListView</key>
1164
+ <true/>
1165
+ <key>OutlineWidth</key>
1166
+ <integer>142</integer>
1167
+ <key>RightSidebar</key>
1168
+ <false/>
1169
+ <key>ShowRuler</key>
1170
+ <true/>
1171
+ <key>Sidebar</key>
1172
+ <true/>
1173
+ <key>SidebarWidth</key>
1174
+ <integer>120</integer>
1175
+ <key>VisibleRegion</key>
1176
+ <string>{{0, 0}, {575, 723}}</string>
1177
+ <key>Zoom</key>
1178
+ <real>1</real>
1179
+ <key>ZoomValues</key>
1180
+ <array>
1181
+ <array>
1182
+ <string>Canvas 1</string>
1183
+ <real>1</real>
1184
+ <real>1</real>
1185
+ </array>
1186
+ </array>
1187
+ </dict>
1188
+ <key>saveQuickLookFiles</key>
1189
+ <string>YES</string>
1190
+ </dict>
1191
+ </plist>