active_rest_client 0.9.75 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/CONTRIBUTING.md +62 -0
- data/README.md +1 -1
- data/doc/ActiveRestClient Internals.graffle +1236 -0
- data/doc/ActiveRestClient Internals.png +0 -0
- data/lib/active_rest_client/caching.rb +1 -1
- data/lib/active_rest_client/mapping.rb +4 -0
- data/lib/active_rest_client/request.rb +81 -52
- data/lib/active_rest_client/version.rb +1 -1
- data/spec/lib/mapping_spec.rb +6 -2
- data/spec/lib/request_spec.rb +62 -8
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a08be2e09a1d1735079f01e268c5ac7754ac833
|
4
|
+
data.tar.gz: ea067f45bc4cf459dfb48a149db5ef9c93e2b2b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 816c956a1ccb86051b880b4e3896d189b3953a0d8de0ba35ab05278b783d57ef267a3cb9550f1fff319e5609169f446ce1ddadd0d1ce3c6664e5c9913f82c743
|
7
|
+
data.tar.gz: 13004f6d21ada93a9c0d3b1eaf57c69d16c08ef9aac1fc90eefc8feb54b04106537712c7a699ae5c3b1dd01bce6c1666cf7287c1154f9ac39079f81dfd6622cf
|
data/.gitignore
CHANGED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# ActiveRestClient (ARC) Contributing Guide
|
2
|
+
|
3
|
+
## Introduction
|
4
|
+
|
5
|
+
This project was built at Which? Ltd in the UK, but was released as open source in 2014 under the MIT Licence.
|
6
|
+
|
7
|
+
We're happy to receive contributions from the community for features and bugfixes and hopefully this guide helps new developers to the project to understand how to get started with the internals of ActiveRestClient.
|
8
|
+
|
9
|
+
## Overview
|
10
|
+
|
11
|
+
![Component Overview Diagram](https://raw.githubusercontent.com/whichdigital/active-rest-client/master/doc/ActiveRestClient%20Internals.png)
|
12
|
+
|
13
|
+
## Components
|
14
|
+
|
15
|
+
### Base
|
16
|
+
The main class in ARC is `ActiveRestClient::Base`. This includes a number of modules to provide a basic object ready to inherit from to form your own API classes.
|
17
|
+
|
18
|
+
**Configuration** includes all of the functionality for class and library level configuration (base_url, verbose logging, request format, etc).
|
19
|
+
|
20
|
+
**Mapping** provides the class methods `get`, `post`, `put`, `delete`, etc and it dynamically defines a method with the given name.
|
21
|
+
|
22
|
+
**Request Filtering** allows for all/any outbound requests to be altered before transmission. It maintains a list of filters in a class instance variable and applies each one in the defined order to every request.
|
23
|
+
|
24
|
+
**Validation** implements some very basic ActiveRecord-like validations to field values (presence, numericality, length and custom-blocks).
|
25
|
+
|
26
|
+
**Caching** adds low level caching functionality to the base class - registering a default cache store and adds the ability to read and write a cached response (which are called from the request).
|
27
|
+
|
28
|
+
**Recording** allows for developers to record API responses to a file/database for use when creating mock servers.
|
29
|
+
|
30
|
+
### Logger
|
31
|
+
|
32
|
+
This is a simple class that either uses a plain text file or Rails' logger if being used within a Rails project.
|
33
|
+
|
34
|
+
### Connection Manager/Connection
|
35
|
+
|
36
|
+
The principle is that ARC keeps a cached `Connection` to each unique API server and these are kept open using [persistent connections](https://en.wikipedia.org/wiki/HTTP_persistent_connection). The connection for a given `base_url` is created or retrieved from the pool by the `ConnectionManager`.
|
37
|
+
|
38
|
+
### Request
|
39
|
+
|
40
|
+
`ActiveRestClient::Base` instantiates a new `ActiveRestClient::Request` object for each request, and it's up to this object to format the request body, make the request, parse the response, etc.
|
41
|
+
|
42
|
+
### HeaderList
|
43
|
+
|
44
|
+
A `Request` has a list of headers associated, but if the same header is set with different capitalisation (e.g. during a `before_request` filter or in a `proxy`) then it should set the same header, not add a new one. I believe there is a class called something like Rack::Headers which is supposed to do the same thing, but when I came to implement it, it didn't work for me. *This is a candidate for removal/replacement*.
|
45
|
+
|
46
|
+
### Lazy *
|
47
|
+
|
48
|
+
`LazyLoader` is a simple proxy class that takes an `ActiveRestClient::Request` object, has a `method_missing` and `respond_to` pair that when called actually calls `#request` on the request object to make the API call. This is useful if you want to prepare an API object that doesn't make the call unless it's needed (i.e. like ActiveRecord scopes don't execute if they're used within a cached fragment).
|
49
|
+
|
50
|
+
`LazyAssociationLoader` is a completely different beast. This is used in HAL responses where the association
|
51
|
+
|
52
|
+
### ProxyBase
|
53
|
+
|
54
|
+
Proxying functionality allows authors of an API class to change any aspect of the request on the way out and the response on the way in. It means that you can work with an old code base but interact with a new API, or write your code base to use a new API that isn't available yet and proxy to the old API.
|
55
|
+
|
56
|
+
It maintains a mapping of method type and URL (either a string for an exact match, or a regular expression for changeable URLs) and executes the first matching mapping.
|
57
|
+
|
58
|
+
The `passthrough` method initially rebuilds the url (if the URL itself has been changed or any parameters have been changed) and then makes the original request with the new URL/body.
|
59
|
+
|
60
|
+
### ResultIterator
|
61
|
+
|
62
|
+
This acts like a simple `Array` where the JSON response was an array, but it adds in a `parallelise` method for if you need request all the elements of an array (if they're lazy loaded for example) in multiple threads.
|
data/README.md
CHANGED
@@ -42,7 +42,7 @@ class Person < ActiveRestClient::Base
|
|
42
42
|
end
|
43
43
|
```
|
44
44
|
|
45
|
-
Note I've specified the base_url in the class above. This is useful where you want to be explicit or use different APIs for some classes and be explicit. If you have one server that's generally used, you can set it once with a simple line in
|
45
|
+
Note I've specified the base_url in the class above. This is useful where you want to be explicit or use different APIs for some classes and be explicit. If you have one server that's generally used, you can set it once with a simple line in a `config/initializer/{something}.rb` file:
|
46
46
|
|
47
47
|
```ruby
|
48
48
|
ActiveRestClient::Base.base_url = "https://www.example.com/api/v1"
|
@@ -0,0 +1,1236 @@
|
|
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</string>
|
10
|
+
<string>139.18.0.187838</string>
|
11
|
+
</array>
|
12
|
+
<key>AutoAdjust</key>
|
13
|
+
<true/>
|
14
|
+
<key>BackgroundGraphic</key>
|
15
|
+
<dict>
|
16
|
+
<key>Bounds</key>
|
17
|
+
<string>{{0, 0}, {558.99997329711914, 783}}</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>BaseZoom</key>
|
37
|
+
<integer>0</integer>
|
38
|
+
<key>CanvasOrigin</key>
|
39
|
+
<string>{0, 0}</string>
|
40
|
+
<key>ColumnAlign</key>
|
41
|
+
<integer>1</integer>
|
42
|
+
<key>ColumnSpacing</key>
|
43
|
+
<real>36</real>
|
44
|
+
<key>CreationDate</key>
|
45
|
+
<string>2014-03-24 09:32:25 +0000</string>
|
46
|
+
<key>Creator</key>
|
47
|
+
<string>Andy Jeffries</string>
|
48
|
+
<key>DisplayScale</key>
|
49
|
+
<string>1 0/72 in = 1.0000 in</string>
|
50
|
+
<key>GraphDocumentVersion</key>
|
51
|
+
<integer>8</integer>
|
52
|
+
<key>GraphicsList</key>
|
53
|
+
<array>
|
54
|
+
<dict>
|
55
|
+
<key>Class</key>
|
56
|
+
<string>LineGraphic</string>
|
57
|
+
<key>Head</key>
|
58
|
+
<dict>
|
59
|
+
<key>ID</key>
|
60
|
+
<integer>41</integer>
|
61
|
+
<key>Info</key>
|
62
|
+
<integer>2</integer>
|
63
|
+
</dict>
|
64
|
+
<key>ID</key>
|
65
|
+
<integer>42</integer>
|
66
|
+
<key>Points</key>
|
67
|
+
<array>
|
68
|
+
<string>{84.5, 587}</string>
|
69
|
+
<string>{84.5, 628}</string>
|
70
|
+
</array>
|
71
|
+
<key>Style</key>
|
72
|
+
<dict>
|
73
|
+
<key>stroke</key>
|
74
|
+
<dict>
|
75
|
+
<key>HeadArrow</key>
|
76
|
+
<string>FilledArrow</string>
|
77
|
+
<key>Legacy</key>
|
78
|
+
<true/>
|
79
|
+
<key>LineType</key>
|
80
|
+
<integer>1</integer>
|
81
|
+
<key>TailArrow</key>
|
82
|
+
<string>0</string>
|
83
|
+
</dict>
|
84
|
+
</dict>
|
85
|
+
<key>Tail</key>
|
86
|
+
<dict>
|
87
|
+
<key>ID</key>
|
88
|
+
<integer>23</integer>
|
89
|
+
<key>Info</key>
|
90
|
+
<integer>1</integer>
|
91
|
+
</dict>
|
92
|
+
</dict>
|
93
|
+
<dict>
|
94
|
+
<key>Bounds</key>
|
95
|
+
<string>{{20, 628}, {129, 50}}</string>
|
96
|
+
<key>Class</key>
|
97
|
+
<string>ShapedGraphic</string>
|
98
|
+
<key>ID</key>
|
99
|
+
<integer>41</integer>
|
100
|
+
<key>Magnets</key>
|
101
|
+
<array>
|
102
|
+
<string>{0, 1}</string>
|
103
|
+
<string>{0, -1}</string>
|
104
|
+
<string>{1, 0}</string>
|
105
|
+
<string>{-1, 0}</string>
|
106
|
+
</array>
|
107
|
+
<key>Shape</key>
|
108
|
+
<string>Rectangle</string>
|
109
|
+
<key>Style</key>
|
110
|
+
<dict>
|
111
|
+
<key>stroke</key>
|
112
|
+
<dict>
|
113
|
+
<key>Pattern</key>
|
114
|
+
<integer>1</integer>
|
115
|
+
</dict>
|
116
|
+
</dict>
|
117
|
+
<key>Text</key>
|
118
|
+
<dict>
|
119
|
+
<key>Text</key>
|
120
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
121
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
122
|
+
{\colortbl;\red255\green255\blue255;}
|
123
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
124
|
+
|
125
|
+
\f0\fs20 \cf0 Rails.logger\
|
126
|
+
(by default)}</string>
|
127
|
+
</dict>
|
128
|
+
</dict>
|
129
|
+
<dict>
|
130
|
+
<key>Class</key>
|
131
|
+
<string>LineGraphic</string>
|
132
|
+
<key>Head</key>
|
133
|
+
<dict>
|
134
|
+
<key>ID</key>
|
135
|
+
<integer>25</integer>
|
136
|
+
</dict>
|
137
|
+
<key>ID</key>
|
138
|
+
<integer>40</integer>
|
139
|
+
<key>Points</key>
|
140
|
+
<array>
|
141
|
+
<string>{369, 178}</string>
|
142
|
+
<string>{160, 96}</string>
|
143
|
+
</array>
|
144
|
+
<key>Style</key>
|
145
|
+
<dict>
|
146
|
+
<key>stroke</key>
|
147
|
+
<dict>
|
148
|
+
<key>HeadArrow</key>
|
149
|
+
<string>FilledArrow</string>
|
150
|
+
<key>Legacy</key>
|
151
|
+
<true/>
|
152
|
+
<key>LineType</key>
|
153
|
+
<integer>1</integer>
|
154
|
+
<key>TailArrow</key>
|
155
|
+
<string>0</string>
|
156
|
+
</dict>
|
157
|
+
</dict>
|
158
|
+
<key>Tail</key>
|
159
|
+
<dict>
|
160
|
+
<key>ID</key>
|
161
|
+
<integer>19</integer>
|
162
|
+
</dict>
|
163
|
+
</dict>
|
164
|
+
<dict>
|
165
|
+
<key>Class</key>
|
166
|
+
<string>LineGraphic</string>
|
167
|
+
<key>Head</key>
|
168
|
+
<dict>
|
169
|
+
<key>ID</key>
|
170
|
+
<integer>18</integer>
|
171
|
+
</dict>
|
172
|
+
<key>ID</key>
|
173
|
+
<integer>39</integer>
|
174
|
+
<key>Points</key>
|
175
|
+
<array>
|
176
|
+
<string>{160, 96}</string>
|
177
|
+
<string>{369, 71}</string>
|
178
|
+
</array>
|
179
|
+
<key>Style</key>
|
180
|
+
<dict>
|
181
|
+
<key>stroke</key>
|
182
|
+
<dict>
|
183
|
+
<key>HeadArrow</key>
|
184
|
+
<string>FilledArrow</string>
|
185
|
+
<key>Legacy</key>
|
186
|
+
<true/>
|
187
|
+
<key>LineType</key>
|
188
|
+
<integer>1</integer>
|
189
|
+
<key>TailArrow</key>
|
190
|
+
<string>0</string>
|
191
|
+
</dict>
|
192
|
+
</dict>
|
193
|
+
<key>Tail</key>
|
194
|
+
<dict>
|
195
|
+
<key>ID</key>
|
196
|
+
<integer>25</integer>
|
197
|
+
<key>Info</key>
|
198
|
+
<integer>3</integer>
|
199
|
+
</dict>
|
200
|
+
</dict>
|
201
|
+
<dict>
|
202
|
+
<key>Class</key>
|
203
|
+
<string>LineGraphic</string>
|
204
|
+
<key>Head</key>
|
205
|
+
<dict>
|
206
|
+
<key>ID</key>
|
207
|
+
<integer>21</integer>
|
208
|
+
<key>Info</key>
|
209
|
+
<integer>4</integer>
|
210
|
+
</dict>
|
211
|
+
<key>ID</key>
|
212
|
+
<integer>38</integer>
|
213
|
+
<key>Points</key>
|
214
|
+
<array>
|
215
|
+
<string>{357.49998664855957, 354.5}</string>
|
216
|
+
<string>{389, 429.5}</string>
|
217
|
+
</array>
|
218
|
+
<key>Style</key>
|
219
|
+
<dict>
|
220
|
+
<key>stroke</key>
|
221
|
+
<dict>
|
222
|
+
<key>HeadArrow</key>
|
223
|
+
<string>FilledArrow</string>
|
224
|
+
<key>Legacy</key>
|
225
|
+
<true/>
|
226
|
+
<key>LineType</key>
|
227
|
+
<integer>1</integer>
|
228
|
+
<key>TailArrow</key>
|
229
|
+
<string>0</string>
|
230
|
+
</dict>
|
231
|
+
</dict>
|
232
|
+
<key>Tail</key>
|
233
|
+
<dict>
|
234
|
+
<key>ID</key>
|
235
|
+
<integer>11</integer>
|
236
|
+
</dict>
|
237
|
+
</dict>
|
238
|
+
<dict>
|
239
|
+
<key>Class</key>
|
240
|
+
<string>LineGraphic</string>
|
241
|
+
<key>Head</key>
|
242
|
+
<dict>
|
243
|
+
<key>ID</key>
|
244
|
+
<integer>20</integer>
|
245
|
+
<key>Info</key>
|
246
|
+
<integer>4</integer>
|
247
|
+
</dict>
|
248
|
+
<key>ID</key>
|
249
|
+
<integer>37</integer>
|
250
|
+
<key>Points</key>
|
251
|
+
<array>
|
252
|
+
<string>{357.49998664855957, 354.5}</string>
|
253
|
+
<string>{389, 366.5}</string>
|
254
|
+
</array>
|
255
|
+
<key>Style</key>
|
256
|
+
<dict>
|
257
|
+
<key>stroke</key>
|
258
|
+
<dict>
|
259
|
+
<key>HeadArrow</key>
|
260
|
+
<string>FilledArrow</string>
|
261
|
+
<key>Legacy</key>
|
262
|
+
<true/>
|
263
|
+
<key>LineType</key>
|
264
|
+
<integer>1</integer>
|
265
|
+
<key>TailArrow</key>
|
266
|
+
<string>0</string>
|
267
|
+
</dict>
|
268
|
+
</dict>
|
269
|
+
<key>Tail</key>
|
270
|
+
<dict>
|
271
|
+
<key>ID</key>
|
272
|
+
<integer>11</integer>
|
273
|
+
<key>Info</key>
|
274
|
+
<integer>3</integer>
|
275
|
+
</dict>
|
276
|
+
</dict>
|
277
|
+
<dict>
|
278
|
+
<key>Class</key>
|
279
|
+
<string>LineGraphic</string>
|
280
|
+
<key>Head</key>
|
281
|
+
<dict>
|
282
|
+
<key>ID</key>
|
283
|
+
<integer>24</integer>
|
284
|
+
</dict>
|
285
|
+
<key>ID</key>
|
286
|
+
<integer>36</integer>
|
287
|
+
<key>Points</key>
|
288
|
+
<array>
|
289
|
+
<string>{201.49998664855957, 354.5}</string>
|
290
|
+
<string>{149, 297}</string>
|
291
|
+
</array>
|
292
|
+
<key>Style</key>
|
293
|
+
<dict>
|
294
|
+
<key>stroke</key>
|
295
|
+
<dict>
|
296
|
+
<key>HeadArrow</key>
|
297
|
+
<string>FilledArrow</string>
|
298
|
+
<key>Legacy</key>
|
299
|
+
<true/>
|
300
|
+
<key>LineType</key>
|
301
|
+
<integer>1</integer>
|
302
|
+
<key>TailArrow</key>
|
303
|
+
<string>0</string>
|
304
|
+
</dict>
|
305
|
+
</dict>
|
306
|
+
<key>Tail</key>
|
307
|
+
<dict>
|
308
|
+
<key>ID</key>
|
309
|
+
<integer>11</integer>
|
310
|
+
</dict>
|
311
|
+
</dict>
|
312
|
+
<dict>
|
313
|
+
<key>Class</key>
|
314
|
+
<string>LineGraphic</string>
|
315
|
+
<key>Head</key>
|
316
|
+
<dict>
|
317
|
+
<key>ID</key>
|
318
|
+
<integer>23</integer>
|
319
|
+
</dict>
|
320
|
+
<key>ID</key>
|
321
|
+
<integer>35</integer>
|
322
|
+
<key>Points</key>
|
323
|
+
<array>
|
324
|
+
<string>{201.49998664855957, 354.5}</string>
|
325
|
+
<string>{84.5, 537}</string>
|
326
|
+
</array>
|
327
|
+
<key>Style</key>
|
328
|
+
<dict>
|
329
|
+
<key>stroke</key>
|
330
|
+
<dict>
|
331
|
+
<key>HeadArrow</key>
|
332
|
+
<string>FilledArrow</string>
|
333
|
+
<key>Legacy</key>
|
334
|
+
<true/>
|
335
|
+
<key>LineType</key>
|
336
|
+
<integer>1</integer>
|
337
|
+
<key>TailArrow</key>
|
338
|
+
<string>0</string>
|
339
|
+
</dict>
|
340
|
+
</dict>
|
341
|
+
<key>Tail</key>
|
342
|
+
<dict>
|
343
|
+
<key>ID</key>
|
344
|
+
<integer>11</integer>
|
345
|
+
</dict>
|
346
|
+
</dict>
|
347
|
+
<dict>
|
348
|
+
<key>Class</key>
|
349
|
+
<string>LineGraphic</string>
|
350
|
+
<key>Head</key>
|
351
|
+
<dict>
|
352
|
+
<key>ID</key>
|
353
|
+
<integer>27</integer>
|
354
|
+
</dict>
|
355
|
+
<key>ID</key>
|
356
|
+
<integer>34</integer>
|
357
|
+
<key>Points</key>
|
358
|
+
<array>
|
359
|
+
<string>{453.5, 567}</string>
|
360
|
+
<string>{453.5, 619}</string>
|
361
|
+
</array>
|
362
|
+
<key>Style</key>
|
363
|
+
<dict>
|
364
|
+
<key>stroke</key>
|
365
|
+
<dict>
|
366
|
+
<key>HeadArrow</key>
|
367
|
+
<string>FilledArrow</string>
|
368
|
+
<key>Legacy</key>
|
369
|
+
<true/>
|
370
|
+
<key>LineType</key>
|
371
|
+
<integer>1</integer>
|
372
|
+
<key>TailArrow</key>
|
373
|
+
<string>0</string>
|
374
|
+
</dict>
|
375
|
+
</dict>
|
376
|
+
<key>Tail</key>
|
377
|
+
<dict>
|
378
|
+
<key>ID</key>
|
379
|
+
<integer>22</integer>
|
380
|
+
<key>Info</key>
|
381
|
+
<integer>1</integer>
|
382
|
+
</dict>
|
383
|
+
</dict>
|
384
|
+
<dict>
|
385
|
+
<key>Class</key>
|
386
|
+
<string>LineGraphic</string>
|
387
|
+
<key>Head</key>
|
388
|
+
<dict>
|
389
|
+
<key>ID</key>
|
390
|
+
<integer>22</integer>
|
391
|
+
</dict>
|
392
|
+
<key>ID</key>
|
393
|
+
<integer>33</integer>
|
394
|
+
<key>Points</key>
|
395
|
+
<array>
|
396
|
+
<string>{279.49998664855957, 484}</string>
|
397
|
+
<string>{389, 542}</string>
|
398
|
+
</array>
|
399
|
+
<key>Style</key>
|
400
|
+
<dict>
|
401
|
+
<key>stroke</key>
|
402
|
+
<dict>
|
403
|
+
<key>HeadArrow</key>
|
404
|
+
<string>FilledArrow</string>
|
405
|
+
<key>Legacy</key>
|
406
|
+
<true/>
|
407
|
+
<key>LineType</key>
|
408
|
+
<integer>1</integer>
|
409
|
+
<key>TailArrow</key>
|
410
|
+
<string>0</string>
|
411
|
+
</dict>
|
412
|
+
</dict>
|
413
|
+
<key>Tail</key>
|
414
|
+
<dict>
|
415
|
+
<key>ID</key>
|
416
|
+
<integer>11</integer>
|
417
|
+
<key>Info</key>
|
418
|
+
<integer>1</integer>
|
419
|
+
</dict>
|
420
|
+
</dict>
|
421
|
+
<dict>
|
422
|
+
<key>Class</key>
|
423
|
+
<string>LineGraphic</string>
|
424
|
+
<key>Head</key>
|
425
|
+
<dict>
|
426
|
+
<key>ID</key>
|
427
|
+
<integer>28</integer>
|
428
|
+
<key>Info</key>
|
429
|
+
<integer>2</integer>
|
430
|
+
</dict>
|
431
|
+
<key>ID</key>
|
432
|
+
<integer>32</integer>
|
433
|
+
<key>Points</key>
|
434
|
+
<array>
|
435
|
+
<string>{279.49998664855957, 484}</string>
|
436
|
+
<string>{268, 537}</string>
|
437
|
+
</array>
|
438
|
+
<key>Style</key>
|
439
|
+
<dict>
|
440
|
+
<key>stroke</key>
|
441
|
+
<dict>
|
442
|
+
<key>HeadArrow</key>
|
443
|
+
<string>FilledArrow</string>
|
444
|
+
<key>Legacy</key>
|
445
|
+
<true/>
|
446
|
+
<key>LineType</key>
|
447
|
+
<integer>1</integer>
|
448
|
+
<key>TailArrow</key>
|
449
|
+
<string>0</string>
|
450
|
+
</dict>
|
451
|
+
</dict>
|
452
|
+
<key>Tail</key>
|
453
|
+
<dict>
|
454
|
+
<key>ID</key>
|
455
|
+
<integer>11</integer>
|
456
|
+
<key>Info</key>
|
457
|
+
<integer>1</integer>
|
458
|
+
</dict>
|
459
|
+
</dict>
|
460
|
+
<dict>
|
461
|
+
<key>Class</key>
|
462
|
+
<string>LineGraphic</string>
|
463
|
+
<key>Head</key>
|
464
|
+
<dict>
|
465
|
+
<key>ID</key>
|
466
|
+
<integer>25</integer>
|
467
|
+
<key>Info</key>
|
468
|
+
<integer>1</integer>
|
469
|
+
</dict>
|
470
|
+
<key>ID</key>
|
471
|
+
<integer>31</integer>
|
472
|
+
<key>Points</key>
|
473
|
+
<array>
|
474
|
+
<string>{279.49998664855957, 225}</string>
|
475
|
+
<string>{95.5, 121}</string>
|
476
|
+
</array>
|
477
|
+
<key>Style</key>
|
478
|
+
<dict>
|
479
|
+
<key>stroke</key>
|
480
|
+
<dict>
|
481
|
+
<key>HeadArrow</key>
|
482
|
+
<string>FilledArrow</string>
|
483
|
+
<key>Legacy</key>
|
484
|
+
<true/>
|
485
|
+
<key>LineType</key>
|
486
|
+
<integer>1</integer>
|
487
|
+
<key>TailArrow</key>
|
488
|
+
<string>0</string>
|
489
|
+
</dict>
|
490
|
+
</dict>
|
491
|
+
<key>Tail</key>
|
492
|
+
<dict>
|
493
|
+
<key>ID</key>
|
494
|
+
<integer>11</integer>
|
495
|
+
</dict>
|
496
|
+
</dict>
|
497
|
+
<dict>
|
498
|
+
<key>Class</key>
|
499
|
+
<string>LineGraphic</string>
|
500
|
+
<key>Head</key>
|
501
|
+
<dict>
|
502
|
+
<key>ID</key>
|
503
|
+
<integer>19</integer>
|
504
|
+
</dict>
|
505
|
+
<key>ID</key>
|
506
|
+
<integer>30</integer>
|
507
|
+
<key>Points</key>
|
508
|
+
<array>
|
509
|
+
<string>{433.5, 96}</string>
|
510
|
+
<string>{433.5, 153}</string>
|
511
|
+
</array>
|
512
|
+
<key>Style</key>
|
513
|
+
<dict>
|
514
|
+
<key>stroke</key>
|
515
|
+
<dict>
|
516
|
+
<key>HeadArrow</key>
|
517
|
+
<string>FilledArrow</string>
|
518
|
+
<key>Legacy</key>
|
519
|
+
<true/>
|
520
|
+
<key>LineType</key>
|
521
|
+
<integer>1</integer>
|
522
|
+
<key>TailArrow</key>
|
523
|
+
<string>0</string>
|
524
|
+
</dict>
|
525
|
+
</dict>
|
526
|
+
<key>Tail</key>
|
527
|
+
<dict>
|
528
|
+
<key>ID</key>
|
529
|
+
<integer>18</integer>
|
530
|
+
<key>Info</key>
|
531
|
+
<integer>1</integer>
|
532
|
+
</dict>
|
533
|
+
</dict>
|
534
|
+
<dict>
|
535
|
+
<key>Class</key>
|
536
|
+
<string>LineGraphic</string>
|
537
|
+
<key>Head</key>
|
538
|
+
<dict>
|
539
|
+
<key>ID</key>
|
540
|
+
<integer>26</integer>
|
541
|
+
<key>Info</key>
|
542
|
+
<integer>2</integer>
|
543
|
+
</dict>
|
544
|
+
<key>ID</key>
|
545
|
+
<integer>29</integer>
|
546
|
+
<key>Points</key>
|
547
|
+
<array>
|
548
|
+
<string>{95.5, 121}</string>
|
549
|
+
<string>{95.5, 198}</string>
|
550
|
+
</array>
|
551
|
+
<key>Style</key>
|
552
|
+
<dict>
|
553
|
+
<key>stroke</key>
|
554
|
+
<dict>
|
555
|
+
<key>HeadArrow</key>
|
556
|
+
<string>FilledArrow</string>
|
557
|
+
<key>Legacy</key>
|
558
|
+
<true/>
|
559
|
+
<key>LineType</key>
|
560
|
+
<integer>1</integer>
|
561
|
+
<key>TailArrow</key>
|
562
|
+
<string>0</string>
|
563
|
+
</dict>
|
564
|
+
</dict>
|
565
|
+
<key>Tail</key>
|
566
|
+
<dict>
|
567
|
+
<key>ID</key>
|
568
|
+
<integer>25</integer>
|
569
|
+
<key>Info</key>
|
570
|
+
<integer>1</integer>
|
571
|
+
</dict>
|
572
|
+
</dict>
|
573
|
+
<dict>
|
574
|
+
<key>Bounds</key>
|
575
|
+
<string>{{203.5, 537}, {129, 50}}</string>
|
576
|
+
<key>Class</key>
|
577
|
+
<string>ShapedGraphic</string>
|
578
|
+
<key>ID</key>
|
579
|
+
<integer>28</integer>
|
580
|
+
<key>Magnets</key>
|
581
|
+
<array>
|
582
|
+
<string>{0, 1}</string>
|
583
|
+
<string>{0, -1}</string>
|
584
|
+
<string>{1, 0}</string>
|
585
|
+
<string>{-1, 0}</string>
|
586
|
+
</array>
|
587
|
+
<key>Shape</key>
|
588
|
+
<string>Rectangle</string>
|
589
|
+
<key>Style</key>
|
590
|
+
<dict>
|
591
|
+
<key>stroke</key>
|
592
|
+
<dict>
|
593
|
+
<key>Pattern</key>
|
594
|
+
<integer>1</integer>
|
595
|
+
</dict>
|
596
|
+
</dict>
|
597
|
+
<key>Text</key>
|
598
|
+
<dict>
|
599
|
+
<key>Text</key>
|
600
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
601
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
602
|
+
{\colortbl;\red255\green255\blue255;}
|
603
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
604
|
+
|
605
|
+
\f0\fs20 \cf0 Your Class Goes Here}</string>
|
606
|
+
</dict>
|
607
|
+
</dict>
|
608
|
+
<dict>
|
609
|
+
<key>Bounds</key>
|
610
|
+
<string>{{389, 619}, {129, 50}}</string>
|
611
|
+
<key>Class</key>
|
612
|
+
<string>ShapedGraphic</string>
|
613
|
+
<key>ID</key>
|
614
|
+
<integer>27</integer>
|
615
|
+
<key>Magnets</key>
|
616
|
+
<array>
|
617
|
+
<string>{0, 1}</string>
|
618
|
+
<string>{0, -1}</string>
|
619
|
+
<string>{1, 0}</string>
|
620
|
+
<string>{-1, 0}</string>
|
621
|
+
</array>
|
622
|
+
<key>Shape</key>
|
623
|
+
<string>Rectangle</string>
|
624
|
+
<key>Style</key>
|
625
|
+
<dict>
|
626
|
+
<key>stroke</key>
|
627
|
+
<dict>
|
628
|
+
<key>Pattern</key>
|
629
|
+
<integer>1</integer>
|
630
|
+
</dict>
|
631
|
+
</dict>
|
632
|
+
<key>Text</key>
|
633
|
+
<dict>
|
634
|
+
<key>Text</key>
|
635
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
636
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
637
|
+
{\colortbl;\red255\green255\blue255;}
|
638
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
639
|
+
|
640
|
+
\f0\fs20 \cf0 Your Proxy Goes Here}</string>
|
641
|
+
</dict>
|
642
|
+
</dict>
|
643
|
+
<dict>
|
644
|
+
<key>Bounds</key>
|
645
|
+
<string>{{31, 198}, {129, 50}}</string>
|
646
|
+
<key>Class</key>
|
647
|
+
<string>ShapedGraphic</string>
|
648
|
+
<key>ID</key>
|
649
|
+
<integer>26</integer>
|
650
|
+
<key>Magnets</key>
|
651
|
+
<array>
|
652
|
+
<string>{0, 1}</string>
|
653
|
+
<string>{0, -1}</string>
|
654
|
+
<string>{1, 0}</string>
|
655
|
+
<string>{-1, 0}</string>
|
656
|
+
</array>
|
657
|
+
<key>Shape</key>
|
658
|
+
<string>Rectangle</string>
|
659
|
+
<key>Text</key>
|
660
|
+
<dict>
|
661
|
+
<key>Text</key>
|
662
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
663
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
664
|
+
{\colortbl;\red255\green255\blue255;}
|
665
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
666
|
+
|
667
|
+
\f0\fs20 \cf0 Header List}</string>
|
668
|
+
</dict>
|
669
|
+
</dict>
|
670
|
+
<dict>
|
671
|
+
<key>Bounds</key>
|
672
|
+
<string>{{31, 71}, {129, 50}}</string>
|
673
|
+
<key>Class</key>
|
674
|
+
<string>ShapedGraphic</string>
|
675
|
+
<key>ID</key>
|
676
|
+
<integer>25</integer>
|
677
|
+
<key>Magnets</key>
|
678
|
+
<array>
|
679
|
+
<string>{0, 1}</string>
|
680
|
+
<string>{0, -1}</string>
|
681
|
+
<string>{1, 0}</string>
|
682
|
+
<string>{-1, 0}</string>
|
683
|
+
</array>
|
684
|
+
<key>Shape</key>
|
685
|
+
<string>Rectangle</string>
|
686
|
+
<key>Text</key>
|
687
|
+
<dict>
|
688
|
+
<key>Text</key>
|
689
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
690
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
691
|
+
{\colortbl;\red255\green255\blue255;}
|
692
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
693
|
+
|
694
|
+
\f0\fs20 \cf0 Request}</string>
|
695
|
+
</dict>
|
696
|
+
</dict>
|
697
|
+
<dict>
|
698
|
+
<key>Bounds</key>
|
699
|
+
<string>{{20, 272}, {129, 50}}</string>
|
700
|
+
<key>Class</key>
|
701
|
+
<string>ShapedGraphic</string>
|
702
|
+
<key>ID</key>
|
703
|
+
<integer>24</integer>
|
704
|
+
<key>Magnets</key>
|
705
|
+
<array>
|
706
|
+
<string>{0, 1}</string>
|
707
|
+
<string>{0, -1}</string>
|
708
|
+
<string>{1, 0}</string>
|
709
|
+
<string>{-1, 0}</string>
|
710
|
+
</array>
|
711
|
+
<key>Shape</key>
|
712
|
+
<string>Rectangle</string>
|
713
|
+
<key>Text</key>
|
714
|
+
<dict>
|
715
|
+
<key>Text</key>
|
716
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
717
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
718
|
+
{\colortbl;\red255\green255\blue255;}
|
719
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
720
|
+
|
721
|
+
\f0\fs20 \cf0 Result Iterator}</string>
|
722
|
+
</dict>
|
723
|
+
</dict>
|
724
|
+
<dict>
|
725
|
+
<key>Bounds</key>
|
726
|
+
<string>{{20, 537}, {129, 50}}</string>
|
727
|
+
<key>Class</key>
|
728
|
+
<string>ShapedGraphic</string>
|
729
|
+
<key>ID</key>
|
730
|
+
<integer>23</integer>
|
731
|
+
<key>Magnets</key>
|
732
|
+
<array>
|
733
|
+
<string>{0, 1}</string>
|
734
|
+
<string>{0, -1}</string>
|
735
|
+
<string>{1, 0}</string>
|
736
|
+
<string>{-1, 0}</string>
|
737
|
+
</array>
|
738
|
+
<key>Shape</key>
|
739
|
+
<string>Rectangle</string>
|
740
|
+
<key>Text</key>
|
741
|
+
<dict>
|
742
|
+
<key>Text</key>
|
743
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
744
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
745
|
+
{\colortbl;\red255\green255\blue255;}
|
746
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
747
|
+
|
748
|
+
\f0\fs20 \cf0 Logger}</string>
|
749
|
+
</dict>
|
750
|
+
</dict>
|
751
|
+
<dict>
|
752
|
+
<key>Bounds</key>
|
753
|
+
<string>{{389, 517}, {129, 50}}</string>
|
754
|
+
<key>Class</key>
|
755
|
+
<string>ShapedGraphic</string>
|
756
|
+
<key>ID</key>
|
757
|
+
<integer>22</integer>
|
758
|
+
<key>Magnets</key>
|
759
|
+
<array>
|
760
|
+
<string>{0, 1}</string>
|
761
|
+
<string>{0, -1}</string>
|
762
|
+
<string>{1, 0}</string>
|
763
|
+
<string>{-1, 0}</string>
|
764
|
+
</array>
|
765
|
+
<key>Shape</key>
|
766
|
+
<string>Rectangle</string>
|
767
|
+
<key>Text</key>
|
768
|
+
<dict>
|
769
|
+
<key>Text</key>
|
770
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
771
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
772
|
+
{\colortbl;\red255\green255\blue255;}
|
773
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
774
|
+
|
775
|
+
\f0\fs20 \cf0 ProxyBase}</string>
|
776
|
+
</dict>
|
777
|
+
</dict>
|
778
|
+
<dict>
|
779
|
+
<key>Bounds</key>
|
780
|
+
<string>{{389, 404.5}, {129, 50}}</string>
|
781
|
+
<key>Class</key>
|
782
|
+
<string>ShapedGraphic</string>
|
783
|
+
<key>ID</key>
|
784
|
+
<integer>21</integer>
|
785
|
+
<key>Magnets</key>
|
786
|
+
<array>
|
787
|
+
<string>{0, 1}</string>
|
788
|
+
<string>{0, -1}</string>
|
789
|
+
<string>{1, 0}</string>
|
790
|
+
<string>{-1, 0}</string>
|
791
|
+
</array>
|
792
|
+
<key>Shape</key>
|
793
|
+
<string>Rectangle</string>
|
794
|
+
<key>Text</key>
|
795
|
+
<dict>
|
796
|
+
<key>Text</key>
|
797
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
798
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
799
|
+
{\colortbl;\red255\green255\blue255;}
|
800
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
801
|
+
|
802
|
+
\f0\fs20 \cf0 Lazy Association Loader}</string>
|
803
|
+
</dict>
|
804
|
+
</dict>
|
805
|
+
<dict>
|
806
|
+
<key>Bounds</key>
|
807
|
+
<string>{{389, 341.5}, {129, 50}}</string>
|
808
|
+
<key>Class</key>
|
809
|
+
<string>ShapedGraphic</string>
|
810
|
+
<key>ID</key>
|
811
|
+
<integer>20</integer>
|
812
|
+
<key>Magnets</key>
|
813
|
+
<array>
|
814
|
+
<string>{0, 1}</string>
|
815
|
+
<string>{0, -1}</string>
|
816
|
+
<string>{1, 0}</string>
|
817
|
+
<string>{-1, 0}</string>
|
818
|
+
</array>
|
819
|
+
<key>Shape</key>
|
820
|
+
<string>Rectangle</string>
|
821
|
+
<key>Text</key>
|
822
|
+
<dict>
|
823
|
+
<key>Text</key>
|
824
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
825
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
826
|
+
{\colortbl;\red255\green255\blue255;}
|
827
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
828
|
+
|
829
|
+
\f0\fs20 \cf0 Lazy Loader}</string>
|
830
|
+
</dict>
|
831
|
+
</dict>
|
832
|
+
<dict>
|
833
|
+
<key>Bounds</key>
|
834
|
+
<string>{{369, 153}, {129, 50}}</string>
|
835
|
+
<key>Class</key>
|
836
|
+
<string>ShapedGraphic</string>
|
837
|
+
<key>ID</key>
|
838
|
+
<integer>19</integer>
|
839
|
+
<key>Magnets</key>
|
840
|
+
<array>
|
841
|
+
<string>{0, 1}</string>
|
842
|
+
<string>{0, -1}</string>
|
843
|
+
<string>{1, 0}</string>
|
844
|
+
<string>{-1, 0}</string>
|
845
|
+
</array>
|
846
|
+
<key>Shape</key>
|
847
|
+
<string>Rectangle</string>
|
848
|
+
<key>Text</key>
|
849
|
+
<dict>
|
850
|
+
<key>Text</key>
|
851
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
852
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
853
|
+
{\colortbl;\red255\green255\blue255;}
|
854
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
855
|
+
|
856
|
+
\f0\fs20 \cf0 Connection}</string>
|
857
|
+
</dict>
|
858
|
+
</dict>
|
859
|
+
<dict>
|
860
|
+
<key>Bounds</key>
|
861
|
+
<string>{{369, 46}, {129, 50}}</string>
|
862
|
+
<key>Class</key>
|
863
|
+
<string>ShapedGraphic</string>
|
864
|
+
<key>ID</key>
|
865
|
+
<integer>18</integer>
|
866
|
+
<key>Magnets</key>
|
867
|
+
<array>
|
868
|
+
<string>{0, 1}</string>
|
869
|
+
<string>{0, -1}</string>
|
870
|
+
<string>{1, 0}</string>
|
871
|
+
<string>{-1, 0}</string>
|
872
|
+
</array>
|
873
|
+
<key>Shape</key>
|
874
|
+
<string>Rectangle</string>
|
875
|
+
<key>Text</key>
|
876
|
+
<dict>
|
877
|
+
<key>Text</key>
|
878
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
879
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
880
|
+
{\colortbl;\red255\green255\blue255;}
|
881
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
882
|
+
|
883
|
+
\f0\fs20 \cf0 Connection\
|
884
|
+
Manager}</string>
|
885
|
+
</dict>
|
886
|
+
</dict>
|
887
|
+
<dict>
|
888
|
+
<key>Bounds</key>
|
889
|
+
<string>{{214.49998664855957, 447.5}, {129, 24.5}}</string>
|
890
|
+
<key>Class</key>
|
891
|
+
<string>ShapedGraphic</string>
|
892
|
+
<key>ID</key>
|
893
|
+
<integer>17</integer>
|
894
|
+
<key>Magnets</key>
|
895
|
+
<array>
|
896
|
+
<string>{0, 1}</string>
|
897
|
+
<string>{0, -1}</string>
|
898
|
+
<string>{1, 0}</string>
|
899
|
+
<string>{-1, 0}</string>
|
900
|
+
</array>
|
901
|
+
<key>Shape</key>
|
902
|
+
<string>Rectangle</string>
|
903
|
+
<key>Text</key>
|
904
|
+
<dict>
|
905
|
+
<key>Text</key>
|
906
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
907
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
908
|
+
{\colortbl;\red255\green255\blue255;}
|
909
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
910
|
+
|
911
|
+
\f0\fs20 \cf0 Recording}</string>
|
912
|
+
</dict>
|
913
|
+
</dict>
|
914
|
+
<dict>
|
915
|
+
<key>Bounds</key>
|
916
|
+
<string>{{214.49998664855957, 411.5}, {129, 24.5}}</string>
|
917
|
+
<key>Class</key>
|
918
|
+
<string>ShapedGraphic</string>
|
919
|
+
<key>ID</key>
|
920
|
+
<integer>16</integer>
|
921
|
+
<key>Magnets</key>
|
922
|
+
<array>
|
923
|
+
<string>{0, 1}</string>
|
924
|
+
<string>{0, -1}</string>
|
925
|
+
<string>{1, 0}</string>
|
926
|
+
<string>{-1, 0}</string>
|
927
|
+
</array>
|
928
|
+
<key>Shape</key>
|
929
|
+
<string>Rectangle</string>
|
930
|
+
<key>Text</key>
|
931
|
+
<dict>
|
932
|
+
<key>Text</key>
|
933
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
934
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
935
|
+
{\colortbl;\red255\green255\blue255;}
|
936
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
937
|
+
|
938
|
+
\f0\fs20 \cf0 Caching}</string>
|
939
|
+
</dict>
|
940
|
+
</dict>
|
941
|
+
<dict>
|
942
|
+
<key>Bounds</key>
|
943
|
+
<string>{{214.49998664855957, 375.5}, {129, 24.5}}</string>
|
944
|
+
<key>Class</key>
|
945
|
+
<string>ShapedGraphic</string>
|
946
|
+
<key>ID</key>
|
947
|
+
<integer>15</integer>
|
948
|
+
<key>Magnets</key>
|
949
|
+
<array>
|
950
|
+
<string>{0, 1}</string>
|
951
|
+
<string>{0, -1}</string>
|
952
|
+
<string>{1, 0}</string>
|
953
|
+
<string>{-1, 0}</string>
|
954
|
+
</array>
|
955
|
+
<key>Shape</key>
|
956
|
+
<string>Rectangle</string>
|
957
|
+
<key>Text</key>
|
958
|
+
<dict>
|
959
|
+
<key>Text</key>
|
960
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
961
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
962
|
+
{\colortbl;\red255\green255\blue255;}
|
963
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
964
|
+
|
965
|
+
\f0\fs20 \cf0 Validation}</string>
|
966
|
+
</dict>
|
967
|
+
</dict>
|
968
|
+
<dict>
|
969
|
+
<key>Bounds</key>
|
970
|
+
<string>{{214.49998664855957, 339.5}, {129, 24.5}}</string>
|
971
|
+
<key>Class</key>
|
972
|
+
<string>ShapedGraphic</string>
|
973
|
+
<key>ID</key>
|
974
|
+
<integer>14</integer>
|
975
|
+
<key>Magnets</key>
|
976
|
+
<array>
|
977
|
+
<string>{0, 1}</string>
|
978
|
+
<string>{0, -1}</string>
|
979
|
+
<string>{1, 0}</string>
|
980
|
+
<string>{-1, 0}</string>
|
981
|
+
</array>
|
982
|
+
<key>Shape</key>
|
983
|
+
<string>Rectangle</string>
|
984
|
+
<key>Text</key>
|
985
|
+
<dict>
|
986
|
+
<key>Text</key>
|
987
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
988
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
989
|
+
{\colortbl;\red255\green255\blue255;}
|
990
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
991
|
+
|
992
|
+
\f0\fs20 \cf0 Request Filtering}</string>
|
993
|
+
</dict>
|
994
|
+
</dict>
|
995
|
+
<dict>
|
996
|
+
<key>Bounds</key>
|
997
|
+
<string>{{214.49998664855957, 303.5}, {129, 24.5}}</string>
|
998
|
+
<key>Class</key>
|
999
|
+
<string>ShapedGraphic</string>
|
1000
|
+
<key>ID</key>
|
1001
|
+
<integer>13</integer>
|
1002
|
+
<key>Magnets</key>
|
1003
|
+
<array>
|
1004
|
+
<string>{0, 1}</string>
|
1005
|
+
<string>{0, -1}</string>
|
1006
|
+
<string>{1, 0}</string>
|
1007
|
+
<string>{-1, 0}</string>
|
1008
|
+
</array>
|
1009
|
+
<key>Shape</key>
|
1010
|
+
<string>Rectangle</string>
|
1011
|
+
<key>Text</key>
|
1012
|
+
<dict>
|
1013
|
+
<key>Text</key>
|
1014
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
1015
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
1016
|
+
{\colortbl;\red255\green255\blue255;}
|
1017
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
1018
|
+
|
1019
|
+
\f0\fs20 \cf0 Mapping}</string>
|
1020
|
+
</dict>
|
1021
|
+
</dict>
|
1022
|
+
<dict>
|
1023
|
+
<key>Bounds</key>
|
1024
|
+
<string>{{214.49998664855957, 267.5}, {129, 24.5}}</string>
|
1025
|
+
<key>Class</key>
|
1026
|
+
<string>ShapedGraphic</string>
|
1027
|
+
<key>ID</key>
|
1028
|
+
<integer>12</integer>
|
1029
|
+
<key>Magnets</key>
|
1030
|
+
<array>
|
1031
|
+
<string>{0, 1}</string>
|
1032
|
+
<string>{0, -1}</string>
|
1033
|
+
<string>{1, 0}</string>
|
1034
|
+
<string>{-1, 0}</string>
|
1035
|
+
</array>
|
1036
|
+
<key>Shape</key>
|
1037
|
+
<string>Rectangle</string>
|
1038
|
+
<key>Text</key>
|
1039
|
+
<dict>
|
1040
|
+
<key>Text</key>
|
1041
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
1042
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
1043
|
+
{\colortbl;\red255\green255\blue255;}
|
1044
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
1045
|
+
|
1046
|
+
\f0\fs20 \cf0 Configuration}</string>
|
1047
|
+
</dict>
|
1048
|
+
</dict>
|
1049
|
+
<dict>
|
1050
|
+
<key>Bounds</key>
|
1051
|
+
<string>{{201.49998664855957, 225}, {156, 259}}</string>
|
1052
|
+
<key>Class</key>
|
1053
|
+
<string>ShapedGraphic</string>
|
1054
|
+
<key>ID</key>
|
1055
|
+
<integer>11</integer>
|
1056
|
+
<key>Magnets</key>
|
1057
|
+
<array>
|
1058
|
+
<string>{0, 1}</string>
|
1059
|
+
<string>{0, -1}</string>
|
1060
|
+
<string>{1, 0}</string>
|
1061
|
+
<string>{-1, 0}</string>
|
1062
|
+
</array>
|
1063
|
+
<key>Shape</key>
|
1064
|
+
<string>Rectangle</string>
|
1065
|
+
<key>Style</key>
|
1066
|
+
<dict/>
|
1067
|
+
<key>Text</key>
|
1068
|
+
<dict>
|
1069
|
+
<key>Text</key>
|
1070
|
+
<string>{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
|
1071
|
+
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
|
1072
|
+
{\colortbl;\red255\green255\blue255;}
|
1073
|
+
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
|
1074
|
+
|
1075
|
+
\f0\fs20 \cf0 Base}</string>
|
1076
|
+
</dict>
|
1077
|
+
<key>TextPlacement</key>
|
1078
|
+
<integer>0</integer>
|
1079
|
+
</dict>
|
1080
|
+
</array>
|
1081
|
+
<key>GridInfo</key>
|
1082
|
+
<dict/>
|
1083
|
+
<key>GuidesLocked</key>
|
1084
|
+
<string>NO</string>
|
1085
|
+
<key>GuidesVisible</key>
|
1086
|
+
<string>YES</string>
|
1087
|
+
<key>HPages</key>
|
1088
|
+
<integer>1</integer>
|
1089
|
+
<key>ImageCounter</key>
|
1090
|
+
<integer>1</integer>
|
1091
|
+
<key>KeepToScale</key>
|
1092
|
+
<false/>
|
1093
|
+
<key>Layers</key>
|
1094
|
+
<array>
|
1095
|
+
<dict>
|
1096
|
+
<key>Lock</key>
|
1097
|
+
<string>NO</string>
|
1098
|
+
<key>Name</key>
|
1099
|
+
<string>Layer 1</string>
|
1100
|
+
<key>Print</key>
|
1101
|
+
<string>YES</string>
|
1102
|
+
<key>View</key>
|
1103
|
+
<string>YES</string>
|
1104
|
+
</dict>
|
1105
|
+
</array>
|
1106
|
+
<key>LayoutInfo</key>
|
1107
|
+
<dict>
|
1108
|
+
<key>Animate</key>
|
1109
|
+
<string>NO</string>
|
1110
|
+
<key>circoMinDist</key>
|
1111
|
+
<real>18</real>
|
1112
|
+
<key>circoSeparation</key>
|
1113
|
+
<real>0.0</real>
|
1114
|
+
<key>layoutEngine</key>
|
1115
|
+
<string>dot</string>
|
1116
|
+
<key>neatoSeparation</key>
|
1117
|
+
<real>0.0</real>
|
1118
|
+
<key>twopiSeparation</key>
|
1119
|
+
<real>0.0</real>
|
1120
|
+
</dict>
|
1121
|
+
<key>LinksVisible</key>
|
1122
|
+
<string>NO</string>
|
1123
|
+
<key>MagnetsVisible</key>
|
1124
|
+
<string>NO</string>
|
1125
|
+
<key>MasterSheets</key>
|
1126
|
+
<array/>
|
1127
|
+
<key>ModificationDate</key>
|
1128
|
+
<string>2014-03-26 10:37:19 +0000</string>
|
1129
|
+
<key>Modifier</key>
|
1130
|
+
<string>Andy Jeffries</string>
|
1131
|
+
<key>NotesVisible</key>
|
1132
|
+
<string>NO</string>
|
1133
|
+
<key>Orientation</key>
|
1134
|
+
<integer>2</integer>
|
1135
|
+
<key>OriginVisible</key>
|
1136
|
+
<string>NO</string>
|
1137
|
+
<key>PageBreaks</key>
|
1138
|
+
<string>YES</string>
|
1139
|
+
<key>PrintInfo</key>
|
1140
|
+
<dict>
|
1141
|
+
<key>NSBottomMargin</key>
|
1142
|
+
<array>
|
1143
|
+
<string>float</string>
|
1144
|
+
<string>41</string>
|
1145
|
+
</array>
|
1146
|
+
<key>NSHorizonalPagination</key>
|
1147
|
+
<array>
|
1148
|
+
<string>coded</string>
|
1149
|
+
<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
|
1150
|
+
</array>
|
1151
|
+
<key>NSLeftMargin</key>
|
1152
|
+
<array>
|
1153
|
+
<string>float</string>
|
1154
|
+
<string>18</string>
|
1155
|
+
</array>
|
1156
|
+
<key>NSPaperSize</key>
|
1157
|
+
<array>
|
1158
|
+
<string>size</string>
|
1159
|
+
<string>{594.99997329711914, 842}</string>
|
1160
|
+
</array>
|
1161
|
+
<key>NSPrintReverseOrientation</key>
|
1162
|
+
<array>
|
1163
|
+
<string>int</string>
|
1164
|
+
<string>0</string>
|
1165
|
+
</array>
|
1166
|
+
<key>NSRightMargin</key>
|
1167
|
+
<array>
|
1168
|
+
<string>float</string>
|
1169
|
+
<string>18</string>
|
1170
|
+
</array>
|
1171
|
+
<key>NSTopMargin</key>
|
1172
|
+
<array>
|
1173
|
+
<string>float</string>
|
1174
|
+
<string>18</string>
|
1175
|
+
</array>
|
1176
|
+
</dict>
|
1177
|
+
<key>PrintOnePage</key>
|
1178
|
+
<false/>
|
1179
|
+
<key>ReadOnly</key>
|
1180
|
+
<string>NO</string>
|
1181
|
+
<key>RowAlign</key>
|
1182
|
+
<integer>1</integer>
|
1183
|
+
<key>RowSpacing</key>
|
1184
|
+
<real>36</real>
|
1185
|
+
<key>SheetTitle</key>
|
1186
|
+
<string>Canvas 1</string>
|
1187
|
+
<key>SmartAlignmentGuidesActive</key>
|
1188
|
+
<string>YES</string>
|
1189
|
+
<key>SmartDistanceGuidesActive</key>
|
1190
|
+
<string>YES</string>
|
1191
|
+
<key>UniqueID</key>
|
1192
|
+
<integer>1</integer>
|
1193
|
+
<key>UseEntirePage</key>
|
1194
|
+
<false/>
|
1195
|
+
<key>VPages</key>
|
1196
|
+
<integer>1</integer>
|
1197
|
+
<key>WindowInfo</key>
|
1198
|
+
<dict>
|
1199
|
+
<key>CurrentSheet</key>
|
1200
|
+
<integer>0</integer>
|
1201
|
+
<key>ExpandedCanvases</key>
|
1202
|
+
<array>
|
1203
|
+
<dict>
|
1204
|
+
<key>name</key>
|
1205
|
+
<string>Canvas 1</string>
|
1206
|
+
</dict>
|
1207
|
+
</array>
|
1208
|
+
<key>Frame</key>
|
1209
|
+
<string>{{36, 4}, {693, 874}}</string>
|
1210
|
+
<key>ListView</key>
|
1211
|
+
<true/>
|
1212
|
+
<key>OutlineWidth</key>
|
1213
|
+
<integer>142</integer>
|
1214
|
+
<key>RightSidebar</key>
|
1215
|
+
<false/>
|
1216
|
+
<key>ShowRuler</key>
|
1217
|
+
<true/>
|
1218
|
+
<key>Sidebar</key>
|
1219
|
+
<true/>
|
1220
|
+
<key>SidebarWidth</key>
|
1221
|
+
<integer>120</integer>
|
1222
|
+
<key>VisibleRegion</key>
|
1223
|
+
<string>{{0, 2}, {558, 735}}</string>
|
1224
|
+
<key>Zoom</key>
|
1225
|
+
<real>1</real>
|
1226
|
+
<key>ZoomValues</key>
|
1227
|
+
<array>
|
1228
|
+
<array>
|
1229
|
+
<string>Canvas 1</string>
|
1230
|
+
<real>1</real>
|
1231
|
+
<real>1</real>
|
1232
|
+
</array>
|
1233
|
+
</array>
|
1234
|
+
</dict>
|
1235
|
+
</dict>
|
1236
|
+
</plist>
|