From a532ba6b5673ab07048c75850b63aed6490dd5a1 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Wed, 1 Oct 2014 15:41:54 +0900 Subject: [PATCH 01/14] require faraday --- enju_news.gemspec | 7 ++++--- lib/enju_news/engine.rb | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/enju_news.gemspec b/enju_news.gemspec index c9f47fe..fc5cb3e 100644 --- a/enju_news.gemspec +++ b/enju_news.gemspec @@ -16,15 +16,16 @@ Gem::Specification.new do |s| s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"] s.test_files = Dir["spec/**/*"] - Dir["spec/dummy/log/*"] - s.add_dependency "enju_seed", "~> 0.1.1.pre10" + s.add_dependency "enju_seed", "~> 0.1.1.pre11" + s.add_dependency "faraday" s.add_development_dependency "sqlite3" - s.add_development_dependency "rspec-rails", "~> 3.0" + s.add_development_dependency "rspec-rails", "~> 3.0.2" s.add_development_dependency "factory_girl_rails" s.add_development_dependency "vcr" s.add_development_dependency "fakeweb" s.add_development_dependency "simplecov" s.add_development_dependency "annotate" s.add_development_dependency "sunspot-rails-tester" - s.add_development_dependency "enju_leaf", "~> 1.1.0.rc13" + s.add_development_dependency "enju_leaf", "~> 1.1.0.rc14" end diff --git a/lib/enju_news/engine.rb b/lib/enju_news/engine.rb index 5c94c80..ecc6240 100644 --- a/lib/enju_news/engine.rb +++ b/lib/enju_news/engine.rb @@ -1,4 +1,5 @@ require 'enju_seed' +require 'faraday' module EnjuNews class Engine < ::Rails::Engine From 6f938000821f9b1893b671b8379f74bb9aea70ad Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Wed, 1 Oct 2014 16:18:13 +0900 Subject: [PATCH 02/14] added gemfiles --- .travis.yml | 7 ++++++- app/models/news_feed.rb | 4 +--- enju_news.gemspec | 1 - gemfiles/rails3_2.gemfile | 6 ++++++ gemfiles/rails4_1.gemfile | 9 +++++++++ 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 gemfiles/rails3_2.gemfile create mode 100644 gemfiles/rails4_1.gemfile diff --git a/.travis.yml b/.travis.yml index 69c3acd..0020748 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,5 +2,10 @@ language: ruby rvm: - 1.9.3 - 2.0.0 - - 2.1.2 + - 2.1.3 before_script: "bundle exec rake db:migrate" +services: + - redis-server +gemfile: + - gemfiles/rails3_2.gemfile + - gemfiles/rails4_1.gemfile diff --git a/app/models/news_feed.rb b/app/models/news_feed.rb index 73b8107..2fc9fd9 100644 --- a/app/models/news_feed.rb +++ b/app/models/news_feed.rb @@ -16,9 +16,7 @@ def self.per_page def fetch begin - feed = open(url) do |f| - f.read - end + feed = Faraday.get(url).body if rss = RSS::Parser.parse(feed, false) self.body = feed end diff --git a/enju_news.gemspec b/enju_news.gemspec index 4d27b1f..fc5cb3e 100644 --- a/enju_news.gemspec +++ b/enju_news.gemspec @@ -19,7 +19,6 @@ Gem::Specification.new do |s| s.add_dependency "enju_seed", "~> 0.1.1.pre11" s.add_dependency "faraday" - s.add_development_dependency "rails", "~> 3.2.19" s.add_development_dependency "sqlite3" s.add_development_dependency "rspec-rails", "~> 3.0.2" s.add_development_dependency "factory_girl_rails" diff --git a/gemfiles/rails3_2.gemfile b/gemfiles/rails3_2.gemfile new file mode 100644 index 0000000..2e6fb56 --- /dev/null +++ b/gemfiles/rails3_2.gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem "rails", "~> 3.2.19" +gem "jquery-rails" + +gemspec path: "../" diff --git a/gemfiles/rails4_1.gemfile b/gemfiles/rails4_1.gemfile new file mode 100644 index 0000000..141aa0d --- /dev/null +++ b/gemfiles/rails4_1.gemfile @@ -0,0 +1,9 @@ +source "https://rubygems.org" + +gem "rails", "~> 4.1.6" +gem "jquery-rails" +gem "protected_attributes" +gem "enju_leaf", github: "next-l/enju_leaf", branch: '1.1' +gem "enju_library", github: "next-l/enju_library", branch: '1.1' + +gemspec path: "../" From 79b3d85271cc27173a5c487ad843723be2bd0b50 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Wed, 1 Oct 2014 16:21:22 +0900 Subject: [PATCH 03/14] added vcr files --- .../NewsFeed/should_get_content.yml | 546 ++++++++++++++++++ ...not_get_content_if_the_feed_is_invalid.yml | 66 +++ .../NewsFeed/should_reload_content.yml | 546 ++++++++++++++++++ spec/spec_helper.rb | 7 + 4 files changed, 1165 insertions(+) create mode 100644 spec/cassette_library/NewsFeed/should_get_content.yml create mode 100644 spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml create mode 100644 spec/cassette_library/NewsFeed/should_reload_content.yml diff --git a/spec/cassette_library/NewsFeed/should_get_content.yml b/spec/cassette_library/NewsFeed/should_get_content.yml new file mode 100644 index 0000000..5f65b8c --- /dev/null +++ b/spec/cassette_library/NewsFeed/should_get_content.yml @@ -0,0 +1,546 @@ +--- +http_interactions: +- request: + method: get + uri: http://iss.ndl.go.jp/information/feed/ + body: + encoding: US-ASCII + string: '' + headers: + user-agent: + - Faraday v0.9.0 + accept-encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + date: + - Wed, 01 Oct 2014 07:21:03 GMT + server: + - Apache + expires: + - Thu, 19 Nov 1981 08:52:00 GMT + cache-control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + pragma: + - no-cache + x-pingback: + - http://iss.ndl.go.jp/information/xmlrpc.php + last-modified: + - Tue, 30 Sep 2014 10:39:17 GMT + etag: + - '"a7c11f1aac82a10a604c4cdf2924af0b"' + content-type: + - text/xml; charset=UTF-8 + set-cookie: + - PHPSESSID=3kfppbttfsd087lqong8p8kti7; path=/ + - serverid=1101; path=/ + - ROUTEID=.wp02; path=/ + vary: + - Accept-Encoding,User-Agent + content-encoding: + - gzip + x-content-type-options: + - nosniff + x-frame-options: + - SAMEORIGIN + connection: + - close + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJzcyB2 + ZXJzaW9uPSIyLjAiCgl4bWxuczpjb250ZW50PSJodHRwOi8vcHVybC5vcmcv + cnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIgoJeG1sbnM6d2Z3PSJodHRwOi8v + d2VsbGZvcm1lZHdlYi5vcmcvQ29tbWVudEFQSS8iCgl4bWxuczpkYz0iaHR0 + cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCgl4bWxuczphdG9tPSJo + dHRwOi8vd3d3LnczLm9yZy8yMDA1L0F0b20iCgl4bWxuczpzeT0iaHR0cDov + L3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9zeW5kaWNhdGlvbi8iCgl4bWxu + czpzbGFzaD0iaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9zbGFz + aC8iCgkJeG1sbnM6eGh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0 + bWwiCj4KCjxjaGFubmVsPgoJPHRpdGxlPuWbveeri+WbveS8muWbs+abuOmk + qOOCteODvOODgeOBq+OBpOOBhOOBpjwvdGl0bGU+Cgk8YXRvbTpsaW5rIGhy + ZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2ZlZWQvIiBy + ZWw9InNlbGYiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+Cgk8bGlu + az5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbjwvbGluaz4KCTxk + ZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPgoJPGxhc3RCdWlsZERhdGU+VHVl + LCAzMCBTZXAgMjAxNCAxMDozOToxNyArMDAwMDwvbGFzdEJ1aWxkRGF0ZT4K + CTxsYW5ndWFnZT5qYTwvbGFuZ3VhZ2U+CgkJPHN5OnVwZGF0ZVBlcmlvZD5o + b3VybHk8L3N5OnVwZGF0ZVBlcmlvZD4KCQk8c3k6dXBkYXRlRnJlcXVlbmN5 + PjE8L3N5OnVwZGF0ZUZyZXF1ZW5jeT4KCTxnZW5lcmF0b3I+aHR0cDovL3dv + cmRwcmVzcy5vcmcvP3Y9My45LjI8L2dlbmVyYXRvcj4KPHhodG1sOmxpbmsg + cmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9o + dG1sIiBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi9m + ZWVkLyIgLz4KCTxpdGVtPgoJCTx0aXRsZT7lm73nq4vlm73kvJrlm7Pmm7jp + pKjjgrXjg7zjg4Hjg6rjg7Pjgq/pm4bjga7jg5rjg7zjgrjjgpLmm7TmlrDj + gZfjgb7jgZfjgZ/vvIgyMDE05bm0OeaciDI55pel77yJPC90aXRsZT4KCQk8 + bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5 + LzI5X2Fubm91bmNlLzwvbGluaz4KCQk8Y29tbWVudHM+aHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8yOV9hbm5vdW5jZS8jY29t + bWVudHM8L2NvbW1lbnRzPgoJCTxwdWJEYXRlPk1vbiwgMjkgU2VwIDIwMTQg + MDQ6NDc6MDUgKzAwMDA8L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+PCFbQ0RB + VEFb5LqL5YuZ5bGAXV0+PC9kYzpjcmVhdG9yPgoJCQkJPGNhdGVnb3J5Pjwh + W0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdvcnk+CgoJCTxndWlkIGlzUGVy + bWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRp + b24vP3A9MTAzNjwvZ3VpZD4KCQk8ZGVzY3JpcHRpb24+PCFbQ0RBVEFb5Zu9 + 56uL5Zu95Lya5Zuz5pu46aSo44K144O844OB44GM5o+Q5L6b44GZ44KL5aSW + 6YOo5o+Q5L6b44Kk44Oz44K/44OV44Kn44O844K577yIQVBJ77yJ44KS5Yip + 55So44GX44Gm44GE44KL44K344K544OG44Og44GK44KI44Gz44K144Kk44OI + 44KE44CB5Zu956uL5Zu95Lya5ZuzIFsmIzgyMzA7XV1dPjwvZGVzY3JpcHRp + b24+CgkJCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPgrlm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4HjgYzmj5DkvpvjgZnjgovlpJbpg6jm + j5DkvpvjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnvvIhBUEnvvInjgpLliKnnlKjj + gZfjgabjgYTjgovjgrfjgrnjg4bjg6DjgYrjgojjgbPjgrXjgqTjg4jjgoTj + gIHlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4HjgpLntLnku4vjgZfj + gabjgYTjgovoqJjkuovjgarjganjgpLpm4bjgoHjgZ/jgIHjgIzlm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjg6rjg7Pjgq/pm4bjgI3jga7jg5rj + g7zjgrjvvIg8YSBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi9saW5rLyI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24v + bGluay88L2E+77yJ44KS5pu05paw44GX44G+44GX44Gf44CC44CMMi7lm7Pm + m7jppKjogbflk6HlkJHjgZHjg4Tjg7zjg6vjgI3jgavjgIHmlrDjgZ/jgasz + 56iu6aGe44Gu44OE44O844Or44GM5Yqg44KP44KK44G+44GX44Gf44CCPGJy + IC8+CjwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+CgkJCTx3Znc6Y29tbWVu + dFJzcz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5 + LzI5X2Fubm91bmNlL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4KCQk8c2xhc2g6 + Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+Cgk8eGh0bWw6bGluayByZWw9 + ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRoZWxkIiB0eXBlPSJ0ZXh0L2h0bWwi + IGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQv + MDkvMjlfYW5ub3VuY2UvIiAvPgoJPC9pdGVtPgoJCTxpdGVtPgoJCTx0aXRs + ZT7mlrDopo/pgKPmkLrmqZ/plqLjga7ov73liqDjgajml6LlrZjpgKPmkLrm + qZ/plqLjgajjga7pgKPmkLrmlrnlvI/jga7lpInmm7TjgpLooYzjgYTjgb7j + gZfjgZ/vvIgyMDE05bm0OeaciDIy5pel77yJPC90aXRsZT4KCQk8bGluaz5o + dHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIyX2Fu + bm91bmNlLTMvPC9saW5rPgoJCTxjb21tZW50cz5odHRwOi8vaXNzLm5kbC5n + by5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIyX2Fubm91bmNlLTMvI2NvbW1l + bnRzPC9jb21tZW50cz4KCQk8cHViRGF0ZT5Nb24sIDIyIFNlcCAyMDE0IDA0 + OjAwOjE1ICswMDAwPC9wdWJEYXRlPgoJCTxkYzpjcmVhdG9yPjwhW0NEQVRB + W+S6i+WLmeWxgF1dPjwvZGM6Y3JlYXRvcj4KCQkJCTxjYXRlZ29yeT48IVtD + REFUQVvmnKrliIbpoZ5dXT48L2NhdGVnb3J5PgoKCQk8Z3VpZCBpc1Blcm1h + TGluaz0iZmFsc2UiPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9u + Lz9wPTEwMjk8L2d1aWQ+CgkJPGRlc2NyaXB0aW9uPjwhW0NEQVRBW+adseS6 + rOmDveeri+Wbs+abuOmkqOODh+OCuOOCv+ODq+OCouODvOOCq+OCpOODlu+8 + iFRPS1lP44Ki44O844Kr44Kk44OW77yJ44Go44Gu6YCj5pC644KS6ZaL5aeL + 44GX44G+44GX44GfIOWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOB + p+OBr+OAgeadseS6rCBbJiM4MjMwO11dXT48L2Rlc2NyaXB0aW9uPgoJCQkJ + PGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD4KPHVsPgoJPGxpPgo8aDQ+ + CeadseS6rOmDveeri+Wbs+abuOmkqOODh+OCuOOCv+ODq+OCouODvOOCq+OC + pOODlu+8iFRPS1lP44Ki44O844Kr44Kk44OW77yJ44Go44Gu6YCj5pC644KS + 6ZaL5aeL44GX44G+44GX44GfPC9oND4KPC9saT4KPC91bD4KICDlm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjgafjga/jgIHmnbHkuqzpg73nq4vl + m7Pmm7jppKjjg4fjgrjjgr/jg6vjgqLjg7zjgqvjgqTjg5bvvIhUT0tZT+OC + ouODvOOCq+OCpOODlu+8iSggPGEgaHJlZj0iaHR0cDovL2FyY2hpdmUubGli + cmFyeS5tZXRyby50b2t5by5qcC8gIj5odHRwOi8vYXJjaGl2ZS5saWJyYXJ5 + Lm1ldHJvLnRva3lvLmpwLzwvYT4gKeOBqOOBruaWsOimj+mAo+aQuuOCkumW + i+Wni+OBl+OBvuOBl+OBn+OAgjxiciAvPgrjgIDmnbHkuqzpg73nq4vlm7Pm + m7jppKjjg4fjgrjjgr/jg6vjgqLjg7zjgqvjgqTjg5bvvIhUT0tZT+OCouOD + vOOCq+OCpOODlu+8ieOBr+OAgeadseS6rOmDveeri+Wbs+abuOmkqOOBjOOD + h+OCuOOCv+ODq+WMluOBl+OBn+OAgeaxn+aIuOODu+adseS6rOOBq+mWouOB + meOCi+izh+aWmeeUu+WDj+OCkuaknOe0ouODu+mWsuimp+OBp+OBjeOCi+OC + t+OCueODhuODoOOBp+OBmeOAguaxn+aIuOWfjumAoOWWtumWouS/guizh+aW + meOAgea1ruS4lue1teOAgeaxn+aIuOWbs+OAgee1teiRieabuOOAgeadseS6 + rOW6nOODu+adseS6rOW4gumWouS/guizh+aWmeOBquOBqTEz44Kr44OG44K0 + 44Oq44KS5YWs6ZaL44GX44Gm44GE44G+44GZ44CCPGJyIC8+CjxiciAvPgrl + pJbpg6jmj5DkvpvjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnvvIhBUEnvvInjgavj + gojjgorjgIHmpJzntKLjga7jgb/lj6/og73jgafjgZnjgII8YnIgLz4K44OH + 44O844K/44OX44Ot44OQ44Kk44OASUTvvJp0b2t5by1tZXRyby1kYTxiciAv + Pgrjg6rjg53jgrjjg4jjg6rnlarlj7fvvJpSMTAwMDAwMDg2PGJyIC8+Cuak + nOe0oueUqEFQSe+8mlNSVeOAgVNSV+OAgU9wZW5TZWFyY2jjgIFaMzkuNTA8 + YnIgLz4KPGJyIC8+CiZuYnNwOzxiciAvPgo8dWw+Cgk8bGk+CjxoND4J6aeS + 5r6k5aSn5a2m6Zu75a2Q6LK06YeN5pu45bqr44Go44Gu6YCj5pC66ZaL5aeL + PC9oND4KPC9saT4KPC91bD4KICDlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXj + g7zjg4Hjgafjga/jgIHpp5LmvqTlpKflrabpm7vlrZDosrTph43mm7jluqso + IDxhIGhyZWY9Imh0dHA6Ly9yZXBvLmtvbWF6YXdhLXUuYWMuanAvcmV0cmll + dmUva2l0eW91LyI+aHR0cDovL3JlcG8ua29tYXphd2EtdS5hYy5qcC9yZXRy + aWV2ZS9raXR5b3UvPC9hPiAp44Go44Gu5paw6KaP6YCj5pC644KS6ZaL5aeL + 44GX44G+44GX44Gf44CCPGJyIC8+Cumnkua+pOWkp+Wtpumbu+WtkOiytOmH + jeabuOW6q+OBr+mnkua+pOWkp+WtpuOAgemnkua+pOWkp+WtpuWbs+abuOmk + qOOBjOaJgOiUteOBl+OBpuOBhOOCi+iytOmHjeOBquemheexjeODu+S7j+aV + meabuOOCkuS4reW/g+OBq+OAgeOBguOCj+OBm+OBpuWbveaWh+WtpuODu+Wb + veiqnuWtpuODu+iqnuWtpuODu+attOWPsuWtpuetieOBruWQhOWIhumHjuOB + ruiytOmHjeOBquizh+aWmeOBruabuOiqjOOBqOeUu+WDj+OCkumWsuimp+OB + p+OBjeOCi+OCt+OCueODhuODoOOBp+OBmeOAgjxiciAvPgo8YnIgLz4K5aSW + 6YOo5o+Q5L6b44Kk44Oz44K/44OV44Kn44O844K577yIQVBJ77yJ44Gr44KI + 44KK44CB44OH44O844K/44Gu5qSc57Si44Go44OP44O844OZ44K544OI44GM + 5Y+v6IO944Gn44GZ44CCPGJyIC8+CuODh+ODvOOCv+ODl+ODreODkOOCpOOD + gElE77yaIGtvbWF6d2EtdW5pdjxiciAvPgrjg6rjg53jgrjjg4jjg6rnlarl + j7fvvJpSMTAwMDAwMDg3PGJyIC8+CuaknOe0oueUqEFQSe+8mlNSVeOAgVNS + V+OAgU9wZW5TZWFyY2jjgIFaMzkuNTA8YnIgLz4K44OP44O844OZ44K544OI + 55SoQVBJ77yaT0FJLVBNSDxiciAvPgo8YnIgLz4KJm5ic3A7PGJyIC8+Cjx1 + bD4KCTxsaT4KPGg0Pgnlj6Hmmbrjga7mnZxXZWLvvIjlrq7ln47nnIzlm7Pm + m7jppKjvvInjgajjga7pgKPmkLrmlrnlvI/lpInmm7Q8L2g0Pgo8L2xpPgo8 + L3VsPgogIOWPoeaZuuOBruadnFdlYiggPGEgaHJlZj0iaHR0cDovL3d3dy5s + aWJyYXJ5LnByZWYubWl5YWdpLmpwL2VpY2hpLmh0bWwiPmh0dHA6Ly93d3cu + bGlicmFyeS5wcmVmLm1peWFnaS5qcC9laWNoaS5odG1sPC9hPiAp44Gv5a6u + 5Z+O55yM44Gr6Zai44GZ44KL6KiY5LqL44O76KuW5paH57Si5byV44KE44CB + 44CM5LyK6YGU5paH5bqr44CN44KE44CM6Z2S5p+z5paH5bqr44CN44Gq44Gp + 5Y+k5YW457GN562J44Gu5pu46KqM5oOF5aCx44KE44OH44K444K/44Or5YyW + 6LOH5paZ44KS5qSc57Si44O76Zay6Kan44Gn44GN44KL44K344K544OG44Og + 44Gn44GZ44CCPGJyIC8+CuOBk+OCjOOBvuOBp+OCguWbveeri+WbveS8muWb + s+abuOmkqOOCteODvOODgeOBqOWPoeaZuuOBruadnFdlYuOBr+mAo+aQuuOC + kuihjOOBo+OBpuOBvuOBhOOCiuOBvuOBl+OBn+OBjOOAgeWPoeaZuuOBruad + nFdlYuOBruODquODi+ODpeODvOOCouODq+OBq+S8tOOBhOOAgVJTU+OBq+OC + iOOCi+mAo+aQuuOBi+OCiU9BSS1QTUjjgavjgojjgovpgKPmkLrjgbjjgajl + iIfjgormm7/jgo/jgorjgb7jgZnjgILpgKPmkLrmlrnlvI/jga7liIfjgorm + m7/jgYjjgajjg4fjg7zjgr/jga7lhajku7blhaXjgozmm7/jgYjjgavjgojj + gorjgIFPQUktUE1I44Gn44OH44O844K/44KS5Y+W5b6X44GZ44KL5aC05ZCI + 44Gu44OH44O844K/44Gu6LW354K55pel44GM5aSJ5pu044Go44Gq44KK44G+ + 44GZ44CCPGJyIC8+CjxiciAvPgrigLvpgKPmkLrmlrnlvI/liIfjgormm7/j + gYjlvozjgoLjgIHlvJXjgY3ntprjgY3lpJbpg6jmj5DkvpvjgqTjg7Pjgr/j + g5Xjgqfjg7zjgrnvvIhBUEnvvInjgavjgojjgorjgIHjg4fjg7zjgr/jga7m + pJzntKLjgajjg4/jg7zjg5njgrnjg4jjgYzlj6/og73jgafjgZnjgII8YnIg + Lz4K44CA44OH44O844K/44OX44Ot44OQ44Kk44OASUTvvJptaXlhZ2k8YnIg + Lz4K44CA44Oq44Od44K444OI44Oq55Wq5Y+377yaUjAwMDAwMDA1NDxiciAv + PgrjgIDmpJzntKLnlKhBUEnvvJpTUlXjgIFTUlfjgIFPcGVuU2VhcmNo44CB + WjM5LjUwPGJyIC8+CuOAgOODj+ODvOODmeOCueODiOeUqEFQSe+8mk9BSS1Q + TUg8YnIgLz4K44CAT0FJLVBNSOOBp+OBruODh+ODvOOCv+OBrui1t+eCueaX + pe+8mjIwMTTlubQ55pyIMTnml6U8YnIgLz4KPGJyIC8+CjwvcD4KXV0+PC9j + b250ZW50OmVuY29kZWQ+CgkJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vaXNz + Lm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIyX2Fubm91bmNlLTMv + ZmVlZC88L3dmdzpjb21tZW50UnNzPgoJCTxzbGFzaDpjb21tZW50cz4wPC9z + bGFzaDpjb21tZW50cz4KCTx4aHRtbDpsaW5rIHJlbD0iYWx0ZXJuYXRlIiBt + ZWRpYT0iaGFuZGhlbGQiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cDov + L2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8yMl9hbm5vdW5j + ZS0zLyIgLz4KCTwvaXRlbT4KCQk8aXRlbT4KCQk8dGl0bGU+6Zu75rCX6Kit + 5YKZ44Gu5a6a5pyf54K55qSc5L2c5qWt562J44Gr5Ly044GG44CB5LiA6YOo + 5qmf6IO95Yi26ZmQ44Gu44GK55+l44KJ44Gb77yIMjAxNOW5tDEw5pyI77yJ + PC90aXRsZT4KCQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi8yMDE0LzA5LzIwMTQwOTE3X2Fubm91bmNlLTAxLzwvbGluaz4KCQk8 + Y29tbWVudHM+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAx + NC8wOS8yMDE0MDkxN19hbm5vdW5jZS0wMS8jY29tbWVudHM8L2NvbW1lbnRz + PgoJCTxwdWJEYXRlPldlZCwgMTcgU2VwIDIwMTQgMDc6NDk6MjAgKzAwMDA8 + L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+PCFbQ0RBVEFbTkRMIFNlYXJjaF1d + PjwvZGM6Y3JlYXRvcj4KCQkJCTxjYXRlZ29yeT48IVtDREFUQVvmnKrliIbp + oZ5dXT48L2NhdGVnb3J5PgoKCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2Ui + Pmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLz9wPTEwMjg8L2d1 + aWQ+CgkJPGRlc2NyaXB0aW9uPjwhW0NEQVRBW+mbu+awl+ioreWCmeOBruWu + muacn+eCueaknOS9nOalreetieOBq+S8tOOBhuWBnOmbu+OBq+OCiOOCiuOA + geS7peS4i+OBruapn+iDveOBjOWIqeeUqOOBp+OBjeOBvuOBm+OCk+OAgiDv + vJzlm7Pmm7jppKjlk6Hjga7mlrnlkJHjgZHvvJ4g6Zu75a2Q44Oh44O844Or + 44Gn44Gu55u4IFsmIzgyMzA7XV1dPjwvZGVzY3JpcHRpb24+CgkJCQk8Y29u + dGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPgrpm7vmsJfoqK3lgpnjga7lrprm + nJ/ngrnmpJzkvZzmpa3nrYnjgavkvLTjgYblgZzpm7vjgavjgojjgorjgIHk + u6XkuIvjga7mqZ/og73jgYzliKnnlKjjgafjgY3jgb7jgZvjgpPjgII8YnIg + Lz4KPGJyIC8+Cu+8nOWbs+abuOmkqOWToeOBruaWueWQkeOBke+8njxiciAv + Pgrpm7vlrZDjg6Hjg7zjg6vjgafjga7nm7jkupLosrjlgJ/kvp3poLzvvIjl + m7Pmm7jppKjplpPosrjlh7rvvIk8YnIgLz4K5YGc5q2i5pyf6ZaT77yaMTDm + nIgxMeaXpSjlnJ8pIDE5OjMw44CA772e44CAMTDmnIgxM+aXpSjmnIgpIDEy + OjAwPGJyIC8+CjxiciAvPgrjgZTkuI3kvr/jgpLjgYrjgYvjgZHjgZfjgb7j + gZnjgYzjgIHjgZTkuobmib/jgY/jgaDjgZXjgYTjgb7jgZnjgojjgYbjgYrp + oZjjgYTjgYTjgZ/jgZfjgb7jgZnjgII8L3A+Cl1dPjwvY29udGVudDplbmNv + ZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAv + aW5mb3JtYXRpb24vMjAxNC8wOS8yMDE0MDkxN19hbm5vdW5jZS0wMS9mZWVk + Lzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNo + OmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVsPSJhbHRlcm5hdGUiIG1lZGlh + PSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1sIiBocmVmPSJodHRwOi8vaXNz + Lm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIwMTQwOTE3X2Fubm91 + bmNlLTAxLyIgLz4KCTwvaXRlbT4KCQk8aXRlbT4KCQk8dGl0bGU+5Zu956uL + 5Zu95Lya5Zuz5pu46aSo44K144O844OBIEFQSeWIqeeUqOeUs+iri+ODleOC + qeODvOODoOOCkuabtOaWsOOBl+OBvuOBl+OBn+OAgjwvdGl0bGU+CgkJPGxp + bms+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8w + MV9hbm5vdW5jZS0xLzwvbGluaz4KCQk8Y29tbWVudHM+aHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8wMV9hbm5vdW5jZS0xLyNj + b21tZW50czwvY29tbWVudHM+CgkJPHB1YkRhdGU+TW9uLCAwMSBTZXAgMjAx + NCAwNDowMDoyOSArMDAwMDwvcHViRGF0ZT4KCQk8ZGM6Y3JlYXRvcj48IVtD + REFUQVvkuovli5nlsYBdXT48L2RjOmNyZWF0b3I+CgkJCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFb5pyq5YiG6aGeXV0+PC9jYXRlZ29yeT4KCgkJPGd1aWQgaXNQ + ZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi8/cD0xMDEzPC9ndWlkPgoJCTxkZXNjcmlwdGlvbj48IVtDREFUQVvl + m73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjga5BUEnliKnnlKjjgavj + gaTjgY3jgb7jgZfjgabjgIHjgZPjgozjgb7jgafjga/jgIHjgYrllY/jgYTl + kIjjgo/jgZvjg5Xjgqnjg7zjg6DjgYvjgonlv4XopoHkuovpoIXjgpLoqJjl + haXjgZfjgabnlLPoq4vjgZfjgabjgYQgWyYjODIzMDtdXV0+PC9kZXNjcmlw + dGlvbj4KCQkJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+CuWbveer + i+WbveS8muWbs+abuOmkqOOCteODvOODgeOBrkFQSeWIqeeUqOOBq+OBpOOB + jeOBvuOBl+OBpuOAgeOBk+OCjOOBvuOBp+OBr+OAgeOBiuWVj+OBhOWQiOOC + j+OBm+ODleOCqeODvOODoOOBi+OCieW/heimgeS6i+mgheOCkuiomOWFpeOB + l+OBpueUs+iri+OBl+OBpuOBhOOBn+OBoOOBhOOBpuOBhOOBvuOBl+OBn+OB + jOOAgeaWsOOBn+OBq+WIqeeUqOeUs+iri+ODleOCqeODvOODoOOCkuioreOB + keOBpuOAgeeUs+iri+OBruaJi+e2muOBjeOCkuewoee0oOWMluOBl+OBvuOB + l+OBn+OAgjxiciAvPgo8YnIgLz4KPGEgaHJlZj0iaHR0cDovL3d3dy5uZGwu + Z28uanAvanAvc2VydmljZS9hcGlfYXBwbGljYXRpb24uaHRtbCI+5Zu956uL + 5Zu95Lya5Zuz5pu46aSo44K144O844OBQVBJ5Yip55So55Sz6KuL44OV44Kp + 44O844OgPC9hPjxiciAvPgo8YSBocmVmPSJodHRwOi8vd3d3Lm5kbC5nby5q + cC9lbi9zZXJ2aWNlL2FwaV9hcHBsaWNhdGlvbi5odG1sIj5BcHBsaWNhdGlv + biBQcm9ncmFtbWluZyBJbnRlcmZhY2UgKEFQSSkgb2YgdGhlIE5ETCBTZWFy + Y2g6IEFwcGxpY2F0aW9uIEZvcm08L2E+PGJyIC8+CjxiciAvPgrjgarjgYrj + gIHlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjga5BUEnjgpLjgZTl + iKnnlKjjgYTjgZ/jgaDjgY/loLTlkIjjgIHjgZTliKnnlKjnm67nmoTjgavj + gojjgaPjgabmiYvntprjgY3jgYznlbDjgarjgorjgb7jgZnjgILjgZTliKnn + lKjjga7liY3jgavjgIHlv4XjgZrjgIw8YSBocmVmPSJodHRwOi8vaXNzLm5k + bC5nby5qcC9pbmZvcm1hdGlvbi9hcGkvcml5b3UvIj7lm73nq4vlm73kvJrl + m7Pmm7jppKjjgrXjg7zjg4HjgavjgaTjgYTjgabvvJ5BUEnjga7jgZTliKnn + lKjjgavjgaTjgYTjgaY8L2E+44CN44KS44GU6Kan44GP44Gg44GV44GE44CC + PGJyIC8+CjxiciAvPgo8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPgoJCQk8 + d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRp + b24vMjAxNC8wOS8wMV9hbm5vdW5jZS0xL2ZlZWQvPC93Znc6Y29tbWVudFJz + cz4KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+Cgk8eGh0 + bWw6bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRoZWxkIiB0eXBl + PSJ0ZXh0L2h0bWwiIGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9y + bWF0aW9uLzIwMTQvMDkvMDFfYW5ub3VuY2UtMS8iIC8+Cgk8L2l0ZW0+CgkJ + PGl0ZW0+CgkJPHRpdGxlPuWbveeri+WbveS8muWbs+abuOmkqOOBruOCquOD + s+ODqeOCpOODs+OCteODvOODk+OCueOChOmBoOmalOikh+WGmeOCteODvOOD + k+OCueetieOBq+mWouOBmeOCi+OCouODs+OCseODvOODiOOBq+OBlOWNlOWK + m+OCkuOBiumhmOOBhOOBl+OBvuOBme+8iDnmnIgyNuaXpe+8iOmHke+8ieOB + vuOBp++8ieOAgjwvdGl0bGU+CgkJPGxpbms+aHR0cDovL2lzcy5uZGwuZ28u + anAvaW5mb3JtYXRpb24vMjAxNC8wOS8wMV9hbm5vdW5jZS0yLzwvbGluaz4K + CQk8Y29tbWVudHM+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24v + MjAxNC8wOS8wMV9hbm5vdW5jZS0yLyNjb21tZW50czwvY29tbWVudHM+CgkJ + PHB1YkRhdGU+TW9uLCAwMSBTZXAgMjAxNCAwNDowMDoxMiArMDAwMDwvcHVi + RGF0ZT4KCQk8ZGM6Y3JlYXRvcj48IVtDREFUQVvkuovli5nlsYBdXT48L2Rj + OmNyZWF0b3I+CgkJCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb5pyq5YiG6aGeXV0+ + PC9jYXRlZ29yeT4KCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRw + Oi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8/cD0xMDE0PC9ndWlkPgoJ + CTxkZXNjcmlwdGlvbj48IVtDREFUQVvlm73nq4vlm73kvJrlm7Pmm7jppKjj + ga7jgqrjg7Pjg6njgqTjg7PjgrXjg7zjg5PjgrnjgoTpgaDpmpTopIflhpnj + grXjg7zjg5PjgrnnrYnjgpLmlLnlloTjgZnjgovjgZ/jgoHjgavjgIHjgqLj + g7PjgrHjg7zjg4jjgpLlrp/mlr3jgZfjgabjgYTjgb7jgZnjgIIg5Zu956uL + 5Zu95LyaIFsmIzgyMzA7XV1dPjwvZGVzY3JpcHRpb24+CgkJCQk8Y29udGVu + dDplbmNvZGVkPjwhW0NEQVRBWzxwPgrlm73nq4vlm73kvJrlm7Pmm7jppKjj + ga7jgqrjg7Pjg6njgqTjg7PjgrXjg7zjg5PjgrnjgoTpgaDpmpTopIflhpnj + grXjg7zjg5PjgrnnrYnjgpLmlLnlloTjgZnjgovjgZ/jgoHjgavjgIE8YSBo + cmVmPSJodHRwczovL2VucTMuY3N2aWV3LmpwL3F1ZXN0aW9uL25kbGh5b2th + L0gyNkhQRW5xdWV0ZS9IMjZIUEVucXVldGUuY2dpIj7jgqLjg7PjgrHjg7zj + g4g8L2E+44KS5a6f5pa944GX44Gm44GE44G+44GZ44CCPGJyIC8+CjxiciAv + Pgo8YSBocmVmPSJodHRwczovL2VucTMuY3N2aWV3LmpwL3F1ZXN0aW9uL25k + bGh5b2thL0gyNkhQRW5xdWV0ZS9IMjZIUEVucXVldGUuY2dpIj7lm73nq4vl + m73kvJrlm7Pmm7jppKjjg5vjg7zjg6Djg5rjg7zjgrjjgqLjg7PjgrHjg7zj + g4g8L2E+PGJyIC8+CjxiciAvPgrlvZPppKjjga7jgrXjg7zjg5Pjgrnjga7k + uIDlsaTjga7mlLnlloTjgavlvbnnq4vjgabjgovjgZ/jgoHjgIHnmobmp5jj + ga7jgZTmhI/opovjgpLjgYrogZ7jgYvjgZvjgY/jgaDjgZXjgYTjgII8YnIg + Lz4KPC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4KCQkJPHdmdzpjb21tZW50 + UnNzPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDkv + MDFfYW5ub3VuY2UtMi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNo + OmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVs + PSJhbHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1s + IiBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0 + LzA5LzAxX2Fubm91bmNlLTIvIiAvPgoJPC9pdGVtPgoJCTxpdGVtPgoJCTx0 + aXRsZT5OREwtT1BBQ+ODoeODs+ODhuODiuODs+OCueOBruOBiuefpeOCieOB + m++8iDIwMTTlubQ55pyIMTTml6U35pmC44GL44KJMjLmmYLvvIk8L3RpdGxl + PgoJCTxsaW5rPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIw + MTQvMDgvMjAxNDA4MjlfYW5ub3VuY2UvPC9saW5rPgoJCTxjb21tZW50cz5o + dHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4LzIwMTQw + ODI5X2Fubm91bmNlLyNjb21tZW50czwvY29tbWVudHM+CgkJPHB1YkRhdGU+ + RnJpLCAyOSBBdWcgMjAxNCAwMjo0ODo0OSArMDAwMDwvcHViRGF0ZT4KCQk8 + ZGM6Y3JlYXRvcj48IVtDREFUQVtOREwgU2VhcmNoXV0+PC9kYzpjcmVhdG9y + PgoJCQkJPGNhdGVnb3J5PjwhW0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdv + cnk+CgoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vP3A9MTAxNTwvZ3VpZD4KCQk8ZGVzY3Jp + cHRpb24+PCFbQ0RBVEFbMjAxNOW5tDnmnIgxNOaXpSjml6UpIDfmmYLjgYvj + gokyMuaZguOBrumWk+OAgU5ETC1PUEFD44GM44K344K544OG44Og44Oh44Oz + 44OG44OK44Oz44K544Gu44Gf44KB5YGc5q2i44GX44G+44GZ44CCIOOBneOB + riBbJiM4MjMwO11dXT48L2Rlc2NyaXB0aW9uPgoJCQkJPGNvbnRlbnQ6ZW5j + b2RlZD48IVtDREFUQVs8cD4KMjAxNOW5tDnmnIgxNOaXpSjml6UpIDfmmYLj + gYvjgokyMuaZguOBrumWk+OAgU5ETC1PUEFD44GM44K344K544OG44Og44Oh + 44Oz44OG44OK44Oz44K544Gu44Gf44KB5YGc5q2i44GX44G+44GZ44CCPGJy + IC8+CuOBneOBrumWk+OAgeWbveeri+WbveS8muWbs+abuOmkqOOCteODvOOD + geOBp+OBr+OAgeaknOe0oue1kOaenOOBiuOCiOOBs+abuOiqjOips+e0sOOB + i+OCieOBrk5ETC1PUEFD44G444Gu44Oq44Oz44Kv44GM5L2/55So44Gn44GN + 44G+44Gb44KT44CCPGJyIC8+CjxiciAvPgrjgZTkuI3kvr/jgpLjgYrjgYvj + gZHjgZfjgb7jgZnjgYzjgIHjgZTkuobmib/jgY/jgaDjgZXjgYTjgII8L3A+ + Cl1dPjwvY29udGVudDplbmNvZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0 + cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOC8yMDE0MDgy + OV9hbm5vdW5jZS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNoOmNv + bW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVsPSJh + bHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1sIiBo + cmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4 + LzIwMTQwODI5X2Fubm91bmNlLyIgLz4KCTwvaXRlbT4KCQk8aXRlbT4KCQk8 + dGl0bGU+44CQ5b6p5pen44Gu44GK55+l44KJ44Gb44CR44K344K544OG44Og + 6Zqc5a6z44Gr44Gk44GE44Gm77yIMjAxNOW5tDjmnIg05pel77yJPC90aXRs + ZT4KCQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8y + MDE0LzA4LzIwMTQwODA0X2Fubm91bmNlLTIvPC9saW5rPgoJCTxjb21tZW50 + cz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4LzIw + MTQwODA0X2Fubm91bmNlLTIvI2NvbW1lbnRzPC9jb21tZW50cz4KCQk8cHVi + RGF0ZT5TdW4sIDAzIEF1ZyAyMDE0IDIzOjQ1OjIxICswMDAwPC9wdWJEYXRl + PgoJCTxkYzpjcmVhdG9yPjwhW0NEQVRBW05ETCBTZWFyY2hdXT48L2RjOmNy + ZWF0b3I+CgkJCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb5pyq5YiG6aGeXV0+PC9j + YXRlZ29yeT4KCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8v + aXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8/cD05OTE8L2d1aWQ+CgkJPGRl + c2NyaXB0aW9uPjwhW0NEQVRBW+manOWus+OBruOBn+OCgeWBnOatouOBl+OB + puOBhOOBn+OAgeWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBruak + nOe0ouapn+iDveOBjOW+qeaXp+OBhOOBn+OBl+OBvuOBl+OBn+OAgiDjgZTo + v7fmg5HjgpLjgYrjgYvjgZHjgZfjgb7jgZfjgabjgIHnlLPjgZfoqLPjgZTj + gZYgWyYjODIzMDtdXV0+PC9kZXNjcmlwdGlvbj4KCQkJCTxjb250ZW50OmVu + Y29kZWQ+PCFbQ0RBVEFbPHA+CumanOWus+OBruOBn+OCgeWBnOatouOBl+OB + puOBhOOBn+OAgeWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBruak + nOe0ouapn+iDveOBjOW+qeaXp+OBhOOBn+OBl+OBvuOBl+OBn+OAgjxiciAv + Pgo8YnIgLz4K44GU6L+35oOR44KS44GK44GL44GR44GX44G+44GX44Gm44CB + 55Sz44GX6Kiz44GU44GW44GE44G+44Gb44KT44Gn44GX44Gf44CCPC9wPgpd + XT48L2NvbnRlbnQ6ZW5jb2RlZD4KCQkJPHdmdzpjb21tZW50UnNzPmh0dHA6 + Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDgvMjAxNDA4MDRf + YW5ub3VuY2UtMi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNoOmNv + bW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVsPSJh + bHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1sIiBo + cmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4 + LzIwMTQwODA0X2Fubm91bmNlLTIvIiAvPgoJPC9pdGVtPgoJCTxpdGVtPgoJ + CTx0aXRsZT7ml6LlrZjpgKPmkLrmqZ/plqLjgajjga7pgKPmkLrmlrnlvI/l + pInmm7TjgavjgaTjgYTjgabvvIgyMDE05bm0N+aciDE45pel77yJPC90aXRs + ZT4KCQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8y + MDE0LzA3LzE4X2Fubm91bmNlLzwvbGluaz4KCQk8Y29tbWVudHM+aHR0cDov + L2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wNy8xOF9hbm5vdW5j + ZS8jY29tbWVudHM8L2NvbW1lbnRzPgoJCTxwdWJEYXRlPkZyaSwgMTggSnVs + IDIwMTQgMDU6MDA6MDggKzAwMDA8L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+ + PCFbQ0RBVEFb5LqL5YuZ5bGAXV0+PC9kYzpjcmVhdG9yPgoJCQkJPGNhdGVn + b3J5PjwhW0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdvcnk+CgoJCTxndWlk + IGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5m + b3JtYXRpb24vP3A9OTY5PC9ndWlkPgoJCTxkZXNjcmlwdGlvbj48IVtDREFU + QVvovrLmnpfmsLTnlKPplqLkv4LoqabpqJPnoJTnqbbmqZ/plqLnt4/lkIjn + m67pjLLjgajjga7pgKPmkLrjgpLplovlp4vjgZfjgb7jgZfjgZ/jgIIg44CA + 6L6y5p6X5rC055Sj6Zai5L+C6Kmm6aiT56CU56m25qmf6Zai57eP5ZCI55uu + 6Yyy77yIaHR0cDovL28gWyYjODIzMDtdXV0+PC9kZXNjcmlwdGlvbj4KCQkJ + CTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+Cjx1bD4KCTxsaT4KPGg0 + Pui+suael+awtOeUo+mWouS/guippumok+eglOeptuapn+mWoue3j+WQiOeb + rumMsuOBqOOBrumAo+aQuuOCkumWi+Wni+OBl+OBvuOBl+OBn+OAgjwvaDQ+ + CjwvbGk+CjwvdWw+CuOAgOi+suael+awtOeUo+mWouS/guippumok+eglOep + tuapn+mWoue3j+WQiOebrumMsu+8iDxhIGhyZWY9Imh0dHA6Ly9vcGFjLmNj + LmFmZnJjLmdvLmpwLyI+aHR0cDovL29wYWMuY2MuYWZmcmMuZ28uanAvPC9h + Pu+8ieOBr+i+suael+awtOeUo+ecgeaJgOeuoeOBruWFqOWbveOBruippumo + k+eglOeptuapn+mWouOBjOaJgOiUteOBmeOCi+Wbs+abuOizh+aWmemhnuOB + iuOCiOOBs+mbkeiqjOOBrue3j+WQiOebrumMsuOBp+OBmeOAguabuOiqjOOB + iuOCiOOBs+aJgOWcqOaDheWgseOCkuaPkOS+m+OBl+OBpuOBhOOBvuOBmeOA + gjxiciAvPgo8YnIgLz4K5aSW6YOo5o+Q5L6b44Kk44Oz44K/44OV44Kn44O8 + 44K577yIQVBJ77yJ44Gr44KI44KK44CB44OH44O844K/44Gu5qSc57Si44Go + 44OP44O844OZ44K544OI44GM5Y+v6IO944Gn44GZ44CCPGJyIC8+CuODh+OD + vOOCv+ODl+ODreODkOOCpOODgElE77yabm9zdWk8YnIgLz4K44Oq44Od44K4 + 44OI44Oq55Wq5Y+377yaUjEwMDAwMDA3NDxiciAvPgrmpJzntKLnlKhBUEnv + vJpTUlXjgIFTUlfjgIFPcGVuU2VhcmNo44CBWjM5LjUwPGJyIC8+CuODj+OD + vOODmeOCueODiOeUqEFQSe+8mk9BSS1QTUg8YnIgLz4KPGJyIC8+CuOAgOOB + quOBiuOAgeaXouWtmOOBruODh+ODvOOCv+ODl+ODreODkOOCpOODgOOAjOi+ + suael+awtOeUo+mWouS/guippumok+eglOeptuapn+mWoue3j+WQiOebrumM + su+8iOmbkeiqjO+8ieOAjeOAjOi+suael+awtOeUo+mWouS/guippumok+eg + lOeptuapn+mWoue3j+WQiOebrumMsu+8iOWbs+abuO+8ieOAjeOBr+OAgeaW + sOimj+mAo+aQuumWi+Wni+OBq+S8tOOBhOOAjOi+suael+awtOeUo+mWouS/ + guippumok+eglOeptuapn+mWoue3j+WQiOebrumMsuOAjeOBq+mbhue0hOOB + leOCjOOBvuOBmeOAgjxiciAvPgo8YnIgLz4KJm5ic3A7PGJyIC8+Cjx1bD4K + CTxsaT4KPGg0PuS5neW3nuWkp+Wtpue3j+WQiOeglOeptuWNmueJqemkqOOD + h+OCuOOCv+ODq+OCouODvOOCq+OCpOODluOBqOOBrumAo+aQuuOCkue1guS6 + huOBl+OBvuOBl+OBn+OAgjwvaDQ+CjwvbGk+CjwvdWw+CuOAgOS5neW3nuWk + p+Wtpue3j+WQiOeglOeptuWNmueJqemkqOODh+OCuOOCv+ODq+OCouODvOOC + q+OCpOODlu+8iDxhIGhyZWY9Imh0dHA6Ly93d3cubXVzZXVtLmt5dXNodS11 + LmFjLmpwLyI+aHR0cDovL3d3dy5tdXNldW0ua3l1c2h1LXUuYWMuanAvPC9h + Pu+8ieOBruOCteODvOODk+OCueaPkOS+m+e1guS6huOBq+S8tOOBhOOAgU5E + TOOCteODvOODgeOBqOOBrumAo+aQuuOCkue1guS6huOBl+OBvuOBl+OBn+OA + gjxiciAvPgo8YnIgLz4K44CA44GT44Gu44Gf44KB44CB44OH44O844K/44OX + 44Ot44OQ44Kk44OASUQoa3l1c2h1KeOBq+OBpOOBhOOBpuOBr+OAgU9BSS1Q + TUjjga5MaXN0SWRlbnRpZmllcnPjgIFMaXN0UmVjb3Jkc+OBrmZyb23jg5Hj + g6njg6Hjg7zjgr/jgavliYrpmaTml6XvvIgyMDE0LTA3LTE377yJ44KS5oyH + 5a6a44GZ44KL44GT44Go44Gr44KI44KK44CB5YmK6Zmk44KS56S644GZ44Oh + 44K/44OH44O844K/44GM6L+U5oi744GV44KM44G+44GZ44CCPGJyIC8+CuOA + gOips+e0sOOBq+OBpOOBhOOBpuOBr+OAgTxhIGhyZWY9Imh0dHA6Ly9pc3Mu + bmRsLmdvLmpwL2luZm9ybWF0aW9uL2FwaS8iPkFQSeS7leanmOabuDwvYT7j + gpLjgZTopqfjgY/jgaDjgZXjgYTjgII8L3A+Cl1dPjwvY29udGVudDplbmNv + ZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAv + aW5mb3JtYXRpb24vMjAxNC8wNy8xOF9hbm5vdW5jZS9mZWVkLzwvd2Z3OmNv + bW1lbnRSc3M+CgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRz + PgoJPHhodG1sOmxpbmsgcmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVs + ZCIgdHlwZT0idGV4dC9odG1sIiBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5q + cC9pbmZvcm1hdGlvbi8yMDE0LzA3LzE4X2Fubm91bmNlLyIgLz4KCTwvaXRl + bT4KCQk8aXRlbT4KCQk8dGl0bGU+44CMV2ViIE5ETCBBdXRob3JpdGllcyDj + gqLjg7PjgrHjg7zjg4jjgI3jgavjgZTljZTlipvjgY/jgaDjgZXjgYTvvIg2 + 5pyIMjPml6XjgYvjgok55pyIMjbml6Xjgb7jgafvvIk8L3RpdGxlPgoJCTxs + aW5rPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDYv + MjNfYW5ub3VuY2UtMy88L2xpbms+CgkJPGNvbW1lbnRzPmh0dHA6Ly9pc3Mu + bmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDYvMjNfYW5ub3VuY2UtMy8j + Y29tbWVudHM8L2NvbW1lbnRzPgoJCTxwdWJEYXRlPk1vbiwgMjMgSnVuIDIw + MTQgMDA6MDA6NTAgKzAwMDA8L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+PCFb + Q0RBVEFb5LqL5YuZ5bGAXV0+PC9kYzpjcmVhdG9yPgoJCQkJPGNhdGVnb3J5 + PjwhW0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdvcnk+CgoJCTxndWlkIGlz + UGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3Jt + YXRpb24vP3A9OTYwPC9ndWlkPgoJCTxkZXNjcmlwdGlvbj48IVtDREFUQVs2 + 5pyIMjPml6XvvIjmnIjvvInjgYvjgok55pyIMjbml6XvvIjph5HvvInjgb7j + gafjgIEg5Zu956uL5Zu95Lya5Zuz5pu46aSo5YW45oug44OH44O844K/5qSc + 57Si44O75o+Q5L6b44K144O844OT44K577yIV2ViIE5ETCBBdXQgWyYjODIz + MDtdXV0+PC9kZXNjcmlwdGlvbj4KCQkJCTxjb250ZW50OmVuY29kZWQ+PCFb + Q0RBVEFbPHA+CjbmnIgyM+aXpe+8iOaciO+8ieOBi+OCiTnmnIgyNuaXpe+8 + iOmHke+8ieOBvuOBp+OAgTxhIGhyZWY9Imh0dHA6Ly9pZC5uZGwuZ28uanAv + YXV0aC9uZGxhIj4g5Zu956uL5Zu95Lya5Zuz5pu46aSo5YW45oug44OH44O8 + 44K/5qSc57Si44O75o+Q5L6b44K144O844OT44K577yIV2ViIE5ETCBBdXRo + b3JpdGllc++8iTwvYT7jgavplqLjgZnjgos8YSBocmVmPSJodHRwczovL2Vu + cTMuY3N2aWV3LmpwL3F1ZXN0aW9uL25kbGh5b2thL05ETEEvTkRMQS5jZ2ki + PuOCouODs+OCseODvOODiDwvYT7jgpLlrp/mlr3jgZfjgabjgYTjgb7jgZnj + gII8YnIgLz4KV2ViIE5ETCBBdXRob3JpdGllc+OBr+OAgeWbveeri+WbveS8 + muWbs+abuOmkqOOBjOe2reaMgeeuoeeQhuOBmeOCi+WFuOaLoOODh+ODvOOC + v+OCkuS4gOWFg+eahOOBq+aknOe0ouODu+aPkOS+m+OBmeOCi+OCteODvOOD + k+OCueOBp+OBmeOAguWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOB + rjxhIGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2Z1 + bmN0aW9uLyMxNSI+6Zai6YCj44Kt44O844Ov44O844OJPC9hPuOBq+WIqeeU + qOOBmeOCi+OBquOBqeOAgeebuOS6kuOBq+mAo+aQuuOBl+OBpuOBhOOBvuOB + meOAgjxiciAvPgo8YnIgLz4KPGEgaHJlZj0iaHR0cHM6Ly9lbnEzLmNzdmll + dy5qcC9xdWVzdGlvbi9uZGxoeW9rYS9ORExBL05ETEEuY2dpIj5XZWIgTkRM + IEF1dGhvcml0aWVz44Gr6Zai44GZ44KL44Ki44Oz44Kx44O844OIPC9hPjxi + ciAvPgo8YnIgLz4KV2ViIE5ETCBBdXRob3JpdGllc+OBruS4gOWxpOOBruaU + ueWWhOOBq+W9ueeri+OBpuOCi+OBn+OCgeOAgeOBlOWNlOWKm+OCkuOBiumh + mOOBhOOBl+OBvuOBmeOAgjxiciAvPgo8L3A+Cl1dPjwvY29udGVudDplbmNv + ZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAv + aW5mb3JtYXRpb24vMjAxNC8wNi8yM19hbm5vdW5jZS0zL2ZlZWQvPC93Znc6 + Y29tbWVudFJzcz4KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVu + dHM+Cgk8eGh0bWw6bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRo + ZWxkIiB0eXBlPSJ0ZXh0L2h0bWwiIGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdv + LmpwL2luZm9ybWF0aW9uLzIwMTQvMDYvMjNfYW5ub3VuY2UtMy8iIC8+Cgk8 + L2l0ZW0+CgkJPGl0ZW0+CgkJPHRpdGxlPumAo+aQuuOCkuW4jOacm+OBleOC + jOOCi+apn+mWouOBruaWueOBq+WQkeOBkeOBn+ODmuODvOOCuOOCkuabtOaW + sOOBl+OBvuOBl+OBnyDvvIgyMDE05bm0NuaciDE35pel77yJPC90aXRsZT4K + CQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0 + LzA2LzE3X2Fubm91bmNlLTYvPC9saW5rPgoJCTxjb21tZW50cz5odHRwOi8v + aXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA2LzE3X2Fubm91bmNl + LTYvI2NvbW1lbnRzPC9jb21tZW50cz4KCQk8cHViRGF0ZT5UdWUsIDE3IEp1 + biAyMDE0IDA0OjAwOjMzICswMDAwPC9wdWJEYXRlPgoJCTxkYzpjcmVhdG9y + PjwhW0NEQVRBW+S6i+WLmeWxgF1dPjwvZGM6Y3JlYXRvcj4KCQkJCTxjYXRl + Z29yeT48IVtDREFUQVvmnKrliIbpoZ5dXT48L2NhdGVnb3J5PgoKCQk8Z3Vp + ZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2lu + Zm9ybWF0aW9uLz9wPTk2MTwvZ3VpZD4KCQk8ZGVzY3JpcHRpb24+PCFbQ0RB + VEFb5Zu956uL5Zu95Lya5Zuz5pu46aSo44K144O844OB44Gv44CB5qeY44CF + 44Gq5aSW6YOo5qmf6Zai44GL44KJ44OH44O844K/44KS5Y+O6ZuG44GX44CB + 5o+Q5L6b44GX44Gm44GE44G+44GZ44CCIOOBk+OBruW6puOAgeWbveeri+Wb + veS8muWbs+abuOmkqOOCteODvOODgeOBqOmAo+aQuiBbJiM4MjMwO11dXT48 + L2Rlc2NyaXB0aW9uPgoJCQkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8 + cD4K5Zu956uL5Zu95Lya5Zuz5pu46aSo44K144O844OB44Gv44CB5qeY44CF + 44Gq5aSW6YOo5qmf6Zai44GL44KJ44OH44O844K/44KS5Y+O6ZuG44GX44CB + 5o+Q5L6b44GX44Gm44GE44G+44GZ44CCPGJyIC8+CuOBk+OBruW6puOAgeWb + veeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBqOmAo+aQuuOBhOOBn+OB + oOOBj+mam+OBq+OBlOa0u+eUqOOBhOOBn+OBoOOBkeOCi+OCueOCreODvOOD + nuODleOCoeOCpOODq+OChOmAo+aQuuOBvuOBp+OBruaJi+mghuOBquOBqeOC + kuOAgeaWsOOBn+OBq+WFrOmWi+OBl+OBvuOBl+OBn+OAgjxiciAvPgo8dWw+ + Cgk8bGk+REMtTkRMKFJERinjgIFEQy1OREwoU2ltcGxlKVhNTOOCueOCreOD + vOODnjwvbGk+CuWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBqOOB + rumAo+aQuuOBq+WQkeOBkeOBpuOAgeWHuuWKm+OBhOOBn+OBoOOBj1hNTOOB + jOODleOCqeODvOODnuODg+ODiOS7leanmOmAmuOCiuOBq+OBquOBo+OBpuOB + hOOCi+OBi+OCkuOBlOeiuuiqjeOBhOOBn+OBoOOBkeOCi+OAgURDLU5ETChS + REYp44CBREMtTkRMKFNpbXBsZSlYTUzjgrnjgq3jg7zjg57jgpLkvZzmiJDj + gZfjgb7jgZfjgZ/jgILjgZTliKnnlKjmlrnms5XjgarjganjgavjgaTjgYTj + gabjga/jgIHjgIw8YSBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZv + cm1hdGlvbi9yZW5rZWkvIzUiPumAo+aQuuOCkuW4jOacm+OBleOCjOOCi+ap + n+mWouOBruaWueOBuO+8njUu5Y+C6ICD6LOH5paZPC9hPuOAjeOCkuOBlOWP + gueFp+OBj+OBoOOBleOBhOOAgjxiciAvPgo8YnIgLz4KCTxsaT7lm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4HpgKPmkLrjg57jg4vjg6XjgqLjg6s8 + L2xpPgrpgKPmkLrplovlp4vjgb7jgafjga7miYvpoIbjgpLjgb7jgajjgoHj + gZ/jgIzlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4HpgKPmkLrjg57j + g4vjg6XjgqLjg6vjgI3jgpLkvZzmiJDjgZfjgb7jgZfjgZ/jgILjgIw8YSBo + cmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi9yZW5rZWkv + IzUiPumAo+aQuuOCkuW4jOacm+OBleOCjOOCi+apn+mWouOBruaWueOBuO+8 + njUu5Y+C6ICD6LOH5paZPC9hPuOAjeOBq+aOsui8ieOBl+OBpuOBhOOBvuOB + meOAgjxiciAvPgo8YnIgLz4KCTxsaT7lm73nq4vlm73kvJrlm7Pmm7jppKjn + t4/lkIjnm67pjLLjg43jg4Pjg4jjg6/jg7zjgq/vvIjjgobjgavjgYvjga3j + gaPjgajvvInjg4fjg7zjgr/mj5DkvpvppKjjga7mlrnjgbjlkJHjgZHjgZ/j + g5rjg7zjgrjvvIg8YSBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZv + cm1hdGlvbi9zb21va3UvIj5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi9zb21va3UvPC9hPu+8ieOCkui/veWKoOOBl+OBvuOBl+OBn+OAgjwv + bGk+CjxiciAvPgoJPGxpPuODh+ODvOOCv+aPkOS+m+OBq+mWouOBmeOCi+OB + lOizquWVj+OCkuOAgeOAjOOCiOOBj+OBguOCi+OBlOizquWVj+OAje+8iDxh + IGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2ZhcS8i + Pmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2ZhcS88L2E+77yJ + 44Gr6L+95Yqg44GX44G+44GX44Gf44CCPC9saT4KPC91bD4KPGJyIC8+CuOB + nOOBsuOBlOWIqeeUqOOBj+OBoOOBleOBhOOAgjwvcD4KXV0+PC9jb250ZW50 + OmVuY29kZWQ+CgkJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vaXNzLm5kbC5n + by5qcC9pbmZvcm1hdGlvbi8yMDE0LzA2LzE3X2Fubm91bmNlLTYvZmVlZC88 + L3dmdzpjb21tZW50UnNzPgoJCTxzbGFzaDpjb21tZW50cz4wPC9zbGFzaDpj + b21tZW50cz4KCTx4aHRtbDpsaW5rIHJlbD0iYWx0ZXJuYXRlIiBtZWRpYT0i + aGFuZGhlbGQiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wNi8xN19hbm5vdW5jZS02LyIg + Lz4KCTwvaXRlbT4KCTwvY2hhbm5lbD4KPC9yc3M+Cg== + http_version: '1.0' + recorded_at: Wed, 01 Oct 2014 07:21:05 GMT +recorded_with: VCR 2.9.3 diff --git a/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml b/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml new file mode 100644 index 0000000..e4000aa --- /dev/null +++ b/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml @@ -0,0 +1,66 @@ +--- +http_interactions: +- request: + method: get + uri: http://example.com/invalid_feed + body: + encoding: US-ASCII + string: '' + headers: + user-agent: + - Faraday v0.9.0 + accept-encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + accept-ranges: + - bytes + cache-control: + - max-age=604800 + content-type: + - text/html + date: + - Wed, 01 Oct 2014 07:21:05 GMT + etag: + - '"359670651"' + expires: + - Wed, 08 Oct 2014 07:21:05 GMT + last-modified: + - Fri, 09 Aug 2013 23:54:35 GMT + server: + - ECS (lax/4514) + x-cache: + - HIT + x-ec-custom-error: + - '1' + content-length: + - '1270' + connection: + - close + body: + encoding: UTF-8 + string: "\n\n\n Example Domain\n\n + \ \n \n \n \n\n\n\n
\n

Example Domain

\n + \

This domain is established to be used for illustrative examples in + documents. You may use this\n domain in examples without prior coordination + or asking for permission.

\n

More + information...

\n
\n\n\n" + http_version: '1.1' + recorded_at: Wed, 01 Oct 2014 07:21:05 GMT +recorded_with: VCR 2.9.3 diff --git a/spec/cassette_library/NewsFeed/should_reload_content.yml b/spec/cassette_library/NewsFeed/should_reload_content.yml new file mode 100644 index 0000000..4f93d0a --- /dev/null +++ b/spec/cassette_library/NewsFeed/should_reload_content.yml @@ -0,0 +1,546 @@ +--- +http_interactions: +- request: + method: get + uri: http://iss.ndl.go.jp/information/feed/ + body: + encoding: US-ASCII + string: '' + headers: + user-agent: + - Faraday v0.9.0 + accept-encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + date: + - Wed, 01 Oct 2014 07:21:05 GMT + server: + - Apache + expires: + - Thu, 19 Nov 1981 08:52:00 GMT + cache-control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + pragma: + - no-cache + x-pingback: + - http://iss.ndl.go.jp/information/xmlrpc.php + last-modified: + - Tue, 30 Sep 2014 10:39:17 GMT + etag: + - '"a7c11f1aac82a10a604c4cdf2924af0b"' + content-type: + - text/xml; charset=UTF-8 + set-cookie: + - PHPSESSID=b6q4jl7dl4hj724ss96e0rvnc7; path=/ + - serverid=1101; path=/ + - ROUTEID=.wp02; path=/ + vary: + - Accept-Encoding,User-Agent + content-encoding: + - gzip + x-content-type-options: + - nosniff + x-frame-options: + - SAMEORIGIN + connection: + - close + body: + encoding: ASCII-8BIT + string: !binary |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJzcyB2 + ZXJzaW9uPSIyLjAiCgl4bWxuczpjb250ZW50PSJodHRwOi8vcHVybC5vcmcv + cnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIgoJeG1sbnM6d2Z3PSJodHRwOi8v + d2VsbGZvcm1lZHdlYi5vcmcvQ29tbWVudEFQSS8iCgl4bWxuczpkYz0iaHR0 + cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCgl4bWxuczphdG9tPSJo + dHRwOi8vd3d3LnczLm9yZy8yMDA1L0F0b20iCgl4bWxuczpzeT0iaHR0cDov + L3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9zeW5kaWNhdGlvbi8iCgl4bWxu + czpzbGFzaD0iaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9zbGFz + aC8iCgkJeG1sbnM6eGh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0 + bWwiCj4KCjxjaGFubmVsPgoJPHRpdGxlPuWbveeri+WbveS8muWbs+abuOmk + qOOCteODvOODgeOBq+OBpOOBhOOBpjwvdGl0bGU+Cgk8YXRvbTpsaW5rIGhy + ZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2ZlZWQvIiBy + ZWw9InNlbGYiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+Cgk8bGlu + az5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbjwvbGluaz4KCTxk + ZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPgoJPGxhc3RCdWlsZERhdGU+VHVl + LCAzMCBTZXAgMjAxNCAxMDozOToxNyArMDAwMDwvbGFzdEJ1aWxkRGF0ZT4K + CTxsYW5ndWFnZT5qYTwvbGFuZ3VhZ2U+CgkJPHN5OnVwZGF0ZVBlcmlvZD5o + b3VybHk8L3N5OnVwZGF0ZVBlcmlvZD4KCQk8c3k6dXBkYXRlRnJlcXVlbmN5 + PjE8L3N5OnVwZGF0ZUZyZXF1ZW5jeT4KCTxnZW5lcmF0b3I+aHR0cDovL3dv + cmRwcmVzcy5vcmcvP3Y9My45LjI8L2dlbmVyYXRvcj4KPHhodG1sOmxpbmsg + cmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9o + dG1sIiBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi9m + ZWVkLyIgLz4KCTxpdGVtPgoJCTx0aXRsZT7lm73nq4vlm73kvJrlm7Pmm7jp + pKjjgrXjg7zjg4Hjg6rjg7Pjgq/pm4bjga7jg5rjg7zjgrjjgpLmm7TmlrDj + gZfjgb7jgZfjgZ/vvIgyMDE05bm0OeaciDI55pel77yJPC90aXRsZT4KCQk8 + bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5 + LzI5X2Fubm91bmNlLzwvbGluaz4KCQk8Y29tbWVudHM+aHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8yOV9hbm5vdW5jZS8jY29t + bWVudHM8L2NvbW1lbnRzPgoJCTxwdWJEYXRlPk1vbiwgMjkgU2VwIDIwMTQg + MDQ6NDc6MDUgKzAwMDA8L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+PCFbQ0RB + VEFb5LqL5YuZ5bGAXV0+PC9kYzpjcmVhdG9yPgoJCQkJPGNhdGVnb3J5Pjwh + W0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdvcnk+CgoJCTxndWlkIGlzUGVy + bWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRp + b24vP3A9MTAzNjwvZ3VpZD4KCQk8ZGVzY3JpcHRpb24+PCFbQ0RBVEFb5Zu9 + 56uL5Zu95Lya5Zuz5pu46aSo44K144O844OB44GM5o+Q5L6b44GZ44KL5aSW + 6YOo5o+Q5L6b44Kk44Oz44K/44OV44Kn44O844K577yIQVBJ77yJ44KS5Yip + 55So44GX44Gm44GE44KL44K344K544OG44Og44GK44KI44Gz44K144Kk44OI + 44KE44CB5Zu956uL5Zu95Lya5ZuzIFsmIzgyMzA7XV1dPjwvZGVzY3JpcHRp + b24+CgkJCQk8Y29udGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPgrlm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4HjgYzmj5DkvpvjgZnjgovlpJbpg6jm + j5DkvpvjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnvvIhBUEnvvInjgpLliKnnlKjj + gZfjgabjgYTjgovjgrfjgrnjg4bjg6DjgYrjgojjgbPjgrXjgqTjg4jjgoTj + gIHlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4HjgpLntLnku4vjgZfj + gabjgYTjgovoqJjkuovjgarjganjgpLpm4bjgoHjgZ/jgIHjgIzlm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjg6rjg7Pjgq/pm4bjgI3jga7jg5rj + g7zjgrjvvIg8YSBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi9saW5rLyI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24v + bGluay88L2E+77yJ44KS5pu05paw44GX44G+44GX44Gf44CC44CMMi7lm7Pm + m7jppKjogbflk6HlkJHjgZHjg4Tjg7zjg6vjgI3jgavjgIHmlrDjgZ/jgasz + 56iu6aGe44Gu44OE44O844Or44GM5Yqg44KP44KK44G+44GX44Gf44CCPGJy + IC8+CjwvcD4KXV0+PC9jb250ZW50OmVuY29kZWQ+CgkJCTx3Znc6Y29tbWVu + dFJzcz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5 + LzI5X2Fubm91bmNlL2ZlZWQvPC93Znc6Y29tbWVudFJzcz4KCQk8c2xhc2g6 + Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+Cgk8eGh0bWw6bGluayByZWw9 + ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRoZWxkIiB0eXBlPSJ0ZXh0L2h0bWwi + IGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQv + MDkvMjlfYW5ub3VuY2UvIiAvPgoJPC9pdGVtPgoJCTxpdGVtPgoJCTx0aXRs + ZT7mlrDopo/pgKPmkLrmqZ/plqLjga7ov73liqDjgajml6LlrZjpgKPmkLrm + qZ/plqLjgajjga7pgKPmkLrmlrnlvI/jga7lpInmm7TjgpLooYzjgYTjgb7j + gZfjgZ/vvIgyMDE05bm0OeaciDIy5pel77yJPC90aXRsZT4KCQk8bGluaz5o + dHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIyX2Fu + bm91bmNlLTMvPC9saW5rPgoJCTxjb21tZW50cz5odHRwOi8vaXNzLm5kbC5n + by5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIyX2Fubm91bmNlLTMvI2NvbW1l + bnRzPC9jb21tZW50cz4KCQk8cHViRGF0ZT5Nb24sIDIyIFNlcCAyMDE0IDA0 + OjAwOjE1ICswMDAwPC9wdWJEYXRlPgoJCTxkYzpjcmVhdG9yPjwhW0NEQVRB + W+S6i+WLmeWxgF1dPjwvZGM6Y3JlYXRvcj4KCQkJCTxjYXRlZ29yeT48IVtD + REFUQVvmnKrliIbpoZ5dXT48L2NhdGVnb3J5PgoKCQk8Z3VpZCBpc1Blcm1h + TGluaz0iZmFsc2UiPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9u + Lz9wPTEwMjk8L2d1aWQ+CgkJPGRlc2NyaXB0aW9uPjwhW0NEQVRBW+adseS6 + rOmDveeri+Wbs+abuOmkqOODh+OCuOOCv+ODq+OCouODvOOCq+OCpOODlu+8 + iFRPS1lP44Ki44O844Kr44Kk44OW77yJ44Go44Gu6YCj5pC644KS6ZaL5aeL + 44GX44G+44GX44GfIOWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOB + p+OBr+OAgeadseS6rCBbJiM4MjMwO11dXT48L2Rlc2NyaXB0aW9uPgoJCQkJ + PGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8cD4KPHVsPgoJPGxpPgo8aDQ+ + CeadseS6rOmDveeri+Wbs+abuOmkqOODh+OCuOOCv+ODq+OCouODvOOCq+OC + pOODlu+8iFRPS1lP44Ki44O844Kr44Kk44OW77yJ44Go44Gu6YCj5pC644KS + 6ZaL5aeL44GX44G+44GX44GfPC9oND4KPC9saT4KPC91bD4KICDlm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjgafjga/jgIHmnbHkuqzpg73nq4vl + m7Pmm7jppKjjg4fjgrjjgr/jg6vjgqLjg7zjgqvjgqTjg5bvvIhUT0tZT+OC + ouODvOOCq+OCpOODlu+8iSggPGEgaHJlZj0iaHR0cDovL2FyY2hpdmUubGli + cmFyeS5tZXRyby50b2t5by5qcC8gIj5odHRwOi8vYXJjaGl2ZS5saWJyYXJ5 + Lm1ldHJvLnRva3lvLmpwLzwvYT4gKeOBqOOBruaWsOimj+mAo+aQuuOCkumW + i+Wni+OBl+OBvuOBl+OBn+OAgjxiciAvPgrjgIDmnbHkuqzpg73nq4vlm7Pm + m7jppKjjg4fjgrjjgr/jg6vjgqLjg7zjgqvjgqTjg5bvvIhUT0tZT+OCouOD + vOOCq+OCpOODlu+8ieOBr+OAgeadseS6rOmDveeri+Wbs+abuOmkqOOBjOOD + h+OCuOOCv+ODq+WMluOBl+OBn+OAgeaxn+aIuOODu+adseS6rOOBq+mWouOB + meOCi+izh+aWmeeUu+WDj+OCkuaknOe0ouODu+mWsuimp+OBp+OBjeOCi+OC + t+OCueODhuODoOOBp+OBmeOAguaxn+aIuOWfjumAoOWWtumWouS/guizh+aW + meOAgea1ruS4lue1teOAgeaxn+aIuOWbs+OAgee1teiRieabuOOAgeadseS6 + rOW6nOODu+adseS6rOW4gumWouS/guizh+aWmeOBquOBqTEz44Kr44OG44K0 + 44Oq44KS5YWs6ZaL44GX44Gm44GE44G+44GZ44CCPGJyIC8+CjxiciAvPgrl + pJbpg6jmj5DkvpvjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnvvIhBUEnvvInjgavj + gojjgorjgIHmpJzntKLjga7jgb/lj6/og73jgafjgZnjgII8YnIgLz4K44OH + 44O844K/44OX44Ot44OQ44Kk44OASUTvvJp0b2t5by1tZXRyby1kYTxiciAv + Pgrjg6rjg53jgrjjg4jjg6rnlarlj7fvvJpSMTAwMDAwMDg2PGJyIC8+Cuak + nOe0oueUqEFQSe+8mlNSVeOAgVNSV+OAgU9wZW5TZWFyY2jjgIFaMzkuNTA8 + YnIgLz4KPGJyIC8+CiZuYnNwOzxiciAvPgo8dWw+Cgk8bGk+CjxoND4J6aeS + 5r6k5aSn5a2m6Zu75a2Q6LK06YeN5pu45bqr44Go44Gu6YCj5pC66ZaL5aeL + PC9oND4KPC9saT4KPC91bD4KICDlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXj + g7zjg4Hjgafjga/jgIHpp5LmvqTlpKflrabpm7vlrZDosrTph43mm7jluqso + IDxhIGhyZWY9Imh0dHA6Ly9yZXBvLmtvbWF6YXdhLXUuYWMuanAvcmV0cmll + dmUva2l0eW91LyI+aHR0cDovL3JlcG8ua29tYXphd2EtdS5hYy5qcC9yZXRy + aWV2ZS9raXR5b3UvPC9hPiAp44Go44Gu5paw6KaP6YCj5pC644KS6ZaL5aeL + 44GX44G+44GX44Gf44CCPGJyIC8+Cumnkua+pOWkp+Wtpumbu+WtkOiytOmH + jeabuOW6q+OBr+mnkua+pOWkp+WtpuOAgemnkua+pOWkp+WtpuWbs+abuOmk + qOOBjOaJgOiUteOBl+OBpuOBhOOCi+iytOmHjeOBquemheexjeODu+S7j+aV + meabuOOCkuS4reW/g+OBq+OAgeOBguOCj+OBm+OBpuWbveaWh+WtpuODu+Wb + veiqnuWtpuODu+iqnuWtpuODu+attOWPsuWtpuetieOBruWQhOWIhumHjuOB + ruiytOmHjeOBquizh+aWmeOBruabuOiqjOOBqOeUu+WDj+OCkumWsuimp+OB + p+OBjeOCi+OCt+OCueODhuODoOOBp+OBmeOAgjxiciAvPgo8YnIgLz4K5aSW + 6YOo5o+Q5L6b44Kk44Oz44K/44OV44Kn44O844K577yIQVBJ77yJ44Gr44KI + 44KK44CB44OH44O844K/44Gu5qSc57Si44Go44OP44O844OZ44K544OI44GM + 5Y+v6IO944Gn44GZ44CCPGJyIC8+CuODh+ODvOOCv+ODl+ODreODkOOCpOOD + gElE77yaIGtvbWF6d2EtdW5pdjxiciAvPgrjg6rjg53jgrjjg4jjg6rnlarl + j7fvvJpSMTAwMDAwMDg3PGJyIC8+CuaknOe0oueUqEFQSe+8mlNSVeOAgVNS + V+OAgU9wZW5TZWFyY2jjgIFaMzkuNTA8YnIgLz4K44OP44O844OZ44K544OI + 55SoQVBJ77yaT0FJLVBNSDxiciAvPgo8YnIgLz4KJm5ic3A7PGJyIC8+Cjx1 + bD4KCTxsaT4KPGg0Pgnlj6Hmmbrjga7mnZxXZWLvvIjlrq7ln47nnIzlm7Pm + m7jppKjvvInjgajjga7pgKPmkLrmlrnlvI/lpInmm7Q8L2g0Pgo8L2xpPgo8 + L3VsPgogIOWPoeaZuuOBruadnFdlYiggPGEgaHJlZj0iaHR0cDovL3d3dy5s + aWJyYXJ5LnByZWYubWl5YWdpLmpwL2VpY2hpLmh0bWwiPmh0dHA6Ly93d3cu + bGlicmFyeS5wcmVmLm1peWFnaS5qcC9laWNoaS5odG1sPC9hPiAp44Gv5a6u + 5Z+O55yM44Gr6Zai44GZ44KL6KiY5LqL44O76KuW5paH57Si5byV44KE44CB + 44CM5LyK6YGU5paH5bqr44CN44KE44CM6Z2S5p+z5paH5bqr44CN44Gq44Gp + 5Y+k5YW457GN562J44Gu5pu46KqM5oOF5aCx44KE44OH44K444K/44Or5YyW + 6LOH5paZ44KS5qSc57Si44O76Zay6Kan44Gn44GN44KL44K344K544OG44Og + 44Gn44GZ44CCPGJyIC8+CuOBk+OCjOOBvuOBp+OCguWbveeri+WbveS8muWb + s+abuOmkqOOCteODvOODgeOBqOWPoeaZuuOBruadnFdlYuOBr+mAo+aQuuOC + kuihjOOBo+OBpuOBvuOBhOOCiuOBvuOBl+OBn+OBjOOAgeWPoeaZuuOBruad + nFdlYuOBruODquODi+ODpeODvOOCouODq+OBq+S8tOOBhOOAgVJTU+OBq+OC + iOOCi+mAo+aQuuOBi+OCiU9BSS1QTUjjgavjgojjgovpgKPmkLrjgbjjgajl + iIfjgormm7/jgo/jgorjgb7jgZnjgILpgKPmkLrmlrnlvI/jga7liIfjgorm + m7/jgYjjgajjg4fjg7zjgr/jga7lhajku7blhaXjgozmm7/jgYjjgavjgojj + gorjgIFPQUktUE1I44Gn44OH44O844K/44KS5Y+W5b6X44GZ44KL5aC05ZCI + 44Gu44OH44O844K/44Gu6LW354K55pel44GM5aSJ5pu044Go44Gq44KK44G+ + 44GZ44CCPGJyIC8+CjxiciAvPgrigLvpgKPmkLrmlrnlvI/liIfjgormm7/j + gYjlvozjgoLjgIHlvJXjgY3ntprjgY3lpJbpg6jmj5DkvpvjgqTjg7Pjgr/j + g5Xjgqfjg7zjgrnvvIhBUEnvvInjgavjgojjgorjgIHjg4fjg7zjgr/jga7m + pJzntKLjgajjg4/jg7zjg5njgrnjg4jjgYzlj6/og73jgafjgZnjgII8YnIg + Lz4K44CA44OH44O844K/44OX44Ot44OQ44Kk44OASUTvvJptaXlhZ2k8YnIg + Lz4K44CA44Oq44Od44K444OI44Oq55Wq5Y+377yaUjAwMDAwMDA1NDxiciAv + PgrjgIDmpJzntKLnlKhBUEnvvJpTUlXjgIFTUlfjgIFPcGVuU2VhcmNo44CB + WjM5LjUwPGJyIC8+CuOAgOODj+ODvOODmeOCueODiOeUqEFQSe+8mk9BSS1Q + TUg8YnIgLz4K44CAT0FJLVBNSOOBp+OBruODh+ODvOOCv+OBrui1t+eCueaX + pe+8mjIwMTTlubQ55pyIMTnml6U8YnIgLz4KPGJyIC8+CjwvcD4KXV0+PC9j + b250ZW50OmVuY29kZWQ+CgkJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vaXNz + Lm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIyX2Fubm91bmNlLTMv + ZmVlZC88L3dmdzpjb21tZW50UnNzPgoJCTxzbGFzaDpjb21tZW50cz4wPC9z + bGFzaDpjb21tZW50cz4KCTx4aHRtbDpsaW5rIHJlbD0iYWx0ZXJuYXRlIiBt + ZWRpYT0iaGFuZGhlbGQiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cDov + L2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8yMl9hbm5vdW5j + ZS0zLyIgLz4KCTwvaXRlbT4KCQk8aXRlbT4KCQk8dGl0bGU+6Zu75rCX6Kit + 5YKZ44Gu5a6a5pyf54K55qSc5L2c5qWt562J44Gr5Ly044GG44CB5LiA6YOo + 5qmf6IO95Yi26ZmQ44Gu44GK55+l44KJ44Gb77yIMjAxNOW5tDEw5pyI77yJ + PC90aXRsZT4KCQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi8yMDE0LzA5LzIwMTQwOTE3X2Fubm91bmNlLTAxLzwvbGluaz4KCQk8 + Y29tbWVudHM+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAx + NC8wOS8yMDE0MDkxN19hbm5vdW5jZS0wMS8jY29tbWVudHM8L2NvbW1lbnRz + PgoJCTxwdWJEYXRlPldlZCwgMTcgU2VwIDIwMTQgMDc6NDk6MjAgKzAwMDA8 + L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+PCFbQ0RBVEFbTkRMIFNlYXJjaF1d + PjwvZGM6Y3JlYXRvcj4KCQkJCTxjYXRlZ29yeT48IVtDREFUQVvmnKrliIbp + oZ5dXT48L2NhdGVnb3J5PgoKCQk8Z3VpZCBpc1Blcm1hTGluaz0iZmFsc2Ui + Pmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLz9wPTEwMjg8L2d1 + aWQ+CgkJPGRlc2NyaXB0aW9uPjwhW0NEQVRBW+mbu+awl+ioreWCmeOBruWu + muacn+eCueaknOS9nOalreetieOBq+S8tOOBhuWBnOmbu+OBq+OCiOOCiuOA + geS7peS4i+OBruapn+iDveOBjOWIqeeUqOOBp+OBjeOBvuOBm+OCk+OAgiDv + vJzlm7Pmm7jppKjlk6Hjga7mlrnlkJHjgZHvvJ4g6Zu75a2Q44Oh44O844Or + 44Gn44Gu55u4IFsmIzgyMzA7XV1dPjwvZGVzY3JpcHRpb24+CgkJCQk8Y29u + dGVudDplbmNvZGVkPjwhW0NEQVRBWzxwPgrpm7vmsJfoqK3lgpnjga7lrprm + nJ/ngrnmpJzkvZzmpa3nrYnjgavkvLTjgYblgZzpm7vjgavjgojjgorjgIHk + u6XkuIvjga7mqZ/og73jgYzliKnnlKjjgafjgY3jgb7jgZvjgpPjgII8YnIg + Lz4KPGJyIC8+Cu+8nOWbs+abuOmkqOWToeOBruaWueWQkeOBke+8njxiciAv + Pgrpm7vlrZDjg6Hjg7zjg6vjgafjga7nm7jkupLosrjlgJ/kvp3poLzvvIjl + m7Pmm7jppKjplpPosrjlh7rvvIk8YnIgLz4K5YGc5q2i5pyf6ZaT77yaMTDm + nIgxMeaXpSjlnJ8pIDE5OjMw44CA772e44CAMTDmnIgxM+aXpSjmnIgpIDEy + OjAwPGJyIC8+CjxiciAvPgrjgZTkuI3kvr/jgpLjgYrjgYvjgZHjgZfjgb7j + gZnjgYzjgIHjgZTkuobmib/jgY/jgaDjgZXjgYTjgb7jgZnjgojjgYbjgYrp + oZjjgYTjgYTjgZ/jgZfjgb7jgZnjgII8L3A+Cl1dPjwvY29udGVudDplbmNv + ZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAv + aW5mb3JtYXRpb24vMjAxNC8wOS8yMDE0MDkxN19hbm5vdW5jZS0wMS9mZWVk + Lzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNo + OmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVsPSJhbHRlcm5hdGUiIG1lZGlh + PSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1sIiBocmVmPSJodHRwOi8vaXNz + Lm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA5LzIwMTQwOTE3X2Fubm91 + bmNlLTAxLyIgLz4KCTwvaXRlbT4KCQk8aXRlbT4KCQk8dGl0bGU+5Zu956uL + 5Zu95Lya5Zuz5pu46aSo44K144O844OBIEFQSeWIqeeUqOeUs+iri+ODleOC + qeODvOODoOOCkuabtOaWsOOBl+OBvuOBl+OBn+OAgjwvdGl0bGU+CgkJPGxp + bms+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8w + MV9hbm5vdW5jZS0xLzwvbGluaz4KCQk8Y29tbWVudHM+aHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOS8wMV9hbm5vdW5jZS0xLyNj + b21tZW50czwvY29tbWVudHM+CgkJPHB1YkRhdGU+TW9uLCAwMSBTZXAgMjAx + NCAwNDowMDoyOSArMDAwMDwvcHViRGF0ZT4KCQk8ZGM6Y3JlYXRvcj48IVtD + REFUQVvkuovli5nlsYBdXT48L2RjOmNyZWF0b3I+CgkJCQk8Y2F0ZWdvcnk+ + PCFbQ0RBVEFb5pyq5YiG6aGeXV0+PC9jYXRlZ29yeT4KCgkJPGd1aWQgaXNQ + ZXJtYUxpbms9ImZhbHNlIj5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi8/cD0xMDEzPC9ndWlkPgoJCTxkZXNjcmlwdGlvbj48IVtDREFUQVvl + m73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjga5BUEnliKnnlKjjgavj + gaTjgY3jgb7jgZfjgabjgIHjgZPjgozjgb7jgafjga/jgIHjgYrllY/jgYTl + kIjjgo/jgZvjg5Xjgqnjg7zjg6DjgYvjgonlv4XopoHkuovpoIXjgpLoqJjl + haXjgZfjgabnlLPoq4vjgZfjgabjgYQgWyYjODIzMDtdXV0+PC9kZXNjcmlw + dGlvbj4KCQkJCTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+CuWbveer + i+WbveS8muWbs+abuOmkqOOCteODvOODgeOBrkFQSeWIqeeUqOOBq+OBpOOB + jeOBvuOBl+OBpuOAgeOBk+OCjOOBvuOBp+OBr+OAgeOBiuWVj+OBhOWQiOOC + j+OBm+ODleOCqeODvOODoOOBi+OCieW/heimgeS6i+mgheOCkuiomOWFpeOB + l+OBpueUs+iri+OBl+OBpuOBhOOBn+OBoOOBhOOBpuOBhOOBvuOBl+OBn+OB + jOOAgeaWsOOBn+OBq+WIqeeUqOeUs+iri+ODleOCqeODvOODoOOCkuioreOB + keOBpuOAgeeUs+iri+OBruaJi+e2muOBjeOCkuewoee0oOWMluOBl+OBvuOB + l+OBn+OAgjxiciAvPgo8YnIgLz4KPGEgaHJlZj0iaHR0cDovL3d3dy5uZGwu + Z28uanAvanAvc2VydmljZS9hcGlfYXBwbGljYXRpb24uaHRtbCI+5Zu956uL + 5Zu95Lya5Zuz5pu46aSo44K144O844OBQVBJ5Yip55So55Sz6KuL44OV44Kp + 44O844OgPC9hPjxiciAvPgo8YSBocmVmPSJodHRwOi8vd3d3Lm5kbC5nby5q + cC9lbi9zZXJ2aWNlL2FwaV9hcHBsaWNhdGlvbi5odG1sIj5BcHBsaWNhdGlv + biBQcm9ncmFtbWluZyBJbnRlcmZhY2UgKEFQSSkgb2YgdGhlIE5ETCBTZWFy + Y2g6IEFwcGxpY2F0aW9uIEZvcm08L2E+PGJyIC8+CjxiciAvPgrjgarjgYrj + gIHlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4Hjga5BUEnjgpLjgZTl + iKnnlKjjgYTjgZ/jgaDjgY/loLTlkIjjgIHjgZTliKnnlKjnm67nmoTjgavj + gojjgaPjgabmiYvntprjgY3jgYznlbDjgarjgorjgb7jgZnjgILjgZTliKnn + lKjjga7liY3jgavjgIHlv4XjgZrjgIw8YSBocmVmPSJodHRwOi8vaXNzLm5k + bC5nby5qcC9pbmZvcm1hdGlvbi9hcGkvcml5b3UvIj7lm73nq4vlm73kvJrl + m7Pmm7jppKjjgrXjg7zjg4HjgavjgaTjgYTjgabvvJ5BUEnjga7jgZTliKnn + lKjjgavjgaTjgYTjgaY8L2E+44CN44KS44GU6Kan44GP44Gg44GV44GE44CC + PGJyIC8+CjxiciAvPgo8L3A+Cl1dPjwvY29udGVudDplbmNvZGVkPgoJCQk8 + d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRp + b24vMjAxNC8wOS8wMV9hbm5vdW5jZS0xL2ZlZWQvPC93Znc6Y29tbWVudFJz + cz4KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVudHM+Cgk8eGh0 + bWw6bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRoZWxkIiB0eXBl + PSJ0ZXh0L2h0bWwiIGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9y + bWF0aW9uLzIwMTQvMDkvMDFfYW5ub3VuY2UtMS8iIC8+Cgk8L2l0ZW0+CgkJ + PGl0ZW0+CgkJPHRpdGxlPuWbveeri+WbveS8muWbs+abuOmkqOOBruOCquOD + s+ODqeOCpOODs+OCteODvOODk+OCueOChOmBoOmalOikh+WGmeOCteODvOOD + k+OCueetieOBq+mWouOBmeOCi+OCouODs+OCseODvOODiOOBq+OBlOWNlOWK + m+OCkuOBiumhmOOBhOOBl+OBvuOBme+8iDnmnIgyNuaXpe+8iOmHke+8ieOB + vuOBp++8ieOAgjwvdGl0bGU+CgkJPGxpbms+aHR0cDovL2lzcy5uZGwuZ28u + anAvaW5mb3JtYXRpb24vMjAxNC8wOS8wMV9hbm5vdW5jZS0yLzwvbGluaz4K + CQk8Y29tbWVudHM+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24v + MjAxNC8wOS8wMV9hbm5vdW5jZS0yLyNjb21tZW50czwvY29tbWVudHM+CgkJ + PHB1YkRhdGU+TW9uLCAwMSBTZXAgMjAxNCAwNDowMDoxMiArMDAwMDwvcHVi + RGF0ZT4KCQk8ZGM6Y3JlYXRvcj48IVtDREFUQVvkuovli5nlsYBdXT48L2Rj + OmNyZWF0b3I+CgkJCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb5pyq5YiG6aGeXV0+ + PC9jYXRlZ29yeT4KCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRw + Oi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8/cD0xMDE0PC9ndWlkPgoJ + CTxkZXNjcmlwdGlvbj48IVtDREFUQVvlm73nq4vlm73kvJrlm7Pmm7jppKjj + ga7jgqrjg7Pjg6njgqTjg7PjgrXjg7zjg5PjgrnjgoTpgaDpmpTopIflhpnj + grXjg7zjg5PjgrnnrYnjgpLmlLnlloTjgZnjgovjgZ/jgoHjgavjgIHjgqLj + g7PjgrHjg7zjg4jjgpLlrp/mlr3jgZfjgabjgYTjgb7jgZnjgIIg5Zu956uL + 5Zu95LyaIFsmIzgyMzA7XV1dPjwvZGVzY3JpcHRpb24+CgkJCQk8Y29udGVu + dDplbmNvZGVkPjwhW0NEQVRBWzxwPgrlm73nq4vlm73kvJrlm7Pmm7jppKjj + ga7jgqrjg7Pjg6njgqTjg7PjgrXjg7zjg5PjgrnjgoTpgaDpmpTopIflhpnj + grXjg7zjg5PjgrnnrYnjgpLmlLnlloTjgZnjgovjgZ/jgoHjgavjgIE8YSBo + cmVmPSJodHRwczovL2VucTMuY3N2aWV3LmpwL3F1ZXN0aW9uL25kbGh5b2th + L0gyNkhQRW5xdWV0ZS9IMjZIUEVucXVldGUuY2dpIj7jgqLjg7PjgrHjg7zj + g4g8L2E+44KS5a6f5pa944GX44Gm44GE44G+44GZ44CCPGJyIC8+CjxiciAv + Pgo8YSBocmVmPSJodHRwczovL2VucTMuY3N2aWV3LmpwL3F1ZXN0aW9uL25k + bGh5b2thL0gyNkhQRW5xdWV0ZS9IMjZIUEVucXVldGUuY2dpIj7lm73nq4vl + m73kvJrlm7Pmm7jppKjjg5vjg7zjg6Djg5rjg7zjgrjjgqLjg7PjgrHjg7zj + g4g8L2E+PGJyIC8+CjxiciAvPgrlvZPppKjjga7jgrXjg7zjg5Pjgrnjga7k + uIDlsaTjga7mlLnlloTjgavlvbnnq4vjgabjgovjgZ/jgoHjgIHnmobmp5jj + ga7jgZTmhI/opovjgpLjgYrogZ7jgYvjgZvjgY/jgaDjgZXjgYTjgII8YnIg + Lz4KPC9wPgpdXT48L2NvbnRlbnQ6ZW5jb2RlZD4KCQkJPHdmdzpjb21tZW50 + UnNzPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDkv + MDFfYW5ub3VuY2UtMi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNo + OmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVs + PSJhbHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1s + IiBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0 + LzA5LzAxX2Fubm91bmNlLTIvIiAvPgoJPC9pdGVtPgoJCTxpdGVtPgoJCTx0 + aXRsZT5OREwtT1BBQ+ODoeODs+ODhuODiuODs+OCueOBruOBiuefpeOCieOB + m++8iDIwMTTlubQ55pyIMTTml6U35pmC44GL44KJMjLmmYLvvIk8L3RpdGxl + PgoJCTxsaW5rPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIw + MTQvMDgvMjAxNDA4MjlfYW5ub3VuY2UvPC9saW5rPgoJCTxjb21tZW50cz5o + dHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4LzIwMTQw + ODI5X2Fubm91bmNlLyNjb21tZW50czwvY29tbWVudHM+CgkJPHB1YkRhdGU+ + RnJpLCAyOSBBdWcgMjAxNCAwMjo0ODo0OSArMDAwMDwvcHViRGF0ZT4KCQk8 + ZGM6Y3JlYXRvcj48IVtDREFUQVtOREwgU2VhcmNoXV0+PC9kYzpjcmVhdG9y + PgoJCQkJPGNhdGVnb3J5PjwhW0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdv + cnk+CgoJCTxndWlkIGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vP3A9MTAxNTwvZ3VpZD4KCQk8ZGVzY3Jp + cHRpb24+PCFbQ0RBVEFbMjAxNOW5tDnmnIgxNOaXpSjml6UpIDfmmYLjgYvj + gokyMuaZguOBrumWk+OAgU5ETC1PUEFD44GM44K344K544OG44Og44Oh44Oz + 44OG44OK44Oz44K544Gu44Gf44KB5YGc5q2i44GX44G+44GZ44CCIOOBneOB + riBbJiM4MjMwO11dXT48L2Rlc2NyaXB0aW9uPgoJCQkJPGNvbnRlbnQ6ZW5j + b2RlZD48IVtDREFUQVs8cD4KMjAxNOW5tDnmnIgxNOaXpSjml6UpIDfmmYLj + gYvjgokyMuaZguOBrumWk+OAgU5ETC1PUEFD44GM44K344K544OG44Og44Oh + 44Oz44OG44OK44Oz44K544Gu44Gf44KB5YGc5q2i44GX44G+44GZ44CCPGJy + IC8+CuOBneOBrumWk+OAgeWbveeri+WbveS8muWbs+abuOmkqOOCteODvOOD + geOBp+OBr+OAgeaknOe0oue1kOaenOOBiuOCiOOBs+abuOiqjOips+e0sOOB + i+OCieOBrk5ETC1PUEFD44G444Gu44Oq44Oz44Kv44GM5L2/55So44Gn44GN + 44G+44Gb44KT44CCPGJyIC8+CjxiciAvPgrjgZTkuI3kvr/jgpLjgYrjgYvj + gZHjgZfjgb7jgZnjgYzjgIHjgZTkuobmib/jgY/jgaDjgZXjgYTjgII8L3A+ + Cl1dPjwvY29udGVudDplbmNvZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0 + cDovL2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wOC8yMDE0MDgy + OV9hbm5vdW5jZS9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNoOmNv + bW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVsPSJh + bHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1sIiBo + cmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4 + LzIwMTQwODI5X2Fubm91bmNlLyIgLz4KCTwvaXRlbT4KCQk8aXRlbT4KCQk8 + dGl0bGU+44CQ5b6p5pen44Gu44GK55+l44KJ44Gb44CR44K344K544OG44Og + 6Zqc5a6z44Gr44Gk44GE44Gm77yIMjAxNOW5tDjmnIg05pel77yJPC90aXRs + ZT4KCQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8y + MDE0LzA4LzIwMTQwODA0X2Fubm91bmNlLTIvPC9saW5rPgoJCTxjb21tZW50 + cz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4LzIw + MTQwODA0X2Fubm91bmNlLTIvI2NvbW1lbnRzPC9jb21tZW50cz4KCQk8cHVi + RGF0ZT5TdW4sIDAzIEF1ZyAyMDE0IDIzOjQ1OjIxICswMDAwPC9wdWJEYXRl + PgoJCTxkYzpjcmVhdG9yPjwhW0NEQVRBW05ETCBTZWFyY2hdXT48L2RjOmNy + ZWF0b3I+CgkJCQk8Y2F0ZWdvcnk+PCFbQ0RBVEFb5pyq5YiG6aGeXV0+PC9j + YXRlZ29yeT4KCgkJPGd1aWQgaXNQZXJtYUxpbms9ImZhbHNlIj5odHRwOi8v + aXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8/cD05OTE8L2d1aWQ+CgkJPGRl + c2NyaXB0aW9uPjwhW0NEQVRBW+manOWus+OBruOBn+OCgeWBnOatouOBl+OB + puOBhOOBn+OAgeWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBruak + nOe0ouapn+iDveOBjOW+qeaXp+OBhOOBn+OBl+OBvuOBl+OBn+OAgiDjgZTo + v7fmg5HjgpLjgYrjgYvjgZHjgZfjgb7jgZfjgabjgIHnlLPjgZfoqLPjgZTj + gZYgWyYjODIzMDtdXV0+PC9kZXNjcmlwdGlvbj4KCQkJCTxjb250ZW50OmVu + Y29kZWQ+PCFbQ0RBVEFbPHA+CumanOWus+OBruOBn+OCgeWBnOatouOBl+OB + puOBhOOBn+OAgeWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBruak + nOe0ouapn+iDveOBjOW+qeaXp+OBhOOBn+OBl+OBvuOBl+OBn+OAgjxiciAv + Pgo8YnIgLz4K44GU6L+35oOR44KS44GK44GL44GR44GX44G+44GX44Gm44CB + 55Sz44GX6Kiz44GU44GW44GE44G+44Gb44KT44Gn44GX44Gf44CCPC9wPgpd + XT48L2NvbnRlbnQ6ZW5jb2RlZD4KCQkJPHdmdzpjb21tZW50UnNzPmh0dHA6 + Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDgvMjAxNDA4MDRf + YW5ub3VuY2UtMi9mZWVkLzwvd2Z3OmNvbW1lbnRSc3M+CgkJPHNsYXNoOmNv + bW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRzPgoJPHhodG1sOmxpbmsgcmVsPSJh + bHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVsZCIgdHlwZT0idGV4dC9odG1sIiBo + cmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA4 + LzIwMTQwODA0X2Fubm91bmNlLTIvIiAvPgoJPC9pdGVtPgoJCTxpdGVtPgoJ + CTx0aXRsZT7ml6LlrZjpgKPmkLrmqZ/plqLjgajjga7pgKPmkLrmlrnlvI/l + pInmm7TjgavjgaTjgYTjgabvvIgyMDE05bm0N+aciDE45pel77yJPC90aXRs + ZT4KCQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8y + MDE0LzA3LzE4X2Fubm91bmNlLzwvbGluaz4KCQk8Y29tbWVudHM+aHR0cDov + L2lzcy5uZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wNy8xOF9hbm5vdW5j + ZS8jY29tbWVudHM8L2NvbW1lbnRzPgoJCTxwdWJEYXRlPkZyaSwgMTggSnVs + IDIwMTQgMDU6MDA6MDggKzAwMDA8L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+ + PCFbQ0RBVEFb5LqL5YuZ5bGAXV0+PC9kYzpjcmVhdG9yPgoJCQkJPGNhdGVn + b3J5PjwhW0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdvcnk+CgoJCTxndWlk + IGlzUGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5m + b3JtYXRpb24vP3A9OTY5PC9ndWlkPgoJCTxkZXNjcmlwdGlvbj48IVtDREFU + QVvovrLmnpfmsLTnlKPplqLkv4LoqabpqJPnoJTnqbbmqZ/plqLnt4/lkIjn + m67pjLLjgajjga7pgKPmkLrjgpLplovlp4vjgZfjgb7jgZfjgZ/jgIIg44CA + 6L6y5p6X5rC055Sj6Zai5L+C6Kmm6aiT56CU56m25qmf6Zai57eP5ZCI55uu + 6Yyy77yIaHR0cDovL28gWyYjODIzMDtdXV0+PC9kZXNjcmlwdGlvbj4KCQkJ + CTxjb250ZW50OmVuY29kZWQ+PCFbQ0RBVEFbPHA+Cjx1bD4KCTxsaT4KPGg0 + Pui+suael+awtOeUo+mWouS/guippumok+eglOeptuapn+mWoue3j+WQiOeb + rumMsuOBqOOBrumAo+aQuuOCkumWi+Wni+OBl+OBvuOBl+OBn+OAgjwvaDQ+ + CjwvbGk+CjwvdWw+CuOAgOi+suael+awtOeUo+mWouS/guippumok+eglOep + tuapn+mWoue3j+WQiOebrumMsu+8iDxhIGhyZWY9Imh0dHA6Ly9vcGFjLmNj + LmFmZnJjLmdvLmpwLyI+aHR0cDovL29wYWMuY2MuYWZmcmMuZ28uanAvPC9h + Pu+8ieOBr+i+suael+awtOeUo+ecgeaJgOeuoeOBruWFqOWbveOBruippumo + k+eglOeptuapn+mWouOBjOaJgOiUteOBmeOCi+Wbs+abuOizh+aWmemhnuOB + iuOCiOOBs+mbkeiqjOOBrue3j+WQiOebrumMsuOBp+OBmeOAguabuOiqjOOB + iuOCiOOBs+aJgOWcqOaDheWgseOCkuaPkOS+m+OBl+OBpuOBhOOBvuOBmeOA + gjxiciAvPgo8YnIgLz4K5aSW6YOo5o+Q5L6b44Kk44Oz44K/44OV44Kn44O8 + 44K577yIQVBJ77yJ44Gr44KI44KK44CB44OH44O844K/44Gu5qSc57Si44Go + 44OP44O844OZ44K544OI44GM5Y+v6IO944Gn44GZ44CCPGJyIC8+CuODh+OD + vOOCv+ODl+ODreODkOOCpOODgElE77yabm9zdWk8YnIgLz4K44Oq44Od44K4 + 44OI44Oq55Wq5Y+377yaUjEwMDAwMDA3NDxiciAvPgrmpJzntKLnlKhBUEnv + vJpTUlXjgIFTUlfjgIFPcGVuU2VhcmNo44CBWjM5LjUwPGJyIC8+CuODj+OD + vOODmeOCueODiOeUqEFQSe+8mk9BSS1QTUg8YnIgLz4KPGJyIC8+CuOAgOOB + quOBiuOAgeaXouWtmOOBruODh+ODvOOCv+ODl+ODreODkOOCpOODgOOAjOi+ + suael+awtOeUo+mWouS/guippumok+eglOeptuapn+mWoue3j+WQiOebrumM + su+8iOmbkeiqjO+8ieOAjeOAjOi+suael+awtOeUo+mWouS/guippumok+eg + lOeptuapn+mWoue3j+WQiOebrumMsu+8iOWbs+abuO+8ieOAjeOBr+OAgeaW + sOimj+mAo+aQuumWi+Wni+OBq+S8tOOBhOOAjOi+suael+awtOeUo+mWouS/ + guippumok+eglOeptuapn+mWoue3j+WQiOebrumMsuOAjeOBq+mbhue0hOOB + leOCjOOBvuOBmeOAgjxiciAvPgo8YnIgLz4KJm5ic3A7PGJyIC8+Cjx1bD4K + CTxsaT4KPGg0PuS5neW3nuWkp+Wtpue3j+WQiOeglOeptuWNmueJqemkqOOD + h+OCuOOCv+ODq+OCouODvOOCq+OCpOODluOBqOOBrumAo+aQuuOCkue1guS6 + huOBl+OBvuOBl+OBn+OAgjwvaDQ+CjwvbGk+CjwvdWw+CuOAgOS5neW3nuWk + p+Wtpue3j+WQiOeglOeptuWNmueJqemkqOODh+OCuOOCv+ODq+OCouODvOOC + q+OCpOODlu+8iDxhIGhyZWY9Imh0dHA6Ly93d3cubXVzZXVtLmt5dXNodS11 + LmFjLmpwLyI+aHR0cDovL3d3dy5tdXNldW0ua3l1c2h1LXUuYWMuanAvPC9h + Pu+8ieOBruOCteODvOODk+OCueaPkOS+m+e1guS6huOBq+S8tOOBhOOAgU5E + TOOCteODvOODgeOBqOOBrumAo+aQuuOCkue1guS6huOBl+OBvuOBl+OBn+OA + gjxiciAvPgo8YnIgLz4K44CA44GT44Gu44Gf44KB44CB44OH44O844K/44OX + 44Ot44OQ44Kk44OASUQoa3l1c2h1KeOBq+OBpOOBhOOBpuOBr+OAgU9BSS1Q + TUjjga5MaXN0SWRlbnRpZmllcnPjgIFMaXN0UmVjb3Jkc+OBrmZyb23jg5Hj + g6njg6Hjg7zjgr/jgavliYrpmaTml6XvvIgyMDE0LTA3LTE377yJ44KS5oyH + 5a6a44GZ44KL44GT44Go44Gr44KI44KK44CB5YmK6Zmk44KS56S644GZ44Oh + 44K/44OH44O844K/44GM6L+U5oi744GV44KM44G+44GZ44CCPGJyIC8+CuOA + gOips+e0sOOBq+OBpOOBhOOBpuOBr+OAgTxhIGhyZWY9Imh0dHA6Ly9pc3Mu + bmRsLmdvLmpwL2luZm9ybWF0aW9uL2FwaS8iPkFQSeS7leanmOabuDwvYT7j + gpLjgZTopqfjgY/jgaDjgZXjgYTjgII8L3A+Cl1dPjwvY29udGVudDplbmNv + ZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAv + aW5mb3JtYXRpb24vMjAxNC8wNy8xOF9hbm5vdW5jZS9mZWVkLzwvd2Z3OmNv + bW1lbnRSc3M+CgkJPHNsYXNoOmNvbW1lbnRzPjA8L3NsYXNoOmNvbW1lbnRz + PgoJPHhodG1sOmxpbmsgcmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJoYW5kaGVs + ZCIgdHlwZT0idGV4dC9odG1sIiBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5q + cC9pbmZvcm1hdGlvbi8yMDE0LzA3LzE4X2Fubm91bmNlLyIgLz4KCTwvaXRl + bT4KCQk8aXRlbT4KCQk8dGl0bGU+44CMV2ViIE5ETCBBdXRob3JpdGllcyDj + gqLjg7PjgrHjg7zjg4jjgI3jgavjgZTljZTlipvjgY/jgaDjgZXjgYTvvIg2 + 5pyIMjPml6XjgYvjgok55pyIMjbml6Xjgb7jgafvvIk8L3RpdGxlPgoJCTxs + aW5rPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDYv + MjNfYW5ub3VuY2UtMy88L2xpbms+CgkJPGNvbW1lbnRzPmh0dHA6Ly9pc3Mu + bmRsLmdvLmpwL2luZm9ybWF0aW9uLzIwMTQvMDYvMjNfYW5ub3VuY2UtMy8j + Y29tbWVudHM8L2NvbW1lbnRzPgoJCTxwdWJEYXRlPk1vbiwgMjMgSnVuIDIw + MTQgMDA6MDA6NTAgKzAwMDA8L3B1YkRhdGU+CgkJPGRjOmNyZWF0b3I+PCFb + Q0RBVEFb5LqL5YuZ5bGAXV0+PC9kYzpjcmVhdG9yPgoJCQkJPGNhdGVnb3J5 + PjwhW0NEQVRBW+acquWIhumhnl1dPjwvY2F0ZWdvcnk+CgoJCTxndWlkIGlz + UGVybWFMaW5rPSJmYWxzZSI+aHR0cDovL2lzcy5uZGwuZ28uanAvaW5mb3Jt + YXRpb24vP3A9OTYwPC9ndWlkPgoJCTxkZXNjcmlwdGlvbj48IVtDREFUQVs2 + 5pyIMjPml6XvvIjmnIjvvInjgYvjgok55pyIMjbml6XvvIjph5HvvInjgb7j + gafjgIEg5Zu956uL5Zu95Lya5Zuz5pu46aSo5YW45oug44OH44O844K/5qSc + 57Si44O75o+Q5L6b44K144O844OT44K577yIV2ViIE5ETCBBdXQgWyYjODIz + MDtdXV0+PC9kZXNjcmlwdGlvbj4KCQkJCTxjb250ZW50OmVuY29kZWQ+PCFb + Q0RBVEFbPHA+CjbmnIgyM+aXpe+8iOaciO+8ieOBi+OCiTnmnIgyNuaXpe+8 + iOmHke+8ieOBvuOBp+OAgTxhIGhyZWY9Imh0dHA6Ly9pZC5uZGwuZ28uanAv + YXV0aC9uZGxhIj4g5Zu956uL5Zu95Lya5Zuz5pu46aSo5YW45oug44OH44O8 + 44K/5qSc57Si44O75o+Q5L6b44K144O844OT44K577yIV2ViIE5ETCBBdXRo + b3JpdGllc++8iTwvYT7jgavplqLjgZnjgos8YSBocmVmPSJodHRwczovL2Vu + cTMuY3N2aWV3LmpwL3F1ZXN0aW9uL25kbGh5b2thL05ETEEvTkRMQS5jZ2ki + PuOCouODs+OCseODvOODiDwvYT7jgpLlrp/mlr3jgZfjgabjgYTjgb7jgZnj + gII8YnIgLz4KV2ViIE5ETCBBdXRob3JpdGllc+OBr+OAgeWbveeri+WbveS8 + muWbs+abuOmkqOOBjOe2reaMgeeuoeeQhuOBmeOCi+WFuOaLoOODh+ODvOOC + v+OCkuS4gOWFg+eahOOBq+aknOe0ouODu+aPkOS+m+OBmeOCi+OCteODvOOD + k+OCueOBp+OBmeOAguWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOB + rjxhIGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2Z1 + bmN0aW9uLyMxNSI+6Zai6YCj44Kt44O844Ov44O844OJPC9hPuOBq+WIqeeU + qOOBmeOCi+OBquOBqeOAgeebuOS6kuOBq+mAo+aQuuOBl+OBpuOBhOOBvuOB + meOAgjxiciAvPgo8YnIgLz4KPGEgaHJlZj0iaHR0cHM6Ly9lbnEzLmNzdmll + dy5qcC9xdWVzdGlvbi9uZGxoeW9rYS9ORExBL05ETEEuY2dpIj5XZWIgTkRM + IEF1dGhvcml0aWVz44Gr6Zai44GZ44KL44Ki44Oz44Kx44O844OIPC9hPjxi + ciAvPgo8YnIgLz4KV2ViIE5ETCBBdXRob3JpdGllc+OBruS4gOWxpOOBruaU + ueWWhOOBq+W9ueeri+OBpuOCi+OBn+OCgeOAgeOBlOWNlOWKm+OCkuOBiumh + mOOBhOOBl+OBvuOBmeOAgjxiciAvPgo8L3A+Cl1dPjwvY29udGVudDplbmNv + ZGVkPgoJCQk8d2Z3OmNvbW1lbnRSc3M+aHR0cDovL2lzcy5uZGwuZ28uanAv + aW5mb3JtYXRpb24vMjAxNC8wNi8yM19hbm5vdW5jZS0zL2ZlZWQvPC93Znc6 + Y29tbWVudFJzcz4KCQk8c2xhc2g6Y29tbWVudHM+MDwvc2xhc2g6Y29tbWVu + dHM+Cgk8eGh0bWw6bGluayByZWw9ImFsdGVybmF0ZSIgbWVkaWE9ImhhbmRo + ZWxkIiB0eXBlPSJ0ZXh0L2h0bWwiIGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdv + LmpwL2luZm9ybWF0aW9uLzIwMTQvMDYvMjNfYW5ub3VuY2UtMy8iIC8+Cgk8 + L2l0ZW0+CgkJPGl0ZW0+CgkJPHRpdGxlPumAo+aQuuOCkuW4jOacm+OBleOC + jOOCi+apn+mWouOBruaWueOBq+WQkeOBkeOBn+ODmuODvOOCuOOCkuabtOaW + sOOBl+OBvuOBl+OBnyDvvIgyMDE05bm0NuaciDE35pel77yJPC90aXRsZT4K + CQk8bGluaz5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0 + LzA2LzE3X2Fubm91bmNlLTYvPC9saW5rPgoJCTxjb21tZW50cz5odHRwOi8v + aXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi8yMDE0LzA2LzE3X2Fubm91bmNl + LTYvI2NvbW1lbnRzPC9jb21tZW50cz4KCQk8cHViRGF0ZT5UdWUsIDE3IEp1 + biAyMDE0IDA0OjAwOjMzICswMDAwPC9wdWJEYXRlPgoJCTxkYzpjcmVhdG9y + PjwhW0NEQVRBW+S6i+WLmeWxgF1dPjwvZGM6Y3JlYXRvcj4KCQkJCTxjYXRl + Z29yeT48IVtDREFUQVvmnKrliIbpoZ5dXT48L2NhdGVnb3J5PgoKCQk8Z3Vp + ZCBpc1Blcm1hTGluaz0iZmFsc2UiPmh0dHA6Ly9pc3MubmRsLmdvLmpwL2lu + Zm9ybWF0aW9uLz9wPTk2MTwvZ3VpZD4KCQk8ZGVzY3JpcHRpb24+PCFbQ0RB + VEFb5Zu956uL5Zu95Lya5Zuz5pu46aSo44K144O844OB44Gv44CB5qeY44CF + 44Gq5aSW6YOo5qmf6Zai44GL44KJ44OH44O844K/44KS5Y+O6ZuG44GX44CB + 5o+Q5L6b44GX44Gm44GE44G+44GZ44CCIOOBk+OBruW6puOAgeWbveeri+Wb + veS8muWbs+abuOmkqOOCteODvOODgeOBqOmAo+aQuiBbJiM4MjMwO11dXT48 + L2Rlc2NyaXB0aW9uPgoJCQkJPGNvbnRlbnQ6ZW5jb2RlZD48IVtDREFUQVs8 + cD4K5Zu956uL5Zu95Lya5Zuz5pu46aSo44K144O844OB44Gv44CB5qeY44CF + 44Gq5aSW6YOo5qmf6Zai44GL44KJ44OH44O844K/44KS5Y+O6ZuG44GX44CB + 5o+Q5L6b44GX44Gm44GE44G+44GZ44CCPGJyIC8+CuOBk+OBruW6puOAgeWb + veeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBqOmAo+aQuuOBhOOBn+OB + oOOBj+mam+OBq+OBlOa0u+eUqOOBhOOBn+OBoOOBkeOCi+OCueOCreODvOOD + nuODleOCoeOCpOODq+OChOmAo+aQuuOBvuOBp+OBruaJi+mghuOBquOBqeOC + kuOAgeaWsOOBn+OBq+WFrOmWi+OBl+OBvuOBl+OBn+OAgjxiciAvPgo8dWw+ + Cgk8bGk+REMtTkRMKFJERinjgIFEQy1OREwoU2ltcGxlKVhNTOOCueOCreOD + vOODnjwvbGk+CuWbveeri+WbveS8muWbs+abuOmkqOOCteODvOODgeOBqOOB + rumAo+aQuuOBq+WQkeOBkeOBpuOAgeWHuuWKm+OBhOOBn+OBoOOBj1hNTOOB + jOODleOCqeODvOODnuODg+ODiOS7leanmOmAmuOCiuOBq+OBquOBo+OBpuOB + hOOCi+OBi+OCkuOBlOeiuuiqjeOBhOOBn+OBoOOBkeOCi+OAgURDLU5ETChS + REYp44CBREMtTkRMKFNpbXBsZSlYTUzjgrnjgq3jg7zjg57jgpLkvZzmiJDj + gZfjgb7jgZfjgZ/jgILjgZTliKnnlKjmlrnms5XjgarjganjgavjgaTjgYTj + gabjga/jgIHjgIw8YSBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZv + cm1hdGlvbi9yZW5rZWkvIzUiPumAo+aQuuOCkuW4jOacm+OBleOCjOOCi+ap + n+mWouOBruaWueOBuO+8njUu5Y+C6ICD6LOH5paZPC9hPuOAjeOCkuOBlOWP + gueFp+OBj+OBoOOBleOBhOOAgjxiciAvPgo8YnIgLz4KCTxsaT7lm73nq4vl + m73kvJrlm7Pmm7jppKjjgrXjg7zjg4HpgKPmkLrjg57jg4vjg6XjgqLjg6s8 + L2xpPgrpgKPmkLrplovlp4vjgb7jgafjga7miYvpoIbjgpLjgb7jgajjgoHj + gZ/jgIzlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4HpgKPmkLrjg57j + g4vjg6XjgqLjg6vjgI3jgpLkvZzmiJDjgZfjgb7jgZfjgZ/jgILjgIw8YSBo + cmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1hdGlvbi9yZW5rZWkv + IzUiPumAo+aQuuOCkuW4jOacm+OBleOCjOOCi+apn+mWouOBruaWueOBuO+8 + njUu5Y+C6ICD6LOH5paZPC9hPuOAjeOBq+aOsui8ieOBl+OBpuOBhOOBvuOB + meOAgjxiciAvPgo8YnIgLz4KCTxsaT7lm73nq4vlm73kvJrlm7Pmm7jppKjn + t4/lkIjnm67pjLLjg43jg4Pjg4jjg6/jg7zjgq/vvIjjgobjgavjgYvjga3j + gaPjgajvvInjg4fjg7zjgr/mj5DkvpvppKjjga7mlrnjgbjlkJHjgZHjgZ/j + g5rjg7zjgrjvvIg8YSBocmVmPSJodHRwOi8vaXNzLm5kbC5nby5qcC9pbmZv + cm1hdGlvbi9zb21va3UvIj5odHRwOi8vaXNzLm5kbC5nby5qcC9pbmZvcm1h + dGlvbi9zb21va3UvPC9hPu+8ieOCkui/veWKoOOBl+OBvuOBl+OBn+OAgjwv + bGk+CjxiciAvPgoJPGxpPuODh+ODvOOCv+aPkOS+m+OBq+mWouOBmeOCi+OB + lOizquWVj+OCkuOAgeOAjOOCiOOBj+OBguOCi+OBlOizquWVj+OAje+8iDxh + IGhyZWY9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2ZhcS8i + Pmh0dHA6Ly9pc3MubmRsLmdvLmpwL2luZm9ybWF0aW9uL2ZhcS88L2E+77yJ + 44Gr6L+95Yqg44GX44G+44GX44Gf44CCPC9saT4KPC91bD4KPGJyIC8+CuOB + nOOBsuOBlOWIqeeUqOOBj+OBoOOBleOBhOOAgjwvcD4KXV0+PC9jb250ZW50 + OmVuY29kZWQ+CgkJCTx3Znc6Y29tbWVudFJzcz5odHRwOi8vaXNzLm5kbC5n + by5qcC9pbmZvcm1hdGlvbi8yMDE0LzA2LzE3X2Fubm91bmNlLTYvZmVlZC88 + L3dmdzpjb21tZW50UnNzPgoJCTxzbGFzaDpjb21tZW50cz4wPC9zbGFzaDpj + b21tZW50cz4KCTx4aHRtbDpsaW5rIHJlbD0iYWx0ZXJuYXRlIiBtZWRpYT0i + aGFuZGhlbGQiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cDovL2lzcy5u + ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wNi8xN19hbm5vdW5jZS02LyIg + Lz4KCTwvaXRlbT4KCTwvY2hhbm5lbD4KPC9yc3M+Cg== + http_version: '1.0' + recorded_at: Wed, 01 Oct 2014 07:21:06 GMT +recorded_with: VCR 2.9.3 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index c471a0a..8af4fbc 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -49,3 +49,10 @@ FactoryGirl.definition_file_paths << "#{::Rails.root}/../../spec/factories" FactoryGirl.find_definitions + +VCR.configure do |c| + c.cassette_library_dir = 'spec/cassette_library' + c.hook_into :fakeweb + c.configure_rspec_metadata! + c.allow_http_connections_when_no_cassette = true +end From 17654dcb92210c661fb5d6edfa5c58b72def87c2 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Thu, 2 Oct 2014 02:46:56 +0900 Subject: [PATCH 04/14] fixed scope --- app/models/news_feed.rb | 2 +- app/models/news_post.rb | 4 +- enju_news.gemspec | 2 +- .../NewsFeed/should_get_content.yml | 46 +++++++++--------- ...not_get_content_if_the_feed_is_invalid.yml | 38 +++++++-------- .../NewsFeed/should_reload_content.yml | 48 +++++++++---------- spec/dummy/config/boot.rb | 4 +- spec/spec_helper.rb | 2 +- 8 files changed, 70 insertions(+), 76 deletions(-) diff --git a/app/models/news_feed.rb b/app/models/news_feed.rb index 2fc9fd9..9b4d492 100644 --- a/app/models/news_feed.rb +++ b/app/models/news_feed.rb @@ -1,6 +1,6 @@ class NewsFeed < ActiveRecord::Base attr_accessible :title, :url - default_scope order: "news_feeds.position" + default_scope { order("news_feeds.position") } belongs_to :library_group, validate: true validates_presence_of :title, :url, :library_group diff --git a/app/models/news_post.rb b/app/models/news_post.rb index d0e520b..61d05e9 100644 --- a/app/models/news_post.rb +++ b/app/models/news_post.rb @@ -1,7 +1,7 @@ class NewsPost < ActiveRecord::Base attr_accessible :title, :body - scope :published, where(draft: false) - default_scope order('news_posts.start_date DESC') + scope :published, -> { where(draft: false) } + default_scope { order('news_posts.start_date DESC') } belongs_to :user belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id', validate: true diff --git a/enju_news.gemspec b/enju_news.gemspec index fc5cb3e..400b597 100644 --- a/enju_news.gemspec +++ b/enju_news.gemspec @@ -23,7 +23,7 @@ Gem::Specification.new do |s| s.add_development_dependency "rspec-rails", "~> 3.0.2" s.add_development_dependency "factory_girl_rails" s.add_development_dependency "vcr" - s.add_development_dependency "fakeweb" + s.add_development_dependency "webmock" s.add_development_dependency "simplecov" s.add_development_dependency "annotate" s.add_development_dependency "sunspot-rails-tester" diff --git a/spec/cassette_library/NewsFeed/should_get_content.yml b/spec/cassette_library/NewsFeed/should_get_content.yml index 5f65b8c..ceccff6 100644 --- a/spec/cassette_library/NewsFeed/should_get_content.yml +++ b/spec/cassette_library/NewsFeed/should_get_content.yml @@ -7,48 +7,46 @@ http_interactions: encoding: US-ASCII string: '' headers: - user-agent: + User-Agent: - Faraday v0.9.0 - accept-encoding: + Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - accept: + Accept: - "*/*" response: status: code: 200 message: OK headers: - date: - - Wed, 01 Oct 2014 07:21:03 GMT - server: + Date: + - Wed, 01 Oct 2014 17:45:49 GMT + Server: - Apache - expires: + Expires: - Thu, 19 Nov 1981 08:52:00 GMT - cache-control: + Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - pragma: + Pragma: - no-cache - x-pingback: + X-Pingback: - http://iss.ndl.go.jp/information/xmlrpc.php - last-modified: + Last-Modified: - Tue, 30 Sep 2014 10:39:17 GMT - etag: + Etag: - '"a7c11f1aac82a10a604c4cdf2924af0b"' - content-type: + Content-Type: - text/xml; charset=UTF-8 - set-cookie: - - PHPSESSID=3kfppbttfsd087lqong8p8kti7; path=/ - - serverid=1101; path=/ + Set-Cookie: + - PHPSESSID=78gu6re7j275o3slgd5rh6scr7; path=/ - ROUTEID=.wp02; path=/ - vary: + - serverid=1101; path=/ + Vary: - Accept-Encoding,User-Agent - content-encoding: - - gzip - x-content-type-options: + X-Content-Type-Options: - nosniff - x-frame-options: + X-Frame-Options: - SAMEORIGIN - connection: + Connection: - close body: encoding: ASCII-8BIT @@ -541,6 +539,6 @@ http_interactions: aGFuZGhlbGQiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cDovL2lzcy5u ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wNi8xN19hbm5vdW5jZS02LyIg Lz4KCTwvaXRlbT4KCTwvY2hhbm5lbD4KPC9yc3M+Cg== - http_version: '1.0' - recorded_at: Wed, 01 Oct 2014 07:21:05 GMT + http_version: + recorded_at: Wed, 01 Oct 2014 17:45:55 GMT recorded_with: VCR 2.9.3 diff --git a/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml b/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml index e4000aa..c54f1a4 100644 --- a/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml +++ b/spec/cassette_library/NewsFeed/should_not_get_content_if_the_feed_is_invalid.yml @@ -7,41 +7,39 @@ http_interactions: encoding: US-ASCII string: '' headers: - user-agent: + User-Agent: - Faraday v0.9.0 - accept-encoding: + Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - accept: + Accept: - "*/*" response: status: code: 404 message: Not Found headers: - accept-ranges: + Accept-Ranges: - bytes - cache-control: + Cache-Control: - max-age=604800 - content-type: + Content-Type: - text/html - date: - - Wed, 01 Oct 2014 07:21:05 GMT - etag: + Date: + - Wed, 01 Oct 2014 17:45:51 GMT + Etag: - '"359670651"' - expires: - - Wed, 08 Oct 2014 07:21:05 GMT - last-modified: + Expires: + - Wed, 08 Oct 2014 17:45:51 GMT + Last-Modified: - Fri, 09 Aug 2013 23:54:35 GMT - server: + Server: - ECS (lax/4514) - x-cache: + X-Cache: - HIT - x-ec-custom-error: + X-Ec-Custom-Error: - '1' - content-length: + Content-Length: - '1270' - connection: - - close body: encoding: UTF-8 string: "\n\n\n Example Domain\n\n @@ -61,6 +59,6 @@ http_interactions: documents. You may use this\n domain in examples without prior coordination or asking for permission.

\n

More information...

\n\n\n\n" - http_version: '1.1' - recorded_at: Wed, 01 Oct 2014 07:21:05 GMT + http_version: + recorded_at: Wed, 01 Oct 2014 17:45:56 GMT recorded_with: VCR 2.9.3 diff --git a/spec/cassette_library/NewsFeed/should_reload_content.yml b/spec/cassette_library/NewsFeed/should_reload_content.yml index 4f93d0a..21ac44d 100644 --- a/spec/cassette_library/NewsFeed/should_reload_content.yml +++ b/spec/cassette_library/NewsFeed/should_reload_content.yml @@ -7,48 +7,46 @@ http_interactions: encoding: US-ASCII string: '' headers: - user-agent: + User-Agent: - Faraday v0.9.0 - accept-encoding: + Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - accept: + Accept: - "*/*" response: status: code: 200 message: OK headers: - date: - - Wed, 01 Oct 2014 07:21:05 GMT - server: + Date: + - Wed, 01 Oct 2014 17:45:51 GMT + Server: - Apache - expires: + Expires: - Thu, 19 Nov 1981 08:52:00 GMT - cache-control: + Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 - pragma: + Pragma: - no-cache - x-pingback: + X-Pingback: - http://iss.ndl.go.jp/information/xmlrpc.php - last-modified: + Last-Modified: - Tue, 30 Sep 2014 10:39:17 GMT - etag: + Etag: - '"a7c11f1aac82a10a604c4cdf2924af0b"' - content-type: + Content-Type: - text/xml; charset=UTF-8 - set-cookie: - - PHPSESSID=b6q4jl7dl4hj724ss96e0rvnc7; path=/ - - serverid=1101; path=/ - - ROUTEID=.wp02; path=/ - vary: + Set-Cookie: + - PHPSESSID=qn8f3ahq5cph3pt5fj7m1b0lq2; path=/ + - ROUTEID=.wp01; path=/ + - serverid=1102; path=/ + Vary: - Accept-Encoding,User-Agent - content-encoding: - - gzip - x-content-type-options: + X-Content-Type-Options: - nosniff - x-frame-options: + X-Frame-Options: - SAMEORIGIN - connection: + Connection: - close body: encoding: ASCII-8BIT @@ -541,6 +539,6 @@ http_interactions: aGFuZGhlbGQiIHR5cGU9InRleHQvaHRtbCIgaHJlZj0iaHR0cDovL2lzcy5u ZGwuZ28uanAvaW5mb3JtYXRpb24vMjAxNC8wNi8xN19hbm5vdW5jZS02LyIg Lz4KCTwvaXRlbT4KCTwvY2hhbm5lbD4KPC9yc3M+Cg== - http_version: '1.0' - recorded_at: Wed, 01 Oct 2014 07:21:06 GMT + http_version: + recorded_at: Wed, 01 Oct 2014 17:45:57 GMT recorded_with: VCR 2.9.3 diff --git a/spec/dummy/config/boot.rb b/spec/dummy/config/boot.rb index eba0681..17aec12 100644 --- a/spec/dummy/config/boot.rb +++ b/spec/dummy/config/boot.rb @@ -1,5 +1,5 @@ require 'rubygems' -gemfile = File.expand_path('../../../../Gemfile', __FILE__) +gemfile = ENV['BUNDLE_GEMFILE'] || File.expand_path('../../../../Gemfile', __FILE__) if File.exist?(gemfile) ENV['BUNDLE_GEMFILE'] = gemfile @@ -7,4 +7,4 @@ Bundler.setup end -$:.unshift File.expand_path('../../../../lib', __FILE__) \ No newline at end of file +$:.unshift File.expand_path('../../../../lib', __FILE__) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 8af4fbc..389eabb 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -52,7 +52,7 @@ VCR.configure do |c| c.cassette_library_dir = 'spec/cassette_library' - c.hook_into :fakeweb + c.hook_into :webmock c.configure_rspec_metadata! c.allow_http_connections_when_no_cassette = true end From feb61c0d57599c8f37f969d9095a7817e039097b Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Fri, 3 Oct 2014 21:23:22 +0900 Subject: [PATCH 05/14] bumped version --- enju_news.gemspec | 6 +++--- gemfiles/rails4_1.gemfile | 2 -- lib/enju_news/version.rb | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/enju_news.gemspec b/enju_news.gemspec index 400b597..2de3f39 100644 --- a/enju_news.gemspec +++ b/enju_news.gemspec @@ -14,18 +14,18 @@ Gem::Specification.new do |s| s.description = "News article management for Next-L Enju" s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"] - s.test_files = Dir["spec/**/*"] - Dir["spec/dummy/log/*"] + s.test_files = Dir["spec/**/*"] - Dir["spec/dummy/log/*"] - Dir["spec/dummy/solr/{data,pids,default,development,test}/*"] - Dir["spec/dummy/tmp/*"] s.add_dependency "enju_seed", "~> 0.1.1.pre11" s.add_dependency "faraday" s.add_development_dependency "sqlite3" - s.add_development_dependency "rspec-rails", "~> 3.0.2" + s.add_development_dependency "rspec-rails", "~> 3.1" s.add_development_dependency "factory_girl_rails" s.add_development_dependency "vcr" s.add_development_dependency "webmock" s.add_development_dependency "simplecov" s.add_development_dependency "annotate" s.add_development_dependency "sunspot-rails-tester" - s.add_development_dependency "enju_leaf", "~> 1.1.0.rc14" + s.add_development_dependency "enju_leaf", "~> 1.1.0.rc15" end diff --git a/gemfiles/rails4_1.gemfile b/gemfiles/rails4_1.gemfile index 141aa0d..ccfff45 100644 --- a/gemfiles/rails4_1.gemfile +++ b/gemfiles/rails4_1.gemfile @@ -3,7 +3,5 @@ source "https://rubygems.org" gem "rails", "~> 4.1.6" gem "jquery-rails" gem "protected_attributes" -gem "enju_leaf", github: "next-l/enju_leaf", branch: '1.1' -gem "enju_library", github: "next-l/enju_library", branch: '1.1' gemspec path: "../" diff --git a/lib/enju_news/version.rb b/lib/enju_news/version.rb index 622672e..88ee608 100644 --- a/lib/enju_news/version.rb +++ b/lib/enju_news/version.rb @@ -1,3 +1,3 @@ module EnjuNews - VERSION = "0.1.0.pre7" + VERSION = "0.1.0.pre8" end From 019ac49b06911893b9f7dfb0d7e8afb14a4f78f3 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Sun, 19 Oct 2014 18:50:03 +0900 Subject: [PATCH 06/14] updated .travis.yml --- .travis.yml | 14 +++++++++++++- enju_news.gemspec | 2 ++ spec/fixtures/users.yml | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0020748..4fa46ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,23 @@ +# http://matthew.mceachen.us/blog/how-to-test-your-rails-application-with-travis-ci-on-different-databases-engines-1220.html language: ruby rvm: - 1.9.3 - 2.0.0 - 2.1.3 -before_script: "bundle exec rake db:migrate" +before_script: + - mysql -e 'create database enju_test' + - psql -c 'create database enju_test;' -U postgres + - "bundle exec rake db:migrate" services: - redis-server gemfile: - gemfiles/rails3_2.gemfile - gemfiles/rails4_1.gemfile +env: + - DB=sqlite + - DB=mysql + - DB=postgresql +notifications: + hipchat: + rooms: + secure: myVd4EAIQcN7fjjO1h0SViSfqhFJyq6UUfif0hzIJ7yggBJViQp8PTpEbHFi699wS1cox9b7Kzp/1P9u9aaV05m1Dur1hb3+8gycDYjZa5FNEnAwmoMCKbXWVo3ze23CbpWLSyAcfRGF3Xfk0TMEDHDb2Izpv3GcVXPdrHKjQqg= diff --git a/enju_news.gemspec b/enju_news.gemspec index 2de3f39..0a1c0a8 100644 --- a/enju_news.gemspec +++ b/enju_news.gemspec @@ -20,6 +20,8 @@ Gem::Specification.new do |s| s.add_dependency "faraday" s.add_development_dependency "sqlite3" + s.add_development_dependency "mysql" + s.add_development_dependency "pg" s.add_development_dependency "rspec-rails", "~> 3.1" s.add_development_dependency "factory_girl_rails" s.add_development_dependency "vcr" diff --git a/spec/fixtures/users.yml b/spec/fixtures/users.yml index c9efc81..7f6c3a4 100644 --- a/spec/fixtures/users.yml +++ b/spec/fixtures/users.yml @@ -48,4 +48,4 @@ user4: username: user4 email: user4@kamata.lib.teu.ac.jp created_at: 2007-11-19 16:58:34.637413 +09:00 - locked_at: <%= 1.day.ago %> + locked_at: <%= 1.day.ago.to_s(:db) %> From c45769b621e7ac5e183f73943077b9f4c58a0a58 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Sun, 19 Oct 2014 22:37:47 +0900 Subject: [PATCH 07/14] updated gemspec --- enju_news.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enju_news.gemspec b/enju_news.gemspec index 0a1c0a8..b4672e2 100644 --- a/enju_news.gemspec +++ b/enju_news.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| s.add_dependency "faraday" s.add_development_dependency "sqlite3" - s.add_development_dependency "mysql" + s.add_development_dependency "mysql2" s.add_development_dependency "pg" s.add_development_dependency "rspec-rails", "~> 3.1" s.add_development_dependency "factory_girl_rails" From f7cfc67972b47a255e65437598417acdbf46e577 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Mon, 20 Oct 2014 20:48:53 +0900 Subject: [PATCH 08/14] updated .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4fa46ec..2462ee7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,4 +20,4 @@ env: notifications: hipchat: rooms: - secure: myVd4EAIQcN7fjjO1h0SViSfqhFJyq6UUfif0hzIJ7yggBJViQp8PTpEbHFi699wS1cox9b7Kzp/1P9u9aaV05m1Dur1hb3+8gycDYjZa5FNEnAwmoMCKbXWVo3ze23CbpWLSyAcfRGF3Xfk0TMEDHDb2Izpv3GcVXPdrHKjQqg= + secure: GU+wxZhxxmEB2MOWO32LtRTVOhf3xmRoiBvQLpNcXcnumgVvtwCbtBjochCSQ5Z4hqD4bXal46ci6bLN8UqzLE0FZHF2UJ2NbyaiVLg/DXz9r89XMhxxvarV5Tt3YILoZE5EqS7O9rHrCUCNWB0qVRDFrD2EtoxpoD6Sd56MIAM= From 63b634c49cd68ad5051ef592b61311ca5d364805 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Mon, 20 Oct 2014 22:17:26 +0900 Subject: [PATCH 09/14] updated .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2462ee7..64644a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,4 +20,4 @@ env: notifications: hipchat: rooms: - secure: GU+wxZhxxmEB2MOWO32LtRTVOhf3xmRoiBvQLpNcXcnumgVvtwCbtBjochCSQ5Z4hqD4bXal46ci6bLN8UqzLE0FZHF2UJ2NbyaiVLg/DXz9r89XMhxxvarV5Tt3YILoZE5EqS7O9rHrCUCNWB0qVRDFrD2EtoxpoD6Sd56MIAM= + secure: KF+KWjvmPrcScVItfLRqm8LeQqele5nxnHkXCXbo5pZ7zzah3ar0M3yA4BNUweqdmXkLvitM+muaktTlj6dPGogCaPG/Qab5gHjSFCKZ7A8F4QxccTArFdb+yeS+Svlavzqhbi4zKEn3jSLbJw/RWKKymxJ0luRndANEiSGPUto= From b291b0e43f870f12a8e037aa0e277bb330d0ccb7 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Mon, 20 Oct 2014 23:52:15 +0900 Subject: [PATCH 10/14] updated .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 64644a8..1c48db0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,4 +20,4 @@ env: notifications: hipchat: rooms: - secure: KF+KWjvmPrcScVItfLRqm8LeQqele5nxnHkXCXbo5pZ7zzah3ar0M3yA4BNUweqdmXkLvitM+muaktTlj6dPGogCaPG/Qab5gHjSFCKZ7A8F4QxccTArFdb+yeS+Svlavzqhbi4zKEn3jSLbJw/RWKKymxJ0luRndANEiSGPUto= + secure: J3SZQxwoYVA2CwAybJwMz9CD4JuMgABqV2zVru9eFhZhOmUMsbCtwmAO+kmkfIKMnCRBW0Yn31M5IB4qyei8s/qAVQX6kV68lSpTWJ3g9TTtPkPWq68S/LbMG7OLtYiQdAeEoWUPuqJRwAxdJ+SWcebnY+G44YHHMYmehCVE9/g= From f12a06697c2bf4c758ada612a3431dd046f125f8 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Tue, 21 Oct 2014 00:26:57 +0900 Subject: [PATCH 11/14] updated README --- README.rdoc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.rdoc b/README.rdoc index 11f262f..992296a 100644 --- a/README.rdoc +++ b/README.rdoc @@ -1,3 +1,10 @@ = EnjuNews -This project rocks and uses MIT-LICENSE. \ No newline at end of file +{Build Status}[https://travis-ci.org/next-l/enju_news] +{security}[https://hakiri.io/github/next-l/enju_news/1.1] + +This project rocks and uses MIT-LICENSE. + +== 製作者・貢献者 (Authors and contributors) +* {TANABE, Kosuke}[https://github.com/nabeta] ({@nabeta}[https://twitter.com/nabeta]) +* {Project Next-L}[http://www.next-l.jp] ({@ProjectNextL}[https://twitter.com/ProjectNextL]) From 5e58f643462178d92436c9693d01f1db7e2a524e Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Tue, 21 Oct 2014 05:06:35 +0900 Subject: [PATCH 12/14] updated gemfiles --- .travis.yml | 2 +- gemfiles/rails3_2.gemfile | 1 + gemfiles/rails4_1.gemfile | 1 + spec/spec_helper.rb | 2 ++ 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1c48db0..957c992 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,4 +20,4 @@ env: notifications: hipchat: rooms: - secure: J3SZQxwoYVA2CwAybJwMz9CD4JuMgABqV2zVru9eFhZhOmUMsbCtwmAO+kmkfIKMnCRBW0Yn31M5IB4qyei8s/qAVQX6kV68lSpTWJ3g9TTtPkPWq68S/LbMG7OLtYiQdAeEoWUPuqJRwAxdJ+SWcebnY+G44YHHMYmehCVE9/g= + secure: Ghx4+Ip0t8QJthUGDTasFK8L+CdkcuNoq2kCzZsXe90vQ6LoRR3h8/+9GQ9DUM5WdyTk54ufOJi7rsX9vxY6LXz0wZnr1aVdh7TUShb/Kx8KYyhfLC5b8t+QrANEnlDvRaJEtWVaURICIfd1l2CEfjAS4JoFbA6NCP+2nhnadDE= diff --git a/gemfiles/rails3_2.gemfile b/gemfiles/rails3_2.gemfile index 2e6fb56..504fed8 100644 --- a/gemfiles/rails3_2.gemfile +++ b/gemfiles/rails3_2.gemfile @@ -2,5 +2,6 @@ source "https://rubygems.org" gem "rails", "~> 3.2.19" gem "jquery-rails" +gem 'coveralls', require: false gemspec path: "../" diff --git a/gemfiles/rails4_1.gemfile b/gemfiles/rails4_1.gemfile index ccfff45..ec7bf0b 100644 --- a/gemfiles/rails4_1.gemfile +++ b/gemfiles/rails4_1.gemfile @@ -3,5 +3,6 @@ source "https://rubygems.org" gem "rails", "~> 4.1.6" gem "jquery-rails" gem "protected_attributes" +gem 'coveralls', require: false gemspec path: "../" diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 389eabb..c41e401 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,5 +1,7 @@ require 'simplecov' +require 'coveralls' SimpleCov.start 'rails' +Coveralls.wear! # This file is copied to spec/ when you run 'rails generate rspec:install' ENV["RAILS_ENV"] ||= 'test' From 1734994592fb6af4d4826f1bc6f046d0a8bb2804 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Tue, 21 Oct 2014 17:55:28 +0900 Subject: [PATCH 13/14] updated .travis.yml --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index 957c992..7513073 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,12 @@ env: - DB=sqlite - DB=mysql - DB=postgresql +matrix: + exclude: + - rvm: 1.9.3 + gemfile: gemfiles/rails4_1.gemfile + - rvm: 2.1.3 + gemfile: gemfiles/rails3_2.gemfile notifications: hipchat: rooms: From fdc358343e64ad9584a7aea30526600714816b20 Mon Sep 17 00:00:00 2001 From: Kosuke Tanabe Date: Fri, 24 Oct 2014 00:45:12 +0900 Subject: [PATCH 14/14] updated .travis.yml --- .travis.yml | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7513073..2496dd7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,29 +1,27 @@ -# http://matthew.mceachen.us/blog/how-to-test-your-rails-application-with-travis-ci-on-different-databases-engines-1220.html language: ruby rvm: - - 1.9.3 - - 2.0.0 - - 2.1.3 +- 1.9.3 +- 2.0.0 +- 2.1.3 before_script: - - mysql -e 'create database enju_test' - - psql -c 'create database enju_test;' -U postgres - - "bundle exec rake db:migrate" +- mysql -e 'create database enju_test' +- psql -c 'create database enju_test;' -U postgres +- bundle exec rake db:migrate services: - - redis-server +- redis-server gemfile: - - gemfiles/rails3_2.gemfile - - gemfiles/rails4_1.gemfile +- gemfiles/rails3_2.gemfile +- gemfiles/rails4_1.gemfile env: - - DB=sqlite - - DB=mysql - - DB=postgresql +- DB=sqlite +- DB=mysql +- DB=postgresql matrix: exclude: - - rvm: 1.9.3 - gemfile: gemfiles/rails4_1.gemfile - - rvm: 2.1.3 - gemfile: gemfiles/rails3_2.gemfile + - rvm: 1.9.3 + gemfile: gemfiles/rails4_1.gemfile + - rvm: 2.1.3 + gemfile: gemfiles/rails3_2.gemfile notifications: - hipchat: - rooms: - secure: Ghx4+Ip0t8QJthUGDTasFK8L+CdkcuNoq2kCzZsXe90vQ6LoRR3h8/+9GQ9DUM5WdyTk54ufOJi7rsX9vxY6LXz0wZnr1aVdh7TUShb/Kx8KYyhfLC5b8t+QrANEnlDvRaJEtWVaURICIfd1l2CEfjAS4JoFbA6NCP+2nhnadDE= + slack: + secure: aVw4odRuPfoUjOXbmYfwhYrUuG0BPxmPDmpz6RmUoUKUtUDPWeCw60Xxv+AvGxNuc2usZ32eHW/tKXsQukx5SADVYkSgiAquo4/PErxAdt+P+ilEUT0fzJr8N11mtY0SEOK1iXVp5ucjswsjUYPyQwcddL/hBU2tcSU73yrLv2E=