job-bob 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/Guardfile +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/bob.gemspec +30 -0
- data/fixtures/vcr_cassettes/404.yml +163 -0
- data/fixtures/vcr_cassettes/github_job.yml +50 -0
- data/fixtures/vcr_cassettes/stackoverflow_job.yml +410 -0
- data/lib/bob/fetchers/github.rb +28 -0
- data/lib/bob/fetchers/stackoverflow.rb +40 -0
- data/lib/bob/fetchers.rb +2 -0
- data/lib/bob/job.rb +16 -0
- data/lib/bob/version.rb +3 -0
- data/lib/bob.rb +35 -0
- data/spec/bob/fetchers/github_spec.rb +21 -0
- data/spec/bob/fetchers/stackoverflow_spec.rb +20 -0
- data/spec/bob/job_spec.rb +25 -0
- data/spec/bob_spec.rb +53 -0
- data/spec/spec_helper.rb +15 -0
- metadata +185 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 85e94b14729c7cddd72b8daad00cc4a3f2da296e
|
4
|
+
data.tar.gz: 735801150bb29e8545fbe71a471354ef0b4b4438
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 061e9fee719b570d3562de3938eb87a746c99752833335c9728975f12dc264a9e0cc5f3d0b372fae3757de0a84f8c94fb73ca6c0065b7769282977768c9306c8
|
7
|
+
data.tar.gz: 5f76d0962d9245bdb337025048df6a2c1fa4a715a6bfb7ba803ca313e411d6b5bf86a04504a2be45ac12aacb149c9bfc4ea48e30d94a8c7c4dc553caee637e2f
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0
|
data/Gemfile
ADDED
data/Guardfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Giorgos Avramidis
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Bob
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'job-bob, require: 'bob'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install bob
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/bob.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'bob/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "job-bob"
|
8
|
+
spec.version = Bob::VERSION
|
9
|
+
spec.authors = ["Giorgos Avramidis", "Dario Hamidi"]
|
10
|
+
spec.email = ["avramidg@gmail.com", "dario.hamidi@gmail.com"]
|
11
|
+
spec.description = %q{Bob, the Job Fetcher}
|
12
|
+
spec.summary = %q{Fetch Job Posting Information}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "oj"
|
22
|
+
spec.add_dependency "nokogiri"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
25
|
+
spec.add_development_dependency "rake"
|
26
|
+
spec.add_development_dependency "vcr"
|
27
|
+
spec.add_development_dependency "webmock"
|
28
|
+
spec.add_development_dependency "guard"
|
29
|
+
spec.add_development_dependency "guard-rspec"
|
30
|
+
end
|
@@ -0,0 +1,163 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://jobs.github.com/lalalala.json
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 404
|
19
|
+
message: Not Found
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- GitHub.com
|
23
|
+
Date:
|
24
|
+
- Sun, 20 Oct 2013 12:26:19 GMT
|
25
|
+
Content-Type:
|
26
|
+
- text/html;charset=utf-8
|
27
|
+
Transfer-Encoding:
|
28
|
+
- chunked
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Status:
|
32
|
+
- 404 Not Found
|
33
|
+
Strict-Transport-Security:
|
34
|
+
- max-age=31536000
|
35
|
+
X-Frame-Options:
|
36
|
+
- sameorigin
|
37
|
+
X-Xss-Protection:
|
38
|
+
- 1; mode=block
|
39
|
+
X-Cascade:
|
40
|
+
- pass
|
41
|
+
Set-Cookie:
|
42
|
+
- rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiJFMjZkZWVjZDY2MDQ5YWNkZTE4NTM2%0AYjdjMGNmM2YwZGYwMGEzMDJkOWQ5MmNhNWRmZGI3OWQwZWQ4YTkyN2Y5OEki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItYjIxN2U5%0AOGMzYmY3MGYzY2Y0NjMzYTU0NDdkNjU4N2VlYTk3NGJhMUkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZGRkMDk4OTE3NGYxOWE1YjE4NzkxMjEzY2M0%0AMGM1YTYwOWQyNTQ2Y0kiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItZGEz%0AOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOQ%3D%3D%0A--90c871320df2ca8b83769d294c79366f6de7ca48;
|
43
|
+
path=/; HttpOnly; secure
|
44
|
+
body:
|
45
|
+
encoding: UTF-8
|
46
|
+
string: |
|
47
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
48
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
49
|
+
|
50
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
51
|
+
<head>
|
52
|
+
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
53
|
+
<title>GitHub Jobs</title>
|
54
|
+
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
|
55
|
+
<link rel="stylesheet" href="/css/main.css" type="text/css" />
|
56
|
+
<script src="/js/main.js"></script>
|
57
|
+
<script type="text/javascript">
|
58
|
+
var _gaq = _gaq || [];
|
59
|
+
_gaq.push(['_setAccount', 'UA-3769691-9']);
|
60
|
+
_gaq.push(['_trackPageview']);
|
61
|
+
|
62
|
+
(function() {
|
63
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
64
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
65
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
66
|
+
})();
|
67
|
+
</script>
|
68
|
+
</head>
|
69
|
+
<body class="">
|
70
|
+
<div class="non-footer">
|
71
|
+
<div id="header">
|
72
|
+
<div id="wrap">
|
73
|
+
<h2 id="logo"><a href="http://jobs.github.com">GitHub Jobs</a></h2>
|
74
|
+
<ul id="gnav">
|
75
|
+
<li><a href="http://jobs.github.com/positions">All jobs</a></li>
|
76
|
+
<li><a href="https://jobs.github.com/post">Post a job</a></li>
|
77
|
+
<li><a href="http://jobs.github.com/faq">How it works</a></li>
|
78
|
+
</ul>
|
79
|
+
</div>
|
80
|
+
</div><!-- /#header -->
|
81
|
+
<div id="wrap">
|
82
|
+
<div id="search" class="clearfix">
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
</div><!-- /#search -->
|
87
|
+
<div id="page">
|
88
|
+
<div class="inner">
|
89
|
+
<div class="errorimage">
|
90
|
+
<img src="/images/modules/errors/404.png" />
|
91
|
+
<div class="message">
|
92
|
+
<h1>Octocat can’t find the page you’re looking for.</h1>
|
93
|
+
<p>Look, you made him cry, don’t you feel bad?</p>
|
94
|
+
</div>
|
95
|
+
<p class="next">I guess you better <a href="/positions">look at some listings</a> or see <a href="/faq">how it works</a>.</p>
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
</div><!-- /#page -->
|
99
|
+
</div><!-- /#wrap -->
|
100
|
+
</div><!-- /.non-footer -->
|
101
|
+
<div id="footer">
|
102
|
+
<div class="inner">
|
103
|
+
<ul class="github-nav">
|
104
|
+
<li><a href="https://github.com/blog" class="blog">The GitHub Blog</a></li>
|
105
|
+
<li><a href="https://github.com/contact">Contact</a></li>
|
106
|
+
<li><a href="/api">API</a></li>
|
107
|
+
</ul>
|
108
|
+
<p class="copyline">© 2013 GitHub Inc. All rights reserved.</p>
|
109
|
+
<a href="https://github.com"><img src="/images/layout/invertocat.png" width="24" height="24" class="invertocat" /></a>
|
110
|
+
<!-- Environment: production -->
|
111
|
+
</div>
|
112
|
+
</div><!-- /#footer -->
|
113
|
+
<!--[if IE 8]>
|
114
|
+
<script type="text/javascript" charset="utf-8">
|
115
|
+
$(document.body).addClass("ie8")
|
116
|
+
</script>
|
117
|
+
<![endif]-->
|
118
|
+
|
119
|
+
<!--[if IE 6]>
|
120
|
+
<style type="text/css" media="screen">
|
121
|
+
.non-footer, #footer{
|
122
|
+
display:none
|
123
|
+
}
|
124
|
+
.ie6-notice{
|
125
|
+
padding:50px;
|
126
|
+
font-size:24px;
|
127
|
+
font-weight:bold;
|
128
|
+
text-align:center;
|
129
|
+
color:#000;
|
130
|
+
}
|
131
|
+
</style>
|
132
|
+
<div class="ie6-notice">
|
133
|
+
<p>We're sorry, but we do not support Internet Explorer 6.</p>
|
134
|
+
<p>Please upgrade to <a href="http://www.google.com/chrome">Chrome</a>, <a href="http://getfirefox.com">Firefox</a> or <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Internet Explorer 8</a>
|
135
|
+
</div>
|
136
|
+
|
137
|
+
<script type="text/javascript"src="//ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
|
138
|
+
<script>
|
139
|
+
CFInstall.check({
|
140
|
+
mode: "overlay"
|
141
|
+
});
|
142
|
+
</script>
|
143
|
+
<![endif]-->
|
144
|
+
|
145
|
+
<script type="text/javascript">
|
146
|
+
var _gauges = _gauges || [];
|
147
|
+
(function() {
|
148
|
+
var t = document.createElement('script');
|
149
|
+
t.type = 'text/javascript';
|
150
|
+
t.async = true;
|
151
|
+
t.id = 'gauges-tracker';
|
152
|
+
t.setAttribute('data-site-id', '4e791756613f5d4d93000001');
|
153
|
+
t.src = '//secure.gaug.es/track.js';
|
154
|
+
var s = document.getElementsByTagName('script')[0];
|
155
|
+
s.parentNode.insertBefore(t, s);
|
156
|
+
})();
|
157
|
+
</script>
|
158
|
+
|
159
|
+
</body>
|
160
|
+
</html>
|
161
|
+
http_version:
|
162
|
+
recorded_at: Sun, 20 Oct 2013 12:26:20 GMT
|
163
|
+
recorded_with: VCR 2.6.0
|
@@ -0,0 +1,50 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://jobs.github.com/positions/19341a08-377e-11e3-862f-7f91026928c0.json
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- GitHub.com
|
23
|
+
Date:
|
24
|
+
- Fri, 18 Oct 2013 15:12:26 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json;charset=utf-8
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
Status:
|
30
|
+
- 200 OK
|
31
|
+
Strict-Transport-Security:
|
32
|
+
- max-age=31536000
|
33
|
+
X-Frame-Options:
|
34
|
+
- sameorigin
|
35
|
+
X-Xss-Protection:
|
36
|
+
- 1; mode=block
|
37
|
+
Content-Length:
|
38
|
+
- '4032'
|
39
|
+
Set-Cookie:
|
40
|
+
- rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiJFMGQ5NzYzNjBjYzQwZTNlYjQwNTE4%0AZmZlOWFjMzk1ZWY0MjU1MDA0Y2U3NDc4MDZjYzFhODMwNjA1ZTI3MTE3NEki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItYjIxN2U5%0AOGMzYmY3MGYzY2Y0NjMzYTU0NDdkNjU4N2VlYTk3NGJhMUkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZGRkMDk4OTE3NGYxOWE1YjE4NzkxMjEzY2M0%0AMGM1YTYwOWQyNTQ2Y0kiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItZGEz%0AOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOQ%3D%3D%0A--6585743b174d534e6cbf2a0972c06a8f61db68d0;
|
41
|
+
path=/; HttpOnly; secure
|
42
|
+
Vary:
|
43
|
+
- Accept-Encoding
|
44
|
+
body:
|
45
|
+
encoding: UTF-8
|
46
|
+
string: |
|
47
|
+
{"id":"19341a08-377e-11e3-862f-7f91026928c0","created_at":"Thu Oct 17 22:48:01 UTC 2013","title":"Sr. Mobile Application Developer, Android at ModCloth","location":"San Francisco","type":"Full Time","description":"<p>ModCloth currently has an exciting opportunity for a highly skilled Android developer. You will join our San Francisco-based engineering team, building our v1.0 Android application for phone and tablet. Our iOS app is highly rated and designated an Editor\u2019s Choice app - so expectations are high!</p>\n\n<p>We are excited by the possibilities of the Android platform and the distribution options of the Play store; this is not just a port of our existing iOS app. We are looking to leverage the unique aspects of the platform and deliver a first class experience to our large (and growing) Android customer base.</p>\n\n<h3>Responsibilities:</h3>\n\n<p>Define, develop, and deliver features from product roadmap (v1.0 + ongoing)\nChampion best practices for Android development and testing\nCreate elegant and maintainable code\nRaise the team's skill level through pairing, design/code reviews, and mentoring\nResearch and prototype solutions to difficult problems, remove team roadblocks\nEnsure that finished products fully meet the UX designer\u2019s intention\nEvangelize the best new software libraries, techniques and practices\nDesign full-stack \u201cvertical slices of functionality\u201d</p>\n\n<h3>Requirements:</h3>\n\n<p>2+ years Android development experience, with knowlegde and experience in developing for multiple android operating systems and platforms\nSolid server side/API programming experience\nInterest in Android design principles and appreciation of developer guidelines\nAbility to mentor junior members of the team\nFull understanding of Agile Development and its best practices\nGreat communication and problem solving skills\nDesire to work with and help build a diverse team with a wide variety of backgrounds and interests</p>\n\n<h3>Nice to Have experience:</h3>\n\n<p>Ruby on Rails\nRobotium\nRobolectric\nExperience shipping apps via the Play store\nWell considered opinion on ADT vs. Android Studio\nE-commerce\nInterest in open-source projects</p>\n\n<h3>The Benefits You\u2019ll Get:</h3>\n\n<p>As part of the ModCloth community, you\u2019ll be entitled to a great list of benefits including (but not limited to!) medical, dental, vision, 401k, life insurance, emergency travel assistance, flex time, and continuing education stipends. Oh, and let\u2019s not forget the snack wall and the staggering employee discount!</p>\n\n<h3>About ModCloth:</h3>\n\n<p>If you\u2019ve made it this far, you probably want some more background on ModCloth. Not a prob! ModCloth is an innovative, rapidly growing e-retailer that sells affordable independent designer fashion and decor. Through groundbreaking technology, social media, and customer involvement, we\u2019re creating a brand that\u2019s disrupting the world of social commerce. You\u2019ve already seen how this is happening with our consumer-empowering Be the Buyer program and customer-designed Make the Cut initiative, and that\u2019s just the beginning of what\u2019s up our sleeve. By combining this eye for innovation with a fun-loving group of employees whose culture centers on passion, entrepreneurship, and fun ModCloth is furthering its current success!</p>\n\n<p>Itching for more info about life at ModCloth? Then, take a look-see at our ModCloth Careers Twitter (<a href=\"http://bit.ly/dNSfyh\">http://bit.ly/dNSfyh</a>) and Facebook (<a href=\"http://on.fb.me/eImYYU\">http://on.fb.me/eImYYU</a>) pages!</p>\n","how_to_apply":"<p>Apply here: <a href=\"https://hire.jobvite.com/j?cj=oooSXfwl&s=GitHub\">https://hire.jobvite.com/j?cj=oooSXfwl&s=GitHub</a></p>\n","company":"ModCloth","company_url":"http://www.modcloth.com","company_logo":"http://github-jobs.s3.amazonaws.com/f5100178-377d-11e3-8618-7ebb0e979680.png","url":"http://jobs.github.com/positions/19341a08-377e-11e3-862f-7f91026928c0"}
|
48
|
+
http_version:
|
49
|
+
recorded_at: Fri, 18 Oct 2013 15:12:26 GMT
|
50
|
+
recorded_with: VCR 2.6.0
|
@@ -0,0 +1,410 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://careers.stackoverflow.com/company/stadtwerke-m%C3%BCnchen
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Cache-Control:
|
22
|
+
- private
|
23
|
+
Content-Type:
|
24
|
+
- text/html; charset=utf-8
|
25
|
+
Vary:
|
26
|
+
- Accept-Encoding
|
27
|
+
Access-Control-Allow-Origin:
|
28
|
+
- '*'
|
29
|
+
Access-Control-Allow-Methods:
|
30
|
+
- POST, GET, OPTIONS
|
31
|
+
Access-Control-Allow-Headers:
|
32
|
+
- x-requested-with
|
33
|
+
Access-Control-Max-Age:
|
34
|
+
- '60'
|
35
|
+
Date:
|
36
|
+
- Sat, 19 Oct 2013 18:58:16 GMT
|
37
|
+
Content-Length:
|
38
|
+
- '5208'
|
39
|
+
body:
|
40
|
+
encoding: ASCII-8BIT
|
41
|
+
string: !binary |-
|
42
|
+
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEg
|
43
|
+
VHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0
|
44
|
+
L2xvb3NlLmR0ZCI+DQoNCjwhLS1baWYgbHQgSUUgN10+ICAgICAgPGh0bWwg
|
45
|
+
Y2xhc3M9Im5vLWpzIGx0LWllOSBsdC1pZTggbHQtaWU3Ij4gPCFbZW5kaWZd
|
46
|
+
LS0+DQoNCjwhLS1baWYgSUUgN10+ICAgICAgICAgPGh0bWwgY2xhc3M9Im5v
|
47
|
+
LWpzIGx0LWllOSBsdC1pZTgiPiA8IVtlbmRpZl0tLT4NCjwhLS1baWYgSUUg
|
48
|
+
OF0+ICAgICAgICAgPGh0bWwgY2xhc3M9Im5vLWpzIGx0LWllOSI+IDwhW2Vu
|
49
|
+
ZGlmXS0tPg0KPCEtLVtpZiBndCBJRSA4XT48IS0tPg0KPGh0bWwgY2xhc3M9
|
50
|
+
Im5vLWpzIj4NCjwhLS08IVtlbmRpZl0tLT4NCg0KICAgICAgICA8aGVhZD4N
|
51
|
+
CiAgICAgICAgICAgIDx0aXRsZT5Db21wYW55IFBhZ2U6IFN0YWR0d2Vya2Ug
|
52
|
+
TSYjMjUyO25jaGVuIEdtYkggLSBTdGFjayBPdmVyZmxvdyBDYXJlZXJzIDIu
|
53
|
+
MCA8L3RpdGxlPg0KICAgICAgICAgICAgPGxpbmsgaHJlZj0iLy9jZG4tY2Fy
|
54
|
+
ZWVycy5zc3RhdGljLm5ldC9jYXJlZXJzL2Nzby9hbGwubWluLmNzcz92PWM3
|
55
|
+
OGVlOGU3ZDgwNiIgcmVsPSJzdHlsZXNoZWV0IiAvPg0KICAgICAgICAgICAg
|
56
|
+
DQogICAgPGxpbmsgaHJlZj0iLy9jZG4tY2FyZWVycy5zc3RhdGljLm5ldC9j
|
57
|
+
YXJlZXJzL2Nzby9jb21wYW55LXBhZ2VzLm1pbi5jc3M/dj1iMmQ2OGIyZjdj
|
58
|
+
M2IiIHJlbD0ic3R5bGVzaGVldCIgLz4NCg0KPCEtLVtpZiBsdCBJRSA4XT4N
|
59
|
+
CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQppbnB1dFt0eXBlPXN1Ym1pdF0s
|
60
|
+
IGJ1dHRvbg0Kew0KICAgIHdpZHRoOmF1dG8gIWltcG9ydGFudDsNCiAgICBt
|
61
|
+
aW4td2lkdGg6MDsNCn0NCjwvc3R5bGU+DQo8IVtlbmRpZl0tLT4NCiAgICAg
|
62
|
+
ICAgICAgIA0KICAgIA0KPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250
|
63
|
+
ZW50PSJzdW1tYXJ5X2xhcmdlX2ltYWdlIj4NCjxtZXRhIG5hbWU9InR3aXR0
|
64
|
+
ZXI6c2l0ZSIgY29udGVudD0iQFN0YWNrQ2FyZWVycyI+DQo8bWV0YSBuYW1l
|
65
|
+
PSJ0d2l0dGVyOmRvbWFpbiIgY29udGVudD0iU3RhY2sgT3ZlcmZsb3cgQ2Fy
|
66
|
+
ZWVycyI+DQo8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJT
|
67
|
+
dGFkdHdlcmtlIE0mIzI1MjtuY2hlbiBHbWJIIj4NCjxtZXRhIG5hbWU9InR3
|
68
|
+
aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkRpZSBTdGFkdHdlcmtlIE0m
|
69
|
+
YW1wO2FtcDt1dW1sO25jaGVuIChTV00pIHomYW1wO2FtcDthdW1sO2hsZW4g
|
70
|
+
enUgZGVuIGdyJmFtcDthbXA7b3VtbDsmYW1wO2FtcDtzemxpZzt0ZW4gRW5l
|
71
|
+
cmdpZS0gdW5kIEluZnJhc3RydWt0dXJ1bnRlcm5laG1lbiBEZXV0c2NobGFu
|
72
|
+
ZHMuICZhbXA7YW1wO1V1bWw7YmVyIGVpbmUgTWlsbGlvbiBQcml2YXRoYXVz
|
73
|
+
aGFsdGUsIEdld2VyYmUtIHVuZCBHZXNjaCZhbXA7YW1wO2F1bWw7ZnRza3Vu
|
74
|
+
ZGVu4oCmIj4NCjxtZXRhIG5hbWU9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9
|
75
|
+
Imh0dHA6Ly9pLnN0YWNrLmltZ3VyLmNvbS9naHVoYmwuanBnIj4NCg0KDQoN
|
76
|
+
CiAgICAgICAgICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxh
|
77
|
+
bmc9ImVuLVVTIiBocmVmPSIvY29tcGFueS9zdGFkdHdlcmtlLW0lQzMlQkNu
|
78
|
+
Y2hlbiIgLz4NCiAgICAgICAgICAgICAgICA8bGluayByZWw9ImFsdGVybmF0
|
79
|
+
ZSIgaHJlZmxhbmc9ImRlLURFIiBocmVmPSIvZGUvY29tcGFueS9zdGFkdHdl
|
80
|
+
cmtlLW0lQzMlQkNuY2hlbiIgLz4NCiAgICAgICAgICAgICAgICA8bGluayBy
|
81
|
+
ZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImVuLUdCIiBocmVmPSIvdWsvY29t
|
82
|
+
cGFueS9zdGFkdHdlcmtlLW0lQzMlQkNuY2hlbiIgLz4NCiAgICAgICAgICAg
|
83
|
+
ICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImZyLUZSIiBo
|
84
|
+
cmVmPSIvZnIvY29tcGFueS9zdGFkdHdlcmtlLW0lQzMlQkNuY2hlbiIgLz4N
|
85
|
+
CiAgICAgICAgICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRw
|
86
|
+
Oi8vY2FyZWVycy5zdGFja292ZXJmbG93LmNvbS9jb21wYW55L3N0YWR0d2Vy
|
87
|
+
a2UtbSYjMjUyO25jaGVuIiAvPg0KICAgICAgICAgICAgICAgIDxsaW5rIHJl
|
88
|
+
bD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLy9jZG4tY2FyZWVycy5zc3RhdGlj
|
89
|
+
Lm5ldC9jYXJlZXJzL0ltZy9mYXZpY29uLmljbz92PTBhMDI0NmM3YTA1OSIg
|
90
|
+
Lz4NCg0KDQogICAgICAgIDwvaGVhZD4NCiAgICA8Ym9keT4NCiAgICAgICAg
|
91
|
+
PG5vc2NyaXB0Pg0KICAgICAgICAgICAgPGRpdiBpZD0ibm9zY3JpcHQtcGFk
|
92
|
+
ZGluZyI+PC9kaXY+DQogICAgICAgIDwvbm9zY3JpcHQ+DQoNCiAgICAgICAg
|
93
|
+
DQogICAgICAgICAgICA8ZGl2IGlkPSJnbG9iYWwiPg0KICAgICAgICAgICAg
|
94
|
+
ICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCg0KDQo8dWwgaWQ9Im5h
|
95
|
+
di1nbG9iYWwiIGNsYXNzPSJuYXYiPg0KICAgICAgICA8bGkgY2xhc3M9Imxv
|
96
|
+
Z2luIj4NCjxhIGhyZWY9Imh0dHA6Ly9jYXJlZXJzLnN0YWNrb3ZlcmZsb3cu
|
97
|
+
Y29tL3VzZXJzL2xvZ2luP3JldHVyblVybD0lMmZjb21wYW55JTJmc3RhZHR3
|
98
|
+
ZXJrZS1tJTI1QzMlMjVCQ25jaGVuIj5sb2cgaW48L2E+ICAgICAgICA8L2xp
|
99
|
+
Pg0KPC91bD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAg
|
100
|
+
IDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iaGVhZGVyIj4NCiAgICAg
|
101
|
+
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAg
|
102
|
+
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJicmFuZGluZyI+DQoNCiAgICAgICAg
|
103
|
+
ICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvIiBjbGFzcz0idHdvLW9o
|
104
|
+
Ij48aW1nIGFsdD0iQ2FyZWVycyAyLjAiIHNyYz0iLy9jZG4tY2FyZWVycy5z
|
105
|
+
c3RhdGljLm5ldC9jYXJlZXJzL0ltZy9sb2dvLW5ldy5wbmc/dj02ZTM0NjQ1
|
106
|
+
MWNjNTAiPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAg
|
107
|
+
ICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IGNhcmVlcnMiPg0KDQog
|
108
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz0i
|
109
|
+
IiBocmVmPSIvIj5ob21lPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAg
|
110
|
+
ICAgICAgICAgICAgIDxsaT48YSBjbGFzcz0iIiBocmVmPSIvam9icyI+c2Vh
|
111
|
+
cmNoIGpvYnM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
|
112
|
+
ICAgICAgPGxpPjxhIGNsYXNzPSJzZWxlY3RlZCIgaHJlZj0iL2pvYnMvY29t
|
113
|
+
cGFuaWVzIj5jb21wYW5pZXM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAg
|
114
|
+
ICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz0iIiBocmVmPSIvY3Yi
|
115
|
+
Pm15IHByb2ZpbGU8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAg
|
116
|
+
ICAgICAgICAgICAgIDxsaSBjbGFzcz0icm9sZS1zd2l0Y2giPjxhIGhyZWY9
|
117
|
+
Ii9wcm9kdWN0cyIgdGl0bGU9InBvc3Qgam9iIGxpc3RpbmdzLCBzZWFyY2gg
|
118
|
+
Y2FuZGlkYXRlcywgYW5kIG1vcmUiPmZvciBlbXBsb3llcnMgJiMxODc7PC9h
|
119
|
+
PjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQoNCiAgICAgICAg
|
120
|
+
ICAgICAgICA8YnIgY2xhc3M9ImNsZWFyIiAvPg0KICAgICAgICAgICAgICAg
|
121
|
+
IDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAg
|
122
|
+
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2
|
123
|
+
IGlkPSJjb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgDQoNCg0KDQoN
|
124
|
+
CjxkaXYgaWQ9ImNvbXBhbnktcHJvZmlsZSIgY2xhc3M9InZpZXciPg0KICAg
|
125
|
+
ICAgICA8ZGl2IGRhdGEtY29tcGFueS1zZWN0aW9uPSJ0b3AtaW1hZ2UiPg0K
|
126
|
+
ICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2kuc3RhY2suaW1ndXIuY29tL2do
|
127
|
+
dWhiLmpwZyIgYWx0PSIiLz4NCiAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2
|
128
|
+
IGRhdGEtY29tcGFueS1zZWN0aW9uPSJjb21wYW55LWluZm8iPg0KICAgICAg
|
129
|
+
ICA8ZGl2IGNsYXNzPSJsb2dvLWNvbnRhaW5lciI+DQogICAgICAgICAgICA8
|
130
|
+
dGFibGU+PHRyPjx0ZD48aW1nIHNyYz0iaHR0cDovL2kuc3RhY2suaW1ndXIu
|
131
|
+
Y29tL0tBS1E4LnBuZyIgYWx0PSIiIC8+PC90ZD48L3RyPjwvdGFibGU+DQog
|
132
|
+
ICAgICAgIDwvZGl2Pg0KICAgICAgICA8aDE+U3RhZHR3ZXJrZSBNJiMyNTI7
|
133
|
+
bmNoZW4gR21iSDwvaDE+DQogICAgICAgIDxkaXYgY2xhc3M9InJpZ2h0Ij4N
|
134
|
+
CiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iYmFzaWNzIj4NCiAgICAgICAg
|
135
|
+
ICAgICAgICAgICAgPHRyPjx0ZD5zaXplOjwvdGQ+PHRkPjUuMDAxLTEwLjAw
|
136
|
+
MDwvdGQ+PC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
137
|
+
ICAgIDx0cj48dGQ+c3RhdHVzOjwvdGQ+PHRkPiYjMjE0O2ZmZW50bGljaDwv
|
138
|
+
dGQ+PC90cj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
139
|
+
IDx0cj48dGQ+Zm91bmRlZDo8L3RkPjx0ZD4xOTk4PC90ZD48L3RyPg0KICAg
|
140
|
+
ICAgICAgICAgPC90YWJsZT4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxp
|
141
|
+
bmtzIGNsZWFyIj4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0
|
142
|
+
cDovL3d3dy5zd20uZGUiPmh0dHA6Ly93d3cuc3dtLmRlPC9hPg0KICAgICAg
|
143
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6
|
144
|
+
Ly93d3cuZmFjZWJvb2suY29tL1N0YWR0d2Vya2VNdWVuY2hlbj9mcmVmPXRz
|
145
|
+
IiBjbGFzcz0iZmFjZWJvb2siPjwvYT4NCiAgICAgICAgICAgICAgICAgICAg
|
146
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2
|
147
|
+
Pg0KICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgZGF0YS1jb21wYW55LXNl
|
148
|
+
Y3Rpb249ImNvbXBhbnktc3RhdGVtZW50Ij4NCiAgICAgICAgPGgyPiYjMjIw
|
149
|
+
O2JlciB1bnM8L2gyPg0KICAgICAgICA8ZGl2PjxwPkRpZSBTdGFkdHdlcmtl
|
150
|
+
IE0mdXVtbDtuY2hlbiAoU1dNKSB6JmF1bWw7aGxlbiB6dSBkZW4gZ3Imb3Vt
|
151
|
+
bDsmc3psaWc7dGVuIEVuZXJnaWUtIHVuZCBJbmZyYXN0cnVrdHVydW50ZXJu
|
152
|
+
ZWhtZW4gRGV1dHNjaGxhbmRzLiAmVXVtbDtiZXIgZWluZSBNaWxsaW9uIFBy
|
153
|
+
aXZhdGhhdXNoYWx0ZSwgR2V3ZXJiZS0gdW5kIEdlc2NoJmF1bWw7ZnRza3Vu
|
154
|
+
ZGVuIHByb2ZpdGllcmVuIHQmYXVtbDtnbGljaCB2b24gZGVuIFNXTSBEaWVu
|
155
|
+
c3RsZWlzdHVuZ2VuIHVuZCBBbmdlYm90ZW4uIFNlaXQgSmFocnplaG50ZW4g
|
156
|
+
c3RlaGVuIGRpZSBTV00gZiZ1dW1sO3IgZWluZSBzaWNoZXJlIHVuZCByZXNz
|
157
|
+
b3VyY2Vuc2Nob25lbmRlIFZlcnNvcmd1bmcgZGVyIGJheWVyaXNjaGVuIE1l
|
158
|
+
dHJvcG9sZSBtaXQgRW5lcmdpZSAoU3Ryb20sIEVyZGdhcywgRmVybncmYXVt
|
159
|
+
bDtybWUpLjwvcD4KPHA+Vm9yYmlsZGNoYXJha3RlciBmJnV1bWw7ciBhbmRl
|
160
|
+
cmUgS29tbXVuZW4gaGFiZW4gdS5hLiBkaWUgU1dNIEF1c2JhdW9mZmVuc2l2
|
161
|
+
ZSBFcm5ldWVyYmFyZSBFbmVyZ2llbiB1bmQgZGllIE9mZmVuc2l2ZSBmJnV1
|
162
|
+
bWw7ciBkaWUgdW13ZWx0ZnJldW5kbGljaGUgRmVybncmYXVtbDtybWUuIERh
|
163
|
+
ciZ1dW1sO2JlciBoaW5hdXMgdmVyc29yZ2VuIGRpZSBTV00gZGllIE1pbGxp
|
164
|
+
b25lbnN0YWR0IG1pdCBxdWVsbGZyaXNjaGVtIFRyaW5rd2Fzc2VyIGF1cyBk
|
165
|
+
ZW0gYmF5ZXJpc2NoZW4gVm9yYWxwZW5sYW5kICZuZGFzaDsgZWluZXMgZGVy
|
166
|
+
IGJlc3RlbiBFdXJvcGFzICZuZGFzaDsgdW5kIGJldHJlaWJlbiBtaXQgMTgg
|
167
|
+
SGFsbGVuLSB1bmQgRnJlaWImYXVtbDtkZXJuIGVpbmUgZGVyIG1vZGVybnN0
|
168
|
+
ZW4gQiZhdW1sO2RlcmxhbmRzY2hhZnRlbiBpbiBEZXV0c2NobGFuZC4gRGll
|
169
|
+
IFZlcmtlaHJzdG9jaHRlciBNVkcgaXN0IHZlcmFudHdvcnRsaWNoIGYmdXVt
|
170
|
+
bDtyIFUtQmFobiwgQnVzIHVuZCBUcmFtIHVuZCBkYW1pdCBlaW4gd2VzZW50
|
171
|
+
bGljaGVyIFBmZWlsZXIgaW0gTSZ1dW1sO25jaG5lciAmT3VtbDtQTlYuPC9w
|
172
|
+
Pgo8cD5EZXIgU1dNIEtvbnplcm4gYmVzY2gmYXVtbDtmdGlndCBydW5kIDgu
|
173
|
+
MTAwIE1pdGFyYmVpdGVyaW5uZW4gdW5kIE1pdGFyYmVpdGVyLiBJbSBHZXNj
|
174
|
+
aCZhdW1sO2Z0c2phaHIgMjAxMiBsYWcgZGVyIEtvbnplcm51bXNhdHogYmVp
|
175
|
+
IHJ1bmQgNCw1IE1pbGxpYXJkZW4gRXVyby48L3A+PC9kaXY+DQogICAgPC9k
|
176
|
+
aXY+DQoNCiAgICAgICAgPGRpdiBkYXRhLWNvbXBhbnktc2VjdGlvbj0iY29t
|
177
|
+
cGFueS1zdGF0ZW1lbnQiPg0KICAgICAgICA8aDI+U1dNIEthcnJpZXJlPC9o
|
178
|
+
Mj4NCiAgICAgICAgPGRpdj48cD5BbHMgd2lydHNjaGFmdHNzdGFya2VyIHVu
|
179
|
+
ZCBlbmdhZ2llcnRlciBBcmJlaXRnZWJlciBmJnV1bWw7aGxlbiB3aXIgdW5z
|
180
|
+
IHVuc2VyZW0gd2ljaHRpZ3N0ZW4gRXJmb2xnc2Zha3RvciB2ZXJwZmxpY2h0
|
181
|
+
ZXQgJm5kYXNoOyB1bnNlcmVuIE1pdGFyYmVpdGVyaW5uZW4gdW5kIE1pdGFy
|
182
|
+
YmVpdGVybi4gQmVpIGRlbiBTV00gZ2lidCBlcyB2aWVsZiZhdW1sO2x0aWdl
|
183
|
+
IFQmYXVtbDt0aWdrZWl0c2ZlbGRlciB2b2xsZXIgc3Bhbm5lbmRlciBBdWZn
|
184
|
+
YWJlbiB1bmQgUHJvamVrdGUuPC9wPgo8cD5HZXN1Y2h0ZSBGYWNocmljaHR1
|
185
|
+
bmdlbjo8YnIgLz5CYXVpbmdlbmlldXJ3ZXNlbjxiciAvPkVsZWt0cm90ZWNo
|
186
|
+
bmlrPGJyIC8+RW5lcmdpZXRlY2huaWsgKC13aXJ0c2NoYWZ0KTxiciAvPklu
|
187
|
+
Zm9ybWF0aWs8YnIgLz5JbmZvcm1hdGlvbnN0ZWNobmlrPGJyIC8+TWFzY2hp
|
188
|
+
bmVuYmF1PGJyIC8+TWVjaGF0cm9uaWs8YnIgLz5XaXJ0c2NoYWZ0c2luZm9y
|
189
|
+
bWF0aWs8YnIgLz5XaXJ0c2NoYWZ0c2luZ2VuaWV1cndlc2VuPGJyIC8+V2ly
|
190
|
+
dHNjaGFmdHN3aXNzZW5zY2hhZnRlbjxiciAvPlZlcmZhaHJlbnN0ZWNobmlr
|
191
|
+
PC9wPgo8cD5Ba3R1ZWxsZSBTdGVsbGVuYW56ZWlnZW46PGJyIC8+aHR0cDov
|
192
|
+
L3d3dy5zd20uZGUva2FycmllcmU8L3A+PC9kaXY+DQogICAgPC9kaXY+DQoN
|
193
|
+
CiAgICANCiAgICANCg0KDQogICAgDQoNCg0KICAgIA0KDQogICAgPGRpdiBk
|
194
|
+
YXRhLWNvbXBhbnktc2VjdGlvbj0iZ2FsbGVyeSIgbmctY29udHJvbGxlcj0i
|
195
|
+
R2FsbGVyeUNvbnRyb2xsZXIiPg0KICAgICAgICA8YSBuYW1lPSJnYWxsZXJ5
|
196
|
+
Ij48L2E+DQogICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2ZS1pdGVtIiBuZy1z
|
197
|
+
d2l0Y2ggb249ImFjdGl2ZUl0ZW0uVHlwZSI+DQogICAgICAgICAgICA8aW1n
|
198
|
+
IG5nLXN3aXRjaC13aGVuPSJpbWFnZSIgbmctc3JjPSJ7eyBhY3RpdmVJdGVt
|
199
|
+
LlVybCB9fSIgLz4NCiAgICAgICAgICAgIDxpZnJhbWUgbmctc3dpdGNoLXdo
|
200
|
+
ZW49InlvdXR1YmUiIHdpZHRoPSI5NzUiIGhlaWdodD0iNTUwIiBuZy1zcmM9
|
201
|
+
Int7IGFjdGl2ZUl0ZW0uVXJsIH19IiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dm
|
202
|
+
dWxsc2NyZWVuPjwvaWZyYW1lPg0KICAgICAgICAgICAgPGlmcmFtZSBuZy1z
|
203
|
+
d2l0Y2gtd2hlbj0idmltZW8iIHdpZHRoPSI5NzUiIGhlaWdodD0iNTUwIiBu
|
204
|
+
Zy1zcmM9Int7IGFjdGl2ZUl0ZW0uVXJsIH19IiBmcmFtZWJvcmRlcj0iMCIg
|
205
|
+
d2Via2l0QWxsb3dGdWxsU2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiBhbGxv
|
206
|
+
d0Z1bGxTY3JlZW4+PC9pZnJhbWU+DQogICAgICAgIDwvZGl2Pg0KICAgICAg
|
207
|
+
ICA8ZGl2IGNsYXNzPSJjYXJvdXNlbCIgbmctc2hvdz0iZGlzcGxheU5hdiI+
|
208
|
+
DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sdGlwIj48L2Rpdj4NCiAg
|
209
|
+
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmV2aW91cyIgbmctY2xpY2s9InBy
|
210
|
+
ZXZpb3VzUGFnZSgpIiBuZy1jbGFzcz0ieyBkaXNhYmxlZDogY3VycmVudFBh
|
211
|
+
Z2UgPT0gMCB9Ij48L3NwYW4+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJp
|
212
|
+
dGVtcy1jb250YWluZXIiIG5nLXJlcGVhdD0iKGlkeCwgcGFnZSkgaW4gcGFn
|
213
|
+
ZWRJdGVtcyIgbmctc2hvdz0iaWR4ID09IGN1cnJlbnRQYWdlIj4NCiAgICAg
|
214
|
+
ICAgICAgICAgICA8ZGl2IG5nLXJlcGVhdD0iZ2FsbGVyeUl0ZW0gaW4gcGFn
|
215
|
+
ZSIgY2xhc3M9Iml0ZW0ge3sgZ2FsbGVyeUl0ZW0uVHlwZSB9fSIgbmctY2xh
|
216
|
+
c3M9InsgYWN0aXZlOiBhY3RpdmVJdGVtID09IGdhbGxlcnlJdGVtIH0iIG5n
|
217
|
+
LWNsaWNrPSJzZXRBY3RpdmUoZ2FsbGVyeUl0ZW0pIj4NCiAgICAgICAgICAg
|
218
|
+
ICAgICAgICAgPGRpdiBjbGFzcz0iaGVscGVyIj48L2Rpdj4NCiAgICAgICAg
|
219
|
+
ICAgICAgICAgICAgPGltZyBhbHQ9IiIgbmctc3JjPSJ7eyBnYWxsZXJ5SXRl
|
220
|
+
bS5UaHVtYm5haWxVcmwgfX0iIC8+DQogICAgICAgICAgICAgICAgPC9kaXY+
|
221
|
+
DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxzcGFuIGNsYXNz
|
222
|
+
PSJuZXh0IiBuZy1jbGljaz0ibmV4dFBhZ2UoKSIgbmctY2xhc3M9InsgZGlz
|
223
|
+
YWJsZWQ6IHBhZ2VkSXRlbXMubGVuZ3RoID09IDAgfHwgY3VycmVudFBhZ2Ug
|
224
|
+
PT0gcGFnZWRJdGVtcy5sZW5ndGggLSAxIH0iPjwvc3Bhbj4NCiAgICAgICAg
|
225
|
+
PC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICANCg0KDQoNCiAgICANCg0KICAg
|
226
|
+
IDxkaXYgZGF0YS1jb21wYW55LXNlY3Rpb249ImxvY2F0aW9ucyI+DQogICAg
|
227
|
+
ICAgIDxhIG5hbWU9ImxvY2F0aW9ucyI+PC9hPg0KICAgICAgICA8aDI+TG9j
|
228
|
+
YXRpb25zPC9oMj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJhZGRyZXNzZXMi
|
229
|
+
Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFkZHJlc3MiIGRhdGEt
|
230
|
+
bWFwLXVybD0iaHR0cDovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkv
|
231
|
+
c3RhdGljbWFwP3NpemU9NTQ5eDM0NiZhbXA7bWFwdHlwZT1yb2FkbWFwJmFt
|
232
|
+
cDtzZW5zb3I9ZmFsc2UmYW1wO2NlbnRlcj1FbW15LU5vZXRoZXItU3RyYSVj
|
233
|
+
MyU5ZmUrMiUyYys4MDk5MitNJWMzJWJjbmNoZW4mYW1wO21hcmtlcnM9Y29s
|
234
|
+
b3I6cmVkJTdDRW1teS1Ob2V0aGVyLVN0cmElYzMlOWZlKzIlMmMrODA5OTIr
|
235
|
+
TSVjMyViY25jaGVuIj5FbW15LU5vZXRoZXItU3RyYSYjMjIzO2UgMiwgODA5
|
236
|
+
OTIgTSYjMjUyO25jaGVuPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAg
|
237
|
+
ICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcCI+DQogICAgICAgICAg
|
238
|
+
ICAgICAgPGltZyBhbHQ9IiIgd2lkdGg9IjU0OSIgaGVpZ2h0PSIzNDYiIHNy
|
239
|
+
Yz0iIiAvPg0KICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICA8YnIg
|
240
|
+
Y2xhc3M9ImNsZWFyIi8+DQogICAgPC9kaXY+DQoNCg0KICAgIDxpbWcgYWx0
|
241
|
+
PSIiIGNsYXNzPSJhbmFseXRpYyIgc3JjPSIvYW5hbHl0aWNzL2NvbXBhbnlw
|
242
|
+
YWdldmlzaXQvMTA0OSI+DQo8L2Rpdj4NCg0KDQogICAgICAgICAgICAgICAg
|
243
|
+
PC9kaXY+DQogICAgICAgICAgICAgICAgPGJyIGNsYXNzPSJjbGVhciIgLz4N
|
244
|
+
CiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBpZD0iZm9vdGVyIj4N
|
245
|
+
CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAg
|
246
|
+
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIj4NCiAgICAgICAgICAgICAg
|
247
|
+
ICAgICAgPGltZyBhbHQ9IkNhcmVlcnMgMi4wIiBzcmM9Ii8vY2RuLWNhcmVl
|
248
|
+
cnMuc3N0YXRpYy5uZXQvY2FyZWVycy9JbWcvbG9nby1ncmF5LnBuZz92PWIx
|
249
|
+
ZWQxZjVhNGY1ZCI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAg
|
250
|
+
ICAgICAgICAgICAgICAgPGRpdiBpZD0iZm9vdGVyLW1lbnUiPg0KICAgICAg
|
251
|
+
ICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2Fib3V0Ij5hYm91dDwvYT4N
|
252
|
+
CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9mYXEiPmZhcTwv
|
253
|
+
YT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9zdXBwb3J0
|
254
|
+
Ij5zdXBwb3J0PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJl
|
255
|
+
Zj0iaHR0cDovL2Jsb2cuY2FyZWVycy5zdGFja292ZXJmbG93LmNvbSI+Ymxv
|
256
|
+
ZzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJo
|
257
|
+
dHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vbGVnYWwiPmxlZ2FsPC9hPg0KICAg
|
258
|
+
ICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9zdGFj
|
259
|
+
a2V4Y2hhbmdlLmNvbS9sZWdhbC9wcml2YWN5LXBvbGljeSI+cHJpdmFjeSBw
|
260
|
+
b2xpY3k8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJl
|
261
|
+
Zj0iaHR0cDovL2VuZ2luZS5hZHplcmsubmV0L3I/ZT1leUpoZGlJNk5ERTBM
|
262
|
+
Q0poZENJNk1qQXNJbU50SWpvNU5UUXNJbU5vSWpveE1UYzRMQ0pqY2lJNk16
|
263
|
+
TTVNU3dpWkcwaU9qUXNJbVpqSWpvek9EQTVMQ0ptYkNJNk1qYzFNU3dpYm5j
|
264
|
+
aU9qSXlMQ0p5ZGlJNk1Dd2ljSElpT2pFeE5Td2ljM1FpT2pBc0luVnlJam9p
|
265
|
+
YUhSMGNEb3ZMM04wWVdOcmIzWmxjbVpzYjNjdVkyOXRMMkZpYjNWMEwyTnZi
|
266
|
+
blJoWTNRaUxDSnlaU0k2TVgwJnM9VVZQdnZTVE95WXEtc0Z6VHhuUWI3X2Rn
|
267
|
+
OTFFIj5hZHZlcnRpc2UgaGVyZTwvYT4NCiAgICAgICAgICAgICAgICAgICAg
|
268
|
+
ICAgIDxzdHJvbmc+PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL1N0YWNr
|
269
|
+
Q2FyZWVycyI+Zm9sbG93IHVzPC9hPjwvc3Ryb25nPg0KICAgICAgICAgICAg
|
270
|
+
ICAgICAgICAgICAgPHN0cm9uZz48YSBocmVmPSJodHRwOi8vbWV0YS5zdGFj
|
271
|
+
a292ZXJmbG93LmNvbSI+ZmVlZGJhY2sgYWx3YXlzIHdlbGNvbWU8L2E+PC9z
|
272
|
+
dHJvbmc+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNp
|
273
|
+
dGVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHls
|
274
|
+
ZT0iY29sb3I6ICNGRTdBMTUiPuKWoDwvc3Bhbj4mbmJzcDs8YSBocmVmPSJo
|
275
|
+
dHRwOi8vc3RhY2tvdmVyZmxvdy5jb20iPnN0YWNrb3ZlcmZsb3cuY29tPC9h
|
276
|
+
Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJj
|
277
|
+
b2xvcjogI0U4MjcyQyI+4pagPC9zcGFuPiZuYnNwOzxhIGhyZWY9Imh0dHA6
|
278
|
+
Ly9zZXJ2ZXJmYXVsdC5jb20iPnNlcnZlcmZhdWx0LmNvbTwvYT4NCiAgICAg
|
279
|
+
ICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMw
|
280
|
+
MEFGRUYiPuKWoDwvc3Bhbj4mbmJzcDs8YSBocmVmPSJodHRwOi8vc3VwZXJ1
|
281
|
+
c2VyLmNvbSI+c3VwZXJ1c2VyLmNvbTwvYT4NCiAgICAgICAgICAgICAgICAg
|
282
|
+
ICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICM5Njk2OTYiPuKWoDwv
|
283
|
+
c3Bhbj4mbmJzcDs8YSBocmVmPSJodHRwOi8vbWV0YS5zdGFja292ZXJmbG93
|
284
|
+
LmNvbSI+bWV0YTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2
|
285
|
+
Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idHJh
|
286
|
+
bnNsYXRpb25zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
287
|
+
ICAgIDxzcGFuIHN0eWxlPSJjb2xvcjojRTgyNzJDIj7ilqA8L3NwYW4+DQo8
|
288
|
+
YSBocmVmPSIvY29tcGFueS9zdGFkdHdlcmtlLW0lQzMlQkNuY2hlbiI+Q2Fy
|
289
|
+
ZWVycyAyLjA8L2E+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
290
|
+
ICAgPHNwYW4gc3R5bGU9ImNvbG9yOiNGRkNFMDAiPuKWoDwvc3Bhbj4NCjxh
|
291
|
+
IGhyZWY9Ii9kZS9jb21wYW55L3N0YWR0d2Vya2UtbSVDMyVCQ25jaGVuIj5D
|
292
|
+
YXJlZXJzIERldXRzY2g8L2E+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
|
293
|
+
ICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMwMDI0N2QiPuKWoDwvc3Bh
|
294
|
+
bj4NCjxhIGhyZWY9Ii91ay9jb21wYW55L3N0YWR0d2Vya2UtbSVDMyVCQ25j
|
295
|
+
aGVuIj5DYXJlZXJzIFVLPC9hPiAgICAgICAgICAgICAgICAgICAgICAgICAg
|
296
|
+
ICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjojRUY0MTM1Ij7ilqA8L3Nw
|
297
|
+
YW4+DQo8YSBocmVmPSIvZnIvY29tcGFueS9zdGFkdHdlcmtlLW0lQzMlQkNu
|
298
|
+
Y2hlbiI+Q2FyZWVycyBGcmFuJiMyMzE7YWlzPC9hPiAgICAgICAgICAgICAg
|
299
|
+
ICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAg
|
300
|
+
IDxkaXYgaWQ9ImNvcHlyaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAg
|
301
|
+
ICAgICAgc2l0ZSBkZXNpZ24gLyBsb2dvICYjMTY5OyAyMDEzIHN0YWNrIGV4
|
302
|
+
Y2hhbmdlIGluYw0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQog
|
303
|
+
ICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rp
|
304
|
+
dj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPG5vc2NyaXB0Pg0KICAg
|
305
|
+
ICAgICAgICAgPGRpdiBpZD0ibm9zY3JpcHQtd2FybmluZyI+U3RhY2sgT3Zl
|
306
|
+
cmZsb3cgcmVxdWlyZXMgSmF2YVNjcmlwdCB0byBiZSBlbmFibGVkPC9kaXY+
|
307
|
+
DQogICAgICAgIDwvbm9zY3JpcHQ+DQoNCiAgICAgICAgDQoNCiAgICA8c2Ny
|
308
|
+
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgIHZhciBfZ2Fx
|
309
|
+
ID0gX2dhcSB8fCBbXTsNCiAgICAgICAgX2dhcS5wdXNoKFsnX3NldEFjY291
|
310
|
+
bnQnLCAnVUEtNTYyMDI3MC01J10pOw0KICAgICAgICBfZ2FxLnB1c2goWydf
|
311
|
+
c2V0Q3VzdG9tVmFyJywgMSwgJ0lzQXV0aGVudGljYXRlZCcsICdUcnVlJ10p
|
312
|
+
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgX2dhcS5wdXNoKFsnX3RyYWNr
|
313
|
+
UGFnZXZpZXcnXSk7DQogICAgICAgIChmdW5jdGlvbigpIHsNCiAgICAgICAg
|
314
|
+
ICAgIHZhciBnYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcp
|
315
|
+
Ow0KICAgICAgICAgICAgZ2EudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOw0K
|
316
|
+
ICAgICAgICAgICAgZ2EuYXN5bmMgPSB0cnVlOw0KICAgICAgICAgICAgZ2Eu
|
317
|
+
c3JjID0gKCdodHRwczonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29s
|
318
|
+
ID8gJ2h0dHBzOi8vc3NsJyA6ICdodHRwOi8vd3d3JykgKyAnLmdvb2dsZS1h
|
319
|
+
bmFseXRpY3MuY29tL2dhLmpzJzsNCiAgICAgICAgICAgIHZhciBzID0gZG9j
|
320
|
+
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOw0KICAg
|
321
|
+
ICAgICAgICAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnYSwgcyk7DQog
|
322
|
+
ICAgICAgIH0pKCk7DQogICAgPC9zY3JpcHQ+DQoNCg0KDQogICAgICAgIDxz
|
323
|
+
Y3JpcHQgc3JjPSIvL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2px
|
324
|
+
dWVyeS8xLjkuMS9qcXVlcnkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3Jp
|
325
|
+
cHQiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii8vY2RuLWNhcmVlcnMuc3N0
|
326
|
+
YXRpYy5uZXQvY2FyZWVycy9Kcy90aGlyZC1wYXJ0eS9qcXVlcnkubWlncmF0
|
327
|
+
ZS8xLjIuMS9qcXVlcnktbWlncmF0ZS1wcm9kLm1pbi5qcz92PTIwNzQ1ZWZh
|
328
|
+
MDc4ZCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4gICAgICAg
|
329
|
+
IA0KDQo8c2NyaXB0IHNyYz0iLy9jZG4tY2FyZWVycy5zc3RhdGljLm5ldC9j
|
330
|
+
YXJlZXJzL0pzL3N0dWIubWluLmpzP3Y9YzQ1OWMzODIxODg4IiB0eXBlPSJ0
|
331
|
+
ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pg0KDQoNCg0KPHNjcmlwdCB0eXBl
|
332
|
+
PSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIENhcmVlcnMuZG9tYWluID0gImNh
|
333
|
+
cmVlcnMuc3RhY2tvdmVyZmxvdy5jb20iOw0KICAgIENhcmVlcnMucmVmZXJy
|
334
|
+
ZXIgPSAiY2FyZWVycy5zdGFja292ZXJmbG93LmNvbSI7DQoNCg0KDQogICAg
|
335
|
+
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTmFtZSArPSAiIGpzIjsN
|
336
|
+
Cg0KICAgIA0KICAgIENhcmVlcnMuaW5pdCh7InNpdGUiOnsibmFtZSI6IkNh
|
337
|
+
cmVlcnMgMi4wIn0sInVzZXIiOnsiaXNBbm9ueW1vdXMiOnRydWV9fSk7DQog
|
338
|
+
ICAgQ2FyZWVycy51c2luZy5zZXRGaWxlUHJvdmlkaW5nKHsiYmlndGV4dCI6
|
339
|
+
Ii8vY2RuLWNhcmVlcnMuc3N0YXRpYy5uZXQvY2FyZWVycy9Kcy90aGlyZC1w
|
340
|
+
YXJ0eS9iaWd0ZXh0Lm1pbi5qcz92PWYyYzQyYjgyNjViMiIsImNhbmRpZGF0
|
341
|
+
ZU1hbmFnZXIiOiIvL2Nkbi1jYXJlZXJzLnNzdGF0aWMubmV0L2NhcmVlcnMv
|
342
|
+
SnMvQ2FuZGlkYXRlTWFuYWdlci9DYW5kaWRhdGVNYW5hZ2VyLm1pbi5qcz92
|
343
|
+
PTZmNTg1YzQyMWU5MyIsImFjY291bnRzIjoiLy9jZG4tY2FyZWVycy5zc3Rh
|
344
|
+
dGljLm5ldC9jYXJlZXJzL0pzL2FjY291bnRzLm1pbi5qcz92PWYwMjA4Y2Yx
|
345
|
+
MDEzMyIsImNhcmVlcnNBdXRoIjoiLy9jZG4tY2FyZWVycy5zc3RhdGljLm5l
|
346
|
+
dC9jYXJlZXJzL0pzL2NhcmVlcnNhdXRoLm1pbi5qcz92PTZkZTllYWEzNzEx
|
347
|
+
YiIsImNoZWNrb3V0IjoiLy9jZG4tY2FyZWVycy5zc3RhdGljLm5ldC9jYXJl
|
348
|
+
ZXJzL0pzL2NoZWNrb3V0Lm1pbi5qcz92PWQ5MjRhMDAwNDc5NiIsImNoZWNr
|
349
|
+
b3V0Q2hvb3NlIjoiLy9jZG4tY2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJz
|
350
|
+
L0pzL2NoZWNrb3V0LWNob29zZS5taW4uanM/dj02MmI1MWIwOGU0ZjkiLCJj
|
351
|
+
b21wYW55UGFnZXMiOiIvL2Nkbi1jYXJlZXJzLnNzdGF0aWMubmV0L2NhcmVl
|
352
|
+
cnMvSnMvY29tcGFueS1wYWdlcy5taW4uanM/dj1kZGEyNWYxNmY5Y2QiLCJj
|
353
|
+
b21wYW55UGFnZXNDcmVhdGUiOiIvL2Nkbi1jYXJlZXJzLnNzdGF0aWMubmV0
|
354
|
+
L2NhcmVlcnMvSnMvY29tcGFueS1wYWdlcy5hbmd1bGFyLWNyZWF0ZS5taW4u
|
355
|
+
anM/dj04NGYyZTJlNDE2NDIiLCJjb21wYW55UGFnZXNFZGl0IjoiLy9jZG4t
|
356
|
+
Y2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJzL0pzL2NvbXBhbnktcGFnZXMu
|
357
|
+
YW5ndWxhci1lZGl0Lm1pbi5qcz92PTA3Y2ZhYjdjMjFhMSIsImN2IjoiLy9j
|
358
|
+
ZG4tY2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJzL0pzL2N2Lm1pbi5qcz92
|
359
|
+
PTdkN2I3MDU0ZjlkZiIsImN2RWRpdCI6Ii8vY2RuLWNhcmVlcnMuc3N0YXRp
|
360
|
+
Yy5uZXQvY2FyZWVycy9Kcy9jdi1lZGl0Lm1pbi5qcz92PTI3YTMzMDY4NTY3
|
361
|
+
YSIsImN2SW52aXRhdGlvbiI6Ii8vY2RuLWNhcmVlcnMuc3N0YXRpYy5uZXQv
|
362
|
+
Y2FyZWVycy9Kcy9jdi1pbnZpdGF0aW9uLm1pbi5qcz92PWEwM2MwMDMxMWI1
|
363
|
+
MyIsImN2SW52aXRhdGlvbnNBZG1pbiI6Ii8vY2RuLWNhcmVlcnMuc3N0YXRp
|
364
|
+
Yy5uZXQvY2FyZWVycy9Kcy9jdi1pbnZpdGF0aW9ucy1hZG1pbi5taW4uanM/
|
365
|
+
dj1lMmE1N2E1MTdhNzUiLCJlbXBsb3llckxvZ2luIjoiLy9jZG4tY2FyZWVy
|
366
|
+
cy5zc3RhdGljLm5ldC9jYXJlZXJzL0pzL2VtcGxveWVyLWxvZ2luLm1pbi5q
|
367
|
+
cz92PWY1ZWU0ZGU4NzAzNCIsImltcG9ydCI6Ii8vY2RuLWNhcmVlcnMuc3N0
|
368
|
+
YXRpYy5uZXQvY2FyZWVycy9Kcy9pbXBvcnQubWluLmpzP3Y9NmY3OGIwMzc3
|
369
|
+
ZmQwIiwiam9icyI6Ii8vY2RuLWNhcmVlcnMuc3N0YXRpYy5uZXQvY2FyZWVy
|
370
|
+
cy9Kcy9qb2JzLm1pbi5qcz92PWMyMGJlMTg0MGZjOSIsImpvYnNBZG1pbiI6
|
371
|
+
Ii8vY2RuLWNhcmVlcnMuc3N0YXRpYy5uZXQvY2FyZWVycy9Kcy9qb2JzLmFk
|
372
|
+
bWluLm1pbi5qcz92PWU0NmQ1ODc1MmEwYyIsImpvYnNQb3N0IjoiLy9jZG4t
|
373
|
+
Y2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJzL0pzL2pvYnMtcG9zdC5taW4u
|
374
|
+
anM/dj01M2JhNzQ2NmNiYjIiLCJtZXNzYWdpbmciOiIvL2Nkbi1jYXJlZXJz
|
375
|
+
LnNzdGF0aWMubmV0L2NhcmVlcnMvSnMvbWVzc2FnaW5nLm1pbi5qcz92PTI2
|
376
|
+
OTgyYWM4NDVhOSIsIm9wZW5pZEpxdWVyeSI6Ii8vY2RuLWNhcmVlcnMuc3N0
|
377
|
+
YXRpYy5uZXQvY2FyZWVycy9Kcy90aGlyZC1wYXJ0eS9vcGVuaWQtanF1ZXJ5
|
378
|
+
Lm1pbi5qcz92PTA2ZTllMzNhMTc3NyIsInBvc2l0aW9uSGVhZGVyIjoiLy9j
|
379
|
+
ZG4tY2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJzL0pzL3Bvc2l0aW9uLWhl
|
380
|
+
YWRlci5taW4uanM/dj0wNWQ1YzRlOWU0OTkiLCJwcml2YWN5IjoiLy9jZG4t
|
381
|
+
Y2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJzL0pzL3ByaXZhY3kubWluLmpz
|
382
|
+
P3Y9Y2Y1NjEyZDMwZmEwIiwic2VhcmNoTmV3IjoiLy9jZG4tY2FyZWVycy5z
|
383
|
+
c3RhdGljLm5ldC9jYXJlZXJzL0pzL3NlYXJjaC12My5taW4uanM/dj0zODBm
|
384
|
+
YzE3ZTEyZDgiLCJzaGFyZWQiOiIvL2Nkbi1jYXJlZXJzLnNzdGF0aWMubmV0
|
385
|
+
L2NhcmVlcnMvSnMvc2hhcmVkLm1pbi5qcz92PTliNzE2M2I4ZDc4NyIsInN0
|
386
|
+
YWNrYW5zd2VycyI6Ii8vY2RuLWNhcmVlcnMuc3N0YXRpYy5uZXQvY2FyZWVy
|
387
|
+
cy9Kcy9jdl9zdGFja2Fuc3dlcnMubWluLmpzP3Y9ZDNkNjZkNWI3MGZjIiwi
|
388
|
+
dGFnRWRpdG9yIjoiLy9jZG4tY2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJz
|
389
|
+
L0pzL3RhZ2VkaXRvci5taW4uanM/dj0xMWVhM2U2YzhmNDAifSk7DQogICAg
|
390
|
+
Q2FyZWVycy51c2luZy5zZXRGaWxlUHJvdmlkaW5nKHtsb2NhbGl6YXRpb246
|
391
|
+
ICIvL2Nkbi1jYXJlZXJzLnNzdGF0aWMubmV0L2NhcmVlcnMvSnMvTG9jYWxp
|
392
|
+
emF0aW9uL2xvY2FsaXphdGlvbi5taW4uanM/dj0xODNjMjFkOGQ3MjMifSk7
|
393
|
+
DQoNCjwvc2NyaXB0Pg0KICAgICAgICANCiAgICA8c2NyaXB0IHNyYz0iLy9j
|
394
|
+
ZG4tY2FyZWVycy5zc3RhdGljLm5ldC9jYXJlZXJzL0pzL3RoaXJkLXBhcnR5
|
395
|
+
L2FuZ3VsYXIvMS4xLjMvYW5ndWxhci5taW4uanM/dj1mMGM2ZTM3YzQ2Yzgi
|
396
|
+
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQogICAgDQogICAg
|
397
|
+
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBDYXJl
|
398
|
+
ZXJzLmluaXRpYWxpemUgPSB7fTsNCiAgICAgICAgICAgIENhcmVlcnMuaW5p
|
399
|
+
dGlhbGl6ZS5nYWxsZXJ5SXRlbXMgPSBbeyJUeXBlIjoieW91dHViZSIsIlVy
|
400
|
+
bCI6Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvVWdLOVRtZ3ZMMWM/
|
401
|
+
cmVsPTAiLCJUaHVtYm5haWxVcmwiOiJodHRwOi8vaW1nLnlvdXR1YmUuY29t
|
402
|
+
L3ZpL1VnSzlUbWd2TDFjL2RlZmF1bHQuanBnIn1dOw0KICAgICAgICAgICAg
|
403
|
+
ICAgICAgICBDYXJlZXJzLmluaXRpYWxpemUucGVvcGxlID0gW107DQogICAg
|
404
|
+
ICAgIA0KICAgICAgICBDYXJlZXJzLnVzaW5nKFsiY29tcGFueVBhZ2VzIl0s
|
405
|
+
IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgQ2FyZWVycy5jb21wYW55UGFn
|
406
|
+
ZXMuaW5pdCgpOw0KICAgICAgICB9KTsNCiAgICA8L3NjcmlwdD4NCg0KDQog
|
407
|
+
ICAgICAgIA0KDQogICAgPC9ib2R5Pg0KPC9odG1sPg0K
|
408
|
+
http_version:
|
409
|
+
recorded_at: Sat, 19 Oct 2013 18:58:16 GMT
|
410
|
+
recorded_with: VCR 2.6.0
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
|
3
|
+
module Bob
|
4
|
+
module Fetchers
|
5
|
+
module Github
|
6
|
+
extend self
|
7
|
+
|
8
|
+
def fetch(url)
|
9
|
+
response = URI("#{url}.json").read
|
10
|
+
|
11
|
+
create_job ::Oj.load(response)
|
12
|
+
end
|
13
|
+
|
14
|
+
def create_job(data)
|
15
|
+
opts = {
|
16
|
+
name: data["title"],
|
17
|
+
description: data["description"],
|
18
|
+
company_name: data["company"],
|
19
|
+
company_logo: data["company_logo"],
|
20
|
+
company_url: data["company_url"],
|
21
|
+
extra_info: data
|
22
|
+
}
|
23
|
+
|
24
|
+
::Bob::Job.new(opts)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
|
3
|
+
module Bob
|
4
|
+
module Fetchers
|
5
|
+
module Stackoverflow
|
6
|
+
extend self
|
7
|
+
|
8
|
+
def fetch(url)
|
9
|
+
doc = Nokogiri::HTML(open(url))
|
10
|
+
attrs = {}
|
11
|
+
|
12
|
+
doc.css('meta').each do |tag|
|
13
|
+
property = tag.attribute('property').to_s
|
14
|
+
property = tag.attribute('name').to_s if property.empty?
|
15
|
+
|
16
|
+
next unless property.match(/\A(\w+):(\w*)$/)
|
17
|
+
|
18
|
+
attrs[property] = tag.attribute('content').to_s
|
19
|
+
end
|
20
|
+
|
21
|
+
create_job(attrs)
|
22
|
+
end
|
23
|
+
|
24
|
+
def create_job(attrs)
|
25
|
+
opts = {}
|
26
|
+
opts[:name] = any_of(attrs, "og:title", "twitter:title")
|
27
|
+
opts[:description] = any_of(attrs, "og:description", "twitter:description")
|
28
|
+
opts[:company_logo] = any_of(attrs, "twitter:image")
|
29
|
+
opts[:extra_info] = attrs
|
30
|
+
|
31
|
+
::Bob::Job.new(opts)
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
def any_of(hash, *keys)
|
36
|
+
hash.values_at(*keys).compact.map(&:strip).first
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/bob/fetchers.rb
ADDED
data/lib/bob/job.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
module Bob
|
2
|
+
class Job
|
3
|
+
attr_accessor :name, :url, :description, :extra_info,
|
4
|
+
:company_name, :company_logo, :company_url
|
5
|
+
|
6
|
+
def initialize(opts = {})
|
7
|
+
@name = opts[:name]
|
8
|
+
@url = opts[:url]
|
9
|
+
@company_name = opts[:company_name]
|
10
|
+
@company_url = opts[:company_url]
|
11
|
+
@company_logo = opts[:company_logo]
|
12
|
+
@description = opts[:description]
|
13
|
+
@extra_info = opts[:extra_info]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/bob/version.rb
ADDED
data/lib/bob.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'oj'
|
3
|
+
require "bob/version"
|
4
|
+
require "bob/job"
|
5
|
+
require 'bob/fetchers'
|
6
|
+
|
7
|
+
module Bob
|
8
|
+
extend self
|
9
|
+
|
10
|
+
class UnprocessableHostError < StandardError; end
|
11
|
+
|
12
|
+
|
13
|
+
FETCHERS = {
|
14
|
+
'jobs.github.com' => Bob::Fetchers::Github,
|
15
|
+
'careers.stackoverflow.com' => Bob::Fetchers::Stackoverflow
|
16
|
+
}
|
17
|
+
|
18
|
+
def fetch(url)
|
19
|
+
url = URI.encode(url)
|
20
|
+
host = URI(url).host
|
21
|
+
fetcher = FETCHERS[host]
|
22
|
+
|
23
|
+
raise_error(url) if fetcher.nil?
|
24
|
+
begin
|
25
|
+
fetcher.fetch(url)
|
26
|
+
rescue StandardError
|
27
|
+
raise_error(url)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
def raise_error(url)
|
33
|
+
raise UnprocessableHostError.new("Dont know how to handle #{url}.")
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Bob::Fetchers::Github do
|
4
|
+
context "with a valid github url" do
|
5
|
+
let(:url) do
|
6
|
+
"https://jobs.github.com/positions/19341a08-377e-11e3-862f-7f91026928c0"
|
7
|
+
end
|
8
|
+
|
9
|
+
subject do
|
10
|
+
VCR.use_cassette('github_job') do
|
11
|
+
Bob::Fetchers::Github.fetch(url)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
its(:name) {should == "Sr. Mobile Application Developer, Android at ModCloth"}
|
16
|
+
its(:description) {should =~ /<p>ModCloth currently has an exciting opportunity for a highly skilled Android developer./}
|
17
|
+
its(:company_name) {should == "ModCloth"}
|
18
|
+
its(:company_logo) {should == "http://github-jobs.s3.amazonaws.com/f5100178-377d-11e3-8618-7ebb0e979680.png"}
|
19
|
+
its(:company_url) {should == "http://www.modcloth.com"}
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Bob::Fetchers::Stackoverflow do
|
4
|
+
context "with a valid github url" do
|
5
|
+
let(:url) do
|
6
|
+
"http://careers.stackoverflow.com/company/stadtwerke-m%C3%BCnchen"
|
7
|
+
end
|
8
|
+
|
9
|
+
subject do
|
10
|
+
VCR.use_cassette('stackoverflow_job') do
|
11
|
+
Bob::Fetchers::Stackoverflow.fetch(url)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
its(:name) {should == "Stadtwerke München GmbH"}
|
16
|
+
its(:description) {should == "Die Stadtwerke M&uuml;nchen (SWM) z&auml;hlen zu den gr&ouml;&szlig;ten Energie- und Infrastrukturunternehmen Deutschlands. &Uuml;ber eine Million Privathaushalte, Gewerbe- und Gesch&auml;ftskundenâ\u0080¦"}
|
17
|
+
|
18
|
+
its(:company_logo) {should == "http://i.stack.imgur.com/ghuhbl.jpg"}
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Bob::Job do
|
4
|
+
subject do
|
5
|
+
attrs = {
|
6
|
+
name: "name",
|
7
|
+
url: "url",
|
8
|
+
description: "a description",
|
9
|
+
company_name: "a company_name",
|
10
|
+
company_url: "http://co.mpa.ny",
|
11
|
+
company_logo: "http://co.mpa.ny/logo.png",
|
12
|
+
extra_info: {
|
13
|
+
hello: "World"
|
14
|
+
}}
|
15
|
+
Bob::Job.new(attrs)
|
16
|
+
end
|
17
|
+
|
18
|
+
its(:name) {should == "name"}
|
19
|
+
its(:url) {should == "url"}
|
20
|
+
its(:description) {should == "a description"}
|
21
|
+
its(:company_name) {should == "a company_name"}
|
22
|
+
its(:company_url) {should == "http://co.mpa.ny"}
|
23
|
+
its(:company_logo) {should == "http://co.mpa.ny/logo.png"}
|
24
|
+
its(:extra_info) {should == {hello: "World"}}
|
25
|
+
end
|
data/spec/bob_spec.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Bob do
|
4
|
+
describe '#fetch' do
|
5
|
+
describe 'Github' do
|
6
|
+
let(:url) do
|
7
|
+
'https://jobs.github.com/positions/19341a08-377e-11e3-862f-7f91026928c0'
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'uses github' do
|
11
|
+
Bob::Fetchers::Github.should_receive(:fetch).with(url)
|
12
|
+
Bob.fetch(url)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'Stackoverflow' do
|
17
|
+
let(:url) do
|
18
|
+
"http://careers.stackoverflow.com/company/stadtwerke-münchen"
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'uses stackoverflow' do
|
22
|
+
Bob::Fetchers::Stackoverflow.should_receive(:fetch).with(URI.encode(url))
|
23
|
+
Bob.fetch(url)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "404" do
|
28
|
+
let(:url) do
|
29
|
+
'https://jobs.github.com/lalalala'
|
30
|
+
end
|
31
|
+
|
32
|
+
it "handles the 404 from URI" do
|
33
|
+
VCR.use_cassette("404") do
|
34
|
+
expect {
|
35
|
+
Bob.fetch(url)
|
36
|
+
}.to raise_error Bob::UnprocessableHostError
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "Unprocessable host" do
|
42
|
+
let(:url) do
|
43
|
+
'https://news.ycombinator.com/jobs'
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'raises a UnprocessableHostError' do
|
47
|
+
expect {
|
48
|
+
Bob.fetch(url)
|
49
|
+
}.to raise_error Bob::UnprocessableHostError
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
|
4
|
+
require 'bob' # and any other gems you need
|
5
|
+
require 'vcr'
|
6
|
+
|
7
|
+
VCR.configure do |c|
|
8
|
+
c.cassette_library_dir = 'fixtures/vcr_cassettes'
|
9
|
+
c.hook_into :webmock
|
10
|
+
end
|
11
|
+
|
12
|
+
RSpec.configure do |c|
|
13
|
+
c.filter_run_including focus: true
|
14
|
+
c.run_all_when_everything_filtered = true
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,185 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: job-bob
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Giorgos Avramidis
|
8
|
+
- Dario Hamidi
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-10-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: oj
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: nokogiri
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: bundler
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '1.3'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '1.3'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rake
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: vcr
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: webmock
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: guard
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: guard-rspec
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
description: Bob, the Job Fetcher
|
127
|
+
email:
|
128
|
+
- avramidg@gmail.com
|
129
|
+
- dario.hamidi@gmail.com
|
130
|
+
executables: []
|
131
|
+
extensions: []
|
132
|
+
extra_rdoc_files: []
|
133
|
+
files:
|
134
|
+
- .gitignore
|
135
|
+
- .ruby-version
|
136
|
+
- Gemfile
|
137
|
+
- Guardfile
|
138
|
+
- LICENSE.txt
|
139
|
+
- README.md
|
140
|
+
- Rakefile
|
141
|
+
- bob.gemspec
|
142
|
+
- fixtures/vcr_cassettes/404.yml
|
143
|
+
- fixtures/vcr_cassettes/github_job.yml
|
144
|
+
- fixtures/vcr_cassettes/stackoverflow_job.yml
|
145
|
+
- lib/bob.rb
|
146
|
+
- lib/bob/fetchers.rb
|
147
|
+
- lib/bob/fetchers/github.rb
|
148
|
+
- lib/bob/fetchers/stackoverflow.rb
|
149
|
+
- lib/bob/job.rb
|
150
|
+
- lib/bob/version.rb
|
151
|
+
- spec/bob/fetchers/github_spec.rb
|
152
|
+
- spec/bob/fetchers/stackoverflow_spec.rb
|
153
|
+
- spec/bob/job_spec.rb
|
154
|
+
- spec/bob_spec.rb
|
155
|
+
- spec/spec_helper.rb
|
156
|
+
homepage: ''
|
157
|
+
licenses:
|
158
|
+
- MIT
|
159
|
+
metadata: {}
|
160
|
+
post_install_message:
|
161
|
+
rdoc_options: []
|
162
|
+
require_paths:
|
163
|
+
- lib
|
164
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - '>='
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
requirements: []
|
175
|
+
rubyforge_project:
|
176
|
+
rubygems_version: 2.1.9
|
177
|
+
signing_key:
|
178
|
+
specification_version: 4
|
179
|
+
summary: Fetch Job Posting Information
|
180
|
+
test_files:
|
181
|
+
- spec/bob/fetchers/github_spec.rb
|
182
|
+
- spec/bob/fetchers/stackoverflow_spec.rb
|
183
|
+
- spec/bob/job_spec.rb
|
184
|
+
- spec/bob_spec.rb
|
185
|
+
- spec/spec_helper.rb
|