{"data":{"id":"10.5061/dryad.31zcrjdrb","type":"dois","attributes":{"doi":"10.5061/dryad.31zcrjdrb","prefix":"10.5061","suffix":"dryad.31zcrjdrb","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Aziz, Aqsa","nameType":"Personal","affiliation":["National University of Science and Technology"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0009-0004-4503-931X","nameIdentifierScheme":"ORCID"}]},{"name":"Manzoor, Umair","nameType":"Personal","affiliation":["National University of Technology"],"nameIdentifiers":[]},{"name":"Akram, Muhammad Aftab","nameType":"Personal","affiliation":["Pak-Austria Fachhochschule: Institute of Applied Sciences and Technology"],"nameIdentifiers":[]},{"name":"Ahmaad, Iftikhar","nameType":"Personal","affiliation":["Suna Solutions"],"nameIdentifiers":[]},{"name":"Malik, Tayyaba","nameType":"Personal","affiliation":["Technical University of Denmark"],"nameIdentifiers":[]}],"titles":[{"title":"Data from: ZnO nanoparticles coprecipitated from acetate, nitrate and sulfate: structure, defects and photolysis-corrected photocatalytic activity"}],"publisher":"Dryad","container":{},"publicationYear":2026,"subjects":[{"subject":"FOS: Nano-technology","schemeUri":"https://web-archive.oecd.org/2012-06-15/138575-38235147.pdf","subjectScheme":"fos"},{"subject":"ZnO nanoparticles"},{"subject":"coprecipitation"},{"subject":"Rietveld refinement"},{"subject":"photoluminescence"},{"subject":"Photocatalysis"}],"contributors":[{"name":"Nanolab SCME, National University of Science and Technology (NUST)*","contributorType":"Sponsor","affiliation":[],"nameIdentifiers":[]}],"dates":[{"date":"2023-05-16T13:42:45Z","dateType":"Created"},{"date":"2023-05-16T13:51:03Z","dateType":"Submitted"},{"date":"2023-05-23T00:00:00Z","dateType":"Issued"},{"date":"2023-05-23T00:00:00Z","dateType":"Available"},{"date":"2026-09-03T00:00:00Z","dateType":"Updated"}],"language":"en","types":{"ris":"DATA","bibtex":"misc","citeproc":"dataset","schemaOrg":"Dataset","resourceType":"dataset","resourceTypeGeneral":"Dataset"},"relatedIdentifiers":[],"relatedItems":[],"sizes":["32901941 bytes"],"formats":[],"version":"9","rightsList":[{"rights":"Creative Commons Zero v1.0 Universal","rightsUri":"https://creativecommons.org/publicdomain/zero/1.0/legalcode","schemeUri":"https://spdx.org/licenses/","rightsIdentifier":"cc0-1.0","rightsIdentifierScheme":"SPDX"}],"descriptions":[{"description":"This dataset supports a study of ZnO nanoparticles prepared by aqueous\n coprecipitation from zinc acetate, nitrate and sulfate at 55, 60, 65 and\n 70 °C under otherwise identical conditions. The acetate sample prepared at\n 70 °C (ZA-70) was also calcined at 300 °C and 800 °C. The package contains\n the original instrument files (powder XRD, SEM, TEM/HRTEM, ATR-FTIR,\n UV-Vis, photoluminescence, and photocatalytic kinetic spectra for\n methylene blue, rhodamine B and phenol) together with derived CSV tables\n and Python analysis scripts used in the accompanying manuscript submitted\n to Materials Chemistry and Physics. Sample labels ZA, ZN and ZS denote\n acetate, nitrate and sulfate precursors; numbers are precipitation\n temperatures in °C.","descriptionType":"Abstract"},{"description":"ZnO nanoparticles were prepared by aqueous coprecipitation from\n zinc acetate, nitrate or sulfate (0.2 M) with NaOH (0.5 M) at a Zn²⁺:OH⁻\n molar ratio of 1:2.5. Each precursor was used at 55, 60, 65 and 70 °C for\n 1 h. Precipitates were washed three times with distilled water and once\n with ethanol, then dried at 80 °C for 8 h. ZA-70 was additionally calcined\n in air at 300 °C and 800 °C (10 °C min⁻¹, 3 h hold).\n Powders were characterised by powder XRD (STOE, Cu Kα), SEM (JEOL\n JSM-6490A, 20 kV), TEM/HRTEM (JEOL JEM-2100F; ZA-60 and ZN-65), ATR-FTIR,\n UV-Vis transmission spectroscopy of ethanol suspensions, and\n photoluminescence (λex = 325 nm). Photocatalytic tests\n used a laboratory-built chamber with a 400 W metal halide lamp (Philips\n HPI-T Plus), glass-covered Petri dishes and a lamp-to-sample distance of\n 203 mm. Methylene blue (31.27 µM, 1 g L⁻¹ catalyst), rhodamine B (50 µM)\n and phenol (colourless probe on ZA-70) were monitored by UV-Vis.\n Photolysis controls without catalyst were recorded in parallel. Derived\n structural, optical and kinetic tables were generated from the instrument\n files with the Python scripts included in this deposit.","descriptionType":"Methods"},{"description":"Sample labels: ZA / ZN / ZS = zinc acetate / nitrate / sulfate\n precursor; the number is the coprecipitation temperature in °C. ZA-70\n (300) and ZA-70 (800) are ZA-70 calcined in air at those temperatures. In\n the photocatalysis folders, Stock / STOCK are photolysis controls without\n catalyst; Phenol folder ZA-c is ZA-70. File formats:\n XRD (.xyd), SEM (.tif), TEM (.jpg), ATR-FTIR (.xls), UV-Vis and\n photocatalysis spectra (.xml), PL (.asc). Derived results are in\n 02_derived_tables/*.csv. Scripts in 03_analysis_scripts/ regenerate those\n tables from the raw files. Important limitations: four\n as-synthesised powders (ZN-60, ZN-65, ZS-60, ZS-65) have no photocatalytic\n kinetic data. Rate confidence intervals are from single-run regressions,\n not biological/technical replicates. Phenol catalyst mass, suspension\n volume, pH and irradiance were not recorded. SEM images are for\n qualitative morphology only. Use the scattering-corrected optical\n parameters in uvvis_reanalysis.csv rather than raw suspension attenuance\n when comparing band gaps. This deposit supersedes any\n earlier Dryad upload of the same project and matches the Materials\n Chemistry and Physics submission package.","descriptionType":"Other"},{"description":"# Data from: ZnO nanoparticles coprecipitated from acetate, nitrate and\n sulfate: structure, defects and photolysis-corrected photocatalytic\n activity ## Authors Aqsa Aziz; Umair Manzoor; Muhammad Aftab Akram;\n Iftikhar Ahmad; Tayyaba Malik ## Corresponding author Aqsa Aziz\n ([aqsaaziz01@gmail.com](mailto:aqsaaziz01@gmail.com)) School of Chemical\n and Materials Engineering, NUST, Islamabad, Pakistan ## Date prepared\n 2026-09-02 ## Related manuscript Submitted to Materials Chemistry and\n Physics (Elsevier). This package supersedes any earlier Dryad upload of\n the same project. Use these files as the definitive raw and derived data\n for the submission. ### Software that opens the files (freely available)\n --- All of the following free programs open the file types in this\n deposit. .xlsx / .xls / .csv • LibreOffice Calc\n ([https://www.libreoffice.org/](https://www.libreoffice.org/)) • Google\n Sheets (upload in a browser) • Microsoft Excel (if available) • Python:\n pandas.read_csv / pandas.read_excel; ATR-FTIR .xls also via xlrd .xyd\n (tab-separated text; powder XRD) • Any text editor (Notepad, Notepad++, VS\n Code) • LibreOffice Calc (open as text, tab-delimited) • Python:\n numpy.loadtxt or pandas.read_csv(..., sep='\\t', header=None)\n .xml (Jenway 7315 UV-Vis / photocatalytic spectrum exports) • Any text\n editor or web browser • Python: xml.etree.ElementTree (see\n parse_photocatalysis.py, uvvis.py) .asc (photoluminescence text export) •\n Any text editor • LibreOffice Calc (tab-delimited) • Python:\n pandas.read_csv(..., sep='\\t' or whitespace) .tif / .tiff (SEM\n images) • ImageJ / Fiji\n ([https://imagej.net/software/fiji/](https://imagej.net/software/fiji/)) —\n recommended, free • IrfanView, GIMP, or Windows Photos .jpg / .jpeg (TEM /\n HRTEM images) • ImageJ / Fiji, GIMP, IrfanView, or any image viewer .py\n (analysis scripts) • Python 3.10+\n ([https://www.python.org/](https://www.python.org/)) • Required packages\n used in this project: numpy, pandas, scipy, matplotlib, xlrd (for .xls).\n Rietveld scripts also use the project's local refiners. • Run from a\n terminal after installing packages, e.g.: pip install numpy pandas scipy\n matplotlib xlrd ### Contents of 01_raw_instrument_data (file types and\n columns) --- Folder layout uses underscores (1_XRD, 2_SEM, …). Sample\n labels: ZA / ZN / ZS = zinc acetate / nitrate / sulfate precursor number =\n coprecipitation temperature in °C ZA-70 (300) / ZA-70 (800) = ZA-70\n calcined in air at that temperature 2.1 1_XRD/ — powder X-ray diffraction\n Files: *.xyd (14 patterns). Plain text, tab-separated, NO header row.\n Column 1: 2θ angle (degrees, Cu Kα) Column 2: intensity (counts, arbitrary\n units) Example first line: 202 2.2 2_SEM/ — scanning electron\n micrographs Files: *.tif (12 as-synthesised powders). Raster images of\n secondary-electron morphology. Qualitative only; no particle sizes were\n extracted for the paper. Open in ImageJ/Fiji or any TIFF viewer. 2.3\n 3_TEM/ — transmission electron micrographs Files: *.jpg (ZA-60 and ZN-65\n overview / HRTEM frames used in the manuscript). Raster images. Open in\n ImageJ/Fiji or any JPEG viewer. 2.4 4_ATR_FTIR/ — attenuated total\n reflectance infrared spectra Files: *_trn.xls (12 as-synthesised powders).\n Microsoft Excel 97–2003 workbook. Sheet 1, two columns WITH header row:\n Column A header \"cm-1\" : wavenumber (cm⁻¹) Column B header\n \"%trn\" : transmittance (%) Spectral window begins near 549 cm⁻¹\n (AMTIR crystal cutoff). 2.5 5_UV_Vis/ — UV-Vis spectra of ethanol\n suspensions Files: *.xml (14 samples). Jenway 7315 XML export. Method\n block gives StartWavelength / EndWavelength / Interval (typically 300–800\n nm, 1 nm). Each element has attributes: WL :\n wavelength (nm) Abs : absorbance (attenuance; includes scattering) Tran :\n transmittance (%) Time : instrument timestamp Use Abs for analysis;\n scattering correction is applied in uvvis.py. 2.6 6_PL/ —\n photoluminescence Files: *.asc (14 samples). Plain text. Some files begin\n with metadata lines (e.g. \"Exposure Time …\"); data lines are\n whitespace- or tab-separated with NO column headers: Column 1: wavelength\n (nm) Column 2: intensity (counts; divide by exposure time when comparing)\n Excitation wavelength λex = 325 nm. A second-order laser line near 648 nm\n was masked in the analysis scripts. 2.7 7_Photocatalysis/ — photocatalytic\n kinetic UV-Vis spectra Files: *.xml only (Jenway 7315), organised as:\n Methylene Blue/Batch1/… and Batch2/… Rhodamine B/… Phenol/UV/…\n (spectrophotometer window name \"UV\"; not a different lamp) Stock\n / STOCK folders = photolysis controls (no catalyst). Phenol catalyst\n folder ZA-c = ZA-70. File names encode irradiation time (e.g. 0min.xml,\n 10min.xml). XML columns/attributes are the same as 5_UV_Vis (WL, Abs,\n Tran, Time). Monitoring wavelengths used in the paper: MB 664 nm, RhB 554\n nm, phenol 270 nm. Note: An unused Phenol/HPLC instrument export folder\n from the laboratory computer is NOT included in this version (it was not\n analysed in the manuscript). Only the UV-Vis kinetic .xml files used for\n rate fitting are deposited. ### 02_derived_tables/ (CSV) --- UTF-8 CSV\n tables from the analysis scripts. Open in LibreOffice Calc, Excel, or\n pandas. Column names are in the first row of each file. Principal files:\n rietveld_results.csv Rietveld a, c, sizes, strain, Rwp, GOF\n rietveld_vs_ssp.csv Rietveld vs size–strain-plot sizes\n rietveld_sensitivity.csv Instrumental-broadening sensitivity\n uvvis_reanalysis.csv Scattering-corrected Eg, Urbach energy, usability\n ftir_bands.csv Band positions / assignments pl_inventory.csv PL files and\n exposure times pl_reanalysis.csv DLE peak, INBE/IDLE pl_deconvolution.csv\n Multi-Gaussian deconvolution on energy axis run_inventory.csv\n Photocatalytic runs and time grids spectra_long.csv Long-format Abs vs\n wavelength vs time (large) dark_adsorption.csv Dark adsorption fractions\n t0_absorbance.csv Absorbance at t = 0 at the monitoring λ\n kinetics_refit.csv k_app, SE, 95% CI, η_raw, η_corr, R²\n mb_structure_activity.csv MB rates linked to crystallite size ###\n 03_analysis_scripts/ — run order --- Scripts assume the original project\n layout: /Experimental Data/1 XRD … 7 Photocatalysis\n /Reanalysis/*.py /Reanalysis/output/ To use\n this Dryad package locally, either (a) rename 01_raw_instrument_data →\n Experimental Data and restore the original folder names (1 XRD, 2 SEM, …),\n or (b) edit the SRC paths at the top of each script. Recommended order\n (tables for the manuscript): Step 1 parse_photocatalysis.py →\n spectra_long.csv, run_inventory.csv Step 2 diagnostics.py →\n dark_adsorption.csv, t0_absorbance.csv Step 3 kinetics.py →\n kinetics_refit.csv Step 4 refine_all.py (needs rietveld.py on the path) →\n rietveld_results.csv Then optionally: sensitivity.py →\n rietveld_sensitivity.csv compare_xrd.py → rietveld_vs_ssp.csv Step 5\n structure_activity.py → mb_structure_activity.csv (requires\n kinetics_refit.csv and crystallite-size columns) Step 6 uvvis.py →\n uvvis_reanalysis.csv Step 7 ftir.py → ftir_bands.csv Step 8 pl_overview.py\n then pl_analysis.py → pl_inventory.csv, pl_reanalysis.csv,\n pl_deconvolution.csv Step 9 (optional figures)\n generate_publication_figures.py make_reviewer_figures.py Steps 1–3\n (photocatalysis), 4 (XRD), 6 (UV-Vis), 7 (FTIR) and 8 (PL) are independent\n of each other and may be run in parallel. Step 5 depends on Steps 3 and 4.\n ### Methods notes (also in the manuscript) --- • Synthesis: aqueous\n coprecipitation, 0.2 M Zn salt, 0.5 M NaOH, Zn:OH = 1:2.5, 1 h, washed 3×\n water + 1× ethanol, dried 80 °C / 8 h. • Photocatalysis: 400 W metal\n halide lamp (HPI-T Plus), glass-covered Petri dish, lamp-to-sample\n distance 203 mm, foil-lined chamber. Residual UV-A is present; the source\n is not pure visible light. • Methylene blue: 31.27 µM, 60 mg / 60 mL (1 g\n L⁻¹). • Rhodamine B: 50 µM, 40 mg / 40 mL. • Phenol: colourless probe on\n ZA-70; catalyst mass / volume not recorded; A0 ≈ 0.316 at 270 nm. • Four\n as-synthesised powders (ZN-60, ZN-65, ZS-60, ZS-65) have no kinetic runs.\n • Kinetic confidence intervals are single-run regression intervals, not\n replicate SDs. ### Recommended citation --- When using these data, we\n encourage you to cite the published article (once available) and this\n Dryad dataset. Until the article is published, cite: Aziz, Aqsa; Manzoor,\n Umair; Akram, Muhammad Aftab et al. (Forthcoming 2026). ZnO nanoparticles\n coprecipitated from acetate, nitrate and sulfate: structure, defects and\n photolysis-corrected photocatalytic activity [Dataset]. Dryad.\n https://doi.org/10.5061/dryad.31zcrjdrb License: Dryad deposits are\n published under CC0. ### File inventory --- FILE_INVENTORY.csv lists every\n file inside the unzipped package (relative path, size, extension). It is\n regenerated when the package is built. ## Files deposited with this\n version The following top-level items are part of this Dryad submission:\n FILE_INVENTORY.csv 01_raw_instrument_data/ (raw instrument exports; see\n Section 2) 02_derived_tables/ (CSV analysis tables; see Section 3)\n 03_analysis_scripts/ (Python scripts; see Section 4)\n Dryad_deposit_Aziz_ZnO.zip (optional convenience archive of the five items\n above) Dryad_deposit_Aziz_ZnO.zip is a compressed copy of this entire\n package for download convenience. Extracting the zip reproduces\n 00_README.txt, FILE_INVENTORY.csv, 01_raw_instrument_data/,\n 02_derived_tables/ and 03_analysis_scripts/. Prefer working with the\n extracted individual files.","descriptionType":"TechnicalInfo"}],"geoLocations":[],"fundingReferences":[],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC4zMVpDUkpEUkI8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPkF6aXosIEFxc2E8L2NyZWF0b3JOYW1lPgogICAgICA8bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Ik9SQ0lEIiBzY2hlbWVVUkk9Imh0dHA6Ly9vcmNpZC5vcmcvIj4wMDA5LTAwMDQtNDUwMy05MzFYPC9uYW1lSWRlbnRpZmllcj4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAxOXZzbTk1OSIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5OYXRpb25hbCBVbml2ZXJzaXR5IG9mIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3k8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPk1hbnpvb3IsIFVtYWlyPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzA1ZTIxZnc0NCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5OYXRpb25hbCBVbml2ZXJzaXR5IG9mIFRlY2hub2xvZ3k8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPkFrcmFtLCBNdWhhbW1hZCBBZnRhYjwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wNXBncWdiNTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+UGFrLUF1c3RyaWEgRmFjaGhvY2hzY2h1bGU6IEluc3RpdHV0ZSBvZiBBcHBsaWVkIFNjaWVuY2VzIGFuZCBUZWNobm9sb2d5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5BaG1hYWQsIElmdGlraGFyPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uPlN1bmEgU29sdXRpb25zPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5NYWxpaywgVGF5eWFiYTwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wNHF0ajloOTQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+VGVjaG5pY2FsIFVuaXZlcnNpdHkgb2YgRGVubWFyazwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPgogICAgICBEYXRhIGZyb206IFpuTyBuYW5vcGFydGljbGVzIGNvcHJlY2lwaXRhdGVkIGZyb20gYWNldGF0ZSwgbml0cmF0ZSBhbmQKICAgICAgc3VsZmF0ZTogc3RydWN0dXJlLCBkZWZlY3RzIGFuZCBwaG90b2x5c2lzLWNvcnJlY3RlZCBwaG90b2NhdGFseXRpYwogICAgICBhY3Rpdml0eQogICAgPC90aXRsZT4KICA8L3RpdGxlcz4KICA8cHVibGlzaGVyIHB1Ymxpc2hlcklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMHg2aDVuOTUiIHB1Ymxpc2hlcklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmcvIj5EcnlhZDwvcHVibGlzaGVyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+ZGF0YXNldDwvcmVzb3VyY2VUeXBlPgogIDxwdWJsaWNhdGlvblllYXI+MjAyNjwvcHVibGljYXRpb25ZZWFyPgogIDxzdWJqZWN0cz4KICAgIDxzdWJqZWN0IHN1YmplY3RTY2hlbWU9ImZvcyIgc2NoZW1lVVJJPSJodHRwczovL3dlYi1hcmNoaXZlLm9lY2Qub3JnLzIwMTItMDYtMTUvMTM4NTc1LTM4MjM1MTQ3LnBkZiI+Rk9TOiBOYW5vLXRlY2hub2xvZ3k8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5abk8gbmFub3BhcnRpY2xlczwvc3ViamVjdD4KICAgIDxzdWJqZWN0PmNvcHJlY2lwaXRhdGlvbjwvc3ViamVjdD4KICAgIDxzdWJqZWN0PlJpZXR2ZWxkIHJlZmluZW1lbnQ8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5waG90b2x1bWluZXNjZW5jZTwvc3ViamVjdD4KICAgIDxzdWJqZWN0PlBob3RvY2F0YWx5c2lzPC9zdWJqZWN0PgogIDwvc3ViamVjdHM+CiAgPGNvbnRyaWJ1dG9ycz4KICAgIDxjb250cmlidXRvciBjb250cmlidXRvclR5cGU9IlNwb25zb3IiPgogICAgICA8Y29udHJpYnV0b3JOYW1lPk5hbm9sYWIgU0NNRSwgTmF0aW9uYWwgVW5pdmVyc2l0eSBvZiBTY2llbmNlIGFuZCBUZWNobm9sb2d5IChOVVNUKSo8L2NvbnRyaWJ1dG9yTmFtZT4KICAgIDwvY29udHJpYnV0b3I+CiAgPC9jb250cmlidXRvcnM+CiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9IkNyZWF0ZWQiPjIwMjMtMDUtMTZUMTM6NDI6NDVaPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9IlN1Ym1pdHRlZCI+MjAyMy0wNS0xNlQxMzo1MTowM1o8L2RhdGU+CiAgICA8ZGF0ZSBkYXRlVHlwZT0iSXNzdWVkIj4yMDIzLTA1LTIzVDAwOjAwOjAwWjwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJBdmFpbGFibGUiPjIwMjMtMDUtMjNUMDA6MDA6MDBaPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9IlVwZGF0ZWQiPjIwMjYtMDktMDNUMDA6MDA6MDBaPC9kYXRlPgogIDwvZGF0ZXM+CiAgPGxhbmd1YWdlPmVuPC9sYW5ndWFnZT4KICA8c2l6ZXM+CiAgICA8c2l6ZT4zMjkwMTk0MSBieXRlczwvc2l6ZT4KICA8L3NpemVzPgogIDx2ZXJzaW9uPjk8L3ZlcnNpb24+CiAgPHJpZ2h0c0xpc3Q+CiAgICA8cmlnaHRzIHJpZ2h0c1VSST0iaHR0cHM6Ly9zcGR4Lm9yZy9saWNlbnNlcy9DQzAtMS4wLmh0bWwiPkNyZWF0aXZlIENvbW1vbnMgWmVybyB2MS4wIFVuaXZlcnNhbDwvcmlnaHRzPgogIDwvcmlnaHRzTGlzdD4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPgogICAgICBUaGlzIGRhdGFzZXQgc3VwcG9ydHMgYSBzdHVkeSBvZiBabk8gbmFub3BhcnRpY2xlcyBwcmVwYXJlZCBieSBhcXVlb3VzCiAgICAgIGNvcHJlY2lwaXRhdGlvbiBmcm9tIHppbmMgYWNldGF0ZSwgbml0cmF0ZSBhbmQgc3VsZmF0ZSBhdCA1NSwgNjAsIDY1IGFuZAogICAgICA3MCDCsEMgdW5kZXIgb3RoZXJ3aXNlIGlkZW50aWNhbCBjb25kaXRpb25zLiBUaGUgYWNldGF0ZSBzYW1wbGUgcHJlcGFyZWQgYXQKICAgICAgNzAgwrBDIChaQS03MCkgd2FzIGFsc28gY2FsY2luZWQgYXQgMzAwIMKwQyBhbmQgODAwIMKwQy4gVGhlIHBhY2thZ2UgY29udGFpbnMKICAgICAgdGhlIG9yaWdpbmFsIGluc3RydW1lbnQgZmlsZXMgKHBvd2RlciBYUkQsIFNFTSwgVEVNL0hSVEVNLCBBVFItRlRJUiwKICAgICAgVVYtVmlzLCBwaG90b2x1bWluZXNjZW5jZSwgYW5kIHBob3RvY2F0YWx5dGljIGtpbmV0aWMgc3BlY3RyYSBmb3IKICAgICAgbWV0aHlsZW5lIGJsdWUsIHJob2RhbWluZSBCIGFuZCBwaGVub2wpIHRvZ2V0aGVyIHdpdGggZGVyaXZlZCBDU1YgdGFibGVzCiAgICAgIGFuZCBQeXRob24gYW5hbHlzaXMgc2NyaXB0cyB1c2VkIGluIHRoZSBhY2NvbXBhbnlpbmcgbWFudXNjcmlwdCBzdWJtaXR0ZWQKICAgICAgdG8gTWF0ZXJpYWxzIENoZW1pc3RyeSBhbmQgUGh5c2ljcy4gU2FtcGxlIGxhYmVscyBaQSwgWk4gYW5kIFpTIGRlbm90ZQogICAgICBhY2V0YXRlLCBuaXRyYXRlIGFuZCBzdWxmYXRlIHByZWN1cnNvcnM7IG51bWJlcnMgYXJlIHByZWNpcGl0YXRpb24KICAgICAgdGVtcGVyYXR1cmVzIGluIMKwQy4KICAgIDwvZGVzY3JpcHRpb24+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJNZXRob2RzIj4KICAgICAgJmx0O3AmZ3Q7Wm5PIG5hbm9wYXJ0aWNsZXMgd2VyZSBwcmVwYXJlZCBieSBhcXVlb3VzIGNvcHJlY2lwaXRhdGlvbiBmcm9tCiAgICAgIHppbmMgYWNldGF0ZSwgbml0cmF0ZSBvciBzdWxmYXRlICgwLjIgTSkgd2l0aCBOYU9IICgwLjUgTSkgYXQgYSBabsKy4oG6Ok9I4oG7CiAgICAgIG1vbGFyIHJhdGlvIG9mIDE6Mi41LiBFYWNoIHByZWN1cnNvciB3YXMgdXNlZCBhdCA1NSwgNjAsIDY1IGFuZCA3MCDCsEMgZm9yCiAgICAgIDEgaC4gUHJlY2lwaXRhdGVzIHdlcmUgd2FzaGVkIHRocmVlIHRpbWVzIHdpdGggZGlzdGlsbGVkIHdhdGVyIGFuZCBvbmNlCiAgICAgIHdpdGggZXRoYW5vbCwgdGhlbiBkcmllZCBhdCA4MCDCsEMgZm9yIDggaC4gWkEtNzAgd2FzIGFkZGl0aW9uYWxseSBjYWxjaW5lZAogICAgICBpbiBhaXIgYXQgMzAwIMKwQyBhbmQgODAwIMKwQyAoMTAgwrBDIG1pbuKBu8K5LCAzIGggaG9sZCkuJmx0Oy9wJmd0OwogICAgICAmbHQ7cCZndDtQb3dkZXJzIHdlcmUgY2hhcmFjdGVyaXNlZCBieSBwb3dkZXIgWFJEIChTVE9FLCBDdSBLzrEpLCBTRU0gKEpFT0wKICAgICAgSlNNLTY0OTBBLCAyMCBrViksIFRFTS9IUlRFTSAoSkVPTCBKRU0tMjEwMEY7IFpBLTYwIGFuZCBaTi02NSksIEFUUi1GVElSLAogICAgICBVVi1WaXMgdHJhbnNtaXNzaW9uIHNwZWN0cm9zY29weSBvZiBldGhhbm9sIHN1c3BlbnNpb25zLCBhbmQKICAgICAgcGhvdG9sdW1pbmVzY2VuY2UgKM67ZXggPSAzMjUgbm0pLiZsdDsvcCZndDsgJmx0O3AmZ3Q7UGhvdG9jYXRhbHl0aWMgdGVzdHMKICAgICAgdXNlZCBhIGxhYm9yYXRvcnktYnVpbHQgY2hhbWJlciB3aXRoIGEgNDAwIFcgbWV0YWwgaGFsaWRlIGxhbXAgKFBoaWxpcHMKICAgICAgSFBJLVQgUGx1cyksIGdsYXNzLWNvdmVyZWQgUGV0cmkgZGlzaGVzIGFuZCBhIGxhbXAtdG8tc2FtcGxlIGRpc3RhbmNlIG9mCiAgICAgIDIwMyBtbS4gTWV0aHlsZW5lIGJsdWUgKDMxLjI3IMK1TSwgMSBnIEzigbvCuSBjYXRhbHlzdCksIHJob2RhbWluZSBCICg1MCDCtU0pCiAgICAgIGFuZCBwaGVub2wgKGNvbG91cmxlc3MgcHJvYmUgb24gWkEtNzApIHdlcmUgbW9uaXRvcmVkIGJ5IFVWLVZpcy4KICAgICAgUGhvdG9seXNpcyBjb250cm9scyB3aXRob3V0IGNhdGFseXN0IHdlcmUgcmVjb3JkZWQgaW4gcGFyYWxsZWwuIERlcml2ZWQKICAgICAgc3RydWN0dXJhbCwgb3B0aWNhbCBhbmQga2luZXRpYyB0YWJsZXMgd2VyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgaW5zdHJ1bWVudAogICAgICBmaWxlcyB3aXRoIHRoZSBQeXRob24gc2NyaXB0cyBpbmNsdWRlZCBpbiB0aGlzIGRlcG9zaXQuJmx0Oy9wJmd0OwogICAgPC9kZXNjcmlwdGlvbj4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9Ik90aGVyIj4KICAgICAgJmx0O3AmZ3Q7U2FtcGxlIGxhYmVsczogWkEgLyBaTiAvIFpTID0gemluYyBhY2V0YXRlIC8gbml0cmF0ZSAvIHN1bGZhdGUKICAgICAgcHJlY3Vyc29yOyB0aGUgbnVtYmVyIGlzIHRoZSBjb3ByZWNpcGl0YXRpb24gdGVtcGVyYXR1cmUgaW4gwrBDLiBaQS03MAogICAgICAoMzAwKSBhbmQgWkEtNzAgKDgwMCkgYXJlIFpBLTcwIGNhbGNpbmVkIGluIGFpciBhdCB0aG9zZSB0ZW1wZXJhdHVyZXMuIEluCiAgICAgIHRoZSBwaG90b2NhdGFseXNpcyBmb2xkZXJzLCBTdG9jayAvIFNUT0NLIGFyZSBwaG90b2x5c2lzIGNvbnRyb2xzIHdpdGhvdXQKICAgICAgY2F0YWx5c3Q7IFBoZW5vbCBmb2xkZXIgWkEtYyBpcyBaQS03MC4mbHQ7L3AmZ3Q7ICZsdDtwJmd0O0ZpbGUgZm9ybWF0czoKICAgICAgWFJEICgueHlkKSwgU0VNICgudGlmKSwgVEVNICguanBnKSwgQVRSLUZUSVIgKC54bHMpLCBVVi1WaXMgYW5kCiAgICAgIHBob3RvY2F0YWx5c2lzIHNwZWN0cmEgKC54bWwpLCBQTCAoLmFzYykuIERlcml2ZWQgcmVzdWx0cyBhcmUgaW4KICAgICAgMDJfZGVyaXZlZF90YWJsZXMvKi5jc3YuIFNjcmlwdHMgaW4gMDNfYW5hbHlzaXNfc2NyaXB0cy8gcmVnZW5lcmF0ZSB0aG9zZQogICAgICB0YWJsZXMgZnJvbSB0aGUgcmF3IGZpbGVzLiZsdDsvcCZndDsgJmx0O3AmZ3Q7SW1wb3J0YW50IGxpbWl0YXRpb25zOiBmb3VyCiAgICAgIGFzLXN5bnRoZXNpc2VkIHBvd2RlcnMgKFpOLTYwLCBaTi02NSwgWlMtNjAsIFpTLTY1KSBoYXZlIG5vIHBob3RvY2F0YWx5dGljCiAgICAgIGtpbmV0aWMgZGF0YS4gUmF0ZSBjb25maWRlbmNlIGludGVydmFscyBhcmUgZnJvbSBzaW5nbGUtcnVuIHJlZ3Jlc3Npb25zLAogICAgICBub3QgYmlvbG9naWNhbC90ZWNobmljYWwgcmVwbGljYXRlcy4gUGhlbm9sIGNhdGFseXN0IG1hc3MsIHN1c3BlbnNpb24KICAgICAgdm9sdW1lLCBwSCBhbmQgaXJyYWRpYW5jZSB3ZXJlIG5vdCByZWNvcmRlZC4gU0VNIGltYWdlcyBhcmUgZm9yCiAgICAgIHF1YWxpdGF0aXZlIG1vcnBob2xvZ3kgb25seS4gVXNlIHRoZSBzY2F0dGVyaW5nLWNvcnJlY3RlZCBvcHRpY2FsCiAgICAgIHBhcmFtZXRlcnMgaW4gdXZ2aXNfcmVhbmFseXNpcy5jc3YgcmF0aGVyIHRoYW4gcmF3IHN1c3BlbnNpb24gYXR0ZW51YW5jZQogICAgICB3aGVuIGNvbXBhcmluZyBiYW5kIGdhcHMuJmx0Oy9wJmd0OyAmbHQ7cCZndDtUaGlzIGRlcG9zaXQgc3VwZXJzZWRlcyBhbnkKICAgICAgZWFybGllciBEcnlhZCB1cGxvYWQgb2YgdGhlIHNhbWUgcHJvamVjdCBhbmQgbWF0Y2hlcyB0aGUgTWF0ZXJpYWxzCiAgICAgIENoZW1pc3RyeSBhbmQgUGh5c2ljcyBzdWJtaXNzaW9uIHBhY2thZ2UuJmx0Oy9wJmd0OwogICAgPC9kZXNjcmlwdGlvbj4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IlRlY2huaWNhbEluZm8iPgogICAgICAjIERhdGEgZnJvbTogWm5PIG5hbm9wYXJ0aWNsZXMgY29wcmVjaXBpdGF0ZWQgZnJvbSBhY2V0YXRlLCBuaXRyYXRlIGFuZAogICAgICBzdWxmYXRlOiBzdHJ1Y3R1cmUsIGRlZmVjdHMgYW5kIHBob3RvbHlzaXMtY29ycmVjdGVkIHBob3RvY2F0YWx5dGljCiAgICAgIGFjdGl2aXR5ICMjIEF1dGhvcnMgQXFzYSBBeml6OyBVbWFpciBNYW56b29yOyBNdWhhbW1hZCBBZnRhYiBBa3JhbTsKICAgICAgSWZ0aWtoYXIgQWhtYWQ7IFRheXlhYmEgTWFsaWsgIyMgQ29ycmVzcG9uZGluZyBhdXRob3IgQXFzYSBBeml6CiAgICAgIChbYXFzYWF6aXowMUBnbWFpbC5jb21dKG1haWx0bzphcXNhYXppejAxQGdtYWlsLmNvbSkpIFNjaG9vbCBvZiBDaGVtaWNhbAogICAgICBhbmQgTWF0ZXJpYWxzIEVuZ2luZWVyaW5nLCBOVVNULCBJc2xhbWFiYWQsIFBha2lzdGFuICMjIERhdGUgcHJlcGFyZWQKICAgICAgMjAyNi0wOS0wMiAjIyBSZWxhdGVkIG1hbnVzY3JpcHQgU3VibWl0dGVkIHRvIE1hdGVyaWFscyBDaGVtaXN0cnkgYW5kCiAgICAgIFBoeXNpY3MgKEVsc2V2aWVyKS4gVGhpcyBwYWNrYWdlIHN1cGVyc2VkZXMgYW55IGVhcmxpZXIgRHJ5YWQgdXBsb2FkIG9mCiAgICAgIHRoZSBzYW1lIHByb2plY3QuIFVzZSB0aGVzZSBmaWxlcyBhcyB0aGUgZGVmaW5pdGl2ZSByYXcgYW5kIGRlcml2ZWQgZGF0YQogICAgICBmb3IgdGhlIHN1Ym1pc3Npb24uICMjIyBTb2Z0d2FyZSB0aGF0IG9wZW5zIHRoZSBmaWxlcyAoZnJlZWx5IGF2YWlsYWJsZSkKICAgICAgLS0tIEFsbCBvZiB0aGUgZm9sbG93aW5nIGZyZWUgcHJvZ3JhbXMgb3BlbiB0aGUgZmlsZSB0eXBlcyBpbiB0aGlzCiAgICAgIGRlcG9zaXQuIC54bHN4IC8gLnhscyAvIC5jc3Yg4oCiIExpYnJlT2ZmaWNlIENhbGMKICAgICAgKFtodHRwczovL3d3dy5saWJyZW9mZmljZS5vcmcvXShodHRwczovL3d3dy5saWJyZW9mZmljZS5vcmcvKSkg4oCiIEdvb2dsZQogICAgICBTaGVldHMgKHVwbG9hZCBpbiBhIGJyb3dzZXIpIOKAoiBNaWNyb3NvZnQgRXhjZWwgKGlmIGF2YWlsYWJsZSkg4oCiIFB5dGhvbjoKICAgICAgcGFuZGFzLnJlYWRfY3N2IC8gcGFuZGFzLnJlYWRfZXhjZWw7IEFUUi1GVElSIC54bHMgYWxzbyB2aWEgeGxyZCAueHlkCiAgICAgICh0YWItc2VwYXJhdGVkIHRleHQ7IHBvd2RlciBYUkQpIOKAoiBBbnkgdGV4dCBlZGl0b3IgKE5vdGVwYWQsIE5vdGVwYWQrKywgVlMKICAgICAgQ29kZSkg4oCiIExpYnJlT2ZmaWNlIENhbGMgKG9wZW4gYXMgdGV4dCwgdGFiLWRlbGltaXRlZCkg4oCiIFB5dGhvbjoKICAgICAgbnVtcHkubG9hZHR4dCBvciBwYW5kYXMucmVhZF9jc3YoLi4uLCBzZXA9J1x0JywgaGVhZGVyPU5vbmUpCiAgICAgIC54bWwgKEplbndheSA3MzE1IFVWLVZpcyAvIHBob3RvY2F0YWx5dGljIHNwZWN0cnVtIGV4cG9ydHMpIOKAoiBBbnkgdGV4dAogICAgICBlZGl0b3Igb3Igd2ViIGJyb3dzZXIg4oCiIFB5dGhvbjogeG1sLmV0cmVlLkVsZW1lbnRUcmVlIChzZWUKICAgICAgcGFyc2VfcGhvdG9jYXRhbHlzaXMucHksIHV2dmlzLnB5KSAuYXNjIChwaG90b2x1bWluZXNjZW5jZSB0ZXh0IGV4cG9ydCkg4oCiCiAgICAgIEFueSB0ZXh0IGVkaXRvciDigKIgTGlicmVPZmZpY2UgQ2FsYyAodGFiLWRlbGltaXRlZCkg4oCiIFB5dGhvbjoKICAgICAgcGFuZGFzLnJlYWRfY3N2KC4uLiwgc2VwPSdcdCcgb3Igd2hpdGVzcGFjZSkgLnRpZiAvIC50aWZmIChTRU0KICAgICAgaW1hZ2VzKSDigKIgSW1hZ2VKIC8gRmlqaQogICAgICAoW2h0dHBzOi8vaW1hZ2VqLm5ldC9zb2Z0d2FyZS9maWppL10oaHR0cHM6Ly9pbWFnZWoubmV0L3NvZnR3YXJlL2ZpamkvKSkg4oCUCiAgICAgIHJlY29tbWVuZGVkLCBmcmVlIOKAoiBJcmZhblZpZXcsIEdJTVAsIG9yIFdpbmRvd3MgUGhvdG9zIC5qcGcgLyAuanBlZyAoVEVNIC8KICAgICAgSFJURU0gaW1hZ2VzKSDigKIgSW1hZ2VKIC8gRmlqaSwgR0lNUCwgSXJmYW5WaWV3LCBvciBhbnkgaW1hZ2Ugdmlld2VyIC5weQogICAgICAoYW5hbHlzaXMgc2NyaXB0cykg4oCiIFB5dGhvbiAzLjEwKwogICAgICAoW2h0dHBzOi8vd3d3LnB5dGhvbi5vcmcvXShodHRwczovL3d3dy5weXRob24ub3JnLykpIOKAoiBSZXF1aXJlZCBwYWNrYWdlcwogICAgICB1c2VkIGluIHRoaXMgcHJvamVjdDogbnVtcHksIHBhbmRhcywgc2NpcHksIG1hdHBsb3RsaWIsIHhscmQgKGZvciAueGxzKS4KICAgICAgUmlldHZlbGQgc2NyaXB0cyBhbHNvIHVzZSB0aGUgcHJvamVjdCdzIGxvY2FsIHJlZmluZXJzLiDigKIgUnVuIGZyb20gYQogICAgICB0ZXJtaW5hbCBhZnRlciBpbnN0YWxsaW5nIHBhY2thZ2VzLCBlLmcuOiBwaXAgaW5zdGFsbCBudW1weSBwYW5kYXMgc2NpcHkKICAgICAgbWF0cGxvdGxpYiB4bHJkICMjIyBDb250ZW50cyBvZiAwMV9yYXdfaW5zdHJ1bWVudF9kYXRhIChmaWxlIHR5cGVzIGFuZAogICAgICBjb2x1bW5zKSAtLS0gRm9sZGVyIGxheW91dCB1c2VzIHVuZGVyc2NvcmVzICgxX1hSRCwgMl9TRU0sIOKApikuIFNhbXBsZQogICAgICBsYWJlbHM6IFpBIC8gWk4gLyBaUyA9IHppbmMgYWNldGF0ZSAvIG5pdHJhdGUgLyBzdWxmYXRlIHByZWN1cnNvciBudW1iZXIgPQogICAgICBjb3ByZWNpcGl0YXRpb24gdGVtcGVyYXR1cmUgaW4gwrBDIFpBLTcwICgzMDApIC8gWkEtNzAgKDgwMCkgPSBaQS03MAogICAgICBjYWxjaW5lZCBpbiBhaXIgYXQgdGhhdCB0ZW1wZXJhdHVyZSAyLjEgMV9YUkQvIOKAlCBwb3dkZXIgWC1yYXkgZGlmZnJhY3Rpb24KICAgICAgRmlsZXM6ICoueHlkICgxNCBwYXR0ZXJucykuIFBsYWluIHRleHQsIHRhYi1zZXBhcmF0ZWQsIE5PIGhlYWRlciByb3cuCiAgICAgIENvbHVtbiAxOiAyzrggYW5nbGUgKGRlZ3JlZXMsIEN1IEvOsSkgQ29sdW1uIDI6IGludGVuc2l0eSAoY291bnRzLCBhcmJpdHJhcnkKICAgICAgdW5pdHMpIEV4YW1wbGUgZmlyc3QgbGluZTogMjAmbHQ7VEFCJmd0OzIgMi4yIDJfU0VNLyDigJQgc2Nhbm5pbmcgZWxlY3Ryb24KICAgICAgbWljcm9ncmFwaHMgRmlsZXM6ICoudGlmICgxMiBhcy1zeW50aGVzaXNlZCBwb3dkZXJzKS4gUmFzdGVyIGltYWdlcyBvZgogICAgICBzZWNvbmRhcnktZWxlY3Ryb24gbW9ycGhvbG9neS4gUXVhbGl0YXRpdmUgb25seTsgbm8gcGFydGljbGUgc2l6ZXMgd2VyZQogICAgICBleHRyYWN0ZWQgZm9yIHRoZSBwYXBlci4gT3BlbiBpbiBJbWFnZUovRmlqaSBvciBhbnkgVElGRiB2aWV3ZXIuIDIuMwogICAgICAzX1RFTS8g4oCUIHRyYW5zbWlzc2lvbiBlbGVjdHJvbiBtaWNyb2dyYXBocyBGaWxlczogKi5qcGcgKFpBLTYwIGFuZCBaTi02NQogICAgICBvdmVydmlldyAvIEhSVEVNIGZyYW1lcyB1c2VkIGluIHRoZSBtYW51c2NyaXB0KS4gUmFzdGVyIGltYWdlcy4gT3BlbiBpbgogICAgICBJbWFnZUovRmlqaSBvciBhbnkgSlBFRyB2aWV3ZXIuIDIuNCA0X0FUUl9GVElSLyDigJQgYXR0ZW51YXRlZCB0b3RhbAogICAgICByZWZsZWN0YW5jZSBpbmZyYXJlZCBzcGVjdHJhIEZpbGVzOiAqX3Rybi54bHMgKDEyIGFzLXN5bnRoZXNpc2VkIHBvd2RlcnMpLgogICAgICBNaWNyb3NvZnQgRXhjZWwgOTfigJMyMDAzIHdvcmtib29rLiBTaGVldCAxLCB0d28gY29sdW1ucyBXSVRIIGhlYWRlciByb3c6CiAgICAgIENvbHVtbiBBIGhlYWRlciAiY20tMSIgOiB3YXZlbnVtYmVyIChjbeKBu8K5KSBDb2x1bW4gQiBoZWFkZXIKICAgICAgIiV0cm4iIDogdHJhbnNtaXR0YW5jZSAoJSkgU3BlY3RyYWwgd2luZG93IGJlZ2lucyBuZWFyIDU0OSBjbeKBu8K5CiAgICAgIChBTVRJUiBjcnlzdGFsIGN1dG9mZikuIDIuNSA1X1VWX1Zpcy8g4oCUIFVWLVZpcyBzcGVjdHJhIG9mIGV0aGFub2wKICAgICAgc3VzcGVuc2lvbnMgRmlsZXM6ICoueG1sICgxNCBzYW1wbGVzKS4gSmVud2F5IDczMTUgWE1MIGV4cG9ydC4gTWV0aG9kCiAgICAgIGJsb2NrIGdpdmVzIFN0YXJ0V2F2ZWxlbmd0aCAvIEVuZFdhdmVsZW5ndGggLyBJbnRlcnZhbCAodHlwaWNhbGx5IDMwMOKAkzgwMAogICAgICBubSwgMSBubSkuIEVhY2ggJmx0O01lYXN1cmVtZW50Jmd0OyBlbGVtZW50IGhhcyBhdHRyaWJ1dGVzOiBXTCA6CiAgICAgIHdhdmVsZW5ndGggKG5tKSBBYnMgOiBhYnNvcmJhbmNlIChhdHRlbnVhbmNlOyBpbmNsdWRlcyBzY2F0dGVyaW5nKSBUcmFuIDoKICAgICAgdHJhbnNtaXR0YW5jZSAoJSkgVGltZSA6IGluc3RydW1lbnQgdGltZXN0YW1wIFVzZSBBYnMgZm9yIGFuYWx5c2lzOwogICAgICBzY2F0dGVyaW5nIGNvcnJlY3Rpb24gaXMgYXBwbGllZCBpbiB1dnZpcy5weS4gMi42IDZfUEwvIOKAlAogICAgICBwaG90b2x1bWluZXNjZW5jZSBGaWxlczogKi5hc2MgKDE0IHNhbXBsZXMpLiBQbGFpbiB0ZXh0LiBTb21lIGZpbGVzIGJlZ2luCiAgICAgIHdpdGggbWV0YWRhdGEgbGluZXMgKGUuZy4gIkV4cG9zdXJlIFRpbWUg4oCmIik7IGRhdGEgbGluZXMgYXJlCiAgICAgIHdoaXRlc3BhY2UtIG9yIHRhYi1zZXBhcmF0ZWQgd2l0aCBOTyBjb2x1bW4gaGVhZGVyczogQ29sdW1uIDE6IHdhdmVsZW5ndGgKICAgICAgKG5tKSBDb2x1bW4gMjogaW50ZW5zaXR5IChjb3VudHM7IGRpdmlkZSBieSBleHBvc3VyZSB0aW1lIHdoZW4gY29tcGFyaW5nKQogICAgICBFeGNpdGF0aW9uIHdhdmVsZW5ndGggzrtleCA9IDMyNSBubS4gQSBzZWNvbmQtb3JkZXIgbGFzZXIgbGluZSBuZWFyIDY0OCBubQogICAgICB3YXMgbWFza2VkIGluIHRoZSBhbmFseXNpcyBzY3JpcHRzLiAyLjcgN19QaG90b2NhdGFseXNpcy8g4oCUIHBob3RvY2F0YWx5dGljCiAgICAgIGtpbmV0aWMgVVYtVmlzIHNwZWN0cmEgRmlsZXM6ICoueG1sIG9ubHkgKEplbndheSA3MzE1KSwgb3JnYW5pc2VkIGFzOgogICAgICBNZXRoeWxlbmUgQmx1ZS9CYXRjaDEv4oCmIGFuZCBCYXRjaDIv4oCmIFJob2RhbWluZSBCL+KApiBQaGVub2wvVVYv4oCmCiAgICAgIChzcGVjdHJvcGhvdG9tZXRlciB3aW5kb3cgbmFtZSAiVVYiOyBub3QgYSBkaWZmZXJlbnQgbGFtcCkgU3RvY2sKICAgICAgLyBTVE9DSyBmb2xkZXJzID0gcGhvdG9seXNpcyBjb250cm9scyAobm8gY2F0YWx5c3QpLiBQaGVub2wgY2F0YWx5c3QKICAgICAgZm9sZGVyIFpBLWMgPSBaQS03MC4gRmlsZSBuYW1lcyBlbmNvZGUgaXJyYWRpYXRpb24gdGltZSAoZS5nLiAwbWluLnhtbCwKICAgICAgMTBtaW4ueG1sKS4gWE1MIGNvbHVtbnMvYXR0cmlidXRlcyBhcmUgdGhlIHNhbWUgYXMgNV9VVl9WaXMgKFdMLCBBYnMsCiAgICAgIFRyYW4sIFRpbWUpLiBNb25pdG9yaW5nIHdhdmVsZW5ndGhzIHVzZWQgaW4gdGhlIHBhcGVyOiBNQiA2NjQgbm0sIFJoQiA1NTQKICAgICAgbm0sIHBoZW5vbCAyNzAgbm0uIE5vdGU6IEFuIHVudXNlZCBQaGVub2wvSFBMQyBpbnN0cnVtZW50IGV4cG9ydCBmb2xkZXIKICAgICAgZnJvbSB0aGUgbGFib3JhdG9yeSBjb21wdXRlciBpcyBOT1QgaW5jbHVkZWQgaW4gdGhpcyB2ZXJzaW9uIChpdCB3YXMgbm90CiAgICAgIGFuYWx5c2VkIGluIHRoZSBtYW51c2NyaXB0KS4gT25seSB0aGUgVVYtVmlzIGtpbmV0aWMgLnhtbCBmaWxlcyB1c2VkIGZvcgogICAgICByYXRlIGZpdHRpbmcgYXJlIGRlcG9zaXRlZC4gIyMjIDAyX2Rlcml2ZWRfdGFibGVzLyAoQ1NWKSAtLS0gVVRGLTggQ1NWCiAgICAgIHRhYmxlcyBmcm9tIHRoZSBhbmFseXNpcyBzY3JpcHRzLiBPcGVuIGluIExpYnJlT2ZmaWNlIENhbGMsIEV4Y2VsLCBvcgogICAgICBwYW5kYXMuIENvbHVtbiBuYW1lcyBhcmUgaW4gdGhlIGZpcnN0IHJvdyBvZiBlYWNoIGZpbGUuIFByaW5jaXBhbCBmaWxlczoKICAgICAgcmlldHZlbGRfcmVzdWx0cy5jc3YgUmlldHZlbGQgYSwgYywgc2l6ZXMsIHN0cmFpbiwgUndwLCBHT0YKICAgICAgcmlldHZlbGRfdnNfc3NwLmNzdiBSaWV0dmVsZCB2cyBzaXpl4oCTc3RyYWluLXBsb3Qgc2l6ZXMKICAgICAgcmlldHZlbGRfc2Vuc2l0aXZpdHkuY3N2IEluc3RydW1lbnRhbC1icm9hZGVuaW5nIHNlbnNpdGl2aXR5CiAgICAgIHV2dmlzX3JlYW5hbHlzaXMuY3N2IFNjYXR0ZXJpbmctY29ycmVjdGVkIEVnLCBVcmJhY2ggZW5lcmd5LCB1c2FiaWxpdHkKICAgICAgZnRpcl9iYW5kcy5jc3YgQmFuZCBwb3NpdGlvbnMgLyBhc3NpZ25tZW50cyBwbF9pbnZlbnRvcnkuY3N2IFBMIGZpbGVzIGFuZAogICAgICBleHBvc3VyZSB0aW1lcyBwbF9yZWFuYWx5c2lzLmNzdiBETEUgcGVhaywgSU5CRS9JRExFIHBsX2RlY29udm9sdXRpb24uY3N2CiAgICAgIE11bHRpLUdhdXNzaWFuIGRlY29udm9sdXRpb24gb24gZW5lcmd5IGF4aXMgcnVuX2ludmVudG9yeS5jc3YKICAgICAgUGhvdG9jYXRhbHl0aWMgcnVucyBhbmQgdGltZSBncmlkcyBzcGVjdHJhX2xvbmcuY3N2IExvbmctZm9ybWF0IEFicyB2cwogICAgICB3YXZlbGVuZ3RoIHZzIHRpbWUgKGxhcmdlKSBkYXJrX2Fkc29ycHRpb24uY3N2IERhcmsgYWRzb3JwdGlvbiBmcmFjdGlvbnMKICAgICAgdDBfYWJzb3JiYW5jZS5jc3YgQWJzb3JiYW5jZSBhdCB0ID0gMCBhdCB0aGUgbW9uaXRvcmluZyDOuwogICAgICBraW5ldGljc19yZWZpdC5jc3Yga19hcHAsIFNFLCA5NSUgQ0ksIM63X3JhdywgzrdfY29yciwgUsKyCiAgICAgIG1iX3N0cnVjdHVyZV9hY3Rpdml0eS5jc3YgTUIgcmF0ZXMgbGlua2VkIHRvIGNyeXN0YWxsaXRlIHNpemUgIyMjCiAgICAgIDAzX2FuYWx5c2lzX3NjcmlwdHMvIOKAlCBydW4gb3JkZXIgLS0tIFNjcmlwdHMgYXNzdW1lIHRoZSBvcmlnaW5hbCBwcm9qZWN0CiAgICAgIGxheW91dDogJmx0O3Byb2plY3QmZ3Q7L0V4cGVyaW1lbnRhbCBEYXRhLzEgWFJEIOKApiA3IFBob3RvY2F0YWx5c2lzCiAgICAgICZsdDtwcm9qZWN0Jmd0Oy9SZWFuYWx5c2lzLyoucHkgJmx0O3Byb2plY3QmZ3Q7L1JlYW5hbHlzaXMvb3V0cHV0LyBUbyB1c2UKICAgICAgdGhpcyBEcnlhZCBwYWNrYWdlIGxvY2FsbHksIGVpdGhlciAoYSkgcmVuYW1lIDAxX3Jhd19pbnN0cnVtZW50X2RhdGEg4oaSCiAgICAgIEV4cGVyaW1lbnRhbCBEYXRhIGFuZCByZXN0b3JlIHRoZSBvcmlnaW5hbCBmb2xkZXIgbmFtZXMgKDEgWFJELCAyIFNFTSwg4oCmKSwKICAgICAgb3IgKGIpIGVkaXQgdGhlIFNSQyBwYXRocyBhdCB0aGUgdG9wIG9mIGVhY2ggc2NyaXB0LiBSZWNvbW1lbmRlZCBvcmRlcgogICAgICAodGFibGVzIGZvciB0aGUgbWFudXNjcmlwdCk6IFN0ZXAgMSBwYXJzZV9waG90b2NhdGFseXNpcy5weSDihpIKICAgICAgc3BlY3RyYV9sb25nLmNzdiwgcnVuX2ludmVudG9yeS5jc3YgU3RlcCAyIGRpYWdub3N0aWNzLnB5IOKGkgogICAgICBkYXJrX2Fkc29ycHRpb24uY3N2LCB0MF9hYnNvcmJhbmNlLmNzdiBTdGVwIDMga2luZXRpY3MucHkg4oaSCiAgICAgIGtpbmV0aWNzX3JlZml0LmNzdiBTdGVwIDQgcmVmaW5lX2FsbC5weSAobmVlZHMgcmlldHZlbGQucHkgb24gdGhlIHBhdGgpIOKGkgogICAgICByaWV0dmVsZF9yZXN1bHRzLmNzdiBUaGVuIG9wdGlvbmFsbHk6IHNlbnNpdGl2aXR5LnB5IOKGkgogICAgICByaWV0dmVsZF9zZW5zaXRpdml0eS5jc3YgY29tcGFyZV94cmQucHkg4oaSIHJpZXR2ZWxkX3ZzX3NzcC5jc3YgU3RlcCA1CiAgICAgIHN0cnVjdHVyZV9hY3Rpdml0eS5weSDihpIgbWJfc3RydWN0dXJlX2FjdGl2aXR5LmNzdiAocmVxdWlyZXMKICAgICAga2luZXRpY3NfcmVmaXQuY3N2IGFuZCBjcnlzdGFsbGl0ZS1zaXplIGNvbHVtbnMpIFN0ZXAgNiB1dnZpcy5weSDihpIKICAgICAgdXZ2aXNfcmVhbmFseXNpcy5jc3YgU3RlcCA3IGZ0aXIucHkg4oaSIGZ0aXJfYmFuZHMuY3N2IFN0ZXAgOCBwbF9vdmVydmlldy5weQogICAgICB0aGVuIHBsX2FuYWx5c2lzLnB5IOKGkiBwbF9pbnZlbnRvcnkuY3N2LCBwbF9yZWFuYWx5c2lzLmNzdiwKICAgICAgcGxfZGVjb252b2x1dGlvbi5jc3YgU3RlcCA5IChvcHRpb25hbCBmaWd1cmVzKQogICAgICBnZW5lcmF0ZV9wdWJsaWNhdGlvbl9maWd1cmVzLnB5IG1ha2VfcmV2aWV3ZXJfZmlndXJlcy5weSBTdGVwcyAx4oCTMwogICAgICAocGhvdG9jYXRhbHlzaXMpLCA0IChYUkQpLCA2IChVVi1WaXMpLCA3IChGVElSKSBhbmQgOCAoUEwpIGFyZSBpbmRlcGVuZGVudAogICAgICBvZiBlYWNoIG90aGVyIGFuZCBtYXkgYmUgcnVuIGluIHBhcmFsbGVsLiBTdGVwIDUgZGVwZW5kcyBvbiBTdGVwcyAzIGFuZCA0LgogICAgICAjIyMgTWV0aG9kcyBub3RlcyAoYWxzbyBpbiB0aGUgbWFudXNjcmlwdCkgLS0tIOKAoiBTeW50aGVzaXM6IGFxdWVvdXMKICAgICAgY29wcmVjaXBpdGF0aW9uLCAwLjIgTSBabiBzYWx0LCAwLjUgTSBOYU9ILCBabjpPSCA9IDE6Mi41LCAxIGgsIHdhc2hlZCAzw5cKICAgICAgd2F0ZXIgKyAxw5cgZXRoYW5vbCwgZHJpZWQgODAgwrBDIC8gOCBoLiDigKIgUGhvdG9jYXRhbHlzaXM6IDQwMCBXIG1ldGFsCiAgICAgIGhhbGlkZSBsYW1wIChIUEktVCBQbHVzKSwgZ2xhc3MtY292ZXJlZCBQZXRyaSBkaXNoLCBsYW1wLXRvLXNhbXBsZQogICAgICBkaXN0YW5jZSAyMDMgbW0sIGZvaWwtbGluZWQgY2hhbWJlci4gUmVzaWR1YWwgVVYtQSBpcyBwcmVzZW50OyB0aGUgc291cmNlCiAgICAgIGlzIG5vdCBwdXJlIHZpc2libGUgbGlnaHQuIOKAoiBNZXRoeWxlbmUgYmx1ZTogMzEuMjcgwrVNLCA2MCBtZyAvIDYwIG1MICgxIGcKICAgICAgTOKBu8K5KS4g4oCiIFJob2RhbWluZSBCOiA1MCDCtU0sIDQwIG1nIC8gNDAgbUwuIOKAoiBQaGVub2w6IGNvbG91cmxlc3MgcHJvYmUgb24KICAgICAgWkEtNzA7IGNhdGFseXN0IG1hc3MgLyB2b2x1bWUgbm90IHJlY29yZGVkOyBBMCDiiYggMC4zMTYgYXQgMjcwIG5tLiDigKIgRm91cgogICAgICBhcy1zeW50aGVzaXNlZCBwb3dkZXJzIChaTi02MCwgWk4tNjUsIFpTLTYwLCBaUy02NSkgaGF2ZSBubyBraW5ldGljIHJ1bnMuCiAgICAgIOKAoiBLaW5ldGljIGNvbmZpZGVuY2UgaW50ZXJ2YWxzIGFyZSBzaW5nbGUtcnVuIHJlZ3Jlc3Npb24gaW50ZXJ2YWxzLCBub3QKICAgICAgcmVwbGljYXRlIFNEcy4gIyMjIFJlY29tbWVuZGVkIGNpdGF0aW9uIC0tLSBXaGVuIHVzaW5nIHRoZXNlIGRhdGEsIHdlCiAgICAgIGVuY291cmFnZSB5b3UgdG8gY2l0ZSB0aGUgcHVibGlzaGVkIGFydGljbGUgKG9uY2UgYXZhaWxhYmxlKSBhbmQgdGhpcwogICAgICBEcnlhZCBkYXRhc2V0LiBVbnRpbCB0aGUgYXJ0aWNsZSBpcyBwdWJsaXNoZWQsIGNpdGU6IEF6aXosIEFxc2E7IE1hbnpvb3IsCiAgICAgIFVtYWlyOyBBa3JhbSwgTXVoYW1tYWQgQWZ0YWIgZXQgYWwuIChGb3J0aGNvbWluZyAyMDI2KS4gWm5PIG5hbm9wYXJ0aWNsZXMKICAgICAgY29wcmVjaXBpdGF0ZWQgZnJvbSBhY2V0YXRlLCBuaXRyYXRlIGFuZCBzdWxmYXRlOiBzdHJ1Y3R1cmUsIGRlZmVjdHMgYW5kCiAgICAgIHBob3RvbHlzaXMtY29ycmVjdGVkIHBob3RvY2F0YWx5dGljIGFjdGl2aXR5IFtEYXRhc2V0XS4gRHJ5YWQuCiAgICAgIGh0dHBzOi8vZG9pLm9yZy8xMC41MDYxL2RyeWFkLjMxemNyamRyYiBMaWNlbnNlOiBEcnlhZCBkZXBvc2l0cyBhcmUKICAgICAgcHVibGlzaGVkIHVuZGVyIENDMC4gIyMjIEZpbGUgaW52ZW50b3J5IC0tLSBGSUxFX0lOVkVOVE9SWS5jc3YgbGlzdHMgZXZlcnkKICAgICAgZmlsZSBpbnNpZGUgdGhlIHVuemlwcGVkIHBhY2thZ2UgKHJlbGF0aXZlIHBhdGgsIHNpemUsIGV4dGVuc2lvbikuIEl0IGlzCiAgICAgIHJlZ2VuZXJhdGVkIHdoZW4gdGhlIHBhY2thZ2UgaXMgYnVpbHQuICMjIEZpbGVzIGRlcG9zaXRlZCB3aXRoIHRoaXMKICAgICAgdmVyc2lvbiBUaGUgZm9sbG93aW5nIHRvcC1sZXZlbCBpdGVtcyBhcmUgcGFydCBvZiB0aGlzIERyeWFkIHN1Ym1pc3Npb246CiAgICAgIEZJTEVfSU5WRU5UT1JZLmNzdiAwMV9yYXdfaW5zdHJ1bWVudF9kYXRhLyAocmF3IGluc3RydW1lbnQgZXhwb3J0czsgc2VlCiAgICAgIFNlY3Rpb24gMikgMDJfZGVyaXZlZF90YWJsZXMvIChDU1YgYW5hbHlzaXMgdGFibGVzOyBzZWUgU2VjdGlvbiAzKQogICAgICAwM19hbmFseXNpc19zY3JpcHRzLyAoUHl0aG9uIHNjcmlwdHM7IHNlZSBTZWN0aW9uIDQpCiAgICAgIERyeWFkX2RlcG9zaXRfQXppel9abk8uemlwIChvcHRpb25hbCBjb252ZW5pZW5jZSBhcmNoaXZlIG9mIHRoZSBmaXZlIGl0ZW1zCiAgICAgIGFib3ZlKSBEcnlhZF9kZXBvc2l0X0F6aXpfWm5PLnppcCBpcyBhIGNvbXByZXNzZWQgY29weSBvZiB0aGlzIGVudGlyZQogICAgICBwYWNrYWdlIGZvciBkb3dubG9hZCBjb252ZW5pZW5jZS4gRXh0cmFjdGluZyB0aGUgemlwIHJlcHJvZHVjZXMKICAgICAgMDBfUkVBRE1FLnR4dCwgRklMRV9JTlZFTlRPUlkuY3N2LCAwMV9yYXdfaW5zdHJ1bWVudF9kYXRhLywKICAgICAgMDJfZGVyaXZlZF90YWJsZXMvIGFuZCAwM19hbmFseXNpc19zY3JpcHRzLy4gUHJlZmVyIHdvcmtpbmcgd2l0aCB0aGUKICAgICAgZXh0cmFjdGVkIGluZGl2aWR1YWwgZmlsZXMuCiAgICA8L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPg==","url":"https://datadryad.org/dataset/doi:10.5061/dryad.31zcrjdrb","contentUrl":null,"metadataVersion":7,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"mds","isActive":true,"state":"findable","reason":null,"viewCount":158,"viewsOverTime":[{"yearMonth":"2023-05","total":6},{"yearMonth":"2023-08","total":26},{"yearMonth":"2023-09","total":38},{"yearMonth":"2023-11","total":5},{"yearMonth":"2023-12","total":10},{"yearMonth":"2024-04","total":1},{"yearMonth":"2024-05","total":1},{"yearMonth":"2024-08","total":2},{"yearMonth":"2024-11","total":5},{"yearMonth":"2025-01","total":1},{"yearMonth":"2025-03","total":1},{"yearMonth":"2025-06","total":2},{"yearMonth":"2025-07","total":2},{"yearMonth":"2025-09","total":2},{"yearMonth":"2025-10","total":3},{"yearMonth":"2026-02","total":1},{"yearMonth":"2026-04","total":4},{"yearMonth":"2026-05","total":1},{"yearMonth":"2026-06","total":6},{"yearMonth":"2026-07","total":4},{"yearMonth":"2026-08","total":3},{"yearMonth":"2026-09","total":34}],"downloadCount":21,"downloadsOverTime":[{"yearMonth":"2024-04","total":0},{"yearMonth":"2024-05","total":1},{"yearMonth":"2024-08","total":0},{"yearMonth":"2024-11","total":2},{"yearMonth":"2025-01","total":1},{"yearMonth":"2025-03","total":1},{"yearMonth":"2025-06","total":1},{"yearMonth":"2025-07","total":1},{"yearMonth":"2025-09","total":0},{"yearMonth":"2025-10","total":1},{"yearMonth":"2026-02","total":0},{"yearMonth":"2026-04","total":2},{"yearMonth":"2026-05","total":0},{"yearMonth":"2026-06","total":0},{"yearMonth":"2026-07","total":4},{"yearMonth":"2026-08","total":0},{"yearMonth":"2026-09","total":7}],"referenceCount":0,"citationCount":0,"citationsOverTime":[],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":0,"created":"2023-05-23T17:28:34.000Z","registered":"2023-05-23T17:28:35.000Z","published":"2026","updated":"2026-09-03T22:37:20.000Z"},"relationships":{"client":{"data":{"id":"dryad.dryad","type":"clients"}},"provider":{"data":{"id":"dryad","type":"providers"}},"media":{"data":{"id":"10.5061/dryad.31zcrjdrb","type":"media"}},"references":{"data":[]},"citations":{"data":[]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[]}}}}