Refactor the unstructured text into a valid JSON dictionary. The key names follow the Darwin Core Archive Standard. If a key lacks content, then insert an empty string. Fill in the following JSON structure as required: {"catalogNumber": "", "order": "", "family": "", "scientificName": "", "scientificNameAuthorship": "", "genus": "", "subgenus": "", "specificEpithet": "", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "", "recordNumber": "", "verbatimEventDate": "", "habitat": "", "occurrenceRemarks": "", "associatedTaxa": "", "country": "", "stateProvince": "", "county": "", "municipality": "", "locality": "", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}
  on w. side of us-23 1/4 i. n. of squaw bay 2 mi. s. of city of alpena. alpena twp. t30n, r8e, sec.9, ne1/4 9      !D0 from damp, sandy soil   PUNGENS ==4<k  ALPENA )N      POALES 6~,   tQ 1990-07-21  A< Michigan  #K| UNITED STATXES   3284 6C     a russ garli7z Schoenoplectus pungens #y   
{"catalogNumber": "", "order": "Poales", "family": "", "scientificName": "Schoenoplectus pungens", "scientificNameAuthorship": "", "genus": "", "subgenus": "", "specificEpithet": "pungens", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "Russ Garlitz", "recordNumber": "3284", "verbatimEventDate": "1990-07-21", "habitat": "From damp, sandy soil", "occurrenceRemarks": "", "associatedTaxa": "", "country": "United States", "stateProvince": "Michigan", "county": "Alpena", "municipality": "", "locality": "on W. side of US-23 1/4 mi. N. of Squaw Bay 2 mi. S. of city of Alpena. Alpena Twp. T30N, R8E, Sec.9, NE1/4", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}