{"data":{"id":"10.5061/dryad.ns1rn8q7c","type":"dois","attributes":{"doi":"10.5061/dryad.ns1rn8q7c","prefix":"10.5061","suffix":"dryad.ns1rn8q7c","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Morgenstein, Lion","nameType":"Personal","affiliation":["Bar-Ilan University"],"nameIdentifiers":[]},{"name":"Huang-Zhu, Carlos","nameType":"Personal","affiliation":["University of Wisconsin–Madison"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0002-4467-6462","nameIdentifierScheme":"ORCID"}]},{"name":"Yudovich, Shimon","nameType":"Personal","affiliation":["University of California, Berkeley"],"nameIdentifiers":[]},{"name":"Grupi, Asaf","nameType":"Personal","affiliation":["Bar-Ilan University"],"nameIdentifiers":[]},{"name":"Van Lehn, Reid","nameType":"Personal","affiliation":["University of Wisconsin–Madison"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0003-4885-6599","nameIdentifierScheme":"ORCID"}]},{"name":"Weiss, Shimon","nameType":"Personal","affiliation":["University of California, Los Angeles","Bar-Ilan University"],"nameIdentifiers":[]}],"titles":[{"title":"Simulation data and scripts from: Tunable electrostatic interactions of lipid-coated quantum dots with biological membranes"}],"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":"FOS: Medical biotechnology","schemeUri":"https://web-archive.oecd.org/2012-06-15/138575-38235147.pdf","subjectScheme":"fos"},{"subject":"FOS: Other engineering and technologies","schemeUri":"https://web-archive.oecd.org/2012-06-15/138575-38235147.pdf","subjectScheme":"fos"},{"subject":"Quantum dots","schemeUri":"https://github.com/PLOS/plos-thesaurus","subjectScheme":"PLOS Subject Area Thesaurus"},{"subject":"lipid membranes"},{"subject":"membrane adsorption"},{"subject":"Molecular dynamics","schemeUri":"https://github.com/PLOS/plos-thesaurus","subjectScheme":"PLOS Subject Area Thesaurus"},{"subject":"FACS"}],"contributors":[],"dates":[{"date":"2026-05-07T14:09:39Z","dateType":"Created"},{"date":"2026-08-22T00:05:37Z","dateType":"Submitted"},{"date":"2026-09-02T00:00:00Z","dateType":"Issued"},{"date":"2026-09-02T00:00:00Z","dateType":"Available"}],"language":"en","types":{"ris":"DATA","bibtex":"misc","citeproc":"dataset","schemaOrg":"Dataset","resourceType":"dataset","resourceTypeGeneral":"Dataset"},"relatedIdentifiers":[{"relationType":"IsCitedBy","relatedIdentifier":"10.64898/2026.05.21.726631","relatedIdentifierType":"DOI"},{"relationType":"IsCitedBy","relatedIdentifier":"10.1021/acs.langmuir.6c03172","relatedIdentifierType":"DOI"}],"relatedItems":[],"sizes":["72852217060 bytes"],"formats":[],"version":"7","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":"Surface functionalization of inorganic quantum dot nanoparticles is of\n great interest in the application of these materials toward a wide range\n of biological applications where membrane interactions are critical. The\n use of amphiphilic lipids to functionalize the surfaces of quantum dots\n represents a promising alternative to produce water-soluble and\n membrane-active materials with facile tuning of the quantum dot's\n surface properties. Here, we demonstrate an experimental approach that\n yields lipid-coated quantum dots with highly tunable surface charge by\n controlling the concentration of cationic lipids during preparation.\n Through fluorescence-activated cell sorting assays, we show that these\n cationic lipid-coated quantum dots can enhance membrane interactions and\n increase membrane labeling density in live HEK293 cells. We further\n employed coarse-grained molecular dynamics simulations to model the lipid\n self-assembly process using an implicit solvent force field and\n subsequently model the adsorption of lipid-coated quantum dots to model\n membranes. Our simulations show that we can control the effective surface\n charge of lipid-coated quantum dots and influence the strength of\n adsorption to oppositely charged lipid membranes, a process that is\n mediated by the release of counterions at the quantum dot-membrane\n interface. This work supports the future development of biocompatible and\n water-soluble inorganic nanoparticles with highly tunable surfaces, and\n provides mechanistic insight into how different lipids can influence\n nanoparticle-membrane interactions at a molecular scale.\n         ","descriptionType":"Abstract"},{"description":"# Simulation data and scripts from: Tunable electrostatic interactions of\n lipid-coated quantum dots with biological membranes Dataset DOI:\n [10.5061/dryad.ns1rn8q7c](https://doi.org/10.5061/dryad.ns1rn8q7c) ##\n Description of the data and file structure This document includes\n processed data for the main simulation results in the paper \"Tunable\n electrostatic interactions of lipid-coated quantum dots with biological\n membranes\" as well as the input files and scripts required to\n reproduce the computational workflow and analyses. ### Files and variables\n #### File: lcQD.tar.gz **Description:** Contains data and scripts to\n reproduce figures from the main text. Contains files and scripts necessary\n to reproduce computational methods. Also contains data and files to for\n experimental data. ## Code/software ``` # # File structure: # lcQD/ # |__\n lcQD525\\ FACS/ : FACS Data for lcQD 525 # | |__ 180419_lcqd525\\ 1.csv :\n FACS analysis of lcQD 525 chi_dotap=20% # | |__ 180419_lcqd525\\ 2.csv :\n FACS analysis of lcQD 525 chi_dotap=30% # | |__ 180419_lcqd525\\ 3.csv :\n FACS analysis of lcQD 525 chi_dotap=40% # | |__ 180419_lcqd525\\ 4.csv :\n FACS analysis of lcQD 525 chi_dotap=50% # | |__ 180419_NO\\ QD\\ 5.csv :\n FACS analysis of unstained cell # |__ lcQD600\\ FACS/ : FACS Data for lcQD\n 600 # | |__ 25-12-18_lcqd600\\ 1.csv : FACS analysis of lcQD 600\n chi_dotap=10% # | |__ 25-12-18_lcqd600\\ 2.csv : FACS analysis of lcQD 600\n chi_dotap=30% # | |__ 25-12-18_lcqd600\\ 3.csv : FACS analysis of lcQD 600\n chi_dotap=40% # | |__ 25-12-18_lcqd600\\ 4.csv : FACS analysis of lcQD 600\n chi_dotap=50% # | |__ 25-12-18_NO\\ QD\\ 5.csv : FACS analysis of unstained\n cell # |__ FACS_VIS_chargeQD_525.m matlab script for visualization of FACS\n experiments for the 525nm QDs # |__ FACS_VIS_chargeQD.m matlab script for\n visualization of FACS experiments for the 600nm QDs # |__\n analysis_scripts/ : contains PY and SH scripts to analyze and plot data #\n | |__ dry_selfAssembly_plot_ChiSurface-vs-ChiOverall.py : python script to\n plot Chi surface as a function of Chi overall # | |__\n dry_selfAssembly_plot_ChiSurface-vs-TotalLipids.py : python script to plot\n Chi surface as a function of total number of lipids # | |__\n dry_selfAssembly_plot_sasa.py : python script to plot SASA as a function\n of total number of lipids # | |__\n wet_unbiased_adsorption_short_analyze_numberDensities.py : python script\n to calculate number densities # | |__\n wet_unbiased_adsorption_short_analyze_localDensities-stateProbabilities.py\n : python script to calculate number of species and state probabilities # |\n |__ wet_unbiased_adsorption_short_plot_numberDensities.py : python script\n to plot number densities 2D histogram # | |__\n wet_unbiased_adsorption_short_plot_stateProbabilities.py : python script\n to plot state probabilities # | |__\n wet_unbiased_adsorption_short_plot_localDensities.py : python script to\n plot number of species as a function of simulation time # |__ QD_CSZS_2nm/\n : directory for data corresponding to the 2 nm diameter QD - also applies\n to QD_CSZS_5nm (dry_self_assembly only) # |__ dry_self_assembly/ :\n directory for self-assembly simulations in implicit solvent # | |__ \u0026lt;#\n total lipids\u0026gt;_\u0026lt;# DLPC\u0026gt;DLPC_\u0026lt;# DOTAP\u0026gt;DOTAP/ : directory for\n specific lipid mixture # | |__ rep_/ : directory\n for replicate # | |__ input_files/ : directory for input files # | | |__\n analyze_lcQDExtraction.py : python script that extracts lipid-coated\n quantum dot # | |__ equil/ : directory for NVT simulation # | |__\n data_extraction.csv : data corresponding to lipid coating for extracted\n lcQD # | |__ index_extraction.ndx : index file with groups corresponding\n to extracted lcQD # | |__ index_sasa.ndx : index file with groups used in\n computing SASA # | |__ nvt.tpr : TPR file to run simulation # | |__\n nvt_centered.gro : final structure file # | |__ nvt_centered.xtc : final\n trajectory with QD centered in the simulation box # | |__ sasa_atom_QD.xvg\n : SASA computed for the QD (per atom) # | |__\n sasa_atom_QDLIPIDS-LIGANDS.xvg : SASA computed for the QD-LIPIDS and\n LIGANDS (per atom) # | |__ sasa_total_QD.xvg : SASA computed for the QD\n (total) # | |__ sasa_total_QDLIPIDS-LIGANDS.xvg : SASA computed for the\n QD-LIPIDS and LIGANDS (total) # |__ wet_unbiased_adsorption_short/ :\n directory for QD-Membrane adsorption simulations in explicit solvent # |__\n \u0026lt;# total lipids\u0026gt;_\u0026lt;# DLPC\u0026gt;DLPC_\u0026lt;# DOTAP\u0026gt;DOTAP/ :\n directory for specific lipid mixture # |__ rep_/ : directory of the replicate selected for the lcQD #\n |__ 80DOPC_20DOPG/ : directory for the biomembrane composition # |__\n pickle_data_localDensities.p : saved data for the number of species at the\n lcQD-membrane interface # |__ pickle_data_stateProbabilities.p : saved\n data for the probabilities of each state # |__\n rep_/ : directory for replicate # |__ input_files/\n : directory for input files # | |__ index.ndx : index file with groups\n used in calculating minimum distance # |__ prod/ : directory for\n production simulations # |__ analysis_mindist/ : directory for minimum\n distance calculation # | |__ LC-MEMB.xvg : data corresponding to minimum\n distance between lipid coating and membrane # |__\n pickle_data_numberDensities.p : saved data for the number density 2D\n histograms # |__ prod.tpr : TPR file to run simulation # |__\n prod_centered_translated.gro : final structure file # |__\n prod_centered_translated.xtc : final trajectory with QD centered in the\n simulation box # |__ prod_centered_translated_dry-ion.gro : final\n structure file without water # |__ prod_centered_translated_dry-ion.xtc :\n final trajectory with QD centered in the simulation box without water #\n ########################################## ### LIPID SELF-ASSEMBLY ON\n QUANTUM DOT ### ### IN IMPLICIT SOLVENT ###\n ########################################## # Move into working directory\n -- replace NP, SYSTEM, REP accordingly NP=\"QD_CSZS_5nm\"\n SYSTEM=\"500_250DLPC_250DOTAP\" REP=\"rep_0\" cd\n ${NP}/dry_self_assembly/${SYSTEM}/${REP}/equil/ # Run simulation gmx mdrun\n -v -deffnm nvt gmx trjconv -f nvt.gro -s nvt.tpr -pbc mol -center -o\n nvt_centered.gro \u0026lt;\u0026lt;\u0026lt; $'QD\\nSystem' gmx trjconv -f\n nvt.xtc -s nvt.tpr -pbc mol -center -o nvt_centered.xtc \u0026lt;\u0026lt;\u0026lt;\n $'QD\\nSystem' # Extract lcQD cd ../ python\n input_files/analyze_lcQDExtraction.py gmx trjconv -f nvt_centered.gro -s\n nvt.tpr -n index_extraction.ndx -o lcQD.gro # Generate index file for\n analyses gmx make_ndx -f nvt_centered.gro -o index_sasa.ndx \u0026lt;\u0026lt;\n INPUTS del 1-10 r QD name 1 QD r QD \u0026amp; a C5 | r DLPC DOTAP name 2\n DLPC_DOTAP_C5 r QD DLPC DOTAP name 3 QD_DLPC_DOTAP r QD \u0026amp; a C5 name 4\n C5 r QD \u0026amp; a S1 C2 C3 C4 C5 name 5 LIGANDS r DLPC DOTAP name 6\n DLPC_DOTAP q INPUTS # Analyze SASA gmx sasa -f nvt_centered.xtc -s nvt.tpr\n -n index_sasa.ndx -surface QD -probe 0.26 -ndots 4800 -oa sasa_atom_QD.xvg\n -o sasa_total_QD.xvg gmx sasa -f nvt_centered.xtc -s nvt.tpr -n\n index_sasa.ndx -surface QD_DLPC_DOTAP -output LIGANDS -probe 0.26 -ndots\n 4800 -oa sasa_atom_QDLIPIDS-LIGANDS.xvg -o sasa_total_QDLIPIDS-LIGANDS.xvg\n ########################################## ### LCQD ADSORPTION ON\n BIOMEMBRANE ### ### IN EXPLICIT SOLVENT ###\n ########################################## # Move into working directory\n -- replace NP, LC_SYSTEM, LC_REP, SYSTEM, REP accordingly\n NP=\"QD_CSZS_2nm\" LC_SYSTEM=\"500_250DLPC_250DOTAP\"\n LC_REP=\"rep_1\" SYSTEM=\"80DOPC_20DOPG\"\n REP=\"rep_0\" cd\n ${NP}/wet_unbiased_adsorption_short/${LC_SYSTEM}/${LC_REP}/${SYSTEM}/${REP}/prod/ # Run simulation gmx mdrun -v -deffnm prod gmx trjconv -f prod.gro -s prod.tpr -pbc mol -center -o prod_centered.gro \u0026lt;\u0026lt;\u0026lt; $'QD\\nSystem' gmx trjconv -f prod.xtc -s prod.tpr -pbc mol -center -o prod_centered.xtc \u0026lt;\u0026lt;\u0026lt; $'QD\\nSystem' # Translate system along z-axis if membrane crosses pbc # these output files should be named \"prod_centered_translated.gro\" and \"prod_centered_translated.xtc\" # Compute mindist cd ../ mkdir prod/analysis_mindist/ gmx mindist -f prod/prod_centered_translated.xtc -s prod/prod.tpr -n input_files/index.ndx -od prod/analysis_mindist/LC-MEMB.xvg # Data analysis and plotting (from lcQD/ directory) cd analysis_scripts/ python3 dry_selfAssembly_plot_ChiSurface-vs-ChiOverall.py ../ ./ QD_CSZS_2nm 500_450DLPC_50DOTAP 500_350DLPC_150DOTAP 500_250DLPC_250DOTAP 500_150DLPC_350DOTAP 500_50DLPC_450DOTAP python3 dry_selfAssembly_plot_ChiSurface-vs-TotalLipids.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP 1000_500DLPC_500DOTAP 1500_750DLPC_750DOTAP python3 dry_selfAssembly_plot_sasa.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP 1000_500DLPC_500DOTAP 1500_750DLPC_750DOTAP # Analyze densities # Uses prod_centered_translated_dry-ion.gro and prod_centered_translated_dry-ion.xtc for computational efficiency # 2 nm {'500_450DLPC_50DOTAP' : 'rep_0', '500_250DLPC_250DOTAP' : 'rep_1', '500_50DLPC_450DOTAP' : 'rep_3'} python3 wet_unbiased_adsorption_short_analyze_numberDensities.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP rep_1 80DOPC_20DOPG rep_0 python3 wet_unbiased_adsorption_short_analyze_localDensities-stateProbabilities.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP rep_1 80DOPC_20DOPG rep_0 rep_1 rep_2 rep_3 rep_4 rep_5 rep_6 rep_7 rep_8 rep_9 rep_10 rep_11 rep_12 rep_13 rep_14 rep_15 # Plot data python3 wet_unbiased_adsorption_short_plot_numberDensities.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP rep_1 80DOPC_20DOPG rep_0 python3 wet_unbiased_adsorption_short_plot_stateProbabilities.py ../ ./ QD_CSZS_2nm 80DOPC_20DOPG 500_450DLPC_50DOTAP/rep_0 500_250DLPC_250DOTAP/rep_1 500_50DLPC_450DOTAP/rep_3 python3 wet_unbiased_adsorption_short_plot_localDensities.py ../ ./ QD_CSZS_2nm 80DOPC_20DOPG 500_450DLPC_50DOTAP/rep_0 500_250DLPC_250DOTAP/rep_1 500_50DLPC_450DOTAP/rep_3 ```","descriptionType":"TechnicalInfo"}],"geoLocations":[],"fundingReferences":[{"funderName":"European Research Council","awardNumber":"669941","funderIdentifier":"https://ror.org/0472cxd90","funderIdentifierType":"ROR"},{"funderName":"European Research Council","awardNumber":"779896","funderIdentifier":"https://ror.org/0472cxd90","funderIdentifierType":"ROR"},{"funderName":"Office of Science","awardNumber":"DE-SC0020338","funderIdentifier":"https://ror.org/00mmn6b08","funderIdentifierType":"ROR"},{"funderName":"U.S. National Science Foundation","awardNumber":"DMR-1548924","funderIdentifier":"https://ror.org/021nxhr62","funderIdentifierType":"ROR"},{"funderName":"Israel Science Foundation","awardNumber":"813/19","funderIdentifier":"https://ror.org/04sazxf24","funderIdentifierType":"ROR"},{"funderName":"Bar-Ilan Research and Development Co"},{"funderName":"Israel Innovation Authority","awardNumber":"63392","funderIdentifier":"https://ror.org/013kba371","funderIdentifierType":"ROR"},{"funderName":"University of Wisconsin–Madison","funderIdentifier":"https://ror.org/01y2jtd41","funderIdentifierType":"ROR"},{"funderName":"National Institute of General Medical Sciences","awardNumber":"T32GM152341","funderIdentifier":"https://ror.org/04q48ey07","funderIdentifierType":"ROR"},{"awardTitle":"Graduate Research Fellowship","funderName":"U.S. National Science Foundation","funderIdentifier":"https://ror.org/021nxhr62","funderIdentifierType":"ROR"},{"awardTitle":"DMR-2044997","funderName":"U.S. National Science Foundation","funderIdentifier":"https://ror.org/021nxhr62","funderIdentifierType":"ROR"}],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC5OUzFSTjhRN0M8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPk1vcmdlbnN0ZWluLCBMaW9uPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAza2dzdjQ5NSIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5CYXItSWxhbiBVbml2ZXJzaXR5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5IdWFuZy1aaHUsIENhcmxvczwvY3JlYXRvck5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iPjAwMDAtMDAwMi00NDY3LTY0NjI8L25hbWVJZGVudGlmaWVyPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDF5Mmp0ZDQxIiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPlVuaXZlcnNpdHkgb2YgV2lzY29uc2lu4oCTTWFkaXNvbjwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+WXVkb3ZpY2gsIFNoaW1vbjwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMWFuN3EyMzgiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+VW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLCBCZXJrZWxleTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+R3J1cGksIEFzYWY8L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDNrZ3N2NDk1IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkJhci1JbGFuIFVuaXZlcnNpdHk8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPlZhbiBMZWhuLCBSZWlkPC9jcmVhdG9yTmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCIgc2NoZW1lVVJJPSJodHRwOi8vb3JjaWQub3JnLyI+MDAwMC0wMDAzLTQ4ODUtNjU5OTwvbmFtZUlkZW50aWZpZXI+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMXkyanRkNDEiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+VW5pdmVyc2l0eSBvZiBXaXNjb25zaW7igJNNYWRpc29uPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5XZWlzcywgU2hpbW9uPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzA0NnJtN2o2MCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5Vbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEsIExvcyBBbmdlbGVzPC9hZmZpbGlhdGlvbj4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAza2dzdjQ5NSIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5CYXItSWxhbiBVbml2ZXJzaXR5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+CiAgICAgIFNpbXVsYXRpb24gZGF0YSBhbmQgc2NyaXB0cyBmcm9tOiBUdW5hYmxlIGVsZWN0cm9zdGF0aWMgaW50ZXJhY3Rpb25zIG9mCiAgICAgIGxpcGlkLWNvYXRlZCBxdWFudHVtIGRvdHMgd2l0aCBiaW9sb2dpY2FsIG1lbWJyYW5lcwogICAgPC90aXRsZT4KICA8L3RpdGxlcz4KICA8cHVibGlzaGVyIHB1Ymxpc2hlcklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMHg2aDVuOTUiIHB1Ymxpc2hlcklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmcvIj5EcnlhZDwvcHVibGlzaGVyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+ZGF0YXNldDwvcmVzb3VyY2VUeXBlPgogIDxwdWJsaWNhdGlvblllYXI+MjAyNjwvcHVibGljYXRpb25ZZWFyPgogIDxzdWJqZWN0cz4KICAgIDxzdWJqZWN0IHN1YmplY3RTY2hlbWU9ImZvcyIgc2NoZW1lVVJJPSJodHRwczovL3dlYi1hcmNoaXZlLm9lY2Qub3JnLzIwMTItMDYtMTUvMTM4NTc1LTM4MjM1MTQ3LnBkZiI+Rk9TOiBOYW5vLXRlY2hub2xvZ3k8L3N1YmplY3Q+CiAgICA8c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJmb3MiIHNjaGVtZVVSST0iaHR0cHM6Ly93ZWItYXJjaGl2ZS5vZWNkLm9yZy8yMDEyLTA2LTE1LzEzODU3NS0zODIzNTE0Ny5wZGYiPkZPUzogTWVkaWNhbCBiaW90ZWNobm9sb2d5PC9zdWJqZWN0PgogICAgPHN1YmplY3Qgc3ViamVjdFNjaGVtZT0iZm9zIiBzY2hlbWVVUkk9Imh0dHBzOi8vd2ViLWFyY2hpdmUub2VjZC5vcmcvMjAxMi0wNi0xNS8xMzg1NzUtMzgyMzUxNDcucGRmIj5GT1M6IE90aGVyIGVuZ2luZWVyaW5nIGFuZCB0ZWNobm9sb2dpZXM8L3N1YmplY3Q+CiAgICA8c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJQTE9TIFN1YmplY3QgQXJlYSBUaGVzYXVydXMiIHNjaGVtZVVSST0iaHR0cHM6Ly9naXRodWIuY29tL1BMT1MvcGxvcy10aGVzYXVydXMiPlF1YW50dW0gZG90czwvc3ViamVjdD4KICAgIDxzdWJqZWN0PmxpcGlkIG1lbWJyYW5lczwvc3ViamVjdD4KICAgIDxzdWJqZWN0Pm1lbWJyYW5lIGFkc29ycHRpb248L3N1YmplY3Q+CiAgICA8c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJQTE9TIFN1YmplY3QgQXJlYSBUaGVzYXVydXMiIHNjaGVtZVVSST0iaHR0cHM6Ly9naXRodWIuY29tL1BMT1MvcGxvcy10aGVzYXVydXMiPk1vbGVjdWxhciBkeW5hbWljczwvc3ViamVjdD4KICAgIDxzdWJqZWN0PkZBQ1M8L3N1YmplY3Q+CiAgPC9zdWJqZWN0cz4KICA8ZnVuZGluZ1JlZmVyZW5jZXM+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+RXVyb3BlYW4gUmVzZWFyY2ggQ291bmNpbDwvZnVuZGVyTmFtZT4KICAgICAgPGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IlJPUiI+aHR0cHM6Ly9yb3Iub3JnLzA0NzJjeGQ5MDwvZnVuZGVySWRlbnRpZmllcj4KICAgICAgPGF3YXJkTnVtYmVyPjY2OTk0MTwvYXdhcmROdW1iZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5FdXJvcGVhbiBSZXNlYXJjaCBDb3VuY2lsPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDQ3MmN4ZDkwPC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+Nzc5ODk2PC9hd2FyZE51bWJlcj4KICAgICAgPGF3YXJkVGl0bGUvPgogICAgPC9mdW5kaW5nUmVmZXJlbmNlPgogICAgPGZ1bmRpbmdSZWZlcmVuY2U+CiAgICAgIDxmdW5kZXJOYW1lPk9mZmljZSBvZiBTY2llbmNlPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDBtbW42YjA4PC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+REUtU0MwMDIwMzM4PC9hd2FyZE51bWJlcj4KICAgICAgPGF3YXJkVGl0bGUvPgogICAgPC9mdW5kaW5nUmVmZXJlbmNlPgogICAgPGZ1bmRpbmdSZWZlcmVuY2U+CiAgICAgIDxmdW5kZXJOYW1lPlUuUy4gTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDIxbnhocjYyPC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+RE1SLTE1NDg5MjQ8L2F3YXJkTnVtYmVyPgogICAgICA8YXdhcmRUaXRsZS8+CiAgICA8L2Z1bmRpbmdSZWZlcmVuY2U+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+SXNyYWVsIFNjaWVuY2UgRm91bmRhdGlvbjwvZnVuZGVyTmFtZT4KICAgICAgPGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IlJPUiI+aHR0cHM6Ly9yb3Iub3JnLzA0c2F6eGYyNDwvZnVuZGVySWRlbnRpZmllcj4KICAgICAgPGF3YXJkTnVtYmVyPjgxMy8xOTwvYXdhcmROdW1iZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5CYXItSWxhbiBSZXNlYXJjaCBhbmQgRGV2ZWxvcG1lbnQgQ288L2Z1bmRlck5hbWU+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5Jc3JhZWwgSW5ub3ZhdGlvbiBBdXRob3JpdHk8L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wMTNrYmEzNzE8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZE51bWJlcj42MzM5MjwvYXdhcmROdW1iZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5Vbml2ZXJzaXR5IG9mIFdpc2NvbnNpbuKAk01hZGlzb248L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wMXkyanRkNDE8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5OYXRpb25hbCBJbnN0aXR1dGUgb2YgR2VuZXJhbCBNZWRpY2FsIFNjaWVuY2VzPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDRxNDhleTA3PC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+VDMyR00xNTIzNDE8L2F3YXJkTnVtYmVyPgogICAgICA8YXdhcmRUaXRsZS8+CiAgICA8L2Z1bmRpbmdSZWZlcmVuY2U+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+VS5TLiBOYXRpb25hbCBTY2llbmNlIEZvdW5kYXRpb248L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wMjFueGhyNjI8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZFRpdGxlPkdyYWR1YXRlIFJlc2VhcmNoIEZlbGxvd3NoaXA8L2F3YXJkVGl0bGU+CiAgICA8L2Z1bmRpbmdSZWZlcmVuY2U+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+VS5TLiBOYXRpb25hbCBTY2llbmNlIEZvdW5kYXRpb248L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wMjFueGhyNjI8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZFRpdGxlPkRNUi0yMDQ0OTk3PC9hd2FyZFRpdGxlPgogICAgPC9mdW5kaW5nUmVmZXJlbmNlPgogIDwvZnVuZGluZ1JlZmVyZW5jZXM+CiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9IkNyZWF0ZWQiPjIwMjYtMDUtMDdUMTQ6MDk6MzlaPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9IlN1Ym1pdHRlZCI+MjAyNi0wOC0yMlQwMDowNTozN1o8L2RhdGU+CiAgICA8ZGF0ZSBkYXRlVHlwZT0iSXNzdWVkIj4yMDI2LTA5LTAyVDAwOjAwOjAwWjwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJBdmFpbGFibGUiPjIwMjYtMDktMDJUMDA6MDA6MDBaPC9kYXRlPgogIDwvZGF0ZXM+CiAgPGxhbmd1YWdlPmVuPC9sYW5ndWFnZT4KICA8cmVsYXRlZElkZW50aWZpZXJzPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0aW9uVHlwZT0iSXNDaXRlZEJ5IiByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSI+aHR0cHM6Ly9kb2kub3JnLzEwLjY0ODk4LzIwMjYuMDUuMjEuNzI2NjMxPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9IklzQ2l0ZWRCeSIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiPmh0dHBzOi8vZG9pLm9yZy8xMC4xMDIxL2Fjcy5sYW5nbXVpci42YzAzMTcyPC9yZWxhdGVkSWRlbnRpZmllcj4KICA8L3JlbGF0ZWRJZGVudGlmaWVycz4KICA8c2l6ZXM+CiAgICA8c2l6ZT43Mjg1MjIxNzA2MCBieXRlczwvc2l6ZT4KICA8L3NpemVzPgogIDx2ZXJzaW9uPjc8L3ZlcnNpb24+CiAgPHJpZ2h0c0xpc3Q+CiAgICA8cmlnaHRzIHJpZ2h0c1VSST0iaHR0cHM6Ly9zcGR4Lm9yZy9saWNlbnNlcy9DQzAtMS4wLmh0bWwiPkNyZWF0aXZlIENvbW1vbnMgWmVybyB2MS4wIFVuaXZlcnNhbDwvcmlnaHRzPgogIDwvcmlnaHRzTGlzdD4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPgogICAgICBTdXJmYWNlIGZ1bmN0aW9uYWxpemF0aW9uIG9mIGlub3JnYW5pYyBxdWFudHVtIGRvdCBuYW5vcGFydGljbGVzIGlzIG9mCiAgICAgIGdyZWF0IGludGVyZXN0IGluIHRoZSBhcHBsaWNhdGlvbiBvZiB0aGVzZSBtYXRlcmlhbHMgdG93YXJkIGEgd2lkZSByYW5nZQogICAgICBvZiBiaW9sb2dpY2FsIGFwcGxpY2F0aW9ucyB3aGVyZSBtZW1icmFuZSBpbnRlcmFjdGlvbnMgYXJlIGNyaXRpY2FsLiBUaGUKICAgICAgdXNlIG9mIGFtcGhpcGhpbGljIGxpcGlkcyB0byBmdW5jdGlvbmFsaXplIHRoZSBzdXJmYWNlcyBvZiBxdWFudHVtIGRvdHMKICAgICAgcmVwcmVzZW50cyBhIHByb21pc2luZyBhbHRlcm5hdGl2ZSB0byBwcm9kdWNlIHdhdGVyLXNvbHVibGUgYW5kCiAgICAgIG1lbWJyYW5lLWFjdGl2ZSBtYXRlcmlhbHMgd2l0aCBmYWNpbGUgdHVuaW5nIG9mIHRoZSBxdWFudHVtIGRvdCdzCiAgICAgIHN1cmZhY2UgcHJvcGVydGllcy4gSGVyZSwgd2UgZGVtb25zdHJhdGUgYW4gZXhwZXJpbWVudGFsIGFwcHJvYWNoIHRoYXQKICAgICAgeWllbGRzIGxpcGlkLWNvYXRlZCBxdWFudHVtIGRvdHMgd2l0aCBoaWdobHkgdHVuYWJsZSBzdXJmYWNlIGNoYXJnZSBieQogICAgICBjb250cm9sbGluZyB0aGUgY29uY2VudHJhdGlvbiBvZiBjYXRpb25pYyBsaXBpZHMgZHVyaW5nIHByZXBhcmF0aW9uLgogICAgICBUaHJvdWdoIGZsdW9yZXNjZW5jZS1hY3RpdmF0ZWQgY2VsbCBzb3J0aW5nIGFzc2F5cywgd2Ugc2hvdyB0aGF0IHRoZXNlCiAgICAgIGNhdGlvbmljIGxpcGlkLWNvYXRlZCBxdWFudHVtIGRvdHMgY2FuIGVuaGFuY2UgbWVtYnJhbmUgaW50ZXJhY3Rpb25zIGFuZAogICAgICBpbmNyZWFzZSBtZW1icmFuZSBsYWJlbGluZyBkZW5zaXR5IGluIGxpdmUgSEVLMjkzIGNlbGxzLiBXZSBmdXJ0aGVyCiAgICAgIGVtcGxveWVkIGNvYXJzZS1ncmFpbmVkIG1vbGVjdWxhciBkeW5hbWljcyBzaW11bGF0aW9ucyB0byBtb2RlbCB0aGUgbGlwaWQKICAgICAgc2VsZi1hc3NlbWJseSBwcm9jZXNzIHVzaW5nIGFuIGltcGxpY2l0IHNvbHZlbnQgZm9yY2UgZmllbGQgYW5kCiAgICAgIHN1YnNlcXVlbnRseSBtb2RlbCB0aGUgYWRzb3JwdGlvbiBvZiBsaXBpZC1jb2F0ZWQgcXVhbnR1bSBkb3RzIHRvIG1vZGVsCiAgICAgIG1lbWJyYW5lcy4gT3VyIHNpbXVsYXRpb25zIHNob3cgdGhhdCB3ZSBjYW4gY29udHJvbCB0aGUgZWZmZWN0aXZlIHN1cmZhY2UKICAgICAgY2hhcmdlIG9mIGxpcGlkLWNvYXRlZCBxdWFudHVtIGRvdHMgYW5kIGluZmx1ZW5jZSB0aGUgc3RyZW5ndGggb2YKICAgICAgYWRzb3JwdGlvbiB0byBvcHBvc2l0ZWx5IGNoYXJnZWQgbGlwaWQgbWVtYnJhbmVzLCBhIHByb2Nlc3MgdGhhdCBpcwogICAgICBtZWRpYXRlZCBieSB0aGUgcmVsZWFzZSBvZiBjb3VudGVyaW9ucyBhdCB0aGUgcXVhbnR1bSBkb3QtbWVtYnJhbmUKICAgICAgaW50ZXJmYWNlLiBUaGlzIHdvcmsgc3VwcG9ydHMgdGhlIGZ1dHVyZSBkZXZlbG9wbWVudCBvZiBiaW9jb21wYXRpYmxlIGFuZAogICAgICB3YXRlci1zb2x1YmxlIGlub3JnYW5pYyBuYW5vcGFydGljbGVzIHdpdGggaGlnaGx5IHR1bmFibGUgc3VyZmFjZXMsIGFuZAogICAgICBwcm92aWRlcyBtZWNoYW5pc3RpYyBpbnNpZ2h0IGludG8gaG93IGRpZmZlcmVudCBsaXBpZHMgY2FuIGluZmx1ZW5jZQogICAgICBuYW5vcGFydGljbGUtbWVtYnJhbmUgaW50ZXJhY3Rpb25zIGF0IGEgbW9sZWN1bGFyIHNjYWxlLgogICAgICAmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JmFtcDtuYnNwOwogICAgPC9kZXNjcmlwdGlvbj4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IlRlY2huaWNhbEluZm8iPgogICAgICAjIFNpbXVsYXRpb24gZGF0YSBhbmQgc2NyaXB0cyBmcm9tOiBUdW5hYmxlIGVsZWN0cm9zdGF0aWMgaW50ZXJhY3Rpb25zIG9mCiAgICAgIGxpcGlkLWNvYXRlZCBxdWFudHVtIGRvdHMgd2l0aCBiaW9sb2dpY2FsIG1lbWJyYW5lcyBEYXRhc2V0IERPSToKICAgICAgWzEwLjUwNjEvZHJ5YWQubnMxcm44cTdjXShodHRwczovL2RvaS5vcmcvMTAuNTA2MS9kcnlhZC5uczFybjhxN2MpICMjCiAgICAgIERlc2NyaXB0aW9uIG9mIHRoZSBkYXRhIGFuZCBmaWxlIHN0cnVjdHVyZSBUaGlzIGRvY3VtZW50IGluY2x1ZGVzCiAgICAgIHByb2Nlc3NlZCBkYXRhIGZvciB0aGUgbWFpbiBzaW11bGF0aW9uIHJlc3VsdHMgaW4gdGhlIHBhcGVyICJUdW5hYmxlCiAgICAgIGVsZWN0cm9zdGF0aWMgaW50ZXJhY3Rpb25zIG9mIGxpcGlkLWNvYXRlZCBxdWFudHVtIGRvdHMgd2l0aCBiaW9sb2dpY2FsCiAgICAgIG1lbWJyYW5lcyIgYXMgd2VsbCBhcyB0aGUgaW5wdXQgZmlsZXMgYW5kIHNjcmlwdHMgcmVxdWlyZWQgdG8KICAgICAgcmVwcm9kdWNlIHRoZSBjb21wdXRhdGlvbmFsIHdvcmtmbG93IGFuZCBhbmFseXNlcy4gIyMjIEZpbGVzIGFuZCB2YXJpYWJsZXMKICAgICAgIyMjIyBGaWxlOiBsY1FELnRhci5neiAqKkRlc2NyaXB0aW9uOioqwqBDb250YWlucyBkYXRhIGFuZCBzY3JpcHRzIHRvCiAgICAgIHJlcHJvZHVjZSBmaWd1cmVzIGZyb20gdGhlIG1haW4gdGV4dC4gQ29udGFpbnMgZmlsZXMgYW5kIHNjcmlwdHMgbmVjZXNzYXJ5CiAgICAgIHRvIHJlcHJvZHVjZSBjb21wdXRhdGlvbmFsIG1ldGhvZHMuIEFsc28gY29udGFpbnMgZGF0YSBhbmQgZmlsZXMgdG8gZm9yCiAgICAgIGV4cGVyaW1lbnRhbCBkYXRhLiAjIyBDb2RlL3NvZnR3YXJlIGBgYCAjICMgRmlsZSBzdHJ1Y3R1cmU6ICMgbGNRRC8gIyB8X18KICAgICAgbGNRRDUyNVwgRkFDUy8gOiBGQUNTIERhdGEgZm9yIGxjUUQgNTI1ICMgfCB8X18gMTgwNDE5X2xjcWQ1MjVcIDEuY3N2IDoKICAgICAgRkFDUyBhbmFseXNpcyBvZiBsY1FEIDUyNSBjaGlfZG90YXA9MjAlICMgfCB8X18gMTgwNDE5X2xjcWQ1MjVcIDIuY3N2IDoKICAgICAgRkFDUyBhbmFseXNpcyBvZiBsY1FEIDUyNSBjaGlfZG90YXA9MzAlICMgfCB8X18gMTgwNDE5X2xjcWQ1MjVcIDMuY3N2IDoKICAgICAgRkFDUyBhbmFseXNpcyBvZiBsY1FEIDUyNSBjaGlfZG90YXA9NDAlICMgfCB8X18gMTgwNDE5X2xjcWQ1MjVcIDQuY3N2IDoKICAgICAgRkFDUyBhbmFseXNpcyBvZiBsY1FEIDUyNSBjaGlfZG90YXA9NTAlICMgfCB8X18gMTgwNDE5X05PXCBRRFwgNS5jc3YgOgogICAgICBGQUNTIGFuYWx5c2lzIG9mIHVuc3RhaW5lZCBjZWxsICMgfF9fIGxjUUQ2MDBcIEZBQ1MvIDogRkFDUyBEYXRhIGZvciBsY1FECiAgICAgIDYwMCAjIHwgfF9fIDI1LTEyLTE4X2xjcWQ2MDBcIDEuY3N2IDogRkFDUyBhbmFseXNpcyBvZiBsY1FEIDYwMAogICAgICBjaGlfZG90YXA9MTAlICMgfCB8X18gMjUtMTItMThfbGNxZDYwMFwgMi5jc3YgOiBGQUNTIGFuYWx5c2lzIG9mIGxjUUQgNjAwCiAgICAgIGNoaV9kb3RhcD0zMCUgIyB8IHxfXyAyNS0xMi0xOF9sY3FkNjAwXCAzLmNzdiA6IEZBQ1MgYW5hbHlzaXMgb2YgbGNRRCA2MDAKICAgICAgY2hpX2RvdGFwPTQwJSAjIHwgfF9fIDI1LTEyLTE4X2xjcWQ2MDBcIDQuY3N2IDogRkFDUyBhbmFseXNpcyBvZiBsY1FEIDYwMAogICAgICBjaGlfZG90YXA9NTAlICMgfCB8X18gMjUtMTItMThfTk9cIFFEXCA1LmNzdiA6IEZBQ1MgYW5hbHlzaXMgb2YgdW5zdGFpbmVkCiAgICAgIGNlbGwgIyB8X18gRkFDU19WSVNfY2hhcmdlUURfNTI1Lm0gbWF0bGFiIHNjcmlwdCBmb3IgdmlzdWFsaXphdGlvbiBvZiBGQUNTCiAgICAgIGV4cGVyaW1lbnRzIGZvciB0aGUgNTI1bm0gUURzICMgfF9fIEZBQ1NfVklTX2NoYXJnZVFELm0gbWF0bGFiIHNjcmlwdCBmb3IKICAgICAgdmlzdWFsaXphdGlvbiBvZiBGQUNTIGV4cGVyaW1lbnRzIGZvciB0aGUgNjAwbm0gUURzICMgfF9fCiAgICAgIGFuYWx5c2lzX3NjcmlwdHMvIDogY29udGFpbnMgUFkgYW5kIFNIIHNjcmlwdHMgdG8gYW5hbHl6ZSBhbmQgcGxvdCBkYXRhICMKICAgICAgfCB8X18gZHJ5X3NlbGZBc3NlbWJseV9wbG90X0NoaVN1cmZhY2UtdnMtQ2hpT3ZlcmFsbC5weSA6IHB5dGhvbiBzY3JpcHQgdG8KICAgICAgcGxvdCBDaGkgc3VyZmFjZSBhcyBhIGZ1bmN0aW9uIG9mIENoaSBvdmVyYWxsICMgfCB8X18KICAgICAgZHJ5X3NlbGZBc3NlbWJseV9wbG90X0NoaVN1cmZhY2UtdnMtVG90YWxMaXBpZHMucHkgOiBweXRob24gc2NyaXB0IHRvIHBsb3QKICAgICAgQ2hpIHN1cmZhY2UgYXMgYSBmdW5jdGlvbiBvZiB0b3RhbCBudW1iZXIgb2YgbGlwaWRzICMgfCB8X18KICAgICAgZHJ5X3NlbGZBc3NlbWJseV9wbG90X3Nhc2EucHkgOiBweXRob24gc2NyaXB0IHRvIHBsb3QgU0FTQSBhcyBhIGZ1bmN0aW9uCiAgICAgIG9mIHRvdGFsIG51bWJlciBvZiBsaXBpZHMgIyB8IHxfXwogICAgICB3ZXRfdW5iaWFzZWRfYWRzb3JwdGlvbl9zaG9ydF9hbmFseXplX251bWJlckRlbnNpdGllcy5weSA6IHB5dGhvbiBzY3JpcHQKICAgICAgdG8gY2FsY3VsYXRlIG51bWJlciBkZW5zaXRpZXMgIyB8IHxfXwogICAgICB3ZXRfdW5iaWFzZWRfYWRzb3JwdGlvbl9zaG9ydF9hbmFseXplX2xvY2FsRGVuc2l0aWVzLXN0YXRlUHJvYmFiaWxpdGllcy5weQogICAgICA6IHB5dGhvbiBzY3JpcHQgdG8gY2FsY3VsYXRlIG51bWJlciBvZiBzcGVjaWVzIGFuZCBzdGF0ZSBwcm9iYWJpbGl0aWVzICMgfAogICAgICB8X18gd2V0X3VuYmlhc2VkX2Fkc29ycHRpb25fc2hvcnRfcGxvdF9udW1iZXJEZW5zaXRpZXMucHkgOiBweXRob24gc2NyaXB0CiAgICAgIHRvIHBsb3QgbnVtYmVyIGRlbnNpdGllcyAyRCBoaXN0b2dyYW0gIyB8IHxfXwogICAgICB3ZXRfdW5iaWFzZWRfYWRzb3JwdGlvbl9zaG9ydF9wbG90X3N0YXRlUHJvYmFiaWxpdGllcy5weSA6IHB5dGhvbiBzY3JpcHQKICAgICAgdG8gcGxvdCBzdGF0ZSBwcm9iYWJpbGl0aWVzICMgfCB8X18KICAgICAgd2V0X3VuYmlhc2VkX2Fkc29ycHRpb25fc2hvcnRfcGxvdF9sb2NhbERlbnNpdGllcy5weSA6IHB5dGhvbiBzY3JpcHQgdG8KICAgICAgcGxvdCBudW1iZXIgb2Ygc3BlY2llcyBhcyBhIGZ1bmN0aW9uIG9mIHNpbXVsYXRpb24gdGltZSAjIHxfXyBRRF9DU1pTXzJubS8KICAgICAgOiBkaXJlY3RvcnkgZm9yIGRhdGEgY29ycmVzcG9uZGluZyB0byB0aGUgMiBubSBkaWFtZXRlciBRRCAtIGFsc28gYXBwbGllcwogICAgICB0byBRRF9DU1pTXzVubSAoZHJ5X3NlbGZfYXNzZW1ibHkgb25seSkgIyB8X18gZHJ5X3NlbGZfYXNzZW1ibHkvIDoKICAgICAgZGlyZWN0b3J5IGZvciBzZWxmLWFzc2VtYmx5IHNpbXVsYXRpb25zIGluIGltcGxpY2l0IHNvbHZlbnQgIyB8IHxfXyAmbHQ7IwogICAgICB0b3RhbCBsaXBpZHMmZ3Q7XyZsdDsjIERMUEMmZ3Q7RExQQ18mbHQ7IyBET1RBUCZndDtET1RBUC8gOiBkaXJlY3RvcnkgZm9yCiAgICAgIHNwZWNpZmljIGxpcGlkIG1peHR1cmUgIyB8IHxfXyByZXBfJmx0O3JlcGxpY2F0ZSBudW1iZXImZ3Q7LyA6IGRpcmVjdG9yeQogICAgICBmb3IgcmVwbGljYXRlICMgfCB8X18gaW5wdXRfZmlsZXMvIDogZGlyZWN0b3J5IGZvciBpbnB1dCBmaWxlcyAjIHwgfCB8X18KICAgICAgYW5hbHl6ZV9sY1FERXh0cmFjdGlvbi5weSA6IHB5dGhvbiBzY3JpcHQgdGhhdCBleHRyYWN0cyBsaXBpZC1jb2F0ZWQKICAgICAgcXVhbnR1bSBkb3QgIyB8IHxfXyBlcXVpbC8gOiBkaXJlY3RvcnkgZm9yIE5WVCBzaW11bGF0aW9uICMgfCB8X18KICAgICAgZGF0YV9leHRyYWN0aW9uLmNzdiA6IGRhdGEgY29ycmVzcG9uZGluZyB0byBsaXBpZCBjb2F0aW5nIGZvciBleHRyYWN0ZWQKICAgICAgbGNRRCAjIHwgfF9fIGluZGV4X2V4dHJhY3Rpb24ubmR4IDogaW5kZXggZmlsZSB3aXRoIGdyb3VwcyBjb3JyZXNwb25kaW5nCiAgICAgIHRvIGV4dHJhY3RlZCBsY1FEICMgfCB8X18gaW5kZXhfc2FzYS5uZHggOiBpbmRleCBmaWxlIHdpdGggZ3JvdXBzIHVzZWQgaW4KICAgICAgY29tcHV0aW5nIFNBU0EgIyB8IHxfXyBudnQudHByIDogVFBSIGZpbGUgdG8gcnVuIHNpbXVsYXRpb24gIyB8IHxfXwogICAgICBudnRfY2VudGVyZWQuZ3JvIDogZmluYWwgc3RydWN0dXJlIGZpbGUgIyB8IHxfXyBudnRfY2VudGVyZWQueHRjIDogZmluYWwKICAgICAgdHJhamVjdG9yeSB3aXRoIFFEIGNlbnRlcmVkIGluIHRoZSBzaW11bGF0aW9uIGJveCAjIHwgfF9fIHNhc2FfYXRvbV9RRC54dmcKICAgICAgOiBTQVNBIGNvbXB1dGVkIGZvciB0aGUgUUQgKHBlciBhdG9tKSAjIHwgfF9fCiAgICAgIHNhc2FfYXRvbV9RRExJUElEUy1MSUdBTkRTLnh2ZyA6IFNBU0EgY29tcHV0ZWQgZm9yIHRoZSBRRC1MSVBJRFMgYW5kCiAgICAgIExJR0FORFMgKHBlciBhdG9tKSAjIHwgfF9fIHNhc2FfdG90YWxfUUQueHZnIDogU0FTQSBjb21wdXRlZCBmb3IgdGhlIFFECiAgICAgICh0b3RhbCkgIyB8IHxfXyBzYXNhX3RvdGFsX1FETElQSURTLUxJR0FORFMueHZnIDogU0FTQSBjb21wdXRlZCBmb3IgdGhlCiAgICAgIFFELUxJUElEUyBhbmQgTElHQU5EUyAodG90YWwpICMgfF9fIHdldF91bmJpYXNlZF9hZHNvcnB0aW9uX3Nob3J0LyA6CiAgICAgIGRpcmVjdG9yeSBmb3IgUUQtTWVtYnJhbmUgYWRzb3JwdGlvbiBzaW11bGF0aW9ucyBpbiBleHBsaWNpdCBzb2x2ZW50ICMgfF9fCiAgICAgICZsdDsjIHRvdGFsIGxpcGlkcyZndDtfJmx0OyMgRExQQyZndDtETFBDXyZsdDsjIERPVEFQJmd0O0RPVEFQLyA6CiAgICAgIGRpcmVjdG9yeSBmb3Igc3BlY2lmaWMgbGlwaWQgbWl4dHVyZSAjIHxfXyByZXBfJmx0O3JlcGxpY2F0ZSBudW1iZXIgb2YKICAgICAgc2VsZWN0ZWQgbGNRRCZndDsvIDogZGlyZWN0b3J5IG9mIHRoZSByZXBsaWNhdGUgc2VsZWN0ZWQgZm9yIHRoZSBsY1FEICMKICAgICAgfF9fIDgwRE9QQ18yMERPUEcvIDogZGlyZWN0b3J5IGZvciB0aGUgYmlvbWVtYnJhbmUgY29tcG9zaXRpb24gIyB8X18KICAgICAgcGlja2xlX2RhdGFfbG9jYWxEZW5zaXRpZXMucCA6IHNhdmVkIGRhdGEgZm9yIHRoZSBudW1iZXIgb2Ygc3BlY2llcyBhdCB0aGUKICAgICAgbGNRRC1tZW1icmFuZSBpbnRlcmZhY2UgIyB8X18gcGlja2xlX2RhdGFfc3RhdGVQcm9iYWJpbGl0aWVzLnAgOiBzYXZlZAogICAgICBkYXRhIGZvciB0aGUgcHJvYmFiaWxpdGllcyBvZiBlYWNoIHN0YXRlICMgfF9fCiAgICAgIHJlcF8mbHQ7cmVwbGljYXRlX251bWJlciZndDsvIDogZGlyZWN0b3J5IGZvciByZXBsaWNhdGUgIyB8X18gaW5wdXRfZmlsZXMvCiAgICAgIDogZGlyZWN0b3J5IGZvciBpbnB1dCBmaWxlcyAjIHwgfF9fIGluZGV4Lm5keCA6IGluZGV4IGZpbGUgd2l0aCBncm91cHMKICAgICAgdXNlZCBpbiBjYWxjdWxhdGluZyBtaW5pbXVtIGRpc3RhbmNlICMgfF9fIHByb2QvIDogZGlyZWN0b3J5IGZvcgogICAgICBwcm9kdWN0aW9uIHNpbXVsYXRpb25zICMgfF9fIGFuYWx5c2lzX21pbmRpc3QvIDogZGlyZWN0b3J5IGZvciBtaW5pbXVtCiAgICAgIGRpc3RhbmNlIGNhbGN1bGF0aW9uICMgfCB8X18gTEMtTUVNQi54dmcgOiBkYXRhIGNvcnJlc3BvbmRpbmcgdG8gbWluaW11bQogICAgICBkaXN0YW5jZSBiZXR3ZWVuIGxpcGlkIGNvYXRpbmcgYW5kIG1lbWJyYW5lICMgfF9fCiAgICAgIHBpY2tsZV9kYXRhX251bWJlckRlbnNpdGllcy5wIDogc2F2ZWQgZGF0YSBmb3IgdGhlIG51bWJlciBkZW5zaXR5IDJECiAgICAgIGhpc3RvZ3JhbXMgIyB8X18gcHJvZC50cHIgOiBUUFIgZmlsZSB0byBydW4gc2ltdWxhdGlvbiAjIHxfXwogICAgICBwcm9kX2NlbnRlcmVkX3RyYW5zbGF0ZWQuZ3JvIDogZmluYWwgc3RydWN0dXJlIGZpbGUgIyB8X18KICAgICAgcHJvZF9jZW50ZXJlZF90cmFuc2xhdGVkLnh0YyA6IGZpbmFsIHRyYWplY3Rvcnkgd2l0aCBRRCBjZW50ZXJlZCBpbiB0aGUKICAgICAgc2ltdWxhdGlvbiBib3ggIyB8X18gcHJvZF9jZW50ZXJlZF90cmFuc2xhdGVkX2RyeS1pb24uZ3JvIDogZmluYWwKICAgICAgc3RydWN0dXJlIGZpbGUgd2l0aG91dCB3YXRlciAjIHxfXyBwcm9kX2NlbnRlcmVkX3RyYW5zbGF0ZWRfZHJ5LWlvbi54dGMgOgogICAgICBmaW5hbCB0cmFqZWN0b3J5IHdpdGggUUQgY2VudGVyZWQgaW4gdGhlIHNpbXVsYXRpb24gYm94IHdpdGhvdXQgd2F0ZXIgIwogICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIyMjIExJUElEIFNFTEYtQVNTRU1CTFkgT04KICAgICAgUVVBTlRVTSBET1QgIyMjICMjIyBJTiBJTVBMSUNJVCBTT0xWRU5UICMjIwogICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIyBNb3ZlIGludG8gd29ya2luZyBkaXJlY3RvcnkKICAgICAgLS0gcmVwbGFjZSBOUCwgU1lTVEVNLCBSRVAgYWNjb3JkaW5nbHkgTlA9IlFEX0NTWlNfNW5tIgogICAgICBTWVNURU09IjUwMF8yNTBETFBDXzI1MERPVEFQIiBSRVA9InJlcF8wIiBjZAogICAgICAke05QfS9kcnlfc2VsZl9hc3NlbWJseS8ke1NZU1RFTX0vJHtSRVB9L2VxdWlsLyAjIFJ1biBzaW11bGF0aW9uIGdteCBtZHJ1bgogICAgICAtdiAtZGVmZm5tIG52dCBnbXggdHJqY29udiAtZiBudnQuZ3JvIC1zIG52dC50cHIgLXBiYyBtb2wgLWNlbnRlciAtbwogICAgICBudnRfY2VudGVyZWQuZ3JvICZsdDsmbHQ7Jmx0OyAkJ1FEXG5TeXN0ZW0nIGdteCB0cmpjb252IC1mCiAgICAgIG52dC54dGMgLXMgbnZ0LnRwciAtcGJjIG1vbCAtY2VudGVyIC1vIG52dF9jZW50ZXJlZC54dGMgJmx0OyZsdDsmbHQ7CiAgICAgICQnUURcblN5c3RlbScgIyBFeHRyYWN0IGxjUUQgY2QgLi4vIHB5dGhvbgogICAgICBpbnB1dF9maWxlcy9hbmFseXplX2xjUURFeHRyYWN0aW9uLnB5IGdteCB0cmpjb252IC1mIG52dF9jZW50ZXJlZC5ncm8gLXMKICAgICAgbnZ0LnRwciAtbiBpbmRleF9leHRyYWN0aW9uLm5keCAtbyBsY1FELmdybyAjIEdlbmVyYXRlIGluZGV4IGZpbGUgZm9yCiAgICAgIGFuYWx5c2VzIGdteCBtYWtlX25keCAtZiBudnRfY2VudGVyZWQuZ3JvIC1vIGluZGV4X3Nhc2EubmR4ICZsdDsmbHQ7CiAgICAgIElOUFVUUyBkZWwgMS0xMCByIFFEIG5hbWUgMSBRRCByIFFEICZhbXA7IGEgQzUgfCByIERMUEMgRE9UQVAgbmFtZSAyCiAgICAgIERMUENfRE9UQVBfQzUgciBRRCBETFBDIERPVEFQIG5hbWUgMyBRRF9ETFBDX0RPVEFQIHIgUUQgJmFtcDsgYSBDNSBuYW1lIDQKICAgICAgQzUgciBRRCAmYW1wOyBhIFMxIEMyIEMzIEM0IEM1IG5hbWUgNSBMSUdBTkRTIHIgRExQQyBET1RBUCBuYW1lIDYKICAgICAgRExQQ19ET1RBUCBxIElOUFVUUyAjIEFuYWx5emUgU0FTQSBnbXggc2FzYSAtZiBudnRfY2VudGVyZWQueHRjIC1zIG52dC50cHIKICAgICAgLW4gaW5kZXhfc2FzYS5uZHggLXN1cmZhY2UgUUQgLXByb2JlIDAuMjYgLW5kb3RzIDQ4MDAgLW9hIHNhc2FfYXRvbV9RRC54dmcKICAgICAgLW8gc2FzYV90b3RhbF9RRC54dmcgZ214IHNhc2EgLWYgbnZ0X2NlbnRlcmVkLnh0YyAtcyBudnQudHByIC1uCiAgICAgIGluZGV4X3Nhc2EubmR4IC1zdXJmYWNlIFFEX0RMUENfRE9UQVAgLW91dHB1dCBMSUdBTkRTIC1wcm9iZSAwLjI2IC1uZG90cwogICAgICA0ODAwIC1vYSBzYXNhX2F0b21fUURMSVBJRFMtTElHQU5EUy54dmcgLW8gc2FzYV90b3RhbF9RRExJUElEUy1MSUdBTkRTLnh2ZwogICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIyMjIExDUUQgQURTT1JQVElPTiBPTgogICAgICBCSU9NRU1CUkFORSAjIyMgIyMjIElOIEVYUExJQ0lUIFNPTFZFTlQgIyMjCiAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAjIE1vdmUgaW50byB3b3JraW5nIGRpcmVjdG9yeQogICAgICAtLSByZXBsYWNlIE5QLCBMQ19TWVNURU0sIExDX1JFUCwgU1lTVEVNLCBSRVAgYWNjb3JkaW5nbHkKICAgICAgTlA9IlFEX0NTWlNfMm5tIiBMQ19TWVNURU09IjUwMF8yNTBETFBDXzI1MERPVEFQIgogICAgICBMQ19SRVA9InJlcF8xIiBTWVNURU09IjgwRE9QQ18yMERPUEciCiAgICAgIFJFUD0icmVwXzAiIGNkCiAgICAgICR7TlB9L3dldF91bmJpYXNlZF9hZHNvcnB0aW9uX3Nob3J0LyR7TENfU1lTVEVNfS8ke0xDX1JFUH0vJHtTWVNURU19LyR7UkVQfS9wcm9kLyAjIFJ1biBzaW11bGF0aW9uIGdteCBtZHJ1biAtdiAtZGVmZm5tIHByb2QgZ214IHRyamNvbnYgLWYgcHJvZC5ncm8gLXMgcHJvZC50cHIgLXBiYyBtb2wgLWNlbnRlciAtbyBwcm9kX2NlbnRlcmVkLmdybyAmbHQ7Jmx0OyZsdDsgJCdRRFxuU3lzdGVtJyBnbXggdHJqY29udiAtZiBwcm9kLnh0YyAtcyBwcm9kLnRwciAtcGJjIG1vbCAtY2VudGVyIC1vIHByb2RfY2VudGVyZWQueHRjICZsdDsmbHQ7Jmx0OyAkJ1FEXG5TeXN0ZW0nICMgVHJhbnNsYXRlIHN5c3RlbSBhbG9uZyB6LWF4aXMgaWYgbWVtYnJhbmUgY3Jvc3NlcyBwYmMgIyB0aGVzZSBvdXRwdXQgZmlsZXMgc2hvdWxkIGJlIG5hbWVkICJwcm9kX2NlbnRlcmVkX3RyYW5zbGF0ZWQuZ3JvIiBhbmQgInByb2RfY2VudGVyZWRfdHJhbnNsYXRlZC54dGMiICMgQ29tcHV0ZSBtaW5kaXN0IGNkIC4uLyBta2RpciBwcm9kL2FuYWx5c2lzX21pbmRpc3QvIGdteCBtaW5kaXN0IC1mIHByb2QvcHJvZF9jZW50ZXJlZF90cmFuc2xhdGVkLnh0YyAtcyBwcm9kL3Byb2QudHByIC1uIGlucHV0X2ZpbGVzL2luZGV4Lm5keCAtb2QgcHJvZC9hbmFseXNpc19taW5kaXN0L0xDLU1FTUIueHZnICMgRGF0YSBhbmFseXNpcyBhbmQgcGxvdHRpbmcgKGZyb20gbGNRRC8gZGlyZWN0b3J5KSBjZCBhbmFseXNpc19zY3JpcHRzLyBweXRob24zIGRyeV9zZWxmQXNzZW1ibHlfcGxvdF9DaGlTdXJmYWNlLXZzLUNoaU92ZXJhbGwucHkgLi4vIC4vIFFEX0NTWlNfMm5tIDUwMF80NTBETFBDXzUwRE9UQVAgNTAwXzM1MERMUENfMTUwRE9UQVAgNTAwXzI1MERMUENfMjUwRE9UQVAgNTAwXzE1MERMUENfMzUwRE9UQVAgNTAwXzUwRExQQ180NTBET1RBUCBweXRob24zIGRyeV9zZWxmQXNzZW1ibHlfcGxvdF9DaGlTdXJmYWNlLXZzLVRvdGFsTGlwaWRzLnB5IC4uLyAuLyBRRF9DU1pTXzJubSA1MDBfMjUwRExQQ18yNTBET1RBUCAxMDAwXzUwMERMUENfNTAwRE9UQVAgMTUwMF83NTBETFBDXzc1MERPVEFQIHB5dGhvbjMgZHJ5X3NlbGZBc3NlbWJseV9wbG90X3Nhc2EucHkgLi4vIC4vIFFEX0NTWlNfMm5tIDUwMF8yNTBETFBDXzI1MERPVEFQIDEwMDBfNTAwRExQQ181MDBET1RBUCAxNTAwXzc1MERMUENfNzUwRE9UQVAgIyBBbmFseXplIGRlbnNpdGllcyAjIFVzZXMgcHJvZF9jZW50ZXJlZF90cmFuc2xhdGVkX2RyeS1pb24uZ3JvIGFuZCBwcm9kX2NlbnRlcmVkX3RyYW5zbGF0ZWRfZHJ5LWlvbi54dGMgZm9yIGNvbXB1dGF0aW9uYWwgZWZmaWNpZW5jeSAjIDIgbm0geyc1MDBfNDUwRExQQ181MERPVEFQJyA6ICdyZXBfMCcsICc1MDBfMjUwRExQQ18yNTBET1RBUCcgOiAncmVwXzEnLCAnNTAwXzUwRExQQ180NTBET1RBUCcgOiAncmVwXzMnfSBweXRob24zIHdldF91bmJpYXNlZF9hZHNvcnB0aW9uX3Nob3J0X2FuYWx5emVfbnVtYmVyRGVuc2l0aWVzLnB5IC4uLyAuLyBRRF9DU1pTXzJubSA1MDBfMjUwRExQQ18yNTBET1RBUCByZXBfMSA4MERPUENfMjBET1BHIHJlcF8wIHB5dGhvbjMgd2V0X3VuYmlhc2VkX2Fkc29ycHRpb25fc2hvcnRfYW5hbHl6ZV9sb2NhbERlbnNpdGllcy1zdGF0ZVByb2JhYmlsaXRpZXMucHkgLi4vIC4vIFFEX0NTWlNfMm5tIDUwMF8yNTBETFBDXzI1MERPVEFQIHJlcF8xIDgwRE9QQ18yMERPUEcgcmVwXzAgcmVwXzEgcmVwXzIgcmVwXzMgcmVwXzQgcmVwXzUgcmVwXzYgcmVwXzcgcmVwXzggcmVwXzkgcmVwXzEwIHJlcF8xMSByZXBfMTIgcmVwXzEzIHJlcF8xNCByZXBfMTUgIyBQbG90IGRhdGEgcHl0aG9uMyB3ZXRfdW5iaWFzZWRfYWRzb3JwdGlvbl9zaG9ydF9wbG90X251bWJlckRlbnNpdGllcy5weSAuLi8gLi8gUURfQ1NaU18ybm0gNTAwXzI1MERMUENfMjUwRE9UQVAgcmVwXzEgODBET1BDXzIwRE9QRyByZXBfMCBweXRob24zIHdldF91bmJpYXNlZF9hZHNvcnB0aW9uX3Nob3J0X3Bsb3Rfc3RhdGVQcm9iYWJpbGl0aWVzLnB5IC4uLyAuLyBRRF9DU1pTXzJubSA4MERPUENfMjBET1BHIDUwMF80NTBETFBDXzUwRE9UQVAvcmVwXzAgNTAwXzI1MERMUENfMjUwRE9UQVAvcmVwXzEgNTAwXzUwRExQQ180NTBET1RBUC9yZXBfMyBweXRob24zIHdldF91bmJpYXNlZF9hZHNvcnB0aW9uX3Nob3J0X3Bsb3RfbG9jYWxEZW5zaXRpZXMucHkgLi4vIC4vIFFEX0NTWlNfMm5tIDgwRE9QQ18yMERPUEcgNTAwXzQ1MERMUENfNTBET1RBUC9yZXBfMCA1MDBfMjUwRExQQ18yNTBET1RBUC9yZXBfMSA1MDBfNTBETFBDXzQ1MERPVEFQL3JlcF8zIGBgYAogICAgPC9kZXNjcmlwdGlvbj4KICA8L2Rlc2NyaXB0aW9ucz4KPC9yZXNvdXJjZT4=","url":"https://datadryad.org/dataset/doi:10.5061/dryad.ns1rn8q7c","contentUrl":null,"metadataVersion":1,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"mds","isActive":true,"state":"findable","reason":null,"viewCount":9,"viewsOverTime":[{"yearMonth":"2026-09","total":9}],"downloadCount":0,"downloadsOverTime":[{"yearMonth":"2026-09","total":0}],"referenceCount":0,"citationCount":2,"citationsOverTime":[{"year":"2026","total":2}],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":0,"created":"2026-09-02T09:49:19.000Z","registered":"2026-09-02T09:49:21.000Z","published":"2026","updated":"2026-09-09T13:31:02.000Z"},"relationships":{"client":{"data":{"id":"dryad.dryad","type":"clients"}},"provider":{"data":{"id":"dryad","type":"providers"}},"media":{"data":{"id":"10.5061/dryad.ns1rn8q7c","type":"media"}},"references":{"data":[]},"citations":{"data":[{"id":"10.64898/2026.05.21.726631","type":"dois"},{"id":"10.1021/acs.langmuir.6c03172","type":"dois"}]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[]}}}}