pychemstation 0.8.2__tar.gz → 0.8.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. {pychemstation-0.8.2 → pychemstation-0.8.3}/PKG-INFO +2 -1
  2. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/tables/sequence.py +1 -1
  3. {pychemstation-0.8.2 → pychemstation-0.8.3}/pyproject.toml +2 -2
  4. {pychemstation-0.8.2 → pychemstation-0.8.3}/setup.py +2 -2
  5. pychemstation-0.8.2/pychemstation/out.txt +0 -145
  6. pychemstation-0.8.2/pychemstation/tests.ipynb +0 -310
  7. {pychemstation-0.8.2 → pychemstation-0.8.3}/.coverage +0 -0
  8. {pychemstation-0.8.2 → pychemstation-0.8.3}/.gitignore +0 -0
  9. {pychemstation-0.8.2 → pychemstation-0.8.3}/.gitlab-ci.yml +0 -0
  10. {pychemstation-0.8.2 → pychemstation-0.8.3}/CHANGELOG.md +0 -0
  11. {pychemstation-0.8.2 → pychemstation-0.8.3}/CONTRIBUTING.md +0 -0
  12. {pychemstation-0.8.2 → pychemstation-0.8.3}/LICENSE +0 -0
  13. {pychemstation-0.8.2 → pychemstation-0.8.3}/README.md +0 -0
  14. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/__init__.py +0 -0
  15. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/analysis/__init__.py +0 -0
  16. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/analysis/base_spectrum.py +0 -0
  17. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/analysis/process_report.py +0 -0
  18. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/analysis/spec_utils.py +0 -0
  19. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/analysis/utils.py +0 -0
  20. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/__init__.py +0 -0
  21. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/comm.py +0 -0
  22. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/__init__.py +0 -0
  23. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/comm.py +0 -0
  24. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/devices/__init__.py +0 -0
  25. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/devices/column.py +0 -0
  26. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/devices/dad.py +0 -0
  27. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/devices/device.py +0 -0
  28. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/devices/injector.py +0 -0
  29. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/devices/pump.py +0 -0
  30. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/method.py +0 -0
  31. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/sequence.py +0 -0
  32. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/table_controller.py +0 -0
  33. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/tables/__init__.py +0 -0
  34. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/tables/method.py +0 -0
  35. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/tables/ms.py +0 -0
  36. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/tables/sequence.py +0 -0
  37. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/controllers/tables/table.py +0 -0
  38. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/hplc.py +0 -0
  39. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/table/__init__.py +0 -0
  40. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/table/method.py +0 -0
  41. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/table/sequence.py +0 -0
  42. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/control/table/table_controller.py +0 -0
  43. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/generated/__init__.py +0 -0
  44. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/generated/dad_method.py +0 -0
  45. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/generated/pump_method.py +0 -0
  46. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/__init__.py +0 -0
  47. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/chromatogram.py +0 -0
  48. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/injector_types.py +0 -0
  49. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/macro.py +0 -0
  50. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/method_types.py +0 -0
  51. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/parsing.py +0 -0
  52. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/pump_types.py +0 -0
  53. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/sequence_types.py +0 -0
  54. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/table_types.py +0 -0
  55. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/pychemstation/utils/tray_types.py +0 -0
  56. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/__init__.py +0 -0
  57. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/constants.py +0 -0
  58. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_comb.py +0 -0
  59. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_comm.py +0 -0
  60. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_inj.py +0 -0
  61. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_method.py +0 -0
  62. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_nightly.py +0 -0
  63. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_proc_rep.py +0 -0
  64. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_runs_stable.py +0 -0
  65. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_sequence.py +0 -0
  66. {pychemstation-0.8.2 → pychemstation-0.8.3}/build/lib/tests/test_stable.py +0 -0
  67. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/index.html +0 -0
  68. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/analysis/base_spectrum.html +0 -0
  69. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/analysis/spec_utils.html +0 -0
  70. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/analysis/utils.html +0 -0
  71. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/analysis.html +0 -0
  72. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/control/chromatogram.html +0 -0
  73. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/control/hplc.html +0 -0
  74. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/control.html +0 -0
  75. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/generated.html +0 -0
  76. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/utils/chemstation.html +0 -0
  77. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/utils/constants.html +0 -0
  78. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/utils/hplc_param_types.html +0 -0
  79. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation/utils.html +0 -0
  80. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/pychemstation.html +0 -0
  81. {pychemstation-0.8.2 → pychemstation-0.8.3}/doc/search.js +0 -0
  82. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/__init__.py +0 -0
  83. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/analysis/__init__.py +0 -0
  84. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/analysis/base_spectrum.py +0 -0
  85. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/analysis/process_report.py +0 -0
  86. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/analysis/spec_utils.py +0 -0
  87. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/analysis/utils.py +0 -0
  88. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/README.md +0 -0
  89. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/__init__.py +0 -0
  90. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/README.md +0 -0
  91. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/__init__.py +0 -0
  92. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/comm.py +0 -0
  93. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/devices/__init__.py +0 -0
  94. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/devices/device.py +0 -0
  95. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/devices/injector.py +0 -0
  96. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/tables/__init__.py +0 -0
  97. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/tables/method.py +0 -0
  98. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/tables/ms.py +0 -0
  99. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/controllers/tables/table.py +0 -0
  100. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/control/hplc.py +0 -0
  101. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/generated/__init__.py +0 -0
  102. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/generated/dad_method.py +0 -0
  103. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/generated/pump_method.py +0 -0
  104. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/__init__.py +0 -0
  105. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/chromatogram.py +0 -0
  106. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/injector_types.py +0 -0
  107. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/macro.py +0 -0
  108. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/method_types.py +0 -0
  109. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/parsing.py +0 -0
  110. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/pump_types.py +0 -0
  111. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/sequence_types.py +0 -0
  112. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/table_types.py +0 -0
  113. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation/utils/tray_types.py +0 -0
  114. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation.egg-info/PKG-INFO +0 -0
  115. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation.egg-info/SOURCES.txt +0 -0
  116. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation.egg-info/dependency_links.txt +0 -0
  117. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation.egg-info/requires.txt +0 -0
  118. {pychemstation-0.8.2 → pychemstation-0.8.3}/pychemstation.egg-info/top_level.txt +0 -0
  119. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/0_2025-03-15 19-14-35.PDF +0 -0
  120. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/ACQRES.REG +0 -0
  121. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/CSlbk.ini +0 -0
  122. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DA.M/DAMETHOD.REG +0 -0
  123. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DA.M/INFO.MTH +0 -0
  124. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DA.M/RECALIB.MTH +0 -0
  125. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DA.M/rpthead.txt +0 -0
  126. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1.UV +0 -0
  127. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1A.ch +0 -0
  128. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1A.npz +0 -0
  129. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1B.ch +0 -0
  130. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1B.npz +0 -0
  131. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1C.ch +0 -0
  132. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1C.npz +0 -0
  133. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1D.ch +0 -0
  134. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1D.npz +0 -0
  135. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1E.ch +0 -0
  136. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DAD1E.npz +0 -0
  137. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/DiagResults.REG +0 -0
  138. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/PMP1.AnalyticalResults.drvml +0 -0
  139. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/REPORT01.CSV +0 -0
  140. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/REPORT02.CSV +0 -0
  141. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/REPORT03.CSV +0 -0
  142. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/REPORT04.CSV +0 -0
  143. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/REPORT05.CSV +0 -0
  144. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/RUN.LOG +0 -0
  145. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/Report.TXT +0 -0
  146. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/Report00.CSV +0 -0
  147. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/Report01.xls +0 -0
  148. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/SAMPLE.XML +0 -0
  149. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/SAMPLE.XML.bak +0 -0
  150. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/WLS1.Sampler.scml +0 -0
  151. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/acq.macaml +0 -0
  152. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/acq.txt +0 -0
  153. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/acq_MethHist.txt +0 -0
  154. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/acq_damethod.reg +0 -0
  155. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/da.macaml +0 -0
  156. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/lcdiag.reg +0 -0
  157. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/sample.acaml +0 -0
  158. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/0_2025-03-15 19-14-35.D/single.B +0 -0
  159. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/__init__.py +0 -0
  160. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/constants.py +0 -0
  161. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_talk.mac +0 -0
  162. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/CSlbk.ini +0 -0
  163. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/ACQ.MS +0 -0
  164. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/Agilent1200erDadDriver1.RapidControl.ConfigXML.xml +0 -0
  165. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/Agilent1200erDadDriver1.RapidControl.MethodMetaData.xml +0 -0
  166. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/Agilent1200erDadDriver1.RapidControl.MethodXML.xml +0 -0
  167. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentColumnCompDriver1.RapidControl.ConfigXML.xml +0 -0
  168. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentColumnCompDriver1.RapidControl.MethodMetaData.xml +0 -0
  169. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentColumnCompDriver1.RapidControl.MethodXML.xml +0 -0
  170. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentPumpDriver1.RapidControl.ConfigXML.xml +0 -0
  171. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentPumpDriver1.RapidControl.MethodMetaData.xml +0 -0
  172. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentPumpDriver1.RapidControl.MethodXML.xml +0 -0
  173. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.ConfigXML.xml +0 -0
  174. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.MethodMetaData.xml +0 -0
  175. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.MethodXML.xml +0 -0
  176. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.PretreatXML.xml +0 -0
  177. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/DAMETHOD.REG +0 -0
  178. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/FIA.REG +0 -0
  179. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/INFO.MTH +0 -0
  180. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/INJECTOR.MTH +0 -0
  181. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/MassHunterIntegration.ini +0 -0
  182. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/RECALIB.MTH +0 -0
  183. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/RapidControl.InstrumentConfig.xml +0 -0
  184. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/rpthead.txt +0 -0
  185. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/smpl_pur.mth +0 -0
  186. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/Methods.Reg +0 -0
  187. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/hplc_testing.B +0 -0
  188. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/hplc_testing.LOG +0 -0
  189. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/hplc_testing.S +0 -0
  190. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/hplc_testing.Start +0 -0
  191. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/ACQRES.REG +0 -0
  192. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/CSlbk.ini +0 -0
  193. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/DAMETHOD.REG +0 -0
  194. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/INFO.MTH +0 -0
  195. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/RECALIB.MTH +0 -0
  196. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/rpthead.txt +0 -0
  197. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1.UV +0 -0
  198. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1A.ch +0 -0
  199. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1A.npz +0 -0
  200. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1B.ch +0 -0
  201. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1B.npz +0 -0
  202. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1C.ch +0 -0
  203. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1C.npz +0 -0
  204. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1D.ch +0 -0
  205. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1D.npz +0 -0
  206. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1E.ch +0 -0
  207. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1E.npz +0 -0
  208. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DiagResults.REG +0 -0
  209. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Limsinf.xml +0 -0
  210. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/PMP1.AnalyticalResults.drvml +0 -0
  211. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT01.CSV +0 -0
  212. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT02.CSV +0 -0
  213. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT03.CSV +0 -0
  214. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT04.CSV +0 -0
  215. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT05.CSV +0 -0
  216. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/RUN.LOG +0 -0
  217. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Report.TXT +0 -0
  218. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Report00.CSV +0 -0
  219. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Report01.xls +0 -0
  220. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/SAMPLE.XML +0 -0
  221. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/SAMPLE.XML.bak +0 -0
  222. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/WLS1.Sampler.scml +0 -0
  223. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq.macaml +0 -0
  224. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq.txt +0 -0
  225. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq_MethHist.txt +0 -0
  226. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq_damethod.reg +0 -0
  227. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/da.macaml +0 -0
  228. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/hplc_testing 2025-03-27 17-13-47_run seq with new method.PDF +0 -0
  229. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/lcdiag.reg +0 -0
  230. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/sequence.acam_ +0 -0
  231. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/hplc_testing 2025-03-27 17-13-47/sequence.acaml +0 -0
  232. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/out.txt +0 -0
  233. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/test_nightly.py +0 -0
  234. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/test_offline_stable.py +0 -0
  235. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/test_online_stable.py +0 -0
  236. {pychemstation-0.8.2 → pychemstation-0.8.3}/tests/test_runs_stable.py +0 -0
  237. {pychemstation-0.8.2 → pychemstation-0.8.3}/update-lib.sh +0 -0
  238. {pychemstation-0.8.2 → pychemstation-0.8.3}/uv.lock +0 -0
@@ -1,6 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pychemstation
3
- Version: 0.8.2
3
+ Version: 0.8.3
4
+ Summary: Library to interact with Chemstation software, primarily used in Hein lab.
4
5
  Author-email: lucyhao <hao.lucyy@gmail.com>
5
6
  License-File: LICENSE
6
7
  Requires-Python: >=3.8
@@ -202,7 +202,7 @@ class SequenceController(TableController):
202
202
  if stall_while_running:
203
203
  run_completed = self.check_hplc_done_running()
204
204
  if run_completed.is_ok():
205
- self.data_files[-1].dir = run_completed.ok_value
205
+ self.data_files[-1] = run_completed.ok_value
206
206
  else:
207
207
  raise RuntimeError("Run error has occurred.")
208
208
  else:
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pychemstation"
7
- version = "0.8.2"
8
- description = ""
7
+ version = "0.8.3"
8
+ description = "Library to interact with Chemstation software, primarily used in Hein lab."
9
9
  authors = [{ name = "lucyhao", email = "hao.lucyy@gmail.com" }]
10
10
  requires-python = ">=3.8"
11
11
  readme = "README.md"
@@ -5,10 +5,10 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="pychemstation",
8
- version="0.8.2",
8
+ version="0.8.3",
9
9
  author="Lucy Hao",
10
10
  author_email="lhao03@student.ubc.ca",
11
- description="Library to interact with Chemstation software, primarily used in Hein lab",
11
+ description="Library to interact with Chemstation software, primarily used in Hein lab.",
12
12
  long_description=long_description,
13
13
  long_description_content_type="text/markdown",
14
14
  url="https://gitlab.com/heingroup/device-api/pychemstation",
@@ -1,145 +0,0 @@
1
- Local Rows
2
- Local Rows
3
- Local Rows
4
- LoadMethod "C:\\Users\\Public\\Documents\\ChemStation\\1\\Methods\\", "testing.M"
5
- response$ = _MethFile$
6
- Rows = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
7
- response_num = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
8
- Sleep 0.1
9
- Print Rows
10
- response$ = _MethFile$
11
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "FlowFlow")
12
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "SolventCompositionPumpChannel2_Percentage")
13
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "Time")
14
- response_num = ObjHdrVal("RCPMP1Method[1]", "PumpChannel2_CompositionPercentage")
15
- response_num = ObjHdrVal("RCPMP1Method[1]", "Flow")
16
- response_num = ObjHdrVal("RCPMP1Method[1]", "StopTime_Time")
17
- Local Rows
18
- Local Rows
19
- Local Rows
20
- LoadMethod "C:\\Users\\Public\\Documents\\ChemStation\\1\\Methods\\", "testing.M"
21
- response$ = _MethFile$
22
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-22-32-44"
23
- response$ = AcqStatus$
24
- response$ = AcqStatus$
25
- response$ = AcqStatus$
26
- response$ = AcqStatus$
27
- response$ = AcqStatus$
28
- response$ = AcqStatus$
29
- response$ = AcqStatus$
30
- response$ = AcqStatus$
31
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-22-36-41"
32
- response$ = AcqStatus$
33
- Local Rows
34
- Local Rows
35
- Local Rows
36
- LoadMethod "C:\\Users\\Public\\Documents\\ChemStation\\1\\Methods\\", "testing.M"
37
- response$ = _MethFile$
38
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-22-37-41"
39
- response$ = AcqStatus$
40
- response$ = AcqStatus$
41
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-23-46-39"
42
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-23-46-52"
43
- Local Rows
44
- Local Rows
45
- Local Rows
46
- LoadMethod "C:\\Users\\Public\\Documents\\ChemStation\\1\\Methods\\", "testing.M"
47
- response$ = _MethFile$
48
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-23-47-43"
49
- response$ = AcqStatus$
50
- response$ = AcqStatus$
51
- response$ = AcqStatus$
52
- Rows = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
53
- response_num = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
54
- Sleep 0.1
55
- Print Rows
56
- response$ = _MethFile$
57
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-23-48-45"
58
- response$ = AcqStatus$
59
- response$ = AcqStatus$
60
- response$ = AcqStatus$
61
- response$ = AcqStatus$
62
- Rows = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
63
- response_num = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
64
- Sleep 0.1
65
- Print Rows
66
- response$ = _MethFile$
67
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "FlowFlow")
68
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "SolventCompositionPumpChannel2_Percentage")
69
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "Time")
70
- response_num = ObjHdrVal("RCPMP1Method[1]", "PumpChannel2_CompositionPercentage")
71
- response_num = ObjHdrVal("RCPMP1Method[1]", "Flow")
72
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-23-50-02"
73
- response$ = AcqStatus$
74
- response$ = AcqStatus$
75
- response$ = AcqStatus$
76
- Rows = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
77
- response_num = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
78
- Sleep 0.1
79
- Print Rows
80
- response$ = _MethFile$
81
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "FlowFlow")
82
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "SolventCompositionPumpChannel2_Percentage")
83
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "Time")
84
- response_num = ObjHdrVal("RCPMP1Method[1]", "PumpChannel2_CompositionPercentage")
85
- response_num = ObjHdrVal("RCPMP1Method[1]", "Flow")
86
- response_num = ObjHdrVal("RCPMP1Method[1]", "StopTime_Time")
87
- response_num = ObjHdrVal("RCPMP1Method[1]", "PostTime_Time")
88
- response$ = AcqStatus$
89
- response$ = AcqStatus$
90
- response$ = AcqStatus$
91
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-27-23-59-41"
92
- response$ = AcqStatus$
93
- response$ = AcqStatus$
94
- response$ = AcqStatus$
95
- response$ = AcqStatus$
96
- response$ = AcqStatus$
97
- response$ = AcqStatus$
98
- response$ = AcqStatus$
99
- response$ = AcqStatus$
100
- response$ = AcqStatus$
101
- response$ = AcqStatus$
102
- response$ = AcqStatus$
103
- response$ = AcqStatus$
104
- response$ = AcqStatus$
105
- Local Rows
106
- Local Rows
107
- Local Rows
108
- Local Rows
109
- LoadMethod "C:\\Users\\Public\\Documents\\ChemStation\\1\\Methods\\", "testing.M"
110
- response$ = _MethFile$
111
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-28-00-01-48"
112
- Local Rows
113
- Local Rows
114
- Local Rows
115
- LoadMethod "C:\\Users\\Public\\Documents\\ChemStation\\1\\Methods\\", "testing.M"
116
- response$ = _MethFile$
117
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-28-00-02-04"
118
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-28-00-02-22"
119
- Rows = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
120
- response_num = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
121
- Local Rows
122
- Local Rows
123
- Local Rows
124
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-28-00-13-10"
125
- response$ = AcqStatus$
126
- response$ = AcqStatus$
127
- response$ = AcqStatus$
128
- Rows = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
129
- response_num = TabHdrVal(RCPMP1Method[1], "Timetable", "NumberOfRows")
130
- Sleep 0.1
131
- Print Rows
132
- response$ = _MethFile$
133
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "FlowFlow")
134
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "SolventCompositionPumpChannel2_Percentage")
135
- response_num = TabVal("RCPMP1Method[1]", "Timetable", 1, "Time")
136
- response_num = ObjHdrVal("RCPMP1Method[1]", "PumpChannel2_CompositionPercentage")
137
- response_num = ObjHdrVal("RCPMP1Method[1]", "Flow")
138
- response_num = ObjHdrVal("RCPMP1Method[1]", "StopTime_Time")
139
- response_num = ObjHdrVal("RCPMP1Method[1]", "PostTime_Time")
140
- response$ = AcqStatus$
141
- RunMethod "C:\Users\Public\Documents\ChemStation\1\data\",, "run_test_2025-03-28-00-14-53"
142
- response$ = AcqStatus$
143
- response$ = AcqStatus$
144
- response$ = AcqStatus$
145
- response$ = AcqStatus$
@@ -1,310 +0,0 @@
1
- {
2
- "cells": [
3
- {
4
- "cell_type": "code",
5
- "execution_count": 6,
6
- "metadata": {},
7
- "outputs": [
8
- {
9
- "name": "stdout",
10
- "output_type": "stream",
11
- "text": [
12
- "parsed_response = 'testing.M'\n",
13
- "switch method\n",
14
- "sample_name = 'run_0_test'\n",
15
- "check_hplc_is_running\n",
16
- "(<queue.Queue object at 0x000001D5B606D790>, False)\n",
17
- "check_hplc_is_running\n",
18
- "check_hplc_done_running\n",
19
- "done run\n",
20
- "done running\n",
21
- "No data at channel: G\n",
22
- "No data at channel: H\n",
23
- "got data\n"
24
- ]
25
- },
26
- {
27
- "data": {
28
- "text/plain": [
29
- "'C:\\\\Program Files (x86)\\\\Agilent Technologies\\\\ChemStation\\\\CORE'"
30
- ]
31
- },
32
- "execution_count": 6,
33
- "metadata": {},
34
- "output_type": "execute_result"
35
- }
36
- ],
37
- "source": [
38
- "from pychemstation.control import HPLCController\n",
39
- "import pandas as pd\n",
40
- "\n",
41
- "# C:\\Users\\Public\\Documents\\ChemStation\\1\n",
42
- "# these paths will be unique to your Chemstation setup\n",
43
- "\n",
44
- "DEFAULT_COMMAND_PATH = r\"C:\\Users\\User\\Finn\\code\\turbo_iroh\\sub_modules\\pychemstation\\letterbox\"\n",
45
- "DEFAULT_METHOD = \"testing\"\n",
46
- "DEFAULT_METHOD_DIR = r\"C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\Methods\\\\\"\n",
47
- "DATA_DIR = \"C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\data\\\\\" \n",
48
- "SEQUENCE_DIR = r\"C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\Sequence\\\\\"\n",
49
- "\n",
50
- "hplc_controller = HPLCController(data_dirs=[DATA_DIR],\n",
51
- " comm_dir=DEFAULT_COMMAND_PATH,\n",
52
- " sequence_dir=SEQUENCE_DIR,\n",
53
- " method_dir=DEFAULT_METHOD_DIR)\n",
54
- "\n",
55
- "# hplc_controller.preprun()\n",
56
- "\n",
57
- "hplc_controller.switch_method(method_name=DEFAULT_METHOD)\n",
58
- "print(\"switch method\")\n",
59
- "\n",
60
- "i = 0\n",
61
- "sample_name = f\"run_{i}_test\"\n",
62
- "print(f\"{sample_name = }\")\n",
63
- "\n",
64
- "hplc_controller.run_method(experiment_name=\"run_test\")\n",
65
- "print(\"done running\")\n",
66
- "\n",
67
- "input(\"is done?\")\n",
68
- "chrom = hplc_controller.get_last_run_method_data()\n",
69
- "print(\"got data\")\n",
70
- "\n",
71
- "\n",
72
- "\n",
73
- "\n",
74
- "# RunMethod \"C:\\Users\\Public\\Documents\\ChemStation\\1\\data\\\",, \"testingaaal\"\n",
75
- "# RunMethod \"C:\\Users\\Public\\Documents\\ChemStation\\1\\data\\\",, \"testingaaal\"\n",
76
- "\n",
77
- "\"C:\\\\program files (X86)\\\\Agilent Technologies\\\\chemstation\\\\core\"\n",
78
- "\"C:\\\\Program Files (x86)\\\\Agilent Technologies\\\\ChemStation\\\\CORE\""
79
- ]
80
- },
81
- {
82
- "cell_type": "code",
83
- "execution_count": null,
84
- "metadata": {},
85
- "outputs": [],
86
- "source": [
87
- "values = {\"x\": chrom.A.x, \"y\": chrom.A.y}\n",
88
- "chromatogram_data = pd.DataFrame.from_dict(values)\n",
89
- "chromatogram_data.to_csv(\"Run 10.csv\", index=False) "
90
- ]
91
- },
92
- {
93
- "cell_type": "code",
94
- "execution_count": 4,
95
- "metadata": {},
96
- "outputs": [
97
- {
98
- "data": {
99
- "text/plain": [
100
- "<pychemstation.utils.chromatogram.AgilentHPLCChromatogram at 0x1d584cef390>"
101
- ]
102
- },
103
- "execution_count": 4,
104
- "metadata": {},
105
- "output_type": "execute_result"
106
- }
107
- ],
108
- "source": [
109
- "chrom.A"
110
- ]
111
- },
112
- {
113
- "cell_type": "code",
114
- "execution_count": 7,
115
- "metadata": {},
116
- "outputs": [
117
- {
118
- "data": {
119
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGdCAYAAADaPpOnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAKPJJREFUeJzt3Ql4FdX9//Fv9gRJAoGsEFbZFHFhDyIgtLH4t6I+loLKIuIG/BTcQFEUbINraRGhbqB/pQh9ADeaiiBYBKSi/AWV2IR9SYAACQmShGT+zzn+kiaQm4XcmeTMfb+eZyR3MnNzMsTMh3O+54yfZVmWAAAAGMK/vhsAAABQG4QXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRAsVlSkpK5NChQxIeHi5+fn713RwAAFADas3cU6dOSUJCgvj7+/tWeFHBJTExsb6bAQAALsD+/fulZcuWvhVeVI9L6TcfERFR380BAAA1kJubqzsfSu/jPhVeSoeKVHAhvAAAYJaalHxQsAsAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGMV1i9QBNVFcYsnmjGz5MuOoHDh+WrLzi6RRSID0atNMRie1keBAcj0ANFR+lnoSksuWF46MjJScnBxW2PXhMHIsr1DOnC2WkAB/vVpj+Y8P556R/cdPy9kSz+8X0zhI2kc3Pu9c9XFoYIA0uyhYsvMLK/1cdHiotIwKk6T2zaVPu2YS4M8DQgHAm/dvel5gVEDZ+J9j8vdv9suBEz9LcIBfjcNIbR3JK5IjeSfq9B7zPs/Q47Ktm4VJXEToeUGooLhEEps2kluuailJFzcn5ABADdHzUscbp6d/3bvt46p6G5z4+PjpIvnPkTwpcdVP63+p2NIhOkyah4fRmwPAJ+XS8+JdqTsOy5Sl/09OFxbXd1PgUiqT/XT0Z73VpjfH39+fWh0APoeelxoEl3vf/cYrbQPsdm6tTlhQoFzeson060CPDQD33L8JL9UMFSWlfCZZpwq91j6gXoemYhpJ49AghqIANDgMG3nJlt3HCS5w19DUkdM1KiymmBhAQ0Z4qcKRU2fquwmAI9RErd3ZP+ut1Na9J2XltkPnFRMzFAWgvhFeqhATHlrfTQAaZDHxlxnZ8ur6DIaiANQLwksVerWNktjwYIaOgAsYiiofbNTUb2ZGAfAWCnarwWwjM1W1OFxla6f0bBMl/959XP6VfkS+259zQWve2LFYnq/MjKLGBkAus428u0gd67w0POfWYTSUIYuaPqbA7Yvu1QU1NoBvyiW8sMKu21bYdeO/zmvyM0VvTkWlQ1HhYcGu+lkAIIQXHswIN/HUm5N35qzsOqaCjav+F3ZNLxyA2iG8EF7gY8Gmslqd9KN5coRi87L6p/jIMEIN0IARXggvgFZ4tkTe3rhbL7iYf6ZIhKGoMoQaoGEhvBBegAsuLPb1YmJCDVA/CC+EF8CWYmJfHooi1AD2IrwQXgBHh6JUr01mToEcyvG9R2oQagDvILwQXoAGFWx8cWZUgIi0j7lIwsOCmNYN1ADhhfACGDMzypdqbFiAD/CM8EJ4AYxCjQ0L8AG5hBfCC+DWoahsH+ypiY5oxEMt4Xq5ToSXL774Ql544QXZunWrHD58WFasWCHDhg0r+7x62xkzZsjrr78uJ0+elH79+sn8+fOlQ4cOVb7vvHnz9PtmZmbK5ZdfLnPnzpVevXrVuF2EF8B3e2p8ZQ0b9VDLi2PCKRCGq9Tm/h14oV8kPz9fh4s777xTbr755vM+//zzz8tf/vIXefvtt6Vt27by5JNPSnJysvzwww8SGhpa6Xu+//77MmXKFFmwYIH07t1b5syZo89JS0uTmJiYC20qAJdRN+n+naL1VpM1bNwWao7kFcmRvONlr+d9nsGsJ/gUrwwbqX/xlO95UW+ZkJAgDz30kDz88MN6n0pSsbGxsmjRIvn9739f6fuowNKzZ0955ZVX9OuSkhJJTEyUSZMmydSpU2vUFnpeAFTGF0JNZUpDTUKTRhQHo0FzpOelKrt379bDPkOGDCnbpxqkwsmmTZsqDS+FhYV6CGratGll+/z9/fV7qHM8KSgo0Fv5bx4AzqVu1urGrTZfCjXqW9id/bPevszIllfXZ5QVBzcODeJBljCSLeFFBRdF9bSUp16Xfu5cx44dk+Li4krP2blzp8evlZKSIs8884xX2g3A9/hiqFHd7T8dOX3efoaf4NPhxUmqp0bVyZTveVFDTQBQF74Yas7tqSlFqIFPhJe4uDj9Z1ZWlsTHx5ftV6+vuOKKSs9p3ry5BAQE6GPKU69L368yISEhegOAhhJqDp74Wdf+pWXluWZad3WhJi4iVNc/FhSXsE4NzAwvanaRChxr1qwpCyuqR+Srr76S++67r9JzgoODpXv37vqc0sJfVbCrXk+cONGOZgKAI6HGzQvwVRZqtu49KSu3HdK1NR1jGkmnuEjx9/eTFk3prUE9h5e8vDxJT0+vUKS7bds2iYqKklatWsmDDz4ozz77rF7XpXSqtJqBVH4tmMGDB8tNN91UFk7U8M/o0aOlR48eem0XNVVaTckeO3ZsXb9PAGhw07rdvgCf+jbSjpzWW2W9NcyAguPh5euvv5ZBgwaVvS6tO1HhQ02HfvTRR3XwuPvuu/UidVdffbWkpqZWWOMlIyNDF+qWGj58uBw9elSeeuopXdirem3UOecW8QKAG6iVcsdf015vnnpqTp0pct1DLaubAcUzn1AdHg8AAIY91NJNBcLV0UNPsRdJq2YX8XgEl8vl2UaEFwDu5vZZT1Xh8QjuRHghvADwUZWFGrcUB1el/KwntcApD7I0D+GF8AIAVRYHiw89yDI2PFj6tm/O9O0GjvBCeAGAGvG14SddGBwdJtERjeidaWAIL4QXAKgTXws11NHUP8IL4QUAHAs1Z84WS0iAvxx32To1AX4il7aIkBu6taB3xgGEF8ILANSLc9epySs4K7uO5UtRsfm3Gnpn7EV4IbwAQIPh5hlQrBbsPYQXwgsAGDkDyg2hhoX1LgzhhfACAK4INfuy8yXDBY9HYLp29QgvhBcAcA23PR6h9GnbHWMjJDu/UAqKSySxaSOfDza5hBfCCwD44qynvDOqQNjcnprSYNM5vonPFQXnEl4ILwDgq8r31Hy+86jx07d9Zcp2LuGF8AIAqHz69qkzRUb3zsS6tH6G8EJ4AQD4QB2Nn4uGmQgvhBcAQB3qaNRMp237c4zsnfH/37Vn4iPDjFpQj/BCeAEA1JFbemdMqZ0hvBBeAAA2cNNqwa2jwuT2Pm0aTJAhvBBeAAAOMn1hvdgGUARMeCG8AADqkcnTtf1EpFPsRXJt5zhHn9VEeCG8AAAa8HTtkEB/aXZRsPx0JK/BBxs/EekQ00gahwZJWFCgbQ+gJLwQXgAABgab7QdzZJ8hRcEXhQTIC7d0k6HdErzyfoQXwgsAwFCmTdm+55q2Mm3oJY7evwPr/NUAAIDXqKEYNSyjNhPqZ/76xW65vGVTGdot3rGvSc8LAAAGKW6Aw0yqfmfLE0PqVANDzwsAAC4V4O8n/TtF683T2jNOL6iXnV+oh7j6tm/myNcjvAAA4KJhpvqqnTly6ow4hfACAIAP1c68vWm3rN151OtBJiY8VJxCeAEAwMfCTLGXi4DjI0OlV9socQrhBQAAHw4yU39TsQh4865syarFs5pUie6MGy5x9JEChBcAAHxcwDlFwOWf1ZR/pkjEz08XAR88cUYKi0sq9Lio4HJdV+emSds+VbpNmzayd+/e8/bff//9Mm/evPP2L1q0SMaOHVthX0hIiJw5U/MiIKZKAwBgD9VDowKNKs5VNS5qqMhbPS4NZqr0v//9bykuLi57vWPHDvnVr34lt956q8dzVIPT0tLKXvv5Of9kSwAAcD4VVJyaDl1v4SU6+pfup1KzZ8+W9u3by4ABAzyeo8JKXFycnc0CAAAG83fqCxUWFsq7774rd955Z5W9KXl5edK6dWtJTEyUG2+8Ub7//vsq37egoEB3NZXfAACAezkWXlauXCknT56UMWPGeDymU6dO8tZbb8kHH3ygg05JSYkkJSXJgQMHPJ6TkpKix8hKNxV6AACAezn2bKPk5GQJDg6Wjz76qMbnFBUVSZcuXWTEiBEya9Ysjz0vaiulel5UgKFgFwAAczSYgt1SasbRZ599JsuXL6/VeUFBQXLllVdKenq6x2PUbCS1AQAA3+DIsNHChQslJiZGrr/++lqdp2Yqbd++XeLjnZ0/DgAAfDi8qLoVFV5Gjx4tgYEVO3pGjRol06ZNK3s9c+ZM+fTTT2XXrl3yzTffyO233657be666y67mwkAAAxh+7CRGi7at2+fnmV0LrXf3/+/+enEiRMyfvx4yczMlKZNm0r37t1l48aNcskll9jdTAAAYAjHCnadwgq7AAC4+/7t2FRpAAAAbyC8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwiq3h5emnnxY/P78KW+fOnas8Z9myZfqY0NBQueyyy2TVqlV2NhEAABjG9p6XSy+9VA4fPly2bdiwweOxGzdulBEjRsi4cePk22+/lWHDhultx44ddjcTAAAYwvbwEhgYKHFxcWVb8+bNPR775z//Wa677jp55JFHpEuXLjJr1iy56qqr5JVXXrG7mQAAwBC2h5f//Oc/kpCQIO3atZPbbrtN9u3b5/HYTZs2yZAhQyrsS05O1vs9KSgokNzc3AobAABwL1vDS+/evWXRokWSmpoq8+fPl927d0v//v3l1KlTlR6fmZkpsbGxFfap12q/JykpKRIZGVm2JSYmev37AAAAPhJefvOb38itt94q3bp10z0oqvj25MmTsnTpUq99jWnTpklOTk7Ztn//fq+9NwAAaHgCnfxiTZo0kY4dO0p6enqln1c1MVlZWRX2qddqvychISF6AwAAvsHRdV7y8vIkIyND4uPjK/183759Zc2aNRX2rV69Wu8HAACwPbw8/PDDsn79etmzZ4+eBn3TTTdJQECAng6tjBo1Sg/7lHrggQd0fcxLL70kO3fu1OvEfP311zJx4kT+tgAAgP3DRgcOHNBBJTs7W6Kjo+Xqq6+WzZs3648VNfPI3/+/+SkpKUkWL14s06dPl8cff1w6dOggK1eulK5du9rZTAAAYBA/y7IscRE1VVrNOlLFuxEREfXdHAAA4OX7N882AgAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYxdbwkpKSIj179pTw8HCJiYmRYcOGSVpaWpXnLFq0SPz8/CpsoaGhdjYTAAAYxNbwsn79epkwYYJs3rxZVq9eLUVFRfLrX/9a8vPzqzwvIiJCDh8+XLbt3bvXzmYCAACDBNr55qmpqef1qqgemK1bt8o111zj8TzV2xIXF2dn0wAAgKEcrXnJycnRf0ZFRVV5XF5enrRu3VoSExPlxhtvlO+//97jsQUFBZKbm1thAwAA7uVYeCkpKZEHH3xQ+vXrJ127dvV4XKdOneStt96SDz74QN599119XlJSkhw4cMBjXU1kZGTZpgIPAABwLz/LsiwnvtB9990n//jHP2TDhg3SsmXLGp+n6mS6dOkiI0aMkFmzZlXa86K2UqrnRQUY1cujamcAAEDDp+7fqhOiJvdvW2teSk2cOFE+/vhj+eKLL2oVXJSgoCC58sorJT09vdLPh4SE6A0AAPgGW4eNVKeOCi4rVqyQtWvXStu2bWv9HsXFxbJ9+3aJj4+3pY0AAMAstva8qGnSixcv1vUraq2XzMxMvV91C4WFhemPR40aJS1atNC1K8rMmTOlT58+cvHFF8vJkyflhRde0FOl77rrLjubCgAADGFreJk/f77+c+DAgRX2L1y4UMaMGaM/3rdvn/j7/7cD6MSJEzJ+/HgddJo2bSrdu3eXjRs3yiWXXGJnUwEAgCEcK9htiAU/AADAvPs3zzYCAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADCKI+Fl3rx50qZNGwkNDZXevXvLli1bqjx+2bJl0rlzZ338ZZddJqtWrXKimQAAwAC2h5f3339fpkyZIjNmzJBvvvlGLr/8cklOTpYjR45UevzGjRtlxIgRMm7cOPn2229l2LBhetuxY4fdTQUAAAbwsyzLsvMLqJ6Wnj17yiuvvKJfl5SUSGJiokyaNEmmTp163vHDhw+X/Px8+fjjj8v29enTR6644gpZsGBBtV8vNzdXIiMjJScnRyIiIrz83QAAADvU5v5ta89LYWGhbN26VYYMGfLfL+jvr19v2rSp0nPU/vLHK6qnxtPxBQUF+hsuvwEAAPeyNbwcO3ZMiouLJTY2tsJ+9TozM7PSc9T+2hyfkpKik1rppnp1AACAexk/22jatGm6i6l0279/f303CQAA2CjQzjdv3ry5BAQESFZWVoX96nVcXFyl56j9tTk+JCREbwAAwDfY2vMSHBws3bt3lzVr1pTtUwW76nXfvn0rPUftL3+8snr1ao/HAwAA32Jrz4uipkmPHj1aevToIb169ZI5c+bo2URjx47Vnx81apS0aNFC164oDzzwgAwYMEBeeukluf7662XJkiXy9ddfy2uvvWZ3UwEAgAFsDy9q6vPRo0flqaee0kW3aspzampqWVHuvn379AykUklJSbJ48WKZPn26PP7449KhQwdZuXKldO3a1e6mAgAAA9i+zovTWOcFAADzNJh1XgAAALyN8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBRbwsuePXtk3Lhx0rZtWwkLC5P27dvLjBkzpLCwsMrzBg4cKH5+fhW2e++9144mAgAAQwXa8aY7d+6UkpIS+etf/yoXX3yx7NixQ8aPHy/5+fny4osvVnmuOm7mzJllrxs1amRHEwEAgKFsCS/XXXed3kq1a9dO0tLSZP78+dWGFxVW4uLi7GgWAABwAcdqXnJyciQqKqra49577z1p3ry5dO3aVaZNmyanT5+u8viCggLJzc2tsAEAAPeypeflXOnp6TJ37txqe11GjhwprVu3loSEBPnuu+/kscce0z02y5cv93hOSkqKPPPMMza0GgAANER+lmVZNT146tSp8txzz1V5zI8//iidO3cue33w4EEZMGCALsZ94403atW4tWvXyuDBg3X4UUW/nnpe1FZK9bwkJibqnp6IiIhafT0AAFA/1P07MjKyRvfvWoWXo0ePSnZ2dpXHqPqW4OBg/fGhQ4d0aOnTp48sWrRI/P1rN0qlCnwbN24sqampkpyc7PVvHgAANAy1uX/XatgoOjpabzWhelwGDRok3bt3l4ULF9Y6uCjbtm3Tf8bHx9f6XAAA4E62FOyq4KJ6XFq1aqXrXFSPTWZmpt7KH6OGl7Zs2aJfZ2RkyKxZs2Tr1q16nZgPP/xQRo0aJddcc41069bNjmYCAAAD2VKwu3r1al2noraWLVtW+FzpKFVRUZEuxi2dTaSGmj777DOZM2eOHi5SdSu33HKLTJ8+3Y4mAgAAQ9Wq5sUE1LwAAODu+zfPNgIAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMIpt4aVNmzbi5+dXYZs9e3aV55w5c0YmTJggzZo1k8aNG8stt9wiWVlZdjURAAAYyNael5kzZ8rhw4fLtkmTJlV5/OTJk+Wjjz6SZcuWyfr16+XQoUNy880329lEAABgmEA73zw8PFzi4uJqdGxOTo68+eabsnjxYrn22mv1voULF0qXLl1k8+bN0qdPHzubCgAADGFrz4saJlJDQFdeeaW88MILcvbsWY/Hbt26VYqKimTIkCFl+zp37iytWrWSTZs22dlMAABgENt6Xv7nf/5HrrrqKomKipKNGzfKtGnT9NDRyy+/XOnxmZmZEhwcLE2aNKmwPzY2Vn/Ok4KCAr2Vys3N9eJ3AQAAjO55mTp16nlFuOduO3fu1MdOmTJFBg4cKN26dZN7771XXnrpJZk7d26FoOENKSkpEhkZWbYlJiZ69f0BAIDBPS8PPfSQjBkzpspj2rVrV+n+3r1762GjPXv2SKdOnc77vKqNKSwslJMnT1bofVGzjaqqm1E9Oioole95IcAAAOBetQov0dHRersQ27ZtE39/f4mJian08927d5egoCBZs2aNniKtpKWlyb59+6Rv374e3zckJERvAADAN9hS86IKbL/66isZNGiQnnGkXqtp0Lfffrs0bdpUH3Pw4EEZPHiwvPPOO9KrVy895DNu3Djdi6LqZCIiIvTUahVcmGkEAABsDS+qJ2TJkiXy9NNP6xqXtm3b6vBSfnhHzSxSPSunT58u2/enP/1J986onhd1XnJysrz66qt2NBEAABjKz7IsS1xE1byoXhy1bozqvQEAAO66f/NsIwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjBJY3w0AvKakWGT3v0R2rxM58K3I2dMiAaG/fK74jPc+DgwTaRwj0rSVSNsBIm2uFvEPcPZ7BQAfRnhBww8kGetEvvubyIl9IgEhlQeKgjyR7J9ESs46275/vSQifiLNO4uEhnsOPEGNRBKuEmk/kLADAHVEePH2TdStH6vehkbNRU4fEzn7szNfW32tYztFrBJp2CyRYz9Wf5jqEfry5arDjp+fSMhFIq37ifS6WyQw2PbWA4Bp/CzLsrz9puvWrZNBgwZV+rktW7ZIz549K/3cwIEDZf369RX23XPPPbJgwYIaf+3c3FyJjIyUnJwciYiIEK/44UORlfeKFOZ75/2AmrooVqR5p18+ZsgKgIvl1uL+bUt4KSwslOPHj1fY9+STT8qaNWskIyND/NS/Lj2El44dO8rMmTPL9jVq1KhWIcTr4UUFl6V31P19AFv4i0S1EwlPOL8Hq6RApElrkctHirS7hpADoEGrzf3blmGj4OBgiYuLK3tdVFQkH3zwgUyaNMljcCkfVsqfW+9DRaseqe9WAFUoETme/stWmf1fiWxf+stQVbNOv/TaEHAAGM6RmpcPP/xQsrOzZezYsdUe+95778m7776rA8wNN9yge2xUoPGkoKBAb+WTm9fs3SiSl+m99wPqjSWSvfOX7VwEHACGcSS8vPnmm5KcnCwtW7as8riRI0dK69atJSEhQb777jt57LHHJC0tTZYvX+7xnJSUFHnmmWdsaLWI5GXZ876A2wJOaT3ORdEi/v4iTRKpyQFgm1rVvEydOlWee+65Ko/58ccfpXPnzmWvDxw4oAPJ0qVL5ZZbbqlV49auXSuDBw+W9PR0ad++fY17XhITE71T86LWDHn7/9TtPQCfVklNDkXHAJws2D169Kge/qlKu3btdM1LqVmzZsncuXPl4MGDEhQUJLWRn58vjRs3ltTUVN1z43jBrqp5efkSho4AW1F0DEDsK9iNjo7WW02pXLRw4UIZNWpUrYOLsm3bNv1nfHy81Av1i3LoC8w2css0Y2+tQZN7SCT3gLPfi6vVseiYRQABn2PLVOlSamr0kCFDzhtKUlRPjBoSeuedd6RXr156CvXixYtl6NCh0qxZM13zMnnyZF0nc+7aL1VhnRc3q+Lm5fQCb2cLRbb8VWTvpl9W91X/G3kKPGrlX3rvHFTNisf05gANUr2v81K+AHfv3r3y5Zdfnve5PXv2SNu2beXzzz/X67vs379fbr/9dtmxY4ceLlJ1KzfddJNMnz69ftd5KcUKu86vsOumG01Nwk59PeLAp1VTgExtDuB74aU+2BZegPp+uGTeIZETewg3DbE2h6EroM4IL4QXuD3c7PlC5PhekfyjlfeEGfNcKLfyF2nRUyQo1HNPpVt6FQEvIbwQXoDqhzoJOA0Iw1dALuGF8ALUCAHHQAxfwZ0IL4QXwPlidV1wnC5SUlivzUUtZl5VV6RPjw8cRHghvAANsyaHomP39vhUN1Px52yR4EbOLGUAIxFeCC9Aw0XRMWqziCTDYD4jl/BCeAF8ZsiKRQB9yAUMgzm5eCXqhPBCeAF8S01XPKY3B7V5bAjBx1GEF8ILgLr05lCbA289L41hrxojvBBeADhVm6MwdIXaDnvV9ZErQeVCUau+Ins3ev5ZNWRBRMIL4QVAfQ5dqYe4hjXzfGNi+AoN9QG39TiFnvBCeAHQ0DF8BTcIixK54c8il/y2zm9FeCG8AHALhq9ggt/93zoHmNrcvwPr9JUAAPZSXfKqrkFt3px5VdXH9PigtlKninS+3rF6GsILALiJms6bNOmXzaken+pqJM4WiBz6mjDkZrkHfykabtvfkS9HeAEA1L3Hp6ZhaPc6kQPfipw9XX34YRjMLHlZjn0pwgsAoOGGoboMg+mHhf5Ej49TGsc69qUILwAA9w6DXUiPD8Gn9iJaiLROEqcQXgAA7lWX4a8LDT6+OOx13WxHF78jvAAAYFfdj6dhr7qssJtdXSjyF4lqJxKeYP+CiF5c56U2CC8AADT02V/Vreh8UbTnVW9rsiBiA1hhtzZYpA4AABh1//Z3rFUAAABeQHgBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIziuscDlC4YrFbqAwAAZii9b9dk4X/XhZdTp07pPxMTE+u7KQAA4ALu4+oxAT71bKOSkhI5dOiQhIeHi5+fn1cToQpE+/fv55lJNuNaO4Pr7Ayus3O41mZfZxVHVHBJSEgQf39/3+p5Ud9wy5YtbXt/9RfF/xTO4Fo7g+vsDK6zc7jW5l7n6npcSlGwCwAAjEJ4AQAARiG81FBISIjMmDFD/wl7ca2dwXV2BtfZOVxr37nOrivYBQAA7kbPCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8lDNv3jxp06aNhIaGSu/evWXLli1VHr9s2TLp3LmzPv6yyy6TVatWOdZWX7rWr7/+uvTv31+aNm2qtyFDhlT7d4ML+5kutWTJEr1C9bBhw2xvoy9e55MnT8qECRMkPj5ez9jo2LEjvz9sutZz5syRTp06SVhYmF4VdvLkyXLmzBnH2muiL774Qm644Qa90q36PbBy5cpqz1m3bp1cddVV+uf54osvlkWLFtnbSDXbCJa1ZMkSKzg42Hrrrbes77//3ho/frzVpEkTKysrq9Ljv/zySysgIMB6/vnnrR9++MGaPn26FRQUZG3fvt3xtrv9Wo8cOdKaN2+e9e2331o//vijNWbMGCsyMtI6cOCA421383UutXv3bqtFixZW//79rRtvvNGx9vrKdS4oKLB69OhhDR061NqwYYO+3uvWrbO2bdvmeNvdfq3fe+89KyQkRP+prvM///lPKz4+3po8ebLjbTfJqlWrrCeeeMJavny5mo1srVixosrjd+3aZTVq1MiaMmWKvh/OnTtX3x9TU1NtayPh5X/16tXLmjBhQtnr4uJiKyEhwUpJSan0+N/97nfW9ddfX2Ff7969rXvuucf2tvratT7X2bNnrfDwcOvtt9+2sZW+eZ3VtU1KSrLeeOMNa/To0YQXG67z/PnzrXbt2lmFhYUOttI3r7U69tprr62wT91g+/XrZ3tb3UJqEF4effRR69JLL62wb/jw4VZycrJt7WLYSEQKCwtl69atejii/DOS1OtNmzZVeo7aX/54JTk52ePxuPBrfa7Tp09LUVGRREVF2dhS37zOM2fOlJiYGBk3bpxDLfW96/zhhx9K37599bBRbGysdO3aVf74xz9KcXGxgy33jWudlJSkzykdWtq1a5cenhs6dKhj7fYFm+rhfui6BzNeiGPHjulfHOoXSXnq9c6dOys9JzMzs9Lj1X5491qf67HHHtNjsef+z4K6XecNGzbIm2++Kdu2bXOolb55ndUNdO3atXLbbbfpG2l6errcf//9OpCrVUvhvWs9cuRIfd7VV1+tn1h89uxZuffee+Xxxx93qNW+IdPD/VA9ffrnn3/W9UbeRs8LjDJ79mxdTLpixQpdsAfvUI+hv+OOO3RxdPPmzeu7Oa5WUlKie7dee+016d69uwwfPlyeeOIJWbBgQX03zXVUEanq1Xr11Vflm2++keXLl8snn3wis2bNqu+moY7oeRHRv6wDAgIkKyurwn71Oi4urtJz1P7aHI8Lv9alXnzxRR1ePvvsM+nWrZvNLfWt65yRkSF79uzRMwzK32SVwMBASUtLk/bt2zvQcvf/PKsZRkFBQfq8Ul26dNH/elVDI8HBwba321eu9ZNPPqlD+V133aVfq1mh+fn5cvfdd+vAqIadUHee7ocRERG29Loo/M2J6F8W6l9Aa9asqfCLW71WY9OVUfvLH6+sXr3a4/G48GutPP/88/pfS6mpqdKjRw+HWus711lN+d++fbseMirdfvvb38qgQYP0x2qKKbzz89yvXz89VFQaDpWffvpJhxqCi3evtaqPOzeglIZGHuvnPfVyP7StFNjAKXhqSt2iRYv0VK+7775bT8HLzMzUn7/jjjusqVOnVpgqHRgYaL344ot6+u6MGTOYKm3TtZ49e7aeHvn3v//dOnz4cNl26tSpevwu3Hedz8VsI3uu8759+/RsuYkTJ1ppaWnWxx9/bMXExFjPPvtsPX4X7rzW6veyutZ/+9vf9HTeTz/91Grfvr2eLQrP1O9WtTSF2lRMePnll/XHe/fu1Z9X11hd63OnSj/yyCP6fqiWtmCqtIPU3PRWrVrpG6Wakrd58+ayzw0YMED/Mi9v6dKlVseOHfXxaprYJ598Ug+tdv+1bt26tf4f6NxN/WKCd3+myyO82HedN27cqJdWUDdiNW36D3/4g56mDu9e66KiIuvpp5/WgSU0NNRKTEy07r//fuvEiRP11HozfP7555X+zi29tupPda3PPeeKK67Qfy/qZ3rhwoW2ttFP/ce+fh0AAADvouYFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAADHJ/wf8vfUV31t0xwAAAABJRU5ErkJggg==",
120
- "text/plain": [
121
- "<Figure size 640x480 with 1 Axes>"
122
- ]
123
- },
124
- "metadata": {},
125
- "output_type": "display_data"
126
- }
127
- ],
128
- "source": [
129
- "import matplotlib.pyplot as plt\n",
130
- "\n",
131
- "# plt.scatter(chrom.A.x, chrom.A.y, label=\"A\")\n",
132
- "plt.scatter(chrom.D.x, chrom.D.y, label=\"D\")\n",
133
- "plt.scatter(chrom.F.x, chrom.F.y, label=\"F\")\n",
134
- "plt.show()\n"
135
- ]
136
- },
137
- {
138
- "cell_type": "code",
139
- "execution_count": 1,
140
- "metadata": {},
141
- "outputs": [
142
- {
143
- "name": "stdout",
144
- "output_type": "stream",
145
- "text": [
146
- "sample_name = 'run_0_test'\n"
147
- ]
148
- }
149
- ],
150
- "source": [
151
- "from pychemstation.control import HPLCController\n",
152
- "import pandas as pd\n",
153
- "import time\n",
154
- "# C:\\Users\\Public\\Documents\\ChemStation\\1\n",
155
- "# these paths will be unique to your Chemstation setup\n",
156
- "\n",
157
- "DEFAULT_COMMAND_PATH = r\"C:\\Users\\User\\Finn\\code\\turbo_iroh\\sub_modules\\pychemstation\\letterbox\"\n",
158
- "DEFAULT_METHOD = \"testing\"\n",
159
- "DEFAULT_METHOD_DIR = r\"C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\Methods\\\\\"\n",
160
- "DATA_DIR = \"C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\data\\\\\" \n",
161
- "SEQUENCE_DIR = r\"C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\Sequence\\\\\"\n",
162
- "\n",
163
- "hplc_controller = HPLCController(data_dirs=[DATA_DIR],\n",
164
- " comm_dir=DEFAULT_COMMAND_PATH,\n",
165
- " sequence_dir=SEQUENCE_DIR,\n",
166
- " method_dir=DEFAULT_METHOD_DIR)\n",
167
- "\n",
168
- "# hplc_controller.preprun()\n",
169
- "\n",
170
- "# hplc_controller.switch_method(method_name=DEFAULT_METHOD)\n",
171
- "# print(\"switch method\")\n",
172
- "\n",
173
- "i = 0\n",
174
- "sample_name = f\"run_{i}_test\"\n",
175
- "print(f\"{sample_name = }\")\n",
176
- "\n"
177
- ]
178
- },
179
- {
180
- "cell_type": "code",
181
- "execution_count": 6,
182
- "metadata": {},
183
- "outputs": [],
184
- "source": [
185
- "hplc_controller.run_method(experiment_name=\"run_test\", stall_while_running=False)"
186
- ]
187
- },
188
- {
189
- "cell_type": "code",
190
- "execution_count": 7,
191
- "metadata": {},
192
- "outputs": [
193
- {
194
- "name": "stdout",
195
- "output_type": "stream",
196
- "text": [
197
- "check_hplc_is_running\n"
198
- ]
199
- }
200
- ],
201
- "source": [
202
- "hplc_controller.wait_hplc_running()"
203
- ]
204
- },
205
- {
206
- "cell_type": "code",
207
- "execution_count": 8,
208
- "metadata": {},
209
- "outputs": [
210
- {
211
- "name": "stdout",
212
- "output_type": "stream",
213
- "text": [
214
- "Finished HPLC run: True\n",
215
- "Looking for:\n",
216
- "most_recent_folder = 'C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\data\\\\run_test_2025-03-28-00-14-53.D'\n",
217
- "Looking for:\n",
218
- "most_recent_folder = 'C:\\\\Users\\\\Public\\\\Documents\\\\ChemStation\\\\1\\\\data\\\\run_test_2025-03-28-00-14-53.D'\n"
219
- ]
220
- }
221
- ],
222
- "source": [
223
- "# custom wait\n",
224
- "hplc_controller.wait_hplc()"
225
- ]
226
- },
227
- {
228
- "cell_type": "code",
229
- "execution_count": 9,
230
- "metadata": {},
231
- "outputs": [
232
- {
233
- "name": "stdout",
234
- "output_type": "stream",
235
- "text": [
236
- "No data at channel: G\n",
237
- "No data at channel: H\n",
238
- "got data\n"
239
- ]
240
- },
241
- {
242
- "data": {
243
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGdCAYAAAAfTAk2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1eUlEQVR4nO3deXxU5aH/8e9MVpYsRAIxGkBEgbhUhIJBRSyIKWi11fZHiwpeC25Iq1hBa+vCVVCpdam9qFWrVUsrFxWtohHkeosIFElFNgVRgSSgRjJANGY5vz+4E5Mwyzkzc2Z5+Lxfr3m1TM6ceeZx5pzvebbjsSzLEgAAgEG8iS4AAABArBFwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGSU90ARKhpaVFVVVVysnJkcfjSXRxAACADZZlae/evSouLpbXG7qN5pAMOFVVVSopKUl0MQAAQAS2b9+uI488MuQ2h2TAycnJkXSggnJzcxNcGgAAYIfP51NJSUnreTyUQzLg+LulcnNzCTgAAKQYO8NLGGQMAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABjnkFzoDwBSQXOLpVXbarV779fqkZOtoUcVKM3L/fMAOwg4AJBE/KHm9fXVWvDuTu39uqn1b/mdMnTpqX009XvHEHSAMDyWZVmJLkS8+Xw+5eXlqa6ujls1AEgai9+v1m0vbVB13dcht8vO8Oqn3y3RmOMOp1UHhxQn528CDgEHQBJY/H61rnz6XTk9IBd0ydB/nne8xp5YHLOy+FuRauq+0uf7GrTnq0Z55FHZ0YfplL6HEaiQMAScMAg4AJJJc4ulwf9ZoT31jRHv49wTi3Tf+JMjCh/NLZbe2fqFVnz0uT7cvU9vb/2iXddYW50z03T5iL50kyEhCDhhEHAAJJP7Kj7QfUs+jHo/XbLSdM8FJ9puzWlusfSHpVv08FtbVf9Ns6vvBcQCAScMAg4iEajZ3rKkbp0z1T0nS0W5zHKBc6+8V6Wrn13ruGsqFDutOYvfr9bMheuiajWy+15gRlysEHDCIODAKbuDP90YDwFzLX6/Wlc8/a4r+w7VwhLr983vnKE5PzpB5ccfHrN9msLfSvbE8m3a89W3YfLwvGzdcm4pdeYQAScMAg6ciGTw5+UjjtKNY0tdKxNSX3OLpdPuWho2NEer43fxm6YWnTyrQvsaAo+xica8i07mhN3GK+9V64b/fi9kXSeqztqOu1IKDSB3cv5mHRwghOYWSzMXrnPcffDwW9t0QnG+zjmJlhwEtmpbrevhRmr/XVz8frWmP/dv7W9wNt7GrpkL1+ms0qKkP0nGw+xXNujht7aF3S7edRZs3NUf3txi3AByAg4QwoNLPox4jMK0v62V1+vR2BO5osXBdu91P9z4XTN/rSq379Gfloc/4UZjT32jHljyoa4961hX3yfZvVxZZSvcSO7UWbDWmYoNNSHHXdV/06zfv/GhHvnfj4wYQE4XFV1UCOLlyipNnb826v18//giXXRK75Ro/kVgbU8YLTEaWH7/Gx/o92/Ymzk17oQirfioVrX7v3H8PvHm8UgP/fRk28E+Xmvu2JkkMLh3N6355MuoJhJEctwIVmdty1y7/xsVdA1fhmCDx9O9HjW1ODvdJ+MAcsbghEHAQTh2m5edyEr36nsDesQk7HQ84eZ1ypDv628PxgVdMrWn3t4BEYH56/jplR/rzU2f6eumloDbRTKwvLnF0vDZS7Rrb0PI7bwe6Q//d+JrewuHZ1d9qoam5D50hxpbEup2FG3FavCy3UkCHilsd3ROdpouPPnIg1aRbm6x9Iv5a/Xye9URl7Ntnb3yXrVufvH9gKE22ADlV96r1lXPxnbQerItB0DACcPEgBNJ0jdNrKZxx6rlJpRIDtx2T7iBRDq761Cd2hrJFGonV7t2W29+MeqYgF0XsTiZ2tU1y6vuXbP18Rf1jl6X3zlDa24+66D6sBs22vrjzwZp7InFEbWkRbpCtB1ds7w6rV+hLEnLNu+OOnR2yUrTv359ln614N+2/tu2DURuH7eSZeIEAScMUwKOnaugQ2XacqirnbaCXX35xSPctOU/cAcTTagJ5OSSPE0/e0DYFqRgU1sPhe9TNFfBdoKrkyna948/SeeddETQv7/yXrV+teDf2u9wkb5QMtOk68cMUGFudrvg8Mp71bruuUp93Wj/O9gxoEUTNk46Mk+bavYG/Q0EuhFpLFaITmb+EHn34o0xb3EO5A/jByV84gQBJ4xUCjjBuiK2hFlOvaNk7EuVImsh6NhS84911arcXuf4vTs287rRLRWOR9KDAQ4a0awwa0eo2RJ2prZG+31KthZHf3kWv1+lJ1d8GvX+ggVXp1PD/zr5FJUdfVjIbWLdmhOqaymSKeb+k2K8wkbbLpVYrRCdzAb07KJNu/bH7f0uOaWXeh/WJWG/WQJOGKkQcNw4wSXTYlyRthDYbalxYt5FJ6ulxdJVzzpvufnOkbn69w5f1GVo2/xrJ2DEStvvhNMTZaTfp1D/DePZQmR3HEgkggXXFVu/0E8ffcfWPg7Py9Y/Z3zP9skj2tbHrlnpmvvjE8P+94xkkcBzTyzSUd276oGlWyIun1OjBnTXkk2fx+39DlXxbtUl4ISR7AEnVkuoB3Pt6GMSus6BnRP4oCNzNfbEI9rNbrju75WujDnonOlVVnqavnRQ320Hf8bqKvGBn5yk1zftisu4io4mn36Unl35aURdHXYWKvO3RM59fZPW2mhtc6vF0c1QE0jHz3HbovV64u2Pbb02kgXgIg05XbLStPY3Y5SZ7rW1vRu3l0Bqi9cYHQJOGMkccNxcur2tbp0zdMf5x+vs4w8P2AXm1jTNeA2MdFvbvmjT+/nD8Q+MrNy+56AB3nmdMrR2+5daFsH4oewMr3763ZJ246XCzR7rOODUyV2y3eLvMpFkOxRcO/pY/WL0MRG9XyRdrZGEqUOh+yfWxh7XU6+s35XoYrimbXekW5MTCDhhJGvAScSJMs0rNYc470S7smWqTW21I9CVipszNSB165yuU4/urqWbP7PVZds1y6t+PXK0qTr4oNRkVdA5Q6sDzD5ywm43Z7fOGZodYbf1oR7snbp8xFG6oXxgUtZZNC24HY09vkhvb/3CtftuEXDCcCvgRJtanSz8FW921kLoOHD009p6LVzrfjdAvAQbV+EXyfRXoKP/OLWPfnvucVHvJ9Q4vi6ZaZoSgyX549XinMq6ZqXp7jbHzmSqs7bBw80Wdv837L9icN8tAk4YbgScQCc3J6m1ucXSybMqVPdVciX7joKNjXBj8G+ysTNFsuMMrzWffqk3N+5WQ/Mh9zMzUna6VwMOzzkwXdnBdGkn7MyccsLtmyrGcjxOVprk0m2yAjqpJE9bP9sf8CKs7Ro3kXZtBjteLn6/WjP++z3VfeX+xd/k0/to5LE9ba8d5NZSGR5JRQ4HzgdCwAkj1gEnXPeEnUG9ydx601HH2TOJmF4db9EMoGtusXT/Gx+4MoMkO92rkf0LNahXt3ZjUXZ8Wa+//Wu7ayfhQ9G0M/vpF2cd2zq254ElH+r+GI9BcTpzKlnE4qToP07GY02XQCtEh1qywOngdDszi5y0mAzulad3P61zFCLDtTiH4uZ6YNEGeAJOGLEMOHbXteiS6dXpxxSqX4+cg66gkqnJ0ol5F52spiYrrgvj2ZWV7tGZ/XvIkrR8y+faF8VlYbDVZJ2KVRDMTvfqTBu3fHB7LZ1DSbCAG+sTQSSDfZNFpN/vtmHDL1yLsD/Y76lv1Dvbah2/ZzQL1sVqxXQ/u8smOF2AMtwiouG4deEabvHKcAg4YcQy4DhZ16It/32Jfja0l66ZvzbqQWdtV+g9qSRf373jDdfXUUnzSMnW8xJobIH/RP/7Nz5wvL9YDPhsK5oTot1ViDtqbrH09oefa/Jf/hXRgNvOGR61yHNItgbZuRKPxYnA6Q0qk1UkKysHCxt2b8Lp9DeVLLccaMvuwpd2lhCJZuB4R24MPaAFx2WxDDgvVu7UL+ZXxqZgYWSmSded1V97G5rCXjEcKrN6/C01gVrGOoqk3/uPP4v9ScfpAbnjIMVIRbpA233jT1bFhpqUbGWMRLjbeQQS7S0TYtVKmAycdL3EKmzYad2I1e8o0YItleDG0h7+92sbvj7+Yr/+8k5kq33HoguWgBNGMrTgRMJp83WqzOrpkunVmf172J4C7BfJYnCJOPgGYveqP9YL3tldRDLQySDWAyP9rW1Xjuzn2iKOdkUSajqKdBZKsJtSprp4r1gd7Lsdqxlj+FYkLdEeMYsqLmI9BmfwrIp2c/7dEOnCX20Hx/11dfINOm17Are7KFssDo7JcLuARJUhmunD0U4lDTV+KN4z8WIRagJx2pqTyuNuwon3PcfcnjGGbznpmo1ltxkBJ4xYz6JyewZUXqd0vfubMVH/SEOd2NrOxnn1/chuXumE3VkGbh4ck+GGj4ksQzQng1BhxD+9tm9hV8fN504C+aAjc1V+QrGtm8/6v9+DexdENBDUKTtBMJYHfSAR4nFj3o4IOGHEOuC4vaJnNMu2B2LnxPbKe9W67rnKmLb4uHXFjMSIRwB1ckNWu4NS4ylQEMzvlKFLT+1DlwmMEOmNkyNFwAnDrYX+3BjUm8j++W+aWnTyrIqIZ2Ndckov9T6sS0JaRmAON+9rEw+pXn7Ajnh9zwk4Ybh1qwY3BvUmun8+0jV6ollnAgCAQJycv71xKtMhofz4w/XPGd/TXyefokuH91ZOdnrE+/J6DkxRTnT/fPnxh2veRScrv3OG7ddcPuIowg0AIKFowXHxbuKB7ku0bNNnthZbi3YVylizsypuvGYfAQAOTXRRhRGvgBOIf4Dv0ys/1psBwk6yz6zouMhUpMuTAwDgFAEnjEQGnLZYswEAAPucnL8jHySCqKV5PTr1mO469ZjuiS4KAABGYZAxAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADCOawGntrZWEyZMUG5urvLz83XZZZdp3759IV/zyCOPaOTIkcrNzZXH49GePXtisl8AAHBocS3gTJgwQevXr1dFRYVefvllvfXWW5oyZUrI19TX16u8vFw33XRTTPcLAAAOLa7cbHPjxo0qLS3V6tWrNWTIEEnS4sWLNXbsWO3YsUPFxcUhX79s2TKdeeaZ+vLLL5Wfnx+z/foly802AQCAfU7O36604KxYsUL5+fmtIUSSRo8eLa/Xq5UrV8Z9vw0NDfL5fO0eAADAXK4EnJqaGvXo0aPdc+np6SooKFBNTU3c9zt79mzl5eW1PkpKSiIuAwAASH6OAs7MmTPl8XhCPjZt2uRWWSN24403qq6urvWxffv2RBcJAAC4KN3JxtOnT9ekSZNCbtO3b18VFRVp9+7d7Z5vampSbW2tioqKHBfSL9L9ZmVlKSsrK+L3BQAAqcVRwCksLFRhYWHY7crKyrRnzx6tWbNGgwcPliQtXbpULS0tGjZsWGQldXG/AADALK6MwRk4cKDKy8s1efJkrVq1SsuXL9fUqVM1fvz41plOO3fu1IABA7Rq1arW19XU1KiyslJbtmyRJK1bt06VlZWqra21vV8AAADX1sF55plnNGDAAI0aNUpjx47VaaedpkceeaT1742Njdq8ebPq6+tbn5s3b54GDRqkyZMnS5JGjBihQYMGadGiRbb3CwAA4Mo6OMmOdXAAAEg9CV8HBwAAIJEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYx7WAU1tbqwkTJig3N1f5+fm67LLLtG/fvpCveeSRRzRy5Ejl5ubK4/Foz549B23Tp08feTyedo85c+a49CkAAEAqci3gTJgwQevXr1dFRYVefvllvfXWW5oyZUrI19TX16u8vFw33XRTyO1uv/12VVdXtz6uueaaWBYdAACkuHQ3drpx40YtXrxYq1ev1pAhQyRJDz74oMaOHau5c+equLg44Ot++ctfSpKWLVsWcv85OTkqKiqKZZEBAIBBXGnBWbFihfLz81vDjSSNHj1aXq9XK1eujHr/c+bM0WGHHaZBgwbpnnvuUVNTU9T7BAAA5nClBaempkY9evRo/0bp6SooKFBNTU1U+542bZpOPvlkFRQU6O2339aNN96o6upq3XvvvUFf09DQoIaGhtZ/+3y+qMoAAACSm6MWnJkzZx40wLfjY9OmTW6VVZJ03XXXaeTIkTrxxBN1xRVX6He/+50efPDBdgGmo9mzZysvL6/1UVJS4moZAQBAYjlqwZk+fbomTZoUcpu+ffuqqKhIu3fvbvd8U1OTamtrYz52ZtiwYWpqatLHH3+s/v37B9zmxhtv1HXXXdf6b5/PR8gBAMBgjgJOYWGhCgsLw25XVlamPXv2aM2aNRo8eLAkaenSpWppadGwYcMiK2kQlZWV8nq9B3WJtZWVlaWsrKyYvi8AAEherozBGThwoMrLyzV58mTNmzdPjY2Nmjp1qsaPH986g2rnzp0aNWqUnnrqKQ0dOlTSgbE7NTU12rJliyRp3bp1ysnJUa9evVRQUKAVK1Zo5cqVOvPMM5WTk6MVK1bo2muv1UUXXaRu3bq58VEAAEAKcm0dnGeeeUYDBgzQqFGjNHbsWJ122ml65JFHWv/e2NiozZs3q76+vvW5efPmadCgQZo8ebIkacSIERo0aJAWLVok6UBLzPz583XGGWfouOOO0x133KFrr7223X4BAAA8lmVZiS5EvPl8PuXl5amurk65ubmJLg4AALDByfmbe1EBAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGMfVgFNbW6sJEyYoNzdX+fn5uuyyy7Rv376Q219zzTXq37+/OnXqpF69emnatGmqq6trt92nn36qcePGqXPnzurRo4d+9atfqampyc2PAgAAUki6mzufMGGCqqurVVFRocbGRl166aWaMmWKnn322YDbV1VVqaqqSnPnzlVpaak++eQTXXHFFaqqqtKCBQskSc3NzRo3bpyKior09ttvq7q6WpdccokyMjJ05513uvlxAABAivBYlmW5seONGzeqtLRUq1ev1pAhQyRJixcv1tixY7Vjxw4VFxfb2s9zzz2niy66SPv371d6erpeffVVnXPOOaqqqlLPnj0lSfPmzdOMGTP02WefKTMzM+w+fT6f8vLyVFdXp9zc3Mg/JAAAiBsn52/XuqhWrFih/Pz81nAjSaNHj5bX69XKlStt78f/IdLT01v3e8IJJ7SGG0k6++yz5fP5tH79+oD7aGhokM/na/cAAADmci3g1NTUqEePHu2eS09PV0FBgWpqamzt4/PPP9esWbM0ZcqUdvttG24ktf472H5nz56tvLy81kdJSYmTjwIAAFKM44Azc+ZMeTyekI9NmzZFXTCfz6dx48aptLRUt956a1T7uvHGG1VXV9f62L59e9TlAwAAycvxIOPp06dr0qRJIbfp27evioqKtHv37nbPNzU1qba2VkVFRSFfv3fvXpWXlysnJ0fPP/+8MjIyWv9WVFSkVatWtdt+165drX8LJCsrS1lZWSHfEwAAmMNxwCksLFRhYWHY7crKyrRnzx6tWbNGgwcPliQtXbpULS0tGjZsWNDX+Xw+nX322crKytKiRYuUnZ190H7vuOMO7d69u7ULrKKiQrm5uSotLXX6cQAAgIFcG4MzcOBAlZeXa/LkyVq1apWWL1+uqVOnavz48a0zqHbu3KkBAwa0tsj4fD6NGTNG+/fv12OPPSafz6eamhrV1NSoublZkjRmzBiVlpbq4osv1r///W+99tpruvnmm3X11VfTSgMAACS5vA7OM888o6lTp2rUqFHyer264IIL9MADD7T+vbGxUZs3b1Z9fb0k6d13322dYdWvX792+9q2bZv69OmjtLQ0vfzyy7ryyitVVlamLl26aOLEibr99tvd/CgAACCFuLYOTjJjHRwAAFJPUqyDAwAAkCgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACM42rAqa2t1YQJE5Sbm6v8/Hxddtll2rdvX8jtr7nmGvXv31+dOnVSr169NG3aNNXV1bXbzuPxHPSYP3++mx8FAACkkHQ3dz5hwgRVV1eroqJCjY2NuvTSSzVlyhQ9++yzAbevqqpSVVWV5s6dq9LSUn3yySe64oorVFVVpQULFrTb9oknnlB5eXnrv/Pz8938KAAAIIV4LMuy3Njxxo0bVVpaqtWrV2vIkCGSpMWLF2vs2LHasWOHiouLbe3nueee00UXXaT9+/crPf1AHvN4PHr++ed1/vnnR1Q2n8+nvLw81dXVKTc3N6J9AACA+HJy/nati2rFihXKz89vDTeSNHr0aHm9Xq1cudL2fvwfwh9u/K6++mp1795dQ4cO1eOPP65QOa2hoUE+n6/dAwAAmMu1Lqqamhr16NGj/Zulp6ugoEA1NTW29vH5559r1qxZmjJlSrvnb7/9dn3ve99T586d9frrr+uqq67Svn37NG3atID7mT17tm677bbIPggAAEg5jltwZs6cGXCQb9vHpk2boi6Yz+fTuHHjVFpaqltvvbXd337zm9/o1FNP1aBBgzRjxgzdcMMNuueee4Lu68Ybb1RdXV3rY/v27VGXDwAAJC/HLTjTp0/XpEmTQm7Tt29fFRUVaffu3e2eb2pqUm1trYqKikK+fu/evSovL1dOTo6ef/55ZWRkhNx+2LBhmjVrlhoaGpSVlXXQ37OysgI+DwAAzOQ44BQWFqqwsDDsdmVlZdqzZ4/WrFmjwYMHS5KWLl2qlpYWDRs2LOjrfD6fzj77bGVlZWnRokXKzs4O+16VlZXq1q0bIQYAAEhycQzOwIEDVV5ersmTJ2vevHlqbGzU1KlTNX78+NYZVDt37tSoUaP01FNPaejQofL5fBozZozq6+v19NNPtxsQXFhYqLS0NL300kvatWuXTjnlFGVnZ6uiokJ33nmnrr/+erc+CgAASDGuroPzzDPPaOrUqRo1apS8Xq8uuOACPfDAA61/b2xs1ObNm1VfXy9Jevfdd1tnWPXr16/dvrZt26Y+ffooIyNDDz30kK699lpZlqV+/frp3nvv1eTJk938KAAAIIW4tg5OMmMdHAAAUk9SrIMDAACQKAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQg4AADAOAQcAABgHAIOAAAwDgEHAAAYh4ADAACMQ8ABAADGIeAAAADjEHAAAIBxCDgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGCc90QUAAAApqqVZ+uRtad8uqWtPqfdwyZuW6FJJIuAAgHP+g/reamn/Z1KXQinn8KQ6uAOuW/+C9I/pUv3n3z6XWyyV3yWV/iBhxfIj4ACAExsWSYtnSL6qg//WKV8adpU04nqCzqGgbdDdt0v6ao8kj3TU6VKf05LvO9DSLG37X+mTf0qWoivn67+R3n7g4Od9VdLfL5YufFI6/vxoSxwVj2VZVkJLkAA+n095eXmqq6tTbm5uoosDIFVsWCT9/RIdODuE0KlAOvf+pLiKhUsCtV60FY/vgJPAsmGR9NI06asv2z+f0UU69RfOQvn7C6UFl4bexuOVLnxCOu58e/u0ycn5m4BDwAFgR0uzdN/xgVtugvnJXwg5pmlplv7759L6hfa2d6slw0lgWf+C9NzE0PvLzJF+8IfwZX3/BWnBJIUN+X4x/g0QcMIg4KSISMc5xLIZFvD76H+kpxweqDNzpBs+ktIzY1sWJwM72/4eWloOdKN9XaeQXSnR/PaSdMBpTGxYJC26Rvp6j/3XuNGS4SSwqEVa8B+yHUiGT5PGzAr8tw2LDnQ/OZF7hPTLdTH7HhBwwjikAk6qHnBCNf8GG8TW0iy9NVd6+37pm/3t/5aWLR0zRir57oGDu2VJnQukrj2SZ3AoA1eT1/oXpIWXS81fO39tVo503h9jdxUb6LcRaOxPqN9DWx2v+EP99rJype/8TBp4zrffS3+AWvO4tGWJ9M2+b7fPzJH6jpQKByT2QiMWFz2RnNzbCtWS4WQsj9MWlEhc+IR0/I8OLqPTFky/i1+Ujh4Zk6IRcMI4ZAKO3QNhMnHS/Nv2gLH+BenFqdI3eyN7386HSWPvjW1Tsp2Dln+bTf+QKp+RGnzxKRvaC3Yh4LQ7IpRom+rtlMU/7sNqcf57SMuW8o6Qarfa2z4zRyrsL+16X2qyGfwSMTYpFmNPmr6R7ukrNUR4fJGCt2SEG8vTtpyb/hFdyLLNI134ePuQE0kLpl9mF+n8eTH5707ACSNpAo6brSvBRrj7JeMgSKfNv5k50vUfSi9eFZsTkBS6edYvWJO/ZX37/z/7QNq2LHBgkQ6cTIqOlz7/IPg2HR33I+mCP7W/Qk+WFp9YzybpWMdutrYFOsFkdpEKB0o170fWahNIpwLpV1siK/v6F6QXrpYa94XdNCUEG5cS6+9RNGNP2l58rH5MavnG2XsHMvHlA5/Fv38n4Tm9i6Rm+2EyFvzHww2LpOevkBpDtASG5ZF+8lTU5xwCThgJDzj+puOV/9X+qiJWV+p2Rrj7RXJV6caJNdrm31gK1DzrF+xqMF4yukhl10gNdcnT4hPL2SR2ulVi9fli2Tpj1xkzpTNvdPaacBcrqSjQuJRQ0+8l5xdlTrty2l5AhPtOR2rYFdL370qtwHrKVdI7f4zNvmIwHoeAE0ZCA46dE2THK3Un3l/obECZ06vKUD/8SE880fTtuiJA86xk72owmfQ+Tep1ijvjjfwtLG/+p7Rjtb3XhJtN4rSbMZrfSSSDRWPCI/34z+1P7KFacp1crKQi/wWW3en3kr1ZSZFeMGV0kXoeJ+1Y5fy1dni80jFnSx+86s7+U0HbVqwIEHDCSFjAcfKj69RNOvcB+1cr0VyNjrxJGjkjdvsPd+LpOOCvU770+q+dltp9bT+H0+CYzAINFLWj7WDSD15z3lQebDZJNN/d9Gzp5EnOPksytBZe+OSB732ggbn+CwWns19SUacCafpm6Xf9pa9q7b0m3Kyklmbpnn7294f4uuAx6YQLI345AScM1wJOqCuxiH50Yfos2/YR/+uJyMcKZHeTbtgafKpoJPvP7Cr94KH2V1p2Z3Ukk7QsKe9I+wMvU024VrdoQ00gHQeHx6qp3j9jp/uxwadCc/JLPr1PlT5Z7vx1wbrXl90lLbsz+nI55pXUkoD3TTG04LjLlYATqP+47ckj0h9dxz5LO7NuItGxFSdWfdD+bpLPPpC2VEhNX0W3P7gj0ABmt8KoG4PDw0nLlo49W8roJL03P7b77lQgDbpI+tfj7Vti4K5A3estzQdmO321J75lycw5ELiePj++7xuNY8qlD19T/FoIPQeW+GAMjrtiHnDC9R+X/lD66M3I+/v9iTfcILxo+a+ITBzUiPD83aJSYgdSp5K2wTAWU4nhTMcLs0S13vzkL9KAcYkdS5jRRfJ4wofstrPGYjbGyyMNv0Za+5cgxw3Pgf9hFpX7Yhpw4jFA9pSrpF5l9gfhRSozRxp3r/T8ZPfeI9783RJALAWbWpwM43tCOWKIVHqetOFFaee/El2a6LXtXk9E3Xec2ZXI//7+kBWs5TXYuj/RXtC2rYNgM4Rzj5DK57AOTjzENOBs+1/pyXNiU7Bgsgskj3VoX1FndHG2BoP/BFR6buA1a3Zvlja/5FpxYbBwg+jjsdKsU4ECmd0F5k67Vtq+Mny3uL8bcPCkA3Wzb5f0779KW5fG+MN0cMZM6Ywb4j+2Ktj3INr//k4XXAw0fd7pys0RTaLwSGfMOFD3wcZvurDGW9IEnNraWl1zzTV66aWX5PV6dcEFF+j+++9X165dg77m8ssv1xtvvKGqqip17dpVw4cP11133aUBAwa0bvPpp5/qyiuv1JtvvqmuXbtq4sSJmj17ttLT022VK6YBZ90C6b8vi24fCC33CGlapfT85bGZxeUXzym4dlZ9bTu7qWSY/c+L+OjcXRr7O3vLILw6Q1o5z8XC/N9SBt700N3W4VbrdbqwXiTbxyN45JVIddvtbZvR5cD/RrponZ3vwZuzpf+Z43zfHdfiCbdsQjRLJXTk9HgYar0wFyVNwPn+97+v6upqPfzww2psbNSll16q7373u3r22WeDvuaRRx7RgAED1KtXL9XW1urWW29VZWWltm3bprS0NDU3N+ukk05SUVGR7rnnHlVXV+uSSy7R5MmTdeed9vpeU64FJxZKhh24CktFHWfdBF2Hx8EJyC8W441O+H9Sfkn7lYyDrT3jdIXeaG9BkQieNMmKYbdgwdFS3c7YrSgcSkZX6cdPSjveiW4FZbePC21PLrFe/TfWkq3bzt+V42gV4U7SyRPtL0fgONh5pQsfC3z/p4CLwkZwrLPD7vHQzorvLkmKgLNx40aVlpZq9erVGjJkiCRp8eLFGjt2rHbs2KHi4mJb+3nvvff0ne98R1u2bNHRRx+tV199Veecc46qqqrUs2dPSdK8efM0Y8YMffbZZ8rMDH/X3piPwZl7jFT/RXT7cUvbrppEzC6IhiftwFVqoHVTYrmScjRTlePxQw92kOvY4vPP3x+8TTy17dJwsq5JMG27VeK16nC094vyc3NsXgJPLhGLqNvGc+CWGbGcmRZotqhbrSSxXLwwnjdNjvVFZIwlRcB5/PHHNX36dH355bcH26amJmVnZ+u5557TD3/4w7D72L9/v26++Wa9+OKL2rRpkzIzM/Xb3/5WixYtUmVlZet227ZtU9++ffXuu+9q0KBBYfcb81lU778gLYhihdusHHdmXnT8YcZ6hsFxP5J++LB7XSl2ViyNFacn0GCDTN1k5yAX6Go+3H2xouEfd/Hdy9q3FkR71R7spOLWEvrhFo+LhJMTnC1BrvJTRSRdIN702LX+hFrvy61WkljffiJekuk+dx04OX/bG7QSgZqaGvXo0aP9m6Wnq6CgQDU1NSFf+8c//lE33HCD9u/fr/79+6uioqK1Zaampqa15cbP/+9g+21oaFBDQ0Prv32+GB/ojz9fqpoWWVdHp8Okc+6N7S0Agv0wR1x/YFxAtFfWHff/4ycOzMyIpCsl0CynRPzovWnffg67d/aN9w/dmxZ+gaxg28TyxoHBQk1bpT840BrywpXOrsAzOkvn/Vfwk8px50sDz439WlAXPBbbcCP9Xx08FfoE56/Lwv7SW3eH3t+FT6T2HeWP/5FUtdZ+F4g/yI28KTYXZqdcGfi76k070Koz4vrYt5KU/uBAd1gydyEGYudYkwIct+DMnDlTd911V8htNm7cqIULF+rJJ5/U5s2b2/2tR48euu2223TllVcGfX1dXZ12796t6upqzZ07Vzt37tTy5cuVnZ2tKVOm6JNPPtFrr73Wun19fb26dOmiV155Rd///vcP2t+tt96q2267LeD7xHQl40i6On785IEDa7StK3aX34/mynro5QdOLsH2H+xKKBB/SGo7y8nOaP94SPYxDdGKdL2WtGzpp/OlviPs14GT98rMkW74SEoP383cKtB/K/9YqB2rpQ9fD7/6sttdPna/T8HuU5esV/mRctoFEothANHcyR1JxdUuqs8++0xffBH6i9a3b189/fTTUXdRSdI333yjbt266U9/+pN++tOfRtRFFagFp6SkxJ17UTnp6mh7YI1mBc6RNzlrUYjkRoNORswHO+nE+oaPiFwkQTfS8Sl2u2piNf6lrba3mjjonk+JH09wEKfTe1OV0y6QaIcBuPHdQkK42kVVWFiowsLCsNuVlZVpz549WrNmjQYPHixJWrp0qVpaWjRs2DDb72dZlizLag0oZWVluuOOO7R79+7WLrCKigrl5uaqtLQ04D6ysrKUlZVl+z2jYqerI9CB1ZsmDbvKWStOpOMG/M2mToKYk35/Q5o3jebvQrKzYnG0LQjhumpiuAjYQbxp0tEjDzziOVAzUm3LazKnx4hIhwH4JyoQbg5Jrk8T37Vrl+bNm9c6TXzIkCGt08R37typUaNG6amnntLQoUP10Ucf6W9/+5vGjBmjwsJC7dixQ3PmzNHy5cu1ceNG9ejRo3WaeHFxse6++27V1NTo4osv1s9//vPETBMPxelVitOphbFYhyDJR8zDZaHuORXr8UZJPHARKcLpsgnxnKiAuEiKWVTSgYX+pk6d2m6hvwceeKB1ob+PP/5YRx11lN58802NHDlSVVVV+vnPf641a9boyy+/VM+ePTVixAj99re/Vf/+/Vv3+8knn+jKK6/UsmXL1KVLF02cOFFz5sxJzEJ/sWa3OT+W4wY48eBQ6RpB6rMz1s+0cUtolTQBJ1kldcCRQk8tpFUFAMyfDICAkmKaOKLQcWohrSoA0B5j/RAGASdZ8eMFACBi3kQXAAAAINYIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGIeAAwAAjEPAAQAAxiHgAAAA4xBwAACAcQ7JlYz9t9/y+XwJLgkAALDLf962cxvNQzLg7N27V5JUUlKS4JIAAACn9u7dq7y8vJDbHJJ3E29paVFVVZVycnLk8Xhitl+fz6eSkhJt3749Oe9SbgjqOX6o6/ignuOHuo4Pt+rZsizt3btXxcXF8npDj7I5JFtwvF6vjjzySNf2n5ubyw8nDqjn+KGu44N6jh/qOj7cqOdwLTd+DDIGAADGIeAAAADjEHBiKCsrS7fccouysrISXRSjUc/xQ13HB/UcP9R1fCRDPR+Sg4wBAIDZaMEBAADGIeAAAADjEHAAAIBxCDgAAMA4BByHHnroIfXp00fZ2dkaNmyYVq1aFXL75557TgMGDFB2drZOOOEEvfLKK3EqaWpzUs/r16/XBRdcoD59+sjj8ei+++6LX0EN4KSuH330UZ1++unq1q2bunXrptGjR4f9DeAAJ/W8cOFCDRkyRPn5+erSpYtOOukk/eUvf4ljaVOb0+O03/z58+XxeHT++ee7W0BDOKnnP//5z/J4PO0e2dnZ7hbQgm3z58+3MjMzrccff9xav369NXnyZCs/P9/atWtXwO2XL19upaWlWXfffbe1YcMG6+abb7YyMjKsdevWxbnkqcVpPa9atcq6/vrrrb/+9a9WUVGR9fvf/z6+BU5hTuv6Zz/7mfXQQw9Za9eutTZu3GhNmjTJysvLs3bs2BHnkqcWp/X85ptvWgsXLrQ2bNhgbdmyxbrvvvustLQ0a/HixXEueepxWtd+27Zts4444gjr9NNPt84777z4FDaFOa3nJ554wsrNzbWqq6tbHzU1Na6WkYDjwNChQ62rr7669d/Nzc1WcXGxNXv27IDb/+QnP7HGjRvX7rlhw4ZZl19+uavlTHVO67mt3r17E3AciKauLcuympqarJycHOvJJ590q4hGiLaeLcuyBg0aZN18881uFM8okdR1U1OTNXz4cOtPf/qTNXHiRAKODU7r+YknnrDy8vLiVLoD6KKy6ZtvvtGaNWs0evTo1ue8Xq9Gjx6tFStWBHzNihUr2m0vSWeffXbQ7RFZPSMysajr+vp6NTY2qqCgwK1iprxo69myLC1ZskSbN2/WiBEj3Cxqyou0rm+//Xb16NFDl112WTyKmfIired9+/apd+/eKikp0Xnnnaf169e7Wk4Cjk2ff/65mpub1bNnz3bP9+zZUzU1NQFfU1NT42h7RFbPiEws6nrGjBkqLi4+KMjjW5HWc11dnbp27arMzEyNGzdODz74oM466yy3i5vSIqnrf/7zn3rsscf06KOPxqOIRoiknvv376/HH39cL774op5++mm1tLRo+PDh2rFjh2vlPCTvJg4genPmzNH8+fO1bNky9wcLHoJycnJUWVmpffv2acmSJbruuuvUt29fjRw5MtFFM8bevXt18cUX69FHH1X37t0TXRyjlZWVqaysrPXfw4cP18CBA/Xwww9r1qxZrrwnAcem7t27Ky0tTbt27Wr3/K5du1RUVBTwNUVFRY62R2T1jMhEU9dz587VnDlz9MYbb+jEE090s5gpL9J69nq96tevnyTppJNO0saNGzV79mwCTghO63rr1q36+OOPde6557Y+19LSIklKT0/X5s2bdfTRR7tb6BQUi+N0RkaGBg0apC1btrhRREl0UdmWmZmpwYMHa8mSJa3PtbS0aMmSJe1SaVtlZWXttpekioqKoNsjsnpGZCKt67vvvluzZs3S4sWLNWTIkHgUNaXF6jvd0tKihoYGN4poDKd1PWDAAK1bt06VlZWtjx/84Ac688wzVVlZqZKSkngWP2XE4jvd3NysdevW6fDDD3ermEwTd2L+/PlWVlaW9ec//9nasGGDNWXKFCs/P791qtvFF19szZw5s3X75cuXW+np6dbcuXOtjRs3WrfccgvTxG1wWs8NDQ3W2rVrrbVr11qHH364df3111tr1661Pvzww0R9hJThtK7nzJljZWZmWgsWLGg33XPv3r2J+ggpwWk933nnndbrr79ubd261dqwYYM1d+5cKz093Xr00UcT9RFShtO67ohZVPY4refbbrvNeu2116ytW7daa9asscaPH29lZ2db69evd62MBByHHnzwQatXr15WZmamNXToUOudd95p/dsZZ5xhTZw4sd32f//7361jjz3WyszMtI477jjrH//4R5xLnJqc1PO2bdssSQc9zjjjjPgXPAU5qevevXsHrOtbbrkl/gVPMU7q+de//rXVr18/Kzs72+rWrZtVVlZmzZ8/PwGlTk1Oj9NtEXDsc1LPv/zlL1u37dmzpzV27Fjr3XffdbV8HsuyLPfahwAAAOKPMTgAAMA4BBwAAGAcAg4AADAOAQcAABiHgAMAAIxDwAEAAMYh4AAAAOMQcAAAgHEIOAAAwDgEHAAAYBwCDgAAMA4BBwAAGOf/A9kTfsniraZ1AAAAAElFTkSuQmCC",
244
- "text/plain": [
245
- "<Figure size 640x480 with 1 Axes>"
246
- ]
247
- },
248
- "metadata": {},
249
- "output_type": "display_data"
250
- },
251
- {
252
- "data": {
253
- "text/plain": [
254
- "'C:\\\\Program Files (x86)\\\\Agilent Technologies\\\\ChemStation\\\\CORE'"
255
- ]
256
- },
257
- "execution_count": 9,
258
- "metadata": {},
259
- "output_type": "execute_result"
260
- }
261
- ],
262
- "source": [
263
- "\n",
264
- "chrom = hplc_controller.get_last_run_method_data()\n",
265
- "print(\"got data\")\n",
266
- "\n",
267
- "import matplotlib.pyplot as plt\n",
268
- "\n",
269
- "# plt.scatter(chrom.A.x, chrom.A.y, label=\"A\")\n",
270
- "plt.scatter(chrom.D.x, chrom.D.y, label=\"D\")\n",
271
- "plt.scatter(chrom.F.x, chrom.F.y, label=\"F\")\n",
272
- "plt.show()\n",
273
- "\n",
274
- "# RunMethod \"C:\\Users\\Public\\Documents\\ChemStation\\1\\data\\\",, \"testingaaal\"\n",
275
- "# RunMethod \"C:\\Users\\Public\\Documents\\ChemStation\\1\\data\\\",, \"testingaaal\"\n",
276
- "\n",
277
- "\"C:\\\\program files (X86)\\\\Agilent Technologies\\\\chemstation\\\\core\"\n",
278
- "\"C:\\\\Program Files (x86)\\\\Agilent Technologies\\\\ChemStation\\\\CORE\""
279
- ]
280
- },
281
- {
282
- "cell_type": "code",
283
- "execution_count": null,
284
- "metadata": {},
285
- "outputs": [],
286
- "source": []
287
- }
288
- ],
289
- "metadata": {
290
- "kernelspec": {
291
- "display_name": "iroh_env",
292
- "language": "python",
293
- "name": "python3"
294
- },
295
- "language_info": {
296
- "codemirror_mode": {
297
- "name": "ipython",
298
- "version": 3
299
- },
300
- "file_extension": ".py",
301
- "mimetype": "text/x-python",
302
- "name": "python",
303
- "nbconvert_exporter": "python",
304
- "pygments_lexer": "ipython3",
305
- "version": "3.8.20"
306
- }
307
- },
308
- "nbformat": 4,
309
- "nbformat_minor": 2
310
- }
File without changes
File without changes
File without changes
File without changes