Data Repositories

This report analyzed public data available from NOAA, USDA, AND FAO. The data and files used in this analysis are available at the following sites:

  • GitHub: rdslack/soybeans
    • R markdown notebook
    • R Script
    • RData file
  • BigQuery NOAA/GSOD
    • Weather data
  • USDA National Agricultural Statistics Service (NASS)
    • National soybean production and price data
  • USDA International Production Assessment Division (IPAD)
    • Global soybean production data
  • FAO FAOSTAT
    • Global crops production data

Soybean Data


Top 10 Global Crops

  • Source: Food and Agriculture Organization (FAO)

  • Metadata:

    • Field Name Type
      crop STRING
      tons INTEGER
      billion_tons FLOAT

Top 5 Soybean Producing Countries

  • Source: USDA International Production Assessment Division (IPAD)

  • Metadata:

    • Field Name Type
      top5_countries STRING
      top5_countries_pct INTEGER

Soybean Production - All States

  • Source: Soybean Total and Yield per Acre by State: NASS: Years 2000-2022
  • Table: prod_yield_all_states_2000_2022
  • Metadata:
    • Field Name Type Mode
      Program STRING NULLABLE
      Year INTEGER NULLABLE
      Period STRING NULLABLE
      Week_Ending STRING NULLABLE
      Geo_Level STRING NULLABLE
      State STRING NULLABLE
      State_ANSI INTEGER NULLABLE
      Ag_District STRING NULLABLE
      Ag_District_Code STRING NULLABLE
      County STRING NULLABLE
      County_ANSI STRING NULLABLE
      Zip_Code STRING NULLABLE
      Region STRING NULLABLE
      watershed_code INTEGER NULLABLE
      Watershed STRING NULLABLE
      Commodity STRING NULLABLE
      Data_Item STRING NULLABLE
      Domain STRING NULLABLE
      Domain_Category STRING NULLABLE
      Value FLOAT NULLABLE
      CV____ STRING NULLABLE

FIPS State Codes

  • Table: bigquery-public-data.census_utility.fips_codes_states
  • Metadata:
    • Field Name Type Mode
      state_fips_code STRING NULLABLE
      state_postal_abbreviation STRING NULLABLE
      state_name STRING NULLABLE
      state_gnisid STRING NULLABLE

Top 11 Soybean Producing States

  • Table: top_11_soy_states
    • Separate table for Top 11 States to facilitate joins with weather tables
  • Metadata:
    • Field Name Type Mode
      state STRING NULLABLE
      st_abv STRING NULLABLE
      bushels_total FLOAT NULLABLE
      pct_total_bushels FLOAT NULLABLE
      cumulative_pct FLOAT NULLABLE

Soybean Production and Yield per Acre for Top 11 States

  • Table: prod_yield_top11_states
  • Metadata:
    • Field Name Type Mode
      year INTEGER NULLABLE
      state STRING NULLABLE
      measure STRING NULLABLE
      quantity FLOAT NULLABLE

Soybean Monthly Prices for All States: 2000-2022

  • USD per Bushel and Pct of Parity, by State: NASS: Years 2000-2022
  • Table: prices_bushel_pct_parity_2000-22
  • Data Withheld: Price data for 61 observations were withheld to avoid disclosing data for individual operations NASS Glossary
  • Metadata:
    • Field Name Type Mode
      Program STRING NULLABLE
      Year INTEGER NULLABLE
      Period STRING NULLABLE
      Week_Ending STRING NULLABLE
      Geo_Level STRING NULLABLE
      State STRING NULLABLE
      State_ANSI INTEGER NULLABLE
      Ag_District STRING NULLABLE
      Ag_District_Code STRING NULLABLE
      County STRING NULLABLE
      County_ANSI STRING NULLABLE
      Zip_Code STRING NULLABLE
      Region STRING NULLABLE
      watershed_code INTEGER NULLABLE
      Watershed STRING NULLABLE
      Commodity STRING NULLABLE
      Data_Item STRING NULLABLE
      Domain STRING NULLABLE
      Domain_Category STRING NULLABLE
      Value STRING NULLABLE
      CV____ STRING NULLABLE

Soybean Monthly Prices for Top 11 States: 2000-2022

  • Table: soybean_prices_monthly_top11_states
  • Metadata:
    • Field Name Type Mode
      price_period DATE NULLABLE
      state STRING NULLABLE
      st_abv STRING NULLABLE
      usd_bushel FLOAT NULLABLE


Weather Data

Global NOAA GSOD Stations

  • Table: bigquery-public-data.noaa_gsod.stations
  • Metadata:
    • Field Name Type Mode
      usaf STRING NULLABLE
      wban STRING NULLABLE
      name STRING NULLABLE
      country STRING NULLABLE
      state STRING NULLABLE
      call STRING NULLABLE
      lat FLOAT NULLABLE
      lon FLOAT NULLABLE
      elev STRING NULLABLE
      begin STRING NULLABLE
      end STRING NULLABLE

NOAA GSOD Stations for Top 11 Soybean States

  • Table: soy_states_noaa_stns
  • Metadata:
    • Field Name Type Mode
      usaf STRING NULLABLE
      wban STRING NULLABLE
      name STRING NULLABLE
      state STRING NULLABLE
      st_abv STRING NULLABLE


Weather Data 2000-2022 for Top 11 Soybean States

  • Table: weather_top11_states_nulls
  • Metadata:
    • Field Name Type Mode
      station STRING NULLABLE
      weather_date DATE NULLABLE
      location STRING NULLABLE
      state STRING NULLABLE
      st_abv STRING NULLABLE
      mean_temp FLOAT NULLABLE
      max_temp FLOAT NULLABLE
      min_temp FLOAT NULLABLE
      precip FLOAT NULLABLE



LS0tDQp0aXRsZTogIlNvYnllYW5zIFByb2plY3QgTWV0YSBEYXRhIg0KYXV0aG9yOiAiUmVlZCBTbGFjayINCmRhdGU6ICJVcGRhdGVkOiBgciBTeXMuRGF0ZSgpYCINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6DQogICAgdGhlbWU6IGNlcnVsZWFuDQogICAgdG9jOiB0cnVlDQogICAgdG9jX2RlcHRoOiA0DQogICAgdG9jX2Zsb2F0OiB0cnVlDQogIA0KLS0tDQoNCmBgYHtjc3MsIGVjaG89RkFMU0V9DQpwLCBib2R5IHsNCiAgZm9udC1zaXplOiAxNnB4Ow0KfQ0KYGBgDQoNClwNCg0KIyMjICoqRGF0YSBSZXBvc2l0b3JpZXMqKg0KVGhpcyByZXBvcnQgYW5hbHl6ZWQgcHVibGljIGRhdGEgYXZhaWxhYmxlIGZyb20gTk9BQSwgVVNEQSwgQU5EIEZBTy4gVGhlIGRhdGEgYW5kIGZpbGVzIHVzZWQgaW4gdGhpcyBhbmFseXNpcyBhcmUgYXZhaWxhYmxlIGF0IHRoZSBmb2xsb3dpbmcgc2l0ZXM6IFwNCg0KLSBHaXRIdWI6IFtyZHNsYWNrL3NveWJlYW5zXShodHRwczovL2dpdGh1Yi5jb20vcmRzbGFjay9zb3liZWFucy5naXQpDQogIC0gUiBtYXJrZG93biBub3RlYm9vaw0KICAtIFIgU2NyaXB0IA0KICAtIFJEYXRhIGZpbGUNCi0gQmlnUXVlcnkgW05PQUEvR1NPRF0oaHR0cHM6Ly9jb25zb2xlLmNsb3VkLmdvb2dsZS5jb20vYmlncXVlcnk/d3M9ITFtNCExbTMhM20yITFzYmlncXVlcnktcHVibGljLWRhdGEhMnNub2FhX2dzb2QpDQogIC0gV2VhdGhlciBkYXRhDQotIFVTREEgTmF0aW9uYWwgQWdyaWN1bHR1cmFsIFN0YXRpc3RpY3MgU2VydmljZSBbKE5BU1MpXShuYXNzLnVzZGEuZ292KQ0KICAtIE5hdGlvbmFsIHNveWJlYW4gcHJvZHVjdGlvbiBhbmQgcHJpY2UgZGF0YQ0KLSBVU0RBIEludGVybmF0aW9uYWwgUHJvZHVjdGlvbiBBc3Nlc3NtZW50IERpdmlzaW9uIFsoSVBBRCldKGh0dHBzOi8vaXBhZC5mYXMudXNkYS5nb3YvY3JvcGV4cGxvcmVyL2Nyb3B2aWV3L2NvbW1vZGl0eVZpZXcuYXNweD9jcm9waWQ9MjIyMjAwMCZzZWxfeWVhcj0yMDIyJnJhbmtieT1Qcm9kdWN0aW9uKQ0KICAtIEdsb2JhbCBzb3liZWFuIHByb2R1Y3Rpb24gZGF0YQ0KLSBGQU8gW0ZBT1NUQVRdKGh0dHBzOi8vd3d3LmZhby5vcmcvZmFvc3RhdC9lbi8jZGF0YS9RQ0wpDQogIC0gR2xvYmFsIGNyb3BzIHByb2R1Y3Rpb24gZGF0YQ0KDQoNCiMjIyAqKlNveWJlYW4gRGF0YSoqDQogXA0KDQojIyMjICpUb3AgMTAgR2xvYmFsIENyb3BzKg0KLSAqKlNvdXJjZToqKiBGb29kIGFuZCBBZ3JpY3VsdHVyZSBPcmdhbml6YXRpb24gWyhGQU8pXShodHRwczovL3d3dy5mYW8ub3JnL2Zhb3N0YXQvZW4vI2RhdGEvUUNMKSBcDQoNCi0gKipNZXRhZGF0YToqKg0KICAgICsgfEZpZWxkIE5hbWV8VHlwZXwNCnw6LXw6LXwNCnxjcm9wfFNUUklOR3wNCnx0b25zfElOVEVHRVJ8DQp8YmlsbGlvbl90b25zfEZMT0FUfA0KDQoNCiMjIyMgKlRvcCA1IFNveWJlYW4gUHJvZHVjaW5nIENvdW50cmllcyoNCi0gKipTb3VyY2U6KiogVVNEQSBJbnRlcm5hdGlvbmFsIFByb2R1Y3Rpb24gQXNzZXNzbWVudCBEaXZpc2lvbiBbKElQQUQpXShodHRwczovL2lwYWQuZmFzLnVzZGEuZ292L2Nyb3BleHBsb3Jlci9jcm9wdmlldy9jb21tb2RpdHlWaWV3LmFzcHg/Y3JvcGlkPTIyMjIwMDAmc2VsX3llYXI9MjAyMiZyYW5rYnk9UHJvZHVjdGlvbikNCg0KLSAqKk1ldGFkYXRhOioqDQogICAgKyB8RmllbGQgTmFtZXxUeXBlfA0KfDotfDotfA0KfHRvcDVfY291bnRyaWVzfFNUUklOR3wNCnx0b3A1X2NvdW50cmllc19wY3R8SU5URUdFUnwNCg0KDQoNCiMjIyMgKlNveWJlYW4gUHJvZHVjdGlvbiAtIEFsbCBTdGF0ZXMqIFwNCg0KICAtICoqU291cmNlOiBTb3liZWFuIFRvdGFsIGFuZCBZaWVsZCBwZXIgQWNyZSBieSBTdGF0ZToqKiBbTkFTUzogWWVhcnMgMjAwMC0yMDIyXShodHRwczovL3F1aWNrc3RhdHMubmFzcy51c2RhLmdvdi9yZXN1bHRzLzE3RUZEOTczLUE1QTktM0RFNS04QjM3LTZBMDM5MjI4N0ZFQykNCiAgLSAqKlRhYmxlOioqIHByb2RfeWllbGRfYWxsX3N0YXRlc18yMDAwXzIwMjIgDQogIC0gKipNZXRhZGF0YToqKg0KICAgICAgKyB8RmllbGQgTmFtZXxUeXBlfE1vZGV8DQp8Oi18Oi18Oi18DQp8UHJvZ3JhbXxTVFJJTkd8TlVMTEFCTEV8DQp8WWVhcnxJTlRFR0VSfE5VTExBQkxFfA0KfFBlcmlvZHxTVFJJTkd8TlVMTEFCTEV8DQp8V2Vla19FbmRpbmd8U1RSSU5HfE5VTExBQkxFfA0KfEdlb19MZXZlbHxTVFJJTkd8TlVMTEFCTEV8DQp8U3RhdGV8U1RSSU5HfE5VTExBQkxFfA0KfFN0YXRlX0FOU0l8SU5URUdFUnxOVUxMQUJMRXwNCnxBZ19EaXN0cmljdHxTVFJJTkd8TlVMTEFCTEV8DQp8QWdfRGlzdHJpY3RfQ29kZXxTVFJJTkd8TlVMTEFCTEV8DQp8Q291bnR5fFNUUklOR3xOVUxMQUJMRXwNCnxDb3VudHlfQU5TSXxTVFJJTkd8TlVMTEFCTEV8DQp8WmlwX0NvZGV8U1RSSU5HfE5VTExBQkxFfA0KfFJlZ2lvbnxTVFJJTkd8TlVMTEFCTEV8DQp8d2F0ZXJzaGVkX2NvZGV8SU5URUdFUnxOVUxMQUJMRXwNCnxXYXRlcnNoZWR8U1RSSU5HfE5VTExBQkxFfA0KfENvbW1vZGl0eXxTVFJJTkd8TlVMTEFCTEV8DQp8RGF0YV9JdGVtfFNUUklOR3xOVUxMQUJMRXwNCnxEb21haW58U1RSSU5HfE5VTExBQkxFfA0KfERvbWFpbl9DYXRlZ29yeXxTVFJJTkd8TlVMTEFCTEV8DQp8VmFsdWV8RkxPQVR8TlVMTEFCTEV8DQp8Q1ZfX19ffFNUUklOR3xOVUxMQUJMRQ0KXA0KDQojIyMjIEZJUFMgU3RhdGUgQ29kZXMNCg0KLSAqKlRhYmxlOioqIGJpZ3F1ZXJ5LXB1YmxpYy1kYXRhLmNlbnN1c191dGlsaXR5LmZpcHNfY29kZXNfc3RhdGVzXA0KLSAqKk1ldGFkYXRhOioqDQogICsgfEZpZWxkIE5hbWV8VHlwZXxNb2RlfA0KfDotfDotfDotfA0KfHN0YXRlX2ZpcHNfY29kZXxTVFJJTkd8TlVMTEFCTEV8DQp8c3RhdGVfcG9zdGFsX2FiYnJldmlhdGlvbnxTVFJJTkd8TlVMTEFCTEV8DQp8c3RhdGVfbmFtZXxTVFJJTkd8TlVMTEFCTEV8DQp8c3RhdGVfZ25pc2lkfFNUUklOR3xOVUxMQUJMRXwNClwNCg0KIyMjIyAqVG9wIDExIFNveWJlYW4gUHJvZHVjaW5nIFN0YXRlcypcDQoNCi0gKipUYWJsZToqKiB0b3BfMTFfc295X3N0YXRlcw0KICArIFNlcGFyYXRlIHRhYmxlIGZvciBUb3AgMTEgU3RhdGVzIHRvIGZhY2lsaXRhdGUgam9pbnMgd2l0aCB3ZWF0aGVyIHRhYmxlcw0KLSAqKk1ldGFkYXRhOioqDQogICsgfEZpZWxkIE5hbWV8VHlwZXxNb2RlfA0KfDotfDotfDotfA0KfHN0YXRlfFNUUklOR3xOVUxMQUJMRXwNCnxzdF9hYnZ8U1RSSU5HfE5VTExBQkxFfA0KfGJ1c2hlbHNfdG90YWx8RkxPQVR8TlVMTEFCTEV8DQp8cGN0X3RvdGFsX2J1c2hlbHN8RkxPQVR8TlVMTEFCTEV8DQp8Y3VtdWxhdGl2ZV9wY3R8RkxPQVR8TlVMTEFCTEV8DQpcDQoNCiMjIyMgKlNveWJlYW4gUHJvZHVjdGlvbiBhbmQgWWllbGQgcGVyIEFjcmUgZm9yIFRvcCAxMSBTdGF0ZXMqXA0KDQotICoqVGFibGU6KiogcHJvZF95aWVsZF90b3AxMV9zdGF0ZXMNCi0gKipNZXRhZGF0YToqKg0KICArIHxGaWVsZCBOYW1lfFR5cGV8TW9kZXwNCnw6LXw6LXw6LXwNCnx5ZWFyfElOVEVHRVJ8TlVMTEFCTEV8DQp8c3RhdGV8U1RSSU5HfE5VTExBQkxFfA0KfG1lYXN1cmV8U1RSSU5HfE5VTExBQkxFfA0KfHF1YW50aXR5fEZMT0FUfE5VTExBQkxFfA0KXA0KICAgIA0KIyMjIyAqU295YmVhbiBNb250aGx5IFByaWNlcyBmb3IgQWxsIFN0YXRlczogMjAwMC0yMDIyKg0KICAgIA0KICAtICoqVVNEIHBlciBCdXNoZWwgYW5kIFBjdCBvZiBQYXJpdHksIGJ5IFN0YXRlOioqIFtOQVNTOiBZZWFycyAyMDAwLTIwMjJdKGh0dHBzOi8vcXVpY2tzdGF0cy5uYXNzLnVzZGEuZ292L3Jlc3VsdHMvODQ5RkMxM0MtRUVDQS0zNDc4LUJBMkUtMzQ5RTVGQjg1Q0ExKQ0KICAtICoqVGFibGU6KiogcHJpY2VzX2J1c2hlbF9wY3RfcGFyaXR5XzIwMDAtMjIgDQogIC0gKipEYXRhIFdpdGhoZWxkOioqIFByaWNlIGRhdGEgZm9yIDYxIG9ic2VydmF0aW9ucyB3ZXJlIHdpdGhoZWxkIHRvIGF2b2lkIGRpc2Nsb3NpbmcgZGF0YSBmb3IgaW5kaXZpZHVhbCBvcGVyYXRpb25zIFtOQVNTIEdsb3NzYXJ5XShodHRwczovL3F1aWNrc3RhdHMubmFzcy51c2RhLmdvdi9zcmMvZ2xvc3NhcnkucGRmKQ0KICAtICoqTWV0YWRhdGE6KioNCiAgICArIHxGaWVsZCBOYW1lfFR5cGV8TW9kZXwNCnw6LXw6LXw6LXwNCnxQcm9ncmFtfFNUUklOR3xOVUxMQUJMRXwNCnxZZWFyfElOVEVHRVJ8TlVMTEFCTEV8DQp8UGVyaW9kfFNUUklOR3xOVUxMQUJMRXwNCnxXZWVrX0VuZGluZ3xTVFJJTkd8TlVMTEFCTEV8DQp8R2VvX0xldmVsfFNUUklOR3xOVUxMQUJMRXwNCnxTdGF0ZXxTVFJJTkd8TlVMTEFCTEV8DQp8U3RhdGVfQU5TSXxJTlRFR0VSfE5VTExBQkxFfA0KfEFnX0Rpc3RyaWN0fFNUUklOR3xOVUxMQUJMRXwNCnxBZ19EaXN0cmljdF9Db2RlfFNUUklOR3xOVUxMQUJMRXwNCnxDb3VudHl8U1RSSU5HfE5VTExBQkxFfA0KfENvdW50eV9BTlNJfFNUUklOR3xOVUxMQUJMRXwNCnxaaXBfQ29kZXxTVFJJTkd8TlVMTEFCTEV8DQp8UmVnaW9ufFNUUklOR3xOVUxMQUJMRXwNCnx3YXRlcnNoZWRfY29kZXxJTlRFR0VSfE5VTExBQkxFfA0KfFdhdGVyc2hlZHxTVFJJTkd8TlVMTEFCTEV8DQp8Q29tbW9kaXR5fFNUUklOR3xOVUxMQUJMRXwNCnxEYXRhX0l0ZW18U1RSSU5HfE5VTExBQkxFfA0KfERvbWFpbnxTVFJJTkd8TlVMTEFCTEV8DQp8RG9tYWluX0NhdGVnb3J5fFNUUklOR3xOVUxMQUJMRXwNCnxWYWx1ZXxTVFJJTkd8TlVMTEFCTEV8DQp8Q1ZfX19ffFNUUklOR3xOVUxMQUJMRQ0KXA0KDQojIyMjICpTb3liZWFuIE1vbnRobHkgUHJpY2VzIGZvciBUb3AgMTEgU3RhdGVzOiAyMDAwLTIwMjIqDQogICAgDQogIC0gKipUYWJsZToqKiBzb3liZWFuX3ByaWNlc19tb250aGx5X3RvcDExX3N0YXRlcw0KICAtICoqTWV0YWRhdGE6KioNCiAgICArIHxGaWVsZCBOYW1lfFR5cGV8TW9kZXwNCnw6LXw6LXw6LXwNCnxwcmljZV9wZXJpb2R8REFURXxOVUxMQUJMRXwNCnxzdGF0ZXxTVFJJTkd8TlVMTEFCTEV8DQp8c3RfYWJ2fFNUUklOR3xOVUxMQUJMRXwNCnx1c2RfYnVzaGVsfEZMT0FUfE5VTExBQkxFfA0KDQpcDQoNCiAgICANCiMjIyAqKldlYXRoZXIgRGF0YSoqDQotICoqU291cmNlOiBCaWdRdWVyeSBQdWJsaWMgRGF0YXNldDoqKiBbbm9hYV9nc29kXShjb25zb2xlLmNsb3VkLmdvb2dsZS5jb20vYmlncXVlcnk/d3M9ITFtNCExbTMhM20yITFzYmlncXVlcnktcHVibGljLWRhdGEhMnNub2FhX2dzb2QpICANCiAgLSBHU09EIFtEZWZpbml0aW9uc10oaHR0cHM6Ly93d3cubmNlaS5ub2FhLmdvdi9kYXRhL2dsb2JhbC1zdW1tYXJ5LW9mLXRoZS1kYXkvZG9jL3JlYWRtZS50eHQpDQpcDQoNCiMjIyMgKkdsb2JhbCBOT0FBIEdTT0QgU3RhdGlvbnMqIFwNCg0KICAtICoqVGFibGU6KiogYmlncXVlcnktcHVibGljLWRhdGEubm9hYV9nc29kLnN0YXRpb25zDQogIC0gKipNZXRhZGF0YToqKg0KICAgICsgfEZpZWxkIE5hbWV8VHlwZXxNb2RlfA0KfDotfDotfDotfA0KfHVzYWZ8U1RSSU5HfE5VTExBQkxFfA0KfHdiYW58U1RSSU5HfE5VTExBQkxFfA0KfG5hbWV8U1RSSU5HfE5VTExBQkxFfA0KfGNvdW50cnl8U1RSSU5HfE5VTExBQkxFfA0KfHN0YXRlfFNUUklOR3xOVUxMQUJMRXwNCnxjYWxsfFNUUklOR3xOVUxMQUJMRXwNCnxsYXR8RkxPQVR8TlVMTEFCTEV8DQp8bG9ufEZMT0FUfE5VTExBQkxFfA0KfGVsZXZ8U1RSSU5HfE5VTExBQkxFfA0KfGJlZ2lufFNUUklOR3xOVUxMQUJMRXwNCnxlbmR8U1RSSU5HfE5VTExBQkxFfA0KXA0KDQojIyMjICpOT0FBIEdTT0QgU3RhdGlvbnMgZm9yIFRvcCAxMSBTb3liZWFuIFN0YXRlcyogXA0KDQogIC0gKipUYWJsZToqKiBzb3lfc3RhdGVzX25vYWFfc3Rucw0KICAtICoqTWV0YWRhdGE6KioNCiAgICArIHxGaWVsZCBOYW1lfFR5cGV8TW9kZXwNCnw6LXw6LXw6LXwNCnx1c2FmfFNUUklOR3xOVUxMQUJMRXwNCnx3YmFufFNUUklOR3xOVUxMQUJMRXwNCnxuYW1lfFNUUklOR3xOVUxMQUJMRXwNCnxzdGF0ZXxTVFJJTkd8TlVMTEFCTEV8DQp8c3RfYWJ2fFNUUklOR3xOVUxMQUJMRXwNCg0KXA0KDQojIyMjICpXZWF0aGVyIERhdGEgMjAwMC0yMDIyIGZvciBUb3AgMTEgU295YmVhbiBTdGF0ZXMqIFwNCg0KICAtICoqVGFibGU6Kiogd2VhdGhlcl90b3AxMV9zdGF0ZXNfbnVsbHMNCiAgLSAqKk1ldGFkYXRhOioqDQogICAgKyB8RmllbGQgTmFtZXxUeXBlfE1vZGV8DQp8Oi18Oi18Oi18DQp8c3RhdGlvbnxTVFJJTkd8TlVMTEFCTEV8DQp8d2VhdGhlcl9kYXRlfERBVEV8TlVMTEFCTEV8DQp8bG9jYXRpb258U1RSSU5HfE5VTExBQkxFfA0KfHN0YXRlfFNUUklOR3xOVUxMQUJMRXwNCnxzdF9hYnZ8U1RSSU5HfE5VTExBQkxFfA0KfG1lYW5fdGVtcHxGTE9BVHxOVUxMQUJMRXwNCnxtYXhfdGVtcHxGTE9BVHxOVUxMQUJMRXwNCnxtaW5fdGVtcHxGTE9BVHxOVUxMQUJMRXwNCnxwcmVjaXB8RkxPQVR8TlVMTEFCTEV8DQoNClwNClw=