spacex 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +26 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +6 -0
  5. data/.rubocop_todo.yml +1 -1
  6. data/CHANGELOG.md +54 -1
  7. data/CLAUDE.md +55 -0
  8. data/Dangerfile +28 -0
  9. data/Gemfile +12 -1
  10. data/README.md +52 -510
  11. data/docs/v3.md +525 -0
  12. data/docs/v4.md +179 -0
  13. data/lib/spacex/base_request.rb +8 -8
  14. data/lib/spacex/capsules.rb +10 -12
  15. data/lib/spacex/company.rb +7 -0
  16. data/lib/spacex/cores.rb +11 -14
  17. data/lib/spacex/crew.rb +15 -0
  18. data/lib/spacex/{dragon_capsules.rb → dragons.rb} +14 -16
  19. data/lib/spacex/history.rb +9 -2
  20. data/lib/spacex/landpads.rb +23 -0
  21. data/lib/spacex/launches.rb +35 -11
  22. data/lib/spacex/launchpads.rb +23 -0
  23. data/lib/spacex/models.rb +16 -0
  24. data/lib/spacex/payloads.rb +31 -2
  25. data/lib/spacex/rockets.rb +26 -3
  26. data/lib/spacex/ships.rb +22 -24
  27. data/lib/spacex/starlink.rb +16 -0
  28. data/lib/spacex/version.rb +1 -1
  29. data/lib/spacex.rb +2 -17
  30. data/spacex.gemspec +6 -9
  31. data/spec/coverage_helper.rb +5 -0
  32. data/spec/fixtures/spacex/v4/capsules/all.yml +122 -0
  33. data/spec/fixtures/spacex/v4/capsules/one.yml +89 -0
  34. data/spec/fixtures/spacex/v4/company.yml +80 -0
  35. data/spec/fixtures/spacex/v4/cores/all.yml +76 -0
  36. data/spec/fixtures/spacex/v4/cores/one.yml +75 -0
  37. data/spec/fixtures/spacex/v4/crew/all.yml +92 -0
  38. data/spec/fixtures/spacex/v4/crew/one.yml +74 -0
  39. data/spec/fixtures/spacex/v4/dragons/all.yml +101 -0
  40. data/spec/fixtures/spacex/v4/dragons/one.yml +189 -0
  41. data/spec/fixtures/spacex/v4/history/all.yml +85 -0
  42. data/spec/fixtures/spacex/v4/history/one.yml +168 -0
  43. data/spec/fixtures/spacex/v4/landpads/all.yml +85 -0
  44. data/spec/fixtures/spacex/v4/landpads/one.yml +172 -0
  45. data/spec/fixtures/spacex/v4/launches/all.yml +85 -0
  46. data/spec/fixtures/spacex/v4/launches/latest.yml +84 -0
  47. data/spec/fixtures/spacex/v4/launches/next.yml +84 -0
  48. data/spec/fixtures/spacex/v4/launches/one.yml +167 -0
  49. data/spec/fixtures/spacex/v4/launches/past.yml +85 -0
  50. data/spec/fixtures/spacex/v4/launches/upcoming.yml +97 -0
  51. data/spec/fixtures/spacex/v4/launchpads/all.yml +139 -0
  52. data/spec/fixtures/spacex/v4/launchpads/one.yml +225 -0
  53. data/spec/fixtures/spacex/v4/payloads/all.yml +85 -0
  54. data/spec/fixtures/spacex/v4/payloads/one.yml +167 -0
  55. data/spec/fixtures/spacex/v4/roadster.yml +90 -0
  56. data/spec/fixtures/spacex/v4/rockets/all.yml +76 -0
  57. data/spec/fixtures/spacex/v4/rockets/one.yml +84 -0
  58. data/spec/fixtures/spacex/v4/ships/all.yml +164 -0
  59. data/spec/fixtures/spacex/v4/ships/one.yml +248 -0
  60. data/spec/fixtures/spacex/v4/starlink/all.yml +17713 -0
  61. data/spec/fixtures/spacex/v4/starlink/one.yml +17798 -0
  62. data/spec/spacex/base_request_spec.rb +112 -0
  63. data/spec/spacex/capsules_spec.rb +19 -28
  64. data/spec/spacex/company_spec.rb +26 -0
  65. data/spec/spacex/cores_spec.rb +18 -31
  66. data/spec/spacex/crew_spec.rb +27 -0
  67. data/spec/spacex/dragons_spec.rb +39 -0
  68. data/spec/spacex/history_spec.rb +16 -40
  69. data/spec/spacex/landpads_spec.rb +35 -0
  70. data/spec/spacex/launches_spec.rb +28 -628
  71. data/spec/spacex/launchpads_spec.rb +34 -0
  72. data/spec/spacex/payloads_spec.rb +27 -51
  73. data/spec/spacex/roadster_spec.rb +5 -29
  74. data/spec/spacex/rockets_spec.rb +26 -194
  75. data/spec/spacex/ships_spec.rb +20 -51
  76. data/spec/spacex/starlink_spec.rb +28 -0
  77. data/spec/spacex/version_spec.rb +12 -0
  78. data/spec/spec_helper.rb +3 -9
  79. metadata +106 -137
  80. data/.ruby-version +0 -1
  81. data/.travis.yml +0 -21
  82. data/lib/spacex/api_info.rb +0 -7
  83. data/lib/spacex/company_info.rb +0 -7
  84. data/lib/spacex/endpoint.rb +0 -3
  85. data/lib/spacex/landing_pads.rb +0 -11
  86. data/lib/spacex/launch_pads.rb +0 -11
  87. data/lib/spacex/missions.rb +0 -18
  88. data/spec/fixtures/spacex/api_info/info.yml +0 -65
  89. data/spec/fixtures/spacex/capsules/C202.yml +0 -123
  90. data/spec/fixtures/spacex/capsules.yml +0 -83
  91. data/spec/fixtures/spacex/company_info/info.yml +0 -129
  92. data/spec/fixtures/spacex/cores/B1041.yml +0 -123
  93. data/spec/fixtures/spacex/cores.yml +0 -62
  94. data/spec/fixtures/spacex/dragon_capsules/info/dragon1.yml +0 -131
  95. data/spec/fixtures/spacex/dragon_capsules/info.yml +0 -77
  96. data/spec/fixtures/spacex/history/info/4.yml +0 -62
  97. data/spec/fixtures/spacex/history/info.yml +0 -62
  98. data/spec/fixtures/spacex/landing_pads/info/LZ-4.yml +0 -70
  99. data/spec/fixtures/spacex/landing_pads/info.yml +0 -68
  100. data/spec/fixtures/spacex/launch_pads/info/vafb_slc_4e.yml +0 -71
  101. data/spec/fixtures/spacex/launch_pads/info.yml +0 -104
  102. data/spec/fixtures/spacex/launches/68.yml +0 -69
  103. data/spec/fixtures/spacex/launches/all.yml +0 -62
  104. data/spec/fixtures/spacex/launches/info.yml +0 -62
  105. data/spec/fixtures/spacex/launches/latest.yml +0 -245
  106. data/spec/fixtures/spacex/launches/next.yml +0 -123
  107. data/spec/fixtures/spacex/launches/past.yml +0 -62
  108. data/spec/fixtures/spacex/launches/upcoming.yml +0 -64
  109. data/spec/fixtures/spacex/launches.yml +0 -62
  110. data/spec/fixtures/spacex/missions/F3364BF.yml +0 -157
  111. data/spec/fixtures/spacex/missions/info.yml +0 -62
  112. data/spec/fixtures/spacex/payloads/RatSat.yml +0 -62
  113. data/spec/fixtures/spacex/payloads/info.yml +0 -62
  114. data/spec/fixtures/spacex/roadster/info.yml +0 -133
  115. data/spec/fixtures/spacex/rockets/info/falcon1.yml +0 -139
  116. data/spec/fixtures/spacex/rockets/info/invalid.yml +0 -61
  117. data/spec/fixtures/spacex/rockets/info.yml +0 -105
  118. data/spec/fixtures/spacex/ships/info/AMERICANCHAMPION.yml +0 -125
  119. data/spec/fixtures/spacex/ships/info.yml +0 -139
  120. data/spec/spacex/api_info_spec.rb +0 -16
  121. data/spec/spacex/company_info_spec.rb +0 -27
  122. data/spec/spacex/dragon_capsules_spec.rb +0 -107
  123. data/spec/spacex/endpoint_spec.rb +0 -9
  124. data/spec/spacex/landing_pads_spec.rb +0 -72
  125. data/spec/spacex/launch_pads_spec.rb +0 -77
  126. data/spec/spacex/missions_spec.rb +0 -35
@@ -0,0 +1,168 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spacexdata.com/v4/history/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v2.14.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sat, 21 Mar 2026 19:41:43 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '6756'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Expose-Headers:
32
+ - spacex-api-cache,spacex-api-response-time
33
+ Alt-Svc:
34
+ - h3=":443"; ma=86400
35
+ Cache-Control:
36
+ - max-age=300
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - '"1a64-qxakXoEOG9M2HtE94bgMcFoDWvE"'
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Server:
48
+ - cloudflare
49
+ Spacex-Api-Cache:
50
+ - HIT
51
+ Spacex-Api-Cache-Online:
52
+ - 'true'
53
+ Spacex-Api-Response-Time:
54
+ - 1ms
55
+ Strict-Transport-Security:
56
+ - max-age=15552000; includeSubDomains
57
+ Vary:
58
+ - Accept-Encoding
59
+ - Origin
60
+ X-Content-Type-Options:
61
+ - nosniff
62
+ X-Dns-Prefetch-Control:
63
+ - 'off'
64
+ X-Download-Options:
65
+ - noopen
66
+ X-Frame-Options:
67
+ - SAMEORIGIN
68
+ X-Permitted-Cross-Domain-Policies:
69
+ - none
70
+ X-Xss-Protection:
71
+ - '0'
72
+ Cf-Cache-Status:
73
+ - DYNAMIC
74
+ Nel:
75
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
76
+ Report-To:
77
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=rUiHUQRvU%2Bj24dwi5VQxDuPbeoWQoTySuiRnziH1TSqLPTl%2Fsd1c540UOWqp5ZldCzsgHTH%2BK%2FlhW39HuC%2F0BrGFt8ElmX7%2FTiw4JbOMKXs8hA%3D%3D"}]}'
78
+ Cf-Ray:
79
+ - 9dff6f881b3e086a-YYZ
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: !binary |-
83
+ W3sibGlua3MiOnsiYXJ0aWNsZSI6Imh0dHA6Ly93d3cuc3BhY2V4LmNvbS9uZXdzLzIwMTMvMDIvMTEvZmxpZ2h0LTQtbGF1bmNoLXVwZGF0ZS0wIn0sInRpdGxlIjoiRmFsY29uIHJlYWNoZXMgRWFydGggb3JiaXQiLCJldmVudF9kYXRlX3V0YyI6IjIwMDgtMDktMjhUMjM6MTU6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxMjIyNjQzNzAwLCJkZXRhaWxzIjoiRmFsY29uIDEgYmVjb21lcyB0aGUgZmlyc3QgcHJpdmF0ZWx5IGRldmVsb3BlZCBsaXF1aWQtZnVlbCByb2NrZXQgdG8gcmVhY2ggRWFydGggb3JiaXQuIiwiaWQiOiI1ZjZmYjJjZmRjZmRmNDAzZGYzNzk3MWUifSx7ImxpbmtzIjp7ImFydGljbGUiOiJodHRwOi8vd3d3LnNwYWNleC5jb20vbmV3cy8yMDEzLzAyLzEyL2ZhbGNvbi0xLWZsaWdodC01In0sInRpdGxlIjoiRmFsY29uIGRlbGl2ZXJzIHBheWxvYWQgdG8gb3JiaXQiLCJldmVudF9kYXRlX3V0YyI6IjIwMDktMDctMTNUMDM6MzU6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxMjQ3NDU2MTAwLCJkZXRhaWxzIjoiRmlmdGggc3VjY2Vzc2Z1bCBmbGlnaHQgb2YgRmFsY29uIG1ha2VzIGhpc3RvcnksIGJlY29taW5nIHRoZSBmaXJzdCBwcml2YXRlbHkgZGV2ZWxvcGVkIGxpcXVpZC1mdWVsIHJvY2tldCB0byBkZWxpdmVyIGEgY29tbWVyY2lhbCBzYXRlbGxpdGUgdG8gb3JiaXQuIiwiaWQiOiI1ZjZmYjJlZmRjZmRmNDAzZGYzNzk3MWYifSx7ImxpbmtzIjp7ImFydGljbGUiOiJodHRwOi8vd3d3LmJiYy5jb20vbmV3cy8xMDIwOTcwNCJ9LCJ0aXRsZSI6IkZpcnN0IHN1Y2Nlc3NmdWxsIERyYWdvbiBsYXVuY2giLCJldmVudF9kYXRlX3V0YyI6IjIwMTAtMDYtMDRUMTg6NDU6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxMjc1Njc3MTAwLCJkZXRhaWxzIjoiU3BhY2VYIGJlY29tZXMgdGhlIGZpcnN0IHByaXZhdGUgY29tcGFueSB0byBzdWNjZXNzZnVsbHkgbGF1bmNoLCBvcmJpdCwgYW5kIHJlY292ZXIgYSBzcGFjZWNyYWZ0LiIsImlkIjoiNWY2ZmIzMTJkY2ZkZjQwM2RmMzc5NzIwIn0seyJsaW5rcyI6eyJhcnRpY2xlIjoiaHR0cDovL3d3dy5jbm4uY29tLzIwMTAvVVMvMTIvMDgvc3BhY2UuZmxpZ2h0L2luZGV4Lmh0bWwifSwidGl0bGUiOiJEcmFnb24gY2Fwc3VsZSBiaXJ0aHMgd2l0aCBJU1MiLCJldmVudF9kYXRlX3V0YyI6IjIwMTAtMTItMDhUMTU6NDM6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxMjkxODIyOTgwLCJkZXRhaWxzIjoiUHJpdmF0ZSBkZXZlbG9wZWQgRHJhZ29uIHNwYWNlY3JhZnQgJ2JpcnRocycgd2l0aCB0aGUgSW50ZXJuYXRpb25hbCBTcGFjZSBTdGF0aW9uIHN1Y2Nlc3NmdWxseS4iLCJpZCI6IjVmNmZiMzI2ZGNmZGY0MDNkZjM3OTcyMSJ9LHsibGlua3MiOnsiYXJ0aWNsZSI6Imh0dHA6Ly93d3cubmV3c3BhY2Vqb3VybmFsLmNvbS8yMDEzLzAzLzI3L2FmdGVyLWRyYWdvbi1zcGFjZXhzLWZvY3VzLXJldHVybnMtdG8tZmFsY29uLyJ9LCJ0aXRsZSI6IkZpcnN0IEZhbGNvbiA5IEdUTyBtaXNzaW9uIiwiZXZlbnRfZGF0ZV91dGMiOiIyMDEzLTEyLTAzVDIyOjQxOjAwWiIsImV2ZW50X2RhdGVfdW5peCI6MTM4NjExMDQ2MCwiZGV0YWlscyI6IkZhbGNvbiA5IHN1Y2Nlc3NmdWxseSBkZXBveWVkIHBheWxvYWQgdG8gR2Vvc3luY2hyb25vdXMgVHJhbnNmZXIgT3JiaXQiLCJpZCI6IjVmNmZiMzQzZGNmZGY0MDNkZjM3OTcyMiJ9LHsibGlua3MiOnsiYXJ0aWNsZSI6Imh0dHBzOi8vc3BhY2VmbGlnaHRub3cuY29tLzIwMTUvMTIvMjIvcm91bmQtdHJpcC1yb2NrZXQtZmxpZ2h0LWdpdmVzLXNwYWNleC1hLXRyaWZlY3RhLW9mLXN1Y2Nlc3Nlcy8ifSwidGl0bGUiOiJTdWNjZXNzZnVsbCBGYWxjb24gOSBsYW5kaW5nIiwiZXZlbnRfZGF0ZV91dGMiOiIyMDE1LTEyLTIyVDAxOjI5OjAwWiIsImV2ZW50X2RhdGVfdW5peCI6MTQ1MDc0Nzc0MCwiZGV0YWlscyI6Ik9uIERlY2VtYmVyIDIxLCAyMDE1LCB0aGUgRmFsY29uIDkgcm9ja2V0IGRlbGl2ZXJlZCAxMSBjb21tdW5pY2F0aW9ucyBzYXRlbGxpdGVzIHRvIG9yYml0LCBhbmQgdGhlIGZpcnN0IHN0YWdlIHJldHVybmVkIGFuZCBsYW5kZWQgYXQgTGFuZGluZyBab25lIDEg4oCTIHRoZSBmaXJzdC1ldmVyIG9yYml0YWwgY2xhc3Mgcm9ja2V0IGxhbmRpbmcuIiwiaWQiOiI1ZjZmYjM3ZGRjZmRmNDAzZGYzNzk3MjMifSx7ImxpbmtzIjp7ImFydGljbGUiOiJodHRwczovL3NwYWNlZmxpZ2h0bm93LmNvbS8yMDE2LzA0LzA4L3NwYWNleC1sYW5kcy1yb2NrZXQtb24tZmxvYXRpbmctcGxhdGZvcm0tYWZ0ZXItc3RhdGlvbi1yZXN1cHBseS1sYXVuY2gvIn0sInRpdGxlIjoiU3VjY2Vzc2Z1bGwgRmFsY29uIDkgZHJvbmVzaGlwIGxhbmRpbmciLCJldmVudF9kYXRlX3V0YyI6IjIwMTYtMDQtMDhUMjA6NDM6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxNDYwMTQ4MTgwLCJkZXRhaWxzIjoiT24gQXByaWwgOCwgMjAxNiwgdGhlIEZhbGNvbiA5IHJvY2tldCBsYXVuY2hlZCB0aGUgRHJhZ29uIHNwYWNlY3JhZnQgdG8gdGhlIEludGVybmF0aW9uYWwgU3BhY2UgU3RhdGlvbiwgYW5kIHRoZSBmaXJzdCBzdGFnZSByZXR1cm5lZCBhbmQgbGFuZGVkIG9uIHRoZSBPZiBDb3Vyc2UgSSBTdGlsbCBMb3ZlIFlvdSBkcm9uZXNoaXAuIiwiaWQiOiI1ZjZmYjM5MWRjZmRmNDAzZGYzNzk3MjQifSx7ImxpbmtzIjp7ImFydGljbGUiOiJodHRwczovL3NwYWNlZmxpZ2h0bm93LmNvbS8yMDE3LzAzLzMxL3NwYWNleC1mbGllcy1yb2NrZXQtZm9yLXNlY29uZC10aW1lLWluLWhpc3RvcmljLXRlc3Qtb2YtY29zdC1jdXR0aW5nLXRlY2hub2xvZ3kvIn0sInRpdGxlIjoiRmlyc3QgRmFsY29uIDkgcmVmbGlnaHQiLCJldmVudF9kYXRlX3V0YyI6IjIwMTctMDMtMzBUMjI6Mjc6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxNDkwOTEyODIwLCJkZXRhaWxzIjoiT24gTWFyY2ggMzAsIDIwMTcsIFNwYWNlWCBhY2hpZXZlZCB0aGUgd29ybGQncyBmaXJzdCByZWZsaWdodCBvZiBhbiBvcmJpdGFsIGNsYXNzIHJvY2tldC4gRm9sbG93aW5nIGRlbGl2ZXJ5IG9mIHRoZSBwYXlsb2FkLCB0aGUgRmFsY29uIDkgZmlyc3Qgc3RhZ2UgcmV0dXJuZWQgdG8gRWFydGggZm9yIHRoZSBzZWNvbmQgdGltZS4iLCJpZCI6IjVmNmZiM2E3ZGNmZGY0MDNkZjM3OTcyNSJ9LHsibGlua3MiOnsiYXJ0aWNsZSI6Imh0dHBzOi8vc3BhY2VmbGlnaHRub3cuY29tLzIwMTcvMDMvMzEvc3BhY2V4LWZsaWVzLXJvY2tldC1mb3Itc2Vjb25kLXRpbWUtaW4taGlzdG9yaWMtdGVzdC1vZi1jb3N0LWN1dHRpbmctdGVjaG5vbG9neS8ifSwidGl0bGUiOiJGYWlyaW5nIHJlY292ZXJlZCBzdWNjZXNzZnVsbHkiLCJldmVudF9kYXRlX3V0YyI6IjIwMTctMDMtMzBUMjI6Mjc6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxNDkwOTEyODIwLCJkZXRhaWxzIjoiVGhlIGZhaXJpbmcgc2VjdGlvbiB1c2VkIGluIHRoaXMgZmxpZ2h0IHdhcyBzdWNjZXNzZnVseSByZWNvdmVyZWQgZnJvbSB0aGUgb2NlYW4sIGZvbGxvd2luZyBhIGNvbnRyb2xsZWQgZmx5YmFjayB0aHJvdWcgdGhlIGF0bW9zcGhlcmUuIiwiaWQiOiI1ZjZmYjNiOWRjZmRmNDAzZGYzNzk3MjYifSx7ImxpbmtzIjp7ImFydGljbGUiOiJodHRwczovL3NwYWNlZmxpZ2h0bm93LmNvbS8yMDE3LzA2LzAzL3JldXNlZC1kcmFnb24tY2FyZ28tY2Fwc3VsZS1sYXVuY2hlZC1vbi1qb3VybmV5LXRvLXNwYWNlLXN0YXRpb24vIn0sInRpdGxlIjoiRmlyc3QgRHJhZ29uIHJlZmxpZ2h0IiwiZXZlbnRfZGF0ZV91dGMiOiIyMDE3LTA2LTAzVDIxOjA3OjAwWiIsImV2ZW50X2RhdGVfdW5peCI6MTQ5NjUyNDAyMCwiZGV0YWlscyI6IlRoaXMgRHJhZ29uIHJlc3VwcGx5IG1pc3Npb24gcmVwcmVzZW50ZWQgdGhlIGZpcnN0IHJlZmxpZ2h0IG9mIGEgY29tbWVyY2lhbCBzcGFjZWNyYWZ0IHRvIGFuZCBmcm9tIHRoZSBJbnRlcm5hdGlvbmFsIFNwYWNlIFN0YXRpb24uIiwiaWQiOiI1ZjZmYjNjYWRjZmRmNDAzZGYzNzk3MjcifSx7ImxpbmtzIjp7ImFydGljbGUiOiJodHRwczovL3NwYWNlZmxpZ2h0bm93LmNvbS8yMDE4LzAyLzA3L3NwYWNleC1kZWJ1dHMtd29ybGRzLW1vc3QtcG93ZXJmdWwtcm9ja2V0LXNlbmRzLXRlc2xhLXRvd2FyZC10aGUtYXN0ZXJvaWQtYmVsdC8ifSwidGl0bGUiOiJGaXJzdCBGYWxjb24gSGVhdnkgaGVsaW9jZW50cmljIG1pc3Npb24iLCJldmVudF9kYXRlX3V0YyI6IjIwMTgtMDItMDZUMjA6NDU6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxNTE3OTQ5OTAwLCJkZXRhaWxzIjoiTWFpZGVuIGZsaWdodCBvZiBGYWxjb24gSGVhdnksIHVzaW5nIHR3byByZWNvdmVyZWQgRmFsY29uIDkgY29yZXMgYXMgc2lkZSBib29zdGVycywgYXMgd2VsbCBhcyBhIG1vZGlmaWVkIEJsb2NrIDMgYm9vc3RlciByZWluZm9yY2VkIHRvIGVuZHVyZSB0aGUgYWRkaXRpb25hbCBsb2FkIGZyb20gdGhlIHR3byBzaWRlIGJvb3N0ZXJzLiBUaGUgbGF1bmNoIHdhcyBhIHN1Y2Nlc3MsIGFuZCB0aGUgc2lkZSBib29zdGVycyBsYW5kZWQgc2ltdWx0YW5lb3VzbHkgYXQgYWRqYWNlbnQgZ3JvdW5kIHBhZHMuIERyb25lIHNoaXAgbGFuZGluZyBvZiB0aGUgY2VudHJhbCBjb3JlIGZhaWxlZCBkdWUgdG8gVEVB4oCTVEVCIGNoZW1pY2FsIGlnbml0ZXIgcnVubmluZyBvdXQsIHByZXZlbnRpbmcgdHdvIG9mIGl0cyBlbmdpbmVzIGZyb20gcmVzdGFydGluZy4gRmluYWwgYnVybiB0byBoZWxpb2NlbnRyaWMgTWFyc+KAk0VhcnRoIG9yYml0IHdhcyBwZXJmb3JtZWQgYWZ0ZXIgdGhlIHNlY29uZCBzdGFnZSBhbmQgcGF5bG9hZCBjcnVpc2VkIGZvciA2IGhvdXJzIHRocm91Z2ggdGhlIFZhbiBBbGxlbiBiZWx0cy4gTGF0ZXIsIEVsb24gTXVzayB0d2VldGVkIHRoYXQgdGhlIHRoaXJkIGJ1cm4gd2FzIHN1Y2Nlc3NmdWwsIGFuZCBKUEwncyBIT1JJWk9OUyBzeXN0ZW0gc2hvd2VkIHRoZSBzZWNvbmQgc3RhZ2UgYW5kIHBheWxvYWQgaW4gYW4gb3JiaXQgd2l0aCBhbiBhcGhlbGlvbiBvZiAxLjY3IEFVLiBUaGUgbGl2ZSB3ZWJjYXN0IHByb3ZlZCBpbW1lbnNlbHkgcG9wdWxhciwgYXMgaXQgYmVjYW1lIHRoZSBzZWNvbmQgbW9zdCB3YXRjaGVkIGxpdmVzdHJlYW0gZXZlciBvbiBZb3VUdWJlLCByZWFjaGluZyBvdmVyIDIuMyBtaWxsaW9uIGNvbmN1cnJlbnQgdmlld3MiLCJpZCI6IjVmNmZiM2U0ZGNmZGY0MDNkZjM3OTcyOCJ9LHsibGlua3MiOnsiYXJ0aWNsZSI6Imh0dHBzOi8vc3BhY2VmbGlnaHRub3cuY29tLzIwMTkvMDMvMDIvc3BhY2V4LWxhdW5jaGVzLWZpcnN0LWNyZXctZHJhZ29uLWZlcnJ5LXNoaXAvIn0sInRpdGxlIjoiU3VjY2Vzc2Z1bGwgRHJhZ29uIDIgZG9ja2luZyB3aXRoIElTUyIsImV2ZW50X2RhdGVfdXRjIjoiMjAxOS0wMy0wMlQwNzo0NTowMFoiLCJldmVudF9kYXRlX3VuaXgiOjE1NTE1MTI3MDAsImRldGFpbHMiOiJTcGFjZVggc3VjY2Vzc2Z1bGx5IGxhdW5jaGVzIERyYWdvbiAyLCBvbiB0b3Agb2YgdGhlIG5vdyBodW1hbi1yYXRlZCBGYWxjb24gOS4gVGhpcyB3YXMgdGhlIGZpcnN0IGEgcHJpdmF0ZSBjb21wYW55IHNlbmRzIGEgaHVtYW4tcmF0ZWQgc3BhY2VjcmFmdCB0byBzcGFjZS4iLCJpZCI6IjVmNmZiM2Y4ZGNmZGY0MDNkZjM3OTcyOSJ9LHsibGlua3MiOnsiYXJ0aWNsZSI6bnVsbH0sInRpdGxlIjoiRmlyc3QgZmxpZ2h0IG9mIFJhcHRvciBlbmdpbmUiLCJldmVudF9kYXRlX3V0YyI6IjIwMTktMDctMjVUMDA6MDA6MDBaIiwiZXZlbnRfZGF0ZV91bml4IjoxNTY0MDEyODAwLCJkZXRhaWxzIjoiVGhlIGZpcnN0IGZsaWdodCB0ZXN0IG9mIGEgUmFwdG9yIGVuZ2luZSBvY2N1cnJlZCBvbiAyNSBKdWx5IDIwMTkgYXQgdGhlIFNwYWNlWCBTb3V0aCBUZXhhcyBMYXVuY2ggU2l0ZS4gVGhpcyB3YXMgbm90IGEgZnVsbC1kdXJhdGlvbiBidXJuLCBidXQganVzdCBhIDIyLXNlY29uZCB0ZXN0LiIsImlkIjoiNWY2ZmI0MTdkY2ZkZjQwM2RmMzc5NzJhIn0seyJsaW5rcyI6eyJhcnRpY2xlIjpudWxsfSwidGl0bGUiOiJGaXJzdCBGYWxjb24gOSBmYWlyaW5nIHJldXNlIiwiZXZlbnRfZGF0ZV91dGMiOiIyMDIwLTA5LTAzVDEyOjQ2OjAwWiIsImV2ZW50X2RhdGVfdW5peCI6MTU5OTEzNzE2MCwiZGV0YWlscyI6IlRoaXMgd2FzIHRoZSBmaXN0IHRpbWUgcGF5bG9hZCBmYWlyaW5nIG9mIGFuIG9yYml0YWwgcm9ja2V0IHdhcyByZXVzZWQgaW4gYW5vdGhlciBmbGlnaHQuIFRoZSBmYWlyaW5nIHdhcyBmcm9tIHRoZSBBcmFiU2F0LTZBIG1pc3Npb24gaW4gQXByaWwgZWFybGllciB0aGF0IHllYXIuIiwiaWQiOiI1ZjZmYjQzM2RjZmRmNDAzZGYzNzk3MmIifSx7ImxpbmtzIjp7ImFydGljbGUiOiJodHRwczovL3NwYWNlZmxpZ2h0bm93LmNvbS8yMDIwLzA1LzMwL25hc2EtYXN0cm9uYXV0cy1sYXVuY2gtZnJvbS11cy1zb2lsLWZvci1maXJzdC10aW1lLWluLW5pbmUteWVhcnMvIn0sInRpdGxlIjoiU3BhY2VYIHN1Y2Nlc3NmdWxseSBsYXVuY2hlcyBodW1hbnMgdG8gSVNTIiwiZXZlbnRfZGF0ZV91dGMiOiIyMDIwLTA1LTMwVDE5OjIyOjAwWiIsImV2ZW50X2RhdGVfdW5peCI6MTU5MDg2NjUyMCwiZGV0YWlscyI6IlRoaXMgbWlzc2lvbiB3YXMgdGhlIGZpcnN0IGNyZXdlZCBmbGlnaHQgdG8gbGF1bmNoIGZyb20gdGhlIFVuaXRlZCBTdGF0ZXMgc2luY2UgdGhlIGVuZCBvZiB0aGUgU3BhY2UgU2h1dHRsZSBwcm9ncmFtIGluIDIwMTEuIEl0IGNhcnJpZWQgTkFTQSBhc3Ryb25hdXRzIERvdWcgSHVybGV5IGFuZCBCb2IgQmVobmtlbiB0byB0aGUgSVNTLiIsImlkIjoiNWY2ZmI0NGRkY2ZkZjQwM2RmMzc5NzJjIn1d
84
+ recorded_at: Sat, 21 Mar 2026 19:41:43 GMT
85
+ - request:
86
+ method: get
87
+ uri: https://api.spacexdata.com/v4/history/5f6fb2cfdcfdf403df37971e
88
+ body:
89
+ encoding: US-ASCII
90
+ string: ''
91
+ headers:
92
+ User-Agent:
93
+ - Faraday v2.14.1
94
+ Accept-Encoding:
95
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
96
+ Accept:
97
+ - "*/*"
98
+ response:
99
+ status:
100
+ code: 200
101
+ message: OK
102
+ headers:
103
+ Date:
104
+ - Sat, 21 Mar 2026 19:41:58 GMT
105
+ Content-Type:
106
+ - application/json; charset=utf-8
107
+ Transfer-Encoding:
108
+ - chunked
109
+ Connection:
110
+ - keep-alive
111
+ Access-Control-Allow-Origin:
112
+ - "*"
113
+ Access-Control-Expose-Headers:
114
+ - spacex-api-cache,spacex-api-response-time
115
+ Alt-Svc:
116
+ - h3=":443"; ma=86400
117
+ Cache-Control:
118
+ - max-age=300
119
+ Content-Security-Policy:
120
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
121
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
122
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
123
+ Report-To:
124
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=uOiUFqNgzz6YZVswmG3n6wq44r05QeF4IyHg2plnBAZB5OSdKZNaRrwwqAm1hZ2JhJFktNGUjiCO%2B5ezt7k%2BTkG%2FkQtZ1Z8a425qIdNbC1NWhg%3D%3D"}]}'
125
+ Expect-Ct:
126
+ - max-age=0
127
+ Referrer-Policy:
128
+ - no-referrer
129
+ Server:
130
+ - cloudflare
131
+ Spacex-Api-Cache:
132
+ - MISS
133
+ Spacex-Api-Cache-Online:
134
+ - 'true'
135
+ Spacex-Api-Response-Time:
136
+ - 2ms
137
+ Strict-Transport-Security:
138
+ - max-age=15552000; includeSubDomains
139
+ Vary:
140
+ - Origin
141
+ X-Content-Type-Options:
142
+ - nosniff
143
+ X-Dns-Prefetch-Control:
144
+ - 'off'
145
+ X-Download-Options:
146
+ - noopen
147
+ X-Frame-Options:
148
+ - SAMEORIGIN
149
+ X-Permitted-Cross-Domain-Policies:
150
+ - none
151
+ X-Xss-Protection:
152
+ - '0'
153
+ Cf-Cache-Status:
154
+ - DYNAMIC
155
+ Nel:
156
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
157
+ Etag:
158
+ - W/"144-IUHZVZbL23NYQnXjNI9DfCrC/es"
159
+ Cf-Ray:
160
+ - 9dff6fe69aa7c48a-YYZ
161
+ body:
162
+ encoding: ASCII-8BIT
163
+ string: '{"links":{"article":"http://www.spacex.com/news/2013/02/11/flight-4-launch-update-0"},"title":"Falcon
164
+ reaches Earth orbit","event_date_utc":"2008-09-28T23:15:00Z","event_date_unix":1222643700,"details":"Falcon
165
+ 1 becomes the first privately developed liquid-fuel rocket to reach Earth
166
+ orbit.","id":"5f6fb2cfdcfdf403df37971e"}'
167
+ recorded_at: Sat, 21 Mar 2026 19:41:58 GMT
168
+ recorded_with: VCR 6.4.0
@@ -0,0 +1,85 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spacexdata.com/v4/landpads/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v2.14.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sat, 21 Mar 2026 19:42:24 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Expose-Headers:
32
+ - spacex-api-cache,spacex-api-response-time
33
+ Alt-Svc:
34
+ - h3=":443"; ma=86400
35
+ Cache-Control:
36
+ - max-age=300
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - '"30ec-U3TuEZSNO2BVdAPuRW4xkzICDGo"'
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Server:
48
+ - cloudflare
49
+ Spacex-Api-Cache:
50
+ - MISS
51
+ Spacex-Api-Cache-Online:
52
+ - 'true'
53
+ Spacex-Api-Response-Time:
54
+ - 5ms
55
+ Strict-Transport-Security:
56
+ - max-age=15552000; includeSubDomains
57
+ Vary:
58
+ - Accept-Encoding
59
+ - Origin
60
+ X-Content-Type-Options:
61
+ - nosniff
62
+ X-Dns-Prefetch-Control:
63
+ - 'off'
64
+ X-Download-Options:
65
+ - noopen
66
+ X-Frame-Options:
67
+ - SAMEORIGIN
68
+ X-Permitted-Cross-Domain-Policies:
69
+ - none
70
+ X-Xss-Protection:
71
+ - '0'
72
+ Cf-Cache-Status:
73
+ - DYNAMIC
74
+ Nel:
75
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
76
+ Report-To:
77
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=k2NSXRGcEYZABOYVe4v2ncI4Mev4GgrtIoV5HP9sT8UwZuYQ9Ups1rmdfU1hyY6s1x%2B%2B6jkSCDW173bIISusoSltoD0doDAYADvXEdq%2BSz6oFQ%3D%3D"}]}'
78
+ Cf-Ray:
79
+ - 9dff708c1d29ac51-YYZ
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: !binary |-
83
+ W3siaW1hZ2VzIjp7ImxhcmdlIjpbImh0dHBzOi8vaS5pbWd1ci5jb20vS0hCazZqTy5wbmciXX0sIm5hbWUiOiJMWi0xIiwiZnVsbF9uYW1lIjoiTGFuZGluZyBab25lIDEiLCJzdGF0dXMiOiJhY3RpdmUiLCJ0eXBlIjoiUlRMUyIsImxvY2FsaXR5IjoiQ2FwZSBDYW5hdmVyYWwiLCJyZWdpb24iOiJGbG9yaWRhIiwibGF0aXR1ZGUiOjI4LjQ4NTgzMywibG9uZ2l0dWRlIjotODAuNTQ0NDQ0LCJsYW5kaW5nX2F0dGVtcHRzIjoyMSwibGFuZGluZ19zdWNjZXNzZXMiOjIwLCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYW5kaW5nX1pvbmVzXzFfYW5kXzIiLCJkZXRhaWxzIjoiU3BhY2VYJ3MgZmlyc3QgZWFzdCBjb2FzdCBsYW5kaW5nIHBhZCBpcyBMYW5kaW5nIFpvbmUgMSwgd2hlcmUgdGhlIGhpc3RvcmljIGZpcnN0IEZhbGNvbiA5IGxhbmRpbmcgb2NjdXJyZWQgaW4gRGVjZW1iZXIgMjAxNS4gTEMtMTMgd2FzIG9yaWdpbmFsbHkgdXNlZCBhcyBhIGxhdW5jaCBwYWQgZm9yIGVhcmx5IEF0bGFzIG1pc3NpbGVzIGFuZCByb2NrZXRzIGZyb20gTG9ja2hlZWQgTWFydGluLiBMQy0xIHdhcyBsYXRlciBleHBhbmRlZCB0byBpbmNsdWRlIExhbmRpbmcgWm9uZSAyIGZvciBzaWRlIGJvb3N0ZXIgUlRMUyBGYWxjb24gSGVhdnkgbWlzc2lvbnMsIGFuZCBpdCB3YXMgZmlyc3QgdXNlZCBpbiBGZWJydWFyeSAyMDE4IGZvciB0aGF0IHB1cnBvc2UuIiwibGF1bmNoZXMiOlsiNWViODdjZWZmZmQ4NmUwMDA2MDRiMzQyIiwiNWViODdjZjlmZmQ4NmUwMDA2MDRiMzQ5IiwiNWViODdjZmVmZmQ4NmUwMDA2MDRiMzRkIiwiNWViODdkMDFmZmQ4NmUwMDA2MDRiMzUwIiwiNWViODdkMDNmZmQ4NmUwMDA2MDRiMzUyIiwiNWViODdkMDdmZmQ4NmUwMDA2MDRiMzU2IiwiNWViODdkMDlmZmQ4NmUwMDA2MDRiMzU4IiwiNWViODdkMGVmZmQ4NmUwMDA2MDRiMzVjIiwiNWViODdkMTBmZmQ4NmUwMDA2MDRiMzVlIiwiNWViODdkMTNmZmQ4NmUwMDA2MDRiMzYwIiwiNWViODdkMjZmZmQ4NmUwMDA2MDRiMzcxIiwiNWViODdkMmRmZmQ4NmUwMDA2MDRiMzc2IiwiNWViODdkMzVmZmQ4NmUwMDA2MDRiMzdhIiwiNWViODdkMzZmZmQ4NmUwMDA2MDRiMzdiIiwiNWViODdkNDJmZmQ4NmUwMDA2MDRiMzg0IiwiNWViODdkNDdmZmQ4NmUwMDA2MDRiMzhhIiwiNWY4Mzk5ZmI4MThkOGI1OWY1NzQwZDQzIiwiNjAwZjliNmQ4Zjc5OGUyYTRkNWY5NzlmIiwiNjFiZjNlMzFjZDVhYjUwYjBkOTM2MzQ1IiwiNjE2MWQzMmQ2ZGIxYTkyYmZiYTg1MzU5IiwiNjI0M2FlMjRhZjUyODAwYzZlOTE5MjU4Il0sImlkIjoiNWU5ZTMwMzIzODNlY2IyNjdhMzRlN2M3In0seyJpbWFnZXMiOnsibGFyZ2UiOlsiaHR0cHM6Ly9pLmltZ3VyLmNvbS9ZRThQTVlYLnBuZyJdfSwibmFtZSI6IkxaLTIiLCJmdWxsX25hbWUiOiJMYW5kaW5nIFpvbmUgMiIsInN0YXR1cyI6ImFjdGl2ZSIsInR5cGUiOiJSVExTIiwibG9jYWxpdHkiOiJDYXBlIENhbmF2ZXJhbCIsInJlZ2lvbiI6IkZsb3JpZGEiLCJsYXRpdHVkZSI6MjguNDg1ODMzLCJsb25naXR1ZGUiOi04MC41NDQ0NDQsImxhbmRpbmdfYXR0ZW1wdHMiOjMsImxhbmRpbmdfc3VjY2Vzc2VzIjozLCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYW5kaW5nX1pvbmVzXzFfYW5kXzIiLCJkZXRhaWxzIjoiU3BhY2VYJ3MgZmlyc3QgZWFzdCBjb2FzdCBsYW5kaW5nIHBhZCBpcyBMYW5kaW5nIFpvbmUgMSwgd2hlcmUgdGhlIGhpc3RvcmljIGZpcnN0IEZhbGNvbiA5IGxhbmRpbmcgb2NjdXJyZWQgaW4gRGVjZW1iZXIgMjAxNS4gTEMtMTMgd2FzIG9yaWdpbmFsbHkgdXNlZCBhcyBhIGxhdW5jaCBwYWQgZm9yIGVhcmx5IEF0bGFzIG1pc3NpbGVzIGFuZCByb2NrZXRzIGZyb20gTG9ja2hlZWQgTWFydGluLiBMQy0xIHdhcyBsYXRlciBleHBhbmRlZCB0byBpbmNsdWRlIExhbmRpbmcgWm9uZSAyIGZvciBzaWRlIGJvb3N0ZXIgUlRMUyBGYWxjb24gSGVhdnkgbWlzc2lvbnMsIGFuZCBpdCB3YXMgZmlyc3QgdXNlZCBpbiBGZWJydWFyeSAyMDE4IGZvciB0aGF0IHB1cnBvc2UuIiwibGF1bmNoZXMiOlsiNWViODdkMTNmZmQ4NmUwMDA2MDRiMzYwIiwiNWViODdkMmRmZmQ4NmUwMDA2MDRiMzc2IiwiNWViODdkMzVmZmQ4NmUwMDA2MDRiMzdhIl0sImlkIjoiNWU5ZTMwMzIzODNlY2I5MGE4MzRlN2M4In0seyJpbWFnZXMiOnsibGFyZ2UiOlsiaHR0cHM6Ly9pLmltZ3VyLmNvbS82NDdYYkg2LnBuZyJdfSwibmFtZSI6IkxaLTQiLCJmdWxsX25hbWUiOiJMYW5kaW5nIFpvbmUgNCIsInN0YXR1cyI6ImFjdGl2ZSIsInR5cGUiOiJSVExTIiwibG9jYWxpdHkiOiJWYW5kZW5iZXJnIEFpciBGb3JjZSBCYXNlIiwicmVnaW9uIjoiQ2FsaWZvcm5pYSIsImxhdGl0dWRlIjozNC42MzI5ODksImxvbmdpdHVkZSI6LTEyMC42MTUxNjcsImxhbmRpbmdfYXR0ZW1wdHMiOjYsImxhbmRpbmdfc3VjY2Vzc2VzIjo2LCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9WYW5kZW5iZXJnX0FGQl9TcGFjZV9MYXVuY2hfQ29tcGxleF80I0xaLTRfbGFuZGluZ19oaXN0b3J5IiwiZGV0YWlscyI6IlNwYWNlWCdzIHdlc3QgY29hc3QgbGFuZGluZyBwYWQuIFRoZSBwYWQgaXMgYWRqYWNlbnQgdG8gU0xDLTRFLCBTcGFjZVgncyB3ZXN0IGNvYXN0IGxhdW5jaCBzaXRlLiBUaGUgcGFkIHdhcyB1bmRlciBjb25zdHJ1Y3Rpb24gZm9yIGFib3V0IGEgeWVhciBzdGFydGluZyBpbiAyMDE2LiBBZnRlciBjb25jZXJucyB3aXRoIHNlYWwgbWF0aW5nIHNlYXNvbiwgdGhpcyBwYWQgd2FzIGZpcnN0IHVzZWQgZm9yIHRoZSBTQU9DT00gMUEgbWlzc2lvbiBpbiBPY3RvYmVyIDIwMTguIE9mZmljaWFsbHkgcmVmZXJyZWQgdG8gYXMgTFotNCBpbiBGQ0MgZmlsaW5ncy4iLCJsYXVuY2hlcyI6WyI1ZWI4N2QyM2ZmZDg2ZTAwMDYwNGIzNmUiLCI1ZWI4N2QzMWZmZDg2ZTAwMDYwNGIzNzkiLCI1ZWQ5ODNhYTFmMzA1NTQwMzBkNDVjMzEiLCI2MDdhMzRlMzVhOTA2YTQ0MDIzZTA4NWUiLCI2MjQzYWRjYWFmNTI4MDBjNmU5MTkyNTQiLCI1ZmUzYWY0M2IzNDY3ODQ2YjMyNDIxNWUiXSwiaWQiOiI1ZTllMzAzMjM4M2VjYjU1NDAzNGU3YzkifSx7ImltYWdlcyI6eyJsYXJnZSI6WyJodHRwczovL2kuaW1ndXIuY29tL3JicGtnMDEucG5nIl19LCJuYW1lIjoiT0NJU0xZIiwiZnVsbF9uYW1lIjoiT2YgQ291cnNlIEkgU3RpbGwgTG92ZSBZb3UiLCJzdGF0dXMiOiJhY3RpdmUiLCJ0eXBlIjoiQVNEUyIsImxvY2FsaXR5IjoiUG9ydCBvZiBMb3MgQW5nZWxlcyIsInJlZ2lvbiI6IkNhbGlmb3JuaWEiLCJsYXRpdHVkZSI6MzMuNzI5MTg1OCwibG9uZ2l0dWRlIjotMTE4LjI2MjAxNSwibGFuZGluZ19hdHRlbXB0cyI6NjEsImxhbmRpbmdfc3VjY2Vzc2VzIjo1NCwid2lraXBlZGlhIjoiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQXV0b25vbW91c19zcGFjZXBvcnRfZHJvbmVfc2hpcCIsImRldGFpbHMiOiJUaGUgc2Vjb25kIEFTRFMgYmFyZ2UsIE9mIENvdXJzZSBJIFN0aWxsIExvdmUgWW91IChPQ0lTTFkpLCBoYWQgYmVlbiB1bmRlciBjb25zdHJ1Y3Rpb24gaW4gYSBMb3Vpc2lhbmEgc2hpcHlhcmQgc2luY2UgZWFybHkgMjAxNSB1c2luZyBhIGRpZmZlcmVudCBodWxs4oCUTWFybWFjIDMwNOKAlGluIG9yZGVyIHRvIHNlcnZpY2UgbGF1bmNoZXMgb24gdGhlIGVhc3QgY29hc3QuIEl0IHdhcyBidWlsdCBhcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgZmlyc3QgSnVzdCBSZWFkIHRoZSBJbnN0cnVjdGlvbnMgYW5kIGVudGVyZWQgb3BlcmF0aW9uYWwgc2VydmljZSBmb3IgRmFsY29uIDkgRmxpZ2h0IDE5IGluIGxhdGUgSnVuZSAyMDE1LiBBcyBvZiBKdW5lIDIwMTUsIGl0cyBob21lIHBvcnQgd2FzIEphY2tzb252aWxsZSwgRmxvcmlkYSwgYnV0IGFmdGVyIERlY2VtYmVyIDIwMTUsIGl0IHdhcyB0cmFuc2ZlcnJlZCAxNjAgbWlsZXMgKDI2MCBrbSkgZnVydGhlciBzb3V0aCwgYXQgUG9ydCBDYW5hdmVyYWwuIFdoaWxlIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBzaGlwIGFyZSBuZWFybHkgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBBU0RTLCBzZXZlcmFsIGVuaGFuY2VtZW50cyB3ZXJlIG1hZGUgaW5jbHVkaW5nIGEgc3RlZWwgYmxhc3Qgd2FsbCBlcmVjdGVkIGJldHdlZW4gdGhlIGFmdCBjb250YWluZXJzIGFuZCB0aGUgbGFuZGluZyBkZWNrLiBUaGUgc2hpcCB3YXMgaW4gcGxhY2UgZm9yIGEgZmlyc3Qtc3RhZ2UgbGFuZGluZyB0ZXN0IG9uIHRoZSBDUlMtNyBtaXNzaW9uLCB3aGljaCBmYWlsZWQgb24gbGF1bmNoIG9uIDI4IEp1bmUgMjAxNS4gT24gOCBBcHJpbCAyMDE2IHRoZSBmaXJzdCBzdGFnZSwgd2hpY2ggbGF1bmNoZWQgdGhlIERyYWdvbiBDUlMtOCBzcGFjZWNyYWZ0LCBzdWNjZXNzZnVsbHkgbGFuZGVkIGZvciB0aGUgZmlyc3QgdGltZSBldmVyIG9uIE9DSVNMWSwgd2hpY2ggaXMgYWxzbyB0aGUgZmlyc3QgZXZlciBkcm9uZSBzaGlwIGxhbmRpbmcuIEluIEZlYnJ1YXJ5IDIwMTgsIHRoZSBGYWxjb24gSGVhdnkgVGVzdCBGbGlnaHQncyBjZW50cmFsIGNvcmUgZXhwbG9kZWQgdXBvbiBpbXBhY3QgbmV4dCB0byBPQ0lTTFkgdGhhdCBkYW1hZ2VkIHR3byBvZiB0aGUgZm91ciB0aHJ1c3RlcnMgb24gdGhlIGRyb25lIHNoaXAuIFR3byB0aHJ1c3RlcnMgd2VyZSByZW1vdmVkIGZyb20gdGhlIE1hcm1hYyAzMDMgYmFyZ2UgaW4gb3JkZXIgdG8gcmVwYWlyIE9DSVNMWS4iLCJsYXVuY2hlcyI6WyI1ZWI4N2NlZWZmZDg2ZTAwMDYwNGIzNDEiLCI1ZWI4N2NmMmZmZDg2ZTAwMDYwNGIzNDQiLCI1ZWI4N2NmM2ZmZDg2ZTAwMDYwNGIzNDUiLCI1ZWI4N2NmNWZmZDg2ZTAwMDYwNGIzNDYiLCI1ZWI4N2NmNmZmZDg2ZTAwMDYwNGIzNDciLCI1ZWI4N2NmOGZmZDg2ZTAwMDYwNGIzNDgiLCI1ZWI4N2NmYWZmZDg2ZTAwMDYwNGIzNGEiLCI1ZWI4N2NmYmZmZDg2ZTAwMDYwNGIzNGIiLCI1ZWI4N2QwMGZmZDg2ZTAwMDYwNGIzNGYiLCI1ZWI4N2QwNGZmZDg2ZTAwMDYwNGIzNTMiLCI1ZWI4N2QwY2ZmZDg2ZTAwMDYwNGIzNWEiLCI1ZWI4N2QwZGZmZDg2ZTAwMDYwNGIzNWIiLCI1ZWI4N2QxM2ZmZDg2ZTAwMDYwNGIzNjAiLCI1ZWI4N2QxOGZmZDg2ZTAwMDYwNGIzNjUiLCI1ZWI4N2QxOWZmZDg2ZTAwMDYwNGIzNjYiLCI1ZWI4N2QxZWZmZDg2ZTAwMDYwNGIzNmEiLCI1ZWI4N2QyMGZmZDg2ZTAwMDYwNGIzNmMiLCI1ZWI4N2QyMmZmZDg2ZTAwMDYwNGIzNmQiLCI1ZWI4N2QyNGZmZDg2ZTAwMDYwNGIzNmYiLCI1ZWI4N2QyYWZmZDg2ZTAwMDYwNGIzNzQiLCI1ZWI4N2QyYmZmZDg2ZTAwMDYwNGIzNzUiLCI1ZWI4N2QyZGZmZDg2ZTAwMDYwNGIzNzYiLCI1ZWI4N2QyZWZmZDg2ZTAwMDYwNGIzNzciLCI1ZWI4N2QzMGZmZDg2ZTAwMDYwNGIzNzgiLCI1ZWI4N2QzNWZmZDg2ZTAwMDYwNGIzN2EiLCI1ZWI4N2QzOWZmZDg2ZTAwMDYwNGIzN2QiLCI1ZWI4N2QzOWZmZDg2ZTAwMDYwNGIzN2UiLCI1ZWI4N2QzYmZmZDg2ZTAwMDYwNGIzN2YiLCI1ZWI4N2QzY2ZmZDg2ZTAwMDYwNGIzODAiLCI1ZWI4N2QzZmZmZDg2ZTAwMDYwNGIzODIiLCI1ZWI4N2Q0MWZmZDg2ZTAwMDYwNGIzODMiLCI1ZWI4N2Q0M2ZmZDg2ZTAwMDYwNGIzODUiLCI1ZWI4N2Q0NGZmZDg2ZTAwMDYwNGIzODYiLCI1ZWI4N2Q0NmZmZDg2ZTAwMDYwNGIzODgiLCI1ZWI4N2Q0NmZmZDg2ZTAwMDYwNGIzODkiLCI1ZWQ5ODE5YTFmMzA1NTQwMzBkNDVjMjkiLCI1ZWQ5ODFkOTFmMzA1NTQwMzBkNDVjMmEiLCI1ZWY2YTFlOTAwNTljMzNjZWU0YTgyOGEiLCI1ZWY2YTIwOTAwNTljMzNjZWU0YTgyOGIiLCI1ZWY2YTJiZjAwNTljMzNjZWU0YTgyOGMiLCI1ZWI4N2Q0Y2ZmZDg2ZTAwMDYwNGIzOGQiLCI1ZmI5NWIzZjNhODhhZTYzYzk1NDYwM2MiLCI1ZWI4N2Q0ZWZmZDg2ZTAwMDYwNGIzOTEiLCI1ZmQzODZhYTdmYWVhNTdkMjk3Yzg2YzEiLCI1ZmY2NTU0ZjkyNTdmNTc5ZWUzYTZjNWYiLCI2MDBmOWE1ZThmNzk4ZTJhNGQ1Zjk3OWMiLCI1ZmJmZWNmZTU0Y2ViMTBhNTY2NGM4MGIiLCI2MDBmOWE4ZDhmNzk4ZTJhNGQ1Zjk3OWUiLCI2MDQyOGFhZmMwNDFjMTY3MTZmNzNjZDciLCI2MDQyOGFjNGMwNDFjMTY3MTZmNzNjZDgiLCI1ZmUzYWY1OGIzNDY3ODQ2YjMyNDIxNWYiLCI2MDViNGI3ZGFhNTQzMzY0NWUzN2QwNDAiLCI2MDc5YmQxYzlhMDY0NDZlOGM2MWJmNzYiLCI2MDViNGI5NWFhNTQzMzY0NWUzN2QwNDEiLCI1ZmUzYWY4NGIzNDY3ODQ2YjMyNDIxNjEiLCI2MGUzYmYwZDczMzU5ZTFlMjAzMzVjMzciLCI1ZmUzYjEwN2IzNDY3ODQ2YjMyNDIxNmIiLCI2MWJiYTgwNjQzNzI0MTM4MWJmNzA2MWUiLCI2MWZjMDIwM2UwZGM1NjYyYjc2NDg5YTgiLCI2MjU4MjkwZDU5ODhmMTU5MDI0Yjk2NDQiLCI2MmE5ZjBlMzIwNDEzZDI2OTVkODg3MTMiLCI2MmE5ZjEwYjIwNDEzZDI2OTVkODg3MTUiLCI2MmYzYjRmZjBmNTVjNTBlMTkyYTRlNmIiLCI2MmYzYjUzYTBmNTVjNTBlMTkyYTRlNmYiXSwiaWQiOiI1ZTllMzAzMjM4M2VjYjZiYjIzNGU3Y2EifSx7ImltYWdlcyI6eyJsYXJnZSI6WyJodHRwczovL2kuaW1ndXIuY29tL2daVUowNFYucG5nIl19LCJuYW1lIjoiSlJUSS0xIiwiZnVsbF9uYW1lIjoiSnVzdCBSZWFkIFRoZSBJbnN0cnVjdGlvbnMgVjEiLCJzdGF0dXMiOiJyZXRpcmVkIiwidHlwZSI6IkFTRFMiLCJsb2NhbGl0eSI6IlBvcnQgQ2FuYXZlcmFsIiwicmVnaW9uIjoiRmxvcmlkYSIsImxhdGl0dWRlIjoyOC40MTA0LCJsb25naXR1ZGUiOi04MC42MTg4LCJsYW5kaW5nX2F0dGVtcHRzIjoyLCJsYW5kaW5nX3N1Y2Nlc3NlcyI6MCwid2lraXBlZGlhIjoiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQXV0b25vbW91c19zcGFjZXBvcnRfZHJvbmVfc2hpcCIsImRldGFpbHMiOiJUaGUgQVNEUyBsYW5kaW5nIGxvY2F0aW9uIGZvciB0aGUgZmlyc3QgbGFuZGluZyB0ZXN0IHdhcyBpbiB0aGUgQXRsYW50aWMgYXBwcm94aW1hdGVseSAyMDAgbWlsZXMgKDMyMCBrbSkgbm9ydGhlYXN0IG9mIHRoZSBsYXVuY2ggbG9jYXRpb24gYXQgQ2FwZSBDYW5hdmVyYWwsIGFuZCAxNjUgbWlsZXMgKDI2NiBrbSkgc291dGhlYXN0IG9mIENoYXJsZXN0b24sIFNvdXRoIENhcm9saW5hLiBTcGFjZVgncyBKdXN0IFJlYWQgdGhlIEluc3RydWN0aW9ucywgYmFzZWQgb24gdGhlIE1hcm1hYyAzMDAgZGVjayBiYXJnZSwgaW4gcG9zaXRpb24gZm9yIGEgbGFuZGluZyB0ZXN0IG9uIEZhbGNvbiA5IEZsaWdodCAxNyBpbiBBcHJpbCAyMDE1LiBPbiAyMyBKYW51YXJ5IDIwMTUsIGR1cmluZyByZXBhaXJzIHRvIHRoZSBzaGlwIGZvbGxvd2luZyB0aGUgdW5zdWNjZXNzZnVsIGZpcnN0IHRlc3QsIE11c2sgYW5ub3VuY2VkIHRoYXQgdGhlIHNoaXAgd2FzIHRvIGJlIG5hbWVkIEp1c3QgUmVhZCB0aGUgSW5zdHJ1Y3Rpb25zLCB3aXRoIGEgc2lzdGVyIHNoaXAgcGxhbm5lZCBmb3Igd2VzdCBjb2FzdCBsYXVuY2hlcyB0byBiZSBuYW1lZCBPZiBDb3Vyc2UgSSBTdGlsbCBMb3ZlIFlvdS4gT24gMjkgSmFudWFyeSwgU3BhY2VYIHJlbGVhc2VkIGEgbWFuaXB1bGF0ZWQgcGhvdG8gb2YgdGhlIHNoaXAgd2l0aCB0aGUgbmFtZSBpbGx1c3RyYXRpbmcgaG93IGl0IHdvdWxkIGxvb2sgb25jZSBwYWludGVkLiBCb3RoIHNoaXBzIGFyZSBuYW1lZCBhZnRlciB0d28gR2VuZXJhbCBDb250YWN0IFVuaXRzLCBzcGFjZXNoaXBzIGNvbW1hbmRlZCBieSBhdXRvbm9tb3VzIGFydGlmaWNpYWwgaW50ZWxsaWdlbmNlcywgdGhhdCBhcHBlYXIgaW4gVGhlIFBsYXllciBvZiBHYW1lcywgYSBDdWx0dXJlIG5vdmVsIGJ5IElhaW4gTS4gQmFua3MuIFRoZSBmaXJzdCBKdXN0IFJlYWQgdGhlIEluc3RydWN0aW9ucyB3YXMgcmV0aXJlZCBpbiBNYXkgMjAxNSBhZnRlciBhcHByb3hpbWF0ZWx5IHNpeCBtb250aHMgb2Ygc2VydmljZSBpbiB0aGUgQXRsYW50aWMsIGFuZCBpdHMgZHV0aWVzIHdlcmUgYXNzdW1lZCBieSBPZiBDb3Vyc2UgSSBTdGlsbCBMb3ZlIFlvdS4gVGhlIGZvcm1lciBBU0RTIHdhcyBtb2RpZmllZCBieSByZW1vdmluZyB0aGUgd2luZyBleHRlbnNpb25zIHRoYXQgaGFkIGV4dGVuZGVkIHRoZSBiYXJnZSBzdXJmYWNlIGFuZCB0aGUgZXF1aXBtZW50ICh0aHJ1c3RlcnMsIGNhbWVyYXMgYW5kIGNvbW11bmljYXRpb25zIGdlYXIpIHRoYXQgaGFkIGJlZW4gYWRkZWQgdG8gcmVmaXQgaXQgYXMgYW4gQVNEUzsgdGhlc2UgaXRlbXMgd2VyZSBzYXZlZCBmb3IgZnV0dXJlIHJldXNlLiIsImxhdW5jaGVzIjpbIjVlYjg3Y2U4ZmZkODZlMDAwNjA0YjMzYyIsIjVlYjg3Y2VjZmZkODZlMDAwNjA0YjMzZiJdLCJpZCI6IjVlOWUzMDMyMzgzZWNiNzYxNjM0ZTdjYiJ9LHsiaW1hZ2VzIjp7ImxhcmdlIjpbImh0dHBzOi8vaS5pbWd1ci5jb20vNDZ5NE8xNS5wbmciXX0sIm5hbWUiOiJKUlRJIiwiZnVsbF9uYW1lIjoiSnVzdCBSZWFkIFRoZSBJbnN0cnVjdGlvbnMiLCJzdGF0dXMiOiJhY3RpdmUiLCJ0eXBlIjoiQVNEUyIsImxvY2FsaXR5IjoiUG9ydCBDYW5hdmVyYWwiLCJyZWdpb24iOiJGbG9yaWRhIiwibGF0aXR1ZGUiOjI4LjQxMDQsImxvbmdpdHVkZSI6LTgwLjYxODgsImxhbmRpbmdfYXR0ZW1wdHMiOjQwLCJsYW5kaW5nX3N1Y2Nlc3NlcyI6MzksIndpa2lwZWRpYSI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0F1dG9ub21vdXNfc3BhY2Vwb3J0X2Ryb25lX3NoaXAiLCJkZXRhaWxzIjoiVGhlIHRoaXJkIEFTRFMgYmFyZ2UsIHVzaW5nIHRoZSBNYXJtYWMgMzAzIGh1bGwsIHdhcyBidWlsdCBkdXJpbmcgMjAxNSBpbiBhIExvdWlzaWFuYSBzaGlweWFyZCwgYW5kIHRoZSBiYXJnZSB0cmFuc2l0ZWQgdGhlIFBhbmFtYSBDYW5hbCBpbiBKdW5lIDIwMTUgY2FycnlpbmcgaXRzIHdpbmcgZXh0ZW5zaW9ucyBhcyBjYXJnbyBvbiB0aGUgZGVjayBiZWNhdXNlIHRoZSBBU0RTLCB3aGVuIGNvbXBsZXRlLCB3b3VsZCBiZSB0b28gd2lkZSB0byBwYXNzIHRocm91Z2ggdGhlIGNhbmFsLiBUaGUgaG9tZSBwb3J0IGZvciB0aGUgTWFybWFjIDMwMyBpcyB0aGUgUG9ydCBvZiBMb3MgQW5nZWxlcywgYXQgdGhlIEFsdGFTZWEgbWFyaW5lIHJlc2VhcmNoIGFuZCBidXNpbmVzcyBjYW1wdXMgaW4gU2FuIFBlZHJvJ3Mgb3V0ZXIgaGFyYm9yLiBUaGUgbGFuZGluZyBwbGF0Zm9ybSBhbmQgdGVuZGVyIHZlc3NlbHMgYmVnYW4gZG9ja2luZyB0aGVyZSBpbiBKdWx5IDIwMTUgaW4gYWR2YW5jZSBvZiB0aGUgbWFpbiBjb25zdHJ1Y3Rpb24gb2YgQWx0YVNlYSB3aGljaCBpcyBzY2hlZHVsZWQgZm9yIDIwMTcuIFNwYWNlWCBhbm5vdW5jZWQgdGhhdCB0aGUgTWFybWFjIDMwMyB3b3VsZCBiZSB0aGUgc2Vjb25kIEFTRFMgdG8gYmUgbmFtZWQgSnVzdCBSZWFkIHRoZSBJbnN0cnVjdGlvbnMgKEpSdEkpIGluIEphbnVhcnkgMjAxNiwgc2hvcnRseSBiZWZvcmUgaXRzIGZpcnN0IHVzZSBhcyBhIGxhbmRpbmcgcGxhdGZvcm0gZm9yIEZhbGNvbiA5IEZsaWdodCAyMS4gT24gMTcgSmFudWFyeSAyMDE2LCBKUnRJIHdhcyBwdXQgdG8gZmlyc3QgdXNlIGluIGFuIGF0dGVtcHQgdG8gcmVjb3ZlciBhIEZhbGNvbiA5IGZpcnN0LXN0YWdlIGJvb3N0ZXIgZnJvbSB0aGUgSmFzb24tMyBtaXNzaW9uIGZyb20gVmFuZGVuYmVyZy4gVGhlIGJvb3N0ZXIgc3VjY2Vzc2Z1bGx5IGxhbmRlZCBvbiB0aGUgZGVjazsgaG93ZXZlciwgYSBsb2Nrb3V0IGNvbGxldCBmYWlsZWQgdG8gZW5nYWdlIG9uIG9uZSBvZiB0aGUgbGVncyBjYXVzaW5nIHRoZSByb2NrZXQgdG8gdGlwIG92ZXIsIGV4cGxvZGluZyBvbiBpbXBhY3Qgd2l0aCB0aGUgZGVjay4gT24gSmFudWFyeSAxNCwgMjAxNywgU3BhY2VYIGxhdW5jaGVkIEZhbGNvbiA5IEZsaWdodCAyOSBmcm9tIFZhbmRlbmJlcmcgYW5kIGxhbmRlZCB0aGUgZmlyc3Qgc3RhZ2Ugb24gdGhlIEpSdEkgdGhhdCB3YXMgbG9jYXRlZCBhYm91dCAzNzAga20gKDIzMCBtaSkgZG93bnJhbmdlIGluIHRoZSBQYWNpZmljIE9jZWFuLCBtYWtpbmcgaXQgdGhlIGZpcnN0IHN1Y2Nlc3NmdWwgbGFuZGluZyBpbiB0aGUgUGFjaWZpYy4iLCJsYXVuY2hlcyI6WyI1ZWI4N2NmMGZmZDg2ZTAwMDYwNGIzNDMiLCI1ZWI4N2NmZGZmZDg2ZTAwMDYwNGIzNGMiLCI1ZWI4N2QwNWZmZDg2ZTAwMDYwNGIzNTQiLCI1ZWI4N2QwOGZmZDg2ZTAwMDYwNGIzNTciLCI1ZWI4N2QwYWZmZDg2ZTAwMDYwNGIzNTkiLCI1ZWI4N2QxZmZmZDg2ZTAwMDYwNGIzNmIiLCI1ZWI4N2QyNWZmZDg2ZTAwMDYwNGIzNzAiLCI1ZWI4N2QyOGZmZDg2ZTAwMDYwNGIzNzMiLCI1ZWI4N2Q0NWZmZDg2ZTAwMDYwNGIzODciLCI1ZWI4N2Q0YWZmZDg2ZTAwMDYwNGIzOGIiLCI1ZWI4N2Q1MGZmZDg2ZTAwMDYwNGIzOTQiLCI1ZWY2YTJlNzAwNTljMzNjZWU0YTgyOTMiLCI1ZWI4N2Q0ZGZmZDg2ZTAwMDYwNGIzOGUiLCI1ZWI4N2Q0YmZmZDg2ZTAwMDYwNGIzOGMiLCI1ZWI4N2Q0ZmZmZDg2ZTAwMDYwNGIzOTMiLCI1ZmJmZWNjZTU0Y2ViMTBhNTY2NGM4MGEiLCI2MDBmOWE3MThmNzk4ZTJhNGQ1Zjk3OWQiLCI2MDViNGI2YWFhNTQzMzY0NWUzN2QwM2YiLCI2MDc5YmQzOTlhMDY0NDZlOGM2MWJmNzciLCI1ZmUzYWY2ZGIzNDY3ODQ2YjMyNDIxNjAiLCI1ZWI4N2Q0ZWZmZDg2ZTAwMDYwNGIzOTAiLCI2MDdhMzc1NjVhOTA2YTQ0MDIzZTA4NjYiLCI2MThmYWFkMjU2M2Q2OTU3M2VkOGNhOWQiLCI2MTYxYzg4ZDZkYjFhOTJiZmJhODUzNDgiLCI2MTYxZDIwMDZkYjFhOTJiZmJhODUzNTYiLCI2MWZjMDIyNGUwZGM1NjYyYjc2NDg5YWIiLCI2MjM0OTA4Y2YwNTExMDJlMWZjZWRhYzQiLCI2MjQzYWQ4YmFmNTI4MDBjNmU5MTkyNTIiLCI2MjQzYWRhNmFmNTI4MDBjNmU5MTkyNTMiLCI2MjU4MmE2ZjU5ODhmMTU5MDI0Yjk2NGIiLCI2MjU4MjhmMjU5ODhmMTU5MDI0Yjk2NDMiLCI2MjQzYWUwYWFmNTI4MDBjNmU5MTkyNTciLCI2MmE5ZjA4YjIwNDEzZDI2OTVkODg3MTEiLCI2MmE5ZjBjOTIwNDEzZDI2OTVkODg3MTIiLCI2MmE5ZjBmODIwNDEzZDI2OTVkODg3MTQiLCI2MmE5Zjg2NDIwNDEzZDI2OTVkODg3MTkiLCI2MmYzYjUzMzBmNTVjNTBlMTkyYTRlNmUiLCI2MzE2MTMyOWZmYzc4ZjNiODU2NzA3MGIiLCI2MzE2MTMzOWZmYzc4ZjNiODU2NzA3MGMiLCI2MmRkNzBkNTIwMjMwNjI1NTAyNGQxMzkiXSwiaWQiOiI1ZTllMzAzMzM4M2VjYmI5ZTUzNGU3Y2MifSx7ImltYWdlcyI6eyJsYXJnZSI6WyJodHRwczovL2kuaW1ndXIuY29tL1BrclM4dlEucG5nIl19LCJuYW1lIjoiQVNPRyIsImZ1bGxfbmFtZSI6IkEgU2hvcnRmYWxsIG9mIEdyYXZpdGFzIiwic3RhdHVzIjoiYWN0aXZlIiwidHlwZSI6IkFTRFMiLCJsb2NhbGl0eSI6IlBvcnQgQ2FuYXZlcmFsIiwicmVnaW9uIjoiRmxvcmlkYSIsImxhdGl0dWRlIjozMy43MjkxODU4LCJsb25naXR1ZGUiOi0xMTguMjYyMDE1LCJsYW5kaW5nX2F0dGVtcHRzIjoyMSwibGFuZGluZ19zdWNjZXNzZXMiOjIxLCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BdXRvbm9tb3VzX3NwYWNlcG9ydF9kcm9uZV9zaGlwIiwiZGV0YWlscyI6IlRoZSBmb3VydGggQVNEUyBiYXJnZSB3YXMgYW5ub3VuY2VkIHRvIGJlIHVuZGVyIGNvbnN0cnVjdGlvbiBpbiBGZWJydWFyeSAyMDE4IGFuZCBpdCB3aWxsIGJlY29tZSB0aGUgc2Vjb25kIGFjdGl2ZSBlYXN0IGNvYXN0LWJhc2VkIEFTRFMuIEl0IHdpbGwgYmUgaG9tZXBvcnRlZCBhdCBQb3J0IENhbmF2ZXJhbC4gVGhpcyBmdXR1cmUgc2ltdWx0YW5lb3VzbHkgdXNhYmxlIEFTRFMsIGFsb25nIHdpdGggT0NJU0xZLCBpcyBjYWxsZWQgQSBTaG9ydGZhbGwgb2YgR3Jhdml0YXMgKEFTb0cpIGFuZCBsaWtlIHRoZSByZXN0IG9mIHRoZSBmbGVldCwgaXRzIG5hbWluZyBpcyBiYXNlZCBvbiBuYW1lcyB1c2VkIGluIHRoZSBDdWx0dXJlIHNlcmllcy4gVGhlIGRyb25lc2hpcCBpcyBleHBlY3RlZCB0byBiZSBvcGVyYXRpb25hbCBpbiBtaWQtMjAxOS4iLCJsYXVuY2hlcyI6WyI1ZmUzYjExZWIzNDY3ODQ2YjMyNDIxNmMiLCI1ZmUzYjE1ZWIzNDY3ODQ2YjMyNDIxNmQiLCI2MTYxYzk0YzZkYjFhOTJiZmJhODUzNDkiLCI1ZmUzYWZjMWIzNDY3ODQ2YjMyNDIxNjQiLCI2MWQ1ZWNhMWY4OGU0YzVmYzkxZjFlYjciLCI2MWUwNDhiYmJlOGQ4YjY2Nzk5MDE4ZDAiLCI2MWUwNDhmZmJlOGQ4YjY2Nzk5MDE4ZDEiLCI2MWZjMDFkYWUwZGM1NjYyYjc2NDg5YTciLCI2MWZjMDI0M2UwZGM1NjYyYjc2NDg5YWUiLCI2MWVlZmFhODllYjEwNjQxMzdhMWJkNzMiLCI2MjQzYWRlMmFmNTI4MDBjNmU5MTkyNTUiLCI2MjU4MmE4NTU5ODhmMTU5MDI0Yjk2NGMiLCI2MjYxNWViYzBlYzAwODM3OWJlNTk2ZmEiLCI2Mjc4NDgxNzU3YjUxYjc1MmM1YzVhNWYiLCI2MjQzYWVhNWFmNTI4MDBjNmU5MTkyNWMiLCI2MjQzYWU0MGFmNTI4MDBjNmU5MTkyNTkiLCI2MmE5ZjEyODIwNDEzZDI2OTVkODg3MTYiLCI2MmE5ZjhiMzIwNDEzZDI2OTVkODg3MWIiLCI2MmYzYjUyMDBmNTVjNTBlMTkyYTRlNmMiLCI2MmYzYjUyOTBmNTVjNTBlMTkyYTRlNmQiLCI2MmE5Zjg5YTIwNDEzZDI2OTVkODg3MWEiXSwiaWQiOiI1ZTllMzAzMzM4M2VjYjA3NTEzNGU3Y2QifV0=
84
+ recorded_at: Sat, 21 Mar 2026 19:42:24 GMT
85
+ recorded_with: VCR 6.4.0
@@ -0,0 +1,172 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spacexdata.com/v4/landpads/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v2.14.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sat, 21 Mar 2026 19:42:24 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Expose-Headers:
32
+ - spacex-api-cache,spacex-api-response-time
33
+ Alt-Svc:
34
+ - h3=":443"; ma=86400
35
+ Cache-Control:
36
+ - max-age=300
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - '"30ec-U3TuEZSNO2BVdAPuRW4xkzICDGo"'
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Server:
48
+ - cloudflare
49
+ Spacex-Api-Cache:
50
+ - HIT
51
+ Spacex-Api-Cache-Online:
52
+ - 'true'
53
+ Spacex-Api-Response-Time:
54
+ - 1ms
55
+ Strict-Transport-Security:
56
+ - max-age=15552000; includeSubDomains
57
+ Vary:
58
+ - Accept-Encoding
59
+ - Origin
60
+ X-Content-Type-Options:
61
+ - nosniff
62
+ X-Dns-Prefetch-Control:
63
+ - 'off'
64
+ X-Download-Options:
65
+ - noopen
66
+ X-Frame-Options:
67
+ - SAMEORIGIN
68
+ X-Permitted-Cross-Domain-Policies:
69
+ - none
70
+ X-Xss-Protection:
71
+ - '0'
72
+ Cf-Cache-Status:
73
+ - DYNAMIC
74
+ Nel:
75
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
76
+ Report-To:
77
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=0tfRteywIBvKZ9mQ%2BRS8TCaDfyqLLsUDwtsBfnMKAbnIwCn%2F1CHTJsPDY4YL9dZQIGq3D1insHvq6d1ZF2RB%2BWKmUOWKM6aWpug89BiwYn1n3Q%3D%3D"}]}'
78
+ Cf-Ray:
79
+ - 9dff708d1dbddde5-YYZ
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: !binary |-
83
+ W3siaW1hZ2VzIjp7ImxhcmdlIjpbImh0dHBzOi8vaS5pbWd1ci5jb20vS0hCazZqTy5wbmciXX0sIm5hbWUiOiJMWi0xIiwiZnVsbF9uYW1lIjoiTGFuZGluZyBab25lIDEiLCJzdGF0dXMiOiJhY3RpdmUiLCJ0eXBlIjoiUlRMUyIsImxvY2FsaXR5IjoiQ2FwZSBDYW5hdmVyYWwiLCJyZWdpb24iOiJGbG9yaWRhIiwibGF0aXR1ZGUiOjI4LjQ4NTgzMywibG9uZ2l0dWRlIjotODAuNTQ0NDQ0LCJsYW5kaW5nX2F0dGVtcHRzIjoyMSwibGFuZGluZ19zdWNjZXNzZXMiOjIwLCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYW5kaW5nX1pvbmVzXzFfYW5kXzIiLCJkZXRhaWxzIjoiU3BhY2VYJ3MgZmlyc3QgZWFzdCBjb2FzdCBsYW5kaW5nIHBhZCBpcyBMYW5kaW5nIFpvbmUgMSwgd2hlcmUgdGhlIGhpc3RvcmljIGZpcnN0IEZhbGNvbiA5IGxhbmRpbmcgb2NjdXJyZWQgaW4gRGVjZW1iZXIgMjAxNS4gTEMtMTMgd2FzIG9yaWdpbmFsbHkgdXNlZCBhcyBhIGxhdW5jaCBwYWQgZm9yIGVhcmx5IEF0bGFzIG1pc3NpbGVzIGFuZCByb2NrZXRzIGZyb20gTG9ja2hlZWQgTWFydGluLiBMQy0xIHdhcyBsYXRlciBleHBhbmRlZCB0byBpbmNsdWRlIExhbmRpbmcgWm9uZSAyIGZvciBzaWRlIGJvb3N0ZXIgUlRMUyBGYWxjb24gSGVhdnkgbWlzc2lvbnMsIGFuZCBpdCB3YXMgZmlyc3QgdXNlZCBpbiBGZWJydWFyeSAyMDE4IGZvciB0aGF0IHB1cnBvc2UuIiwibGF1bmNoZXMiOlsiNWViODdjZWZmZmQ4NmUwMDA2MDRiMzQyIiwiNWViODdjZjlmZmQ4NmUwMDA2MDRiMzQ5IiwiNWViODdjZmVmZmQ4NmUwMDA2MDRiMzRkIiwiNWViODdkMDFmZmQ4NmUwMDA2MDRiMzUwIiwiNWViODdkMDNmZmQ4NmUwMDA2MDRiMzUyIiwiNWViODdkMDdmZmQ4NmUwMDA2MDRiMzU2IiwiNWViODdkMDlmZmQ4NmUwMDA2MDRiMzU4IiwiNWViODdkMGVmZmQ4NmUwMDA2MDRiMzVjIiwiNWViODdkMTBmZmQ4NmUwMDA2MDRiMzVlIiwiNWViODdkMTNmZmQ4NmUwMDA2MDRiMzYwIiwiNWViODdkMjZmZmQ4NmUwMDA2MDRiMzcxIiwiNWViODdkMmRmZmQ4NmUwMDA2MDRiMzc2IiwiNWViODdkMzVmZmQ4NmUwMDA2MDRiMzdhIiwiNWViODdkMzZmZmQ4NmUwMDA2MDRiMzdiIiwiNWViODdkNDJmZmQ4NmUwMDA2MDRiMzg0IiwiNWViODdkNDdmZmQ4NmUwMDA2MDRiMzhhIiwiNWY4Mzk5ZmI4MThkOGI1OWY1NzQwZDQzIiwiNjAwZjliNmQ4Zjc5OGUyYTRkNWY5NzlmIiwiNjFiZjNlMzFjZDVhYjUwYjBkOTM2MzQ1IiwiNjE2MWQzMmQ2ZGIxYTkyYmZiYTg1MzU5IiwiNjI0M2FlMjRhZjUyODAwYzZlOTE5MjU4Il0sImlkIjoiNWU5ZTMwMzIzODNlY2IyNjdhMzRlN2M3In0seyJpbWFnZXMiOnsibGFyZ2UiOlsiaHR0cHM6Ly9pLmltZ3VyLmNvbS9ZRThQTVlYLnBuZyJdfSwibmFtZSI6IkxaLTIiLCJmdWxsX25hbWUiOiJMYW5kaW5nIFpvbmUgMiIsInN0YXR1cyI6ImFjdGl2ZSIsInR5cGUiOiJSVExTIiwibG9jYWxpdHkiOiJDYXBlIENhbmF2ZXJhbCIsInJlZ2lvbiI6IkZsb3JpZGEiLCJsYXRpdHVkZSI6MjguNDg1ODMzLCJsb25naXR1ZGUiOi04MC41NDQ0NDQsImxhbmRpbmdfYXR0ZW1wdHMiOjMsImxhbmRpbmdfc3VjY2Vzc2VzIjozLCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYW5kaW5nX1pvbmVzXzFfYW5kXzIiLCJkZXRhaWxzIjoiU3BhY2VYJ3MgZmlyc3QgZWFzdCBjb2FzdCBsYW5kaW5nIHBhZCBpcyBMYW5kaW5nIFpvbmUgMSwgd2hlcmUgdGhlIGhpc3RvcmljIGZpcnN0IEZhbGNvbiA5IGxhbmRpbmcgb2NjdXJyZWQgaW4gRGVjZW1iZXIgMjAxNS4gTEMtMTMgd2FzIG9yaWdpbmFsbHkgdXNlZCBhcyBhIGxhdW5jaCBwYWQgZm9yIGVhcmx5IEF0bGFzIG1pc3NpbGVzIGFuZCByb2NrZXRzIGZyb20gTG9ja2hlZWQgTWFydGluLiBMQy0xIHdhcyBsYXRlciBleHBhbmRlZCB0byBpbmNsdWRlIExhbmRpbmcgWm9uZSAyIGZvciBzaWRlIGJvb3N0ZXIgUlRMUyBGYWxjb24gSGVhdnkgbWlzc2lvbnMsIGFuZCBpdCB3YXMgZmlyc3QgdXNlZCBpbiBGZWJydWFyeSAyMDE4IGZvciB0aGF0IHB1cnBvc2UuIiwibGF1bmNoZXMiOlsiNWViODdkMTNmZmQ4NmUwMDA2MDRiMzYwIiwiNWViODdkMmRmZmQ4NmUwMDA2MDRiMzc2IiwiNWViODdkMzVmZmQ4NmUwMDA2MDRiMzdhIl0sImlkIjoiNWU5ZTMwMzIzODNlY2I5MGE4MzRlN2M4In0seyJpbWFnZXMiOnsibGFyZ2UiOlsiaHR0cHM6Ly9pLmltZ3VyLmNvbS82NDdYYkg2LnBuZyJdfSwibmFtZSI6IkxaLTQiLCJmdWxsX25hbWUiOiJMYW5kaW5nIFpvbmUgNCIsInN0YXR1cyI6ImFjdGl2ZSIsInR5cGUiOiJSVExTIiwibG9jYWxpdHkiOiJWYW5kZW5iZXJnIEFpciBGb3JjZSBCYXNlIiwicmVnaW9uIjoiQ2FsaWZvcm5pYSIsImxhdGl0dWRlIjozNC42MzI5ODksImxvbmdpdHVkZSI6LTEyMC42MTUxNjcsImxhbmRpbmdfYXR0ZW1wdHMiOjYsImxhbmRpbmdfc3VjY2Vzc2VzIjo2LCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9WYW5kZW5iZXJnX0FGQl9TcGFjZV9MYXVuY2hfQ29tcGxleF80I0xaLTRfbGFuZGluZ19oaXN0b3J5IiwiZGV0YWlscyI6IlNwYWNlWCdzIHdlc3QgY29hc3QgbGFuZGluZyBwYWQuIFRoZSBwYWQgaXMgYWRqYWNlbnQgdG8gU0xDLTRFLCBTcGFjZVgncyB3ZXN0IGNvYXN0IGxhdW5jaCBzaXRlLiBUaGUgcGFkIHdhcyB1bmRlciBjb25zdHJ1Y3Rpb24gZm9yIGFib3V0IGEgeWVhciBzdGFydGluZyBpbiAyMDE2LiBBZnRlciBjb25jZXJucyB3aXRoIHNlYWwgbWF0aW5nIHNlYXNvbiwgdGhpcyBwYWQgd2FzIGZpcnN0IHVzZWQgZm9yIHRoZSBTQU9DT00gMUEgbWlzc2lvbiBpbiBPY3RvYmVyIDIwMTguIE9mZmljaWFsbHkgcmVmZXJyZWQgdG8gYXMgTFotNCBpbiBGQ0MgZmlsaW5ncy4iLCJsYXVuY2hlcyI6WyI1ZWI4N2QyM2ZmZDg2ZTAwMDYwNGIzNmUiLCI1ZWI4N2QzMWZmZDg2ZTAwMDYwNGIzNzkiLCI1ZWQ5ODNhYTFmMzA1NTQwMzBkNDVjMzEiLCI2MDdhMzRlMzVhOTA2YTQ0MDIzZTA4NWUiLCI2MjQzYWRjYWFmNTI4MDBjNmU5MTkyNTQiLCI1ZmUzYWY0M2IzNDY3ODQ2YjMyNDIxNWUiXSwiaWQiOiI1ZTllMzAzMjM4M2VjYjU1NDAzNGU3YzkifSx7ImltYWdlcyI6eyJsYXJnZSI6WyJodHRwczovL2kuaW1ndXIuY29tL3JicGtnMDEucG5nIl19LCJuYW1lIjoiT0NJU0xZIiwiZnVsbF9uYW1lIjoiT2YgQ291cnNlIEkgU3RpbGwgTG92ZSBZb3UiLCJzdGF0dXMiOiJhY3RpdmUiLCJ0eXBlIjoiQVNEUyIsImxvY2FsaXR5IjoiUG9ydCBvZiBMb3MgQW5nZWxlcyIsInJlZ2lvbiI6IkNhbGlmb3JuaWEiLCJsYXRpdHVkZSI6MzMuNzI5MTg1OCwibG9uZ2l0dWRlIjotMTE4LjI2MjAxNSwibGFuZGluZ19hdHRlbXB0cyI6NjEsImxhbmRpbmdfc3VjY2Vzc2VzIjo1NCwid2lraXBlZGlhIjoiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQXV0b25vbW91c19zcGFjZXBvcnRfZHJvbmVfc2hpcCIsImRldGFpbHMiOiJUaGUgc2Vjb25kIEFTRFMgYmFyZ2UsIE9mIENvdXJzZSBJIFN0aWxsIExvdmUgWW91IChPQ0lTTFkpLCBoYWQgYmVlbiB1bmRlciBjb25zdHJ1Y3Rpb24gaW4gYSBMb3Vpc2lhbmEgc2hpcHlhcmQgc2luY2UgZWFybHkgMjAxNSB1c2luZyBhIGRpZmZlcmVudCBodWxs4oCUTWFybWFjIDMwNOKAlGluIG9yZGVyIHRvIHNlcnZpY2UgbGF1bmNoZXMgb24gdGhlIGVhc3QgY29hc3QuIEl0IHdhcyBidWlsdCBhcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgZmlyc3QgSnVzdCBSZWFkIHRoZSBJbnN0cnVjdGlvbnMgYW5kIGVudGVyZWQgb3BlcmF0aW9uYWwgc2VydmljZSBmb3IgRmFsY29uIDkgRmxpZ2h0IDE5IGluIGxhdGUgSnVuZSAyMDE1LiBBcyBvZiBKdW5lIDIwMTUsIGl0cyBob21lIHBvcnQgd2FzIEphY2tzb252aWxsZSwgRmxvcmlkYSwgYnV0IGFmdGVyIERlY2VtYmVyIDIwMTUsIGl0IHdhcyB0cmFuc2ZlcnJlZCAxNjAgbWlsZXMgKDI2MCBrbSkgZnVydGhlciBzb3V0aCwgYXQgUG9ydCBDYW5hdmVyYWwuIFdoaWxlIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBzaGlwIGFyZSBuZWFybHkgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBBU0RTLCBzZXZlcmFsIGVuaGFuY2VtZW50cyB3ZXJlIG1hZGUgaW5jbHVkaW5nIGEgc3RlZWwgYmxhc3Qgd2FsbCBlcmVjdGVkIGJldHdlZW4gdGhlIGFmdCBjb250YWluZXJzIGFuZCB0aGUgbGFuZGluZyBkZWNrLiBUaGUgc2hpcCB3YXMgaW4gcGxhY2UgZm9yIGEgZmlyc3Qtc3RhZ2UgbGFuZGluZyB0ZXN0IG9uIHRoZSBDUlMtNyBtaXNzaW9uLCB3aGljaCBmYWlsZWQgb24gbGF1bmNoIG9uIDI4IEp1bmUgMjAxNS4gT24gOCBBcHJpbCAyMDE2IHRoZSBmaXJzdCBzdGFnZSwgd2hpY2ggbGF1bmNoZWQgdGhlIERyYWdvbiBDUlMtOCBzcGFjZWNyYWZ0LCBzdWNjZXNzZnVsbHkgbGFuZGVkIGZvciB0aGUgZmlyc3QgdGltZSBldmVyIG9uIE9DSVNMWSwgd2hpY2ggaXMgYWxzbyB0aGUgZmlyc3QgZXZlciBkcm9uZSBzaGlwIGxhbmRpbmcuIEluIEZlYnJ1YXJ5IDIwMTgsIHRoZSBGYWxjb24gSGVhdnkgVGVzdCBGbGlnaHQncyBjZW50cmFsIGNvcmUgZXhwbG9kZWQgdXBvbiBpbXBhY3QgbmV4dCB0byBPQ0lTTFkgdGhhdCBkYW1hZ2VkIHR3byBvZiB0aGUgZm91ciB0aHJ1c3RlcnMgb24gdGhlIGRyb25lIHNoaXAuIFR3byB0aHJ1c3RlcnMgd2VyZSByZW1vdmVkIGZyb20gdGhlIE1hcm1hYyAzMDMgYmFyZ2UgaW4gb3JkZXIgdG8gcmVwYWlyIE9DSVNMWS4iLCJsYXVuY2hlcyI6WyI1ZWI4N2NlZWZmZDg2ZTAwMDYwNGIzNDEiLCI1ZWI4N2NmMmZmZDg2ZTAwMDYwNGIzNDQiLCI1ZWI4N2NmM2ZmZDg2ZTAwMDYwNGIzNDUiLCI1ZWI4N2NmNWZmZDg2ZTAwMDYwNGIzNDYiLCI1ZWI4N2NmNmZmZDg2ZTAwMDYwNGIzNDciLCI1ZWI4N2NmOGZmZDg2ZTAwMDYwNGIzNDgiLCI1ZWI4N2NmYWZmZDg2ZTAwMDYwNGIzNGEiLCI1ZWI4N2NmYmZmZDg2ZTAwMDYwNGIzNGIiLCI1ZWI4N2QwMGZmZDg2ZTAwMDYwNGIzNGYiLCI1ZWI4N2QwNGZmZDg2ZTAwMDYwNGIzNTMiLCI1ZWI4N2QwY2ZmZDg2ZTAwMDYwNGIzNWEiLCI1ZWI4N2QwZGZmZDg2ZTAwMDYwNGIzNWIiLCI1ZWI4N2QxM2ZmZDg2ZTAwMDYwNGIzNjAiLCI1ZWI4N2QxOGZmZDg2ZTAwMDYwNGIzNjUiLCI1ZWI4N2QxOWZmZDg2ZTAwMDYwNGIzNjYiLCI1ZWI4N2QxZWZmZDg2ZTAwMDYwNGIzNmEiLCI1ZWI4N2QyMGZmZDg2ZTAwMDYwNGIzNmMiLCI1ZWI4N2QyMmZmZDg2ZTAwMDYwNGIzNmQiLCI1ZWI4N2QyNGZmZDg2ZTAwMDYwNGIzNmYiLCI1ZWI4N2QyYWZmZDg2ZTAwMDYwNGIzNzQiLCI1ZWI4N2QyYmZmZDg2ZTAwMDYwNGIzNzUiLCI1ZWI4N2QyZGZmZDg2ZTAwMDYwNGIzNzYiLCI1ZWI4N2QyZWZmZDg2ZTAwMDYwNGIzNzciLCI1ZWI4N2QzMGZmZDg2ZTAwMDYwNGIzNzgiLCI1ZWI4N2QzNWZmZDg2ZTAwMDYwNGIzN2EiLCI1ZWI4N2QzOWZmZDg2ZTAwMDYwNGIzN2QiLCI1ZWI4N2QzOWZmZDg2ZTAwMDYwNGIzN2UiLCI1ZWI4N2QzYmZmZDg2ZTAwMDYwNGIzN2YiLCI1ZWI4N2QzY2ZmZDg2ZTAwMDYwNGIzODAiLCI1ZWI4N2QzZmZmZDg2ZTAwMDYwNGIzODIiLCI1ZWI4N2Q0MWZmZDg2ZTAwMDYwNGIzODMiLCI1ZWI4N2Q0M2ZmZDg2ZTAwMDYwNGIzODUiLCI1ZWI4N2Q0NGZmZDg2ZTAwMDYwNGIzODYiLCI1ZWI4N2Q0NmZmZDg2ZTAwMDYwNGIzODgiLCI1ZWI4N2Q0NmZmZDg2ZTAwMDYwNGIzODkiLCI1ZWQ5ODE5YTFmMzA1NTQwMzBkNDVjMjkiLCI1ZWQ5ODFkOTFmMzA1NTQwMzBkNDVjMmEiLCI1ZWY2YTFlOTAwNTljMzNjZWU0YTgyOGEiLCI1ZWY2YTIwOTAwNTljMzNjZWU0YTgyOGIiLCI1ZWY2YTJiZjAwNTljMzNjZWU0YTgyOGMiLCI1ZWI4N2Q0Y2ZmZDg2ZTAwMDYwNGIzOGQiLCI1ZmI5NWIzZjNhODhhZTYzYzk1NDYwM2MiLCI1ZWI4N2Q0ZWZmZDg2ZTAwMDYwNGIzOTEiLCI1ZmQzODZhYTdmYWVhNTdkMjk3Yzg2YzEiLCI1ZmY2NTU0ZjkyNTdmNTc5ZWUzYTZjNWYiLCI2MDBmOWE1ZThmNzk4ZTJhNGQ1Zjk3OWMiLCI1ZmJmZWNmZTU0Y2ViMTBhNTY2NGM4MGIiLCI2MDBmOWE4ZDhmNzk4ZTJhNGQ1Zjk3OWUiLCI2MDQyOGFhZmMwNDFjMTY3MTZmNzNjZDciLCI2MDQyOGFjNGMwNDFjMTY3MTZmNzNjZDgiLCI1ZmUzYWY1OGIzNDY3ODQ2YjMyNDIxNWYiLCI2MDViNGI3ZGFhNTQzMzY0NWUzN2QwNDAiLCI2MDc5YmQxYzlhMDY0NDZlOGM2MWJmNzYiLCI2MDViNGI5NWFhNTQzMzY0NWUzN2QwNDEiLCI1ZmUzYWY4NGIzNDY3ODQ2YjMyNDIxNjEiLCI2MGUzYmYwZDczMzU5ZTFlMjAzMzVjMzciLCI1ZmUzYjEwN2IzNDY3ODQ2YjMyNDIxNmIiLCI2MWJiYTgwNjQzNzI0MTM4MWJmNzA2MWUiLCI2MWZjMDIwM2UwZGM1NjYyYjc2NDg5YTgiLCI2MjU4MjkwZDU5ODhmMTU5MDI0Yjk2NDQiLCI2MmE5ZjBlMzIwNDEzZDI2OTVkODg3MTMiLCI2MmE5ZjEwYjIwNDEzZDI2OTVkODg3MTUiLCI2MmYzYjRmZjBmNTVjNTBlMTkyYTRlNmIiLCI2MmYzYjUzYTBmNTVjNTBlMTkyYTRlNmYiXSwiaWQiOiI1ZTllMzAzMjM4M2VjYjZiYjIzNGU3Y2EifSx7ImltYWdlcyI6eyJsYXJnZSI6WyJodHRwczovL2kuaW1ndXIuY29tL2daVUowNFYucG5nIl19LCJuYW1lIjoiSlJUSS0xIiwiZnVsbF9uYW1lIjoiSnVzdCBSZWFkIFRoZSBJbnN0cnVjdGlvbnMgVjEiLCJzdGF0dXMiOiJyZXRpcmVkIiwidHlwZSI6IkFTRFMiLCJsb2NhbGl0eSI6IlBvcnQgQ2FuYXZlcmFsIiwicmVnaW9uIjoiRmxvcmlkYSIsImxhdGl0dWRlIjoyOC40MTA0LCJsb25naXR1ZGUiOi04MC42MTg4LCJsYW5kaW5nX2F0dGVtcHRzIjoyLCJsYW5kaW5nX3N1Y2Nlc3NlcyI6MCwid2lraXBlZGlhIjoiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQXV0b25vbW91c19zcGFjZXBvcnRfZHJvbmVfc2hpcCIsImRldGFpbHMiOiJUaGUgQVNEUyBsYW5kaW5nIGxvY2F0aW9uIGZvciB0aGUgZmlyc3QgbGFuZGluZyB0ZXN0IHdhcyBpbiB0aGUgQXRsYW50aWMgYXBwcm94aW1hdGVseSAyMDAgbWlsZXMgKDMyMCBrbSkgbm9ydGhlYXN0IG9mIHRoZSBsYXVuY2ggbG9jYXRpb24gYXQgQ2FwZSBDYW5hdmVyYWwsIGFuZCAxNjUgbWlsZXMgKDI2NiBrbSkgc291dGhlYXN0IG9mIENoYXJsZXN0b24sIFNvdXRoIENhcm9saW5hLiBTcGFjZVgncyBKdXN0IFJlYWQgdGhlIEluc3RydWN0aW9ucywgYmFzZWQgb24gdGhlIE1hcm1hYyAzMDAgZGVjayBiYXJnZSwgaW4gcG9zaXRpb24gZm9yIGEgbGFuZGluZyB0ZXN0IG9uIEZhbGNvbiA5IEZsaWdodCAxNyBpbiBBcHJpbCAyMDE1LiBPbiAyMyBKYW51YXJ5IDIwMTUsIGR1cmluZyByZXBhaXJzIHRvIHRoZSBzaGlwIGZvbGxvd2luZyB0aGUgdW5zdWNjZXNzZnVsIGZpcnN0IHRlc3QsIE11c2sgYW5ub3VuY2VkIHRoYXQgdGhlIHNoaXAgd2FzIHRvIGJlIG5hbWVkIEp1c3QgUmVhZCB0aGUgSW5zdHJ1Y3Rpb25zLCB3aXRoIGEgc2lzdGVyIHNoaXAgcGxhbm5lZCBmb3Igd2VzdCBjb2FzdCBsYXVuY2hlcyB0byBiZSBuYW1lZCBPZiBDb3Vyc2UgSSBTdGlsbCBMb3ZlIFlvdS4gT24gMjkgSmFudWFyeSwgU3BhY2VYIHJlbGVhc2VkIGEgbWFuaXB1bGF0ZWQgcGhvdG8gb2YgdGhlIHNoaXAgd2l0aCB0aGUgbmFtZSBpbGx1c3RyYXRpbmcgaG93IGl0IHdvdWxkIGxvb2sgb25jZSBwYWludGVkLiBCb3RoIHNoaXBzIGFyZSBuYW1lZCBhZnRlciB0d28gR2VuZXJhbCBDb250YWN0IFVuaXRzLCBzcGFjZXNoaXBzIGNvbW1hbmRlZCBieSBhdXRvbm9tb3VzIGFydGlmaWNpYWwgaW50ZWxsaWdlbmNlcywgdGhhdCBhcHBlYXIgaW4gVGhlIFBsYXllciBvZiBHYW1lcywgYSBDdWx0dXJlIG5vdmVsIGJ5IElhaW4gTS4gQmFua3MuIFRoZSBmaXJzdCBKdXN0IFJlYWQgdGhlIEluc3RydWN0aW9ucyB3YXMgcmV0aXJlZCBpbiBNYXkgMjAxNSBhZnRlciBhcHByb3hpbWF0ZWx5IHNpeCBtb250aHMgb2Ygc2VydmljZSBpbiB0aGUgQXRsYW50aWMsIGFuZCBpdHMgZHV0aWVzIHdlcmUgYXNzdW1lZCBieSBPZiBDb3Vyc2UgSSBTdGlsbCBMb3ZlIFlvdS4gVGhlIGZvcm1lciBBU0RTIHdhcyBtb2RpZmllZCBieSByZW1vdmluZyB0aGUgd2luZyBleHRlbnNpb25zIHRoYXQgaGFkIGV4dGVuZGVkIHRoZSBiYXJnZSBzdXJmYWNlIGFuZCB0aGUgZXF1aXBtZW50ICh0aHJ1c3RlcnMsIGNhbWVyYXMgYW5kIGNvbW11bmljYXRpb25zIGdlYXIpIHRoYXQgaGFkIGJlZW4gYWRkZWQgdG8gcmVmaXQgaXQgYXMgYW4gQVNEUzsgdGhlc2UgaXRlbXMgd2VyZSBzYXZlZCBmb3IgZnV0dXJlIHJldXNlLiIsImxhdW5jaGVzIjpbIjVlYjg3Y2U4ZmZkODZlMDAwNjA0YjMzYyIsIjVlYjg3Y2VjZmZkODZlMDAwNjA0YjMzZiJdLCJpZCI6IjVlOWUzMDMyMzgzZWNiNzYxNjM0ZTdjYiJ9LHsiaW1hZ2VzIjp7ImxhcmdlIjpbImh0dHBzOi8vaS5pbWd1ci5jb20vNDZ5NE8xNS5wbmciXX0sIm5hbWUiOiJKUlRJIiwiZnVsbF9uYW1lIjoiSnVzdCBSZWFkIFRoZSBJbnN0cnVjdGlvbnMiLCJzdGF0dXMiOiJhY3RpdmUiLCJ0eXBlIjoiQVNEUyIsImxvY2FsaXR5IjoiUG9ydCBDYW5hdmVyYWwiLCJyZWdpb24iOiJGbG9yaWRhIiwibGF0aXR1ZGUiOjI4LjQxMDQsImxvbmdpdHVkZSI6LTgwLjYxODgsImxhbmRpbmdfYXR0ZW1wdHMiOjQwLCJsYW5kaW5nX3N1Y2Nlc3NlcyI6MzksIndpa2lwZWRpYSI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0F1dG9ub21vdXNfc3BhY2Vwb3J0X2Ryb25lX3NoaXAiLCJkZXRhaWxzIjoiVGhlIHRoaXJkIEFTRFMgYmFyZ2UsIHVzaW5nIHRoZSBNYXJtYWMgMzAzIGh1bGwsIHdhcyBidWlsdCBkdXJpbmcgMjAxNSBpbiBhIExvdWlzaWFuYSBzaGlweWFyZCwgYW5kIHRoZSBiYXJnZSB0cmFuc2l0ZWQgdGhlIFBhbmFtYSBDYW5hbCBpbiBKdW5lIDIwMTUgY2FycnlpbmcgaXRzIHdpbmcgZXh0ZW5zaW9ucyBhcyBjYXJnbyBvbiB0aGUgZGVjayBiZWNhdXNlIHRoZSBBU0RTLCB3aGVuIGNvbXBsZXRlLCB3b3VsZCBiZSB0b28gd2lkZSB0byBwYXNzIHRocm91Z2ggdGhlIGNhbmFsLiBUaGUgaG9tZSBwb3J0IGZvciB0aGUgTWFybWFjIDMwMyBpcyB0aGUgUG9ydCBvZiBMb3MgQW5nZWxlcywgYXQgdGhlIEFsdGFTZWEgbWFyaW5lIHJlc2VhcmNoIGFuZCBidXNpbmVzcyBjYW1wdXMgaW4gU2FuIFBlZHJvJ3Mgb3V0ZXIgaGFyYm9yLiBUaGUgbGFuZGluZyBwbGF0Zm9ybSBhbmQgdGVuZGVyIHZlc3NlbHMgYmVnYW4gZG9ja2luZyB0aGVyZSBpbiBKdWx5IDIwMTUgaW4gYWR2YW5jZSBvZiB0aGUgbWFpbiBjb25zdHJ1Y3Rpb24gb2YgQWx0YVNlYSB3aGljaCBpcyBzY2hlZHVsZWQgZm9yIDIwMTcuIFNwYWNlWCBhbm5vdW5jZWQgdGhhdCB0aGUgTWFybWFjIDMwMyB3b3VsZCBiZSB0aGUgc2Vjb25kIEFTRFMgdG8gYmUgbmFtZWQgSnVzdCBSZWFkIHRoZSBJbnN0cnVjdGlvbnMgKEpSdEkpIGluIEphbnVhcnkgMjAxNiwgc2hvcnRseSBiZWZvcmUgaXRzIGZpcnN0IHVzZSBhcyBhIGxhbmRpbmcgcGxhdGZvcm0gZm9yIEZhbGNvbiA5IEZsaWdodCAyMS4gT24gMTcgSmFudWFyeSAyMDE2LCBKUnRJIHdhcyBwdXQgdG8gZmlyc3QgdXNlIGluIGFuIGF0dGVtcHQgdG8gcmVjb3ZlciBhIEZhbGNvbiA5IGZpcnN0LXN0YWdlIGJvb3N0ZXIgZnJvbSB0aGUgSmFzb24tMyBtaXNzaW9uIGZyb20gVmFuZGVuYmVyZy4gVGhlIGJvb3N0ZXIgc3VjY2Vzc2Z1bGx5IGxhbmRlZCBvbiB0aGUgZGVjazsgaG93ZXZlciwgYSBsb2Nrb3V0IGNvbGxldCBmYWlsZWQgdG8gZW5nYWdlIG9uIG9uZSBvZiB0aGUgbGVncyBjYXVzaW5nIHRoZSByb2NrZXQgdG8gdGlwIG92ZXIsIGV4cGxvZGluZyBvbiBpbXBhY3Qgd2l0aCB0aGUgZGVjay4gT24gSmFudWFyeSAxNCwgMjAxNywgU3BhY2VYIGxhdW5jaGVkIEZhbGNvbiA5IEZsaWdodCAyOSBmcm9tIFZhbmRlbmJlcmcgYW5kIGxhbmRlZCB0aGUgZmlyc3Qgc3RhZ2Ugb24gdGhlIEpSdEkgdGhhdCB3YXMgbG9jYXRlZCBhYm91dCAzNzAga20gKDIzMCBtaSkgZG93bnJhbmdlIGluIHRoZSBQYWNpZmljIE9jZWFuLCBtYWtpbmcgaXQgdGhlIGZpcnN0IHN1Y2Nlc3NmdWwgbGFuZGluZyBpbiB0aGUgUGFjaWZpYy4iLCJsYXVuY2hlcyI6WyI1ZWI4N2NmMGZmZDg2ZTAwMDYwNGIzNDMiLCI1ZWI4N2NmZGZmZDg2ZTAwMDYwNGIzNGMiLCI1ZWI4N2QwNWZmZDg2ZTAwMDYwNGIzNTQiLCI1ZWI4N2QwOGZmZDg2ZTAwMDYwNGIzNTciLCI1ZWI4N2QwYWZmZDg2ZTAwMDYwNGIzNTkiLCI1ZWI4N2QxZmZmZDg2ZTAwMDYwNGIzNmIiLCI1ZWI4N2QyNWZmZDg2ZTAwMDYwNGIzNzAiLCI1ZWI4N2QyOGZmZDg2ZTAwMDYwNGIzNzMiLCI1ZWI4N2Q0NWZmZDg2ZTAwMDYwNGIzODciLCI1ZWI4N2Q0YWZmZDg2ZTAwMDYwNGIzOGIiLCI1ZWI4N2Q1MGZmZDg2ZTAwMDYwNGIzOTQiLCI1ZWY2YTJlNzAwNTljMzNjZWU0YTgyOTMiLCI1ZWI4N2Q0ZGZmZDg2ZTAwMDYwNGIzOGUiLCI1ZWI4N2Q0YmZmZDg2ZTAwMDYwNGIzOGMiLCI1ZWI4N2Q0ZmZmZDg2ZTAwMDYwNGIzOTMiLCI1ZmJmZWNjZTU0Y2ViMTBhNTY2NGM4MGEiLCI2MDBmOWE3MThmNzk4ZTJhNGQ1Zjk3OWQiLCI2MDViNGI2YWFhNTQzMzY0NWUzN2QwM2YiLCI2MDc5YmQzOTlhMDY0NDZlOGM2MWJmNzciLCI1ZmUzYWY2ZGIzNDY3ODQ2YjMyNDIxNjAiLCI1ZWI4N2Q0ZWZmZDg2ZTAwMDYwNGIzOTAiLCI2MDdhMzc1NjVhOTA2YTQ0MDIzZTA4NjYiLCI2MThmYWFkMjU2M2Q2OTU3M2VkOGNhOWQiLCI2MTYxYzg4ZDZkYjFhOTJiZmJhODUzNDgiLCI2MTYxZDIwMDZkYjFhOTJiZmJhODUzNTYiLCI2MWZjMDIyNGUwZGM1NjYyYjc2NDg5YWIiLCI2MjM0OTA4Y2YwNTExMDJlMWZjZWRhYzQiLCI2MjQzYWQ4YmFmNTI4MDBjNmU5MTkyNTIiLCI2MjQzYWRhNmFmNTI4MDBjNmU5MTkyNTMiLCI2MjU4MmE2ZjU5ODhmMTU5MDI0Yjk2NGIiLCI2MjU4MjhmMjU5ODhmMTU5MDI0Yjk2NDMiLCI2MjQzYWUwYWFmNTI4MDBjNmU5MTkyNTciLCI2MmE5ZjA4YjIwNDEzZDI2OTVkODg3MTEiLCI2MmE5ZjBjOTIwNDEzZDI2OTVkODg3MTIiLCI2MmE5ZjBmODIwNDEzZDI2OTVkODg3MTQiLCI2MmE5Zjg2NDIwNDEzZDI2OTVkODg3MTkiLCI2MmYzYjUzMzBmNTVjNTBlMTkyYTRlNmUiLCI2MzE2MTMyOWZmYzc4ZjNiODU2NzA3MGIiLCI2MzE2MTMzOWZmYzc4ZjNiODU2NzA3MGMiLCI2MmRkNzBkNTIwMjMwNjI1NTAyNGQxMzkiXSwiaWQiOiI1ZTllMzAzMzM4M2VjYmI5ZTUzNGU3Y2MifSx7ImltYWdlcyI6eyJsYXJnZSI6WyJodHRwczovL2kuaW1ndXIuY29tL1BrclM4dlEucG5nIl19LCJuYW1lIjoiQVNPRyIsImZ1bGxfbmFtZSI6IkEgU2hvcnRmYWxsIG9mIEdyYXZpdGFzIiwic3RhdHVzIjoiYWN0aXZlIiwidHlwZSI6IkFTRFMiLCJsb2NhbGl0eSI6IlBvcnQgQ2FuYXZlcmFsIiwicmVnaW9uIjoiRmxvcmlkYSIsImxhdGl0dWRlIjozMy43MjkxODU4LCJsb25naXR1ZGUiOi0xMTguMjYyMDE1LCJsYW5kaW5nX2F0dGVtcHRzIjoyMSwibGFuZGluZ19zdWNjZXNzZXMiOjIxLCJ3aWtpcGVkaWEiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9BdXRvbm9tb3VzX3NwYWNlcG9ydF9kcm9uZV9zaGlwIiwiZGV0YWlscyI6IlRoZSBmb3VydGggQVNEUyBiYXJnZSB3YXMgYW5ub3VuY2VkIHRvIGJlIHVuZGVyIGNvbnN0cnVjdGlvbiBpbiBGZWJydWFyeSAyMDE4IGFuZCBpdCB3aWxsIGJlY29tZSB0aGUgc2Vjb25kIGFjdGl2ZSBlYXN0IGNvYXN0LWJhc2VkIEFTRFMuIEl0IHdpbGwgYmUgaG9tZXBvcnRlZCBhdCBQb3J0IENhbmF2ZXJhbC4gVGhpcyBmdXR1cmUgc2ltdWx0YW5lb3VzbHkgdXNhYmxlIEFTRFMsIGFsb25nIHdpdGggT0NJU0xZLCBpcyBjYWxsZWQgQSBTaG9ydGZhbGwgb2YgR3Jhdml0YXMgKEFTb0cpIGFuZCBsaWtlIHRoZSByZXN0IG9mIHRoZSBmbGVldCwgaXRzIG5hbWluZyBpcyBiYXNlZCBvbiBuYW1lcyB1c2VkIGluIHRoZSBDdWx0dXJlIHNlcmllcy4gVGhlIGRyb25lc2hpcCBpcyBleHBlY3RlZCB0byBiZSBvcGVyYXRpb25hbCBpbiBtaWQtMjAxOS4iLCJsYXVuY2hlcyI6WyI1ZmUzYjExZWIzNDY3ODQ2YjMyNDIxNmMiLCI1ZmUzYjE1ZWIzNDY3ODQ2YjMyNDIxNmQiLCI2MTYxYzk0YzZkYjFhOTJiZmJhODUzNDkiLCI1ZmUzYWZjMWIzNDY3ODQ2YjMyNDIxNjQiLCI2MWQ1ZWNhMWY4OGU0YzVmYzkxZjFlYjciLCI2MWUwNDhiYmJlOGQ4YjY2Nzk5MDE4ZDAiLCI2MWUwNDhmZmJlOGQ4YjY2Nzk5MDE4ZDEiLCI2MWZjMDFkYWUwZGM1NjYyYjc2NDg5YTciLCI2MWZjMDI0M2UwZGM1NjYyYjc2NDg5YWUiLCI2MWVlZmFhODllYjEwNjQxMzdhMWJkNzMiLCI2MjQzYWRlMmFmNTI4MDBjNmU5MTkyNTUiLCI2MjU4MmE4NTU5ODhmMTU5MDI0Yjk2NGMiLCI2MjYxNWViYzBlYzAwODM3OWJlNTk2ZmEiLCI2Mjc4NDgxNzU3YjUxYjc1MmM1YzVhNWYiLCI2MjQzYWVhNWFmNTI4MDBjNmU5MTkyNWMiLCI2MjQzYWU0MGFmNTI4MDBjNmU5MTkyNTkiLCI2MmE5ZjEyODIwNDEzZDI2OTVkODg3MTYiLCI2MmE5ZjhiMzIwNDEzZDI2OTVkODg3MWIiLCI2MmYzYjUyMDBmNTVjNTBlMTkyYTRlNmMiLCI2MmYzYjUyOTBmNTVjNTBlMTkyYTRlNmQiLCI2MmE5Zjg5YTIwNDEzZDI2OTVkODg3MWEiXSwiaWQiOiI1ZTllMzAzMzM4M2VjYjA3NTEzNGU3Y2QifV0=
84
+ recorded_at: Sat, 21 Mar 2026 19:42:24 GMT
85
+ - request:
86
+ method: get
87
+ uri: https://api.spacexdata.com/v4/landpads/5e9e3032383ecb267a34e7c7
88
+ body:
89
+ encoding: US-ASCII
90
+ string: ''
91
+ headers:
92
+ User-Agent:
93
+ - Faraday v2.14.1
94
+ Accept-Encoding:
95
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
96
+ Accept:
97
+ - "*/*"
98
+ response:
99
+ status:
100
+ code: 200
101
+ message: OK
102
+ headers:
103
+ Date:
104
+ - Sat, 21 Mar 2026 19:42:40 GMT
105
+ Content-Type:
106
+ - application/json; charset=utf-8
107
+ Content-Length:
108
+ - '1336'
109
+ Connection:
110
+ - keep-alive
111
+ Access-Control-Allow-Origin:
112
+ - "*"
113
+ Access-Control-Expose-Headers:
114
+ - spacex-api-cache,spacex-api-response-time
115
+ Alt-Svc:
116
+ - h3=":443"; ma=86400
117
+ Cache-Control:
118
+ - max-age=300
119
+ Content-Security-Policy:
120
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
121
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
122
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
123
+ Etag:
124
+ - '"538-OVWeBpJj2hMU5A9mdMl8XUm88+Y"'
125
+ Expect-Ct:
126
+ - max-age=0
127
+ Referrer-Policy:
128
+ - no-referrer
129
+ Server:
130
+ - cloudflare
131
+ Spacex-Api-Cache:
132
+ - MISS
133
+ Spacex-Api-Cache-Online:
134
+ - 'true'
135
+ Spacex-Api-Response-Time:
136
+ - 4ms
137
+ Strict-Transport-Security:
138
+ - max-age=15552000; includeSubDomains
139
+ Vary:
140
+ - Accept-Encoding
141
+ - Origin
142
+ X-Content-Type-Options:
143
+ - nosniff
144
+ X-Dns-Prefetch-Control:
145
+ - 'off'
146
+ X-Download-Options:
147
+ - noopen
148
+ X-Frame-Options:
149
+ - SAMEORIGIN
150
+ X-Permitted-Cross-Domain-Policies:
151
+ - none
152
+ X-Xss-Protection:
153
+ - '0'
154
+ Cf-Cache-Status:
155
+ - DYNAMIC
156
+ Nel:
157
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
158
+ Report-To:
159
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gJPPH4Nl7OuDi7QjK%2BG3fIcGI6IPehtRXZphmtr5bX4xQApc6%2FA%2F457htySesHXQZp0tZgTfkVNVUQvpEbmsXdOMUBTYsPjapMLSv%2B5efbyugw%3D%3D"}]}'
160
+ Cf-Ray:
161
+ - 9dff70ecce95ac81-YYZ
162
+ body:
163
+ encoding: ASCII-8BIT
164
+ string: '{"images":{"large":["https://i.imgur.com/KHBk6jO.png"]},"name":"LZ-1","full_name":"Landing
165
+ Zone 1","status":"active","type":"RTLS","locality":"Cape Canaveral","region":"Florida","latitude":28.485833,"longitude":-80.544444,"landing_attempts":21,"landing_successes":20,"wikipedia":"https://en.wikipedia.org/wiki/Landing_Zones_1_and_2","details":"SpaceX''s
166
+ first east coast landing pad is Landing Zone 1, where the historic first Falcon
167
+ 9 landing occurred in December 2015. LC-13 was originally used as a launch
168
+ pad for early Atlas missiles and rockets from Lockheed Martin. LC-1 was later
169
+ expanded to include Landing Zone 2 for side booster RTLS Falcon Heavy missions,
170
+ and it was first used in February 2018 for that purpose.","launches":["5eb87cefffd86e000604b342","5eb87cf9ffd86e000604b349","5eb87cfeffd86e000604b34d","5eb87d01ffd86e000604b350","5eb87d03ffd86e000604b352","5eb87d07ffd86e000604b356","5eb87d09ffd86e000604b358","5eb87d0effd86e000604b35c","5eb87d10ffd86e000604b35e","5eb87d13ffd86e000604b360","5eb87d26ffd86e000604b371","5eb87d2dffd86e000604b376","5eb87d35ffd86e000604b37a","5eb87d36ffd86e000604b37b","5eb87d42ffd86e000604b384","5eb87d47ffd86e000604b38a","5f8399fb818d8b59f5740d43","600f9b6d8f798e2a4d5f979f","61bf3e31cd5ab50b0d936345","6161d32d6db1a92bfba85359","6243ae24af52800c6e919258"],"id":"5e9e3032383ecb267a34e7c7"}'
171
+ recorded_at: Sat, 21 Mar 2026 19:42:40 GMT
172
+ recorded_with: VCR 6.4.0