diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 000000000..9d98fcea8 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: a854d428f49551f4fff5b7464ff1c0e2 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/_images/quantum_kernel.png b/_images/quantum_kernel.png new file mode 100644 index 000000000..810466d75 Binary files /dev/null and b/_images/quantum_kernel.png differ diff --git a/_images/tutorials_01_neural_networks_14_2.png b/_images/tutorials_01_neural_networks_14_2.png new file mode 100644 index 000000000..2fbeb6101 Binary files /dev/null and b/_images/tutorials_01_neural_networks_14_2.png differ diff --git a/_images/tutorials_01_neural_networks_6_1.png b/_images/tutorials_01_neural_networks_6_1.png new file mode 100644 index 000000000..fd6d05cb6 Binary files /dev/null and b/_images/tutorials_01_neural_networks_6_1.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_12_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_12_0.png new file mode 100644 index 000000000..4dfb15eed Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_12_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_13_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_13_0.png new file mode 100644 index 000000000..996021b92 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_13_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_17_1.png b/_images/tutorials_02_neural_network_classifier_and_regressor_17_1.png new file mode 100644 index 000000000..3baab27f2 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_17_1.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_21_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_21_0.png new file mode 100644 index 000000000..65e122b28 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_21_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_22_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_22_0.png new file mode 100644 index 000000000..f89dd6004 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_22_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_27_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_27_0.png new file mode 100644 index 000000000..2715b8126 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_27_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_28_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_28_0.png new file mode 100644 index 000000000..da4069cf3 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_28_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_32_1.png b/_images/tutorials_02_neural_network_classifier_and_regressor_32_1.png new file mode 100644 index 000000000..d60fbc6c4 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_32_1.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_38_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_38_0.png new file mode 100644 index 000000000..0c1489fc6 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_38_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_3_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_3_0.png new file mode 100644 index 000000000..08f6c798d Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_3_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_42_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_42_0.png new file mode 100644 index 000000000..e815eb554 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_42_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_46_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_46_0.png new file mode 100644 index 000000000..5ee502d64 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_46_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_47_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_47_0.png new file mode 100644 index 000000000..ec46a88ce Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_47_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_52_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_52_0.png new file mode 100644 index 000000000..ab8f4daa5 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_52_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_53_0.png b/_images/tutorials_02_neural_network_classifier_and_regressor_53_0.png new file mode 100644 index 000000000..1f6ca4b07 Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_53_0.png differ diff --git a/_images/tutorials_02_neural_network_classifier_and_regressor_5_1.png b/_images/tutorials_02_neural_network_classifier_and_regressor_5_1.png new file mode 100644 index 000000000..803ca13df Binary files /dev/null and b/_images/tutorials_02_neural_network_classifier_and_regressor_5_1.png differ diff --git a/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_17_1.png b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_17_1.png new file mode 100644 index 000000000..7e1011806 Binary files /dev/null and b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_17_1.png differ diff --git a/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_19_1.png b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_19_1.png new file mode 100644 index 000000000..8a531162b Binary files /dev/null and b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_19_1.png differ diff --git a/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_27_0.png b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_27_0.png new file mode 100644 index 000000000..4a7e610f4 Binary files /dev/null and b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_27_0.png differ diff --git a/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_31_1.png b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_31_1.png new file mode 100644 index 000000000..0fec7db23 Binary files /dev/null and b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_31_1.png differ diff --git a/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_39_0.png b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_39_0.png new file mode 100644 index 000000000..e0c7388b3 Binary files /dev/null and b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_39_0.png differ diff --git a/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_42_0.png b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_42_0.png new file mode 100644 index 000000000..6caa54660 Binary files /dev/null and b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_42_0.png differ diff --git a/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_9_1.png b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_9_1.png new file mode 100644 index 000000000..36c0db8e5 Binary files /dev/null and b/_images/tutorials_02a_training_a_quantum_model_on_a_real_dataset_9_1.png differ diff --git a/_images/tutorials_03_quantum_kernel_10_0.png b/_images/tutorials_03_quantum_kernel_10_0.png new file mode 100644 index 000000000..578f484a1 Binary files /dev/null and b/_images/tutorials_03_quantum_kernel_10_0.png differ diff --git a/_images/tutorials_03_quantum_kernel_17_0.png b/_images/tutorials_03_quantum_kernel_17_0.png new file mode 100644 index 000000000..5c9ebeaab Binary files /dev/null and b/_images/tutorials_03_quantum_kernel_17_0.png differ diff --git a/_images/tutorials_03_quantum_kernel_29_0.png b/_images/tutorials_03_quantum_kernel_29_0.png new file mode 100644 index 000000000..4cd4843a7 Binary files /dev/null and b/_images/tutorials_03_quantum_kernel_29_0.png differ diff --git a/_images/tutorials_03_quantum_kernel_33_0.png b/_images/tutorials_03_quantum_kernel_33_0.png new file mode 100644 index 000000000..f987af337 Binary files /dev/null and b/_images/tutorials_03_quantum_kernel_33_0.png differ diff --git a/_images/tutorials_03_quantum_kernel_40_0.png b/_images/tutorials_03_quantum_kernel_40_0.png new file mode 100644 index 000000000..a1c19107c Binary files /dev/null and b/_images/tutorials_03_quantum_kernel_40_0.png differ diff --git a/_images/tutorials_03_quantum_kernel_50_0.png b/_images/tutorials_03_quantum_kernel_50_0.png new file mode 100644 index 000000000..b11ee9396 Binary files /dev/null and b/_images/tutorials_03_quantum_kernel_50_0.png differ diff --git a/_images/tutorials_04_torch_qgan_11_1.png b/_images/tutorials_04_torch_qgan_11_1.png new file mode 100644 index 000000000..ae3fa5e17 Binary files /dev/null and b/_images/tutorials_04_torch_qgan_11_1.png differ diff --git a/_images/tutorials_04_torch_qgan_29_0.png b/_images/tutorials_04_torch_qgan_29_0.png new file mode 100644 index 000000000..6b4d1c63e Binary files /dev/null and b/_images/tutorials_04_torch_qgan_29_0.png differ diff --git a/_images/tutorials_04_torch_qgan_33_0.png b/_images/tutorials_04_torch_qgan_33_0.png new file mode 100644 index 000000000..75a8329a9 Binary files /dev/null and b/_images/tutorials_04_torch_qgan_33_0.png differ diff --git a/_images/tutorials_04_torch_qgan_7_0.png b/_images/tutorials_04_torch_qgan_7_0.png new file mode 100644 index 000000000..ec31cfa13 Binary files /dev/null and b/_images/tutorials_04_torch_qgan_7_0.png differ diff --git a/_images/tutorials_05_torch_connector_11_1.png b/_images/tutorials_05_torch_connector_11_1.png new file mode 100644 index 000000000..86541a9b0 Binary files /dev/null and b/_images/tutorials_05_torch_connector_11_1.png differ diff --git a/_images/tutorials_05_torch_connector_17_1.png b/_images/tutorials_05_torch_connector_17_1.png new file mode 100644 index 000000000..86541a9b0 Binary files /dev/null and b/_images/tutorials_05_torch_connector_17_1.png differ diff --git a/_images/tutorials_05_torch_connector_20_0.png b/_images/tutorials_05_torch_connector_20_0.png new file mode 100644 index 000000000..bf64f4e3c Binary files /dev/null and b/_images/tutorials_05_torch_connector_20_0.png differ diff --git a/_images/tutorials_05_torch_connector_26_0.png b/_images/tutorials_05_torch_connector_26_0.png new file mode 100644 index 000000000..8002a92f9 Binary files /dev/null and b/_images/tutorials_05_torch_connector_26_0.png differ diff --git a/_images/tutorials_05_torch_connector_33_0.png b/_images/tutorials_05_torch_connector_33_0.png new file mode 100644 index 000000000..bb0e564e2 Binary files /dev/null and b/_images/tutorials_05_torch_connector_33_0.png differ diff --git a/_images/tutorials_05_torch_connector_41_0.png b/_images/tutorials_05_torch_connector_41_0.png new file mode 100644 index 000000000..57ac34cda Binary files /dev/null and b/_images/tutorials_05_torch_connector_41_0.png differ diff --git a/_images/tutorials_05_torch_connector_48_0.png b/_images/tutorials_05_torch_connector_48_0.png new file mode 100644 index 000000000..1577c7993 Binary files /dev/null and b/_images/tutorials_05_torch_connector_48_0.png differ diff --git a/_images/tutorials_05_torch_connector_4_0.png b/_images/tutorials_05_torch_connector_4_0.png new file mode 100644 index 000000000..08f6c798d Binary files /dev/null and b/_images/tutorials_05_torch_connector_4_0.png differ diff --git a/_images/tutorials_05_torch_connector_6_1.png b/_images/tutorials_05_torch_connector_6_1.png new file mode 100644 index 000000000..803ca13df Binary files /dev/null and b/_images/tutorials_05_torch_connector_6_1.png differ diff --git a/_images/tutorials_07_pegasos_qsvc_16_0.png b/_images/tutorials_07_pegasos_qsvc_16_0.png new file mode 100644 index 000000000..f4c258176 Binary files /dev/null and b/_images/tutorials_07_pegasos_qsvc_16_0.png differ diff --git a/_images/tutorials_08_quantum_kernel_trainer_14_0.png b/_images/tutorials_08_quantum_kernel_trainer_14_0.png new file mode 100644 index 000000000..e76e5377d Binary files /dev/null and b/_images/tutorials_08_quantum_kernel_trainer_14_0.png differ diff --git a/_images/tutorials_08_quantum_kernel_trainer_4_0.png b/_images/tutorials_08_quantum_kernel_trainer_4_0.png new file mode 100644 index 000000000..be0cd440c Binary files /dev/null and b/_images/tutorials_08_quantum_kernel_trainer_4_0.png differ diff --git a/_images/tutorials_09_saving_and_loading_models_18_0.png b/_images/tutorials_09_saving_and_loading_models_18_0.png new file mode 100644 index 000000000..9714dca07 Binary files /dev/null and b/_images/tutorials_09_saving_and_loading_models_18_0.png differ diff --git a/_images/tutorials_09_saving_and_loading_models_31_0.png b/_images/tutorials_09_saving_and_loading_models_31_0.png new file mode 100644 index 000000000..4522fd17c Binary files /dev/null and b/_images/tutorials_09_saving_and_loading_models_31_0.png differ diff --git a/_images/tutorials_09_saving_and_loading_models_41_0.png b/_images/tutorials_09_saving_and_loading_models_41_0.png new file mode 100644 index 000000000..d5aa52404 Binary files /dev/null and b/_images/tutorials_09_saving_and_loading_models_41_0.png differ diff --git a/_images/tutorials_09_saving_and_loading_models_46_1.png b/_images/tutorials_09_saving_and_loading_models_46_1.png new file mode 100644 index 000000000..0548813de Binary files /dev/null and b/_images/tutorials_09_saving_and_loading_models_46_1.png differ diff --git a/_images/tutorials_10_effective_dimension_24_0.png b/_images/tutorials_10_effective_dimension_24_0.png new file mode 100644 index 000000000..8af9f5976 Binary files /dev/null and b/_images/tutorials_10_effective_dimension_24_0.png differ diff --git a/_images/tutorials_10_effective_dimension_33_0.png b/_images/tutorials_10_effective_dimension_33_0.png new file mode 100644 index 000000000..205af772f Binary files /dev/null and b/_images/tutorials_10_effective_dimension_33_0.png differ diff --git a/_images/tutorials_10_effective_dimension_41_0.png b/_images/tutorials_10_effective_dimension_41_0.png new file mode 100644 index 000000000..7d5078db2 Binary files /dev/null and b/_images/tutorials_10_effective_dimension_41_0.png differ diff --git a/_images/tutorials_10_effective_dimension_6_1.png b/_images/tutorials_10_effective_dimension_6_1.png new file mode 100644 index 000000000..5283ada63 Binary files /dev/null and b/_images/tutorials_10_effective_dimension_6_1.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_19_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_19_0.png new file mode 100644 index 000000000..65b7f55dc Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_19_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_21_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_21_0.png new file mode 100644 index 000000000..44f766e1f Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_21_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_24_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_24_0.png new file mode 100644 index 000000000..bbd6c8f59 Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_24_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_26_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_26_0.png new file mode 100644 index 000000000..28bfd2420 Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_26_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_34_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_34_0.png new file mode 100644 index 000000000..2e15c485a Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_34_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_38_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_38_0.png new file mode 100644 index 000000000..1e04d6b3b Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_38_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_45_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_45_0.png new file mode 100644 index 000000000..dea49c2fc Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_45_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_51_0.png b/_images/tutorials_11_quantum_convolutional_neural_networks_51_0.png new file mode 100644 index 000000000..57a636d32 Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_51_0.png differ diff --git a/_images/tutorials_11_quantum_convolutional_neural_networks_55_1.png b/_images/tutorials_11_quantum_convolutional_neural_networks_55_1.png new file mode 100644 index 000000000..e40229325 Binary files /dev/null and b/_images/tutorials_11_quantum_convolutional_neural_networks_55_1.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_25_1.png b/_images/tutorials_12_quantum_autoencoder_25_1.png new file mode 100644 index 000000000..5646d9b41 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_25_1.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_30_1.png b/_images/tutorials_12_quantum_autoencoder_30_1.png new file mode 100644 index 000000000..ca151957f Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_30_1.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_34_0.png b/_images/tutorials_12_quantum_autoencoder_34_0.png new file mode 100644 index 000000000..7b0738a78 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_34_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_37_0.png b/_images/tutorials_12_quantum_autoencoder_37_0.png new file mode 100644 index 000000000..d2af03ad8 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_37_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_43_0.png b/_images/tutorials_12_quantum_autoencoder_43_0.png new file mode 100644 index 000000000..0cabc11f5 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_43_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_46_0.png b/_images/tutorials_12_quantum_autoencoder_46_0.png new file mode 100644 index 000000000..fb624e7fc Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_46_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_54_0.png b/_images/tutorials_12_quantum_autoencoder_54_0.png new file mode 100644 index 000000000..95d394155 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_54_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_54_1.png b/_images/tutorials_12_quantum_autoencoder_54_1.png new file mode 100644 index 000000000..773e5f1d5 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_54_1.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_56_0.png b/_images/tutorials_12_quantum_autoencoder_56_0.png new file mode 100644 index 000000000..5192b7428 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_56_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_64_0.png b/_images/tutorials_12_quantum_autoencoder_64_0.png new file mode 100644 index 000000000..8d78cea01 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_64_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_66_0.png b/_images/tutorials_12_quantum_autoencoder_66_0.png new file mode 100644 index 000000000..f4a6efaee Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_66_0.png differ diff --git a/_images/tutorials_12_quantum_autoencoder_66_1.png b/_images/tutorials_12_quantum_autoencoder_66_1.png new file mode 100644 index 000000000..6469c91b7 Binary files /dev/null and b/_images/tutorials_12_quantum_autoencoder_66_1.png differ diff --git a/_modules/index.html b/_modules/index.html new file mode 100644 index 000000000..1fe615ac4 --- /dev/null +++ b/_modules/index.html @@ -0,0 +1,491 @@ + + + + + + + + Overview: module code - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

All modules for which code is available

+ +
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/classifiers/neural_network_classifier.html b/_modules/qiskit_machine_learning/algorithms/classifiers/neural_network_classifier.html new file mode 100644 index 000000000..a72bc432e --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/classifiers/neural_network_classifier.html @@ -0,0 +1,767 @@ + + + + + + + + qiskit_machine_learning.algorithms.classifiers.neural_network_classifier - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.classifiers.neural_network_classifier

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""An implementation of quantum neural network classifier."""
+
+from __future__ import annotations
+
+from typing import Callable, cast
+
+import numpy as np
+import scipy.sparse
+from qiskit_algorithms.optimizers import Optimizer, OptimizerResult, Minimizer
+from scipy.sparse import spmatrix
+from sklearn.base import ClassifierMixin
+from sklearn.exceptions import NotFittedError
+from sklearn.preprocessing import OneHotEncoder, LabelEncoder
+from sklearn.utils.validation import check_is_fitted
+
+from ..objective_functions import (
+    BinaryObjectiveFunction,
+    OneHotObjectiveFunction,
+    MultiClassObjectiveFunction,
+    ObjectiveFunction,
+)
+from ..trainable_model import TrainableModel
+from ...exceptions import QiskitMachineLearningError
+from ...neural_networks import NeuralNetwork
+from ...utils.loss_functions import Loss
+
+
+
[docs]class NeuralNetworkClassifier(TrainableModel, ClassifierMixin): + """Implements a basic quantum neural network classifier. Implements Scikit-Learn compatible + methods for classification and extends ``ClassifierMixin``. + See `Scikit-Learn <https://scikit-learn.org>`__ for more details. + """ + + def __init__( + self, + neural_network: NeuralNetwork, + loss: str | Loss = "squared_error", + one_hot: bool = False, + optimizer: Optimizer | Minimizer | None = None, + warm_start: bool = False, + initial_point: np.ndarray = None, + callback: Callable[[np.ndarray, float], None] | None = None, + ): + """ + Args: + neural_network: An instance of an quantum neural network. If the neural network has a + one-dimensional output, i.e., `neural_network.output_shape=(1,)`, then it is + expected to return values in [-1, +1] and it can only be used for binary + classification. If the output is multi-dimensional, it is assumed that the result + is a probability distribution, i.e., that the entries are non-negative and sum up + to one. Then there are two options, either one-hot encoding or not. In case of + one-hot encoding, each probability vector resulting a neural network is considered + as one sample and the loss function is applied to the whole vector. Otherwise, each + entry of the probability vector is considered as an individual sample and the loss + function is applied to the index and weighted with the corresponding probability. + loss: A target loss function to be used in training. Default is `squared_error`, + i.e. L2 loss. Can be given either as a string for 'absolute_error' (i.e. L1 Loss), + 'squared_error', 'cross_entropy', or as a loss function + implementing the Loss interface. + one_hot: Determines in the case of a multi-dimensional result of the + neural_network how to interpret the result. If True it is interpreted as a single + one-hot-encoded sample (e.g. for 'CrossEntropy' loss function), and if False + as a set of individual predictions with occurrence probabilities (the index would be + the prediction and the value the corresponding frequency, e.g. for absolute/squared + loss). In case of a one-dimensional categorical output, this option determines how + to encode the target data (i.e. one-hot or integer encoding). + optimizer: An instance of an optimizer or a callable to be used in training. + Refer to :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on + the callable protocol. When `None` defaults to + :class:`~qiskit_algorithms.optimizers.SLSQP`. + warm_start: Use weights from previous fit to start next fit. + initial_point: Initial point for the optimizer to start from. + callback: a reference to a user's callback function that has two parameters and + returns ``None``. The callback can access intermediate data during training. + On each iteration an optimizer invokes the callback and passes current weights + as an array and a computed value as a float of the objective function being + optimized. This allows to track how well optimization / training process is going on. + Raises: + QiskitMachineLearningError: unknown loss, invalid neural network + """ + super().__init__(neural_network, loss, optimizer, warm_start, initial_point, callback) + self._one_hot = one_hot + # encodes the target data if categorical + self._target_encoder = OneHotEncoder(sparse_output=False) if one_hot else LabelEncoder() + + # For ensuring the number of classes matches those of the previous + # batch when training from a warm start. + self._num_classes: int | None = None + + @property + def num_classes(self) -> int | None: + """The number of classes found in the most recent fit. + + If called before :meth:`fit`, this will return ``None``. + """ + # For user checking and validation. + return self._num_classes + + # pylint: disable=invalid-name + def _fit_internal(self, X: np.ndarray, y: np.ndarray) -> OptimizerResult: + X, y = self._validate_input(X, y) + + function = self._create_objective(X, y) + return self._minimize(function) + + def _create_objective(self, X: np.ndarray, y: np.ndarray) -> ObjectiveFunction: + """ + Creates an objective function that depends on the classification we want to solve. + + Args: + X: The input data. + y: True values for ``X``. + + Returns: + An instance of the objective function. + """ + # mypy definition + function: ObjectiveFunction = None + if self._neural_network.output_shape == (1,): + self._validate_binary_targets(y) + function = BinaryObjectiveFunction(X, y, self._neural_network, self._loss) + else: + if self._one_hot: + function = OneHotObjectiveFunction(X, y, self._neural_network, self._loss) + else: + function = MultiClassObjectiveFunction(X, y, self._neural_network, self._loss) + + return function + +
[docs] def predict(self, X: np.ndarray) -> np.ndarray: + self._check_fitted() + + X, _ = self._validate_input(X) + + if self._neural_network.output_shape == (1,): + predict = np.sign(self._neural_network.forward(X, self._fit_result.x)) + else: + forward = self._neural_network.forward(X, self._fit_result.x) + predict_ = np.argmax(forward, axis=1) + if self._one_hot: + predict = np.zeros(forward.shape) + for i, v in enumerate(predict_): + predict[i, v] = 1 + else: + predict = predict_ + return self._validate_output(predict)
+ +
[docs] def score(self, X: np.ndarray, y: np.ndarray, sample_weight: np.ndarray | None = None) -> float: + return ClassifierMixin.score(self, X, y, sample_weight)
+ + def _validate_input(self, X: np.ndarray, y: np.ndarray = None) -> tuple[np.ndarray, np.ndarray]: + """ + Validates and transforms if required features and labels. If arrays are sparse, they are + converted to dense as the numpy math in the loss/objective functions does not work with + sparse. If one hot encoding is required, then labels are one hot encoded otherwise label + are encoded via ``LabelEncoder`` from ``SciKit-Learn``. If labels are strings, they + converted to numerical representation. + + Args: + X: features + y: labels + + Returns: + A tuple with validated and transformed features and labels. + """ + if scipy.sparse.issparse(X): + # our math does not work with sparse arrays + X = cast(spmatrix, X).toarray() # cast is required by mypy + + if y is not None: + if scipy.sparse.issparse(y): + y = cast(spmatrix, y).toarray() # cast is required by mypy + + if isinstance(y[0], str): + y = self._encode_categorical_labels(y) + elif self._one_hot and not self._validate_one_hot_targets(y, raise_on_failure=False): + y = self._encode_one_hot_labels(y) + + self._num_classes = self._get_num_classes(y) + + return X, y + + def _encode_categorical_labels(self, y: np.ndarray): + # string data is assumed to be categorical + + # OneHotEncoder expects data with shape (n_samples, n_features) but + # LabelEncoder expects shape (n_samples,) so set desired shape + y = y.reshape(-1, 1) if self._one_hot else y + if self._fit_result is None: + # the model is being trained, fit first + self._target_encoder.fit(y) + y = self._target_encoder.transform(y) + + return y + + def _encode_one_hot_labels(self, y: np.ndarray): + # conversion to one hot of the labels is required + y = y.reshape(-1, 1) + if self._fit_result is None: + # the model is being trained, fit first + self._target_encoder.fit(y) + y = self._target_encoder.transform(y) + + return y + + def _validate_output(self, y_hat: np.ndarray) -> np.ndarray: + try: + check_is_fitted(self._target_encoder) + return self._target_encoder.inverse_transform(y_hat).squeeze() + except NotFittedError: + return y_hat + + def _validate_binary_targets(self, y: np.ndarray) -> None: + """Validate binary encoded targets. + + Raises: + QiskitMachineLearningError: If targets are invalid. + """ + if len(y.shape) != 1: + raise QiskitMachineLearningError( + "The shape of the targets does not match the shape of neural network output." + ) + if len(np.unique(y)) != 2: + raise QiskitMachineLearningError( + "The target values appear to be multi-classified. " + "The neural network output shape is only suitable for binary classification." + ) + + def _validate_one_hot_targets(self, y: np.ndarray, raise_on_failure=True) -> bool: + """ + Validate one-hot encoded labels. Ensure one-hot encoded data is valid and not multi-label. + + Args: + y: targets + raise_on_failure: If ``True``, raises :class:`~QiskitMachineLearningError` if the labels + are not one hot encoded. If set to ``False``, returns ``False`` if labels are not + one hot encoded and no errors are raised. + + Returns: + ``True`` when targets are one hot encoded, ``False`` otherwise. + + Raises: + QiskitMachineLearningError: If targets are invalid. + """ + if len(y.shape) != 2: + if raise_on_failure: + raise QiskitMachineLearningError( + f"One hot encoded targets must be of shape (num_samples, num_classes), " + f"but found {y.shape}." + ) + return False + + if not np.isin(y, [0, 1]).all(): + if raise_on_failure: + raise QiskitMachineLearningError( + "Invalid one-hot targets. The targets must contain only 0's and 1's." + ) + return False + + if not np.isin(np.sum(y, axis=-1), 1).all(): + if raise_on_failure: + raise QiskitMachineLearningError( + "The target values appear to be multi-labelled. " + "Multi-label classification is not supported." + ) + return False + + return True + + def _get_num_classes(self, y: np.ndarray) -> int: + """Infers the number of classes from the targets. + + Args: + y: The target values. + + Raises: + QiskitMachineLearningError: If the number of classes differs from + the previous batch when using a warm start. + + Returns: + The number of inferred classes. + """ + if self._one_hot: + num_classes = y.shape[-1] + else: + num_classes = len(np.unique(y)) + + if self._warm_start and self._num_classes is not None and self._num_classes != num_classes: + raise QiskitMachineLearningError( + f"The number of classes ({num_classes}) is different to the previous batch " + f"({self._num_classes})." + ) + return num_classes
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/classifiers/pegasos_qsvc.html b/_modules/qiskit_machine_learning/algorithms/classifiers/pegasos_qsvc.html new file mode 100644 index 000000000..888245d1c --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/classifiers/pegasos_qsvc.html @@ -0,0 +1,832 @@ + + + + + + + + qiskit_machine_learning.algorithms.classifiers.pegasos_qsvc - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.classifiers.pegasos_qsvc

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Pegasos Quantum Support Vector Classifier."""
+from __future__ import annotations
+
+import logging
+from datetime import datetime
+from typing import Dict
+
+import numpy as np
+from qiskit_algorithms.utils import algorithm_globals
+from sklearn.base import ClassifierMixin
+
+from ...algorithms.serializable_model import SerializableModelMixin
+from ...exceptions import QiskitMachineLearningError
+from ...kernels import BaseKernel, FidelityQuantumKernel
+
+
+logger = logging.getLogger(__name__)
+
+
+
[docs]class PegasosQSVC(ClassifierMixin, SerializableModelMixin): + r""" + Implements Pegasos Quantum Support Vector Classifier algorithm. The algorithm has been + developed in [1] and includes methods ``fit``, ``predict`` and ``decision_function`` following + the signatures + of `sklearn.svm.SVC <https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html>`_. + This implementation is adapted to work with quantum kernels. + + **Example** + + .. code-block:: python + + quantum_kernel = FidelityQuantumKernel() + + pegasos_qsvc = PegasosQSVC(quantum_kernel=quantum_kernel) + pegasos_qsvc.fit(sample_train, label_train) + pegasos_qsvc.predict(sample_test) + + **References** + [1]: Shalev-Shwartz et al., Pegasos: Primal Estimated sub-GrAdient SOlver for SVM. + `Pegasos for SVM <https://home.ttic.edu/~nati/Publications/PegasosMPB.pdf>`_ + + """ + + FITTED = 0 + UNFITTED = 1 + + # pylint: disable=invalid-name + def __init__( + self, + quantum_kernel: BaseKernel | None = None, + C: float = 1.0, + num_steps: int = 1000, + precomputed: bool = False, + seed: int | None = None, + ) -> None: + """ + Args: + quantum_kernel: A quantum kernel to be used for classification. + Has to be ``None`` when a precomputed kernel is used. If None, + and ``precomputed`` is ``False``, the quantum kernel will default to + :class:`~qiskit_machine_learning.kernels.FidelityQuantumKernel`. + C: Positive regularization parameter. The strength of the regularization is inversely + proportional to C. Smaller ``C`` induce smaller weights which generally helps + preventing overfitting. However, due to the nature of this algorithm, some of the + computation steps become trivial for larger ``C``. Thus, larger ``C`` improve + the performance of the algorithm drastically. If the data is linearly separable + in feature space, ``C`` should be chosen to be large. If the separation is not + perfect, ``C`` should be chosen smaller to prevent overfitting. + num_steps: The number of steps in the Pegasos algorithm. There is no early stopping + criterion. The algorithm iterates over all steps. + precomputed: A boolean flag indicating whether a precomputed kernel is used. Set it to + ``True`` in case of precomputed kernel. + seed: A seed for the random number generator. + + Raises: + ValueError: + - if ``quantum_kernel`` is passed and ``precomputed`` is set to ``True``. To use + a precomputed kernel, ``quantum_kernel`` has to be of the ``None`` type. + - if C is not a positive number. + """ + + if precomputed: + if quantum_kernel is not None: + raise ValueError("'quantum_kernel' has to be None to use a precomputed kernel") + else: + if quantum_kernel is None: + quantum_kernel = FidelityQuantumKernel() + + self._quantum_kernel = quantum_kernel + self._precomputed = precomputed + self._num_steps = num_steps + if seed is not None: + algorithm_globals.random_seed = seed + + if C > 0: + self.C = C + else: + raise ValueError(f"C has to be a positive number, found {C}.") + + # these are the parameters being fit and are needed for prediction + self._alphas: Dict[int, int] | None = None + self._x_train: np.ndarray | None = None + self._n_samples: int | None = None + self._y_train: np.ndarray | None = None + self._label_map: Dict[int, int] | None = None + self._label_pos: int | None = None + self._label_neg: int | None = None + + # added to all kernel values to include an implicit bias to the hyperplane + self._kernel_offset = 1 + + # for compatibility with the base SVC class. Set as unfitted. + self.fit_status_ = PegasosQSVC.UNFITTED + + # pylint: disable=invalid-name +
[docs] def fit( + self, X: np.ndarray, y: np.ndarray, sample_weight: np.ndarray | None = None + ) -> "PegasosQSVC": + """Fit the model according to the given training data. + + Args: + X: Train features. For a callable kernel (an instance of + :class:`~qiskit_machine_learning.kernels.BaseKernel`) the shape + should be ``(n_samples, n_features)``, for a precomputed kernel the shape should be + ``(n_samples, n_samples)``. + y: shape (n_samples), train labels . Must not contain more than two unique labels. + sample_weight: this parameter is not supported, passing a value raises an error. + + Returns: + ``self``, Fitted estimator. + + Raises: + ValueError: + - X and/or y have the wrong shape. + - X and y have incompatible dimensions. + - y includes more than two unique labels. + - Pre-computed kernel matrix has the wrong shape and/or dimension. + + NotImplementedError: + - when a sample_weight which is not None is passed. + """ + # check whether the data have the right format + if np.ndim(X) != 2: + raise ValueError("X has to be a 2D array") + if np.ndim(y) != 1: + raise ValueError("y has to be a 1D array") + if len(np.unique(y)) != 2: + raise ValueError("Only binary classification is supported") + if X.shape[0] != y.shape[0]: + raise ValueError("'X' and 'y' have to contain the same number of samples") + if self._precomputed and X.shape[0] != X.shape[1]: + raise ValueError( + "For a precomputed kernel, X should be in shape (n_samples, n_samples)" + ) + if sample_weight is not None: + raise NotImplementedError( + "Parameter 'sample_weight' is not supported. All samples have to be weighed equally" + ) + # reset the fit state + self.fit_status_ = PegasosQSVC.UNFITTED + + # the algorithm works with labels in {+1, -1} + self._label_pos = np.unique(y)[0] + self._label_neg = np.unique(y)[1] + self._label_map = {self._label_pos: +1, self._label_neg: -1} + + # the training data are later needed for prediction + self._x_train = X + self._y_train = y + self._n_samples = X.shape[0] + + # empty dictionary to represent sparse array + self._alphas = {} + + t_0 = datetime.now() + # training loop + for step in range(1, self._num_steps + 1): + # for every step, a random index (determining a random datum) is fixed + i = algorithm_globals.random.integers(0, len(y)) + + value = self._compute_weighted_kernel_sum(i, X, training=True) + + if (self._label_map[y[i]] * self.C / step) * value < 1: + # only way for a component of alpha to become non zero + self._alphas[i] = self._alphas.get(i, 0) + 1 + + self.fit_status_ = PegasosQSVC.FITTED + + logger.debug("fit completed after %s", str(datetime.now() - t_0)[:-7]) + + return self
+ + # pylint: disable=invalid-name +
[docs] def predict(self, X: np.ndarray) -> np.ndarray: + """ + Perform classification on samples in X. + + Args: + X: Features. For a callable kernel (an instance of + :class:`~qiskit_machine_learning.kernels.BaseKernel`) the shape + should be ``(m_samples, n_features)``, for a precomputed kernel the shape should be + ``(m_samples, n_samples)``. Where ``m`` denotes the set to be predicted and ``n`` the + size of the training set. In that case, the kernel values in X have to be calculated + with respect to the elements of the set to be predicted and the training set. + + Returns: + An array of the shape (n_samples), the predicted class labels for samples in X. + + Raises: + QiskitMachineLearningError: + - predict is called before the model has been fit. + ValueError: + - Pre-computed kernel matrix has the wrong shape and/or dimension. + """ + + t_0 = datetime.now() + values = self.decision_function(X) + y = np.array([self._label_pos if val > 0 else self._label_neg for val in values]) + logger.debug("prediction completed after %s", str(datetime.now() - t_0)[:-7]) + + return y
+ +
[docs] def decision_function(self, X: np.ndarray) -> np.ndarray: + """ + Evaluate the decision function for the samples in X. + + Args: + X: Features. For a callable kernel (an instance of + :class:`~qiskit_machine_learning.kernels.BaseKernel`) the shape + should be ``(m_samples, n_features)``, for a precomputed kernel the shape should be + ``(m_samples, n_samples)``. Where ``m`` denotes the set to be predicted and ``n`` the + size of the training set. In that case, the kernel values in X have to be calculated + with respect to the elements of the set to be predicted and the training set. + + Returns: + An array of the shape (n_samples), the decision function of the sample. + + Raises: + QiskitMachineLearningError: + - the method is called before the model has been fit. + ValueError: + - Pre-computed kernel matrix has the wrong shape and/or dimension. + """ + if self.fit_status_ == PegasosQSVC.UNFITTED: + raise QiskitMachineLearningError("The PegasosQSVC has to be fit first") + if np.ndim(X) != 2: + raise ValueError("X has to be a 2D array") + if self._precomputed and self._n_samples != X.shape[1]: + raise ValueError( + "For a precomputed kernel, X should be in shape (m_samples, n_samples)" + ) + + values = np.zeros(X.shape[0]) + for i in range(X.shape[0]): + values[i] = self._compute_weighted_kernel_sum(i, X, training=False) + + return values
+ + def _compute_weighted_kernel_sum(self, index: int, X: np.ndarray, training: bool) -> float: + """Helper function to compute the weighted sum over support vectors used for both training + and prediction with the Pegasos algorithm. + + Args: + index: fixed index distinguishing some datum + X: Features + training: flag indicating whether the loop is used within training or prediction + + Returns: + Weighted sum of kernel evaluations employed in the Pegasos algorithm + """ + # non-zero indices corresponding to the support vectors + support_indices = list(self._alphas.keys()) + + # for training + if training: + # support vectors + x_supp = X[support_indices] + # for prediction + else: + x_supp = self._x_train[support_indices] + if not self._precomputed: + # evaluate kernel function only for the fixed datum and the support vectors + kernel = self._quantum_kernel.evaluate(X[index], x_supp) + self._kernel_offset + else: + kernel = X[index, support_indices] + + # map the training labels of the support vectors to {-1,1} + y = np.array(list(map(self._label_map.get, self._y_train[support_indices]))) + # weights for the support vectors + alphas = np.array(list(self._alphas.values())) + # this value corresponds to a sum of kernel values weighted by their labels and alphas + value = np.sum(alphas * y * kernel) + + return value + + @property + def quantum_kernel(self) -> BaseKernel: + """Returns quantum kernel""" + return self._quantum_kernel + + @quantum_kernel.setter + def quantum_kernel(self, quantum_kernel: BaseKernel): + """ + Sets quantum kernel. If previously a precomputed kernel was set, it is reset to ``False``. + """ + + self._quantum_kernel = quantum_kernel + # quantum kernel is set, so we assume the kernel is not precomputed + self._precomputed = False + + # reset training status + self._reset_state() + + @property + def num_steps(self) -> int: + """Returns number of steps in the Pegasos algorithm.""" + return self._num_steps + + @num_steps.setter + def num_steps(self, num_steps: int): + """Sets the number of steps to be used in the Pegasos algorithm.""" + self._num_steps = num_steps + + # reset training status + self._reset_state() + + @property + def precomputed(self) -> bool: + """Returns a boolean flag indicating whether a precomputed kernel is used.""" + return self._precomputed + + @precomputed.setter + def precomputed(self, precomputed: bool): + """Sets the pre-computed kernel flag. If ``True`` is passed then the previous kernel is + cleared. If ``False`` is passed then a new instance of + :class:`~qiskit_machine_learning.kernels.FidelityQuantumKernel` is created.""" + self._precomputed = precomputed + if precomputed: + # remove the kernel, a precomputed will + self._quantum_kernel = None + else: + # re-create a new default quantum kernel + self._quantum_kernel = FidelityQuantumKernel() + + # reset training status + self._reset_state() + + def _reset_state(self): + """Resets internal data structures used in training.""" + self.fit_status_ = PegasosQSVC.UNFITTED + self._alphas = None + self._x_train = None + self._n_samples = None + self._y_train = None + self._label_map = None + self._label_pos = None + self._label_neg = None
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/classifiers/qsvc.html b/_modules/qiskit_machine_learning/algorithms/classifiers/qsvc.html new file mode 100644 index 000000000..5943ae3a9 --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/classifiers/qsvc.html @@ -0,0 +1,549 @@ + + + + + + + + qiskit_machine_learning.algorithms.classifiers.qsvc - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.classifiers.qsvc

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Quantum Support Vector Classifier"""
+
+import warnings
+from typing import Optional
+
+from qiskit_algorithms.utils import algorithm_globals
+from sklearn.svm import SVC
+
+from qiskit_machine_learning.algorithms.serializable_model import SerializableModelMixin
+from qiskit_machine_learning.exceptions import QiskitMachineLearningWarning
+from qiskit_machine_learning.kernels import BaseKernel, FidelityQuantumKernel
+
+
+
[docs]class QSVC(SVC, SerializableModelMixin): + r"""Quantum Support Vector Classifier that extends the scikit-learn + `sklearn.svm.SVC <https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html>`_ + classifier and introduces an additional `quantum_kernel` parameter. + + This class shows how to use a quantum kernel for classification. The class inherits its methods + like ``fit`` and ``predict`` from scikit-learn, see the example below. + Read more in the `scikit-learn user guide + <https://scikit-learn.org/stable/modules/svm.html#svm-classification>`_. + + **Example** + + .. code-block:: + + qsvc = QSVC(quantum_kernel=qkernel) + qsvc.fit(sample_train,label_train) + qsvc.predict(sample_test) + """ + + def __init__(self, *, quantum_kernel: Optional[BaseKernel] = None, **kwargs): + """ + Args: + quantum_kernel: A quantum kernel to be used for classification. + Has to be ``None`` when a precomputed kernel is used. If None, + default to :class:`~qiskit_machine_learning.kernels.FidelityQuantumKernel`. + *args: Variable length argument list to pass to SVC constructor. + **kwargs: Arbitrary keyword arguments to pass to SVC constructor. + """ + if "kernel" in kwargs: + msg = ( + "'kernel' argument is not supported and will be discarded, " + "please use 'quantum_kernel' instead." + ) + warnings.warn(msg, QiskitMachineLearningWarning, stacklevel=2) + # if we don't delete, then this value clashes with our quantum kernel + del kwargs["kernel"] + + self._quantum_kernel = quantum_kernel if quantum_kernel else FidelityQuantumKernel() + + if "random_state" not in kwargs: + kwargs["random_state"] = algorithm_globals.random_seed + + super().__init__(kernel=self._quantum_kernel.evaluate, **kwargs) + + @property + def quantum_kernel(self) -> BaseKernel: + """Returns quantum kernel""" + return self._quantum_kernel + + @quantum_kernel.setter + def quantum_kernel(self, quantum_kernel: BaseKernel): + """Sets quantum kernel""" + self._quantum_kernel = quantum_kernel + self.kernel = self._quantum_kernel.evaluate + + # we override this method to be able to pretty print this instance + @classmethod + def _get_param_names(cls): + names = SVC._get_param_names() + names.remove("kernel") + return sorted(names + ["quantum_kernel"])
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/classifiers/vqc.html b/_modules/qiskit_machine_learning/algorithms/classifiers/vqc.html new file mode 100644 index 000000000..420ce12d4 --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/classifiers/vqc.html @@ -0,0 +1,636 @@ + + + + + + + + qiskit_machine_learning.algorithms.classifiers.vqc - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.classifiers.vqc

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""An implementation of variational quantum classifier."""
+
+from __future__ import annotations
+from typing import Callable
+
+import numpy as np
+
+from qiskit import QuantumCircuit
+from qiskit.primitives import BaseSampler
+from qiskit_algorithms.optimizers import Optimizer, OptimizerResult, Minimizer
+
+from ...neural_networks import SamplerQNN
+from ...utils import derive_num_qubits_feature_map_ansatz
+from ...utils.loss_functions import Loss
+
+from .neural_network_classifier import NeuralNetworkClassifier
+
+
+
[docs]class VQC(NeuralNetworkClassifier): + r"""A convenient Variational Quantum Classifier implementation. + + The variational quantum classifier (VQC) is a variational algorithm where the measured + bitstrings are interpreted as the output of a classifier. + + Constructs a quantum circuit and corresponding neural network, then uses it to instantiate a + neural network classifier. + + Labels can be passed in various formats, they can be plain labels, a one dimensional numpy + array that contains integer labels like `[0, 1, 2, ...]`, or a numpy array with categorical + string labels. One hot encoded labels are also supported. Internally, labels are transformed + to one hot encoding and the classifier is always trained on one hot labels. + + Multi-label classification is not supported. E.g., :math:`[[1, 1, 0], [0, 1, 1], [1, 0, 1]]`. + """ + + def __init__( + self, + num_qubits: int | None = None, + feature_map: QuantumCircuit | None = None, + ansatz: QuantumCircuit | None = None, + loss: str | Loss = "cross_entropy", + optimizer: Optimizer | Minimizer | None = None, + warm_start: bool = False, + initial_point: np.ndarray | None = None, + callback: Callable[[np.ndarray, float], None] | None = None, + *, + sampler: BaseSampler | None = None, + ) -> None: + """ + Args: + num_qubits: The number of qubits for the underlying QNN. + If ``None`` is given, the number of qubits is derived from the + feature map or ansatz. If neither of those is given, raises an exception. + The number of qubits in the feature map and ansatz are adjusted to this + number if required. + feature_map: The (parametrized) circuit to be used as a feature map for the underlying + QNN. If ``None`` is given, the :class:`~qiskit.circuit.library.ZZFeatureMap` + is used if the number of qubits is larger than 1. For a single qubit + classification problem the :class:`~qiskit.circuit.library.ZFeatureMap` + is used by default. + ansatz: The (parametrized) circuit to be used as an ansatz for the underlying QNN. + If ``None`` is given then the :class:`~qiskit.circuit.library.RealAmplitudes` + circuit is used. + loss: A target loss function to be used in training. Default value is ``cross_entropy``. + optimizer: An instance of an optimizer or a callable to be used in training. + Refer to :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on + the callable protocol. When `None` defaults to + :class:`~qiskit_algorithms.optimizers.SLSQP`. + warm_start: Use weights from previous fit to start next fit. + initial_point: Initial point for the optimizer to start from. + callback: a reference to a user's callback function that has two parameters and + returns ``None``. The callback can access intermediate data during training. + On each iteration an optimizer invokes the callback and passes current weights + as an array and a computed value as a float of the objective function being + optimized. This allows to track how well optimization / training process is going on. + sampler: an optional Sampler primitive instance to be used by the underlying + :class:`~qiskit_machine_learning.neural_networks.SamplerQNN` neural network. If + ``None`` is passed then an instance of the reference Sampler will be used. + Raises: + QiskitMachineLearningError: Needs at least one out of ``num_qubits``, ``feature_map`` or + ``ansatz`` to be given. Or the number of qubits in the feature map and/or ansatz + can't be adjusted to ``num_qubits``. + """ + + num_qubits, feature_map, ansatz = derive_num_qubits_feature_map_ansatz( + num_qubits, feature_map, ansatz + ) + + # construct circuit + self._feature_map = feature_map + self._ansatz = ansatz + self._num_qubits = num_qubits + self._circuit = QuantumCircuit(self._num_qubits) + self._circuit.compose(self.feature_map, inplace=True) + self._circuit.compose(self.ansatz, inplace=True) + + neural_network = SamplerQNN( + sampler=sampler, + circuit=self._circuit, + input_params=self.feature_map.parameters, + weight_params=self.ansatz.parameters, + interpret=self._get_interpret(2), + output_shape=2, + input_gradients=False, + ) + + super().__init__( + neural_network=neural_network, + loss=loss, + one_hot=True, + optimizer=optimizer, + warm_start=warm_start, + initial_point=initial_point, + callback=callback, + ) + + @property + def feature_map(self) -> QuantumCircuit: + """Returns the used feature map.""" + return self._feature_map + + @property + def ansatz(self) -> QuantumCircuit: + """Returns the used ansatz.""" + return self._ansatz + + @property + def circuit(self) -> QuantumCircuit: + """Returns the underlying quantum circuit.""" + return self._circuit + + @property + def num_qubits(self) -> int: + """Returns the number of qubits used by ansatz and feature map.""" + return self.circuit.num_qubits + + def _fit_internal(self, X: np.ndarray, y: np.ndarray) -> OptimizerResult: + """ + Fit the model to data matrix X and targets y. + + Args: + X: The input feature values. + y: The input target values. Required to be one-hot encoded. + + Returns: + Trained classifier. + """ + X, y = self._validate_input(X, y) + num_classes = self._num_classes + + # instance check required by mypy (alternative to cast) + if isinstance(self._neural_network, SamplerQNN): + self._neural_network.set_interpret(self._get_interpret(num_classes), num_classes) + + function = self._create_objective(X, y) + return self._minimize(function) + + def _get_interpret(self, num_classes: int): + def parity(x: int, num_classes: int = num_classes) -> int: + return x % num_classes + + return parity
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/objective_functions.html b/_modules/qiskit_machine_learning/algorithms/objective_functions.html new file mode 100644 index 000000000..a2ad58e7d --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/objective_functions.html @@ -0,0 +1,675 @@ + + + + + + + + qiskit_machine_learning.algorithms.objective_functions - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.objective_functions

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""An abstract objective function definition and common objective functions suitable
+for classifiers/regressors."""
+
+from abc import abstractmethod
+from typing import Optional, Union
+
+import numpy as np
+
+import qiskit_machine_learning.optionals as _optionals
+from qiskit_machine_learning.neural_networks import NeuralNetwork
+from qiskit_machine_learning.utils.loss_functions import Loss
+
+if _optionals.HAS_SPARSE:
+    # pylint: disable=import-error
+    from sparse import SparseArray
+else:
+
+    class SparseArray:  # type: ignore
+        """Empty SparseArray class
+        Replacement if sparse.SparseArray is not present.
+        """
+
+        pass
+
+
+
[docs]class ObjectiveFunction: + """An abstract objective function. Provides methods for computing objective value and + gradients for forward and backward passes.""" + + # pylint: disable=invalid-name + def __init__( + self, X: np.ndarray, y: np.ndarray, neural_network: NeuralNetwork, loss: Loss + ) -> None: + """ + Args: + X: The input data. + y: The target values. + neural_network: An instance of an quantum neural network to be used by this + objective function. + loss: A target loss function to be used in training. + """ + super().__init__() + self._X = X + self._num_samples = X.shape[0] + self._y = y + self._neural_network = neural_network + self._loss = loss + self._last_forward_weights: Optional[np.ndarray] = None + self._last_forward: Optional[Union[np.ndarray, SparseArray]] = None + +
[docs] @abstractmethod + def objective(self, weights: np.ndarray) -> float: + """Computes the value of this objective function given weights. + + Args: + weights: an array of weights to be used in the objective function. + + Returns: + Value of the function. + """ + raise NotImplementedError
+ +
[docs] @abstractmethod + def gradient(self, weights: np.ndarray) -> np.ndarray: + """Computes gradients of this objective function given weights. + + Args: + weights: an array of weights to be used in the objective function. + + Returns: + Gradients of the function. + """ + raise NotImplementedError
+ + def _neural_network_forward(self, weights: np.ndarray) -> Union[np.ndarray, SparseArray]: + """ + Computes and caches the results of the forward pass. Cached values may be re-used in + gradient computation. + + Args: + weights: an array of weights to be used in the forward pass. + + Returns: + The result of the neural network. + """ + # if we get the same weights, we don't compute the forward pass again. + if self._last_forward_weights is None or ( + not np.all(np.isclose(weights, self._last_forward_weights)) + ): + # compute forward and cache the results for re-use in backward + self._last_forward = self._neural_network.forward(self._X, weights) + # a copy avoids keeping a reference to the same array, so we are sure we have + # different arrays on the next iteration. + self._last_forward_weights = np.copy(weights) + return self._last_forward
+ + +
[docs]class BinaryObjectiveFunction(ObjectiveFunction): + """An objective function for binary representation of the output. For instance, classes of + ``-1`` and ``+1``.""" + +
[docs] def objective(self, weights: np.ndarray) -> float: + # predict is of shape (N, 1), where N is a number of samples + predict = self._neural_network_forward(weights) + target = np.array(self._y).reshape(predict.shape) + # float(...) is for mypy compliance + return float(np.sum(self._loss(predict, target)) / self._num_samples)
+ +
[docs] def gradient(self, weights: np.ndarray) -> np.ndarray: + # check that we have supported output shape + num_outputs = self._neural_network.output_shape[0] + if num_outputs != 1: + raise ValueError(f"Number of outputs is expected to be 1, got {num_outputs}") + + # output must be of shape (N, 1), where N is a number of samples + output = self._neural_network_forward(weights) + # weight grad is of shape (N, 1, num_weights) + _, weight_grad = self._neural_network.backward(self._X, weights) + + # we reshape _y since the output has the shape (N, 1) and _y has (N,) + # loss_gradient is of shape (N, 1) + loss_gradient = self._loss.gradient(output, self._y.reshape(-1, 1)) + + # for the output we compute a dot product(matmul) of loss gradient for this output + # and weights for this output. + grad = loss_gradient[:, 0] @ weight_grad[:, 0, :] + # we keep the shape of (1, num_weights) + grad = grad.reshape(1, -1) / self._num_samples + + return grad
+ + +
[docs]class MultiClassObjectiveFunction(ObjectiveFunction): + """ + An objective function for multiclass representation of the output. For instance, classes of + ``0``, ``1``, ``2``, etc. + """ + +
[docs] def objective(self, weights: np.ndarray) -> float: + # probabilities is of shape (N, num_outputs) + probs = self._neural_network_forward(weights) + + num_outputs = self._neural_network.output_shape[0] + val = 0.0 + num_samples = self._X.shape[0] + for i in range(num_outputs): + # for each output we compute a dot product of probabilities of this output and a loss + # vector. + # loss vector is a loss of a particular output value(value of i) versus true labels. + # we do this across all samples. + val += probs[:, i] @ self._loss(np.full(num_samples, i), self._y) + val = val / self._num_samples + + return val
+ +
[docs] def gradient(self, weights: np.ndarray) -> np.ndarray: + # weight probability gradient is of shape (N, num_outputs, num_weights) + _, weight_prob_grad = self._neural_network.backward(self._X, weights) + + grad = np.zeros((1, self._neural_network.num_weights)) + num_samples = self._X.shape[0] + num_outputs = self._neural_network.output_shape[0] + for i in range(num_outputs): + # similar to what is in the objective, but we compute a matrix multiplication of + # weight probability gradients and a loss vector. + grad += weight_prob_grad[:, i, :].T @ self._loss(np.full(num_samples, i), self._y) + + grad = grad / self._num_samples + return grad
+ + +
[docs]class OneHotObjectiveFunction(ObjectiveFunction): + """ + An objective function for one hot encoding representation of the output. For instance, classes + like ``[1, 0, 0]``, ``[0, 1, 0]``, ``[0, 0, 1]``. + """ + +
[docs] def objective(self, weights: np.ndarray) -> float: + # probabilities is of shape (N, num_outputs) + probs = self._neural_network_forward(weights) + # float(...) is for mypy compliance + value = float(np.sum(self._loss(probs, self._y)) / self._num_samples) + return value
+ +
[docs] def gradient(self, weights: np.ndarray) -> np.ndarray: + # predict is of shape (N, num_outputs) + y_predict = self._neural_network_forward(weights) + # weight probability gradient is of shape (N, num_outputs, num_weights) + _, weight_prob_grad = self._neural_network.backward(self._X, weights) + + grad = np.zeros(self._neural_network.num_weights) + num_outputs = self._neural_network.output_shape[0] + # loss gradient is of shape (N, num_output) + loss_gradient = self._loss.gradient(y_predict, self._y) + for i in range(num_outputs): + # a dot product(matmul) of loss gradient and weight probability gradient across all + # samples for an output. + grad += loss_gradient[:, i] @ weight_prob_grad[:, i, :] + + grad = grad / self._num_samples + return grad
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/regressors/neural_network_regressor.html b/_modules/qiskit_machine_learning/algorithms/regressors/neural_network_regressor.html new file mode 100644 index 000000000..9a5a10248 --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/regressors/neural_network_regressor.html @@ -0,0 +1,517 @@ + + + + + + + + qiskit_machine_learning.algorithms.regressors.neural_network_regressor - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.regressors.neural_network_regressor

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""An implementation of quantum neural network regressor."""
+
+from typing import Optional
+
+import numpy as np
+from qiskit_algorithms.optimizers import OptimizerResult
+from sklearn.base import RegressorMixin
+
+from ..objective_functions import (
+    BinaryObjectiveFunction,
+    MultiClassObjectiveFunction,
+    ObjectiveFunction,
+)
+from ..trainable_model import TrainableModel
+
+
+
[docs]class NeuralNetworkRegressor(TrainableModel, RegressorMixin): + """Implements a basic quantum neural network regressor. Implements Scikit-Learn compatible + methods for regression and extends ``RegressorMixin``. + See `Scikit-Learn <https://scikit-learn.org>`__ for more details. + """ + + def _fit_internal( + self, X: np.ndarray, y: np.ndarray + ) -> OptimizerResult: # pylint: disable=invalid-name + # mypy definition + function: ObjectiveFunction = None + if self._neural_network.output_shape == (1,): + function = BinaryObjectiveFunction(X, y, self._neural_network, self._loss) + else: + function = MultiClassObjectiveFunction(X, y, self._neural_network, self._loss) + + return self._minimize(function) + +
[docs] def predict(self, X: np.ndarray) -> np.ndarray: # pylint: disable=invalid-name + self._check_fitted() + + return self._neural_network.forward(X, self._fit_result.x)
+ +
[docs] def score( + self, X: np.ndarray, y: np.ndarray, sample_weight: Optional[np.ndarray] = None + ) -> float: + return RegressorMixin.score(self, X, y, sample_weight)
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/regressors/qsvr.html b/_modules/qiskit_machine_learning/algorithms/regressors/qsvr.html new file mode 100644 index 000000000..3b7c72174 --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/regressors/qsvr.html @@ -0,0 +1,544 @@ + + + + + + + + qiskit_machine_learning.algorithms.regressors.qsvr - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.regressors.qsvr

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Quantum Support Vector Regressor"""
+
+import warnings
+from typing import Optional
+
+from sklearn.svm import SVR
+
+from qiskit_machine_learning.algorithms.serializable_model import SerializableModelMixin
+from qiskit_machine_learning.exceptions import QiskitMachineLearningWarning
+from qiskit_machine_learning.kernels import BaseKernel, FidelityQuantumKernel
+
+
+
[docs]class QSVR(SVR, SerializableModelMixin): + r"""Quantum Support Vector Regressor that extends the scikit-learn + `sklearn.svm.SVR <https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html>`_ + regressor and introduces an additional `quantum_kernel` parameter. + + This class shows how to use a quantum kernel for regression. The class inherits its methods + like ``fit`` and ``predict`` from scikit-learn, see the example below. + Read more in the + `scikit-learn user guide <https://scikit-learn.org/stable/modules/svm.html#svm-regression>`_. + + **Example** + + .. code-block:: + + qsvr = QSVR(quantum_kernel=qkernel) + qsvr.fit(sample_train,label_train) + qsvr.predict(sample_test) + """ + + def __init__(self, *, quantum_kernel: Optional[BaseKernel] = None, **kwargs): + """ + Args: + quantum_kernel: A quantum kernel to be used for regression. If None, + default to :class:`~qiskit_machine_learning.kernels.FidelityQuantumKernel`. + *args: Variable length argument list to pass to SVR constructor. + **kwargs: Arbitrary keyword arguments to pass to SVR constructor. + """ + if "kernel" in kwargs: + msg = ( + "'kernel' argument is not supported and will be discarded, " + "please use 'quantum_kernel' instead." + ) + warnings.warn(msg, QiskitMachineLearningWarning, stacklevel=2) + # if we don't delete, then this value clashes with our quantum kernel + del kwargs["kernel"] + + self._quantum_kernel = quantum_kernel if quantum_kernel else FidelityQuantumKernel() + + super().__init__(kernel=self._quantum_kernel.evaluate, **kwargs) + + @property + def quantum_kernel(self) -> BaseKernel: + """Returns quantum kernel""" + return self._quantum_kernel + + @quantum_kernel.setter + def quantum_kernel(self, quantum_kernel: BaseKernel): + """Sets quantum kernel""" + self._quantum_kernel = quantum_kernel + self.kernel = self._quantum_kernel.evaluate + + # we override this method to be able to pretty print this instance + @classmethod + def _get_param_names(cls): + names = SVR._get_param_names() + names.remove("kernel") + return sorted(names + ["quantum_kernel"])
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/regressors/vqr.html b/_modules/qiskit_machine_learning/algorithms/regressors/vqr.html new file mode 100644 index 000000000..1bf54c69f --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/regressors/vqr.html @@ -0,0 +1,598 @@ + + + + + + + + qiskit_machine_learning.algorithms.regressors.vqr - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.regressors.vqr

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""An implementation of quantum neural network regressor."""
+from __future__ import annotations
+
+from typing import Callable
+
+import numpy as np
+from qiskit import QuantumCircuit
+from qiskit.primitives import BaseEstimator
+from qiskit.quantum_info.operators.base_operator import BaseOperator
+from qiskit_algorithms.optimizers import Optimizer, Minimizer
+
+from .neural_network_regressor import NeuralNetworkRegressor
+from ...neural_networks import EstimatorQNN
+from ...utils import derive_num_qubits_feature_map_ansatz
+from ...utils.loss_functions import Loss
+
+
+
[docs]class VQR(NeuralNetworkRegressor): + """A convenient Variational Quantum Regressor implementation.""" + + def __init__( + self, + num_qubits: int | None = None, + feature_map: QuantumCircuit | None = None, + ansatz: QuantumCircuit | None = None, + observable: BaseOperator | None = None, + loss: str | Loss = "squared_error", + optimizer: Optimizer | Minimizer | None = None, + warm_start: bool = False, + initial_point: np.ndarray | None = None, + callback: Callable[[np.ndarray, float], None] | None = None, + *, + estimator: BaseEstimator | None = None, + ) -> None: + r""" + Args: + num_qubits: The number of qubits for the underlying QNN. + If ``None`` then the number of qubits is derived from the + feature map or ansatz, but if neither of these are given an error is raised. + The number of qubits in the feature map and ansatz are adjusted to this + number if required. + feature_map: The (parametrized) circuit to be used as a feature map for the underlying + QNN. If ``None`` the :class:`~qiskit.circuit.library.ZZFeatureMap` + is used if the number of qubits is larger than 1. For a single qubit regression + problem the :class:`~qiskit.circuit.library.ZFeatureMap` is used by default. + ansatz: The (parametrized) circuit to be used as an ansatz for the underlying + QNN. If ``None`` then the :class:`~qiskit.circuit.library.RealAmplitudes` + circuit is used. + observable: The observable to be measured in the underlying QNN. If ``None``, + use the default :math:`Z^{\otimes num\_qubits}` observable. + loss: A target loss function to be used in training. Default is squared error. + optimizer: An instance of an optimizer or a callable to be used in training. + Refer to :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on + the callable protocol. When `None` defaults to + :class:`~qiskit_algorithms.optimizers.SLSQP`. + warm_start: Use weights from previous fit to start next fit. + initial_point: Initial point for the optimizer to start from. + callback: A reference to a user's callback function that has two parameters and + returns ``None``. The callback can access intermediate data during training. + On each iteration an optimizer invokes the callback and passes current weights + as an array and a computed value as a float of the objective function being + optimized. This allows to track how well optimization / training process is going on. + estimator: an optional Estimator primitive instance to be used by the underlying + :class:`~qiskit_machine_learning.neural_networks.EstimatorQNN` neural network. If + ``None`` is passed then an instance of the reference Estimator will be used. + Raises: + QiskitMachineLearningError: Needs at least one out of ``num_qubits``, ``feature_map`` or + ``ansatz`` to be given. Or the number of qubits in the feature map and/or ansatz + can't be adjusted to ``num_qubits``. + ValueError: if the type of the observable is not compatible with ``estimator``. + """ + if observable is not None and not isinstance(observable, BaseOperator): + raise ValueError( + f"Unsupported type of the observable, expected " + f"'BaseOperator', got {type(observable)}" + ) + + self._estimator = estimator + + num_qubits, feature_map, ansatz = derive_num_qubits_feature_map_ansatz( + num_qubits, feature_map, ansatz + ) + + # construct circuit + self._feature_map = feature_map + self._ansatz = ansatz + self._num_qubits = num_qubits + circuit = QuantumCircuit(self._num_qubits) + circuit.compose(self._feature_map, inplace=True) + circuit.compose(self._ansatz, inplace=True) + + observables = [observable] if observable is not None else None + + neural_network = EstimatorQNN( + estimator=estimator, + circuit=circuit, + observables=observables, + input_params=feature_map.parameters, + weight_params=ansatz.parameters, + ) + + super().__init__( + neural_network=neural_network, + loss=loss, + optimizer=optimizer, + warm_start=warm_start, + initial_point=initial_point, + callback=callback, + ) + + @property + def feature_map(self) -> QuantumCircuit: + """Returns the used feature map.""" + return self._feature_map + + @property + def ansatz(self) -> QuantumCircuit: + """Returns the used ansatz.""" + return self._ansatz + + @property + def num_qubits(self) -> int: + """Returns the number of qubits used by ansatz and feature map.""" + return self._num_qubits
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/serializable_model.html b/_modules/qiskit_machine_learning/algorithms/serializable_model.html new file mode 100644 index 000000000..bffc6f6f7 --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/serializable_model.html @@ -0,0 +1,520 @@ + + + + + + + + qiskit_machine_learning.algorithms.serializable_model - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.serializable_model

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""A mixin class for saving and loading models."""
+
+from typing import Any
+
+import dill
+
+
+
[docs]class SerializableModelMixin: + """ + Provides convenient methods for saving and loading models. + """ + +
[docs] def save(self, file_name: str) -> None: + """ + Saves this model to the specified file. Internally, the model is serialized via ``dill``. + All parameters are saved, including a primitive instance that is referenced by internal + objects. That means if a model is loaded from a file and is used, for instance, for + inference, the same primitive will be used even if a cloud primitive was used. + + Args: + file_name: a file name or path where to save the model. + """ + with open(file_name, "wb") as handler: + dill.dump(self, handler)
+ +
[docs] @classmethod + def load(cls, file_name: str) -> Any: + """ + Loads a model from the file. If the loaded model is not an instance of the class whose + method was called, then a warning is raised. Nevertheless, the loaded model may be a valid + model. + + Args: + file_name: a file name or path to load a model from. + + Returns: + A loaded model. + + Raises: + TypeError: if a loaded model is not an instance of the expected class. + """ + with open(file_name, "rb") as handler: + model = dill.load(handler) + if not isinstance(model, cls): + raise TypeError(f"Loaded model is of class {type(model)}. Expected class: {cls}.") + return model
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/algorithms/trainable_model.html b/_modules/qiskit_machine_learning/algorithms/trainable_model.html new file mode 100644 index 000000000..d6ff2d8f9 --- /dev/null +++ b/_modules/qiskit_machine_learning/algorithms/trainable_model.html @@ -0,0 +1,763 @@ + + + + + + + + qiskit_machine_learning.algorithms.trainable_model - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.algorithms.trainable_model

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""A base ML model with a Scikit-Learn like interface."""
+from __future__ import annotations
+
+from abc import abstractmethod
+from typing import Callable
+
+import numpy as np
+from qiskit_algorithms.optimizers import Optimizer, SLSQP, OptimizerResult, Minimizer
+from qiskit_algorithms.utils import algorithm_globals
+
+from qiskit_machine_learning import QiskitMachineLearningError
+from qiskit_machine_learning.neural_networks import NeuralNetwork
+from qiskit_machine_learning.utils.loss_functions import (
+    Loss,
+    L1Loss,
+    L2Loss,
+    CrossEntropyLoss,
+)
+
+from .objective_functions import ObjectiveFunction
+from .serializable_model import SerializableModelMixin
+
+
+
[docs]class TrainableModel(SerializableModelMixin): + """Base class for ML model that defines a scikit-learn like interface for Estimators.""" + + def __init__( + self, + neural_network: NeuralNetwork, + loss: str | Loss = "squared_error", + optimizer: Optimizer | Minimizer | None = None, + warm_start: bool = False, + initial_point: np.ndarray = None, + callback: Callable[[np.ndarray, float], None] | None = None, + ): + """ + Args: + neural_network: An instance of an quantum neural network. If the neural network has a + one-dimensional output, i.e., `neural_network.output_shape=(1,)`, then it is + expected to return values in [-1, +1] and it can only be used for binary + classification. If the output is multi-dimensional, it is assumed that the result + is a probability distribution, i.e., that the entries are non-negative and sum up + to one. Then there are two options, either one-hot encoding or not. In case of + one-hot encoding, each probability vector resulting a neural network is considered + as one sample and the loss function is applied to the whole vector. Otherwise, each + entry of the probability vector is considered as an individual sample and the loss + function is applied to the index and weighted with the corresponding probability. + loss: A target loss function to be used in training. Default is `squared_error`, + i.e. L2 loss. Can be given either as a string for 'absolute_error' (i.e. L1 Loss), + 'squared_error', 'cross_entropy', or as a loss function + implementing the Loss interface. + optimizer: An instance of an optimizer or a callable to be used in training. + Refer to :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on + the callable protocol. When `None` defaults to + :class:`~qiskit_algorithms.optimizers.SLSQP`. + warm_start: Use weights from previous fit to start next fit. + initial_point: Initial point for the optimizer to start from. + callback: A reference to a user's callback function that has two parameters and + returns ``None``. The callback can access intermediate data during training. + On each iteration an optimizer invokes the callback and passes current weights + as an array and a computed value as a float of the objective function being + optimized. This allows to track how well optimization / training process is going on. + Raises: + QiskitMachineLearningError: unknown loss, invalid neural network + """ + self._neural_network = neural_network + if len(neural_network.output_shape) > 1: + raise QiskitMachineLearningError("Invalid neural network output shape!") + if isinstance(loss, Loss): + self._loss = loss + else: + loss = loss.lower() + if loss == "absolute_error": + self._loss = L1Loss() + elif loss == "squared_error": + self._loss = L2Loss() + elif loss == "cross_entropy": + self._loss = CrossEntropyLoss() + else: + raise QiskitMachineLearningError(f"Unknown loss {loss}!") + + # call the setter that has some additional checks + self.optimizer = optimizer + + self._warm_start = warm_start + self._fit_result: OptimizerResult | None = None + self._initial_point = initial_point + self._callback = callback + + @property + def neural_network(self): + """Returns the underlying neural network.""" + return self._neural_network + + @property + def loss(self): + """Returns the underlying neural network.""" + return self._loss + + @property + def optimizer(self) -> Optimizer | Minimizer: + """Returns an optimizer to be used in training.""" + return self._optimizer + + @optimizer.setter + def optimizer(self, optimizer: Optimizer | Minimizer | None = None): + """Sets the optimizer to use in training process.""" + if optimizer is None: + optimizer = SLSQP() + self._optimizer = optimizer + + @property + def warm_start(self) -> bool: + """Returns the warm start flag.""" + return self._warm_start + + @warm_start.setter + def warm_start(self, warm_start: bool) -> None: + """Sets the warm start flag.""" + self._warm_start = warm_start + + @property + def initial_point(self) -> np.ndarray: + """Returns current initial point""" + return self._initial_point + + @initial_point.setter + def initial_point(self, initial_point: np.ndarray) -> None: + """Sets the initial point""" + self._initial_point = initial_point + + @property + def weights(self) -> np.ndarray: + """Returns trained weights as a numpy array. The weights can be also queried by calling + `model.fit_result.x`, but in this case their representation depends on the optimizer used. + + Raises: + QiskitMachineLearningError: If the model has not been fit. + """ + self._check_fitted() + return np.asarray(self._fit_result.x) + + @property + def fit_result(self) -> OptimizerResult: + """Returns a resulting object from the optimization procedure. Please refer to the + documentation of the `OptimizerResult + <https://qiskit.org/documentation/stubs/qiskit_algorithms.optimizers.OptimizerResult.html>`_ + class for more details. + + Raises: + QiskitMachineLearningError: If the model has not been fit. + """ + self._check_fitted() + return self._fit_result + + @property + def callback(self) -> Callable[[np.ndarray, float], None] | None: + """Return the callback.""" + return self._callback + + @callback.setter + def callback(self, callback: Callable[[np.ndarray, float], None] | None) -> None: + """Set the callback.""" + self._callback = callback + + def _check_fitted(self) -> None: + if self._fit_result is None: + raise QiskitMachineLearningError("The model has not been fitted yet") + + # pylint: disable=invalid-name +
[docs] def fit(self, X: np.ndarray, y: np.ndarray) -> TrainableModel: + """ + Fit the model to data matrix X and target(s) y. + + Args: + X: The input data. + y: The target values. + + Returns: + self: returns a trained model. + + Raises: + QiskitMachineLearningError: In case of invalid data (e.g. incompatible with network) + """ + if not self._warm_start: + self._fit_result = None + + self._fit_result = self._fit_internal(X, y) + return self
+ + @abstractmethod + # pylint: disable=invalid-name + def _fit_internal(self, X: np.ndarray, y: np.ndarray) -> OptimizerResult: + raise NotImplementedError + +
[docs] @abstractmethod + def predict(self, X: np.ndarray) -> np.ndarray: + """ + Predict using the network specified to the model. + + Args: + X: The input data. + Raises: + QiskitMachineLearningError: Model needs to be fit to some training data first + Returns: + The predicted classes. + """ + raise NotImplementedError
+ +
[docs] @abstractmethod + # pylint: disable=invalid-name + def score(self, X: np.ndarray, y: np.ndarray, sample_weight: np.ndarray | None = None) -> float: + """ + Returns a score of this model given samples and true values for the samples. In case of + classification this should be mean accuracy, in case of regression the coefficient of + determination :math:`R^2` of the prediction. + + Args: + X: Test samples. + y: True values for ``X``. + sample_weight: Sample weights. Default is ``None``. + + Returns: + a float score of the model. + """ + raise NotImplementedError
+ + def _choose_initial_point(self) -> np.ndarray: + """Choose an initial point for the optimizer. If warm start is set and the model is + already trained then use a fit result as an initial point. If initial point is passed, + then use this value, otherwise pick a random location. + + Returns: + An array as an initial point + """ + if self._warm_start and self._fit_result is not None: + self._initial_point = self._fit_result.x + elif self._initial_point is None: + self._initial_point = algorithm_globals.random.random(self._neural_network.num_weights) + return self._initial_point + + def _get_objective( + self, + function: ObjectiveFunction, + ) -> Callable: + """ + Wraps the given `ObjectiveFunction` to add callback calls, if `callback` is not None, along + with evaluating the objective value. Returned objective function is passed to + `Optimizer.minimize()`. + Args: + function: The objective function whose objective is to be evaluated. + + Returns: + Objective function to evaluate objective value and optionally invoke callback calls. + """ + if self._callback is None: + return function.objective + + def objective(objective_weights): + objective_value = function.objective(objective_weights) + self._callback(objective_weights, objective_value) + return objective_value + + return objective + + def _minimize(self, function: ObjectiveFunction) -> OptimizerResult: + """ + Minimizes the objective function. + + Args: + function: a function to minimize. + + Returns: + An optimization result. + """ + objective = self._get_objective(function) + + initial_point = self._choose_initial_point() + if callable(self._optimizer): + optimizer_result = self._optimizer( + fun=objective, x0=initial_point, jac=function.gradient + ) + else: + optimizer_result = self._optimizer.minimize( + fun=objective, + x0=initial_point, + jac=function.gradient, + ) + return optimizer_result
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/circuit/library/qnn_circuit.html b/_modules/qiskit_machine_learning/circuit/library/qnn_circuit.html new file mode 100644 index 000000000..10ea946d3 --- /dev/null +++ b/_modules/qiskit_machine_learning/circuit/library/qnn_circuit.html @@ -0,0 +1,722 @@ + + + + + + + + qiskit_machine_learning.circuit.library.qnn_circuit - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.circuit.library.qnn_circuit

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""The QNN circuit."""
+from __future__ import annotations
+from typing import List
+from qiskit.circuit import QuantumRegister, QuantumCircuit
+from qiskit.circuit.parametertable import ParameterView
+from qiskit.circuit.library import BlueprintCircuit
+from qiskit_machine_learning.utils import derive_num_qubits_feature_map_ansatz
+from qiskit_machine_learning import QiskitMachineLearningError
+
+
+
[docs]class QNNCircuit(BlueprintCircuit): + """ + The QNN circuit is a blueprint circuit that wraps feature map and ansatz circuits. + It can be used to simplify the composition of these two. + + If only the number of qubits is provided the :class:`~qiskit.circuit.library.RealAmplitudes` + ansatz and the :class:`~qiskit.circuit.library.ZZFeatureMap` feature map are used. If the + number of qubits is 1 the :class:`~qiskit.circuit.library.ZFeatureMap` is used. If only a + feature map is provided, the :class:`~qiskit.circuit.library.RealAmplitudes` ansatz with the + corresponding number of qubits is used. If only an ansatz is provided the + :class:`~qiskit.circuit.library.ZZFeatureMap` with the corresponding number of qubits is used. + + At least one parameter has to be provided. If a feature map and an ansatz is provided, the + number of qubits must be the same. + + In case number of qubits is provided along with either a feature map, an ansatz or both, a + potential mismatch between the three inputs with respect to the number of qubits is resolved by + constructing the :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` with the given + number of qubits. If one of the :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` + properties is set after the class construction, the circuit is adjusted to incorporate the + changes. This means, a new valid configuration that considers the latest property update will be + derived. This ensures that the classes properties are consistent at all times. + + Example: + + .. code-block:: python + + from qiskit_machine_learning.circuit.library import QNNCircuit + qnn_qc = QNNCircuit(2) + print(qnn_qc) + # prints: + # ┌──────────────────────────┐» + # q_0: ┤0 ├» + # │ ZZFeatureMap(x[0],x[1]) │» + # q_1: ┤1 ├» + # └──────────────────────────┘» + # « ┌──────────────────────────────────────────────────────────┐ + # «q_0: ┤0 ├ + # « │ RealAmplitudes(θ[0],θ[1],θ[2],θ[3],θ[4],θ[5],θ[6],θ[7]) │ + # «q_1: ┤1 ├ + # « └──────────────────────────────────────────────────────────┘ + + print(qnn_qc.num_qubits) + # prints: 2 + + print(qnn_qc.input_parameters) + # prints: ParameterView([ParameterVectorElement(x[0]), ParameterVectorElement(x[1])]) + + print(qnn_qc.weight_parameters) + # prints: ParameterView([ParameterVectorElement(θ[0]), ParameterVectorElement(θ[1]), + # ParameterVectorElement(θ[2]), ParameterVectorElement(θ[3]), + # ParameterVectorElement(θ[4]), ParameterVectorElement(θ[5]), + # ParameterVectorElement(θ[6]), ParameterVectorElement(θ[7])]) + """ + + def __init__( + self, + num_qubits: int | None = None, + feature_map: QuantumCircuit | None = None, + ansatz: QuantumCircuit | None = None, + ) -> None: + """ + Although all parameters default to None at least one parameter must be provided, to determine + the number of qubits from it, when the instance is created. + + If more than one parameter is passed: + + 1) If num_qubits is provided the feature map and/or ansatz supplied will be overridden to + circuits with num_qubits, as long as the respective circuit supports updating its number of + qubits. + + 2) If num_qubits is not provided the feature_map and ansatz must be set to the same number + of qubits. + + Args: + num_qubits: Number of qubits, a positive integer. Optional if feature_map or ansatz is + provided, otherwise required. If not provided num_qubits defaults from the + sizes of feature_map and ansatz. + feature_map: A feature map. Optional if num_qubits or ansatz is provided, otherwise + required. If not provided defaults to + :class:`~qiskit.circuit.library.ZZFeatureMap` or + :class:`~qiskit.circuit.library.ZFeatureMap` if num_qubits is determined + to be 1. + ansatz: An ansatz. Optional if num_qubits or feature_map is provided, otherwise + required. If not provided defaults to + :class:`~qiskit.circuit.library.RealAmplitudes`. + + Returns: + The composed feature map and ansatz circuit. + + Raises: + QiskitMachineLearningError: If a valid number of qubits cannot be derived from the \ + provided input arguments. + """ + + super().__init__() + self._feature_map = feature_map + self._ansatz = ansatz + # Check if circuit is constructed with valid configuration and set properties accordingly. + self.num_qubits, self._feature_map, self._ansatz = derive_num_qubits_feature_map_ansatz( + num_qubits, feature_map, ansatz + ) + + def _build(self): + super()._build() + self.compose(self.feature_map, inplace=True) + self.compose(self.ansatz, inplace=True) + + def _check_configuration(self, raise_on_failure=True): + try: + self.num_qubits, self.feature_map, self.ansatz = derive_num_qubits_feature_map_ansatz( + self.num_qubits, self.feature_map, self.ansatz + ) + except QiskitMachineLearningError as qml_ex: + if raise_on_failure: + raise qml_ex + + @property + def num_qubits(self) -> int: + """Returns the number of qubits in this circuit. + + Returns: + The number of qubits. + """ + return super().num_qubits + + @num_qubits.setter + def num_qubits(self, num_qubits: int) -> None: + """Set the number of qubits. If num_qubits is set + the feature map and ansatz are adjusted to circuits with num_qubits qubits. + + Args: + num_qubits: The number of qubits, a positive integer. + """ + if self.num_qubits != num_qubits: + # invalidate the circuit + self._invalidate() + self.qregs: List[QuantumRegister] = [] + if num_qubits is not None and num_qubits > 0: + self.qregs = [QuantumRegister(num_qubits, name="q")] + ( + self.num_qubits, + self._feature_map, + self._ansatz, + ) = derive_num_qubits_feature_map_ansatz( + num_qubits, self._feature_map, self._ansatz + ) + + @property + def feature_map(self) -> QuantumCircuit: + """Returns feature_map. + + Returns: + The feature map. + """ + return self._feature_map + + @feature_map.setter + def feature_map(self, feature_map: QuantumCircuit) -> None: + """Set the feature map. If the feature map is updated the ``QNNCircuit`` is adjusted + according to the feature map being passed. This includes: + 1) The num_qubits is adjusted to the feature map number of qubits. + 2) The ansatz is adjusted to a circuit with the feature_map number of qubits. + + Args: + feature_map: The feature map. + """ + if self.feature_map != feature_map: + # invalidate the circuit + self._invalidate() + self.num_qubits = feature_map.num_qubits + self.num_qubits, self._feature_map, self._ansatz = derive_num_qubits_feature_map_ansatz( + self.num_qubits, feature_map, self.ansatz + ) + + @property + def ansatz(self) -> QuantumCircuit: + """Returns ansatz. + + Returns: + The ansatz. + """ + return self._ansatz + + @ansatz.setter + def ansatz(self, ansatz: QuantumCircuit) -> None: + """Set the ansatz. If the ansatz is updated the ``QNNCircuit`` is adapted + according to the ansatz being passed. This includes: + 1) The num_qubits is adjusted to the ansatz number of qubits. + 2) The feature_map is adjusted to a circuit with the ansatz number of qubits. + + Args: + ansatz: The ansatz. + """ + if self.ansatz != ansatz: + # invalidate the circuit + self._invalidate() + self.num_qubits = ansatz.num_qubits + self.num_qubits, self._feature_map, self._ansatz = derive_num_qubits_feature_map_ansatz( + self.num_qubits, self.feature_map, ansatz + ) + + @property + def input_parameters(self) -> ParameterView: + """Returns the parameters of the feature map. + + Returns: + The parameters of the feature map. + """ + return self._feature_map.parameters + + @property + def num_input_parameters(self) -> int: + """Returns the number of input parameters in the circuit. + + Returns: + The number of input parameters. + """ + return len(self._feature_map.parameters) + + @property + def weight_parameters(self) -> ParameterView: + """Returns the parameters of the ansatz. These corresponding to the trainable weights. + + Returns: + The parameters of the ansatz. + """ + return self._ansatz.parameters + + @property + def num_weight_parameters(self) -> int: + """Returns the number of weights in the circuit. + + Returns: + The number of weights. + """ + return len(self._ansatz.parameters)
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/circuit/library/raw_feature_vector.html b/_modules/qiskit_machine_learning/circuit/library/raw_feature_vector.html new file mode 100644 index 000000000..844665573 --- /dev/null +++ b/_modules/qiskit_machine_learning/circuit/library/raw_feature_vector.html @@ -0,0 +1,646 @@ + + + + + + + + qiskit_machine_learning.circuit.library.raw_feature_vector - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.circuit.library.raw_feature_vector

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2020, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""The raw feature vector circuit."""
+
+from typing import Optional, List
+import numpy as np
+from qiskit.exceptions import QiskitError
+from qiskit.circuit import (
+    QuantumRegister,
+    QuantumCircuit,
+    ParameterVector,
+    Instruction,
+    ParameterExpression,
+)
+from qiskit.circuit.library import BlueprintCircuit
+
+
+
[docs]class RawFeatureVector(BlueprintCircuit): + """The raw feature vector circuit. + + This circuit acts as parameterized initialization for statevectors with ``feature_dimension`` + dimensions, thus with ``log2(feature_dimension)`` qubits. The circuit contains a + placeholder instruction that can only be synthesized/defined when all parameters are bound. + + In ML, this circuit can be used to load the training data into qubit amplitudes. It does not + apply an kernel transformation (therefore, it is a "raw" feature vector). + + Since initialization is implemented via a ``QuantumCircuit.initialize()`` call, this circuit + can't be used with gradient based optimizers, one can see a warning that gradients can't be + computed. + + Examples: + + .. code-block:: + + from qiskit_machine_learning.circuit.library import RawFeatureVector + circuit = RawFeatureVector(4) + print(circuit.num_qubits) + # prints: 2 + + print(circuit.draw(output='text')) + # prints: + # ┌───────────────────────────────────────────────┐ + # q_0: ┤0 ├ + # │ PARAMETERIZEDINITIALIZE(x[0],x[1],x[2],x[3]) │ + # q_1: ┤1 ├ + # └───────────────────────────────────────────────┘ + + print(circuit.ordered_parameters) + # prints: [Parameter(p[0]), Parameter(p[1]), Parameter(p[2]), Parameter(p[3])] + + import numpy as np + state = np.array([1, 0, 0, 1]) / np.sqrt(2) + bound = circuit.assign_parameters(state) + print(bound.draw()) + # prints: + # ┌───────────────────────────────────────────────┐ + # q_0: ┤0 ├ + # │ PARAMETERIZEDINITIALIZE(0.70711,0,0,0.70711) │ + # q_1: ┤1 ├ + # └───────────────────────────────────────────────┘ + + """ + + def __init__(self, feature_dimension: Optional[int]) -> None: + """ + Args: + feature_dimension: The feature dimension from which the number of + qubits is inferred as ``n_qubits = log2(feature_dim)`` + + """ + super().__init__() + + self._ordered_parameters = ParameterVector("x") + if feature_dimension is not None: + self.feature_dimension = feature_dimension + + def _build(self): + super()._build() + + placeholder = ParameterizedInitialize(self._ordered_parameters[:]) + self.append(placeholder, self.qubits) + + def _unsorted_parameters(self): + if self.data is None: + self._build() + return super()._unsorted_parameters() + + def _check_configuration(self, raise_on_failure=True): + if isinstance(self._ordered_parameters, ParameterVector): + self._ordered_parameters.resize(self.feature_dimension) + elif len(self._ordered_parameters) != self.feature_dimension: + if raise_on_failure: + raise ValueError("Mismatching number of parameters and feature dimension.") + return False + return True + + @property + def num_qubits(self) -> int: + """Returns the number of qubits in this circuit. + + Returns: + The number of qubits. + """ + return super().num_qubits + + @num_qubits.setter + def num_qubits(self, num_qubits: int) -> None: + """Set the number of qubits for the n-local circuit. + + Args: + The new number of qubits. + """ + if self.num_qubits != num_qubits: + # invalidate the circuit + self._invalidate() + self.qregs: List[QuantumRegister] = [] + if num_qubits is not None and num_qubits > 0: + self.qregs = [QuantumRegister(num_qubits, name="q")] + + @property + def feature_dimension(self) -> int: + """Return the feature dimension. + + Returns: + The feature dimension, which is ``2 ** num_qubits``. + """ + return 2**self.num_qubits + + @feature_dimension.setter + def feature_dimension(self, feature_dimension: int) -> None: + """Set the feature dimension. + + Args: + feature_dimension: The new feature dimension. Must be a power of 2. + + Raises: + ValueError: If ``feature_dimension`` is not a power of 2. + """ + num_qubits = np.log2(feature_dimension) + if int(num_qubits) != num_qubits: + raise ValueError("feature_dimension must be a power of 2!") + + if num_qubits != self.num_qubits: + self._invalidate() + self.num_qubits = int(num_qubits)
+ + +class ParameterizedInitialize(Instruction): + """A normalized parameterized initialize instruction.""" + + def __init__(self, amplitudes): + num_qubits = np.log2(len(amplitudes)) + if int(num_qubits) != num_qubits: + raise ValueError("feature_dimension must be a power of 2!") + + super().__init__("ParameterizedInitialize", int(num_qubits), 0, amplitudes) + + def _define(self): + # cast ParameterExpressions that are fully bound to numbers + cleaned_params = [] + for param in self.params: + if not isinstance(param, ParameterExpression) or len(param.parameters) == 0: + cleaned_params.append(complex(param)) + else: + raise QiskitError("Cannot define a ParameterizedInitialize with unbound parameters") + + # normalize + normalized = np.array(cleaned_params) / np.linalg.norm(cleaned_params) + + circuit = QuantumCircuit(self.num_qubits) + circuit.initialize(normalized, range(self.num_qubits)) + self.definition = circuit +
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/connectors/torch_connector.html b/_modules/qiskit_machine_learning/connectors/torch_connector.html new file mode 100644 index 000000000..176564f92 --- /dev/null +++ b/_modules/qiskit_machine_learning/connectors/torch_connector.html @@ -0,0 +1,798 @@ + + + + + + + + qiskit_machine_learning.connectors.torch_connector - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.connectors.torch_connector

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""A connector to use Qiskit (Quantum) Neural Networks as PyTorch modules."""
+from __future__ import annotations
+
+from typing import Tuple, Any, cast
+
+import numpy as np
+
+import qiskit_machine_learning.optionals as _optionals
+from ..exceptions import QiskitMachineLearningError
+from ..neural_networks import NeuralNetwork
+
+if _optionals.HAS_TORCH:
+    import torch
+
+    # imports for inheritance and type hints
+    from torch import Tensor
+    from torch.autograd import Function
+    from torch.nn import Module
+else:
+
+    class Function:  # type: ignore
+        """Empty Function class
+        Replacement if torch.autograd.Function is not present.
+        """
+
+        pass
+
+    class Tensor:  # type: ignore
+        """Empty Tensor class
+        Replacement if torch.Tensor is not present.
+        """
+
+        pass
+
+    class Module:  # type: ignore
+        """Empty Module class
+        Replacement if torch.nn.Module is not present.
+        """
+
+        pass
+
+
+
[docs]@_optionals.HAS_TORCH.require_in_instance +class TorchConnector(Module): + """Connects a Qiskit (Quantum) Neural Network to PyTorch.""" + + # pylint: disable=abstract-method + class _TorchNNFunction(Function): + # pylint: disable=arguments-differ + @staticmethod + def forward( # type: ignore + ctx: Any, + input_data: Tensor, + weights: Tensor, + neural_network: NeuralNetwork, + sparse: bool, + ) -> Tensor: + """Forward pass computation. + Args: + ctx: The context to be passed to the backward pass. + input_data: The input data. + weights: The weights. + neural_network: The neural network to be connected. + sparse: Indicates whether to use sparse output or not. + + Returns: + The resulting value of the forward pass. + + Raises: + QiskitMachineLearningError: Invalid input data. + RuntimeError: if connector is configured as sparse and the network is not sparse. + """ + + # validate input shape + if input_data.shape[-1] != neural_network.num_inputs: + raise QiskitMachineLearningError( + f"Invalid input dimension! Received {input_data.shape} and " + + f"expected input compatible to {neural_network.num_inputs}" + ) + + ctx.neural_network = neural_network + ctx.sparse = sparse + ctx.save_for_backward(input_data, weights) + + # Detach the tensors and move it to CPU as we need numpy array to compute gradients + # of the quantum neural network. If the tensors are on CPU already this does nothing. + # Some other tensors down below are also moved to CPU for computations. + result = neural_network.forward( + input_data.detach().cpu().numpy(), weights.detach().cpu().numpy() + ) + if ctx.sparse: + if neural_network.sparse: + _optionals.HAS_SPARSE.require_now("SparseArray") + # pylint: disable=import-error + from sparse import SparseArray, COO + + # todo: replace output type from DOK to COO? + result = cast(COO, cast(SparseArray, result).asformat("coo")) + result_tensor = torch.sparse_coo_tensor(result.coords, result.data) + else: + raise RuntimeError( + "TorchConnector configured as sparse, the network must be sparse as well" + ) + else: + # connector is dense + if neural_network.sparse: + # convert to dense + _optionals.HAS_SPARSE.require_now("SparseArray") + from sparse import SparseArray + + # cast is required by mypy + result = cast(SparseArray, result).todense() + result_tensor = torch.as_tensor(result, dtype=torch.float) + + # if the input was not a batch, then remove the batch-dimension from the result, + # since the neural network will always treat input as a batch and cast to a + # single-element batch if no batch is given and PyTorch does not follow this + # convention. + if len(input_data.shape) == 1: + result_tensor = result_tensor[0] + + # place the resulting tensor back to the device where input data is stored + result_tensor = result_tensor.to(input_data.device) + + return result_tensor + + @staticmethod + def backward(ctx: Any, grad_output: Tensor) -> Tuple: # type: ignore + """Backward pass computation. + Args: + ctx: context + grad_output: previous gradient + Raises: + QiskitMachineLearningError: Invalid input data. + RuntimeError: if connector is configured as sparse and the network is not sparse. + + Returns: + gradients for the first two arguments and None for the others + """ + + # get context data + input_data, weights = ctx.saved_tensors + neural_network = ctx.neural_network + + # validate input shape + if input_data.shape[-1] != neural_network.num_inputs: + raise QiskitMachineLearningError( + f"Invalid input dimension! Received {input_data.shape} and " + + f" expected input compatible to {neural_network.num_inputs}" + ) + + # ensure same shape for single observations and batch mode + if len(grad_output.shape) == 1: + grad_output = grad_output.view(1, -1) + + # evaluate QNN gradient + input_grad, weights_grad = neural_network.backward( + input_data.detach().cpu().numpy(), weights.detach().cpu().numpy() + ) + if input_grad is not None: + if ctx.sparse: + if neural_network.sparse: + _optionals.HAS_SPARSE.require_now("Sparse") + import sparse + from sparse import COO + + grad_output = grad_output.detach().cpu() + grad_coo = COO(grad_output.indices(), grad_output.values()) + + # Takes gradients from previous layer in backward pass (i.e. later layer in + # forward pass) j for each observation i in the batch. Multiplies this with + # the gradient from this point on backwards with respect to each input k. + # Sums over all j to get total gradient of output w.r.t. each input k and + # batch index i. This operation should preserve the batch dimension to be + # able to do back-prop in a batched manner. + # Pytorch does not support sparse einsum, so we rely on Sparse. + # pylint: disable=no-member + input_grad = sparse.einsum("ij,ijk->ik", grad_coo, input_grad) + + # return sparse gradients + input_grad = torch.sparse_coo_tensor(input_grad.coords, input_grad.data) + else: + # this exception should never happen + raise RuntimeError( + "TorchConnector configured as sparse, " + "the network must be sparse as well" + ) + else: + # connector is dense + if neural_network.sparse: + # convert to dense + input_grad = input_grad.todense() + input_grad = torch.as_tensor(input_grad, dtype=torch.float) + + # same as above + input_grad = torch.einsum("ij,ijk->ik", grad_output.detach().cpu(), input_grad) + + # place the resulting tensor to the device where they were stored + input_grad = input_grad.to(input_data.device) + + if weights_grad is not None: + if ctx.sparse: + if neural_network.sparse: + import sparse + from sparse import COO + + grad_output = grad_output.detach().cpu() + grad_coo = COO(grad_output.indices(), grad_output.values()) + + # Takes gradients from previous layer in backward pass (i.e. later layer in + # forward pass) j for each observation i in the batch. Multiplies this with + # the gradient from this point on backwards with respect to each + # parameter k. Sums over all i and j to get total gradient of output + # w.r.t. each parameter k. The weights' dimension is independent of the + # batch size. + # pylint: disable=no-member + weights_grad = sparse.einsum("ij,ijk->k", grad_coo, weights_grad) + + # return sparse gradients + weights_grad = torch.sparse_coo_tensor( + weights_grad.coords, weights_grad.data + ) + else: + # this exception should never happen + raise RuntimeError( + "TorchConnector configured as sparse, " + "the network must be sparse as well" + ) + else: + if neural_network.sparse: + # convert to dense + weights_grad = weights_grad.todense() + weights_grad = torch.as_tensor(weights_grad, dtype=torch.float) + # same as above + weights_grad = torch.einsum( + "ij,ijk->k", grad_output.detach().cpu(), weights_grad + ) + + # place the resulting tensor to the device where they were stored + weights_grad = weights_grad.to(weights.device) + + # return gradients for the first two arguments and None for the others (i.e. qnn/sparse) + return input_grad, weights_grad, None, None + + def __init__( + self, + neural_network: NeuralNetwork, + initial_weights: np.ndarray | Tensor | None = None, + sparse: bool | None = None, + ): + """ + Args: + neural_network: The neural network to be connected to PyTorch. Remember + that ``input_gradients`` must be set to ``True`` in the neural network + initialization before passing it to the ``TorchConnector`` for the gradient + computations to work properly during training. + initial_weights: The initial weights to start training the network. If this is None, + the initial weights are chosen uniformly at random from [-1, 1]. + sparse: Whether this connector should return sparse output or not. If sparse is set + to None, then the setting from the given neural network is used. Note that sparse + output is only returned if the underlying neural network also returns sparse output, + otherwise an error will be raised. + + Raises: + QiskitMachineLearningError: If the connector is configured as sparse and the underlying + network is not sparse. + """ + super().__init__() + self._neural_network = neural_network + if sparse is None: + sparse = self._neural_network.sparse + + self._sparse = sparse + + if self._sparse and not self._neural_network.sparse: + # connector is sparse while the underlying neural network is not + raise QiskitMachineLearningError( + "TorchConnector configured as sparse, the network must be sparse as well" + ) + + weight_param = torch.nn.Parameter(torch.zeros(neural_network.num_weights)) + # Register param. in graph following PyTorch naming convention + self.register_parameter("weight", weight_param) + # If `weight_param` is assigned to `self._weights` after registration, + # it will not be re-registered, and we can keep the private var. name + # "_weights" for compatibility. The alternative, doing: + # `self._weights = TorchParam(Tensor(neural_network.num_weights))` + # would register the parameter with the name "_weights". + self._weights = weight_param + + if initial_weights is None: + self._weights.data.uniform_(-1, 1) + else: + self._weights.data = torch.tensor(initial_weights, dtype=torch.float) + + @property + def neural_network(self) -> NeuralNetwork: + """Returns the underlying neural network.""" + return self._neural_network + + @property + def weight(self) -> Tensor: + """Returns the weights of the underlying network.""" + return self._weights + + @property + def sparse(self) -> bool | None: + """Returns whether this connector returns sparse output or not.""" + return self._sparse + +
[docs] def forward(self, input_data: Tensor | None = None) -> Tensor: + """Forward pass. + + Args: + input_data: data to be evaluated. + + Returns: + Result of forward pass of this model. + """ + input_ = input_data if input_data is not None else torch.zeros(0) + return TorchConnector._TorchNNFunction.apply( + input_, self._weights, self._neural_network, self._sparse + )
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/datasets/ad_hoc.html b/_modules/qiskit_machine_learning/datasets/ad_hoc.html new file mode 100644 index 000000000..4dc7a5afa --- /dev/null +++ b/_modules/qiskit_machine_learning/datasets/ad_hoc.html @@ -0,0 +1,730 @@ + + + + + + + + qiskit_machine_learning.datasets.ad_hoc - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.datasets.ad_hoc

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2018, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""
+ad hoc dataset
+"""
+from __future__ import annotations
+
+import itertools as it
+from functools import reduce
+from typing import Tuple, Dict, List
+
+import numpy as np
+from qiskit.utils import optionals
+from qiskit_algorithms.utils import algorithm_globals
+from sklearn import preprocessing
+
+
+
[docs]def ad_hoc_data( + training_size: int, + test_size: int, + n: int, + gap: int, + plot_data: bool = False, + one_hot: bool = True, + include_sample_total: bool = False, +) -> Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray] | Tuple[ + np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray +]: + r"""Generates a toy dataset that can be fully separated with + :class:`~qiskit.circuit.library.ZZFeatureMap` according to the procedure + outlined in [1]. To construct the dataset, we first sample uniformly + distributed vectors :math:`\vec{x} \in (0, 2\pi]^{n}` and apply the + feature map + + .. math:: + |\Phi(\vec{x})\rangle = U_{{\Phi} (\vec{x})} H^{\otimes n} U_{{\Phi} (\vec{x})} + H^{\otimes n} |0^{\otimes n} \rangle + + where + + .. math:: + U_{{\Phi} (\vec{x})} = \exp \left( i \sum_{S \subseteq [n] } \phi_S(\vec{x}) + \prod_{i \in S} Z_i \right) + + and + + .. math:: + \begin{cases} + \phi_{\{i, j\}} = (\pi - x_i)(\pi - x_j) \\ + \phi_{\{i\}} = x_i + \end{cases} + + We then attribute labels to the vectors according to the rule + + .. math:: + m(\vec{x}) = \begin{cases} + 1 & \langle \Phi(\vec{x}) | V^\dagger \prod_i Z_i V | \Phi(\vec{x}) \rangle > \Delta \\ + -1 & \langle \Phi(\vec{x}) | V^\dagger \prod_i Z_i V | \Phi(\vec{x}) \rangle < -\Delta + \end{cases} + + where :math:`\Delta` is the separation gap, and + :math:`V\in \mathrm{SU}(4)` is a random unitary. + + The current implementation only works with n = 2 or 3. + + **References:** + + [1] Havlíček V, Córcoles AD, Temme K, Harrow AW, Kandala A, Chow JM, + Gambetta JM. Supervised learning with quantum-enhanced feature + spaces. Nature. 2019 Mar;567(7747):209-12. + `arXiv:1804.11326 <https://arxiv.org/abs/1804.11326>`_ + + Args: + training_size: the number of training samples. + test_size: the number of testing samples. + n: number of qubits (dimension of the feature space). Must be 2 or 3. + gap: separation gap (:math:`\Delta`). + plot_data: whether to plot the data. Requires matplotlib. + one_hot: if True, return the data in one-hot format. + include_sample_total: if True, return all points in the uniform + grid in addition to training and testing samples. + + Returns: + Training and testing samples. + + Raises: + ValueError: if n is not 2 or 3. + """ + class_labels = [r"A", r"B"] + count = 0 + if n == 2: + count = 100 + elif n == 3: + count = 20 # coarseness of data separation + else: + raise ValueError(f"Supported values of 'n' are 2 and 3 only, but {n} is provided.") + + # Define auxiliary matrices and initial state + z = np.diag([1, -1]) + i_2 = np.eye(2) + h_2 = np.array([[1, 1], [1, -1]]) / np.sqrt(2) + h_n = reduce(np.kron, [h_2] * n) + psi_0 = np.ones(2**n) / np.sqrt(2**n) + + # Generate Z matrices acting on each qubits + z_i = np.array([reduce(np.kron, [i_2] * i + [z] + [i_2] * (n - i - 1)) for i in range(n)]) + + # Construct the parity operator + bitstrings = ["".join(bstring) for bstring in it.product(*[["0", "1"]] * n)] + if n == 2: + bitstring_parity = [bstr.count("1") % 2 for bstr in bitstrings] + d_m = np.diag((-1) ** np.array(bitstring_parity)) + elif n == 3: + bitstring_majority = [0 if bstr.count("0") > 1 else 1 for bstr in bitstrings] + d_m = np.diag((-1) ** np.array(bitstring_majority)) + + # Generate a random unitary operator by collecting eigenvectors of a + # random hermitian operator + basis = algorithm_globals.random.random( + (2**n, 2**n) + ) + 1j * algorithm_globals.random.random((2**n, 2**n)) + basis = np.array(basis).conj().T @ np.array(basis) + eigvals, eigvecs = np.linalg.eig(basis) + idx = eigvals.argsort()[::-1] + eigvecs = eigvecs[:, idx] + m_m = eigvecs.conj().T @ d_m @ eigvecs + + # Generate a grid of points in the feature space and compute the + # expectation value of the parity + xvals = np.linspace(0, 2 * np.pi, count, endpoint=False) + ind_pairs = list(it.combinations(range(n), 2)) + _sample_total = [] + for x in it.product(*[xvals] * n): + x_arr = np.array(x) + phi = np.sum(x_arr[:, None, None] * z_i, axis=0) + phi += sum( + ((np.pi - x_arr[i1]) * (np.pi - x_arr[i2]) * z_i[i1] @ z_i[i2] for i1, i2 in ind_pairs) + ) + # u_u was actually scipy.linalg.expm(1j * phi), but this method is + # faster because phi is always a diagonal matrix. + # We first extract the diagonal elements, then do exponentiation, then + # construct a diagonal matrix from them. + u_u = np.diag(np.exp(1j * np.diag(phi))) + psi = u_u @ h_n @ u_u @ psi_0 + exp_val = np.real(psi.conj().T @ m_m @ psi) + if np.abs(exp_val) > gap: + _sample_total.append(np.sign(exp_val)) + else: + _sample_total.append(0) + sample_total = np.array(_sample_total).reshape(*[count] * n) + + # Extract training and testing samples from grid + x_sample, y_sample = _sample_ad_hoc_data(sample_total, xvals, training_size + test_size, n) + + if plot_data: + _plot_ad_hoc_data(x_sample, y_sample, training_size) + + training_input = { + key: (x_sample[y_sample == k, :])[:training_size] for k, key in enumerate(class_labels) + } + test_input = { + key: (x_sample[y_sample == k, :])[training_size : (training_size + test_size)] + for k, key in enumerate(class_labels) + } + + training_feature_array, training_label_array = _features_and_labels_transform( + training_input, class_labels, one_hot + ) + test_feature_array, test_label_array = _features_and_labels_transform( + test_input, class_labels, one_hot + ) + + if include_sample_total: + return ( + training_feature_array, + training_label_array, + test_feature_array, + test_label_array, + sample_total, + ) + else: + return ( + training_feature_array, + training_label_array, + test_feature_array, + test_label_array, + )
+ + +def _sample_ad_hoc_data(sample_total, xvals, num_samples, n): + count = sample_total.shape[0] + sample_a, sample_b = [], [] + for i, sample_list in enumerate([sample_a, sample_b]): + label = 1 if i == 0 else -1 + while len(sample_list) < num_samples: + draws = tuple(algorithm_globals.random.choice(count) for i in range(n)) + if sample_total[draws] == label: + sample_list.append([xvals[d] for d in draws]) + + labels = np.array([0] * num_samples + [1] * num_samples) + samples = [sample_a, sample_b] + samples = np.reshape(samples, (2 * num_samples, n)) + return samples, labels + + +@optionals.HAS_MATPLOTLIB.require_in_call +def _plot_ad_hoc_data(x_total, y_total, training_size): + import matplotlib.pyplot as plt + + n = x_total.shape[1] + fig = plt.figure() + projection = "3d" if n == 3 else None + ax1 = fig.add_subplot(1, 1, 1, projection=projection) + for k in range(0, 2): + ax1.scatter(*x_total[y_total == k][:training_size].T) + ax1.set_title("Ad-hoc Data") + plt.show() + + +def _features_and_labels_transform( + dataset: Dict[str, np.ndarray], class_labels: List[str], one_hot: bool = True +) -> Tuple[np.ndarray, np.ndarray]: + """ + Converts a dataset into arrays of features and labels. + + Args: + dataset: A dictionary in the format of {'A': numpy.ndarray, 'B': numpy.ndarray, ...} + class_labels: A list of classes in the dataset + one_hot (bool): if True - return one-hot encoded label + + Returns: + A tuple of features as np.ndarray, label as np.ndarray + """ + features = np.concatenate(list(dataset.values())) + + raw_labels = [] + for category in dataset.keys(): + num_samples = dataset[category].shape[0] + raw_labels += [category] * num_samples + + if not raw_labels: + # no labels, empty dataset + labels = np.zeros((0, len(class_labels))) + return features, labels + + if one_hot: + encoder = preprocessing.OneHotEncoder() + encoder.fit(np.array(class_labels).reshape(-1, 1)) + labels = encoder.transform(np.array(raw_labels).reshape(-1, 1)) + if not isinstance(labels, np.ndarray): + labels = np.array(labels.todense()) + else: + encoder = preprocessing.LabelEncoder() + encoder.fit(np.array(class_labels)) + labels = encoder.transform(np.array(raw_labels)) + + return features, labels +
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/exceptions.html b/_modules/qiskit_machine_learning/exceptions.html new file mode 100644 index 000000000..1745b8b2b --- /dev/null +++ b/_modules/qiskit_machine_learning/exceptions.html @@ -0,0 +1,497 @@ + + + + + + + + qiskit_machine_learning.exceptions - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.exceptions

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+""" Machine Learning Exception """
+
+from qiskit.exceptions import QiskitError
+
+
+
[docs]class QiskitMachineLearningError(QiskitError): + """Class for errors returned by Qiskit Machine Learning module.""" + + pass
+ + +class QiskitMachineLearningWarning(UserWarning): + """Class for warning returned by Qiskit Machine Learning module.""" + + def __init__(self, *message): + """Set the error message.""" + super().__init__(" ".join(message)) + self.message = " ".join(message) + + def __str__(self): + """Return the message.""" + return repr(self.message) +
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/kernels/algorithms/quantum_kernel_trainer.html b/_modules/qiskit_machine_learning/kernels/algorithms/quantum_kernel_trainer.html new file mode 100644 index 000000000..1dbe35d2a --- /dev/null +++ b/_modules/qiskit_machine_learning/kernels/algorithms/quantum_kernel_trainer.html @@ -0,0 +1,712 @@ + + + + + + + + qiskit_machine_learning.kernels.algorithms.quantum_kernel_trainer - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.kernels.algorithms.quantum_kernel_trainer

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Quantum Kernel Trainer"""
+from __future__ import annotations
+
+import copy
+from functools import partial
+from typing import Sequence
+
+import numpy as np
+
+from qiskit_algorithms.optimizers import Optimizer, SPSA, Minimizer
+from qiskit_algorithms.utils import algorithm_globals
+from qiskit_algorithms.variational_algorithm import VariationalResult
+from qiskit_machine_learning.utils.loss_functions import KernelLoss, SVCLoss
+
+from qiskit_machine_learning.kernels import TrainableKernel
+
+
+
[docs]class QuantumKernelTrainerResult(VariationalResult): + """Quantum Kernel Trainer Result.""" + + def __init__(self) -> None: + super().__init__() + self._quantum_kernel: TrainableKernel = None + + @property + def quantum_kernel(self) -> TrainableKernel | None: + """Return the optimized quantum kernel object.""" + return self._quantum_kernel + + @quantum_kernel.setter + def quantum_kernel(self, quantum_kernel: TrainableKernel) -> None: + self._quantum_kernel = quantum_kernel
+ + +
[docs]class QuantumKernelTrainer: + """ + Quantum Kernel Trainer. + This class provides utility to train quantum kernel feature map parameters. + + **Example** + + .. code-block:: + + # Create 2-qubit feature map + qc = QuantumCircuit(2) + + # Vectors of input and trainable user parameters + input_params = ParameterVector("x_par", 2) + training_params = ParameterVector("θ_par", 2) + + # Create an initial rotation layer of trainable parameters + for i, param in enumerate(training_params): + qc.ry(param, qc.qubits[i]) + + # Create a rotation layer of input parameters + for i, param in enumerate(input_params): + qc.rz(param, qc.qubits[i]) + + quant_kernel = TrainableFidelityQuantumKernel( + feature_map=qc, + training_parameters=training_params, + ) + + loss_func = ... + optimizer = ... + initial_point = ... + + qk_trainer = QuantumKernelTrainer( + quantum_kernel=quant_kernel, + loss=loss_func, + optimizer=optimizer, + initial_point=initial_point, + ) + qkt_results = qk_trainer.fit(X_train, y_train) + optimized_kernel = qkt_results.quantum_kernel + """ + + def __init__( + self, + quantum_kernel: TrainableKernel, + loss: str | KernelLoss | None = None, + optimizer: Optimizer | Minimizer | None = None, + initial_point: Sequence[float] | None = None, + ): + """ + Args: + quantum_kernel: a trainable quantum kernel to be trained. + loss: A loss function available via string is "svc_loss" which is the same as + :class:`~qiskit_machine_learning.utils.loss_functions.SVCLoss`. If a string is + passed as the loss function, then the underlying + :class:`~qiskit_machine_learning.utils.loss_functions.SVCLoss` object will exhibit + default behavior. + optimizer: An instance of :class:`~qiskit_algorithms.optimizers.Optimizer` or a + callable to be used in training. Refer to + :class:`~qiskit_algorithms.optimizers.Minimizer` for more information on the + callable protocol. Since no analytical gradient is defined for kernel loss + functions, gradient-based optimizers are not recommended for training kernels. When + `None` defaults to :class:`~qiskit_algorithms.optimizers.SPSA`. + initial_point: Initial point from which the optimizer will begin. + + Raises: + ValueError: unknown loss function. + """ + # Class fields + self._quantum_kernel = quantum_kernel + self._initial_point = initial_point + # call setter + self.optimizer = optimizer + + # Loss setter + self._set_loss(loss) + + @property + def quantum_kernel(self) -> TrainableKernel: + """Return the quantum kernel object.""" + return self._quantum_kernel + + @quantum_kernel.setter + def quantum_kernel(self, quantum_kernel: TrainableKernel) -> None: + """Set the quantum kernel.""" + self._quantum_kernel = quantum_kernel + + @property + def loss(self) -> KernelLoss: + """Return the loss object.""" + return self._loss + + @loss.setter + def loss(self, loss: str | KernelLoss | None) -> None: + """ + Set the loss. + + Args: + loss: a loss function to set + + Raises: + ValueError: Unknown loss function + """ + self._set_loss(loss) + + @property + def optimizer(self) -> Optimizer | Minimizer: + """Return an optimizer to be used in training.""" + return self._optimizer + + @optimizer.setter + def optimizer(self, optimizer: Optimizer | Minimizer | None) -> None: + """Set the optimizer.""" + if optimizer is None: + optimizer = SPSA() + self._optimizer = optimizer + + @property + def initial_point(self) -> Sequence[float] | None: + """Return initial point""" + return self._initial_point + + @initial_point.setter + def initial_point(self, initial_point: Sequence[float] | None) -> None: + """Set the initial point""" + self._initial_point = initial_point + +
[docs] def fit( + self, + data: np.ndarray, + labels: np.ndarray, + ) -> QuantumKernelTrainerResult: + """ + Train the QuantumKernel by minimizing loss over the kernel parameters. The input + quantum kernel will not be altered, and an optimized quantum kernel will be returned. + + Args: + data (numpy.ndarray): ``(N, D)`` array of training data, where ``N`` is the + number of samples and ``D`` is the feature dimension + labels (numpy.ndarray): ``(N, 1)`` array of target values for the training samples + + Returns: + QuantumKernelTrainerResult: the results of kernel training + + Raises: + ValueError: No trainable user parameters specified in quantum kernel + """ + # Number of parameters to tune + num_params = len(self._quantum_kernel.training_parameters) + if num_params == 0: + msg = "Quantum kernel cannot be fit because there are no user parameters specified." + raise ValueError(msg) + + # Bind inputs to objective function + output_kernel = copy.deepcopy(self._quantum_kernel) + + # Randomly initialize the initial point if one was not passed + if self._initial_point is None: + self._initial_point = algorithm_globals.random.random(num_params) + + # Perform kernel optimization + loss_function = partial( + self._loss.evaluate, quantum_kernel=self.quantum_kernel, data=data, labels=labels + ) + if callable(self._optimizer): + opt_results = self._optimizer(fun=loss_function, x0=self._initial_point) + else: + opt_results = self._optimizer.minimize( + fun=loss_function, + x0=self._initial_point, + ) + + # Return kernel training results + result = QuantumKernelTrainerResult() + result.optimizer_evals = opt_results.nfev + result.optimal_value = opt_results.fun + result.optimal_point = opt_results.x + result.optimal_parameters = dict(zip(output_kernel.training_parameters, opt_results.x)) + + # Return the QuantumKernel in optimized state + output_kernel.assign_training_parameters(result.optimal_parameters) + result.quantum_kernel = output_kernel + + return result
+ + def _set_loss(self, loss: str | KernelLoss | None) -> None: + """Internal setter.""" + if loss is None: + loss = SVCLoss() + elif isinstance(loss, str): + loss = self._str_to_loss(loss) + + self._loss = loss + + def _str_to_loss(self, loss_str: str) -> KernelLoss: + """Function which maps strings to default KernelLoss objects.""" + if loss_str == "svc_loss": + loss_obj = SVCLoss() + else: + raise ValueError(f"Unknown loss {loss_str}!") + + return loss_obj
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/kernels/base_kernel.html b/_modules/qiskit_machine_learning/kernels/base_kernel.html new file mode 100644 index 000000000..89869c095 --- /dev/null +++ b/_modules/qiskit_machine_learning/kernels/base_kernel.html @@ -0,0 +1,616 @@ + + + + + + + + qiskit_machine_learning.kernels.base_kernel - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.kernels.base_kernel

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Base kernel"""
+
+from __future__ import annotations
+
+from abc import abstractmethod, ABC
+
+import numpy as np
+from qiskit import QuantumCircuit
+from qiskit.circuit.library import ZZFeatureMap
+
+
+
[docs]class BaseKernel(ABC): + r""" + An abstract definition of the quantum kernel interface. + + The general task of machine learning is to find and study patterns in data. For many + algorithms, the datapoints are better understood in a higher dimensional feature space, + through the use of a kernel function: + + .. math:: + + K(x, y) = \langle f(x), f(y)\rangle. + + Here K is the kernel function, x, y are n dimensional inputs. f is a map from n-dimension + to m-dimension space. :math:`\langle x, y \rangle` denotes the dot product. + Usually m is much larger than n. + + The quantum kernel algorithm calculates a kernel matrix, given datapoints x and y and feature + map f, all of n dimension. This kernel matrix can then be used in classical machine learning + algorithms such as support vector classification, spectral clustering or ridge regression. + """ + + def __init__(self, *, feature_map: QuantumCircuit = None, enforce_psd: bool = True) -> None: + """ + Args: + feature_map: Parameterized circuit to be used as the feature map. If ``None`` is given, + :class:`~qiskit.circuit.library.ZZFeatureMap` is used with two qubits. If there's + a mismatch in the number of qubits of the feature map and the number of features + in the dataset, then the kernel will try to adjust the feature map to reflect the + number of features. + enforce_psd: Project to closest positive semidefinite matrix if ``x = y``. + Default ``True``. + """ + if feature_map is None: + feature_map = ZZFeatureMap(2) + + self._num_features = feature_map.num_parameters + self._feature_map = feature_map + self._enforce_psd = enforce_psd + +
[docs] @abstractmethod + def evaluate(self, x_vec: np.ndarray, y_vec: np.ndarray | None = None) -> np.ndarray: + r""" + Construct kernel matrix for given data. + + If y_vec is None, self inner product is calculated. + + Args: + x_vec: 1D or 2D array of datapoints, NxD, where N is the number of datapoints, + D is the feature dimension + y_vec: 1D or 2D array of datapoints, MxD, where M is the number of datapoints, + D is the feature dimension + + Returns: + 2D matrix, NxM + """ + raise NotImplementedError()
+ + @property + def feature_map(self) -> QuantumCircuit: + """Returns the feature map of this kernel.""" + return self._feature_map + + @property + def num_features(self) -> int: + """Returns the number of features in this kernel.""" + return self._num_features + + @property + def enforce_psd(self) -> bool: + """ + Returns ``True`` if the kernel matrix is required to project to the closest positive + semidefinite matrix. + """ + return self._enforce_psd + + def _validate_input( + self, x_vec: np.ndarray, y_vec: np.ndarray | None + ) -> tuple[np.ndarray, np.ndarray | None]: + x_vec = np.asarray(x_vec) + + if x_vec.ndim > 2: + raise ValueError("x_vec must be a 1D or 2D array") + + if x_vec.ndim == 1: + x_vec = np.reshape(x_vec, (-1, len(x_vec))) + + if x_vec.shape[1] != self._num_features: + # before raising an error we try to adjust the feature map + # to the required number of qubit. + try: + self._feature_map.num_qubits = x_vec.shape[1] + except AttributeError as a_e: + raise ValueError( + f"x_vec and class feature map have incompatible dimensions.\n" + f"x_vec has {x_vec.shape[1]} dimensions, " + f"but feature map has {self._feature_map.num_parameters}." + ) from a_e + + if y_vec is not None: + y_vec = np.asarray(y_vec) + + if y_vec.ndim == 1: + y_vec = np.reshape(y_vec, (-1, len(y_vec))) + + if y_vec.ndim > 2: + raise ValueError("y_vec must be a 1D or 2D array") + + if y_vec.shape[1] != x_vec.shape[1]: + raise ValueError( + "x_vec and y_vec have incompatible dimensions.\n" + f"x_vec has {x_vec.shape[1]} dimensions, but y_vec has {y_vec.shape[1]}." + ) + + return x_vec, y_vec + + def _make_psd(self, kernel_matrix: np.ndarray) -> np.ndarray: + r""" + Find the closest positive semi-definite approximation to a symmetric kernel matrix. + The (symmetric) matrix should always be positive semi-definite by construction, + but this can be violated in case of noise, such as sampling noise. + + Args: + kernel_matrix: Symmetric 2D array of the kernel entries. + + Returns: + The closest positive semi-definite matrix. + """ + w, v = np.linalg.eig(kernel_matrix) + m = v @ np.diag(np.maximum(0, w)) @ v.transpose() + return m.real
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/kernels/fidelity_quantum_kernel.html b/_modules/qiskit_machine_learning/kernels/fidelity_quantum_kernel.html new file mode 100644 index 000000000..db684a1ac --- /dev/null +++ b/_modules/qiskit_machine_learning/kernels/fidelity_quantum_kernel.html @@ -0,0 +1,727 @@ + + + + + + + + qiskit_machine_learning.kernels.fidelity_quantum_kernel - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.kernels.fidelity_quantum_kernel

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""Fidelity Quantum Kernel"""
+
+from __future__ import annotations
+
+from collections.abc import Sequence
+from typing import List, Tuple
+
+import numpy as np
+from qiskit import QuantumCircuit
+from qiskit.primitives import Sampler
+from qiskit_algorithms.state_fidelities import BaseStateFidelity, ComputeUncompute
+
+from .base_kernel import BaseKernel
+
+KernelIndices = List[Tuple[int, int]]
+
+
+
[docs]class FidelityQuantumKernel(BaseKernel): + r""" + An implementation of the quantum kernel interface based on the + :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` algorithm. + + Here, the kernel function is defined as the overlap of two quantum states defined by a + parametrized quantum circuit (called feature map): + + .. math:: + + K(x,y) = |\langle \phi(x) | \phi(y) \rangle|^2 + """ + + def __init__( + self, + *, + feature_map: QuantumCircuit | None = None, + fidelity: BaseStateFidelity | None = None, + enforce_psd: bool = True, + evaluate_duplicates: str = "off_diagonal", + ) -> None: + """ + Args: + feature_map: Parameterized circuit to be used as the feature map. If ``None`` is given, + :class:`~qiskit.circuit.library.ZZFeatureMap` is used with two qubits. If there's + a mismatch in the number of qubits of the feature map and the number of features + in the dataset, then the kernel will try to adjust the feature map to reflect the + number of features. + fidelity: An instance of the + :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` primitive to be used + to compute fidelity between states. Default is + :class:`~qiskit_algorithms.state_fidelities.ComputeUncompute` which is created on + top of the reference sampler defined by :class:`~qiskit.primitives.Sampler`. + enforce_psd: Project to the closest positive semidefinite matrix if ``x = y``. + Default ``True``. + evaluate_duplicates: Defines a strategy how kernel matrix elements are evaluated if + duplicate samples are found. Possible values are: + + - ``all`` means that all kernel matrix elements are evaluated, even the diagonal + ones when training. This may introduce additional noise in the matrix. + - ``off_diagonal`` when training the matrix diagonal is set to `1`, the rest + elements are fully evaluated, e.g., for two identical samples in the + dataset. When inferring, all elements are evaluated. This is the default + value. + - ``none`` when training the diagonal is set to `1` and if two identical samples + are found in the dataset the corresponding matrix element is set to `1`. + When inferring, matrix elements for identical samples are set to `1`. + Raises: + ValueError: When unsupported value is passed to `evaluate_duplicates`. + """ + super().__init__(feature_map=feature_map, enforce_psd=enforce_psd) + + eval_duplicates = evaluate_duplicates.lower() + if eval_duplicates not in ("all", "off_diagonal", "none"): + raise ValueError( + f"Unsupported value passed as evaluate_duplicates: {evaluate_duplicates}" + ) + self._evaluate_duplicates = eval_duplicates + + if fidelity is None: + fidelity = ComputeUncompute(sampler=Sampler()) + self._fidelity = fidelity + +
[docs] def evaluate(self, x_vec: np.ndarray, y_vec: np.ndarray | None = None) -> np.ndarray: + x_vec, y_vec = self._validate_input(x_vec, y_vec) + + # determine if calculating self inner product + is_symmetric = True + if y_vec is None: + y_vec = x_vec + elif not np.array_equal(x_vec, y_vec): + is_symmetric = False + + kernel_shape = (x_vec.shape[0], y_vec.shape[0]) + + if is_symmetric: + left_parameters, right_parameters, indices = self._get_symmetric_parameterization(x_vec) + kernel_matrix = self._get_symmetric_kernel_matrix( + kernel_shape, left_parameters, right_parameters, indices + ) + else: + left_parameters, right_parameters, indices = self._get_parameterization(x_vec, y_vec) + kernel_matrix = self._get_kernel_matrix( + kernel_shape, left_parameters, right_parameters, indices + ) + + if is_symmetric and self._enforce_psd: + kernel_matrix = self._make_psd(kernel_matrix) + + return kernel_matrix
+ + def _get_parameterization( + self, x_vec: np.ndarray, y_vec: np.ndarray + ) -> tuple[np.ndarray, np.ndarray, KernelIndices]: + """ + Combines x_vec and y_vec to get all the combinations needed to evaluate the kernel entries. + """ + num_features = x_vec.shape[1] + left_parameters = np.zeros((0, num_features)) + right_parameters = np.zeros((0, num_features)) + + indices = [] + for i, x_i in enumerate(x_vec): + for j, y_j in enumerate(y_vec): + if self._is_trivial(i, j, x_i, y_j, False): + continue + + left_parameters = np.vstack((left_parameters, x_i)) + right_parameters = np.vstack((right_parameters, y_j)) + indices.append((i, j)) + + return left_parameters, right_parameters, indices + + def _get_symmetric_parameterization( + self, x_vec: np.ndarray + ) -> tuple[np.ndarray, np.ndarray, KernelIndices]: + """ + Combines two copies of x_vec to get all the combinations needed to evaluate the kernel entries. + """ + num_features = x_vec.shape[1] + left_parameters = np.zeros((0, num_features)) + right_parameters = np.zeros((0, num_features)) + + indices = [] + for i, x_i in enumerate(x_vec): + for j, x_j in enumerate(x_vec[i:]): + if self._is_trivial(i, i + j, x_i, x_j, True): + continue + + left_parameters = np.vstack((left_parameters, x_i)) + right_parameters = np.vstack((right_parameters, x_j)) + indices.append((i, i + j)) + + return left_parameters, right_parameters, indices + + def _get_kernel_matrix( + self, + kernel_shape: tuple[int, int], + left_parameters: np.ndarray, + right_parameters: np.ndarray, + indices: KernelIndices, + ) -> np.ndarray: + """ + Given a parameterization, this computes the symmetric kernel matrix. + """ + kernel_entries = self._get_kernel_entries(left_parameters, right_parameters) + + # fill in trivial entries and then update with fidelity values + kernel_matrix = np.ones(kernel_shape) + + for i, (col, row) in enumerate(indices): + kernel_matrix[col, row] = kernel_entries[i] + + return kernel_matrix + + def _get_symmetric_kernel_matrix( + self, + kernel_shape: tuple[int, int], + left_parameters: np.ndarray, + right_parameters: np.ndarray, + indices: KernelIndices, + ) -> np.ndarray: + """ + Given a set of parameterization, this computes the kernel matrix. + """ + kernel_entries = self._get_kernel_entries(left_parameters, right_parameters) + kernel_matrix = np.ones(kernel_shape) + + for i, (col, row) in enumerate(indices): + kernel_matrix[col, row] = kernel_entries[i] + kernel_matrix[row, col] = kernel_entries[i] + + return kernel_matrix + + def _get_kernel_entries( + self, left_parameters: np.ndarray, right_parameters: np.ndarray + ) -> Sequence[float]: + """ + Gets kernel entries by executing the underlying fidelity instance and getting the results + back from the async job. + """ + num_circuits = left_parameters.shape[0] + if num_circuits != 0: + job = self._fidelity.run( + [self._feature_map] * num_circuits, + [self._feature_map] * num_circuits, + left_parameters, + right_parameters, + ) + kernel_entries = job.result().fidelities + else: + # trivial case, only identical samples + kernel_entries = [] + return kernel_entries + + def _is_trivial( + self, i: int, j: int, x_i: np.ndarray, y_j: np.ndarray, symmetric: bool + ) -> bool: + """ + Verifies if the kernel entry is trivial (to be set to `1.0`) or not. + + Args: + i: row index of the entry in the kernel matrix. + j: column index of the entry in the kernel matrix. + x_i: a sample from the dataset that corresponds to the row in the kernel matrix. + y_j: a sample from the dataset that corresponds to the column in the kernel matrix. + symmetric: whether it is a symmetric case or not. + + Returns: + `True` if the entry is trivial, `False` otherwise. + """ + # if we evaluate all combinations, then it is non-trivial + if self._evaluate_duplicates == "all": + return False + + # if we are on the diagonal and we don't evaluate it, it is trivial + if symmetric and i == j and self._evaluate_duplicates == "off_diagonal": + return True + + # if don't evaluate any duplicates + if np.array_equal(x_i, y_j) and self._evaluate_duplicates == "none": + return True + + # otherwise evaluate + return False + + @property + def fidelity(self): + """Returns the fidelity primitive used by this kernel.""" + return self._fidelity + + @property + def evaluate_duplicates(self): + """Returns the strategy used by this kernel to evaluate kernel matrix elements if duplicate + samples are found.""" + return self._evaluate_duplicates
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/kernels/fidelity_statevector_kernel.html b/_modules/qiskit_machine_learning/kernels/fidelity_statevector_kernel.html new file mode 100644 index 000000000..90703dab3 --- /dev/null +++ b/_modules/qiskit_machine_learning/kernels/fidelity_statevector_kernel.html @@ -0,0 +1,625 @@ + + + + + + + + qiskit_machine_learning.kernels.fidelity_statevector_kernel - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.kernels.fidelity_statevector_kernel

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""Fidelity Statevector Kernel"""
+
+from __future__ import annotations
+
+from functools import lru_cache
+from typing import Type, TypeVar
+
+import numpy as np
+
+from qiskit import QuantumCircuit
+from qiskit.quantum_info import Statevector
+from qiskit_algorithms.utils import algorithm_globals
+
+
+from .base_kernel import BaseKernel
+
+SV = TypeVar("SV", bound=Statevector)
+
+
+
[docs]class FidelityStatevectorKernel(BaseKernel): + r""" + A reference implementation of the quantum kernel interface optimized for (and limited to) + classically simulated statevectors. + + Here, the kernel function is defined as the overlap of two simulated quantum statevectors + produced by a parametrized quantum circuit (called feature map): + + .. math:: + + K(x,y) = |\langle \phi(x) | \phi(y) \rangle|^2. + + In this implementation, :math:`|\phi(y)\rangle` is given by the ``data`` attribute of a + :class:`~qiskit.quantum_info.Statevector` object or one of its subclasses. These + arrays are stored in a statevector cache to avoid repeated evaluation of the quantum circuit. + This cache can be cleared using :meth:`clear_cache`. By default the cache is cleared when + :meth:`evaluate` is called, unless ``auto_clear_cache`` is ``False``. + + Shot noise emulation can also be added. If ``shots`` is ``None``, the exact fidelity is used. + Otherwise, the mean is taken of samples drawn from a binomial distribution with probability + equal to the exact fidelity. This model assumes that the fidelity is determined via the + compute-uncompute method. I.e., the fidelity is given by the probability of measuring + :math:`0` after preparing the state :math:`U(x)^\dagger U(y) | 0 \rangle`. + + With the addition of shot noise, the kernel matrix may no longer be positive semi-definite. With + ``enforce_psd`` set to ``True`` this condition is enforced. + + **References:** + [1] Havlíček, V., Córcoles, A. D., Temme, K., Harrow, A. W., Kandala, + A., Chow, J. M., & Gambetta, J. M. (2019). Supervised learning + with quantum-enhanced feature spaces. Nature, 567(7747), 209-212. + `arXiv:1804.11326v2 [quant-ph] <https://arxiv.org/pdf/1804.11326.pdf>`_ + """ + + def __init__( + self, + *, + feature_map: QuantumCircuit | None = None, + statevector_type: Type[SV] = Statevector, + cache_size: int | None = None, + auto_clear_cache: bool = True, + shots: int | None = None, + enforce_psd: bool = True, + ) -> None: + """ + Args: + feature_map: Parameterized circuit to be used as the feature map. If ``None`` is given, + :class:`~qiskit.circuit.library.ZZFeatureMap` is used with two qubits. If there's + a mismatch in the number of qubits of the feature map and the number of features + in the dataset, then the kernel will try to adjust the feature map to reflect the + number of features. + statevector_type: The type of Statevector that will be instantiated using the + ``feature_map`` quantum circuit and used to compute the fidelity kernel. This type + should inherit from (and defaults to) :class:`~qiskit.quantum_info.Statevector`. + cache_size: Maximum size of the statevector cache. When ``None`` this is unbounded. + auto_clear_cache: Determines whether the statevector cache is retained when + :meth:`evaluate` is called. The cache is automatically cleared by default. + shots: The number of shots. If ``None``, the exact fidelity is used. Otherwise, the + mean is taken of samples drawn from a binomial distribution with probability equal + to the exact fidelity. + enforce_psd: Project to the closest positive semidefinite matrix if ``x = y``. + This is only used when number of shots given is not ``None``. + """ + super().__init__(feature_map=feature_map) + + self._statevector_type = statevector_type + self._auto_clear_cache = auto_clear_cache + self._shots = shots + self._enforce_psd = enforce_psd + + # Create the statevector cache at the instance level. + self._get_statevector = lru_cache(maxsize=cache_size)(self._get_statevector_) + +
[docs] def evaluate( + self, + x_vec: np.ndarray, + y_vec: np.ndarray | None = None, + ) -> np.ndarray: + if self._auto_clear_cache: + self.clear_cache() + + x_vec, y_vec = self._validate_input(x_vec, y_vec) + + # Determine if calculating self inner product. + is_symmetric = True + if y_vec is None: + y_vec = x_vec + elif not np.array_equal(x_vec, y_vec): + is_symmetric = False + + return self._evaluate(x_vec, y_vec, is_symmetric)
+ + def _evaluate(self, x_vec: np.ndarray, y_vec: np.ndarray, is_symmetric: bool): + kernel_shape = (x_vec.shape[0], y_vec.shape[0]) + + x_svs = [self._get_statevector(tuple(x)) for x in x_vec] + y_svs = [self._get_statevector(tuple(y)) for y in y_vec] + + kernel_matrix = np.ones(kernel_shape) + for i, x in enumerate(x_svs): + for j, y in enumerate(y_svs): + if np.array_equal(x, y): + continue + kernel_matrix[i, j] = self._compute_kernel_entry(x, y) + + if self._enforce_psd and is_symmetric and self._shots is not None: + kernel_matrix = self._make_psd(kernel_matrix) + + return kernel_matrix + + def _get_statevector_(self, param_values: tuple[float]) -> np.ndarray: + # lru_cache requires hashable function arguments. + qc = self._feature_map.assign_parameters(param_values) + return self._statevector_type(qc).data + + def _compute_kernel_entry(self, x: np.ndarray, y: np.ndarray) -> float: + fidelity = self._compute_fidelity(x, y) + if self._shots is not None: + fidelity = self._add_shot_noise(fidelity) + return fidelity + + @staticmethod + def _compute_fidelity(x: np.ndarray, y: np.ndarray) -> float: + return np.abs(np.conj(x) @ y) ** 2 + + def _add_shot_noise(self, fidelity: float) -> float: + return algorithm_globals.random.binomial(n=self._shots, p=fidelity) / self._shots + +
[docs] def clear_cache(self): + """Clear the statevector cache.""" + # pylint: disable=no-member + self._get_statevector.cache_clear()
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/kernels/trainable_fidelity_quantum_kernel.html b/_modules/qiskit_machine_learning/kernels/trainable_fidelity_quantum_kernel.html new file mode 100644 index 000000000..2d2fd2142 --- /dev/null +++ b/_modules/qiskit_machine_learning/kernels/trainable_fidelity_quantum_kernel.html @@ -0,0 +1,579 @@ + + + + + + + + qiskit_machine_learning.kernels.trainable_fidelity_quantum_kernel - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.kernels.trainable_fidelity_quantum_kernel

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Trainable Quantum Kernel"""
+
+from __future__ import annotations
+
+from typing import Sequence
+
+import numpy as np
+from qiskit import QuantumCircuit
+from qiskit.circuit import Parameter, ParameterVector
+from qiskit_algorithms.state_fidelities import BaseStateFidelity
+
+from .fidelity_quantum_kernel import FidelityQuantumKernel, KernelIndices
+from .trainable_kernel import TrainableKernel
+
+
+
[docs]class TrainableFidelityQuantumKernel(TrainableKernel, FidelityQuantumKernel): + r""" + An implementation of the quantum kernel that is based on the + :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` algorithm and provides ability to + train it. + + Finding good quantum kernels for a specific machine learning task is a big challenge in quantum + machine learning. One way to choose the kernel is to add trainable parameters to the feature + map, which can be used to fine-tune the kernel. + + This kernel has trainable parameters :math:`\theta` that can be bound using training algorithms. + The kernel entries are given as + + .. math:: + + K_{\theta}(x,y) = |\langle \phi_{\theta}(x) | \phi_{\theta}(y) \rangle|^2 + """ + + def __init__( + self, + *, + feature_map: QuantumCircuit | None = None, + fidelity: BaseStateFidelity | None = None, + training_parameters: ParameterVector | Sequence[Parameter] | None = None, + enforce_psd: bool = True, + evaluate_duplicates: str = "off_diagonal", + ) -> None: + """ + Args: + feature_map: Parameterized circuit to be used as the feature map. If ``None`` is given, + :class:`~qiskit.circuit.library.ZZFeatureMap` is used with two qubits. If there's + a mismatch in the number of qubits of the feature map and the number of features + in the dataset, then the kernel will try to adjust the feature map to reflect the + number of features. + fidelity: An instance of the + :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` primitive to be used + to compute fidelity between states. Default is + :class:`~qiskit_algorithms.state_fidelities.ComputeUncompute` which is created on + top of the reference sampler defined by :class:`~qiskit.primitives.Sampler`. + training_parameters: Iterable containing :class:`~qiskit.circuit.Parameter` objects + which correspond to quantum gates on the feature map circuit which may be tuned. + If users intend to tune feature map parameters to find optimal values, this field + should be set. + enforce_psd: Project to the closest positive semidefinite matrix if ``x = y``. + Default ``True``. + evaluate_duplicates: Defines a strategy how kernel matrix elements are evaluated if + duplicate samples are found. Possible values are: + + - ``all`` means that all kernel matrix elements are evaluated, even the diagonal + ones when training. This may introduce additional noise in the matrix. + - ``off_diagonal`` when training the matrix diagonal is set to `1`, the rest + elements are fully evaluated, e.g., for two identical samples in the + dataset. When inferring, all elements are evaluated. This is the default + value. + - ``none`` when training the diagonal is set to `1` and if two identical samples + are found in the dataset the corresponding matrix element is set to `1`. + When inferring, matrix elements for identical samples are set to `1`. + """ + super().__init__( + feature_map=feature_map, + fidelity=fidelity, + training_parameters=training_parameters, + enforce_psd=enforce_psd, + evaluate_duplicates=evaluate_duplicates, + ) + + # override the num of features defined in the base class + self._num_features = feature_map.num_parameters - self._num_training_parameters + self._feature_parameters = [ + parameter + for parameter in feature_map.parameters + if parameter not in self._training_parameters + ] + self._parameter_dict = {parameter: None for parameter in feature_map.parameters} + + def _get_parameterization( + self, x_vec: np.ndarray, y_vec: np.ndarray + ) -> tuple[np.ndarray, np.ndarray, KernelIndices]: + new_x_vec = self._parameter_array(x_vec) + new_y_vec = self._parameter_array(y_vec) + + return super()._get_parameterization(new_x_vec, new_y_vec) + + def _get_symmetric_parameterization( + self, x_vec: np.ndarray + ) -> tuple[np.ndarray, np.ndarray, KernelIndices]: + new_x_vec = self._parameter_array(x_vec) + + return super()._get_symmetric_parameterization(new_x_vec)
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/kernels/trainable_fidelity_statevector_kernel.html b/_modules/qiskit_machine_learning/kernels/trainable_fidelity_statevector_kernel.html new file mode 100644 index 000000000..7399a63c6 --- /dev/null +++ b/_modules/qiskit_machine_learning/kernels/trainable_fidelity_statevector_kernel.html @@ -0,0 +1,565 @@ + + + + + + + + qiskit_machine_learning.kernels.trainable_fidelity_statevector_kernel - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.kernels.trainable_fidelity_statevector_kernel

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Trainable Fidelity Statevector Kernel"""
+
+from __future__ import annotations
+
+from typing import Sequence, Type
+
+import numpy as np
+from qiskit import QuantumCircuit
+from qiskit.circuit import Parameter, ParameterVector
+from qiskit.quantum_info import Statevector
+
+
+from .fidelity_statevector_kernel import FidelityStatevectorKernel, SV
+from .trainable_kernel import TrainableKernel
+
+
+
[docs]class TrainableFidelityStatevectorKernel(TrainableKernel, FidelityStatevectorKernel): + r""" + A trainable version of the + :class:`~qiskit_machine_learning.kernels.FidelityStatevectorKernel`. + + Finding good quantum kernels for a specific machine learning task is a big challenge in quantum + machine learning. One way to choose the kernel is to add trainable parameters to the feature + map, which can be used to fine-tune the kernel. + + This kernel has trainable parameters :math:`\theta` that can be bound using training algorithms. + The kernel entries are given as + + .. math:: + + K_{\theta}(x,y) = |\langle \phi_{\theta}(x) | \phi_{\theta}(y) \rangle|^2 + """ + + def __init__( + self, + *, + feature_map: QuantumCircuit | None = None, + statevector_type: Type[SV] = Statevector, + training_parameters: ParameterVector | Sequence[Parameter] | None = None, + cache_size: int | None = None, + auto_clear_cache: bool = True, + shots: int | None = None, + enforce_psd: bool = True, + ) -> None: + """ + Args: + feature_map: Parameterized circuit to be used as the feature map. If ``None`` is given, + :class:`~qiskit.circuit.library.ZZFeatureMap` is used with two qubits. If there's + a mismatch in the number of qubits of the feature map and the number of features + in the dataset, then the kernel will try to adjust the feature map to reflect the + number of features. + statevector_type: The type of Statevector that will be instantiated using the + ``feature_map`` quantum circuit and used to compute the fidelity kernel. This type + should inherit from (and defaults to) :class:`~qiskit.quantum_info.Statevector`. + training_parameters: Iterable containing :class:`~qiskit.circuit.Parameter` objects + which correspond to quantum gates on the feature map circuit which may be tuned. + If users intend to tune feature map parameters to find optimal values, this field + should be set. + cache_size: Maximum size of the statevector cache. When ``None`` this is unbounded. + auto_clear_cache: Determines whether the statevector cache is retained when + :meth:`evaluate` is called. The cache is automatically cleared by default. + shots: The number of shots. If ``None``, the exact fidelity is used. Otherwise, the + mean is taken of samples drawn from a binomial distribution with probability equal + to the exact fidelity. + enforce_psd: Project to the closest positive semidefinite matrix if ``x = y``. + Default ``True``. + """ + super().__init__( + feature_map=feature_map, + statevector_type=statevector_type, + training_parameters=training_parameters, + cache_size=cache_size, + auto_clear_cache=auto_clear_cache, + shots=shots, + enforce_psd=enforce_psd, + ) + + # Override the number of features defined in the base class. + self._num_features = feature_map.num_parameters - self._num_training_parameters + self._feature_parameters = [ + parameter + for parameter in feature_map.parameters + if parameter not in self._training_parameters + ] + self._parameter_dict = {parameter: None for parameter in self.feature_map.parameters} + + def _evaluate(self, x_vec: np.ndarray, y_vec: np.ndarray, is_symmetric: bool): + new_x_vec = self._parameter_array(x_vec) + new_y_vec = self._parameter_array(y_vec) + return super()._evaluate(new_x_vec, new_y_vec, is_symmetric)
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/kernels/trainable_kernel.html b/_modules/qiskit_machine_learning/kernels/trainable_kernel.html new file mode 100644 index 000000000..83e1ea609 --- /dev/null +++ b/_modules/qiskit_machine_learning/kernels/trainable_kernel.html @@ -0,0 +1,583 @@ + + + + + + + + qiskit_machine_learning.kernels.trainable_kernel - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.kernels.trainable_kernel

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""Trainable Quantum Kernel"""
+
+from __future__ import annotations
+
+from abc import ABC
+from typing import Mapping, Sequence
+
+import numpy as np
+from qiskit.circuit import Parameter, ParameterVector
+from qiskit.circuit.parameterexpression import ParameterValueType
+
+from .base_kernel import BaseKernel
+from ..exceptions import QiskitMachineLearningError
+
+
+
[docs]class TrainableKernel(BaseKernel, ABC): + """An abstract definition of the ability to train kernel via specifying training parameters.""" + + def __init__( + self, *, training_parameters: ParameterVector | Sequence[Parameter] | None = None, **kwargs + ) -> None: + """ + Args: + training_parameters: a sequence of training parameters. + **kwargs: Additional parameters may be used by the super class. + """ + super().__init__(**kwargs) + + if training_parameters is None: + training_parameters = [] + + self._training_parameters = training_parameters + self._num_training_parameters = len(self._training_parameters) + + self._parameter_dict = {parameter: None for parameter in training_parameters} + + self._feature_parameters: Sequence[Parameter] = [] + +
[docs] def assign_training_parameters( + self, + parameter_values: Mapping[Parameter, ParameterValueType] | Sequence[ParameterValueType], + ) -> None: + """ + Fix the training parameters to numerical values. + """ + if not isinstance(parameter_values, dict): + if len(parameter_values) != self._num_training_parameters: + raise ValueError( + f"The number of given parameters is wrong: {len(parameter_values)}, " + f"expected {self._num_training_parameters}." + ) + self._parameter_dict.update( + { + parameter: parameter_values[i] + for i, parameter in enumerate(self._training_parameters) + } + ) + else: + for key in parameter_values: + if key not in self._training_parameters: + raise ValueError( + f"Parameter {key} is not a trainable parameter of the feature map and " + f"thus cannot be bound. Make sure {key} is provided in the the trainable " + "parameters when initializing the kernel." + ) + self._parameter_dict[key] = parameter_values[key]
+ + @property + def parameter_values(self) -> np.ndarray: + """ + Returns numerical values assigned to the training parameters as a numpy array. + """ + return np.asarray([self._parameter_dict[param] for param in self._training_parameters]) + + @property + def training_parameters(self) -> ParameterVector | Sequence[Parameter]: + """ + Returns the vector of training parameters. + """ + return self._training_parameters + + @property + def num_training_parameters(self) -> int: + """ + Returns the number of training parameters. + """ + return len(self._training_parameters) + + def _parameter_array(self, x_vec: np.ndarray) -> np.ndarray: + """ + Combines the feature values and the trainable parameters into one array. + """ + self._check_trainable_parameters() + full_array = np.zeros((x_vec.shape[0], self._num_features + self._num_training_parameters)) + for i, x in enumerate(x_vec): + self._parameter_dict.update( + {feature_param: x[j] for j, feature_param in enumerate(self._feature_parameters)} + ) + full_array[i, :] = list(self._parameter_dict.values()) + return full_array + + def _check_trainable_parameters(self) -> None: + for param in self._training_parameters: + if self._parameter_dict[param] is None: + raise QiskitMachineLearningError( + f"Trainable parameter {param} has not been bound. Make sure to bind all" + "trainable parameters to numerical values using `.assign_training_parameters()`" + "before calling `.evaluate()`." + )
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/neural_networks/effective_dimension.html b/_modules/qiskit_machine_learning/neural_networks/effective_dimension.html new file mode 100644 index 000000000..d6bf6756a --- /dev/null +++ b/_modules/qiskit_machine_learning/neural_networks/effective_dimension.html @@ -0,0 +1,816 @@ + + + + + + + + qiskit_machine_learning.neural_networks.effective_dimension - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.neural_networks.effective_dimension

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+"""An implementation of the effective dimension algorithm."""
+
+import logging
+import time
+from typing import Union, List, Tuple
+
+import numpy as np
+from scipy.special import logsumexp
+
+from qiskit_algorithms.utils import algorithm_globals
+from qiskit_machine_learning import QiskitMachineLearningError
+from .estimator_qnn import EstimatorQNN
+from .neural_network import NeuralNetwork
+
+logger = logging.getLogger(__name__)
+
+
+
[docs]class EffectiveDimension: + """ + This class computes the global effective dimension for a Qiskit + :class:`~qiskit_machine_learning.neural_networks.NeuralNetwork` + following the definition used in [1]. + + **References** + [1]: Abbas et al., The power of quantum neural networks. + `The power of QNNs <https://arxiv.org/pdf/2011.00027.pdf>`__. + """ + + def __init__( + self, + qnn: NeuralNetwork, + weight_samples: Union[np.ndarray, int] = 1, + input_samples: Union[np.ndarray, int] = 1, + ) -> None: + + """ + Args: + qnn: A Qiskit :class:`~qiskit_machine_learning.neural_networks.NeuralNetwork`, + with a specific dimension ``(num_weights)`` that will determine the shape of the + Fisher Information Matrix ``(num_input_samples * num_weight_samples, num_weights, + num_weights)`` used to compute the global effective dimension for a set of + ``input_samples``, of shape ``(num_input_samples, qnn_input_size)``, and + ``weight_samples``, of shape ``(num_weight_samples, num_weights)``. + weight_samples: An array of neural network parameters (weights), of shape + ``(num_weight_samples, num_weights)``, or an ``int`` to indicate the number of + parameter sets to sample randomly from a uniform distribution. By default, + ``weight_samples = 1``. + input_samples: An array of samples to the neural network, of shape + ``(num_input_samples, qnn_input_size)``, or an ``int`` to indicate the number of + input sets to sample randomly from a normal distribution. By default, + ``input_samples = 1``. + """ + + # Store arguments + self._weight_samples = None + self._input_samples = None + self._num_weight_samples = 1 + self._num_input_samples = 1 + self._model = qnn + + # Define weight samples and input samples + self.weight_samples = weight_samples # type: ignore + # input setter uses self._model + self.input_samples = input_samples # type: ignore + + @property + def weight_samples(self) -> np.ndarray: + """Returns network weight samples.""" + return self._weight_samples + + @weight_samples.setter + def weight_samples(self, weight_samples: Union[np.ndarray, int]) -> None: + """Sets network weight samples.""" + if isinstance(weight_samples, int): + # random sampling from uniform distribution + self._weight_samples = algorithm_globals.random.uniform( + 0, 1, size=(weight_samples, self._model.num_weights) + ) + else: + # to be sure we have an array + weight_samples = np.asarray(weight_samples) + if len(weight_samples.shape) != 2 or weight_samples.shape[1] != self._model.num_weights: + raise QiskitMachineLearningError( + f"The Effective Dimension class expects" + f" a weight_samples array of shape (M, qnn.num_weights)." + f" Got {weight_samples.shape}." + ) + self._weight_samples = weight_samples + + self._num_weight_samples = len(self._weight_samples) + + @property + def input_samples(self) -> np.ndarray: + """Returns network input samples.""" + return self._input_samples + + @input_samples.setter + def input_samples(self, input_samples: Union[np.ndarray, int]) -> None: + """Sets network input samples.""" + if isinstance(input_samples, int): + # random sampling from normal distribution + self._input_samples = algorithm_globals.random.normal( + 0, 1, size=(input_samples, self._model.num_inputs) + ) + else: + # to be sure we have an array + input_samples = np.asarray(input_samples) + if len(input_samples.shape) != 2 or input_samples.shape[1] != self._model.num_inputs: + raise QiskitMachineLearningError( + f"The Effective Dimension class expects" + f" an input sample array of shape (N, qnn.num_inputs)." + f" Got {input_samples.shape}." + ) + self._input_samples = input_samples + + self._num_input_samples = len(self._input_samples) + +
[docs] def run_monte_carlo(self) -> Tuple[np.ndarray, np.ndarray]: + """ + This method computes the model's Monte Carlo sampling for a set of input samples and + weight samples. + + Returns: + grads: QNN gradient vector, result of backward passes, of shape + ``(num_input_samples * num_weight_samples, output_size, num_weights)``. + outputs: QNN output vector, result of forward passes, of shape + ``(num_input_samples * num_weight_samples, output_size)``. + """ + grads = np.zeros( + ( + self._num_input_samples * self._num_weight_samples, + self._model.output_shape[0], + self._model.num_weights, + ) + ) + outputs = np.zeros( + (self._num_input_samples * self._num_weight_samples, self._model.output_shape[0]) + ) + + for (i, param_set) in enumerate(self._weight_samples): + t_before_forward = time.time() + forward_pass = np.asarray( + self._model.forward(input_data=self._input_samples, weights=param_set) + ) + t_after_forward = time.time() + + backward_pass = np.asarray( + self._model.backward(input_data=self._input_samples, weights=param_set)[1] + ) + t_after_backward = time.time() + + t_forward = t_after_forward - t_before_forward + t_backward = t_after_backward - t_after_forward + logger.debug( + "Weight sample: %d, forward time: %.3f (s), backward time: %.3f (s)", + i, + t_forward, + t_backward, + ) + + grads[self._num_input_samples * i : self._num_input_samples * (i + 1)] = backward_pass + outputs[self._num_input_samples * i : self._num_input_samples * (i + 1)] = forward_pass + + # post-processing in the case of EstimatorQNN output, to match + # the SamplerQNN output format + if isinstance(self._model, EstimatorQNN): + grads = np.concatenate([grads / 2, -1 * grads / 2], 1) + outputs = np.concatenate([(outputs + 1) / 2, (1 - outputs) / 2], 1) + + return grads, outputs
+ +
[docs] def get_fisher_information( + self, gradients: np.ndarray, model_outputs: np.ndarray + ) -> np.ndarray: + """ + This method computes the average Jacobian for every set of gradients and model output as + shown in Abbas et al. + + Args: + gradients: A numpy array, result of the neural network's backward pass, of + shape ``(num_input_samples * num_weight_samples, output_size, num_weights)``. + model_outputs: A numpy array, result of the neural networks' forward pass, + of shape ``(num_input_samples * num_weight_samples, output_size)``. + Returns: + fisher: A numpy array of shape + ``(num_input_samples * num_weight_samples, num_weights, num_weights)`` + with the average Jacobian for every set of gradients and model output given. + """ + + if model_outputs.shape < gradients.shape: + # add dimension to model outputs for broadcasting + model_outputs = np.expand_dims(model_outputs, axis=2) + + # get grad-vectors (gradient_k/model_output_k) + # multiply by sqrt(model_output) so that the outer product cross term is correct + # after Einstein summation + gradvectors = np.sqrt(model_outputs) * gradients / model_outputs + + # compute the sum of matrices obtained from outer product of grad-vectors + fisher_information = np.einsum("ijk,lji->ikl", gradvectors, gradvectors.T) + + return fisher_information
+ +
[docs] def get_normalized_fisher(self, normalized_fisher: np.ndarray) -> Tuple[np.ndarray, float]: + """ + This method computes the normalized Fisher Information Matrix and extracts its trace. + + Args: + normalized_fisher: The Fisher Information Matrix to be normalized. + + Returns: + normalized_fisher: The normalized Fisher Information Matrix, a numpy array of size + ``(num_input_samples, num_weights, num_weights)``. + fisher_trace: The trace of the Fisher Information Matrix + (before normalizing). + """ + + # compute the trace with all normalized_fisher + fisher_trace = np.trace(np.average(normalized_fisher, axis=0)) + + # average the normalized_fisher over the num_input_samples to get + # the empirical normalized_fisher + fisher_avg = np.average( + np.reshape( + normalized_fisher, + ( + self._num_weight_samples, + self._num_input_samples, + self._model.num_weights, + self._model.num_weights, + ), + ), + axis=1, + ) + + # calculate normalized_normalized_fisher for all the empirical normalized_fisher + normalized_fisher = self._model.num_weights * fisher_avg / fisher_trace + return normalized_fisher, fisher_trace
+ + def _get_effective_dimension( + self, + normalized_fisher: np.ndarray, + dataset_size: Union[List[int], np.ndarray, int], + ) -> Union[np.ndarray, int]: + + if not isinstance(dataset_size, int) and len(dataset_size) > 1: + # expand dims for broadcasting + normalized_fisher = np.expand_dims(normalized_fisher, axis=0) + n_expanded = np.expand_dims(np.asarray(dataset_size), axis=(1, 2, 3)) + logsum_axis = 1 + else: + n_expanded = np.asarray(dataset_size) + logsum_axis = None + + # calculate effective dimension for each data sample size out + # of normalized normalized_fisher + f_mod = normalized_fisher * n_expanded / (2 * np.pi * np.log(n_expanded)) + one_plus_fmod = np.eye(self._model.num_weights) + f_mod + # take log. of the determinant because of overflow + dets = np.linalg.slogdet(one_plus_fmod)[1] + # divide by 2 because of square root + dets_div = dets / 2 + effective_dims = ( + 2 + * (logsumexp(dets_div, axis=logsum_axis) - np.log(self._num_weight_samples)) + / np.log(dataset_size / (2 * np.pi * np.log(dataset_size))) + ) + + return np.squeeze(effective_dims) + +
[docs] def get_effective_dimension( + self, dataset_size: Union[List[int], np.ndarray, int] + ) -> Union[np.ndarray, int]: + """ + This method computes the effective dimension for a dataset of size ``dataset_size``. If an + array is passed, then effective dimension computed for each value in the array. + + Args: + dataset_size: array of data sizes or a single integer value. + + Returns: + effective_dim: array of effective dimensions for each dataset size in ``num_data``. + """ + + # step 1: Monte Carlo sampling + grads, output = self.run_monte_carlo() + + # step 2: compute as many fisher info. matrices as (input, params) sets + fisher = self.get_fisher_information(gradients=grads, model_outputs=output) + + # step 3: get normalized fisher info matrices + normalized_fisher, _ = self.get_normalized_fisher(fisher) + + # step 4: compute eff. dim + effective_dimensions = self._get_effective_dimension(normalized_fisher, dataset_size) + + return effective_dimensions
+ + +
[docs]class LocalEffectiveDimension(EffectiveDimension): + """ + This class computes the local effective dimension for a Qiskit + :class:`~qiskit_machine_learning.neural_networks.NeuralNetwork` + following the definition used in [1]. + + In the local version of the algorithm the number of weight samples is limited to 1. Thus, + ``weight_samples`` must be of the shape ``(1, qnn.num_weights)``. + + **References** + [1]: Abbas et al., The power of quantum neural networks. + `The power of QNNs <https://arxiv.org/pdf/2011.00027.pdf>`__. + """ + + # override setter to enforce 1 set of parameters + @property + def weight_samples(self) -> np.ndarray: + """Returns network parameters.""" + return self._weight_samples + + @weight_samples.setter + def weight_samples(self, weight_samples: Union[np.ndarray, int]) -> None: + """Sets network parameters.""" + if isinstance(weight_samples, int): + # random sampling from uniform distribution + self._weight_samples = algorithm_globals.random.uniform( + 0, 1, size=(1, self._model.num_weights) + ) + else: + # there is a weird mypy error if we keep the same variable name, so there's 'weights' + weights = np.asarray(weight_samples) + # additional check to accept 1D arrays + if len(weights.shape) < 2: + weights = np.expand_dims(weight_samples, 0) + if weights.shape[0] != 1 or weights.shape[1] != self._model.num_weights: + raise QiskitMachineLearningError( + f"The Local Effective Dimension class expects" + f" a weight_samples array of shape (1, qnn.num_weights) or (qnn.num_weights)." + f" Got {weights.shape}." + ) + self._weight_samples = weights + + self._num_weight_samples = 1
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/neural_networks/estimator_qnn.html b/_modules/qiskit_machine_learning/neural_networks/estimator_qnn.html new file mode 100644 index 000000000..2e7090b98 --- /dev/null +++ b/_modules/qiskit_machine_learning/neural_networks/estimator_qnn.html @@ -0,0 +1,749 @@ + + + + + + + + qiskit_machine_learning.neural_networks.estimator_qnn - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.neural_networks.estimator_qnn

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2024.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""Estimator quantum neural network class"""
+
+from __future__ import annotations
+
+import logging
+from copy import copy
+from typing import Sequence
+
+import numpy as np
+from qiskit.circuit import Parameter, QuantumCircuit
+from qiskit.primitives import BaseEstimator, Estimator, EstimatorResult
+from qiskit.quantum_info import SparsePauliOp
+from qiskit.quantum_info.operators.base_operator import BaseOperator
+from qiskit_algorithms.gradients import (
+    BaseEstimatorGradient,
+    EstimatorGradientResult,
+    ParamShiftEstimatorGradient,
+)
+
+from qiskit_machine_learning.circuit.library import QNNCircuit
+from qiskit_machine_learning.exceptions import QiskitMachineLearningError
+
+from .neural_network import NeuralNetwork
+
+logger = logging.getLogger(__name__)
+
+
+
[docs]class EstimatorQNN(NeuralNetwork): + """A neural network implementation based on the Estimator primitive. + + The ``EstimatorQNN`` is a neural network that takes in a parametrized quantum circuit + with designated parameters for input data and/or weights, an optional observable(s) and outputs + their expectation value(s). Quite often, a combined quantum circuit is used. Such a circuit is + built from two circuits: a feature map, it provides input parameters for the network, and an + ansatz (weight parameters). + In this case a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` can be passed as + circuit to simplify the composition of a feature map and ansatz. + If a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is passed as circuit, the + input and weight parameters do not have to be provided, because these two properties are taken + from the :class:`~qiskit_machine_learning.circuit.library.QNNCircuit`. + + Example: + + .. code-block:: + + from qiskit import QuantumCircuit + from qiskit.circuit.library import ZZFeatureMap, RealAmplitudes + from qiskit_machine_learning.circuit.library import QNNCircuit + + from qiskit_machine_learning.neural_networks import EstimatorQNN + + num_qubits = 2 + + # Using the QNNCircuit: + # Create a parameterized 2 qubit circuit composed of the default ZZFeatureMap feature map + # and RealAmplitudes ansatz. + qnn_qc = QNNCircuit(num_qubits) + + qnn = EstimatorQNN( + circuit=qnn_qc + ) + + qnn.forward(input_data=[1, 2], weights=[1, 2, 3, 4, 5, 6, 7, 8]) + + # Explicitly specifying the ansatz and feature map: + feature_map = ZZFeatureMap(feature_dimension=num_qubits) + ansatz = RealAmplitudes(num_qubits=num_qubits) + + qc = QuantumCircuit(num_qubits) + qc.compose(feature_map, inplace=True) + qc.compose(ansatz, inplace=True) + + qnn = EstimatorQNN( + circuit=qc, + input_params=feature_map.parameters, + weight_params=ansatz.parameters + ) + + qnn.forward(input_data=[1, 2], weights=[1, 2, 3, 4, 5, 6, 7, 8]) + + + The following attributes can be set via the constructor but can also be read and + updated once the EstimatorQNN object has been constructed. + + Attributes: + + estimator (BaseEstimator): The estimator primitive used to compute the neural network's results. + gradient (BaseEstimatorGradient): The estimator gradient to be used for the backward + pass. + """ + + def __init__( + self, + *, + circuit: QuantumCircuit, + estimator: BaseEstimator | None = None, + observables: Sequence[BaseOperator] | BaseOperator | None = None, + input_params: Sequence[Parameter] | None = None, + weight_params: Sequence[Parameter] | None = None, + gradient: BaseEstimatorGradient | None = None, + input_gradients: bool = False, + ): + r""" + Args: + estimator: The estimator used to compute neural network's results. + If ``None``, a default instance of the reference estimator, + :class:`~qiskit.primitives.Estimator`, will be used. + circuit: The quantum circuit to represent the neural network. If a + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is passed, the + `input_params` and `weight_params` do not have to be provided, because these two + properties are taken from the + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit`. + observables: The observables for outputs of the neural network. If ``None``, + use the default :math:`Z^{\otimes num\_qubits}` observable. + input_params: The parameters that correspond to the input data of the network. + If ``None``, the input data is not bound to any parameters. + If a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is provided the + `input_params` value here is ignored. Instead the value is taken from the + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` input_parameters. + weight_params: The parameters that correspond to the trainable weights. + If ``None``, the weights are not bound to any parameters. + If a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is provided the + `weight_params` value here is ignored. Instead the value is taken from the + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` weight_parameters. + gradient: The estimator gradient to be used for the backward pass. + If None, a default instance of the estimator gradient, + :class:`~qiskit_algorithms.gradients.ParamShiftEstimatorGradient`, will be used. + input_gradients: Determines whether to compute gradients with respect to input data. + Note that this parameter is ``False`` by default, and must be explicitly set to + ``True`` for a proper gradient computation when using + :class:`~qiskit_machine_learning.connectors.TorchConnector`. + + Raises: + QiskitMachineLearningError: Invalid parameter values. + """ + if estimator is None: + estimator = Estimator() + self.estimator = estimator + self._org_circuit = circuit + if observables is None: + observables = SparsePauliOp.from_list([("Z" * circuit.num_qubits, 1)]) + if isinstance(observables, BaseOperator): + observables = (observables,) + self._observables = observables + if isinstance(circuit, QNNCircuit): + self._input_params = list(circuit.input_parameters) + self._weight_params = list(circuit.weight_parameters) + else: + self._input_params = list(input_params) if input_params is not None else [] + self._weight_params = list(weight_params) if weight_params is not None else [] + if gradient is None: + gradient = ParamShiftEstimatorGradient(self.estimator) + self.gradient = gradient + self._input_gradients = input_gradients + + super().__init__( + num_inputs=len(self._input_params), + num_weights=len(self._weight_params), + sparse=False, + output_shape=len(self._observables), + input_gradients=input_gradients, + ) + + self._circuit = self._reparameterize_circuit(circuit, input_params, weight_params) + + @property + def circuit(self) -> QuantumCircuit: + """The quantum circuit representing the neural network.""" + return copy(self._org_circuit) + + @property + def observables(self) -> Sequence[BaseOperator] | BaseOperator: + """Returns the underlying observables of this QNN.""" + return copy(self._observables) + + @property + def input_params(self) -> Sequence[Parameter] | None: + """The parameters that correspond to the input data of the network.""" + return copy(self._input_params) + + @property + def weight_params(self) -> Sequence[Parameter] | None: + """The parameters that correspond to the trainable weights.""" + return copy(self._weight_params) + + @property + def input_gradients(self) -> bool: + """Returns whether gradients with respect to input data are computed by this neural network + in the ``backward`` method or not. By default such gradients are not computed.""" + return self._input_gradients + + @input_gradients.setter + def input_gradients(self, input_gradients: bool) -> None: + """Turn on/off computation of gradients with respect to input data.""" + self._input_gradients = input_gradients + + def _forward_postprocess(self, num_samples: int, result: EstimatorResult) -> np.ndarray: + """Post-processing during forward pass of the network.""" + return np.reshape(result.values, (-1, num_samples)).T + + def _forward( + self, input_data: np.ndarray | None, weights: np.ndarray | None + ) -> np.ndarray | None: + """Forward pass of the neural network.""" + parameter_values_, num_samples = self._preprocess_forward(input_data, weights) + job = self.estimator.run( + [self._circuit] * num_samples * self.output_shape[0], + [op for op in self._observables for _ in range(num_samples)], + np.tile(parameter_values_, (self.output_shape[0], 1)), + ) + try: + results = job.result() + except Exception as exc: + raise QiskitMachineLearningError("Estimator job failed.") from exc + + return self._forward_postprocess(num_samples, results) + + def _backward_postprocess( + self, num_samples: int, result: EstimatorGradientResult + ) -> tuple[np.ndarray | None, np.ndarray]: + """Post-processing during backward pass of the network.""" + num_observables = self.output_shape[0] + if self._input_gradients: + input_grad = np.zeros((num_samples, num_observables, self._num_inputs)) + else: + input_grad = None + + weights_grad = np.zeros((num_samples, num_observables, self._num_weights)) + gradients = np.asarray(result.gradients) + for i in range(num_observables): + if self._input_gradients: + input_grad[:, i, :] = gradients[i * num_samples : (i + 1) * num_samples][ + :, : self._num_inputs + ] + weights_grad[:, i, :] = gradients[i * num_samples : (i + 1) * num_samples][ + :, self._num_inputs : + ] + else: + weights_grad[:, i, :] = gradients[i * num_samples : (i + 1) * num_samples] + return input_grad, weights_grad + + def _backward( + self, input_data: np.ndarray | None, weights: np.ndarray | None + ) -> tuple[np.ndarray | None, np.ndarray]: + """Backward pass of the network.""" + # prepare parameters in the required format + parameter_values, num_samples = self._preprocess_forward(input_data, weights) + + input_grad, weights_grad = None, None + + if np.prod(parameter_values.shape) > 0: + num_observables = self.output_shape[0] + num_circuits = num_samples * num_observables + + circuits = [self._circuit] * num_circuits + observables = [op for op in self._observables for _ in range(num_samples)] + param_values = np.tile(parameter_values, (num_observables, 1)) + + job = None + if self._input_gradients: + job = self.gradient.run(circuits, observables, param_values) + elif len(parameter_values[0]) > self._num_inputs: + params = [self._circuit.parameters[self._num_inputs :]] * num_circuits + job = self.gradient.run(circuits, observables, param_values, parameters=params) + + if job is not None: + try: + results = job.result() + except Exception as exc: + raise QiskitMachineLearningError("Estimator job failed.") from exc + + input_grad, weights_grad = self._backward_postprocess(num_samples, results) + + return input_grad, weights_grad
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/neural_networks/neural_network.html b/_modules/qiskit_machine_learning/neural_networks/neural_network.html new file mode 100644 index 000000000..c92cf9337 --- /dev/null +++ b/_modules/qiskit_machine_learning/neural_networks/neural_network.html @@ -0,0 +1,782 @@ + + + + + + + + qiskit_machine_learning.neural_networks.neural_network - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.neural_networks.neural_network

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2020, 2024.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""A Neural Network abstract class for all (quantum) neural networks within Qiskit
+Machine Learning module."""
+
+from __future__ import annotations
+
+from abc import ABC, abstractmethod
+from typing import Sequence
+
+import numpy as np
+
+from qiskit.circuit import Parameter, ParameterVector, QuantumCircuit
+import qiskit_machine_learning.optionals as _optionals
+from ..exceptions import QiskitMachineLearningError
+
+if _optionals.HAS_SPARSE:
+    # pylint: disable=import-error
+    from sparse import SparseArray
+else:
+
+    class SparseArray:  # type: ignore
+        """Empty SparseArray class
+        Replacement if sparse.SparseArray is not present.
+        """
+
+        pass
+
+
+
[docs]class NeuralNetwork(ABC): + """Abstract Neural Network class providing forward and backward pass and handling + batched inputs. This is to be implemented by other (quantum) neural networks. + """ + + def __init__( + self, + num_inputs: int, + num_weights: int, + sparse: bool, + output_shape: int | tuple[int, ...], + input_gradients: bool = False, + ) -> None: + """ + Args: + num_inputs: The number of input features. + num_weights: The number of trainable weights. + sparse: Determines whether the output is a sparse array or not. + output_shape: The shape of the output. + input_gradients: Determines whether to compute gradients with respect to input data. + Raises: + QiskitMachineLearningError: Invalid parameter values. + """ + if num_inputs < 0: + raise QiskitMachineLearningError(f"Number of inputs cannot be negative: {num_inputs}!") + self._num_inputs = num_inputs + + if num_weights < 0: + raise QiskitMachineLearningError( + f"Number of weights cannot be negative: {num_weights}!" + ) + self._num_weights = num_weights + + self._sparse = sparse + + # output shape may be derived later, so check it only if it is not None + if output_shape is not None: + self._output_shape = self._validate_output_shape(output_shape) + + self._input_gradients = input_gradients + + @property + def num_inputs(self) -> int: + """Returns the number of input features.""" + return self._num_inputs + + @property + def num_weights(self) -> int: + """Returns the number of trainable weights.""" + return self._num_weights + + @property + def sparse(self) -> bool: + """Returns whether the output is sparse or not.""" + return self._sparse + + @property + def output_shape(self) -> tuple[int, ...]: + """Returns the output shape.""" + return self._output_shape + + @property + def input_gradients(self) -> bool: + """Returns whether gradients with respect to input data are computed by this neural network + in the ``backward`` method or not. By default such gradients are not computed.""" + return self._input_gradients + + @input_gradients.setter + def input_gradients(self, input_gradients: bool) -> None: + """Turn on/off computation of gradients with respect to input data.""" + self._input_gradients = input_gradients + + def _validate_output_shape(self, output_shape): + if isinstance(output_shape, int): + output_shape = (output_shape,) + if not np.all([s > 0 for s in output_shape]): + raise QiskitMachineLearningError( + f"Invalid output shape, all components must be > 0, but got: {output_shape}." + ) + return output_shape + + def _validate_input( + self, input_data: float | list[float] | np.ndarray | None + ) -> tuple[np.ndarray | None, tuple[int, ...] | None]: + if input_data is None: + return None, None + input_ = np.array(input_data) + shape = input_.shape + if len(shape) == 0: + # there's a single value in the input. + input_ = input_.reshape((1, 1)) + return input_, shape + + if shape[-1] != self._num_inputs: + raise QiskitMachineLearningError( + f"Input data has incorrect shape, last dimension " + f"is not equal to the number of inputs: " + f"{self._num_inputs}, but got: {shape[-1]}." + ) + + if len(shape) == 1: + # add an empty dimension for samples (batch dimension) + input_ = input_.reshape((1, -1)) + elif len(shape) > 2: + # flatten lower dimensions, keep num_inputs as a last dimension + input_ = input_.reshape((np.prod(input_.shape[:-1]), -1)) + + return input_, shape + + def _preprocess_forward( + self, + input_data: np.ndarray | None, + weights: np.ndarray | None, + ) -> tuple[np.ndarray | None, int | None]: + """ + Pre-processing during forward pass of the network for the primitive-based networks. + """ + if input_data is not None: + num_samples = input_data.shape[0] + if weights is not None: + weights = np.broadcast_to(weights, (num_samples, len(weights))) + parameters = np.concatenate((input_data, weights), axis=1) + else: + parameters = input_data + else: + if weights is not None: + num_samples = 1 + parameters = np.broadcast_to(weights, (num_samples, len(weights))) + else: + # no input, no weights, just execute circuit once + num_samples = 1 + parameters = np.asarray([]) + return parameters, num_samples + + def _validate_weights( + self, weights: float | list[float] | np.ndarray | None + ) -> np.ndarray | None: + if weights is None: + return None + weights_ = np.array(weights) + return weights_.reshape(self._num_weights) + + def _validate_forward_output( + self, output_data: np.ndarray, original_shape: tuple[int, ...] + ) -> np.ndarray: + if original_shape and len(original_shape) >= 2: + output_data = output_data.reshape((*original_shape[:-1], *self._output_shape)) + + return output_data + + def _validate_backward_output( + self, + input_grad: np.ndarray, + weight_grad: np.ndarray, + original_shape: tuple[int, ...], + ) -> tuple[np.ndarray | SparseArray, np.ndarray | SparseArray]: + if input_grad is not None and np.prod(input_grad.shape) == 0: + input_grad = None + if input_grad is not None and original_shape and len(original_shape) >= 2: + input_grad = input_grad.reshape( + (*original_shape[:-1], *self._output_shape, self._num_inputs) + ) + if weight_grad is not None and np.prod(weight_grad.shape) == 0: + weight_grad = None + if weight_grad is not None and original_shape and len(original_shape) >= 2: + weight_grad = weight_grad.reshape( + (*original_shape[:-1], *self._output_shape, self._num_weights) + ) + + return input_grad, weight_grad + +
[docs] def forward( + self, + input_data: float | list[float] | np.ndarray | None, + weights: float | list[float] | np.ndarray | None, + ) -> np.ndarray | SparseArray: + """Forward pass of the network. + + Args: + input_data: input data of the shape (num_inputs). In case of a single scalar input it is + directly cast to and interpreted like a one-element array. + weights: trainable weights of the shape (num_weights). In case of a single scalar weight + it is directly cast to and interpreted like a one-element array. + Returns: + The result of the neural network of the shape (output_shape). + """ + input_, shape = self._validate_input(input_data) + weights_ = self._validate_weights(weights) + output_data = self._forward(input_, weights_) + return self._validate_forward_output(output_data, shape)
+ + @abstractmethod + def _forward( + self, input_data: np.ndarray | None, weights: np.ndarray | None + ) -> np.ndarray | SparseArray: + raise NotImplementedError + +
[docs] def backward( + self, + input_data: float | list[float] | np.ndarray | None, + weights: float | list[float] | np.ndarray | None, + ) -> tuple[np.ndarray | SparseArray | None, np.ndarray | SparseArray | None]: + """Backward pass of the network. + + Args: + input_data: input data of the shape (num_inputs). In case of a + single scalar input it is directly cast to and interpreted like a one-element array. + weights: trainable weights of the shape (num_weights). In case of a single scalar weight + it is directly cast to and interpreted like a one-element array. + Returns: + The result of the neural network of the backward pass, i.e., a tuple with the gradients + for input and weights of shape (output_shape, num_input) and + (output_shape, num_weights), respectively. + """ + input_, shape = self._validate_input(input_data) + weights_ = self._validate_weights(weights) + input_grad, weight_grad = self._backward(input_, weights_) + + input_grad_reshaped, weight_grad_reshaped = self._validate_backward_output( + input_grad, weight_grad, shape + ) + + return input_grad_reshaped, weight_grad_reshaped
+ + @abstractmethod + def _backward( + self, input_data: np.ndarray | None, weights: np.ndarray | None + ) -> tuple[np.ndarray | SparseArray | None, np.ndarray | SparseArray | None]: + raise NotImplementedError + + def _reparameterize_circuit( + self, + circuit: QuantumCircuit, + input_params: Sequence[Parameter] | None = None, + weight_params: Sequence[Parameter] | None = None, + ) -> QuantumCircuit: + # As the data (parameter values) for the primitive is ordered as inputs followed by weights + # we need to ensure that the parameters are ordered like this naturally too so the rewrites + # parameters to ensure this. "inputs" as a name comes before "weights" and within they are + # numerically ordered. + if input_params and self.num_inputs != len(input_params): + raise ValueError( + f"input_params length {len(input_params)}" + f" mismatch with num_inputs (self.num_inputs)" + ) + if weight_params and self.num_weights != len(weight_params): + raise ValueError( + f"weight_params length {len(weight_params)}" + f" mismatch with num_weights (self.num_weights)" + ) + + parameters = circuit.parameters + + if len(parameters) != (self.num_inputs + self.num_weights): + raise ValueError( + f"Number of circuit parameters {len(parameters)}" + f" mismatch with sum of num inputs and weights" + f" {self.num_inputs + self.num_weights}" + ) + + new_input_params = ParameterVector("inputs", self.num_inputs) + new_weight_params = ParameterVector("weights", self.num_weights) + + new_parameters = {} + if input_params: + for i, param in enumerate(input_params): + if param not in parameters: + raise ValueError(f"Input param `{param.name}` not present in circuit") + new_parameters[param] = new_input_params[i] + + if weight_params: + for i, param in enumerate(weight_params): + if param not in parameters: + raise ValueError(f"Weight param {param.name} `not present in circuit") + new_parameters[param] = new_weight_params[i] + + if new_parameters: + circuit = circuit.assign_parameters(new_parameters) + + return circuit
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/neural_networks/sampler_qnn.html b/_modules/qiskit_machine_learning/neural_networks/sampler_qnn.html new file mode 100644 index 000000000..84e2b9f51 --- /dev/null +++ b/_modules/qiskit_machine_learning/neural_networks/sampler_qnn.html @@ -0,0 +1,892 @@ + + + + + + + + qiskit_machine_learning.neural_networks.sampler_qnn - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.neural_networks.sampler_qnn

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2022, 2024.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+"""A Neural Network implementation based on the Sampler primitive."""
+
+from __future__ import annotations
+import logging
+
+from numbers import Integral
+from typing import Callable, cast, Iterable, Sequence
+
+import numpy as np
+from qiskit.circuit import Parameter, QuantumCircuit
+from qiskit.primitives import BaseSampler, SamplerResult, Sampler
+from qiskit_algorithms.gradients import (
+    BaseSamplerGradient,
+    ParamShiftSamplerGradient,
+    SamplerGradientResult,
+)
+
+from qiskit_machine_learning.circuit.library import QNNCircuit
+from qiskit_machine_learning.exceptions import QiskitMachineLearningError
+import qiskit_machine_learning.optionals as _optionals
+
+from .neural_network import NeuralNetwork
+
+if _optionals.HAS_SPARSE:
+    # pylint: disable=import-error
+    from sparse import SparseArray
+else:
+
+    class SparseArray:  # type: ignore
+        """Empty SparseArray class
+        Replacement if sparse.SparseArray is not present.
+        """
+
+        pass
+
+
+logger = logging.getLogger(__name__)
+
+
+
[docs]class SamplerQNN(NeuralNetwork): + """A neural network implementation based on the Sampler primitive. + + The ``SamplerQNN`` is a neural network that takes in a parametrized quantum circuit + with designated parameters for input data and/or weights and translates the quasi-probabilities + estimated by the :class:`~qiskit.primitives.Sampler` primitive into predicted classes. Quite + often, a combined quantum circuit is used. Such a circuit is built from two circuits: + a feature map, it provides input parameters for the network, and an ansatz (weight parameters). + In this case a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` can be passed as + circuit to simplify the composition of a feature map and ansatz. + If a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is passed as circuit, the + input and weight parameters do not have to be provided, because these two properties are taken + from the :class:`~qiskit_machine_learning.circuit.library.QNNCircuit`. + + The output can be set up in different formats, and an optional post-processing step + can be used to interpret the sampler's output in a particular context (e.g. mapping the + resulting bitstring to match the number of classes). + + In this example the network maps the output of the quantum circuit to two classes via a custom + `interpret` function: + + .. code-block:: + + from qiskit import QuantumCircuit + from qiskit.circuit.library import ZZFeatureMap, RealAmplitudes + from qiskit_machine_learning.circuit.library import QNNCircuit + + from qiskit_machine_learning.neural_networks import SamplerQNN + + num_qubits = 2 + + def parity(x): + return f"{bin(x)}".count("1") % 2 + + # Using the QNNCircuit: + # Create a parameterized 2 qubit circuit composed of the default ZZFeatureMap feature map + # and RealAmplitudes ansatz. + qnn_qc = QNNCircuit(num_qubits) + + qnn = SamplerQNN( + circuit=qnn_qc, + interpret=parity, + output_shape=2 + ) + + qnn.forward(input_data=[1, 2], weights=[1, 2, 3, 4, 5, 6, 7, 8]) + + # Explicitly specifying the ansatz and feature map: + feature_map = ZZFeatureMap(feature_dimension=num_qubits) + ansatz = RealAmplitudes(num_qubits=num_qubits) + + qc = QuantumCircuit(num_qubits) + qc.compose(feature_map, inplace=True) + qc.compose(ansatz, inplace=True) + + qnn = SamplerQNN( + circuit=qc, + input_params=feature_map.parameters, + weight_params=ansatz.parameters, + interpret=parity, + output_shape=2 + ) + + qnn.forward(input_data=[1, 2], weights=[1, 2, 3, 4, 5, 6, 7, 8]) + + The following attributes can be set via the constructor but can also be read and + updated once the SamplerQNN object has been constructed. + + Attributes: + + sampler (BaseSampler): The sampler primitive used to compute the neural network's results. + gradient (BaseSamplerGradient): A sampler gradient to be used for the backward pass. + """ + + def __init__( + self, + *, + circuit: QuantumCircuit, + sampler: BaseSampler | None = None, + input_params: Sequence[Parameter] | None = None, + weight_params: Sequence[Parameter] | None = None, + sparse: bool = False, + interpret: Callable[[int], int | tuple[int, ...]] | None = None, + output_shape: int | tuple[int, ...] | None = None, + gradient: BaseSamplerGradient | None = None, + input_gradients: bool = False, + ): + """ + Args: + sampler: The sampler primitive used to compute the neural network's results. + If ``None`` is given, a default instance of the reference sampler defined + by :class:`~qiskit.primitives.Sampler` will be used. + circuit: The parametrized quantum circuit that generates the samples of this network. + If a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is passed, the + `input_params` and `weight_params` do not have to be provided, because these two + properties are taken from the + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit`. + input_params: The parameters of the circuit corresponding to the input. If a + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is provided the + `input_params` value here is ignored. Instead the value is taken from the + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` input_parameters. + weight_params: The parameters of the circuit corresponding to the trainable weights. If + a :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` is provided the + `weight_params` value here is ignored. Instead the value is taken from the + :class:`~qiskit_machine_learning.circuit.library.QNNCircuit` weight_parameters. + sparse: Returns whether the output is sparse or not. + interpret: A callable that maps the measured integer to another unsigned integer or + tuple of unsigned integers. These are used as new indices for the (potentially + sparse) output array. If no interpret function is + passed, then an identity function will be used by this neural network. + output_shape: The output shape of the custom interpretation. It is ignored if no custom + interpret method is provided where the shape is taken to be + ``2^circuit.num_qubits``. + gradient: An optional sampler gradient to be used for the backward pass. + If ``None`` is given, a default instance of + :class:`~qiskit_algorithms.gradients.ParamShiftSamplerGradient` will be used. + input_gradients: Determines whether to compute gradients with respect to input data. + Note that this parameter is ``False`` by default, and must be explicitly set to + ``True`` for a proper gradient computation when using + :class:`~qiskit_machine_learning.connectors.TorchConnector`. + Raises: + QiskitMachineLearningError: Invalid parameter values. + """ + # set primitive, provide default + if sampler is None: + sampler = Sampler() + self.sampler = sampler + + # set gradient + if gradient is None: + gradient = ParamShiftSamplerGradient(self.sampler) + self.gradient = gradient + + self._org_circuit = circuit + + if isinstance(circuit, QNNCircuit): + self._input_params = list(circuit.input_parameters) + self._weight_params = list(circuit.weight_parameters) + else: + self._input_params = list(input_params) if input_params is not None else [] + self._weight_params = list(weight_params) if weight_params is not None else [] + + if sparse: + _optionals.HAS_SPARSE.require_now("DOK") + + self.set_interpret(interpret, output_shape) + self._input_gradients = input_gradients + + super().__init__( + num_inputs=len(self._input_params), + num_weights=len(self._weight_params), + sparse=sparse, + output_shape=self._output_shape, + input_gradients=self._input_gradients, + ) + + if len(circuit.clbits) == 0: + circuit = circuit.copy() + circuit.measure_all() + self._circuit = self._reparameterize_circuit(circuit, input_params, weight_params) + + @property + def circuit(self) -> QuantumCircuit: + """Returns the underlying quantum circuit.""" + return self._org_circuit + + @property + def input_params(self) -> Sequence[Parameter]: + """Returns the list of input parameters.""" + return self._input_params + + @property + def weight_params(self) -> Sequence[Parameter]: + """Returns the list of trainable weights parameters.""" + return self._weight_params + + @property + def interpret(self) -> Callable[[int], int | tuple[int, ...]] | None: + """Returns interpret function to be used by the neural network. If it is not set in + the constructor or can not be implicitly derived, then ``None`` is returned.""" + return self._interpret + +
[docs] def set_interpret( + self, + interpret: Callable[[int], int | tuple[int, ...]] | None = None, + output_shape: int | tuple[int, ...] | None = None, + ) -> None: + """Change 'interpret' and corresponding 'output_shape'. + + Args: + interpret: A callable that maps the measured integer to another unsigned integer or + tuple of unsigned integers. See constructor for more details. + output_shape: The output shape of the custom interpretation. It is ignored if no custom + interpret method is provided where the shape is taken to be + ``2^circuit.num_qubits``. + """ + + # derive target values to be used in computations + self._output_shape = self._compute_output_shape(interpret, output_shape) + self._interpret = interpret if interpret is not None else lambda x: x
+ + def _compute_output_shape( + self, + interpret: Callable[[int], int | tuple[int, ...]] | None = None, + output_shape: int | tuple[int, ...] | None = None, + ) -> tuple[int, ...]: + """Validate and compute the output shape.""" + + # this definition is required by mypy + output_shape_: tuple[int, ...] = (-1,) + + if interpret is not None: + if output_shape is None: + raise QiskitMachineLearningError( + "No output shape given; it's required when using custom interpret!" + ) + if isinstance(output_shape, Integral): + output_shape = int(output_shape) + output_shape_ = (output_shape,) + else: + output_shape_ = output_shape # type: ignore + else: + if output_shape is not None: + # Warn user that output_shape parameter will be ignored + logger.warning( + "No interpret function given, output_shape will be automatically " + "determined as 2^num_qubits." + ) + output_shape_ = (2**self.circuit.num_qubits,) + + return output_shape_ + + def _postprocess(self, num_samples: int, result: SamplerResult) -> np.ndarray | SparseArray: + """ + Post-processing during forward pass of the network. + """ + + if self._sparse: + # pylint: disable=import-error + from sparse import DOK + + prob = DOK((num_samples, *self._output_shape)) + else: + prob = np.zeros((num_samples, *self._output_shape)) + + for i in range(num_samples): + counts = result.quasi_dists[i] + + # evaluate probabilities + for b, v in counts.items(): + key = self._interpret(b) + if isinstance(key, Integral): + key = (cast(int, key),) + key = (i, *key) # type: ignore + prob[key] += v + + if self._sparse: + return prob.to_coo() + else: + return prob + + def _postprocess_gradient( + self, num_samples: int, results: SamplerGradientResult + ) -> tuple[np.ndarray | SparseArray | None, np.ndarray | SparseArray]: + """ + Post-processing during backward pass of the network. + """ + + if self._sparse: + # pylint: disable=import-error + from sparse import DOK + + input_grad = ( + DOK((num_samples, *self._output_shape, self._num_inputs)) + if self._input_gradients + else None + ) + weights_grad = DOK((num_samples, *self._output_shape, self._num_weights)) + else: + + input_grad = ( + np.zeros((num_samples, *self._output_shape, self._num_inputs)) + if self._input_gradients + else None + ) + weights_grad = np.zeros((num_samples, *self._output_shape, self._num_weights)) + + if self._input_gradients: + num_grad_vars = self._num_inputs + self._num_weights + else: + num_grad_vars = self._num_weights + + for sample in range(num_samples): + for i in range(num_grad_vars): + grad = results.gradients[sample][i] + for k, val in grad.items(): + # get index for input or weights gradients + if self._input_gradients: + grad_index = i if i < self._num_inputs else i - self._num_inputs + else: + grad_index = i + + # interpret integer and construct key + key = self._interpret(k) + if isinstance(key, Integral): + key = (sample, int(key), grad_index) + else: + # if key is an array-type, cast to hashable tuple + key = tuple(cast(Iterable[int], key)) + key = (sample, *key, grad_index) + + # store value for inputs or weights gradients + if self._input_gradients: + # we compute input gradients first + if i < self._num_inputs: + input_grad[key] += val + else: + weights_grad[key] += val + else: + weights_grad[key] += val + + if self._sparse: + if self._input_gradients: + input_grad = input_grad.to_coo() # pylint: disable=no-member + weights_grad = weights_grad.to_coo() + + return input_grad, weights_grad + + def _forward( + self, + input_data: np.ndarray | None, + weights: np.ndarray | None, + ) -> np.ndarray | SparseArray | None: + """ + Forward pass of the network. + """ + parameter_values, num_samples = self._preprocess_forward(input_data, weights) + + # sampler allows batching + job = self.sampler.run([self._circuit] * num_samples, parameter_values) + try: + results = job.result() + except Exception as exc: + raise QiskitMachineLearningError("Sampler job failed.") from exc + result = self._postprocess(num_samples, results) + + return result + + def _backward( + self, + input_data: np.ndarray | None, + weights: np.ndarray | None, + ) -> tuple[np.ndarray | SparseArray | None, np.ndarray | SparseArray | None]: + """Backward pass of the network.""" + # prepare parameters in the required format + parameter_values, num_samples = self._preprocess_forward(input_data, weights) + + input_grad, weights_grad = None, None + + if np.prod(parameter_values.shape) > 0: + circuits = [self._circuit] * num_samples + + job = None + if self._input_gradients: + job = self.gradient.run(circuits, parameter_values) + elif len(parameter_values[0]) > self._num_inputs: + params = [self._circuit.parameters[self._num_inputs :]] * num_samples + job = self.gradient.run(circuits, parameter_values, parameters=params) + + if job is not None: + try: + results = job.result() + except Exception as exc: + raise QiskitMachineLearningError("Sampler job failed.") from exc + + input_grad, weights_grad = self._postprocess_gradient(num_samples, results) + + return input_grad, weights_grad
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/utils/loss_functions/kernel_loss_functions.html b/_modules/qiskit_machine_learning/utils/loss_functions/kernel_loss_functions.html new file mode 100644 index 000000000..d8cdba773 --- /dev/null +++ b/_modules/qiskit_machine_learning/utils/loss_functions/kernel_loss_functions.html @@ -0,0 +1,590 @@ + + + + + + + + qiskit_machine_learning.utils.loss_functions.kernel_loss_functions - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.utils.loss_functions.kernel_loss_functions

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+""" Kernel Loss utilities """
+
+from abc import ABC, abstractmethod
+from typing import Sequence
+
+import numpy as np
+from sklearn.svm import SVC
+
+# Prevent circular dependencies caused from type checking
+from ...kernels import TrainableKernel
+
+
+
[docs]class KernelLoss(ABC): + """ + Abstract base class for computing the loss of a kernel function. + Unlike many loss functions, which only take into account the labels and predictions + of a model, kernel loss functions may be a function of internal model parameters or + quantities that are generated during training. + """ + + def __call__( + self, + parameter_values: Sequence[float], + quantum_kernel: TrainableKernel, + data: np.ndarray, + labels: np.ndarray, + ) -> float: + """ + This method calls the ``evaluate`` method. This is a convenient method to compute loss. + """ + return self.evaluate(parameter_values, quantum_kernel, data, labels) + +
[docs] @abstractmethod + def evaluate( + self, + parameter_values: Sequence[float], + quantum_kernel: TrainableKernel, + data: np.ndarray, + labels: np.ndarray, + ) -> float: + """ + An abstract method for evaluating the loss of a kernel function on a labeled dataset. + + Args: + parameter_values: An array of values to assign to the user params + quantum_kernel: A trainable quantum kernel object to evaluate + data: An ``(N, M)`` matrix containing the data + ``N = # samples, M = dimension of data`` + labels: A length-N array containing the truth labels + + Returns: + A loss value + """ + raise NotImplementedError
+ + +
[docs]class SVCLoss(KernelLoss): + r""" + This class provides a kernel loss function for classification tasks by fitting an ``SVC`` model + from scikit-learn. Given training samples, :math:`x_{i}`, with binary labels, :math:`y_{i}`, + and a kernel, :math:`K_{θ}`, parameterized by values, :math:`θ`, the loss is defined as: + + .. math:: + + SVCLoss = \sum_{i} a_i - 0.5 \sum_{i,j} a_i a_j y_{i} y_{j} K_θ(x_i, x_j) + + where :math:`a_i` are the optimal Lagrange multipliers found by solving the standard SVM + quadratic program. Note that the hyper-parameter ``C`` for the soft-margin penalty can be + specified through the keyword args. + + Minimizing this loss over the parameters, :math:`θ`, of the kernel is equivalent to maximizing a + weighted kernel alignment, which in turn yields the smallest upper bound to the SVM + generalization error for a given parameterization. + + See https://arxiv.org/abs/2105.03406 for further details. + """ + + def __init__(self, **kwargs): + """ + Args: + **kwargs: Arbitrary keyword arguments to pass to SVC constructor within + SVCLoss evaluation. + """ + self.kwargs = kwargs + +
[docs] def evaluate( + self, + parameter_values: Sequence[float], + quantum_kernel: TrainableKernel, + data: np.ndarray, + labels: np.ndarray, + ) -> float: + # Bind training parameters + quantum_kernel.assign_training_parameters(parameter_values) + + # Get estimated kernel matrix + kmatrix = quantum_kernel.evaluate(np.array(data)) + + # Train a quantum support vector classifier + svc = SVC(kernel="precomputed", **self.kwargs) + svc.fit(kmatrix, labels) + + # Get dual coefficients + dual_coefs = svc.dual_coef_[0] + + # Get support vectors + support_vecs = svc.support_ + + # Prune kernel matrix of non-support-vector entries + kmatrix = kmatrix[support_vecs, :][:, support_vecs] + + # Calculate loss + loss = np.sum(np.abs(dual_coefs)) - (0.5 * (dual_coefs.T @ kmatrix @ dual_coefs)) + + return loss
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/qiskit_machine_learning/utils/loss_functions/loss_functions.html b/_modules/qiskit_machine_learning/utils/loss_functions/loss_functions.html new file mode 100644 index 000000000..d50c08a4f --- /dev/null +++ b/_modules/qiskit_machine_learning/utils/loss_functions/loss_functions.html @@ -0,0 +1,640 @@ + + + + + + + + qiskit_machine_learning.utils.loss_functions.loss_functions - Qiskit Machine Learning 0.7.1 + + + + + + + + + + + + + + + + + + + + + + + + + Contents + + + + + + + + Menu + + + + + + + + + + + Expand + + + + + + + + + + + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for qiskit_machine_learning.utils.loss_functions.loss_functions

+# This code is part of a Qiskit project.
+#
+# (C) Copyright IBM 2021, 2023.
+#
+# This code is licensed under the Apache License, Version 2.0. You may
+# obtain a copy of this license in the LICENSE.txt file in the root directory
+# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
+#
+# Any modifications or derivative works of this code must retain this
+# copyright notice, and modified files need to carry a notice indicating
+# that they have been altered from the originals.
+
+""" Loss utilities """
+
+from abc import ABC, abstractmethod
+
+import numpy as np
+
+from ...exceptions import QiskitMachineLearningError
+
+
+
[docs]class Loss(ABC): + """ + Abstract base class for computing Loss. + """ + + def __call__(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + """ + This method calls the ``evaluate`` method. This is a convenient method to compute loss. + """ + return self.evaluate(predict, target) + +
[docs] @abstractmethod + def evaluate(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + """ + An abstract method for evaluating the loss function. Inputs are expected in a shape + of ``(N, *)``. Where ``N`` is a number of samples. Loss is computed for each sample + individually. + + Args: + predict: an array of predicted values using the model. + target: an array of the true values. + + Returns: + An array with values of the loss function of the shape ``(N, 1)``. + + Raises: + QiskitMachineLearningError: shapes of predict and target do not match + """ + raise NotImplementedError
+ + @staticmethod + def _validate_shapes(predict: np.ndarray, target: np.ndarray) -> None: + """ + Validates that shapes of both parameters are identical. + + Args: + predict: an array of predicted values using the model + target: an array of the true values + + Raises: + QiskitMachineLearningError: shapes of predict and target do not match. + """ + + if predict.shape != target.shape: + raise QiskitMachineLearningError( + f"Shapes don't match, predict: {predict.shape}, target: {target.shape}!" + ) + +
[docs] @abstractmethod + def gradient(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + """ + An abstract method for computing the gradient. Inputs are expected in a shape + of ``(N, *)``. Where ``N`` is a number of samples. Gradient is computed for each sample + individually. + + Args: + predict: an array of predicted values using the model. + target: an array of the true values. + + Returns: + An array with gradient values of the shape ``(N, *)``. The output shape depends on + the loss function. + + Raises: + QiskitMachineLearningError: shapes of predict and target do not match. + """ + raise NotImplementedError
+ + +
[docs]class L1Loss(Loss): + r""" + This class computes the L1 loss (i.e. absolute error) for each sample as: + + .. math:: + + \text{L1Loss}(predict, target) = \sum_{i=0}^{N_{\text{elements}}} \left| predict_i - + target_i \right|. + """ + +
[docs] def evaluate(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + self._validate_shapes(predict, target) + + if len(predict.shape) <= 1: + return np.abs(predict - target) + else: + return np.linalg.norm(predict - target, ord=1, axis=tuple(range(1, len(predict.shape))))
+ +
[docs] def gradient(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + self._validate_shapes(predict, target) + + return np.sign(predict - target)
+ + +
[docs]class L2Loss(Loss): + r""" + This class computes the L2 loss (i.e. squared error) for each sample as: + + .. math:: + + \text{L2Loss}(predict, target) = \sum_{i=0}^{N_{\text{elements}}} (predict_i - target_i)^2. + + """ + +
[docs] def evaluate(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + self._validate_shapes(predict, target) + + if len(predict.shape) <= 1: + return (predict - target) ** 2 + else: + return np.linalg.norm(predict - target, axis=tuple(range(1, len(predict.shape)))) ** 2
+ +
[docs] def gradient(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + self._validate_shapes(predict, target) + + return 2 * (predict - target)
+ + +
[docs]class CrossEntropyLoss(Loss): + r""" + This class computes the cross entropy loss for each sample as: + + .. math:: + + \text{CrossEntropyLoss}(predict, target) = -\sum_{i=0}^{N_{\text{classes}}} + target_i * log(predict_i). + """ + +
[docs] def evaluate(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + self._validate_shapes(predict, target) + if len(predict.shape) == 1: + predict = predict.reshape(1, -1) + target = target.reshape(1, -1) + + # multiply target and log(predict) matrices row by row and sum up each row + # into a single float, so the output is of shape(N,), where N number or samples. + # then reshape + # before taking the log we clip the predicted probabilities at a small positive number. This + # ensures that in cases where a class is predicted to have 0 probability we don't get `nan`. + val = -np.einsum( + "ij,ij->i", target, np.log2(np.clip(predict, a_min=1e-10, a_max=None)) + ).reshape(-1, 1) + return val
+ +
[docs] def gradient(self, predict: np.ndarray, target: np.ndarray) -> np.ndarray: + """Assume softmax is used, and target vector may or may not be one-hot encoding""" + + self._validate_shapes(predict, target) + if len(predict.shape) == 1: + predict = predict.reshape(1, -1) + target = target.reshape(1, -1) + + # sum up target along rows, then multiply predict by this sum element wise, + # then subtract target + grad = np.einsum("ij,i->ij", predict, np.sum(target, axis=1)) - target + + return grad
+
+
+
+
+ + +
+
Was this page helpful?
+ Yes + No +
Thank you!
+
+ +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_sources/apidocs/qiskit_machine_learning.algorithms.rst.txt b/_sources/apidocs/qiskit_machine_learning.algorithms.rst.txt new file mode 100644 index 000000000..792c81b6d --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.algorithms.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-algorithms: + +.. automodule:: qiskit_machine_learning.algorithms + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.circuit.library.rst.txt b/_sources/apidocs/qiskit_machine_learning.circuit.library.rst.txt new file mode 100644 index 000000000..4a964dfb3 --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.circuit.library.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-circuit-library: + +.. automodule:: qiskit_machine_learning.circuit.library + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.connectors.rst.txt b/_sources/apidocs/qiskit_machine_learning.connectors.rst.txt new file mode 100644 index 000000000..474161cdc --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.connectors.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-connectors: + +.. automodule:: qiskit_machine_learning.connectors + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.datasets.rst.txt b/_sources/apidocs/qiskit_machine_learning.datasets.rst.txt new file mode 100644 index 000000000..c09aac25c --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.datasets.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-datasets: + +.. automodule:: qiskit_machine_learning.datasets + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.kernels.algorithms.rst.txt b/_sources/apidocs/qiskit_machine_learning.kernels.algorithms.rst.txt new file mode 100644 index 000000000..bbdf5cb68 --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.kernels.algorithms.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-kernels-algorithms: + +.. automodule:: qiskit_machine_learning.kernels.algorithms + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.kernels.rst.txt b/_sources/apidocs/qiskit_machine_learning.kernels.rst.txt new file mode 100644 index 000000000..849731037 --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.kernels.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-kernels: + +.. automodule:: qiskit_machine_learning.kernels + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.neural_networks.rst.txt b/_sources/apidocs/qiskit_machine_learning.neural_networks.rst.txt new file mode 100644 index 000000000..928551f2e --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.neural_networks.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-neural_networks: + +.. automodule:: qiskit_machine_learning.neural_networks + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.rst.txt b/_sources/apidocs/qiskit_machine_learning.rst.txt new file mode 100644 index 000000000..e3fd7d525 --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.rst.txt @@ -0,0 +1,10 @@ +===================================== +Qiskit Machine Learning API Reference +===================================== + +.. _qiskit-machine-learning: + +.. automodule:: qiskit_machine_learning + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.utils.loss_functions.rst.txt b/_sources/apidocs/qiskit_machine_learning.utils.loss_functions.rst.txt new file mode 100644 index 000000000..4ffcc0dac --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.utils.loss_functions.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-utils-loss_functions: + +.. automodule:: qiskit_machine_learning.utils.loss_functions + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/apidocs/qiskit_machine_learning.utils.rst.txt b/_sources/apidocs/qiskit_machine_learning.utils.rst.txt new file mode 100644 index 000000000..d468c48b4 --- /dev/null +++ b/_sources/apidocs/qiskit_machine_learning.utils.rst.txt @@ -0,0 +1,6 @@ +.. _qiskit-machine-learning-utils: + +.. automodule:: qiskit_machine_learning.utils + :no-members: + :no-inherited-members: + :no-special-members: diff --git a/_sources/getting_started.rst.txt b/_sources/getting_started.rst.txt new file mode 100644 index 000000000..94a85d927 --- /dev/null +++ b/_sources/getting_started.rst.txt @@ -0,0 +1,126 @@ +:orphan: + +############### +Getting started +############### + +Installation +============ + +Qiskit Machine Learning depends on Qiskit, which has its own +`Qiskit Getting Started `__ detailing +installation options and its supported environments/platforms. You should refer to +that first. Then the information here can be followed which focuses on the additional installation +specific to Qiskit Machine Learning. + +Qiskit Machine Learning has some functions that have been made optional where the dependent code and/or +support program(s) are not (or cannot be) installed by default. Those are PyTorch and Sparse. +See :ref:`optional_installs` for more information. + +.. tab-set:: + + .. tab-item:: Start locally + + The simplest way to get started is to first follow the `getting started 'Start locally' guide for + Qiskit `__ + + In your virtual environment, where you installed Qiskit, install Qiskit Machine Learning as follows: + + .. code:: sh + + pip install qiskit-machine-learning + + .. note:: + + As Qiskit Machine Learning depends on Qiskit, you can though simply install it into your + environment, as above, and pip will automatically install a compatible version of Qiskit + if one is not already installed. + + .. tab-item:: Install from source + + Installing Qiskit Machine Learning from source allows you to access the most recently + updated version under development instead of using the version in the Python Package + Index (PyPI) repository. This will give you the ability to inspect and extend + the latest version of the Qiskit Machine Learning code more efficiently. + + Since Qiskit Machine Learning depends on Qiskit, and its latest changes may require new or changed + features of Qiskit, you should first follow Qiskit's `"Install from source"` instructions + here `Qiskit Getting Started `__ + + .. raw:: html + +

Installing Qiskit Machine Learning from Source

+ + Using the same development environment that you installed Qiskit in you are ready to install + Qiskit Machine Learning. + + 1. Clone the Qiskit Machine Learning repository. + + .. code:: sh + + git clone https://github.com/qiskit-community/qiskit-machine-learning.git + + 2. Cloning the repository creates a local folder called ``qiskit-machine-learning``. + + .. code:: sh + + cd qiskit-machine-learning + + 3. If you want to run tests or linting checks, install the developer requirements. + + .. code:: sh + + pip install -r requirements-dev.txt + + 4. Install ``qiskit-machine-learning``. + + .. code:: sh + + pip install . + + If you want to install it in editable mode, meaning that code changes to the + project don't require a reinstall to be applied, you can do this with: + + .. code:: sh + + pip install -e . + + +.. _optional_installs: + +Optional installs +================= + +* **PyTorch**, may be installed either using command ``pip install 'qiskit-machine-learning[torch]'`` to install the + package or refer to PyTorch `getting started `__. When PyTorch + is installed, the `TorchConnector` facilitates its use of quantum computed networks. + +* **Sparse**, may be installed using command ``pip install 'qiskit-machine-learning[sparse]'`` to install the + package. Sparse being installed will enable the usage of sparse arrays/tensors. + +---- + +Ready to get going?... +====================== + +.. raw:: html + +
+
+ +.. qiskit-call-to-action-item:: + :description: Find out about Qiskit Machine Learning. + :header: Dive into the tutorials + :button_link: ./tutorials/index.html + :button_text: Qiskit Machine Learning tutorials + +.. raw:: html + +
+
+ + +.. Hiding - Indices and tables + :ref:`genindex` + :ref:`modindex` + :ref:`search` diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 000000000..ee045ff58 --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,89 @@ +##################################### +Qiskit Machine Learning overview +##################################### + +Overview +============== + +Qiskit Machine Learning introduces fundamental computational building blocks - such as Quantum Kernels +and Quantum Neural Networks - used in different applications, including classification and regression. +On the one hand, this design is very easy to use and allows users to rapidly prototype a first model +without deep quantum computing knowledge. On the other hand, Qiskit Machine Learning is very flexible, +and users can easily extend it to support cutting-edge quantum machine learning research. + +Qiskit Machine Learning provides the :class:`~qiskit_machine_learning.kernels.FidelityQuantumKernel` +class class that makes use of the :class:`~qiskit_algorithms.state_fidelities.BaseStateFidelity` algorithm +introduced in Qiskit and can be easily used to directly compute kernel matrices for given datasets +or can be passed to a Quantum Support Vector Classifier +(:class:`~qiskit_machine_learning.algorithms.QSVC`) or +Quantum Support Vector Regressor (:class:`~qiskit_machine_learning.algorithms.QSVR`) +to quickly start solving classification or regression problems. +It also can be used with many other existing kernel-based machine learning algorithms from established +classical frameworks. + +Qiskit Machine Learning defines a generic interface for neural networks that is implemented by different +quantum neural networks. Two core implementations are readily provided, such as the +:class:`~qiskit_machine_learning.neural_networks.EstimatorQNN` +and the :class:`~qiskit_machine_learning.neural_networks.SamplerQNN`. +The :class:`~qiskit_machine_learning.neural_networks.EstimatorQNN` leverages +the :class:`~qiskit.primitives.BaseEstimator` primitive from Qiskit and allows users to combine +parametrized quantum circuits with quantum mechanical observables. The circuits can be constructed +using, for example, building blocks from Qiskit's circuit library, and the QNN's output is given +by the expected value of the observable. +The :class:`~qiskit_machine_learning.neural_networks.SamplerQNN` leverages another primitive +introduced in Qiskit, the :class:`~qiskit.primitives.BaseSampler` primitive. This neural network +translates quasi-probabilities of bitstrings estimated by the primitive into a desired output. This +translation step can be used to interpret a given bitstring in a particular context, e.g. +translating it into a set of classes. + +The neural networks include the functionality to evaluate them for a given input as well as to compute the +corresponding gradients, which is important for efficient training. To train and use neural networks, +Qiskit Machine Learning provides a variety of learning algorithms such as the +:class:`~qiskit_machine_learning.algorithms.NeuralNetworkClassifier` and +:class:`~qiskit_machine_learning.algorithms.NeuralNetworkRegressor`. +Both take a QNN as input and then use it in a classification or regression context. +To allow an easy start, two convenience implementations are provided - the Variational Quantum Classifier +(:class:`~qiskit_machine_learning.algorithms.VQC`) +as well as the Variational Quantum Regressor (:class:`~qiskit_machine_learning.algorithms.VQR`). +Both take just a feature map and an ansatz and construct the underlying QNN automatically. + +In addition to the models provided directly in Qiskit Machine Learning, it has the +:class:`~qiskit_machine_learning.connectors.TorchConnector`, +which allows users to integrate all of our quantum neural networks directly into the +`PyTorch `__ +open source machine learning library. Thanks to Qiskit Algorithm's gradient algorithms, +this includes automatic +differentiation - the overall gradients computed by `PyTorch `__ +during the backpropagation take into +account quantum neural networks, too. The flexible design also allows the building of connectors +to other packages in the future. + + + +Next Steps +================================= + +`Getting started `_ + +`Migration Guide `_ + +`Tutorials `_ + +.. toctree:: + :hidden: + + Overview + Getting Started + Migration Guide + Tutorials + API Reference + Release Notes + GitHub + + + +.. Hiding - Indices and tables + :ref:`genindex` + :ref:`modindex` + :ref:`search` + diff --git a/_sources/migration/01_migration_guide_0.5.rst.txt b/_sources/migration/01_migration_guide_0.5.rst.txt new file mode 100644 index 000000000..97d5293d4 --- /dev/null +++ b/_sources/migration/01_migration_guide_0.5.rst.txt @@ -0,0 +1,704 @@ +Qiskit Machine Learning v0.5 Migration Guide +============================================ + +This tutorial will guide you through the process of migrating your code +from Qiskit Machine Learning v0.4 to v0.5. + +Introduction +------------ + +The main focus of the 0.5 release of Qiskit Machine Learning is the +migration of the base computational blocks like quantum kernels and +quantum neural networks to the primitives introduced in Qiskit as well +as extended support of the primitives in the algorithms. + +Contents: + +- Overview of the primitives +- New quantum kernel +- New quantum neural networks +- Other notable deprecation + +Overview of the primitives +-------------------------- + +The core capability of quantum computers that sets them apart from from +classical computers is their ability to generate non-classical +probability distributions at their outputs. The native operations that +one can do with a probability distribution is to sample from it or to +estimate quantities on it. Consequently, these operations of sampling +and estimating form the fundamental building blocks of quantum algorithm +development. Thus, as it was +`announced `__, +two basic primitives were introduced, Sampler and Estimator, +respectively, that implement these two operations: + +- Sampler class calculates probabilities or quasi-probabilities of + bitstrings from quantum circuits. The base class is + `qiskit.primitives.BaseSampler `__. +- Estimator class estimates expectation values of quantum circuits and + observables. The base class is + `qiskit.primitives.BaseEstimator `__. + +Qiskit Terra provides core interfaces and two implementations: + +- The reference implementation that is statevector based. This + implementation does require a backend or a simulator, it relies on + the classes from the + `quantum_info `__ + package. +- The backend based primitives are to support provider/backends that do + not support primitives directly. This implementation requires an + instance of a backend to be passed to a primitive. + +More information on the Qiskit Terra primitives can be found in the +`documentation `__. + +It is worth mentioning other implementations as well: + +- Aer primitives should be used for Aer simulator. They extend + corresponding interfaces from Terra and can be used in the same way + as primitives from Terra. See + `documentation `__ + for more information. +- The runtime primitives to be used with IBM devices. This is an + implementation that is focused on cloud computing on actual hardware. + See + `here `__. + +Along with the primitives Terra has some primitive-like algorithms that +are highly useful in QML and used by the new 0.5 functions: + +- Algorithms to calculate the gradient of a quantum circuit. For each + core primitive there’s a corresponding base interface that defines + quantum circuit gradient. The documentation on gradients is + `here `__. +- Algorithms that compute the fidelity or “closeness” of pairs of + quantum states. Currently, only one implementation is available that + requires a sampler primitive and is based on the compute-uncompute + method. The documentation is + `here `__. + +Both two new algorithms are very similar to the core primitives, they +share the same method signatures, so they may be called as high level +primitives despite they are not in the primitives package. + +New quantum kernel +------------------ + +The previous implementation consisted of a single class +`QuantumKernel `__ +that did everything: + +- Constructed circuits +- Executed circuits and evaluated overlap between circuits +- Provided training parameters +- Kept track of the values assigned to the parameters. + +The implementation became sophisticated and inflexible and adding +support of the new primitives could be tricky. To address the issues, a +new flexible and extendable design of quantum kernels was introduced. +The goals of the new design are: + +- Migrate to the primitives and leverage the fidelity algorithm. Now + users may plug in their own implementations of fidelity calculations. +- Extract trainability feature to a dedicated class. +- Introduce a base class that can be extended by other kernel + implementations. + +The new design of quantum kernel is shown on the next diagram. + + +.. figure:: aux_files/quantum_kernel.png + :alt: Quantum Kernel Diagram + + +The new kernels expose the same interface and the same parameters except +the ``quantum_instance`` parameter. This parameter does not have a +direct replacement and instead the ``fidelity`` parameter must be used. +The backend handling/selection, which was previously done using the +``quantum_instance``, is now taken care of via the Sampler primitive +given to the ``fidelity``. + +A new hierarchy shown on the diagram introduces: + +- A base and abstract class + `BaseKernel `__ + is introduced. All concrete implementation must inherit this class. +- A fidelity based quantum kernel + `FidelityQuantumKernel `__ + is added. This is a direct **replacement** of the previous quantum + kernel implementation. The difference is that the new class takes a + fidelity instance to estimate overlaps and construct kernel matrix. +- A new abstract class + `TrainableKernel `__ + is introduced to generalize ability to train quantum kernels. +- A fidelity-based trainable quantum kernel + `TrainableFidelityQuantumKernel `__ + is introduced. This is a **replacement** of the previous quantum + kernel if a trainable kernel is required. The trainer + `QuantumKernelTrainer `__ + now accepts both quantum kernel implementations, the new one and the + previous one. + +For convenience, the previous quantum kernel implementation, +`QuantumKernel `__, +now extends both new abstract classes and thus it is compatible with the +new introduced interfaces. This implementation is now **pending +deprecation**, will be deprecated in a future release and subsequently +removed after that. New, primitive-based quantum kernels should be used +instead. + +The existing algorithms such as +`QSVC `__, +`QSVR `__ +and other kernel-based algorithms are updated and work with both +implementations. + +For example a QSVM classifier can be trained as follows. + +Create a dataset +---------------- + +Fixing randomization. + +.. code:: ipython3 + + from qiskit.utils import algorithm_globals + + algorithm_globals.random_seed = 123456 + +Generate a simple dataset using scikit-learn. + +.. code:: ipython3 + + from sklearn.datasets import make_blobs + + features, labels = make_blobs( + n_samples=20, + centers=2, + center_box=(-1, 1), + cluster_std=0.1, + random_state=algorithm_globals.random_seed, + ) + +Previous implementation of quantum kernel +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the previous implementation we start from creating an instance of +``QuantumInstance``. This class defines where our quantum circuits are +executed. In this case we wrap a statevector simulator in the quantum +instance. + +.. code:: ipython3 + + from qiskit import BasicAer + from qiskit.utils import QuantumInstance + + sv_qi = QuantumInstance( + BasicAer.get_backend("statevector_simulator"), + seed_simulator=algorithm_globals.random_seed, + seed_transpiler=algorithm_globals.random_seed, + ) + + +Then create a quantum kernel. + +.. code:: ipython3 + + from qiskit.circuit.library import ZZFeatureMap + from qiskit_machine_learning.kernels import QuantumKernel + + feature_map = ZZFeatureMap(2) + previous_kernel = QuantumKernel(feature_map=feature_map, quantum_instance=sv_qi) + + +And finally we fit an SVM classifier. + +.. code:: ipython3 + + from qiskit_machine_learning.algorithms import QSVC + + qsvc = QSVC(quantum_kernel=previous_kernel) + qsvc.fit(features, labels) + qsvc.score(features, labels) + + + + +.. parsed-literal:: + + 0.95 + + + +New implementation of quantum kernel +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the new implementation we start from creating a Fidelity instance. +Fidelity is optional and quantum kernel will create it automatically if +none is passed. But here, we create it manually for illustrative +purposes. To create a fidelity instance we pass a sampler. The sampler +is the reference implementation and defines where our quantum circuits +are executed. You may create a sampler instance from +`QiskitRuntimeService `__ +to leverage Qiskit runtime services. + +.. code:: ipython3 + + from qiskit.algorithms.state_fidelities import ComputeUncompute + from qiskit.primitives import Sampler + + fidelity = ComputeUncompute(sampler=Sampler()) + +Next, we create a new quantum kernel with the fidelity instance. + +.. code:: ipython3 + + from qiskit_machine_learning.kernels import FidelityQuantumKernel + + feature_map = ZZFeatureMap(2) + new_kernel = FidelityQuantumKernel(feature_map=feature_map, fidelity=fidelity) + +Then we fit an SVM classifier the same way as before. + +.. code:: ipython3 + + from qiskit_machine_learning.algorithms import QSVC + + qsvc = QSVC(quantum_kernel=new_kernel) + qsvc.fit(features, labels) + qsvc.score(features, labels) + + + + +.. parsed-literal:: + + 0.95 + + + +New quantum neural networks +--------------------------- + +Changes in the quantum neural networks are not as dramatic as in quantum +kernels. In addition, and as a replacement to the existing neural +networks, two new networks are introduced. The new networks introduced +are +`SamplerQNN `__ +and +`EstimatorQNN `__ +which are detailed below and are replacements for the pre-existing +`CircuitQNN `__, +`OpflowQNN `__ +and +`TwoLayerQNN `__ +which are now pending deprecated. + +SamplerQNN +~~~~~~~~~~ + +A new `Sampler Quantum Neural +Network `__ +leverages the sampler primitive, sampler gradients and is a **direct +replacement** of +`CircuitQNN `__. + +The new +`SamplerQNN `__ +exposes a similar interface to the existing +`CircuitQNN `__, +with a few differences. One is the ``quantum_instance`` parameter. This +parameter does not have a direct replacement, and instead the +``sampler`` parameter must be used. The ``gradient`` parameter keeps the +same name as in the +`CircuitQNN `__ +implementation, but it no longer accepts Opflow gradient classes as +inputs; instead, this parameter expects an (optionally custom) primitive +gradient. The ``sampling`` option has been removed for the time being, +as this information is not currently exposed by the sampler, and might +correspond to future lower-level primitives. + +The existing training algorithms such as +`VQC `__ +that were based on +`CircuitQNN `__, +are updated to accept both implementations. The implementation of +`NeuralNetworkClassifier `__ +has not changed. + +The existing +`CircuitQNN `__ +is now **pending deprecation**, will be deprecated in a future release +and subsequently removed after that. + +We’ll show how to train a variational quantum classifier using both +networks. For this purposes we re-use the dataset generated for the +quantum kernel. For both quantum neural networks we still have to +construct a feature map, an ansatz and combine them into a single +quantum circuit. + +.. code:: ipython3 + + from qiskit import QuantumCircuit + from qiskit.circuit.library import RealAmplitudes + + num_inputs = 2 + feature_map = ZZFeatureMap(num_inputs) + ansatz = RealAmplitudes(num_inputs, reps=1) + + circuit = QuantumCircuit(num_inputs) + circuit.compose(feature_map, inplace=True) + circuit.compose(ansatz, inplace=True) + +We need an interpret function as well. We define our usual parity +function that maps bitstrings either to :math:`0` or :math:`1`. + +.. code:: ipython3 + + def parity(x): + return "{:b}".format(x).count("1") % 2 + +We fix the initial point to get the same results from both networks. + +.. code:: ipython3 + + initial_point = algorithm_globals.random.random(ansatz.num_parameters) + +Building a classifier using ``CircuitQNN`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We create a ``CircuitQNN`` instance and re-use the quantum instance +created for the quantum kernel. + +.. code:: ipython3 + + from qiskit_machine_learning.neural_networks import CircuitQNN + + circuit_qnn = CircuitQNN( + circuit=circuit, + input_params=feature_map.parameters, + weight_params=ansatz.parameters, + interpret=parity, + output_shape=2, + quantum_instance=sv_qi, + ) + + +Construct a classifier out of the network, train it and score it. We are +not aiming for good results, so the number of iterations is set to a +small number to reduce overall execution time. + +.. code:: ipython3 + + from qiskit.algorithms.optimizers import COBYLA + from qiskit_machine_learning.algorithms import NeuralNetworkClassifier + + classifier = NeuralNetworkClassifier( + neural_network=circuit_qnn, + loss="cross_entropy", + one_hot=True, + optimizer=COBYLA(maxiter=40), + initial_point=initial_point, + ) + classifier.fit(features, labels) + classifier.score(features, labels) + + + + +.. parsed-literal:: + + 0.6 + + + +Building a classifier using ``SamplerQNN`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Instead of ``QuantumInstance`` create an instance of the reference +``Sampler``. + +.. code:: ipython3 + + from qiskit.primitives import Sampler + + sampler = Sampler() + +Now, we create a instance of ``SamplerQNN``. The difference with +``CircuitQNN`` is that we pass a sampler instead of a quantum instance. + +.. code:: ipython3 + + from qiskit_machine_learning.neural_networks import SamplerQNN + + sampler_qnn = SamplerQNN( + circuit=circuit, + input_params=feature_map.parameters, + weight_params=ansatz.parameters, + interpret=parity, + output_shape=2, + sampler=sampler, + ) + +Construct a classifier and fit it as usual. As ``neural_network`` we +pass a created ``SamplerQNN`` and this is the only difference. + +.. code:: ipython3 + + classifier = NeuralNetworkClassifier( + neural_network=sampler_qnn, + loss="cross_entropy", + one_hot=True, + optimizer=COBYLA(maxiter=40), + initial_point=initial_point, + ) + classifier.fit(features, labels) + classifier.score(features, labels) + + + + +.. parsed-literal:: + + 0.6 + + + +Instead of constructing a quantum neural network manually, you may train +``VQC``. It takes either a quantum instance or a sampler, depending on +what is passed it automatically constructs either ``CircuitQNN`` or +``SamplerQNN`` respectively. + +EstimatorQNN +~~~~~~~~~~~~ + +A new `Estimator quantum neural +network `__ +leverages the estimator primitive, estimator gradients and is a **direct +replacement** of +`OpflowQNN `__. + +The new +`EstimatorQNN `__ +exposes a similar interface to the existing +`OpflowQNN `__, +with a few differences. One is the ``quantum_instance`` parameter. This +parameter does not have a direct replacement, and instead the +``estimator`` parameter must be used. The ``gradient`` parameter keeps +the same name as in the +`OpflowQNN `__ +implementation, but it no longer accepts Opflow gradient classes as +inputs; instead, this parameter expects an (optionally custom) primitive +gradient. + +The existing training algorithms such as +`VQR `__ +that were based on the +`TwoLayerQNN `__, +are updated to accept both implementations. The implementation of +`NeuralNetworkRegressor `__ +has not changed. + +The existing +`OpflowQNN `__ +is now **pending deprecation**, will be deprecated in a future release +and subsequently removed after that. + +We’ll show how to train a variational quantum regressor using both +networks. We start from generating a simple regression dataset. + +.. code:: ipython3 + + import numpy as np + + num_samples = 20 + eps = 0.2 + lb, ub = -np.pi, np.pi + features = (ub - lb) * np.random.rand(num_samples, 1) + lb + labels = np.sin(features[:, 0]) + eps * (2 * np.random.rand(num_samples) - 1) + +We still have to construct a feature map, an ansatz and combine them +into a single quantum circuit for both quantum neural networks. + +.. code:: ipython3 + + from qiskit.circuit import Parameter + + num_inputs = 1 + feature_map = QuantumCircuit(1) + feature_map.ry(Parameter("input"), 0) + + ansatz = QuantumCircuit(1) + ansatz.ry(Parameter("weight"), 0) + + circuit = QuantumCircuit(num_inputs) + circuit.compose(feature_map, inplace=True) + circuit.compose(ansatz, inplace=True) + +We fix the initial point to get the same results from both networks. + +.. code:: ipython3 + + initial_point = algorithm_globals.random.random(ansatz.num_parameters) + +Building a regressor using ``OpflowQNN`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We create an ``OpflowQNN`` instance and re-use the quantum instance +created for the quantum kernel. + +.. code:: ipython3 + + from qiskit.opflow import PauliSumOp, StateFn + from qiskit_machine_learning.neural_networks import OpflowQNN + + observable = PauliSumOp.from_list([("Z", 1)]) + operator = StateFn(observable, is_measurement=True) @ StateFn(circuit) + + opflow_qnn = OpflowQNN( + operator=operator, + input_params=feature_map.parameters, + weight_params=ansatz.parameters, + quantum_instance=sv_qi, + ) + + +Construct a regressor out of the network, train it and score it. In this +case we use a gradient based optimizer, thus the network makes use of +the gradient framework and due to nature of the dataset converges very +quickly. + +.. code:: ipython3 + + from qiskit.algorithms.optimizers import L_BFGS_B + from qiskit_machine_learning.algorithms import NeuralNetworkRegressor + + regressor = NeuralNetworkRegressor( + neural_network=opflow_qnn, + optimizer=L_BFGS_B(maxiter=5), + initial_point=initial_point, + ) + regressor.fit(features, labels) + regressor.score(features, labels) + + + + +.. parsed-literal:: + + 0.9681198723451012 + + + +Building a regressor using ``EstimatorQNN`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Create an instance of the reference Estimator. You may create an +estimator instance from +`QiskitRuntimeService `__ +to leverage Qiskit runtime services. + +.. code:: ipython3 + + from qiskit.primitives import Estimator + + estimator = Estimator() + +Now, we create a instance of ``EstimatorQNN``. The network creates an +observable as :math:`Z^{\otimes n}`, where :math:`n` is the number of +qubit, if it is not specified. + +.. code:: ipython3 + + from qiskit_machine_learning.neural_networks import EstimatorQNN + + estimator_qnn = EstimatorQNN( + circuit=circuit, + input_params=feature_map.parameters, + weight_params=ansatz.parameters, + estimator=estimator, + ) + +Construct a variational quantum regressor and fit it. In this case we +use a gradient based optimizer, thus the network makes use of the +`default estimator +gradient `__ +that is created automatically. + +.. code:: ipython3 + + from qiskit.algorithms.optimizers import L_BFGS_B + from qiskit_machine_learning.algorithms import VQR + + regressor = NeuralNetworkRegressor( + neural_network=estimator_qnn, + optimizer=L_BFGS_B(maxiter=5), + initial_point=initial_point, + ) + regressor.fit(features, labels) + regressor.score(features, labels) + + + + +.. parsed-literal:: + + 0.9681198723451012 + + + +Instead of constructing a quantum neural network manually, you may train +``VQR``. It takes either a quantum instance or an estimator, depending +on what is passed it automatically constructs either ``TwoLayerQNN`` or +``EstimatorQNN`` respectively. + +Other notable deprecation +------------------------- + +A few other components, not mentioned explicitly above, are also +deprecated or pending deprecation: + +- `TwoLayerQNN `__ + is pending deprecation. Users should use + `EstimatorQNN `__ + instead. +- The Distribution Learners package is deprecated fully. This package + contains such classes as + `DiscriminativeNetwork `__, + `GenerativeNetwork `__, + `NumPyDiscriminator `__, + `PyTorchDiscriminator `__, + `QuantumGenerator `__, + `QGAN `__. + Instead, please refer to the `new QGAN + tutorial <../tutorials/04_torch_qgan.ipynb>`__. This tutorial + introduces step-by-step how to build a PyTorch-based QGAN using + quantum neural networks. +- The Runtime package is deprecated. This package contains a client to + Qiskit Programs that embed Qiskit Runtime in the algorithmic + interfaces and facilitate usage of algorithms and scripts in the + cloud. You should use + `QiskitRuntimeService `__ + to leverage primitives and runtimes. + +.. code:: ipython3 + + import qiskit.tools.jupyter + + %qiskit_version_table + %qiskit_copyright + + + +.. raw:: html + +

Version Information

Qiskit SoftwareVersion
qiskit-terra0.25.0
qiskit-aer0.13.0
qiskit-machine-learning0.7.0
System information
Python version3.8.13
Python compilerClang 12.0.0
Python builddefault, Oct 19 2022 17:54:22
OSDarwin
CPUs10
Memory (Gb)64.0
Thu Sep 14 13:57:31 2023 IST
+ + + +.. raw:: html + +

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

+ diff --git a/_sources/migration/index.rst.txt b/_sources/migration/index.rst.txt new file mode 100644 index 000000000..031ef75c7 --- /dev/null +++ b/_sources/migration/index.rst.txt @@ -0,0 +1,16 @@ +####################################### +Qiskit Machine Learning Migration Guide +####################################### + + +.. nbgallery:: + :glob: + + * + + +.. Hiding - Indices and tables + :ref:`genindex` + :ref:`modindex` + :ref:`search` + diff --git a/_sources/release_notes.rst.txt b/_sources/release_notes.rst.txt new file mode 100644 index 000000000..617506e66 --- /dev/null +++ b/_sources/release_notes.rst.txt @@ -0,0 +1,3 @@ +.. release-notes:: Release Notes + :ignore-notes: + releasenotes/notes/fix_qnn_binding_order-74caef8a49ecffe5.yaml, diff --git a/_sources/stubs/qiskit_machine_learning.QiskitMachineLearningError.rst.txt b/_sources/stubs/qiskit_machine_learning.QiskitMachineLearningError.rst.txt new file mode 100644 index 000000000..d20539215 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.QiskitMachineLearningError.rst.txt @@ -0,0 +1,8 @@ + + +QiskitMachineLearningError +================================================== + +.. currentmodule:: qiskit_machine_learning + +.. autoexception:: QiskitMachineLearningError \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.BinaryObjectiveFunction.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.BinaryObjectiveFunction.rst.txt new file mode 100644 index 000000000..b4d922383 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.BinaryObjectiveFunction.rst.txt @@ -0,0 +1,28 @@ + + +BinaryObjectiveFunction +========================================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: BinaryObjectiveFunction + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: BinaryObjectiveFunction.gradient + .. automethod:: BinaryObjectiveFunction.objective + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.MultiClassObjectiveFunction.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.MultiClassObjectiveFunction.rst.txt new file mode 100644 index 000000000..994de7881 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.MultiClassObjectiveFunction.rst.txt @@ -0,0 +1,28 @@ + + +MultiClassObjectiveFunction +============================================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: MultiClassObjectiveFunction + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: MultiClassObjectiveFunction.gradient + .. automethod:: MultiClassObjectiveFunction.objective + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.NeuralNetworkClassifier.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.NeuralNetworkClassifier.rst.txt new file mode 100644 index 000000000..4555c78fe --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.NeuralNetworkClassifier.rst.txt @@ -0,0 +1,45 @@ + + +NeuralNetworkClassifier +========================================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: NeuralNetworkClassifier + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: NeuralNetworkClassifier.callback + .. autoattribute:: NeuralNetworkClassifier.fit_result + .. autoattribute:: NeuralNetworkClassifier.initial_point + .. autoattribute:: NeuralNetworkClassifier.loss + .. autoattribute:: NeuralNetworkClassifier.neural_network + .. autoattribute:: NeuralNetworkClassifier.num_classes + .. autoattribute:: NeuralNetworkClassifier.optimizer + .. autoattribute:: NeuralNetworkClassifier.warm_start + .. autoattribute:: NeuralNetworkClassifier.weights + + + + + + + .. rubric:: Methods + + + .. automethod:: NeuralNetworkClassifier.fit + .. automethod:: NeuralNetworkClassifier.load + .. automethod:: NeuralNetworkClassifier.predict + .. automethod:: NeuralNetworkClassifier.save + .. automethod:: NeuralNetworkClassifier.score + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.NeuralNetworkRegressor.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.NeuralNetworkRegressor.rst.txt new file mode 100644 index 000000000..12a4fa065 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.NeuralNetworkRegressor.rst.txt @@ -0,0 +1,44 @@ + + +NeuralNetworkRegressor +========================================================= + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: NeuralNetworkRegressor + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: NeuralNetworkRegressor.callback + .. autoattribute:: NeuralNetworkRegressor.fit_result + .. autoattribute:: NeuralNetworkRegressor.initial_point + .. autoattribute:: NeuralNetworkRegressor.loss + .. autoattribute:: NeuralNetworkRegressor.neural_network + .. autoattribute:: NeuralNetworkRegressor.optimizer + .. autoattribute:: NeuralNetworkRegressor.warm_start + .. autoattribute:: NeuralNetworkRegressor.weights + + + + + + + .. rubric:: Methods + + + .. automethod:: NeuralNetworkRegressor.fit + .. automethod:: NeuralNetworkRegressor.load + .. automethod:: NeuralNetworkRegressor.predict + .. automethod:: NeuralNetworkRegressor.save + .. automethod:: NeuralNetworkRegressor.score + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.ObjectiveFunction.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.ObjectiveFunction.rst.txt new file mode 100644 index 000000000..4f6f93cdf --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.ObjectiveFunction.rst.txt @@ -0,0 +1,28 @@ + + +ObjectiveFunction +==================================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: ObjectiveFunction + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: ObjectiveFunction.gradient + .. automethod:: ObjectiveFunction.objective + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.OneHotObjectiveFunction.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.OneHotObjectiveFunction.rst.txt new file mode 100644 index 000000000..fe314e350 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.OneHotObjectiveFunction.rst.txt @@ -0,0 +1,28 @@ + + +OneHotObjectiveFunction +========================================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: OneHotObjectiveFunction + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: OneHotObjectiveFunction.gradient + .. automethod:: OneHotObjectiveFunction.objective + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.PegasosQSVC.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.PegasosQSVC.rst.txt new file mode 100644 index 000000000..ea54e589b --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.PegasosQSVC.rst.txt @@ -0,0 +1,42 @@ + + +PegasosQSVC +============================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: PegasosQSVC + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: PegasosQSVC.FITTED + .. autoattribute:: PegasosQSVC.UNFITTED + .. autoattribute:: PegasosQSVC.num_steps + .. autoattribute:: PegasosQSVC.precomputed + .. autoattribute:: PegasosQSVC.quantum_kernel + + + + + + + .. rubric:: Methods + + + .. automethod:: PegasosQSVC.decision_function + .. automethod:: PegasosQSVC.fit + .. automethod:: PegasosQSVC.load + .. automethod:: PegasosQSVC.predict + .. automethod:: PegasosQSVC.save + .. automethod:: PegasosQSVC.score + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.QSVC.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.QSVC.rst.txt new file mode 100644 index 000000000..f61cad353 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.QSVC.rst.txt @@ -0,0 +1,50 @@ + + +QSVC +======================================= + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: QSVC + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: QSVC.coef_ + .. autoattribute:: QSVC.n_support_ + .. autoattribute:: QSVC.probA_ + .. autoattribute:: QSVC.probB_ + .. autoattribute:: QSVC.quantum_kernel + .. autoattribute:: QSVC.unused_param + + + + + + + .. rubric:: Methods + + + .. automethod:: QSVC.decision_function + .. automethod:: QSVC.fit + .. automethod:: QSVC.get_metadata_routing + .. automethod:: QSVC.get_params + .. automethod:: QSVC.load + .. automethod:: QSVC.predict + .. automethod:: QSVC.predict_log_proba + .. automethod:: QSVC.predict_proba + .. automethod:: QSVC.save + .. automethod:: QSVC.score + .. automethod:: QSVC.set_fit_request + .. automethod:: QSVC.set_params + .. automethod:: QSVC.set_score_request + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.QSVR.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.QSVR.rst.txt new file mode 100644 index 000000000..1fccc3b89 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.QSVR.rst.txt @@ -0,0 +1,46 @@ + + +QSVR +======================================= + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: QSVR + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: QSVR.class_weight_ + .. autoattribute:: QSVR.coef_ + .. autoattribute:: QSVR.n_support_ + .. autoattribute:: QSVR.quantum_kernel + .. autoattribute:: QSVR.unused_param + + + + + + + .. rubric:: Methods + + + .. automethod:: QSVR.fit + .. automethod:: QSVR.get_metadata_routing + .. automethod:: QSVR.get_params + .. automethod:: QSVR.load + .. automethod:: QSVR.predict + .. automethod:: QSVR.save + .. automethod:: QSVR.score + .. automethod:: QSVR.set_fit_request + .. automethod:: QSVR.set_params + .. automethod:: QSVR.set_score_request + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.SerializableModelMixin.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.SerializableModelMixin.rst.txt new file mode 100644 index 000000000..4fd215188 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.SerializableModelMixin.rst.txt @@ -0,0 +1,28 @@ + + +SerializableModelMixin +========================================================= + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: SerializableModelMixin + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: SerializableModelMixin.load + .. automethod:: SerializableModelMixin.save + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.TrainableModel.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.TrainableModel.rst.txt new file mode 100644 index 000000000..122481342 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.TrainableModel.rst.txt @@ -0,0 +1,44 @@ + + +TrainableModel +================================================= + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: TrainableModel + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: TrainableModel.callback + .. autoattribute:: TrainableModel.fit_result + .. autoattribute:: TrainableModel.initial_point + .. autoattribute:: TrainableModel.loss + .. autoattribute:: TrainableModel.neural_network + .. autoattribute:: TrainableModel.optimizer + .. autoattribute:: TrainableModel.warm_start + .. autoattribute:: TrainableModel.weights + + + + + + + .. rubric:: Methods + + + .. automethod:: TrainableModel.fit + .. automethod:: TrainableModel.load + .. automethod:: TrainableModel.predict + .. automethod:: TrainableModel.save + .. automethod:: TrainableModel.score + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.VQC.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.VQC.rst.txt new file mode 100644 index 000000000..d2b5a746e --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.VQC.rst.txt @@ -0,0 +1,49 @@ + + +VQC +====================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: VQC + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: VQC.ansatz + .. autoattribute:: VQC.callback + .. autoattribute:: VQC.circuit + .. autoattribute:: VQC.feature_map + .. autoattribute:: VQC.fit_result + .. autoattribute:: VQC.initial_point + .. autoattribute:: VQC.loss + .. autoattribute:: VQC.neural_network + .. autoattribute:: VQC.num_classes + .. autoattribute:: VQC.num_qubits + .. autoattribute:: VQC.optimizer + .. autoattribute:: VQC.warm_start + .. autoattribute:: VQC.weights + + + + + + + .. rubric:: Methods + + + .. automethod:: VQC.fit + .. automethod:: VQC.load + .. automethod:: VQC.predict + .. automethod:: VQC.save + .. automethod:: VQC.score + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.algorithms.VQR.rst.txt b/_sources/stubs/qiskit_machine_learning.algorithms.VQR.rst.txt new file mode 100644 index 000000000..9369e3935 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.algorithms.VQR.rst.txt @@ -0,0 +1,47 @@ + + +VQR +====================================== + +.. currentmodule:: qiskit_machine_learning.algorithms + +.. autoclass:: VQR + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: VQR.ansatz + .. autoattribute:: VQR.callback + .. autoattribute:: VQR.feature_map + .. autoattribute:: VQR.fit_result + .. autoattribute:: VQR.initial_point + .. autoattribute:: VQR.loss + .. autoattribute:: VQR.neural_network + .. autoattribute:: VQR.num_qubits + .. autoattribute:: VQR.optimizer + .. autoattribute:: VQR.warm_start + .. autoattribute:: VQR.weights + + + + + + + .. rubric:: Methods + + + .. automethod:: VQR.fit + .. automethod:: VQR.load + .. automethod:: VQR.predict + .. automethod:: VQR.save + .. automethod:: VQR.score + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.circuit.library.QNNCircuit.rst.txt b/_sources/stubs/qiskit_machine_learning.circuit.library.QNNCircuit.rst.txt new file mode 100644 index 000000000..173cc2654 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.circuit.library.QNNCircuit.rst.txt @@ -0,0 +1,38 @@ + + +QNNCircuit +================================================== + +.. currentmodule:: qiskit_machine_learning.circuit.library + +.. autoclass:: QNNCircuit + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: QNNCircuit.ansatz + .. autoattribute:: QNNCircuit.feature_map + .. autoattribute:: QNNCircuit.input_parameters + .. autoattribute:: QNNCircuit.num_input_parameters + .. autoattribute:: QNNCircuit.num_qubits + .. autoattribute:: QNNCircuit.num_weight_parameters + .. autoattribute:: QNNCircuit.weight_parameters + + + + + + + .. rubric:: Methods + + + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.circuit.library.RawFeatureVector.rst.txt b/_sources/stubs/qiskit_machine_learning.circuit.library.RawFeatureVector.rst.txt new file mode 100644 index 000000000..a2bf5a30c --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.circuit.library.RawFeatureVector.rst.txt @@ -0,0 +1,33 @@ + + +RawFeatureVector +======================================================== + +.. currentmodule:: qiskit_machine_learning.circuit.library + +.. autoclass:: RawFeatureVector + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: RawFeatureVector.feature_dimension + .. autoattribute:: RawFeatureVector.num_qubits + + + + + + + .. rubric:: Methods + + + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.connectors.TorchConnector.rst.txt b/_sources/stubs/qiskit_machine_learning.connectors.TorchConnector.rst.txt new file mode 100644 index 000000000..a15b16b64 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.connectors.TorchConnector.rst.txt @@ -0,0 +1,35 @@ + + +TorchConnector +================================================= + +.. currentmodule:: qiskit_machine_learning.connectors + +.. autoclass:: TorchConnector + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: TorchConnector.neural_network + .. autoattribute:: TorchConnector.sparse + .. autoattribute:: TorchConnector.weight + + + + + + + .. rubric:: Methods + + + .. automethod:: TorchConnector.forward + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.datasets.ad_hoc_data.rst.txt b/_sources/stubs/qiskit_machine_learning.datasets.ad_hoc_data.rst.txt new file mode 100644 index 000000000..a4609b253 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.datasets.ad_hoc_data.rst.txt @@ -0,0 +1,8 @@ + + +ad_hoc_data +============================================ + +.. currentmodule:: qiskit_machine_learning.datasets + +.. autofunction:: ad_hoc_data \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.BaseKernel.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.BaseKernel.rst.txt new file mode 100644 index 000000000..0d1a4ac88 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.BaseKernel.rst.txt @@ -0,0 +1,35 @@ + + +BaseKernel +========================================== + +.. currentmodule:: qiskit_machine_learning.kernels + +.. autoclass:: BaseKernel + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: BaseKernel.enforce_psd + .. autoattribute:: BaseKernel.feature_map + .. autoattribute:: BaseKernel.num_features + + + + + + + .. rubric:: Methods + + + .. automethod:: BaseKernel.evaluate + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.FidelityQuantumKernel.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.FidelityQuantumKernel.rst.txt new file mode 100644 index 000000000..4e768dffb --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.FidelityQuantumKernel.rst.txt @@ -0,0 +1,37 @@ + + +FidelityQuantumKernel +===================================================== + +.. currentmodule:: qiskit_machine_learning.kernels + +.. autoclass:: FidelityQuantumKernel + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: FidelityQuantumKernel.enforce_psd + .. autoattribute:: FidelityQuantumKernel.evaluate_duplicates + .. autoattribute:: FidelityQuantumKernel.feature_map + .. autoattribute:: FidelityQuantumKernel.fidelity + .. autoattribute:: FidelityQuantumKernel.num_features + + + + + + + .. rubric:: Methods + + + .. automethod:: FidelityQuantumKernel.evaluate + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.FidelityStatevectorKernel.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.FidelityStatevectorKernel.rst.txt new file mode 100644 index 000000000..eb10d3e72 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.FidelityStatevectorKernel.rst.txt @@ -0,0 +1,36 @@ + + +FidelityStatevectorKernel +========================================================= + +.. currentmodule:: qiskit_machine_learning.kernels + +.. autoclass:: FidelityStatevectorKernel + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: FidelityStatevectorKernel.enforce_psd + .. autoattribute:: FidelityStatevectorKernel.feature_map + .. autoattribute:: FidelityStatevectorKernel.num_features + + + + + + + .. rubric:: Methods + + + .. automethod:: FidelityStatevectorKernel.clear_cache + .. automethod:: FidelityStatevectorKernel.evaluate + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.TrainableFidelityQuantumKernel.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.TrainableFidelityQuantumKernel.rst.txt new file mode 100644 index 000000000..b7c3c6f64 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.TrainableFidelityQuantumKernel.rst.txt @@ -0,0 +1,41 @@ + + +TrainableFidelityQuantumKernel +============================================================== + +.. currentmodule:: qiskit_machine_learning.kernels + +.. autoclass:: TrainableFidelityQuantumKernel + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: TrainableFidelityQuantumKernel.enforce_psd + .. autoattribute:: TrainableFidelityQuantumKernel.evaluate_duplicates + .. autoattribute:: TrainableFidelityQuantumKernel.feature_map + .. autoattribute:: TrainableFidelityQuantumKernel.fidelity + .. autoattribute:: TrainableFidelityQuantumKernel.num_features + .. autoattribute:: TrainableFidelityQuantumKernel.num_training_parameters + .. autoattribute:: TrainableFidelityQuantumKernel.parameter_values + .. autoattribute:: TrainableFidelityQuantumKernel.training_parameters + + + + + + + .. rubric:: Methods + + + .. automethod:: TrainableFidelityQuantumKernel.assign_training_parameters + .. automethod:: TrainableFidelityQuantumKernel.evaluate + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.TrainableFidelityStatevectorKernel.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.TrainableFidelityStatevectorKernel.rst.txt new file mode 100644 index 000000000..704950a25 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.TrainableFidelityStatevectorKernel.rst.txt @@ -0,0 +1,40 @@ + + +TrainableFidelityStatevectorKernel +================================================================== + +.. currentmodule:: qiskit_machine_learning.kernels + +.. autoclass:: TrainableFidelityStatevectorKernel + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: TrainableFidelityStatevectorKernel.enforce_psd + .. autoattribute:: TrainableFidelityStatevectorKernel.feature_map + .. autoattribute:: TrainableFidelityStatevectorKernel.num_features + .. autoattribute:: TrainableFidelityStatevectorKernel.num_training_parameters + .. autoattribute:: TrainableFidelityStatevectorKernel.parameter_values + .. autoattribute:: TrainableFidelityStatevectorKernel.training_parameters + + + + + + + .. rubric:: Methods + + + .. automethod:: TrainableFidelityStatevectorKernel.assign_training_parameters + .. automethod:: TrainableFidelityStatevectorKernel.clear_cache + .. automethod:: TrainableFidelityStatevectorKernel.evaluate + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.TrainableKernel.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.TrainableKernel.rst.txt new file mode 100644 index 000000000..6afa0985b --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.TrainableKernel.rst.txt @@ -0,0 +1,39 @@ + + +TrainableKernel +=============================================== + +.. currentmodule:: qiskit_machine_learning.kernels + +.. autoclass:: TrainableKernel + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: TrainableKernel.enforce_psd + .. autoattribute:: TrainableKernel.feature_map + .. autoattribute:: TrainableKernel.num_features + .. autoattribute:: TrainableKernel.num_training_parameters + .. autoattribute:: TrainableKernel.parameter_values + .. autoattribute:: TrainableKernel.training_parameters + + + + + + + .. rubric:: Methods + + + .. automethod:: TrainableKernel.assign_training_parameters + .. automethod:: TrainableKernel.evaluate + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.algorithms.QuantumKernelTrainer.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.algorithms.QuantumKernelTrainer.rst.txt new file mode 100644 index 000000000..e4c9f88e6 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.algorithms.QuantumKernelTrainer.rst.txt @@ -0,0 +1,36 @@ + + +QuantumKernelTrainer +=============================================================== + +.. currentmodule:: qiskit_machine_learning.kernels.algorithms + +.. autoclass:: QuantumKernelTrainer + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: QuantumKernelTrainer.initial_point + .. autoattribute:: QuantumKernelTrainer.loss + .. autoattribute:: QuantumKernelTrainer.optimizer + .. autoattribute:: QuantumKernelTrainer.quantum_kernel + + + + + + + .. rubric:: Methods + + + .. automethod:: QuantumKernelTrainer.fit + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.kernels.algorithms.QuantumKernelTrainerResult.rst.txt b/_sources/stubs/qiskit_machine_learning.kernels.algorithms.QuantumKernelTrainerResult.rst.txt new file mode 100644 index 000000000..00a9b308c --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.kernels.algorithms.QuantumKernelTrainerResult.rst.txt @@ -0,0 +1,40 @@ + + +QuantumKernelTrainerResult +===================================================================== + +.. currentmodule:: qiskit_machine_learning.kernels.algorithms + +.. autoclass:: QuantumKernelTrainerResult + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: QuantumKernelTrainerResult.optimal_circuit + .. autoattribute:: QuantumKernelTrainerResult.optimal_parameters + .. autoattribute:: QuantumKernelTrainerResult.optimal_point + .. autoattribute:: QuantumKernelTrainerResult.optimal_value + .. autoattribute:: QuantumKernelTrainerResult.optimizer_evals + .. autoattribute:: QuantumKernelTrainerResult.optimizer_result + .. autoattribute:: QuantumKernelTrainerResult.optimizer_time + .. autoattribute:: QuantumKernelTrainerResult.quantum_kernel + + + + + + + .. rubric:: Methods + + + .. automethod:: QuantumKernelTrainerResult.combine + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.neural_networks.EffectiveDimension.rst.txt b/_sources/stubs/qiskit_machine_learning.neural_networks.EffectiveDimension.rst.txt new file mode 100644 index 000000000..473121e52 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.neural_networks.EffectiveDimension.rst.txt @@ -0,0 +1,37 @@ + + +EffectiveDimension +========================================================== + +.. currentmodule:: qiskit_machine_learning.neural_networks + +.. autoclass:: EffectiveDimension + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: EffectiveDimension.input_samples + .. autoattribute:: EffectiveDimension.weight_samples + + + + + + + .. rubric:: Methods + + + .. automethod:: EffectiveDimension.get_effective_dimension + .. automethod:: EffectiveDimension.get_fisher_information + .. automethod:: EffectiveDimension.get_normalized_fisher + .. automethod:: EffectiveDimension.run_monte_carlo + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.neural_networks.EstimatorQNN.rst.txt b/_sources/stubs/qiskit_machine_learning.neural_networks.EstimatorQNN.rst.txt new file mode 100644 index 000000000..2dcb70423 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.neural_networks.EstimatorQNN.rst.txt @@ -0,0 +1,42 @@ + + +EstimatorQNN +==================================================== + +.. currentmodule:: qiskit_machine_learning.neural_networks + +.. autoclass:: EstimatorQNN + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: EstimatorQNN.circuit + .. autoattribute:: EstimatorQNN.input_gradients + .. autoattribute:: EstimatorQNN.input_params + .. autoattribute:: EstimatorQNN.num_inputs + .. autoattribute:: EstimatorQNN.num_weights + .. autoattribute:: EstimatorQNN.observables + .. autoattribute:: EstimatorQNN.output_shape + .. autoattribute:: EstimatorQNN.sparse + .. autoattribute:: EstimatorQNN.weight_params + + + + + + + .. rubric:: Methods + + + .. automethod:: EstimatorQNN.backward + .. automethod:: EstimatorQNN.forward + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.neural_networks.LocalEffectiveDimension.rst.txt b/_sources/stubs/qiskit_machine_learning.neural_networks.LocalEffectiveDimension.rst.txt new file mode 100644 index 000000000..b4797fd65 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.neural_networks.LocalEffectiveDimension.rst.txt @@ -0,0 +1,37 @@ + + +LocalEffectiveDimension +=============================================================== + +.. currentmodule:: qiskit_machine_learning.neural_networks + +.. autoclass:: LocalEffectiveDimension + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: LocalEffectiveDimension.input_samples + .. autoattribute:: LocalEffectiveDimension.weight_samples + + + + + + + .. rubric:: Methods + + + .. automethod:: LocalEffectiveDimension.get_effective_dimension + .. automethod:: LocalEffectiveDimension.get_fisher_information + .. automethod:: LocalEffectiveDimension.get_normalized_fisher + .. automethod:: LocalEffectiveDimension.run_monte_carlo + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.neural_networks.NeuralNetwork.rst.txt b/_sources/stubs/qiskit_machine_learning.neural_networks.NeuralNetwork.rst.txt new file mode 100644 index 000000000..133434dd1 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.neural_networks.NeuralNetwork.rst.txt @@ -0,0 +1,38 @@ + + +NeuralNetwork +===================================================== + +.. currentmodule:: qiskit_machine_learning.neural_networks + +.. autoclass:: NeuralNetwork + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: NeuralNetwork.input_gradients + .. autoattribute:: NeuralNetwork.num_inputs + .. autoattribute:: NeuralNetwork.num_weights + .. autoattribute:: NeuralNetwork.output_shape + .. autoattribute:: NeuralNetwork.sparse + + + + + + + .. rubric:: Methods + + + .. automethod:: NeuralNetwork.backward + .. automethod:: NeuralNetwork.forward + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.neural_networks.SamplerQNN.rst.txt b/_sources/stubs/qiskit_machine_learning.neural_networks.SamplerQNN.rst.txt new file mode 100644 index 000000000..ec92bf628 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.neural_networks.SamplerQNN.rst.txt @@ -0,0 +1,43 @@ + + +SamplerQNN +================================================== + +.. currentmodule:: qiskit_machine_learning.neural_networks + +.. autoclass:: SamplerQNN + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + .. rubric:: Attributes + + + .. autoattribute:: SamplerQNN.circuit + .. autoattribute:: SamplerQNN.input_gradients + .. autoattribute:: SamplerQNN.input_params + .. autoattribute:: SamplerQNN.interpret + .. autoattribute:: SamplerQNN.num_inputs + .. autoattribute:: SamplerQNN.num_weights + .. autoattribute:: SamplerQNN.output_shape + .. autoattribute:: SamplerQNN.sparse + .. autoattribute:: SamplerQNN.weight_params + + + + + + + .. rubric:: Methods + + + .. automethod:: SamplerQNN.backward + .. automethod:: SamplerQNN.forward + .. automethod:: SamplerQNN.set_interpret + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.utils.loss_functions.CrossEntropyLoss.rst.txt b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.CrossEntropyLoss.rst.txt new file mode 100644 index 000000000..2a604109f --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.CrossEntropyLoss.rst.txt @@ -0,0 +1,28 @@ + + +CrossEntropyLoss +============================================================= + +.. currentmodule:: qiskit_machine_learning.utils.loss_functions + +.. autoclass:: CrossEntropyLoss + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: CrossEntropyLoss.evaluate + .. automethod:: CrossEntropyLoss.gradient + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.utils.loss_functions.KernelLoss.rst.txt b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.KernelLoss.rst.txt new file mode 100644 index 000000000..83f566bec --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.KernelLoss.rst.txt @@ -0,0 +1,27 @@ + + +KernelLoss +======================================================= + +.. currentmodule:: qiskit_machine_learning.utils.loss_functions + +.. autoclass:: KernelLoss + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: KernelLoss.evaluate + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.utils.loss_functions.L1Loss.rst.txt b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.L1Loss.rst.txt new file mode 100644 index 000000000..ab47a068b --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.L1Loss.rst.txt @@ -0,0 +1,28 @@ + + +L1Loss +=================================================== + +.. currentmodule:: qiskit_machine_learning.utils.loss_functions + +.. autoclass:: L1Loss + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: L1Loss.evaluate + .. automethod:: L1Loss.gradient + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.utils.loss_functions.L2Loss.rst.txt b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.L2Loss.rst.txt new file mode 100644 index 000000000..3496e08d7 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.L2Loss.rst.txt @@ -0,0 +1,28 @@ + + +L2Loss +=================================================== + +.. currentmodule:: qiskit_machine_learning.utils.loss_functions + +.. autoclass:: L2Loss + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: L2Loss.evaluate + .. automethod:: L2Loss.gradient + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.utils.loss_functions.Loss.rst.txt b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.Loss.rst.txt new file mode 100644 index 000000000..f448bfc79 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.Loss.rst.txt @@ -0,0 +1,28 @@ + + +Loss +================================================= + +.. currentmodule:: qiskit_machine_learning.utils.loss_functions + +.. autoclass:: Loss + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: Loss.evaluate + .. automethod:: Loss.gradient + + + \ No newline at end of file diff --git a/_sources/stubs/qiskit_machine_learning.utils.loss_functions.SVCLoss.rst.txt b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.SVCLoss.rst.txt new file mode 100644 index 000000000..ee1585560 --- /dev/null +++ b/_sources/stubs/qiskit_machine_learning.utils.loss_functions.SVCLoss.rst.txt @@ -0,0 +1,27 @@ + + +SVCLoss +==================================================== + +.. currentmodule:: qiskit_machine_learning.utils.loss_functions + +.. autoclass:: SVCLoss + :show-inheritance: + :no-members: + :no-inherited-members: + :no-special-members: + + + + + + + + + .. rubric:: Methods + + + .. automethod:: SVCLoss.evaluate + + + \ No newline at end of file diff --git a/_sources/tutorials/01_neural_networks.ipynb.txt b/_sources/tutorials/01_neural_networks.ipynb.txt new file mode 100644 index 000000000..fa1784819 --- /dev/null +++ b/_sources/tutorials/01_neural_networks.ipynb.txt @@ -0,0 +1,1078 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "brilliant-cross", + "metadata": {}, + "source": [ + "# Quantum Neural Networks\n", + "\n", + "## Overview\n", + "This notebook demonstrates different quantum neural network (QNN) implementations provided in `qiskit-machine-learning`, and how they can be integrated into basic quantum machine learning (QML) workflows.\n", + "\n", + "The tutorial is structured as follows:\n", + "\n", + "1. [Introduction](#1.-Introduction)\n", + "2. [How to Instantiate QNNs](#2.-How-to-Instantiate-QNNs)\n", + "3. [How to Run a Forward Pass](#3.-How-to-Run-a-Forward-Pass)\n", + "4. [How to Run a Backward Pass](#4.-How-to-Run-a-Backward-Pass)\n", + "5. [Advanced Functionality](#5.-Advanced-Functionality)\n", + "6. [Conclusion](#6.-Conclusion)" + ] + }, + { + "attachments": { + "new_qnn-3.jpg": { + "image/jpeg": "/9j/4AAQSkZJRgABAQABSgFKAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAAFKAAAAAQAAAUoAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAC2ygAwAEAAAAAQAABh8AAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIBh8LbAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAICAgICAgMCAgMFAwMDBQYFBQUFBggGBgYGBggKCAgICAgICgoKCgoKCgoMDAwMDAwODg4ODg8PDw8PDw8PDw//2wBDAQICAgQEBAcEBAcQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/3QAEALf/2gAMAwEAAhEDEQA/AP38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//R/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9P9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//U/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/1f38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAorA1jxT4b8Pj/idanb2Z7LJIqufovU/gK5F/jJ8NEk8ttcjJ9o5SPzCYrppYKtNXhBteSZlPEU4u0pJfM9NorktJ8e+DNclEGl6zbTynonmBXP0VsE/gK62sqlKcHaas/MuE4yV4u4UUUVmUFFZmoa1o2klF1W/t7Iy5KCaVI92OuNxGcZrO/wCEy8If9Byx/wDAmL/4qtY0ZtXUWQ6kVo2dJRWdp+saRqwkOlX0F6Isb/JlWTbnpnaTjOOK0azlFp2ZSaeqCiisq/13Q9KkWHVNRt7ORxuVZpUjJHTIDEcU4xbdkgbS3NWiub/4TLwh/wBByx/8CYv/AIqugiliniSeBxJHIAyspyrKeQQRwQRTnSlH4lYUZp7MkoqreX1lp1u13qFxHawLgGSVwiDJwMsxA5NYv/CZeEP+g5Y/+BMX/wAVTjSlJXirg5pbs6SisWz8S+HNQuFtNP1W0uZ3ztjinjdzgZOFViTgc1tVMoOLtJWGpJ7BRRVO+1HT9Mg+06ldRWkOQu+Z1jXJ6DLEDNJJt2QN2LlFc3/wmXhD/oOWP/gTF/8AFVr2OpadqkJudMuoruEEqXhdZF3DqMqSM81cqM4q7TEpxezLtFFFZlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/1v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAI5poreJ553EccalmZjgKoGSSewAr40+JHx11PVbmXSfBkzWWnrlWuVG2ab3UnlF9MYY98dK7r9ofxpNpum23hHT5dkuoqZbnHUQA4Vfo7A59lx0NfHFfe8MZFCUFiayvfZfqfN5vmMlL2VN27j5JHldpJWLu5JLE5JJ7k0yvRfAHwz174gXDmx221jAQstzICVB67VA+82OccY7kZFfQkP7NPhtYAtxq9282OWVY1XP+6Qx/8AHq+jxme4XDy5Kktey1PJoZdWqrmitD42r1vwF8YPEvg2aG1uZW1DSVIDW8hyyL/0yY8rjsPu+3etL4g/BPW/Blo+sWE41TTY/wDWMqbJYh6suSCv+0D9QBXiVbxlhsbS0tKP9fcyGquHn2Z+oega/pfibSYNa0ebzrW4GVPQgjgqw7EHgitmviH4BeM5tF8SjwzdS/6BqxIUHolwB8pH+8BtPqdvpX29X5bnOWvC13T6br0PsMBi1WpqXXqfI/7Tf/H74f8A+udx/OOvluvqT9pv/j98P/8AXO4/nHXy3X6Pw3/uVP5/mz5XNv8AeJfL8j0b4XeNpPA/iqC/lY/YLnEN0o/55sfvY9UPI9sjvX6JxyJLGssTB0cAqwOQQehBr8pq+1vgD45/trRG8KahJm90pQYSTy9tnAH/AGzPH0K+9eLxdlfNFYmC1Wj9O56GR4yz9jLrsfQ1fFH7SX/I7WH/AGD4/wD0dLX2vXxR+0l/yO1h/wBg+P8A9HS14XCf++L0Z6OdfwH6o+eq/Tjwb/yKGh/9eNt/6KWvzHr9OPBv/IoaH/1423/opa93jX+HT9Wedw/8Ujgvjv8A8k01H/rpb/8Ao1a+BK++/jv/AMk01H/rpb/+jVr4Err4O/3V/wCJ/kjDPf4y9P8AM0NJ1S90TU7bV9Ok8u5tJFkjb3U559QehHcV+lHhHxLZeLvD1nr9jwtynzpnJjkHDofofzHPevzHr3/4CeOf7A18+GdQk22OrMBGSeEuein/AIGPlPvtrTijK/b0faxXvR/Lr/mTk+M9nU5JbP8AM+3a+f8A9pD/AJEWz/7CEX/oqWvoCvn/APaQ/wCRFs/+whF/6Klr4TIv98p+p9HmP8CfofEdfcP7Of8AyIU//X9L/wCgR18PV9w/s5/8iFP/ANf0v/oEdfd8W/7p80fOZJ/H+R73RRRX5cfYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//X/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/Or4t6udZ+Ies3AbckE32dPQCACM4+pBP415xWtr832nXdRuOvm3Mz/APfTk1UsFD31urdDIgP5iv2/C01ToxiuiX5H57Wlz1G+7P0o8FeHoPC3hfTtEgQK0ES+YcY3SsMux+rE/wAq6miivxSrUc5Oct2foEIKKUV0I5oYriGS3uEEkUqlXVhkMrDBBHcEV+ZvjLRF8N+KtU0NM+XaTuseevl5ymf+AkV+m1fnv8bFC/E/WwvrAfzgjNfXcGVWq84dGr/c1/meHn8F7OMvM80s7qaxu4L63O2W3dZEPoyHIP5iv1I0+9i1GwttQg5iuoklX/ddQw/Q1+V1fpT8OpvtHgLw/J6WNuv/AHwgX+ld/GtJclOfm0c3D8/elE+ev2m/+P3w/wD9c7j+cdfLdfUn7Tf/AB++H/8Arncfzjr5br2+G/8Acqfz/Nnn5t/vEvl+RYuLS4tDGLiMp5qLImf4kYZBFbHhbxFfeFNfs9e08/vLVwSucB0PDIfZhkfrXtHjHwh/aPwg8M+LbRMz6bAIp8dTA7nB/wCAOfyYntXzvXbhcRDE05Jrq01+Bz1qUqUk15NH6k6Lq9jr+lWus6a/mW15GJEPfB7H0IPBHY18d/tJf8jtYf8AYPj/APR0tbn7PHjdre7l8EX7/urjdNaEn7sgGXQf7wG4e4PrWH+0l/yO1h/2D4//AEdLXxuU5e8NmfsntZ29D3sbiVWwnP6Hz1X6ceDf+RQ0P/rxtv8A0UtfmPX6ceDf+RQ0P/rxtv8A0UtdfGv8On6sx4f+KRwXx3/5JpqP/XS3/wDRq18CV99/Hf8A5JpqP/XS3/8ARq18CV18Hf7q/wDE/wAkYZ7/ABl6f5lj7JcfZBfeWfILmPf23gZx+VQqzIwdCVZTkEcEEdxX0J8MPCS+M/ht4n0hVBulnimtie00aEqPbdyp9jXz26NG7RuCrKSCDwQR2Ne9hsZGpOpT6xf5q55tWg4xjPoz9DvhT43Xxv4Vhup3B1CzxDdDuXA4f6OOfrkdq4v9pD/kRbP/ALCEX/oqWvm74U+Nn8E+K4LqZyNPvMQXQ7BGPD/VDz9MjvX0h+0cQ3gSyZTkHUIiCP8ArlLXxFTLPq2Z0+X4ZO6/VfI+hhjPa4SV90tT4kr7h/Zz/wCRCn/6/pf/AECOvh6vuH9nP/kQp/8Ar+l/9Ajr3eLf90+aPOyT+P8AI97ooor8uPsAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD8uvEEJtte1K3IwYrmZMf7rkVRsnWO8gkbosik/QEV6J8YNGk0b4h6vGy7Uu5PtSHswmG4kf8C3D8K8yr9vwlRVKMZrqkfntaDhUcezP1corifh54ot/F3hKw1aJw0wjWK4GeVmQAOD9eo9iK7avxWtRlTm4S3R9/TmpRUl1Cvz2+NbiT4na2y9AYB+UEYNff99fWmmWc+oX0oht7ZGkkduiqoyTX5l+KNafxF4i1HXHBX7bO8iqeqqT8o/AYFfXcGUZOtOp0St97/wCAeHn9RezjHrcwa/Sr4dwm38B+H4yMH7Dbtj/eQN/Wvzh06xuNUv7bTbRd093IkUY9WchR+pr9R7O1jsbOCyh4jt41jX6IMD+VdvGtVclOn6sw4fh70pHyh+03/wAfvh//AK53H846+W6+pP2m/wDj98P/APXO4/nHXy3XucN/7lT+f5s87Nv94l8vyP0O+G1ja6n8LNJ06+jEtvdWbRyKejK5YEflXw7428K3fgzxJd6DdZZYm3Quf+WkTco35cH0IIr7t+E//JOtB/69x/6Ea5D46eBv+Em8N/23YR7tR0gM/A5kg6uvuV+8PoQOtfKZRmnsMdUhJ+7KT+++jPaxuD9phoyW6S/I+I9M1G70fUbbVbB/LuLSRZY29GQ5Gfb1r1v4269aeJ9X0LXrL/VXmlRPjOdredKGU+6sCD9K8WqR5ZJFRHYssY2qCeFBJOB+JJr7yphIyqwrdVf7mfNwrtQlT6Mjr9OPBv8AyKGh/wDXjbf+ilr8x6/Tjwb/AMihof8A14Wv/opa+U41/h0/VntcP/FI4L47/wDJNNR/66W//o1a+BK++/jv/wAk01H/AK6W/wD6NWvgSuvg7/dX/if5Iwz3+MvT/M+wv2Z/+QLrX/XxF/6Aa81+PHgc+HfEf/CQWMeLDWGZzjolx1df+BfeH4+lelfsz/8AIF1r/r4i/wDQDXuPjPwtZ+MfDl5oN3hfPXMbkZ8uVeUf8D19Rkd68SvmTwuaTm/hdk/Sy/I9ClhPbYOMevQ/Myvd/EHi/wD4Sf4KafZXL7r3SNRht5M9Wj8mXym/FRt9ypNeK6lp15pOoXGmX8ZiubWRo5FPZlOD/wDWNVhLIsTQhiI3IZlzwSucEj2yfzr7rEYaNbkn/K7o+cpVnDmj3ViOvuH9nP8A5EKf/r+l/wDQI6+Hq+4f2c/+RCn/AOv+X/0XHXicW/7p80ejkn8f5HvdFFFflx9gFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//R/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+efj/4Hl1zRovFGnRmS70pSsqqMlrcnJP8AwA8/Qse1fFNfq4QCMHkGvlP4k/ASWe4l1vwMq/vCXksiQoBPJMROBj/ZJGOx6AfccNZ9CnH6vXdl0f6M+dzbLZSftaa9UfP3g/xz4i8D3zXmhThVkwJYXG6KUDpuXjp2III9ete7w/tN3awBbjw+jzY5Zbkquf8AdMbH/wAer5o1HS9S0i5az1W1ltJ16pKhRuPYgVQr6zFZThcQ+epBN9/+GPFo42tSXLGVj0/xz8WfFHjqP7FeMlnp4IP2eDIViOhdiSWx6cDvjPNeYVLBBPcyrBbRtLK5wqoCzE+wHNe8eA/gR4g16aK/8To2lacDko3FxIPQKR8gPq3PoDVVKuGwVKztFdv63FGFbET7sv8A7P3gaXVNaPi+/jIs9OJEGRxJORjI9Qg5+pHoa+0KoaZplho2nwaXpkK29rbKEjRegA/me5J5J5NX6/LM3zKWKrOo9unofZYHCKjTUEfI/wC03/x++H/+udx/OOvluvqX9psH7Z4fPby7n+cdfLVfpPDf+5U/n+bPk82/3iXy/JH6M/Cf/knWg/8AXuP/AEI16GQCMGvPPhQCPh1oOf8An3H/AKEa9Dr8vzD/AHip6v8AM+wwv8KPoj8+vjB4GPgvxTIbSPbpuo7prfHRefnj/wCAE8f7JFeUV+jnxL8FxeOPC1xpagC8i/fWrnjEqjgZ9GHyn657V+c80MtvK8E6GOSNirKwwVYHBBHqDX6Zw5mn1ihaT96Oj/RnyWa4P2VS62ZHX6ceDP8AkT9C/wCvC1/9FLX5j1+nHgz/AJE/Qv8Arwtf/RS15XGv8On6s7eH/ikcF8d/+Saaj/10t/8A0atfAlffnx3BPw01HHaS3/8ARq18B11cHf7q/wDE/wAkYZ7/ABl6f5n2F+zP/wAgXWv+viL/ANANfTVfMv7M4P8AYmtH/p4j/wDQDX01XxvEX++1Pl+SPeyr/d4/11PlH9ofwN/qvHOnR/3YbwAfhHIf/QD/AMB96+Ua/U/UtOs9X0+40vUIxLbXUbRyKe6sMH/6xr82fGfha88HeI7zQbzLeQ2Y3xjzIm5Rx9R19Dkdq+u4TzT2lP6vN6x29P8AgHiZ1g+WftY7P8zlq+4f2c/+RCuP+v8Al/8ARcdfD1fcP7Of/IhXH/X/AC/+i466eLf9z+aMsk/j/I97ooor8tPsAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//S/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOF+Jlml74C11DGJGS0mkXIzgopbI9+K/N2v1XuIIbqCS2uFDxTKUdT0KsMEfiK/PH4hfDXXPA2ozGWF5tLdz5FyoypU9A+PusOhB69sivu+DsbBKdCTs3qvM+cz7DyfLUS0Nj4Q/ELRvh/e6jdaxbzzi8jjRPIVGI2kk53MvByOlfSnhf44+FvFeu2vh+ws7yK4uywRpUjCAqpY5KyMeg9K+Cq9Q+DH/JTNE/35f8A0S9eznOSUKkamIknzWfXsjgy/MKkXGktr/mz9DKKKK/Kz7IKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9P9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKQgMCrDIPUGlooA52fwh4TuZGludFspXf7zPbRMT9SV5p1n4T8Ladcpeafo1lbXEedkkVvGjrkYOGVQRwcV0FFbfWKlrcz+8j2cd7BRRRWJYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//U/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/1f38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA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vm8rQNPkuVBw0v3Yl/3nbCg+2c+gr6V8K/s4adbrHc+L75rqUcm3tiUi+hcjew+gX619LW1rbWUCWtnEkEMQ2okahVUegA4AqevlcfxXiKulL3V+P3/5Hs4bJaUNZ6v8DE0Pw3oPhq2+y6DYRWUZ+95a4Zv95vvMfck1t0UV8zOcpPmk7s9eMUlZBRRRUjCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK13Z2moW0lnfQpcQSgq8cihlYHqCDwa8S8UfADwfrKtLopbRrkknMeZIifeNjwP90ivdqK68Ljq1B3pSa/rsY1sNTqK01c/PHxb8I/GnhHfPc2v2yzXn7RbZdQMn7y4DL6nIx715rFNLbypPA7RyRkMrKSGBHQgjkGv1Yrybxn8G/CHi8vdCH+zb9ufPtwBuJ7un3W+vB96+xy/jBP3cTH5r9V/XoeDisi60X8mfPfgv4/eI9DKWfiVTrFmON5IFwg/wB/o/8AwLk/3q+tfC/jPw54xtPteg3iz7QC8Z+WWPP95DyPr0PY18LeNvhV4q8Es091AbvTx0uoQWQc4+cdUP149Ca4HTtS1DSLyO/0y4e1uYjlZI2KsPxFd+LyDC4uHtcM0m+23zXQ5qGZ1qEuSqr+u5+p9FfLvgH9oKG5MWl+OFEMp4F4gwhP/TRB936rx7Cvpy3ube8gjurSVZoZQGR0YMrA9CCOCK+Cx+W1sNLlqr59GfSYbF06qvBk1FFFcJ0hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9D9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK5Xxd4x0PwVpb6prU4Tg+VECDJMw/hRe/UZPQdSRWlKlKclCCu2TOaiuaT0N7UNQsdJsptR1KdLa2gXc8jnCqPc/oPU8V8c/Eb476hrZl0jwez2Fhkq9x92aYf7PeNT/30R1xyK818e/EfXvH16JNQbyLKJi0Fqh+SPIxknALN7n1OAAcVkeEvBuu+NdTGmaHBvIwZJW4iiU/xO3b2HJPYGv0LKuHKWHj7fFNXX3L/Nny+MzWdV+zo7fizm4YZrmZLe3jaWWQhVRAWZiegAHJJr6W+H/7P15fCLVfG5a1tyAy2aHErA9PMYfcH+yPm7Haa9w+H3wp8P8AgOFblFF7qpGHunXkZ4IjXnYMHB7nuccV6jXnZvxXKV6eF0Xfr8u35+h1YHJUveravsZ+l6TpmiWUem6RbR2ltEPljjUKPcnHUnuTyeprQoor4uUm3d7nvpJKyCiiikMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGuiSI0cihlYEEEZBB6givn3x/wDAbR9dEmpeFNmmX5yWiORbyn6DOw+449u9fQlFdmDx9XDz56UrGFfDQqrlmrn5ea74e1rw1fNpuuWklnOvIDjhh6qejD3BIrs/APxS8Q+BJxFAxvNNZsyWsjHb7lDzsb3Awe4NfdvifwnoPi/T203XbVZ4zyrdJIz6o3UH+ffiviL4jfCPW/ArvfwZv9ILYWdR80eeglUdPTd0J9CQK/QMvzvD46HsMQkpPp0fp5/ifM4nL6uHftKT0/rc+0vB/jbQPG+nf2hok+5kwJYW4liY9mX0PYjg9uhrrq/LvQtf1fw1qUWraJcta3MR4ZehHcMDwwPcGvuX4ZfFnS/HcK6fd7bPWY1y0OcLKAOWiz19SvUe45r5vO+HJ4e9SlrD8V/Xc9XL81jV9yekvzPX6KKK+XPYCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9H9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorz74i/EDTvAOiPeTFZb+cFbW3J5d/Ugc7F6sfwByRW1ChOrNU4K7ZFSpGEXKT0RJ8QPiBpPgHSTe3pE13MCLe3Bw0jDufRR/E34ckgH4C8T+Ktb8Yao+r67cGeYjaoA2pGnZEUdAPzPUknJqrr2v6v4m1KTVtbuWurmXgs3RVHRVA4VR2A4r2H4SfCCXxe6694hRodFQnYoJV7lhxhT1CA9WHXoO5H6VgcBQy2i61Z+93/AER8liMTUxdTkp7f1qzn/hr8KdW8eXIurjfZaPH9+4K8yEHGyLPDHI5PRe/OAfunQPD2j+F9Mj0jQ7Zba2jJO0ZJZj1ZmPJJ9T9OgFaVpaWthaxWVlEsEEChERBtVVXgAAdqsV8Rm+dVcXLXSPRf5+Z9DgcvhRWmr7hRRRXjHeFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUc0MVxE8E6LJHICrKwBVgeoIPBFSUUJgfIXxS+BzWKy+IPBMLSQDLTWa5Zk9TEOpH+z1Hbjivma3uJ7SeO6tZGhmhYOjoSrKynIII6EV+q1fN/xZ+C8WtCbxH4ShWPUOXmt14WfjkqOgf2/iPvzX3WRcTbUMU/R/5/5nzmY5T/y8o/d/kXvhJ8Yo/FHl+HfEjrFqoGIpei3AA6egf279ua+gq/Kgia2mIIaKWJvdWVlP5gg19l/Bv4u/8JCkfhbxPMBqcYxbzscfaFH8Lf8ATQev8Q9+uXEPDvJfEYde71XbzXl+XoXlea81qdXfoz6Mooor4o+gCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKydd1zTfDmk3OtatKIba1Usx4yfRVBxlmPAHc1UIOTUYrVik0ldmH458baT4F0V9U1JwZXBW3hH35pMdAPQfxHsPcgH88vEfiPVvFerTa1rUxmuJj9FRR0RB2Udh+JySTWv478b6p461yTVb9ikCkrbwZysMeeAOmSf4j3PsAB2Pwi+GE3jjUTqOpBotGsmHmHH+vcc+Wp6Y/vnsMDqcj9NyzL6WXUHXr/F1/yR8jjMVPFVFTp7f1qa3wi+EUviyWPxD4hjaPRo2yiHKtdMD0HcRg/ebv0Hcj7dhhit4kgt0WOKNQqIoCqqgYAAHAAHQUQwxW8SQW6LHFGoVEUBVVQMAADgADoKkr4TNc1qYupzS26LsfR4LBRox5Y79WFFFFeWdgUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfPPxg+EMfiOOXxN4bjEeqxgtNEOBcAdx6SD/wAe7818XAzW0wILRSxN7qysp/MEGv1Xr5h+Nvwo+3Ry+MfDUP8ApMY3XcCD/WKP+WiAD7w/iHcc9Rz9vw3n/LbDV3p0f6Hz2a5Ze9Wmtep0/wAHPioni61Xw/rcgGsWyfKx4+0oo5Yf7Y/iHccjvj3evytsb27028hv7CVoLi3YPG6nDKy8giv0G+GHxCtfHuhLNIRFqdrhLmIcc9nX/Zb9DkehPNxLkXsX7ekvde67P/I2ynMfaL2c9/zPTKKKK+RPbCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/T/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBCQASTgCvhD4zfEh/GGstpGlzH+xtPYqm0/LPKODIcHBHZPbnvgex/Hr4iNotgPB+jy4vb9M3LqeYoDxt9jJ+i/7wNfHunadeatfwaZp0RnublxHGi9SzcD/657V99wtlCjH63V+X+Z81nOObfsIfP/I634feB7/x5r8el2+Y7WPD3M2OI48884I3N0UHqfYGv0R0jSbDQtMttI0uIQ2togSNB2A9T3J6knknmuX+H3gmz8CeHYdJgw9y+JLmUf8ALSUjnBwDtHRR6e5NdzXgZ/nDxVW0fgW3+Z6WWYBUYXfxP+rBRRRXgHphRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFIQCCCMg0tFAHxT8b/AIZf8I9ev4r0OEjTLph56KOIJWPUY6I5/JjjuBXkHhDxVqfg3XbfXNLfDxHEiH7ssZ+8jDuD+hwRyK/Sq/sbTU7KfT7+JZre4QpIjDIZWGCK/Oz4j+CLnwL4km0xgzWcuZLWQ/xxE8AnpuXofzwMiv0fhzNViabwtfV2+9Hyua4J0pqtT2/Jn6B+Hdf0/wAT6Laa5pjboLpAwB6qf4lb3U8H9OK26+Fvgl8RW8KayNC1OTGk6k4BLHCwzHgPz0B4Dfge1fdNfHZzlcsLWcPsvb0PdwGMVanzdeoUUUV5J2hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/U/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACub8XeJrLwh4evNfvvmS2X5EzgySHhEH1P5DJ7V0lfEPx88bjX/EA8NWMhNlo7MsmOj3PR+P8AY+6Pfd2NetkuWvFV1DotX6f8E4sfi/Y03Lr0PFNZ1e/1/VbrWdTk826u3Mjt0GT2A7ADgDsK+sf2f/AH9n2J8bapFi5vFK2gbqkJ4Z8di/QH+77NXgXwu8EyeOPFUFjIp+wWuJrpuQPLUj5Mju54HfGT2r9Eooo4I0hhQRxxgKqqMBQOAAB0Ar6zirM1TgsJS0vv5Lt/XQ8XJsJzy9tP5eo+iiivz0+nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArz74leB7fx14am07AW9hzJayH+GQdif7rDg/n2r0GitqFeVKaqQdmiKlNTi4y2Z+VVzbT2dzLZ3SGKaB2jdG6qynBB9wa+5vgh4+bxX4f/ALH1F92paUqozHrLD0R/qPut+B6njzT9obwKLa5j8b6bFiOciK8CjgP0SQ/7w+U+4HcmvCPBPim68G+JbPXrUkrC22VAceZE3DqfqOnoQD2r9LxVOGZYJTh8XTyfVfP/ACZ8lRnLCYjllt+nc/TGiqenX9rqthb6nYuJLe6jWWNh3VxkVcr8vaadmfXp31QUUUUhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA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E8H6N4w8baRqGsw63fGwhi08Rb1cRNKWcyugxhccZOTQB9WUV+df7L//AAUp+DP7UXxIPwu8PaRqnh3WZbSW6tf7S8gJdGDBkijMUrnzAmZMEcqrHPHP6KUAFFFfL/7Vf7WHw7/ZI8D2HjPx7Bc6i+rXgs7OxsfLNzMwUvI4EjIoSNR8zE8FlHVhQB9QUV+dX7Lv/BSL4XftU/E1vhd4Q8L6zpF+tjPf+fffZ/J2QMisv7qV23HeMcYr9FaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKzdY1rR/DumXOt+IL6DTNOs03z3N1KsMMSD+J5HIVR7k1h+E/iB4D8exXM3gbxJpviKOzKrO2m3kN2sTPkqHMLNtJwcZ64NAHXUUUUAFFFFABRRRQBm6zpNlrulXWj6gm+3vI2jcezDqPQjqD2Nfmn4n0C88L69e6FfA+ZaSFQ2Mb16qw9mGDX6fV8wftF+D1nsLfxnaqBJalYLj1MbnCN+DHH419XwpmPsq3sZPSX5/8HY8bOsLz0+dbr8iT9nbxn9s0+48GXz/AL2yzNa5PLRMfnUf7rHI9m9BX03X5i+EvENx4V8SWGv233rSUMw/vRn5XX8VJFfphZXkGoWVvf2rb4bmNJUPqrgMD+RqeK8v9lX9rHaX59f8x5LiuenyPdfkWqKKK+WPYCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/1v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuY8Z+Io/CnhfUdfcAtaRExqejSt8sYPsWIz7V09fKn7SfiQqmmeE4GxuzdzD2GUjH57yR7CvSyjBfWMRCn06+iOTHYj2VKUz5TmmluZpLidi8krFmY9Sz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KujowIZWBIIIwRwauUUAfMnwy/Y2/Zo+DfjKL4gfDHwPB4f1+FJYluYLm7OI5xtkTy3maMqR2K4BwRggEfTdFFABRRRQAV4N8Y/2ZPgb+0DdabefGHwuniWTR0kjtBNc3USQrKQX2pDKi5baMsRkgAZwBXvNFAHHeAPh94K+FnhOw8C/D3R7fQtB0tClvaWy7UQE7mJJJZmYklmYlmJJJJOa7GiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/Gn9v3/gmVrH7QHjW5+NfwV1C0svFN/FEmqabfMYoL14EEaTQzKGEcuxVVlYBGwG3K27d8P6B4J/4LD/BXTYPCfhqLxGNNsF8q3ijuLDWIY416LGXe42qB91RjA4AHSv6dqKAP5nLmw/4LPfEOF9HnbxPbR3ClGZZdP0Y7T1/fIbcqfcMDXtv7K3/AASR8YWvj2x+KX7VOq212LO5W+Gi28xvZby5VxIDf3DDYU38uiF/M6FwMg/vtRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeB/tDfs0/Cf9p/wbH4L+Kumtcw2sontLu2cQ3tnJxuaCUq20OBtdSCrDGRkKRmfs2fsweBf2WfDGo+Dvh1qusXuj6hcC6Ftql0lylvLja5gCRRhPM4LjnJUHg5z9H0UAFFFFABRRRQB8UftIfsH/CP9qfxXZeK/inrXiF20y3+zWlnZ3sUNnbqTl2jiaB8PIcF2JJbCjoqgfT/w4+HHgr4SeCtL+Hvw90uLRtB0eIRW9vEOAOrO7H5nd2JZ3YlmYkkkmu4ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4L4oaZ/a3w/120C7mW2aVRx1h/eDrn+7Xe1XuoFurWa1flZkZD9GGK2w9XkqRmujTIqw5ouPc/Kuv068Iaj/a3hXSNTzk3NpC7f7xQbh26HNfmTLE8ErwyDDxsVI9wcGv0B+CN4Lz4aaTzloPOibp/DK2On+yRX6BxnSvQhPs/wA1/wAA+YyGdqko+R6vRRRX5yfVBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//S/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArnfF9wbTwnrV2OsNlcv/AN8xMa6KuC+KNwbb4e6/IO9q6f8Affy/1rowkOarCPdr8zKtK0JPyPzgr9JPhparZ+APD8KgANZwycccyrvP/oVfm3X6heG7cWvh3S7Uf8sbWBP++YwK+740n+6px83/AF+J85kEffk/I2qKKK/PD6gKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/Mrxraiy8Y65aKMLFfXKr/uiRsfpX1p+zjded4Iu7c9YL6QD/AHWjjP8APNfNHxZt/s3xG16PG3Nxv/7+KH/XNe+fszXBbR9btd3Ec8T49N6kZ/HbX6Xn3v5ap/4X/X3nyWW+7i3H1PpyiiivzQ+tCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//T/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArzL4yPs+GmuHOP3cY/OVBXpteW/Gr/kmOt/7sP8A6Pjruyxf7TS/xL8znxf8Kfo/yPz1r9UrFPLsreMjG2NBj0wBX5W1+q9v/qI/90fyr6/jZ6Uvn+h4XD/2/l+pLRRRXwR9KFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfnv8a1KfE7WwfWA/nBGa9d/ZiYGPxGncG0P5+b/AIV5T8clA+J2rkdxbk/9+IxXp/7MbHzfEa9itofyMtfpeY65Qv8ADH9D5LC6Y5+r/U+sqKKK/ND60KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//U/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAry341f8AJMdb/wB2H/0fHXqVeW/Gr/kmOt/7sP8A6Pjruyz/AHml/iX5nPi/4U/R/kfnrX6r2/8AqI/90fyr8qK/Ve3/ANRH/uj+VfX8bbUvn+h4fD/2/l+pLRRRXwR9IFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFISAMk4FZk2t6NbnbPf28Z9GlUH8iaANSisI+J/DoOP7Sg/wC/i0n/AAlHh3/oJQf9/BQOxvUVg/8ACUeHf+glB/38FH/CUeHf+glB/wB/BQFjeorB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V+aH1gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//1v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBXu7u1sLWW9vZVgggUu7udqqq8kkntXxD8UfjLf8Ai15dF0BntNHVmUsCVkuRjHz+iHnC9/4ueBpfHH4mvr19J4R0WX/iWWjAXDr0nmQ9Ae6Ienq3PIANfO9fovDnD6hFYiuveey7f8H8j5bNczcm6VN6dQooor7M8AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK6Xwt4s1vwdqiarok5icEb0OTHKoP3XXuP1HUYNc1RUVKcZxcZK6ZUJuLvF6n6O/D74g6T4+0r7VafubyDAuICeUbHUeqnsfwNd/X5h+F/E2q+EtZg1vSJNk0J5U8q6H7ysO4I/LqOa/Rrwr4m03xfodvrultmKcYZT96Nx95G9wfz696/LuIMkeFnzw+B/h5f5H2OWZh7aPLL4kdFRRRXzZ6oUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVha9r9noNr50/zyvxHGDgsf1wB3NZ1asYRc5uyRpRoyqSUIK7ZoX+o2emW7XV9KIo19epPoAOSa8k1vx7f3haDSs2sHTf/AMtGH1/h/Dn3rk9W1e91m6a6vHz12qPuoPRR/nPesuviMxz+pUbjS0j+LPvcs4ep0kpVfel+CHySPK5klYu7ckk5JPuaZRRXzzZ9GkFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAauma3qejvvsJygPVDyh+qnj+tet6B43sdUK218Ba3J4HPyMfYnp9D+deH0dORXpYHNatB+67rseXj8oo4he8rPuv61PqiivIPCnjOS2ZNO1dy8J4SUnJT2PqP5V68CGAZTkHkEV97gcfDEQ5ofNdj89x+X1MPPln8n3FooortOEKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKa7pGjSSMFVQSSTgADqTTq8l+I/iRoR/wAI/ZvhnAM5HUA8hPxHJ9setA0jl/Gvi59buDYWDkWER+nmMO59vQfifbgaKKCwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACtvQdevdAvRdWrZU8Oh+66+h/xrEooA+rtJ1W01mxjv7JtyP1HdWHVT7itKvnLwX4jfQtSWKZv9DuSFkH909A34d/avowEEAg5BoIaFooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB+f/AMc/+Snar/u2/wD6ISvTf2Y/9f4i/wB21/nLXmXxz/5Kdqv+7b/+iEr039mP/X+Iv921/nLX6Xj/APkTr/DH9D5PDf78/V/qfWdFFFfmh9YFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A1Ef+6P5V9fxttS+f6Hh8P/b+X6ktFFFfBH0gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5H8ZvGz+DvCbpZPt1HUy0EBBwUGP3kg/wB0HA9GINeuV8A/G/xI3iDx7eQRsTb6V/oiD/aQ/vDj/fyPoB9K97h3L1iMSlLZas83NcT7Kk7bvQ8hooor9aPiQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvdfgT43fw74lGgXcmNP1dgvJ4ScDCN7bvun8PSvCqfHI8TrLGSroQQR1BHQ1y47CRr0pUp7M2w9d05qa6H6s0VyHgLxD/wAJT4Q0vW2bdLPCBL0/1qfJJ06ZYE/Suvr8VrUnCbhLdaH6BCaklJdQooorMoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigChqeo22lWUl9dHCRjp3Y9gPc1886tq13rN415dtknhVHRV7AV0/jrWzqGo/2fCf3FmSDj+KT+I/h0/OuFr4PPcydWp7KL91fiz9C4fyxUqftZL3n+CCiiivnz6IKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr1PwN4mO5dFv3zniBj/wCgf4fl6V5ZTkdo3V0JVlIII6giuzA4yVCopxOLH4KGIpunL5eR9TUVgeGtZGt6VHdN/rk+SUf7Q7/iOa36/TKNWM4qcdmfltajKnNwlugooorQyCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAztW1GHSdNuNRn5SBScep6AficCvli7upr25lu7ht0szF2PuTmvYvijqRjtLXSozzMxlf/dThR9CSfyrxWgtBRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA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eHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHlvxq/5Jjrf+7D/wCj46/PWv0K+NX/ACTHW/8Adh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAe/fs4sR47ugP4tPlB/7+xGvt6viD9nL/kfLn/rwl/8ARkdfb9flvFv++P0R9jkn8D5sKKKK+ZPXCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArxD4gzGTXhH2ihRfzJb+te314J44JPiW6B7CP/ANAFfP8AEkrYdeq/U+j4XjfEt9k/0OSooor4M/QQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK+ivC8xuPD9jITkiML/AN8fL/SvnWvffBLFvDNpnt5g/wDH2r6ThiX76S8v1R8xxVH9xF+f6M6uiiivuD4IKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD5a8S/8jDqX/XxL/6EaxK2/Ev/ACMOpf8AXxL/AOhGsSg0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+pfDX/Ivab/17xf8AoIrbrE8Nf8i9pv8A17xf+gitughhRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPz/wDjn/yU7Vf923/9EJXpv7Mf+v8AEX+7a/zlrzL45/8AJTtV/wB23/8ARCV6b+zH/r/EX+7a/wA5a/S8f/yJ1/hj+h8nhv8Afn6v9T6zooor80PrAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC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AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB77+zl/yPlz/14S/+jI6+36+IP2cv+R8uf+vCX/0ZHX2/X5dxb/vnyR9jkn8D5sKKKK+YPXCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArwTxx/yMt19I/wD0Ba97rwTxx/yMt19I/wD0Ba+e4m/3deq/Jn0vC3+8S9H+aOSooor4Q+/CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr3vwP8A8i1a/WT/ANDNeCV734H/AORatfrJ/wChmvouGf8AeH6fqj5vin/d16r8mdbRRRX3R+fhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfLXiX/AJGHUv8Ar4l/9CNYlbfiX/kYdS/6+Jf/AEI1iUGgUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH1L4a/5F7Tf+veL/0EVt1ieGv+Re03/r3i/wDQRW3QQwooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH5//ABz/AOSnar/u2/8A6ISvTf2Y/wDX+Iv921/nLXmXxz/5Kdqv+7b/APohK9N/Zj/1/iL/AHbX+ctfpeP/AOROv8Mf0Pk8N/vz9X+p9Z0UUV+aH1gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A1Ef+6P5V9fxttS+f6Hh8P/b+X6ktFFFfBH0gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5b8av+SY63/uw/8Ao+Ovz1r9CvjV/wAkx1v/AHYf/R8dfnrX6Vwb/u0v8X6I+Tz7+KvT9WFFFFfXHhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHvv7OX/I+XP/XhL/6Mjr7fr4g/Zy/5Hy5/68Jf/Rkdfb9fl3Fv++fJH2OSfwPmwooor5g9cKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvBPHH/Iy3X0j/APQFr3uvBPHH/Iy3X0j/APQFr57ib/d16r8mfS8Lf7xL0f5o5KiiivhD78KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACve/A/wDyLVr9ZP8A0M14JXvfgf8A5Fq1+sn/AKGa+i4Z/wB4fp+qPm+Kf93XqvyZ1tFFFfdH5+FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB8teJf8AkYdS/wCviX/0I1iVt+Jf+Rh1L/r4l/8AQjWJQaBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfUvhr/kXtN/694v/QRW3WJ4a/5F7Tf+veL/ANBFbdBDCiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfn/8AHP8A5Kdqv+7b/wDohK9N/Zj/ANf4i/3bX+cteZfHP/kp2q/7tv8A+iEr039mP/X+Iv8Adtf5y1+l4/8A5E6/wx/Q+Tw3+/P1f6n1nRRRX5ofWBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//0P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHlvxq/5Jjrf+7D/wCj46/PWv0K+NX/ACTHW/8Adh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAe+/s5f8j5c/9eEv/oyOvt+viD9nL/kfLn/rwl/9GR19v1+XcW/758kfY5J/A+bCiiivmD1wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8E8cf8jLdfSP8A9AWve68E8cf8jLdfSP8A9AWvnuJv93XqvyZ9Lwt/vEvR/mjkqKKK+EPvwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK978D/APItWv1k/wDQzXgle9+B/wDkWrX6yf8AoZr6Lhn/AHh+n6o+b4p/3deq/JnW0UUV90fn4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB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AUUUUAFFFFABRRRQAUUUUAFFFFAHvv7OX/I+XP8A14S/+jI6+36+IP2cv+R8uf8Arwl/9GR19v1+XcW/758kfY5J/A+bCiiivmD1wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8E8cf8jLdfSP/ANAWve68E8cf8jLdfSP/ANAWvnuJv93XqvyZ9Lwt/vEvR/mjkqKKK+EPvwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK978D/wDItWv1k/8AQzXgle9+B/8AkWrX6yf+hmvouGf94fp+qPm+Kf8Ad16r8mdbRRRX3R+fhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfLXiX/kYdS/6+Jf8A0I1iVt+Jf+Rh1L/r4l/9CNYlBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB9S+Gv8AkXtN/wCveL/0EVt1ieGv+Re03/r3i/8AQRW3QQwooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH5//HP/AJKdqv8Au2//AKISvTf2Y/8AX+Iv921/nLXmXxz/AOSnar/u2/8A6ISvTf2Y/wDX+Iv921/nLX6Xj/8AkTr/AAx/Q+Tw3+/P1f6n1nRRRX5ofWBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/0/38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHlvxq/5Jjrf+7D/wCj46/PWv0K+NX/ACTHW/8Adh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5D8c/hNp/wAavhtqfgW9lFrPPtmtLgru8i5iOY3x6HlWxztY45r8o/gH4v8AE/7IXxju/D3xZ0+50rRtbj+zXbbC8ZMTHybuJhxKiEsCUz8rtwWG2vtj/goHcXNt8CraW1leJ/7ZtAWRipx5U3cV+JVxeXl3t+1zyTbM43sWxnrjJr4DiXHKlioyhG04216Ndmv+CfTZTh3Oi4yfuvof1DaTq+la9p0Gr6JeQ39jcqHingdZI3U91ZSQa0a/lpt769tAVtbiSEN1COVz+Rqx/bOr/wDP9P8A9/X/AMa0jxqra0vx/wCAS+H+0/w/4J/Ud05Nfm3+2p+0Jo994ek+B3w5uTrOva1LFFffYh5wjhDbvs6lM7pZGCgqucLkNgkCvySk1TU5kMU15M6N1VpGIP1BNVIppreQTQO0br0ZSQR9CK4sw4tlWpunCHLfd3vp9xvhckUJqcpXsftP+xZ+zVqvwo0+6+IHjmH7P4j1mEQQ2jAF7O1LBiHP/PSQhSQPugAHksB961/Lj/bOr/8AP9P/AN/X/wAaP7Z1f/n+n/7+v/jV4Himlh6SpU6Wi8/+ALEZPOrNzlPX0/4J/UdRX8xPh3V9XbxBpi/bZzm6hGPMf++Pev6dq+pyXOljFJqNrW633PGzDL/YW1vcKKKK9w84KKKKACiiigAooooAKKKKACiiigAooooAKKKKAPff2cv+R8uf+vCX/wBGR19v18Qfs5f8j5c/9eEv/oyOvt+vy7i3/fPkj7HJP4HzYUUUV8weuFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXgnjj/kZbr6R/+gLXvdeCeOP+RluvpH/6AtfPcTf7uvVfkz6Xhb/eJej/ADRyVFFFfCH34UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFe9+B/+RatfrJ/6Ga8Er3vwP8A8i1a/WT/ANDNfRcM/wC8P0/VHzfFP+7r1X5M62iiivuj8/CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+WvEv8AyMOpf9fEv/oRrErb8S/8jDqX/XxL/wChGsSg0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+pfDX/Ivab/17xf+gitusTw1/wAi9pv/AF7xf+gitughhRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPz/8Ajn/yU7Vf923/APRCV6b+zH/r/EX+7a/zlrzL45/8lO1X/dt//RCV6b+zH/r/ABF/u2v85a/S8f8A8idf4Y/ofJ4b/fn6v9T6zooor80PrAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//1P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHlvxq/5Jjrf+7D/wCj46/PWv0K+NX/ACTHW/8Adh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBFNBDcJ5dxGsqdcMAw/I1V/snS/8Anzh/79r/AIVfpCQBk8AUmkO5R/snS/8Anzh/79r/AIUf2Tpf/PnD/wB+1/wrBufH/gSykMN54k02CQdVkvIVP5F6r/8ACyvhz/0NWlf+B0H/AMXWXtKfdF8s+x039k6X/wA+cP8A37X/AAo/snS/+fOH/v2v+Fcz/wALK+HP/Q1aV/4HQf8AxdeNftBfGnSPC/wd8S694C8W6dHr9pFEbQw3FtcSb2mjU7Y2LhjtJ4Kms62JpQhKbeyv0Lp0ZykorqfRf9k6X/z5w/8Aftf8KP7J0v8A584f+/a/4V+Xv7HP7RXxm+KXxdfwz478RHVNMXTbm48k2trD+8jaMK26GJG43HjOK/VGscux1PFU/a01ZeZeLw0qM+STKI0vTFIZbSEEcgiNf8KvUUV3pHNcKKKKYgooooAKKKKACiiigAooooAKKKKACiiigAooooA99/Zy/wCR8uf+vCX/ANGR19v18Qfs5f8AI+XP/XhL/wCjI6+36/LuLf8AfPkj7HJP4HzYUUUV8weuFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXgnjj/AJGW6+kf/oC173Xgnjj/AJGW6+kf/oC189xN/u69V+TPpeFv94l6P80clRRRXwh9+FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXvfgf/kWrX6yf+hmvBK978D/8i1a/WT/0M19Fwz/vD9P1R83xT/u69V+TOtooor7o/PwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPlrxL/yMOpf9fEv/oRrErb8S/8AIw6l/wBfEv8A6EaxKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD6l8Nf8i9pv/XvF/wCgitusTw1/yL2m/wDXvF/6CK26CGFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooA/P/AOOf/JTtV/3bf/0Qlem/sx/6/wARf7tr/OWvMvjn/wAlO1X/AHbf/wBEJXpv7Mf+v8Rf7tr/ADlr9Lx//InX+GP6HyeG/wB+fq/1PrOiiivzQ+sCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9X9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A1Ef+6P5V9fxttS+f6Hh8P/b+X6ktFFFfBH0gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5b8av+SY63/uw/8Ao+Ovz1r9CvjV/wAkx1v/AHYf/R8dfnrX6Vwb/u0v8X6I+Tz7+KvT9WFFFFfXHhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcx408X6H4B8K6p4y8STfZ9N0mFp5mAyxA4CqO7MxCqO5IFfgb8bf2l/iP8AGvVrg6jfS6boBY/Z9Kt5CsCJ0Hm4x5r46s/cnaFHFfod/wAFF/FNzpnwu0HwtbOUXXNS3zYPDxWkZbYfbzHRvqor5i/YV+BPh34m+JNW8aeNLSPUdJ8O+VHDaSjdHNdy5YNIvRkjVfunglhngYPw+f162IxUcDSdl1/PXySPostp06VF4iaPijSvCPivXozLoei3uooOrW1tJMPzRTWXd6bqOn3z6Xf2stteRsEaCVGSVWPRSjAMD7Yr+o+KKKCJIIEEccYCqqjCqo4AAHAAFfgD+0P/AMnVeJP+wzB/7Trxs44eWEpxnz3u7bWO/A5o60nHltZHjJ+GXxJUFm8J6sAO/wBguP8A4isH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AJHy5/68Jf8A0ZHX2/X5dxb/AL58kfY5J/A+bCiiivmD1wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8E8cf8jLdfSP/wBAWve68E8cf8jLdfSP/wBAWvnuJv8Ad16r8mfS8Lf7xL0f5o5KiiivhD78KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACve/A//ACLVr9ZP/QzXgle9+B/+RatfrJ/6Ga+i4Z/3h+n6o+b4p/3deq/JnW0UUV90fn4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHy14l/5GHUv+viX/wBCNYlbfiX/AJGHUv8Ar4l/9CNYlBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB9S+Gv+Re03/r3i/wDQRW3WJ4a/5F7Tf+veL/0EVt0EMKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB+f8A8c/+Snar/u2//ohK9N/Zj/1/iL/dtf5y15l8c/8Akp2q/wC7b/8AohK9N/Zj/wBf4i/3bX+ctfpeP/5E6/wx/Q+Tw3+/P1f6n1nRRRX5ofWBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9H9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A1Ef+6P5V9fxttS+f6Hh8P/b+X6ktFFFfBH0gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5b8av+SY63/uw/8Ao+Ovz1r9CvjV/wAkx1v/AHYf/R8dfnrX6Vwb/u0v8X6I+Tz7+KvT9WFFFFfXHhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVWvLOz1G1lsdQgjubadSkkUqh0dW4KsrZBB7g1ZooaA/Pz4zfsC+BvF/n618Lp18Laq+W+ysC+nyt6BRl4c/7G5R2TvX5b+PfhZ8Ufglr8MXivTbnRbqKTda3sTHynZeQ0FxGcEjrgEMvcA1/SXWTrmg6J4m0ufRPEVhBqen3I2y29xGssbj3VgR9PSvmMy4XoVvfpe7Ly2+7/I9fCZxUh7s9UfkD8Fv2+/GXhTyND+K9u3ibS1wovY9q6hEvq2cJNj/AGtrdy56V+qfw7+KngH4raONa8CaxDqcIA8xFO2aEn+GWJsOh+owexI5r8pf2uP2evgf8MBJq/g3xRHo+ry4ceHpGa6Zw3eNl3SQrjkeblT0DDpXwx4a8U+I/BusQa/4U1KfStRtzlJ7eQxuB3BI6qe6nIPQg14VLPMTgansMR76Xnr9/wCj1PSnl1HER9pS91/1/Wh/UFRXwt+yR+0N8W/i7D/Z3jbwtJc2MCMP+EhgUW9uzoPuSRthXcngmHoSMoBlq+6a+6wWMhXpqrT2ffQ+cxFCVOThLcKKKK6jEKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA99/Zy/5Hy5/68Jf/Rkdfb9fEH7OX/I+XP8A14S/+jI6+36/LuLf98+SPsck/gfNhRRRXzB64UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeCeOP+RluvpH/AOgLXvdeCeOP+RluvpH/AOgLXz3E3+7r1X5M+l4W/wB4l6P80clRRRXwh9+FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcP8QPiV4E+FehL4m+IeswaFpbzJbi4uCQhlcMypwCckKT+Fc/8Ofjp8IPi5cXdn8NvFlhr9zYKrzw28mZURjgMUYBtueNwGAeM18Yf8FUv+TZ7P8A7GGx/wDRFzX8+/hDxj4p8AeI7Lxb4L1OfR9Y05/Mgubdtjoe49CpHDKQVYZBBBIr6LLskjiKHtOaz/A+azLPZYeuqfLeP4n9l9Ffmn+yJ/wUH8LfGYWfgD4qtB4d8bNtihmz5dlqb9B5ZPEUzf8APMnDH7hydi/pZXi4rCzoy5Kisz3MLi6daHPTd0Fcb8QfH3hf4XeDdU8feNLo2Wi6PGJbmVY3lKqzBFwkYZiSzAcDv6V2VfI37eP/ACaT8Rf+vS2/9K4KnDU1OpGD6tIrE1HCnKa3SbNr4Rfth/Ab45eLD4J+HGtT3+rLbyXRjks7iBfKiKhjvlRV4LDjOa+n6/nL/wCCWn/Jzkv/AGAb7/0ZBX9Gld2b4OFCryQ2scOT42eIo+0nvfoFFFFeWeqFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV734H/AORatfrJ/wChmvBK978D/wDItWv1k/8AQzX0XDP+8P0/VHzfFP8Au69V+TOtooor7o/PwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPlrxL/wAjDqX/AF8S/wDoRrErb8S/8jDqX/XxL/6EaxKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD6l8Nf8i9pv8A17xf+gitusTw1/yL2m/9e8X/AKCK26CGFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooA/P/45/wDJTtV/3bf/ANEJXpv7Mf8Ar/EX+7a/zlrzL45/8lO1X/dt/wD0Qlem/sx/6/xF/u2v85a/S8f/AMidf4Y/ofJ4b/fn6v8AU+s6KKK/ND6wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9L9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK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KKAPqXw1/wAi9pv/AF7xf+gitusTw1/yL2m/9e8X/oIrboIYUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigD8/wD45/8AJTtV/wB23/8ARCV6b+zH/r/EX+7a/wA5a8y+Of8AyU7Vf923/wDRCV6b+zH/AK/xF/u2v85a/S8f/wAidf4Y/ofJ4b/fn6v9T6zooor80PrAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9X9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A1Ef+6P5V9fxttS+f6Hh8P/b+X6ktFFFfBH0gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5b8av+SY63/uw/8Ao+Ovz1r9CvjV/wAkx1v/AHYf/R8dfnrX6Vwb/u0v8X6I+Tz7+KvT9WFFFFfXHhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFY+veIdC8LaXNrniXULfS9PtxmS4uZFijX0yzEDJ7DqT0pNpK7GlfRGxRXwv4x/4KBfBPw9PJaeH4NQ8SSIceZbwiG3OOuHmZHPsQhB9a4XRP+Cimia74i03QbbwRcRjUbqG2Er3yZUzOE3FREc4znGa8mefYOMuX2iv83+R2xy2u1flP0ioorgrf4o/D668c3Xw1g122PiazjSWSxLbZdrruAXICswX5iqksoIJABFepKpGNuZ2uccYt7I72iiirJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPff2cv+R8uf+vCX/wBGR19v18Qfs5f8j5c/9eEv/oyOvt+vy7i3/fPkj7HJP4HzYUUUV8weuFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXgnjj/kZbr6R/+gLXvdeCeOP+RluvpH/6AtfPcTf7uvVfkz6Xhb/eJej/ADRyVFFFfCH34UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX5uT/wDBLL9meeeSb7X4gTzGLbVvocDJzgZtycD3NfpHRXRQxVSlf2crXOfEYSlVt7SN7H8+P7cn7DXgL9nXwDpXxG+HOq6jcW1xqMen3VrqDxTFTNFJIkkbxxxEAGLaysGJ3AgjBFeLfsWfso6F+1Lq/inT9d1650OPw9BayobaJJTKbhpFIO8jAXZ+Oa/f79ov4A+HP2kfh8nw98T6jdaXax3sN8s1ns8zzIVdACJFYFSHOehzjntXnX7MX7Hfg79lzUNf1Dwtrl/rD+IIreKUXoiAjFuzspXy1XrvOc19BTzxrCuLl7/Q+cq5Ani1JRXs+v3HyP8A8Oi/h5/0P+q/+AsH+NH/AA6L+Hn/AEP+q/8AgLB/jX67UV5n9t4r+f8AI9X+w8J/z7/M/In/AIdF/Dz/AKH/AFX/AMBYP8amtv8Agkb8M1nRrvx5q8sIPzKlvboxHsx3Af8AfJr9cKRmVAWYgAdzS/trFfz/AJB/YeE/k/M8P+BH7PHwy/Z08MS+GvhxYyR/bGSS8vLl/Nu7uRAQrSuAq/KCdqoqoMkhQSSfcajSaGQ7UdWPoCDUledUqSnJyk7s9OnTjCKjBWSCiiioLCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK978D/8AItWv1k/9DNeCV734H/5Fq1+sn/oZr6Lhn/eH6fqj5vin/d16r8mdbRRRX3R+fhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfLXiX/kYdS/6+Jf/AEI1iVt+Jf8AkYdS/wCviX/0I1iUGgUUUUAFFFFABRRRQAUUUUAFFFFABX43f8FdP+Qf8Lv+uusf+g2lfsjX43f8FdP+Qf8AC7/rrrH/AKDaUCZ6d/wSh/5IT4o/7GSb/wBI7Wv1Dr8vP+CUP/JCfFH/AGMk3/pHa1+odA0FFFFABRRRQAUUUUAFFFFABRRRQAUUV5P8YfjZ8OfgV4Uk8XfEXVFsbflYIFw9zdygZ8uCLILt6nhV6sVHNAHpmoajYaRY3GqarcxWdnaRtLNPM6xxRxoMs7uxAVQOSScCm6XqdhrWmWms6VOtzZX8MdxBKnKyRSqHR19mUgiv5mf2oP2z/iN+0dfSaQGbQPBkMmYNKhcnzdpysl24x5r9wv3E42jOWP8ARN8E/wDkjPgL/sAaX/6SR0CTPTqKKKBhXknx+/5IR8R/+xb1j/0jlr1uvJPj9/yQj4j/APYt6x/6Ry0AfzwfsC/8ncfD/wD663//AKb7mv6eq/mF/YF/5O4+H/8A11v/AP033Nf09UCiFFFFAwooooAKKKKACiiigAooooAKKKKAPqXw1/yL2m/9e8X/AKCK26xPDX/Ivab/ANe8X/oIrboIYUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigD8/8A45/8lO1X/dt//RCV6b+zH/r/ABF/u2v85a8y+Of/ACU7Vf8Adt//AEQlem/sx/6/xF/u2v8AOWv0vH/8idf4Y/ofJ4b/AH5+r/U+s6KKK/ND6wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//1v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHlvxq/5Jjrf+7D/wCj46/PWv0K+NX/ACTHW/8Adh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzfjDxZovgXwvqfi/xFP9n07SYHnm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SgFTJETn5cgjOVINfKH7Mv7S3jz4ReOh+yp+1RvttYtGWHRtZmYvHcRMSIkkmb/WRuB+5mPPHlyYYcAj9Vq8k+P3/JCPiP8A9i3rH/pHLXrdeSfH7/khHxH/AOxb1j/0jloGfzwfsC/8ncfD/wD663//AKb7mv6eq/mF/YF/5O4+H/8A11v/AP033Nf09UCiFFFFAwooooAKKKKACiiigAooooAKKKKAPqXw1/yL2m/9e8X/AKCK26xPDX/Ivab/ANe8X/oIrboIYUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigD8/8A45/8lO1X/dt//RCV6b+zH/r/ABF/u2v85a8y+Of/ACU7Vf8Adt//AEQlem/sx/6/xF/u2v8AOWv0vH/8idf4Y/ofJ4b/AH5+r/U+s6KKK/ND6wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHlvxq/5Jjrf+7D/wCj46/PWv0K+NX/ACTHW/8Adh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB81ftV/CHxP8AGv4YReD/AAjNaw38WoQXebt2jjKRpIrDciOc/OCOO1fnD/w7y+O3/P7on/gXN/8AI9ftnRXi4/IcPiantKl7+p6GGzKrSjyQ2PxM/wCHeXx2/wCf3RP/AALm/wDkej/h3l8dv+f3RP8AwLm/+R6/bOiuL/VLCef3nR/bdfy+4/Ez/h3l8dv+f3RP/Aub/wCR6P8Ah3l8dv8An90T/wAC5v8A5Hr9s6KP9UsJ5/eH9t1/L7j83v2Vv2Tfid8Fvig3jLxdc6bLYmwntsWk8kkm+VkK8NEgx8pzzX6Q0UV7WAwFPDU/Z09jz8TiZVZc89wooortOcKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD339nL/kfLn/AK8Jf/Rkdfb9fEH7OX/I+XP/AF4S/wDoyOvt+vy7i3/fPkj7HJP4HzYUUUV8weuFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXgnjj/kZbr6R/8AoC173Xgnjj/kZbr6R/8AoC189xN/u69V+TPpeFv94l6P80clRRRXwh9+FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfjl/wV6uLlfDXw0tV/495LvU3f8A30jgCfozV2H/AASSsrCP4N+MtRj2/bZ9f8qXj5vKitYWjyfTdI+Pxr0L/gp38ML/AMdfs9J4p0iAz3fgq/S/lCrub7FKrQzkAdlLJIx7KhJ6V+W/7DX7XVr+zP4n1TSvF9tPe+EPEnlG5+z4aW0uIshLhEON4KsVkUEEjaRkqFb6zD0nWy72dPdP9bnx+JqxoZn7Spomv0sf0x1/JV+1V4sj8b/tHfEXxHBJ50E2s3UML5yGhtW+zxkexSMY9q/ZP41/8FN/gppXw/1FPg9fXOv+Kr63eKzzaTW0NpLIpAmma4RN3lH5gqBtxwMgEsPxl/Zu+F2q/G345+FvBUETXcV5fR3GoO2SFsoGEt07k+qAgZ+8xC9TWmQ4SdFTrVVbTr+JnxBjIV3ChRd9en3I/qE+BHhKPwJ8FvA3hBIvIfS9FsYZVxg+cIVMxI9WkLE+5q38a1sX+DXjxNT/AOPNtA1QTf8AXI2sm/8ATNem1+Z3/BSf9o3Sfh58Krr4O6JdCTxT40i8qZI2G6000sPOeQDp54BiUH7ylz/Dz85hacq1dJbtn02LqwoUG3skfkt+wd9o/wCGtvh19myX+13Ocf3Psk+//wAdzX9TVfzo/wDBLr4cX3ir9ohvHYUrYeCbCeZ3xkG4vo3tYo/YsjyuP9yv6Lq9TiWaeISXRf5nk8L02sO2+r/yCiiivnj6QKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr3vwP/yLVr9ZP/QzXgle9+B/+RatfrJ/6Ga+i4Z/3h+n6o+b4p/3deq/JnW0UUV90fn4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHy14l/5GHUv+viX/0I1iVt+Jf+Rh1L/r4l/wDQjWJQaBRRRQAUUUUAFFFFABRRRQAUUUUAFfjd/wAFdP8AkH/C7/rrrH/oNpX7I1+N3/BXT/kH/C7/AK66x/6DaUCZ6d/wSh/5IT4o/wCxkm/9I7Wu+/bj/ad1n4YaZYfBv4ULLefEfxqohtxa5aeygnbylkjVRkzzNlIQMFSC/UKG89/4JSmQfAXxWYVDSDxHPtDHaCfsVrgEgHA98H6V2v7O37LHxC0348eMP2hf2h57fVPEsl1JHoohlM0MUUijM8YPKKkbeRCjAFQHJHKMQD1D9j/9ljS/2cvBbXOs+VqPjnXQJNV1ADcUDYYWsTnnykblm4Mj/M3ARV+wqKKBhRRRQAUUUUAFeHftHfGOw+BHwe8QfEW6KNd2kPk2EL9J76b5IEx3Ab5nx0RWPavca8Y+OPwF+Hv7QnhJPCHxDgnktreX7RbTW07Qy28+0oJExlGIViMOjLyeKAPyU/4JofBzUPiD8Stc/aJ8Zh7yPRZpY7Sab5jcardgvPMSepijck/7UqkcrX7pV5h8G/hR4b+CXw40b4a+Fdz2WkxkGaQASzzSMXllkxgbnYk+wwBwBXp9AkgooooGFFFFABXyh+1r+zFof7SHgI2cPl2Xi3Rg82kX5GCsmMmCRhz5UhAz12nDAcEH6vooA/Oj9hn9pPXfF9re/AH4xl7H4ieDd1uq3ZK3F7bQfKd27700OMPjl0w/PztX158fv+SEfEf/ALFvWP8A0jlr4J/b4+EXiDwVrmi/tgfCRTaeIPCs1v8A2uIRjzoEYCO4dR98Lnypgc7omGflQ19S6t8VND+Nf7HXij4l6APLt9Z8J6u8kJOWguEtJknhJwMmORWXOBuADDgigSPwx/YF/wCTuPh//wBdb/8A9N9zX9PVfzC/sC/8ncfD/wD663//AKb7mv6eqAiFFFFAwooooAKKKKACiiigAooooAKKKKAPqXw1/wAi9pv/AF7xf+gituvyA8V/8Fdvgp8K/E2q/DTWPBviG7vvC11Npk80AtPKkltHMTMm6dW2krkZAOOorA/4fafAL/oRfE35WX/yRQQz9nqK/GH/AIfafAL/AKEXxN+Vl/8AJFH/AA+0+AX/AEIvib8rL/5IoEfs9RX4w/8AD7T4Bf8AQi+Jvysv/kij/h9p8Av+hF8TflZf/JFAH7PUV+MP/D7T4Bf9CL4m/Ky/+SKP+H2nwC/6EXxN+Vl/8kUAfs9RX4w/8PtPgF/0Ivib8rL/AOSKP+H2nwC/6EXxN+Vl/wDJFAH7PUV+MP8Aw+0+AX/Qi+Jvysv/AJIo/wCH2nwC/wChF8TflZf/ACRQB+z1FfjD/wAPtPgF/wBCL4m/Ky/+SKP+H2nwC/6EXxN+Vl/8kUAfs9RX4w/8PtPgF/0Ivib8rL/5Io/4fafAL/oRfE35WX/yRQB+z1FfjD/w+0+AX/Qi+Jvysv8A5Io/4fafAL/oRfE35WX/AMkUAfT3xz/5Kdqv+7b/APohK9N/Zj/1/iL/AHbX+ctfImk/HTw9+0jYR/GHwrYXWmaZre5Ire92eehtSbdt3ls68tGSMMeCO9Ude/bT8BfseCG58caHqetL4r3JANOEJMZssF/M86SP73nDGM9Dmv0vH/8AInX+GP6HyWG/35+r/U/Xyivxh/4fafAL/oRfE35WX/yRR/w+0+AX/Qi+Jvysv/kivzQ+tP2eor8Yf+H2nwC/6EXxN+Vl/wDJFH/D7T4Bf9CL4m/Ky/8AkigD9nqK/GH/AIfafAL/AKEXxN+Vl/8AJFH/AA+0+AX/AEIvib8rL/5IoA/Z6ivxh/4fafAL/oRfE35WX/yRR/w+0+AX/Qi+Jvysv/kigD9nqK/GH/h9p8Av+hF8TflZf/JFH/D7T4Bf9CL4m/Ky/wDkigD9nqK/GH/h9p8Av+hF8TflZf8AyRR/w+0+AX/Qi+Jvysv/AJIoA/Z6ivxh/wCH2nwC/wChF8TflZf/ACRR/wAPtPgF/wBCL4m/Ky/+SKAP2eor8Yf+H2nwC/6EXxN+Vl/8kUf8PtPgF/0Ivib8rL/5IoA/Z6ivxh/4fafAL/oRfE35WX/yRR/w+0+AX/Qi+Jvysv8A5IoA/Z6ivxh/4fafAL/oRfE35WX/AMkUf8PtPgF/0Ivib8rL/wCSKAP2eor8Yf8Ah9p8Av8AoRfE35WX/wAkV92fsmftd+Cf2vfDOueKPBOjaho1voN4lnKmoiEO7vGJAy+TJIMYOOSDmgD6yooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9P9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK/BP9t7/gpP+0P+zz+0r4p+E3gK30OTRNHj094De2cs0+bmyhnfc6zoD88hx8owMCv3sr8Qv2yv+CX/AMW/2kf2h/Enxh8K+K9D0zTdbjsUjt703InQ2tpFbtu8uF15aMkYPQigD4f/AOHyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNH/D5H9rj/nz8M/8Agun/APkmu/8A+HJfx9/6Hrwz+d7/API9H/Dkv4+/9D14Z/O9/wDkegDgP+HyP7XH/Pn4Z/8ABdP/APJNel/B7/gpn+0b8efiPo3wm8cW2hJomvtMty1nZSxTgQQvcLsdp3A+eNc5U8ZFU/8AhyX8ff8AoevDP53v/wAj13nwx/4JZfGD9nvxzpfxh8TeLNC1LTPDrSvNb2ZuvPcXET267PMhReGlBOWHAPeu7LP95pf4l+Zz4v8AhT9H+R9jV+Yc/wDwWL/a1tp5LeO08M7ImKDOnT5wpwP+Xmv08r4Bm/4IpfHu6le5Txz4ZCysXAJvcgMc/wDPvX1/G21L5/oeHw/9v5fqeef8Pkf2uP8Anz8M/wDgun/+SaP+HyP7XH/Pn4Z/8F0//wAk13//AA5L+Pv/AEPXhn873/5Ho/4cl/H3/oevDP53v/yPXwR9IcB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AHAf8Pkf2uP+fPwz/4Lp/8A5Jo/4fI/tcf8+fhn/wAF0/8A8k13/wDw5L+Pv/Q9eGfzvf8A5Ho/4cl/H3/oevDP53v/AMj0AcB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AHAf8Pkf2uP+fPwz/4Lp/8A5Jo/4fI/tcf8+fhn/wAF0/8A8k13/wDw5L+Pv/Q9eGfzvf8A5Ho/4cl/H3/oevDP53v/AMj0AcB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AHAf8Pkf2uP+fPwz/4Lp/8A5Jo/4fI/tcf8+fhn/wAF0/8A8k13/wDw5L+Pv/Q9eGfzvf8A5Ho/4cl/H3/oevDP53v/AMj0AXPg9/wUz/aN+PPxH0b4TeOLbQk0TX2mW5azspYpwIIXuF2O07gfPGucqeMivvavjn4Y/wDBLL4wfs9+OdL+MPibxZoWpaZ4daV5rezN157i4ie3XZ5kKLw0oJyw4B719jV+lcG/7tL/ABfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB4T+0N8aW+A/gKLxsuj/wBuGS9is/INx9mx5qO2/f5cnTZjG3v1r4i/4eXy/wDROh/4Nv8A7kr7h/aD+CyfHjwJF4JfWDogjvYrzzxB9oz5SOu3Z5kfXfnOe3Svif8A4doW/wD0URv/AAVD/wCSq+Xzf+0vbf7J8Nv7u/z1PZwP1Tk/fb/P9Ct/w8vl/wCidD/wbf8A3JR/w8vl/wCidD/wbf8A3JVn/h2hb/8ARRG/8FQ/+SqP+HaFv/0URv8AwVD/AOSq8z/hb/rkOy+X/wBcxW/4eXy/9E6H/g2/+5KP+Hl8v/ROh/4Nv/uSp3/4JoRbT5fxEbd2zpQxn/wKr49+NX7NXiv4D65Yr4wla88NX8gSPVbGLeM8ko0TsgWUAbgjOAwztc4bHNisXnFGPPUdl6Rf5GtGjgaj5YLX5n6W/s9/tkv8dvHzeB28IjRAtnNd/aBf/af9UyDbs8iPru67u3SvuGvzp/Y2+APgjQNUi+Mvgjx0fE9nc2c1k1s1iLWWCWQozLN+/lKum37uOchgSuCf0Wr67JaleVBSxDu36bfLQ8PMI0lUtS2+f6hRRRXrHCFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB4X+0H+0h8Qv2XPBFv8AEX4aR2Muq3V9FprjUIWni8iaOSVsKjxnduiXBz0zxXxl/wAPkf2uP+fPwz/4Lp//AJJr7k+NP7MXi39rHwnB8NPBmq2Oj31pdx6m02oGURGKBHiKjykdtxMwI4xgHmvlr/hyX8ff+h68M/ne/wDyPX5dxb/vnyR9jkn8D5s4D/h8j+1x/wA+fhn/AMF0/wD8k0f8Pkf2uP8Anz8M/wDgun/+Sa7/AP4cl/H3/oevDP53v/yPR/w5L+Pv/Q9eGfzvf/kevmD1zgP+HyP7XH/Pn4Z/8F0//wAk0f8AD5H9rj/nz8M/+C6f/wCSa7//AIcl/H3/AKHrwz+d7/8AI9H/AA5L+Pv/AEPXhn873/5HoA4D/h8j+1x/z5+Gf/BdP/8AJNH/AA+R/a4/58/DP/gun/8Akmu//wCHJfx9/wCh68M/ne//ACPR/wAOS/j7/wBD14Z/O9/+R6AOA/4fI/tcf8+fhn/wXT//ACTR/wAPkf2uP+fPwz/4Lp//AJJrv/8AhyX8ff8AoevDP53v/wAj0f8ADkv4+/8AQ9eGfzvf/kegDgP+HyP7XH/Pn4Z/8F0//wAk0f8AD5H9rj/nz8M/+C6f/wCSa7//AIcl/H3/AKHrwz+d7/8AI9H/AA5L+Pv/AEPXhn873/5HoA4D/h8j+1x/z5+Gf/BdP/8AJNH/AA+R/a4/58/DP/gun/8Akmu//wCHJfx9/wCh68M/ne//ACPR/wAOS/j7/wBD14Z/O9/+R6AOA/4fI/tcf8+fhn/wXT//ACTR/wAPkf2uP+fPwz/4Lp//AJJrv/8AhyX8ff8AoevDP53v/wAj0f8ADkv4+/8AQ9eGfzvf/kegDgP+HyP7XH/Pn4Z/8F0//wAk0f8AD5H9rj/nz8M/+C6f/wCSa7//AIcl/H3/AKHrwz+d7/8AI9H/AA5L+Pv/AEPXhn873/5HoA4D/h8j+1x/z5+Gf/BdP/8AJNH/AA+R/a4/58/DP/gun/8Akmu//wCHJfx9/wCh68M/ne//ACPR/wAOS/j7/wBD14Z/O9/+R6AOA/4fI/tcf8+fhn/wXT//ACTR/wAPkf2uP+fPwz/4Lp//AJJrv/8AhyX8ff8AoevDP53v/wAj0f8ADkv4+/8AQ9eGfzvf/kegDgP+HyP7XH/Pn4Z/8F0//wAk0f8AD5H9rj/nz8M/+C6f/wCSa7//AIcl/H3/AKHrwz+d7/8AI9H/AA5L+Pv/AEPXhn873/5HoA4D/h8j+1x/z5+Gf/BdP/8AJNH/AA+R/a4/58/DP/gun/8Akmu//wCHJfx9/wCh68M/ne//ACPR/wAOS/j7/wBD14Z/O9/+R6AOA/4fI/tcf8+fhn/wXT//ACTR/wAPkf2uP+fPwz/4Lp//AJJrv/8AhyX8ff8AoevDP53v/wAj0f8ADkv4+/8AQ9eGfzvf/kegDgP+HyP7XH/Pn4Z/8F0//wAk0f8AD5H9rj/nz8M/+C6f/wCSa7//AIcl/H3/AKHrwz+d7/8AI9H/AA5L+Pv/AEPXhn873/5HoA4D/h8j+1x/z5+Gf/BdP/8AJNfrh+yx8avGP7QvwP0D4s+PUtY9b1h7xZ1so2hgAtrmW3TajO5HyRjPzHJya/M7/hyX8ff+h68M/ne//I9fqF+zd8C/EP7N3we0T4PeKr+11PU9Ee6eW4st/kOLq4kuF2+YqNwsgByo5B7V89xN/u69V+TPpeFv94l6P80e6UUUV8IffhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFa9srPUrOfT9QgS5tbqNopYpFDpJG42srKeCrAkEHgivxU+Pn/BKzVrjXLvxF8ANVtU0+5dpP7H1J3ja3LHOy3uArh0GflWTaVA5djX7aUV2YPH1aEr02cWNy+liI8tRH822kf8Exf2p9Rv1tL6w0vS4S2DcXGoI8YH97EAlfH/AAHNfr9+yR+xz4T/AGX9Iu777X/bvi7V41jvdRKeWiRAhvs9uhJKx7gCxJ3OQCcAKq/ZdFdOMzmvWjySdl5HLgskoUJc8Vd+YV/OP+09+xn8dG/aWl0bQor3xjH47uZbyw1ScltqZBkS7lxtj+zAgE8KU27ACdg/o4orHL8wnh5OUVe5tmOWwxMVGbtZnzr+zB+zz4e/Zt+F9n4I0xku9UnP2nVb4Lg3V2wwSM8iNB8ka9lGT8zMT9FUUVyVaspyc5PVnbSpRhFQgrJBRRRWZoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV+R37U3/BSf9of9nn44a/8ACbwFbaHJomjpZvA17ZyzTk3NrFcPudZ0B+eQ4+UYGB71+uNfl7+0j/wS/wDi5+0j8Ytb+MPhXxXoemaZrSWqRW96bnz0Nrbx27bvLhdeWjJGG6Ed6+i4Z/3h+n6o+b4p/wB3XqvyZ8mf8Pkf2uP+fPwz/wCC6f8A+SaP+HyP7XH/AD5+Gf8AwXT/APyTXf8A/Dkv4+/9D14Z/O9/+R6P+HJfx9/6Hrwz+d7/API9fdH5+cB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AHAf8Pkf2uP+fPwz/4Lp/8A5Jo/4fI/tcf8+fhn/wAF0/8A8k13/wDw5L+Pv/Q9eGfzvf8A5Ho/4cl/H3/oevDP53v/AMj0AcB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AHAf8Pkf2uP+fPwz/4Lp/8A5Jo/4fI/tcf8+fhn/wAF0/8A8k13/wDw5L+Pv/Q9eGfzvf8A5Ho/4cl/H3/oevDP53v/AMj0AcB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AHAf8Pkf2uP+fPwz/4Lp/8A5Jo/4fI/tcf8+fhn/wAF0/8A8k13/wDw5L+Pv/Q9eGfzvf8A5Ho/4cl/H3/oevDP53v/AMj0AcB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AHAf8Pkf2uP+fPwz/4Lp/8A5Jo/4fI/tcf8+fhn/wAF0/8A8k13/wDw5L+Pv/Q9eGfzvf8A5Ho/4cl/H3/oevDP53v/AMj0AcB/w+R/a4/58/DP/gun/wDkmj/h8j+1x/z5+Gf/AAXT/wDyTXf/APDkv4+/9D14Z/O9/wDkej/hyX8ff+h68M/ne/8AyPQBwH/D5H9rj/nz8M/+C6f/AOSaP+HyP7XH/Pn4Z/8ABdP/APJNd/8A8OS/j7/0PXhn873/AOR6P+HJfx9/6Hrwz+d7/wDI9AH6t/CTxxrXxN+FvhL4i+I1iXVfE2lWepXQgUpEJ7qFZZNiksQu5jgEnA716HXC/DDwFqXws+HHhj4aaxcRXd94W0200yeaDd5UktpEsTMm4K20lcjIBx1Fd1QaBRRRQAUUUUAFFFFABRRRQAUUUUAFfjd/wV0/5B/wu/666x/6DaV+yNfjd/wV0/5B/wALv+uusf8AoNpQJnp3/BKH/khPij/sZJv/AEjta/UOvy8/4JQ/8kJ8Uf8AYyTf+kdrX6h0DQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGVruiaV4l0W/8O65bJeadqcEltcwyKGSSGZSjqwOQQQSK+N7H9nfwz+zb+yv8VPB/hbVL7U4L/RtbvZWvHUqsrWLpiJEUBBtVQepJGSegH27Xknx+/5IR8R/+xb1j/0jloA/ng/YF/5O4+H/AP11v/8A033Nf09V/ML+wL/ydx8P/wDrrf8A/pvua/p6oFEKKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAfG/i34g/8EkrHxRq1l8UrXQm8YwXUyawZ9G1KaU36uRcb5I7dkdvM3ZZSQTyCRXPf8LL/AOCK3/Pn4d/8EOq//Itewa9/wSm/Zh+Jut3/AMRfEd14hXVfE08mpXQgvoUiE90xlkCKbdiF3McAk4Hesn/hzb+yP/z+eJv/AAYwf/ItBDPNf+Fl/wDBFb/nz8O/+CHVf/kWj/hZf/BFb/nz8O/+CHVf/kWvSv8Ahzb+yP8A8/nib/wYwf8AyLR/w5t/ZH/5/PE3/gxg/wDkWgR5r/wsv/git/z5+Hf/AAQ6r/8AItH/AAsv/git/wA+fh3/AMEOq/8AyLXpX/Dm39kf/n88Tf8Agxg/+RaP+HNv7I//AD+eJv8AwYwf/ItAHmv/AAsv/git/wA+fh3/AMEOq/8AyLR/wsv/AIIrf8+fh3/wQ6r/APItelf8Obf2R/8An88Tf+DGD/5Fo/4c2/sj/wDP54m/8GMH/wAi0Aea/wDCy/8Agit/z5+Hf/BDqv8A8i0f8LL/AOCK3/Pn4d/8EOq//Itelf8ADm39kf8A5/PE3/gxg/8AkWj/AIc2/sj/APP54m/8GMH/AMi0Aea/8LL/AOCK3/Pn4d/8EOq//ItH/Cy/+CK3/Pn4d/8ABDqv/wAi16V/w5t/ZH/5/PE3/gxg/wDkWj/hzb+yP/z+eJv/AAYwf/ItAHmv/Cy/+CK3/Pn4d/8ABDqv/wAi0f8ACy/+CK3/AD5+Hf8AwQ6r/wDItelf8Obf2R/+fzxN/wCDGD/5Fo/4c2/sj/8AP54m/wDBjB/8i0Aea/8ACy/+CK3/AD5+Hf8AwQ6r/wDItH/Cy/8Agit/z5+Hf/BDqv8A8i16V/w5t/ZH/wCfzxN/4MYP/kWj/hzb+yP/AM/nib/wYwf/ACLQB5r/AMLL/wCCK3/Pn4d/8EOq/wDyLR/wsv8A4Irf8+fh3/wQ6r/8i16V/wAObf2R/wDn88Tf+DGD/wCRaP8Ahzb+yP8A8/nib/wYwf8AyLQBm6LqnwO1nTo9R/ZyS2j8ASlv7PW0t5rWEMpIuNsU6JIv74PnKjJyRwQaz/EfiT9jHw6Ldv2v4dPlhn3f2N9vsbq9AZcfadn2aKTZwYs7sZ4xnBx0g+Cng79nof8ACpfAT3UmiaP80DXsizTk3X+kPudUQH55Dj5RgYHvQf2PPhN+1p/o/wAUptTiXwx89p/Z1wluSbziTzN8Umf9SuMYxz1r9Lx//InX+GP6HyWG/wB+fq/1PM/+Fl/8EVv+fPw7/wCCHVf/AJFo/wCFl/8ABFb/AJ8/Dv8A4IdV/wDkWvSv+HNv7I//AD+eJv8AwYwf/ItH/Dm39kf/AJ/PE3/gxg/+Ra/ND6081/4WX/wRW/58/Dv/AIIdV/8AkWj/AIWX/wAEVv8Anz8O/wDgh1X/AORa9K/4c2/sj/8AP54m/wDBjB/8i0f8Obf2R/8An88Tf+DGD/5FoA81/wCFl/8ABFb/AJ8/Dv8A4IdV/wDkWj/hZf8AwRW/58/Dv/gh1X/5Fr0r/hzb+yP/AM/nib/wYwf/ACLR/wAObf2R/wDn88Tf+DGD/wCRaAPNf+Fl/wDBFb/nz8O/+CHVf/kWj/hZf/BFb/nz8O/+CHVf/kWvSv8Ahzb+yP8A8/nib/wYwf8AyLR/w5t/ZH/5/PE3/gxg/wDkWgDzX/hZf/BFb/nz8O/+CHVf/kWj/hZf/BFb/nz8O/8Agh1X/wCRa9K/4c2/sj/8/nib/wAGMH/yLR/w5t/ZH/5/PE3/AIMYP/kWgDzX/hZf/BFb/nz8O/8Agh1X/wCRaP8AhZf/AARW/wCfPw7/AOCHVf8A5Fr0r/hzb+yP/wA/nib/AMGMH/yLR/w5t/ZH/wCfzxN/4MYP/kWgDzX/AIWX/wAEVv8Anz8O/wDgh1X/AORaP+Fl/wDBFb/nz8O/+CHVf/kWvSv+HNv7I/8Az+eJv/BjB/8AItH/AA5t/ZH/AOfzxN/4MYP/AJFoA81/4WX/AMEVv+fPw7/4IdV/+RaP+Fl/8EVv+fPw7/4IdV/+Ra9K/wCHNv7I/wDz+eJv/BjB/wDItH/Dm39kf/n88Tf+DGD/AORaAPNf+Fl/8EVv+fPw7/4IdV/+RaP+Fl/8EVv+fPw7/wCCHVf/AJFr0r/hzb+yP/z+eJv/AAYwf/ItH/Dm39kf/n88Tf8Agxg/+RaAPNf+Fl/8EVv+fPw7/wCCHVf/AJFo/wCFl/8ABFb/AJ8/Dv8A4IdV/wDkWvSv+HNv7I//AD+eJv8AwYwf/ItH/Dm39kf/AJ/PE3/gxg/+RaAPNf8AhZf/AARW/wCfPw7/AOCHVf8A5Fr7z/ZH8Qfsk+IfC+uz/sjxWEWixXiLqQsLK5skN0YwV3Lcxxsx2Y5AIr5W/wCHNv7I/wDz+eJv/BjB/wDItfZP7M/7Kfww/ZR8Pax4a+F8uoS2muXSXdwdRnSdxIiCMbSkcYAwOmDzQB9LUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/1P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHlvxq/5Jjrf+7D/wCj46/PWv0K+NX/ACTHW/8Adh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXgf7UPhSw8X/ATxpY30QkNjp0+oQnoUmsVM6kHsTsKn1BI7175Xxl+2n8ZvDvgP4U6t4KS5SfxD4ogayitUceZFBKMSzSL1VNmVXP3mPHAYjgzOpCOHm6m1mdODhJ1YqO9z4M/YH8fal4a+NkXg9Jf+Jb4rt5oZoyfl861ieeJx/tDayD2c+1fuBX8/8A+xpo13rH7R3hIWytssnuLqVh0SOK3kOT7Fiq/Uiv6AK8Pg+cnhWnsm7fgejnsUqya7BRRRX1Z4oUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHvv7OX/ACPlz/14S/8AoyOvt+viD9nL/kfLn/rwl/8ARkdfb9fl3Fv++fJH2OSfwPmwooor5g9cKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvBPHH/ACMt19I//QFr3uvBPHH/ACMt19I//QFr57ib/d16r8mfS8Lf7xL0f5o5KiiivhD78KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAq3t7Z6ZZXGo6jPHa2lrG0s00rBI440G5ndmwFVQCSTwBX4s/tB/8FT9Qt9Wu/DX7PemwPZ27GM61qEbOZiDgtbW2VCr/daXcWH8C19Af8FR/ihqfgv4Faf4L0edrefxrf8A2a4ZTgtZWyebMgPX53MQb1XcDwa/HL9ln9mrxJ+038RP+ES0uc6ZpFhH9o1TUfL8xbaE5CKq5UNJKw2ouR/E3RTX0+T5dS9k8TX2Plc6zKt7VYbD7m/qv7dn7WWrzvPcfES8hLnO23htrdR7ARRLxWT/AMNpftUf9FK1X/vtP/iK/dLwb/wTr/ZT8J6fbW954VfxDewqA93qV3cO8p9WijeOAfRYx+Nejf8ADGP7LP8A0TXSP+/Tf/FV0SzrBrSNL8Ec0cjxz1lV/Fn88/8Aw2l+1R/0UrVf++0/+Io/4bS/ao/6KVqv/faf/EV/Qx/wxj+yz/0TXSP+/Tf/ABVH/DGP7LP/AETXSP8Av03/AMVS/tzCf8+vwRX9g4z/AJ/fiz80P+CeX7Rfxv8Ail8f5PDHxB8Y32u6UNHvJxb3DKU82N4grcKOQGP51+5deNeAf2efgl8LdbfxJ8PfB2n6FqkkLW5uLePEnlOQzKCScAlRnHpXsteBmWJp1anPTjZH0OWYWpRpclWV2FFFFcB6AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXvfgf/kWrX6yf+hmvBK978D/APItWv1k/wDQzX0XDP8AvD9P1R83xT/u69V+TOtooor7o/PwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPlrxL/AMjDqX/XxL/6EaxK2/Ev/Iw6l/18S/8AoRrEoNAooooAKKKKACiiigAooooAKKKKACvxu/4K6f8AIP8Ahd/111j/ANBtK/ZGvxu/4K6f8g/4Xf8AXXWP/QbSgTPTv+CUP/JCfFH/AGMk3/pHa1+odfl5/wAEof8AkhPij/sZJv8A0jta/UOgaCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8k+P3/JCPiP/wBi3rH/AKRy163Xknx+/wCSEfEf/sW9Y/8ASOWgD+eD9gX/AJO4+H//AF1v/wD033Nf09V/ML+wL/ydx8P/APrrf/8Apvua/p6oFEKKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAfUvhr/AJF7Tf8Ar3i/9BFbdYnhr/kXtN/694v/AEEVt0EMKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB+f/xz/wCSnar/ALtv/wCiEr039mP/AF/iL/dtf5y15l8c/wDkp2q/7tv/AOiEr039mP8A1/iL/dtf5y1+l4//AJE6/wAMf0Pk8N/vz9X+p9Z0UUV+aH1gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9X9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A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++fJH2OSfwPmwooor5g9cKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvBPHH/Iy3X0j/APQFr3uvBPHH/Iy3X0j/APQFr57ib/d16r8mfS8Lf7xL0f5o5KiiivhD78KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK+e/ip+1T8Avgz50HjrxjZwahDkGwtmN3e7uwMEAd0z2LhR71pTpSm+WCuzOrVjBc03ZH0JSEhQWY4A5JNfin8Vf+CtTnzrD4L+DgvULf62+T6ZFrbt+IJm+q9q/Nb4qftRfHr4zGWLx74xvbqwmzmxgYWtljsDbwBEbHYuGb3r28Nw7XnrP3V+J4OK4lw8NIe8/wP6Kfir+2v8As3fCLzrbX/F0Gp6nDkGw0n/TrjcOqt5Z8uNvaR0r81vir/wVl8Yan52n/B3wpb6JAcqt7qrfarkjsywR7Yo29maUV+cPwx+APxl+MkwT4beEr7WoS2w3KR+XaI3cPcylIVPsXBr9H/hZ/wAEmfF+peTf/GDxZb6NCcM1lpSG6uCO6tPJsjRvdVlFep/Z+Bw38aV3/XRfqeV/aOPxWlGNl/XV/oQ/sAfHb4wfGP8AalluPiV4sv8AXEGiXzrbyybLWNvMh5jto9sKHnqqCv3br5o+B37I/wADv2fLk6t8P9Gk/tp4Wt5NSvJ3nunjYgsvaNASozsRc4r6Xr53NMTTq1eakrKx9LlWFqUqXLVd3e4UUUV5x6QUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXvfgf/AJFq1+sn/oZrwSve/A//ACLVr9ZP/QzX0XDP+8P0/VHzfFP+7r1X5M62iiivuj8/CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+WvEv/Iw6l/18S/8AoRrErb8S/wDIw6l/18S/+hGsSg0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+pfDX/ACL2m/8AXvF/6CK26xPDX/Ivab/17xf+gitughhRRRQIKKKK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hb/goz8T/APxc+NegeLvhvrcGvaS3hu0hM0BYbJVu7tjG6OFdHCspKsAQCDjkV758Vf+CTfjXSvO1D4PeKrfXYBllstTX7JcgdlWZN0Uje7CIV+b3xK+Bfxf+D9ybb4k+E7/AENd21Z5Yi1q7eiXEe6F/wDgLmvRy6hg/ae1w8te3/Aep5uZV8b7J0sRHTv/AMFaH9AX/BNH/k0/Qv8Ar/1L/wBKGr76r+UD4LftcfHf4CWsek+AfEBGipI0h0y8iS5tCznLYVhvj3Hk+W6Enqa/TX4Wf8FafDl95Nh8Y/CE2mSnAa+0d/tEJJ7m3mKyIo9pJD7V4+Z5JXdSVSCum7ns5XnuHVKNKbs0ran7FUV418K/2hPgx8aos/DTxZZaxcKnmPaBjDeIgwCzW0oSUKCcFtuM969lr56dOUXaSsz6SnUjNc0XdBRRRUFhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFe9+B/+RatfrJ/6Ga8Er3vwP8A8i1a/WT/ANDNfRcM/wC8P0/VHzfFP+7r1X5M62iiivuj8/CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+WvEv8AyMOpf9fEv/oRrErb8S/8jDqX/XxL/wChGsSg0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+pfDX/Ivab/17xf+gitusTw1/wAi9pv/AF7xf+gitughhRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPz/8Ajn/yU7Vf923/APRCV6b+zH/r/EX+7a/zlrzL45/8lO1X/dt//RCV6b+zH/r/ABF/u2v85a/S8f8A8idf4Y/ofJ4b/fn6v9T6zooor80PrAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo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m0/aW+BPhn4wQWP9lz6vHLHd2gbesF1aytBMqt1KFkLJnnYRnnNAH0NRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB8teJf+Rh1L/r4l/9CNYlbfiX/kYdS/6+Jf8A0I1iUGgUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH1L4a/5F7Tf+veL/wBBFbdYnhr/AJF7Tf8Ar3i/9BFbdBDCiiigQUUUUAFFFFABRX53/wDBRH9s/Wv2QvAfh8+C9NttR8V+L57mKzN6Ga2t4LRUM8zIjIzsDLGqLuAySSfl2t+Rfw1/4LHftIaL4wsbr4lWmleIvDbzoL22gs/stysBPzm3kRwA6jlRIGB6HGcgA/qEoqtZ3dvf2kF9aOJILlFkjYdGRxlSPqDVmgAooooAKKKKACiiigD8/wD45/8AJTtV/wB23/8ARCV6b+zH/r/EX+7a/wA5a8y+Of8AyU7Vf923/wDRCV6b+zH/AK/xF/u2v85a/S8f/wAidf4Y/ofJ4b/fn6v9T6zooor80PrAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9P9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A1Ef+6P5V9fxttS+f6Hh8P/b+X6ktFFFfBH0gUUUUAFFFFABRRRQAVxfxJ8FWXxJ+Hfij4d6jKYLXxRpd7pcsijcUS9geBmAOMlQ+QM12lFAH8h3in/glt+2p4e8RT6Hp3gdNftkkKQ39lqFkLadQeHHnzRSID6SIhHp3r99v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2ouLu/ELb4o57yd5jEjdD5SsqEjhmBYcGgD6xooooAKKKKACiiigAooooAKKKKACiiigAooooA+WvEv/ACMOpf8AXxL/AOhGsStvxL/yMOpf9fEv/oRrEoNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPqXw1/yL2m/wDXvF/6CK26xPDX/Ivab/17xf8AoIrboIYUUUUCCiiigAooooA+Df29v20F/Y78BaLqOj6NFrvijxTPPBp0Fy7JbRpbKrTzzbMO4QyRqEUqWLZ3DHP5VfDX/gtX8YIvGFgnxZ8IaFdeGJp0W7OkxXVteQQscNJGZridHKD5thUbsY3rnI+7v+CqX7J/xI/aR8BeEfEXwoshrGu+CZ73fpwdI5bi1v1i8xoi7KrPG0CfITlgx28gK34hfDb/AIJzftcfEHxfY+GrvwBqHhmymmVLnUdUjFtbW0WfnlO8hpNo5CxhmboPWgD+xC3uIbu3iurZxJFMqujDoysMgj6ipqoaVp0GkaXZ6TbFjDZQxwIWOWKxqFGT3OBzV+gAooooAKKKKACiiigD8/8A45/8lO1X/dt//RCV6b+zH/r/ABF/u2v85a8y+Of/ACU7Vf8Adt//AEQlem/sx/6/xF/u2v8AOWv0vH/8idf4Y/ofJ4b/AH5+r/U+s6KKK/ND6wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//1f38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABRRWH4n8R6R4O8Nat4u1+b7PpeiWk99dy4LeXb20bSyNgcnCqTigDcor+dDxT/AMFuviA/iKdvBXw40uLQVkIhXULieS7eIHhnaIpGjMOSArBemWxk/sN+x7+1L4f/AGt/hGnxI0jTX0W+s7uTT9SsHk80W93EiSfJJtXfG6SIyttHUqeVNAH1TRRRQAUUUUAFFFFABRRRQB5b8av+SY63/uw/+j46/PWv0K+NX/JMdb/3Yf8A0fHX561+lcG/7tL/ABfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB8vftffCq8+K3wY1Gw0aHz9X0WRdSs0A+aRoFYSRrjkl4mbaO7bRX5E/s2fHzUfgH44bWWge+0PU0WDUrVCA7opykkeSB5kZJ254ILLkZyP6F6/OP8AaU/Yei8b6leePPhK8VjrF0xlutNkIjt7iQ8tJC/SORjyyt8jHnKnOfk8/wArrOpHF4b44ntZbjIKDoVtmfanw5+Lnw8+K+kx6v4H1mG/Vhl4NwS5hPdZIWw6keuMHqCRzX4i/Ev/AJO81b/sbF/9Klrx3xd8N/iL8N79rfxfoN9os0LYEksTLGT6pMMow91Yj3riDPO05uTIxmLb9+Tu3ZznPXOec18xm2ezrxhCrC0ou/8AS6HsYLLo0nKUJXTP6htZ13RPDthJqniDULfTLOIEvNcyrDGoHPLOQBX5G/tj/tY6P8RdOPwu+Gs7XGiCVX1C/AKrdNEdyRRA4JiVgGZiPmYDb8oy3wFbW3iXxXfJaWcV3rF433Y41kuJT9FG419sfBT9hH4heNLy31b4mxyeFdBGHaJtv2+cf3Vj58nPcyDcOyGvRxGdYrHx9hh6dk9+v46JHLSy+jhn7SrK7R2//BO/4VXt94n1T4u6jDtsNMiewsWYffuptvmuntHH8pPfzMdjX661g+GPDGg+DNAsfC/hizj0/TNOjEUEMYwqqP1JJyWY5JJJJJJrer7DKcvWFoKkt+vqeFjcU61RzCiiivSOQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD339nL/kfLn/rwl/9GR19v18Qfs5f8j5c/wDXhL/6Mjr7fr8u4t/3z5I+xyT+B82FFFFfMHrhRRRQAUUUUAFFFFABRRRQAUUUUAFFFfE37cH7Zei/sdeAtK1x9HPiHxD4kuJbfTLEy+REfIUNNNLIFYhI96Dao3MWABAywAPtmiv56Phr/wAFsvFFx4wsbT4r+AtOt/DdzOkdxc6XNOLm1iY4MoSUyCXYOSg2Ejoc4r+hOGWK4iSeFg8cihlYcgqRkEfWgCSiiigAooooAKKKKACiiigAooooAKKKKACvBPHH/Iy3X0j/APQFr3uvBPHH/Iy3X0j/APQFr57ib/d16r8mfS8Lf7xL0f5o5KiiivhD78KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACve/A/wDyLVr9ZP8A0M14JXvfgf8A5Fq1+sn/AKGa+i4Z/wB4fp+qPm+Kf93XqvyZ1tFFFfdH5+FFFFABRRRQAUUUUAFFFFABRRRQAUUV5b8bPi14b+BXwq8S/FvxaskmmeGrU3EkcWPMmdmEcUSZ4DSSMqAngFsnigD1Kiv5w5v+C3nxROtme3+GmjLo+8kW7Xdwbny88DzxhN2O/k4z27V+637Pvxs8N/tE/CDw78YPCkMlrY69C7NbzEGS3nhkaGeFiMBtkiMAwADDDAYNAHs1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHy14l/5GHUv+viX/ANCNYlbfiX/kYdS/6+Jf/QjWJQaBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfUvhr/AJF7Tf8Ar3i/9BFbdYnhr/kXtN/694v/AEEVt0EMKKKKBBRRRQAUUUUAFFfE37cH7Zei/sdeAtK1x9HPiHxD4kuJbfTLEy+REfIUNNNLIFYhI96Dao3MWABAyw/MH4a/8FsvFFx4wsbT4r+AtOt/DdzOkdxc6XNOLm1iY4MoSUyCXYOSg2Ejoc4oA/oXoqOGWK4iSeFg8cihlYcgqRkEfWpKACiiigAooooAKKKKAPz/APjn/wAlO1X/AHbf/wBEJXpv7Mf+v8Rf7tr/ADlrzL45/wDJTtV/3bf/ANEJXpv7Mf8Ar/EX+7a/zlr9Lx//ACJ1/hj+h8nhv9+fq/1PrOiiivzQ+sCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/1v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8t+NX/ACTHW/8Adh/9Hx16lXlvxq/5Jjrf+7D/AOj467ss/wB5pf4l+Zz4v+FP0f5H561+q9v/AKiP/dH8q/Kiv1Xt/wDUR/7o/lX1/G21L5/oeHw/9v5fqS0UUV8EfSBRRRQAUUUUAFFFFABXnnxc8Dt8TfhT4z+HCzrbN4q0bUNKErZKxm9t3gDnHOFL5OK9DooA/ih8U/sWftYeEfEVx4Y1H4UeJLq6gkMYlsdMuL61lIP3ori3SSJ1PXIb64r+jb/gl1+zn8Qf2efgFqFt8T7I6Tr3irVX1L7A7K0trbCGOGJZtpIWRtjOVzlQVDYYMB+lFFABRRRQAUUUUAFFFFABRRRQB5b8av8AkmOt/wC7D/6Pjr89a/Qr41f8kx1v/dh/9Hx1+etfpXBv+7S/xfoj5PPv4q9P1YUUUV9ceGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGfqGraVpKJJqt7DZLIcKZpFjDEdgWIzTdP1nSNXEh0m+gvRFjf5Eqybd2cZ2k4zg4r86v+Ckv/IleDf8AsIXH/ooVz/8AwTR/48/iH/100v8AldV4Tzl/Xlg+X538r7HpLAL6v7e/y+dj9R6KKK9080ZJFHNG0UyB0cYZWGQQexBrlJvAHgO5lE9x4b02WUchns4Wb8yua/Hr4iftn/tA+HviB4n0DS9cgjstN1S9toENlbMVihndEBJjJOFA5PJr9pdLnkudNtLmY5klhjdj0yWUE15OBzSji5SjBfD3X9djtxODqUUnJ79hLDS9M0qMw6XaQ2cZ6rDGsYOPZQKv0UV6qVtjibCiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA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ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXgnjj/AJGW6+kf/oC173Xgnjj/AJGW6+kf/oC189xN/u69V+TPpeFv94l6P80clRRRXwh9+FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXvfgf/kWrX6yf+hmvBK978D/8i1a/WT/0M19Fwz/vD9P1R83xT/u69V+TOtooor7o/PwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPlrxL/yMOpf9fEv/oRrErb8S/8AIw6l/wBfEv8A6EaxKDQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD6l8Nf8i9pv/XvF/wCgitusTw1/yL2m/wDXvF/6CK26CGFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooA/P/AOOf/JTtV/3bf/0Qlem/sx/6/wARf7tr/OWvMvjn/wAlO1X/AHbf/wBEJXpv7Mf+v8Rf7tr/ADlr9Lx//InX+GP6HyeG/wB+fq/1PrOiiivzQ+sCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9D9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvLfjV/wAkx1v/AHYf/R8depV5b8av+SY63/uw/wDo+Ou7LP8AeaX+Jfmc+L/hT9H+R+etfqvb/wCoj/3R/Kvyor9V7f8A1Ef+6P5V9fxttS+f6Hh8P/b+X6ktFFFfBH0gUUUUAFFFFABRRRQAUUUU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UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAe+/s5f8j5c/9eEv/oyOvt+viD9nL/kfLn/rwl/9GR19v1+XcW/758kfY5J/A+bCiiivmD1wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8E8cf8jLdfSP8A9AWve68E8cf8jLdfSP8A9AWvnuJv93XqvyZ9Lwt/vEvR/mjkqKKK+EPvwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK978D/APItWv1k/wDQzXgle9+B/wDkWrX6yf8AoZr6Lhn/AHh+n6o+b4p/3deq/JnW0UUV90fn4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHy14l/wCRh1L/AK+Jf/QjWJW34l/5GHUv+viX/wBCNYlBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB9S+Gv+Re03/r3i/9BFbdYnhr/kXtN/694v8A0EVt0EMKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB+f/wAc/wDkp2q/7tv/AOiEr039mP8A1/iL/dtf5y15l8c/+Snar/u2/wD6ISvTf2Y/9f4i/wB21/nLX6Xj/wDkTr/DH9D5PDf78/V/qfWdFFFfmh9YFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//S/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA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AFFFFABRRRQB77+zl/yPlz/14S/+jI6+36+IP2cv+R8uf+vCX/0ZHX2/X5dxb/vnyR9jkn8D5sKKKK+YPXCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArwTxwP8Aipbr6R/+gCve68M8fxGPxCz/APPSNG/9l/pXz/Eqvh16r9T6TheVsS/R/mjiqKKK+DP0AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvfPA4I8M2hPcyf+htXgdfQ3hOIw+HbFCMZTd/30S39a+k4Yj+/k/L9UfM8VS/2eK8/wBGdFRRRX3B8CFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB86/EG1+z+J53HAnVJB+W0/qK4mvZvijpskkNpqka5WLdG5x0DYK/hnP514zQWgooooGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFSwQyXM8dvCMvKwRR6ljgVFXZ+A9NOoeI7dyuY7XMzf8B+7/AOPYoA+io41ijWJBhUAUD2HFPoooMwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPz/+Of8AyU7Vf923/wDRCV6b+zH/AK/xF/u2v85a8y+Of/JTtV/3bf8A9EJXpv7Mf+v8Rf7tr/OWv0vH/wDInX+GP6HyeG/35+r/AFPrOiiivzQ+sCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Q/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAry341f8AJMdb/wB2H/0fHXqVeW/Gr/kmOt/7sP8A6Pjruyz/AHml/iX5nPi/4U/R/kfnrX6r2/8AqI/90fyr8qK/Ve3/ANRH/uj+VfX8bbUvn+h4fD/2/l+pLRRRXwR9IFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeafGGIzfDXXEAziJG/75kRv6V+d1fp14v046v4V1fTFGXubSZF7/MUO3174r8xa/ReC6idGcOz/ADX/AAD5bP4/vIvyCiiivszwAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD6G/Zti3eNL+bsmnuPxaWL/CvtavlT9mXTXCa7q7p8jGGBG9xuZx+q19V1+UcU1FLGyS6WX4H2mTxth18wooor549QKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvKfiTaNvs74D5cNGfr1H9a9Wrm/FmmDVNEnjAzJCPNT13KDx+IyK87NcO6uHlFb/AOR6WUYlUsTCT22+8+e6KKK/ND9SCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigB8aPK6xxjczkAD1J6V9OWdutnaQWiHKwIqD6KMV4b4L03+0NdiZhmO2/et6ZX7v64r3uvs+GMPaEqj66fcfD8VYm840l01+8KKKK+pPkwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMvWtNj1jS7jTpOBMuAfRhyD+BFfLNxBJazyW0w2yRMVYehBwa+uq8d+I/hshv7fs04OFnA/IP/Q/h70FJnkNFFFBQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV778OtF/s/SDqEy4mvsMPaMfd/Pk/lXlvhDw7J4g1NVkU/ZICGmb1HZQfVv5ZNfSaqqKEQBVUYAHAAFBMmOooooJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/P8A+Of/ACU7Vf8Adt//AEQlem/sx/6/xF/u2v8AOWvMvjn/AMlO1X/dt/8A0Qlem/sx/wCv8Rf7tr/OWv0vH/8AInX+GP6HyeG/35+r/U+s6KKK/ND6wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//R/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAry341f8AJMdb/wB2H/0fHXqVeW/Gr/kmOt/7sP8A6Pjruyz/AHml/iX5nPi/4U/R/kfnrX6r2/8AqI/90fyr8qK/Ve3/ANRH/uj+VfX8bbUvn+h4fD/2/l+pLRRRXwR9IFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfm58SPDsvhfxpqmmSAeWZTNEQMAxS/OuB7Z2n3Br9I6+af2ifBxv8ATLbxhZR7prD9zcY6mFjlWP8AuMT/AN9e1fTcK45UsTyS2lp8+n+XzPIznD89LmW6Pjmiiiv1I+OCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK774a+EJPGni2z0pkJs0PnXTDosKckZ7bjhR7nNZV60acHUnsi6dNzkox3Z9mfBvw63hzwBp8Uy7Z77N3KPeYArn3CBQfevUqRVVFCIAFUYAHAAFLX4niq7q1JVJbt3P0GjSUIKC6BRRRWBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABQRng0UUAfP/i7Rm0jVn2LiC4y8Z7c9R+B/TFcvX0Z4g0WLXNPe1c7ZF+aNvRh/Q9DXz1c209nO9tcoY5YzhlPUGvz3OsudGrzR+F/1Y/SMizJV6XLJ+8t/8yCiiivFPcCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK7vwV4cOp3Q1G7T/RYD8oPR3Hb6Dqfy9a6MLhpVqipw3ZzYvFQo03UnsjvvBejNpOlCSddtxdYdx3A/hH4Dn6k119FFfp2HoRpQVOOyPyvE4iVWo6kt2FFFFbGAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUcsUc8TwzKHjcFWU8gg9QakooA+dPGHhOXQLk3FsC9jKcqeTsz/AAsf5Hv9a4qvrq4t4LuB7a5QSRSDaytyCDXh3ijwBdacz3ujq1xa9SnV0/8Aih+vr60Fpnm1FFFAwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK1dG0a91y9SxsUyx5Zj91F7sx9K0vD3hTU/EMoMK+TbA4aZh8o9Qv94+w/EivoHRNC0/QbT7LYJjOC7nlnI7k/06CgTYuh6LaaFp8dhajO3l3xgu3dj/T0HFa9FFBAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB+f8A8c/+Snar/u2//ohK9N/Zj/1/iL/dtf5y15l8c/8Akp2q/wC7b/8AohK9N/Zj/wBf4i/3bX+ctfpeP/5E6/wx/Q+Tw3+/P1f6n1nRRRX5ofWBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9L9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo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BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRVHU71NN0271GQgJaxSSnPTCKWPp6U4pt2Qm7an5o+LLz+0PFOsX46XF5cSD6NIxFfYf7OtobfwFLM3/LzeyuPoERP5qa+HSSTk8k1+hnwas/sXw10WMjDSJJKffzJGYfoRX6TxY1DBxgu6X3JnymSrmruXkz0+iiivzU+sCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/V/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/Ov4u6cNM+I2twBcLLMJx7+eokJ/NjXt/7M2pBrTXNIZsGN4Z1HrvDKx/Dav51yn7SOk/ZfFGnauuAt9bFDzyXgbk/98utYX7P2rHTviBHZMfk1K3lhPOBuUeYD7n5CB9a/TMR/tGU3X8q/8l3/ACPkqX7rG28/zPu2iiivzM+tCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK84+Lmof2b8Odcn3FTJCIRjqfOYRkfkxz7V6PXzh+0lq7WvhvTNGQ4N/cNI3qVgXp+bivSyeh7TFU4ef5anJjqnJRlLyPjKv1F0DT10jQtO0pBgWdvFDj/rmgX+lfnP4D0c694y0fSsZWa5jL9/3aHe//AI6DX6X19RxrX1p0/V/1+J4/D9PSUwooor4U+jCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/1v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPAP2itH+2+C4NUXG7TblSeM/JL8h57fNt9v0r4+8Naw3h/xDp2tqu77FPHKV9QrAkfiOK/R/xZoyeIfDOp6LIu77XbyIvs+MofqGwa/MVlZGKsCCDgg9Qa/R+EqyqYadCXR/g/6Z8rndNwrRqLr+h+rEciSxrLGcq4BB9j0p9eZ/CDxD/wkfgHTbh23T2i/ZZf96HgZ9ym0n616ZX5/iaDpVJU5bp2PpqVRTipLqFFFFYGgUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfDX7Qut/2l44XTI2zHpdukZGcjzJP3jH2OCoP0r7guJ4bWCS5uGCRQqXdj0CqMk/gK/MDxDq8uv67qGtTZDX08k2D/CHYkL1PAHA5r7Dg7C81eVV/ZX4v/gXPCz6tamod/wBD2f8AZ10X7f4zn1d0zHpduxVvSWb5F/NN9fbteAfs7aGNP8GTay6gSarcMQ3HMUPyKPXh9/5/n7/Xm8S4n2uMnbZafd/wbnXlNHkoR89QooorwT0gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr87/AIveHv8AhHPH2pW6Ltgu2+1Rf7s3Jx7B9w/Cv0Qr5s/aO8MLeaHZ+KoVPnae4hl6YMMp4J78PgDn+I19JwtjPZYpRe0tP8v68zys5oc9FtbrU5H9m3xD9n1XUvDEzYW7jFxECf44/lYD3KkH/gNfYNfmJ4U1+48L+I9P162JDWkqswH8UZ4df+BKSPxr9Nba4gu7eK7tZBLDMqujqchlYZBB9CK6OLsFyYhVVtL81/SMsjxHNS5H0JqKKK+TPaCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKoapqul6Hp8+ra1eQ6fY2ql5p7iRYoo0HVndyFUe5NeMfDP9pr4E/GXxhrXgX4W+MbPxNq/h+FLi8WyLyQrE7lA0c+3ypQGwGMbsBkZ6igD3aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKjmmit4nnndY4o1LMzHCqoGSSTwAB1oAkor56+EX7V37O3x2YW/wt8d6drF8SR9iMhtr35epFrcCOYr/tBCvvX0LQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRX5sftk/wDBQLX/ANkbxnZ6DcfCPUfE2gXlrFImum8exsmupC+61RzaTIzoihj+8B+b7uBkgH6T0V+Bf/D8uy/6IxJ/4UA/+QK/Rn9jX9rbxf8AtYaZrfiHVfhZf+AdD09LZrG/urp7mDUjP5m8W7Na24YRBAWZS4+YA44yAfbdFFfjv+0D/wAFWte/Z9+KGufDrxL8DtSEOnXdxBY395qT2CalbwSGNbqBHsWDRSYyrK7DB60AfsRRX4Gp/wAFybSRgifBeVmY4AHiAEknsP8AQK/YL9nb4r+KvjX8K9N+IvjDwPefD2+1KSYLpN/I0k6wxuVjlJeGBgJQNygxjjBGQQSAe4UUU1mVFLuQqqMkngACgB1Ffi9+1t/wVx8H/Dm8uvAn7ONtbeMfEEDmKfV7gM2lW7A4KwhGRrpwf4lZYhwQ0gyKj/Ym0f8A4KNfEb4z6P8AHn496xcad4DltblJNJ1GQWYuILmI+S1vpluoWNkkEbCSdUcoDgtu5AP2looooAKKKKACiiigAooooAKKKKACiiigAooooAKK+M/2uP22/ht+x6nhkeOtK1HWZ/FJu/s8OmiEvGln5W95POkjABMqhcZzg+lO/ZH/AG0/A/7YUPie58D+HdW0WDws1ok0mpLAEle8EpVYzDLJkqIiWzjG5fWgD7KooooAKKKKACiiigAoor5H/a08A/tUePPD+jQ/su+O7HwRqFk9zJf/AGyME3gKoII0kME+zaQ5J2jJK84BoA+uKK/jf8U/tz/twaHr2peG/EPxR1e11HSbma0uYkaBPLngcxyLmJADhlIyDiv6sf2ao/Gyfs//AA+l+JGpz6v4outFs7nUbm5x5zXFzGJmV8AAmPfszjnbk5PNAHt9FFFABRRRQAUUUUAFFFFABRRRQAUUV+FX7Xy/8FKfgV8ZPF/x8+GGtT6v8O7qVJksbFxqNpZWUEaxgT6dcKWiJVN8ssCkZJZpF7AH7q0V+RP7Hv8AwVZ8B/G3UdN+HPxns4fBnjO9ZYLe7jY/2TfzHhVVpGLW8jnhUcsrHgSbiEr9dqACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8g+OHiIaD4Bu4I3C3GqEWiDPO1+ZDj02Aj8R9D8FWlrPfXcNlaoZJrh1jRR1ZnOAPxJr3D9oHxP/bPjFdFgbNvo0fl8HIM0mGkP4DauOxBqn8BvDH9veNo9RnTdbaOv2hj2808RD65yw/3a/TsngsHl7rS3fvf5L8j5HHydfFKmvT/ADPtnQNIg0DRLHRbbmOyhSIHGN2wYLH3J5Na9FFfmc5uTcnuz62KSVkFFFFSMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Q/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKytd0m317Rr3RrsZivYXib23DAI9weRWrRVQk4tSW6E0mrM/LPVdMutG1O60m+XbcWc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tr+3ktblLa3jjghDxSqrgFlkZcjkNkcV+pFFFABX8s//AAWR8FweHf2rbLxLaxbF8V+H7K7mcfx3FvJNaHPuIoYv0r+piv51/wDguFaInjb4U34xvm07VIj64jmgYf8AoZoA/Qn/AIJSeOpPGn7GXhmxuJjPceFr3UNIdickCOY3ESn/AHYZ0UD0Ar9H6/F//giXqHmfAXx3pWf+PfxKZsf9drK3X/2nX7QUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcz4v8T2Xg/w9ea9fEEW6/ImcGSQ8Ig+p/IZPavzW1LULvVtQudUvn8y4u5GlkbplnOTx257V7Z8d/Hi+JdeXw9p0m7T9IZgxB+WW46M30TlR/wLHBrjfhb4Jfxx4qgsZVP2C1xNdNzjy1P3M+rnj1xk9q/S8gwccHhXiK2jau/Toj5LM67r1lShsvzPpz4B+DToHhg+ILxNt5rQV1z1W3H+rH/Avv8AHUEele801ESNFjjUKqgAADAAHQAU6vz/AB2LlXqyqy3Z9Ph6CpwUF0CiiiuQ2CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArO1fSrHXNMudI1KPzbW7jMci9OD6HsR1B7HmtGiqjJp3W4mk1Zn5meMvCt74N8Q3WhXuW8lsxPjAkiJ+Rx9R19DkV7h8AfiEunXZ8FatKRBdvutHY8JK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4K0KHRdMUHYN0spGGmkP3nb69hzgYHavus3zGngKCoUPi6eXmz5zA4WWJqOpU2/rQ6Gzs7XT7SGxsYlgt4FCRogwqqowABVmiivzNu+rPrkgooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9T9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDJ13Q9M8SaVcaNq8ImtbldrA9R6Mp7EHkHsa/Pb4geANV8BaubK8BltJiTbzgcSKOx9GHcV+j9c94o8L6R4v0iXRtai8yGTlWHDxuOjoexH69DkEiveyPOpYSdnrB7r9UebmOXqtHT4kfCPw0+JGoeAdVBYtPpdwwFxAD2/vpngMP16H1r760XWtM8Q6bDq2kTrcW04yrL+oI6gjuDX53+O/AeseA9XbT9RUyW8hJguFGElT+jDuvb3GCdH4d/EnVvAGo74c3GnTsPPtyeCP7yejDse/Q19ZnOS08ZD6xh3735/8AB/pni4DHyoS9lV2/I/RSisDw34m0bxbpUWsaJOJoJOCOjxtjJRx2Yd/zGRg1v1+cVKcoycZKzR9VGSaugoooqCgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr4L/bq/Yg8NfteeDLe4sbiPRfHvh+OQaVqLr+7lRvmNpdbQWMLNyrDLRMSyggur/elFAH8p37N37UPx5/4Jv/ABD1D4TfGLwxeyeFrqfzLzR7j5JIWztN7pspPlOGA52sY5cD5lI3D+jT4HftP/Az9ozTDf8Awl8V2ur3EUYluLBiYb+2XIBMttJtkVQx27wChP3WNdf8Vfgv8K/jf4e/4Rb4seGbPxLpqktGl0n7yFyMF4ZVKyRMRxujZTjjNfPn7Of7CHwR/Zc+IniH4ifC7+0Fn1+yWxFteTrcRWkPmiWRYHKCXDskefMdz8o5oA+0aKKKACiiigAooooAKKKKACv5MP8AgrN8Qv8AhN/2xdb0eGXzLbwdp9hpEZB+Xd5Zu5ce4kuGU+6+1f1n1+fHj7/gmN+yn8TPG+u/ELxbpmqXOs+Irye/u5F1KZFM1w5dtqjhVBOFUcAYAoA81/4JJ+N/hvN+yhoXgzStbsj4ntL/AFJ9R0/z0W7WWW5donMJIcq0Hl4YDBwRnKnH6o18E/Cz/gmz+yz8HfiBovxM8FaRqEeuaBKZ7Rp9QlmjWQoyZKNwcBiRnocGvvagAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACori4gtIJLq6kWGGFS7u5CqiqMlmJ4AA5JNS1T1HT7LV9PutK1KFbi0vYngmicZV45FKupHoQSDQB+VX7Vv8AwVZ+Dfwh0u78OfBS7tviD4zbdGskDF9Js26eZLcLhZyD0SFiDyGdO/5gfstfsP8Axu/bc+JEvxv+PM1/Y+DtXuDfX2q3X7u71ckjEVkjDiMjCiUKIo0G2PJUKP2R+DH/AAS//ZM+D9zHq0/h+Xxrq0L70udfkW6jjOcgLaqqW5A4wXjdhj71foZHGkSLFEoREACqBgADoAPSgDG8M+GtB8G+HtN8J+F7GLTdI0e3jtbS2hG2OGCFQqIo9AB9fWtyiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD8wv2tf8Agl98H/2h7y/8ceCJh4E8c3jNLNcwR+ZYX0p5LXNsCNrsessRUkks6yGvIP2JP2fv2+v2dPjTpvw9+IXiBdT+Dtta3byNHdx39llIytvDaicLdWx81lfaqIhUMME8j9nKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/EP9rz/AIJGj4o+ONW+J/wC12z0G/1yaS7vtH1ISJZtcykvJLbzxLI0fmMSxjaMqGJ2sq4UeS+DPh3/AMFn/gposPhPwfN/bei6coit47i+0XUFSKMbUWN75xcLGFACoCABgBRX9C1FAH86njT9nb/gr1+0naf8Ip8W9YTRtCuM+ZDNqWnWVm6n+GeLRw7yr32yI+PrX2d+yB/wSw+HX7P+t2PxG+Juop458Z2DLNaKIjHpunzryJIo2JaaRTykkgUKcMsauAw/V2igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvw9/az/Ze/b+/ag+OXibwNbeJo9K+DkM0Dae9xdJaWEkDxJKUe2tQ1xcyRSFlzMhXcuVZRjH7hUUAfnb+yT/AME3vgx+zG1r4r1MDxr48hw66tewhYrR/wDpytiXWIj/AJ6MWk64ZQStfolRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFIzKil3ICqMkngACmTTRW8Tz3DrHFGpZ3YhVVQMkkngADqa+Mvi58ZT4jSTw34VkaPTDlZ58FWuP9le4j9c4LdOB19PK8rqYqpyQ26vscmMxkKMeaX3F74zfF+DWYn8J+FJy1mT/AKVcocCYY/1aH+5/eP8AF0Hy53fO2k6Vf63qVtpGmRGe6u3EcaDuT6nsB1JPAHJ4pum6bf6xfwaZpkDXN1csEjjQZLE/07kngDk8V96fC74XWHgKw+1XW251m5XE0w5CA8+XHn+H1PVj7YA+/wATiaGV4dU6esnt5vu/68j5mlSqYyrzS2/rRGl8Nfh1YfD7SDbowuNQutrXM/YkdET0RcnHc9T6D0iiivzPEYidWbqVHds+tpUowioxWiCiiisTQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//V/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMLxH4c0nxVpM2j6xCJYJRwf4kbsynsRXwR8Q/hrrPgC/xODc6bMxEF0o+U/wCy/wDdfHbv1GecfopVDU9LsNZsJtM1OBbi2nXa6OMgj/EdjXuZNndTCStvF7r/ACPPx+XxrLs+5+b/AIP8aa54I1QalosoGcCWJ+Y5V9GH8iMEV94eBPiNoHj2y83T38i9jAM1q5HmIe5H95c/xAfUA8V8s/E34Laj4TaXWfD4e90f7zD70tuO+7H3kH97t39T4rp2pX+kXsWo6ZO9tcwnKSIcMDX2mMy7DZlT9rSfvd/0Z8/QxVXCT5JrT+tj9T6K+cfhx8d7HWfL0fxiUsr44VLnhYZT0+b+4x/75Pt0r6NVldQ6EFWGQRyCDX53jsBVw8+Sqrfr6H1OHxMKseaDFooorjNwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArI1zXtI8N6dJqutXKWttEOWY8scEhVHVmOOAOTXDfED4reHvAsDQO4vdUYfJaxsMg9jIedg578nsOpHxB4v8b+IPG+ofb9cuNyrnyoUysUQPZV/mTknua+jyfh2ribTnpDv39P8AM8rHZpCl7sdZHa/Ez4u6p45lOn2Aax0aNiViziSX0MpBI+ijge5ANeb+H/D2seKNUi0fQ7c3NzLk4HAVR1ZieAB6n6dSBXReBfh5r/j2/wDs+mR+TaRn99dSA+VGBjIyPvPg8KOfXAya+7/BfgbQfA2mDT9HizI3Ms7gGWVv9ogDgdlHA+uSfq8fmuHy+n7Cgve7fq/6ueLhsHVxU/aVHp/WxifDf4aaV4B00DC3OqTgGe5x3/uR55CD826nsB6ZRRX5xiMROrN1Kju2fV0qUYRUYrQKKKKwNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9b9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEIBBBGQa+b/iP8B7HVhLrHg0LZ3v3ntjxDKe+z+4x9Pun2619I0V24HH1cPPnpO36+phiMNCrHlmj8sdR03UNIvJNP1O3e1uYTho5FKsD+Pb0PevTfAPxg8R+CmSymY6jpWebeVjlATyYm6r9DlfbPNfZ/i/wH4b8bWf2bW7YGVQfLnTCzRk/3Wx09jkHuK+M/HXwa8UeDjJeW6HU9MU/6+FTuQf8ATROSv1GR7iv0DB5zhcdD2NdJPs/0f9M+Yr4Cth5c9N6f1ufZHhD4g+F/G1v5mi3Q89Rl7eT5Jk+q9x7qSPx4rtq/Kq1urmyuI7uzlaCeI7kdCVZSO4I5FfRXgz9ofV9NCWXi+A6lbjA+0R4WdR7jhX/8dPck14uZ8IzheWGd126/8E78JncZaVdH3PsuiuZ8N+MPDfi22FzoF/Hc8ZaMHEqdvmQ/MOe5GD2rpq+PqU5QlyzVme7GakrphRRRUFBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFUdR1PTtItXvtUuY7S3T70krhFHtk459q+c/GX7ROnWZey8GW4vZRx9pnBWIf7qcM31O38RXdgstr4h2pRv59PvObEYunSV5s+hdZ1zSPD1i+pa1dx2dtH1dzjJ9AOrH0ABJr5O8f/ALQF7qSyaX4KV7K3PDXbjEzeuwc7AfX73+6a8F1/xLrvii9Ooa/eyXk3beflQHsijCqPYAVp+E/AnibxrcmHQbQyRowWSd/lhjz/AHn9cc4GT7V91gOG6GGj7XEtNrvsv8/60PncTm1Sq+SirfmcnLLJNI80zmSSQlmZjksTySSepNfQvw5+BOo675er+Llk0+wPzJB92eUA/wAQPKKff5iOmODXuXgD4NeHPBnl6heAanqq4YTSL8kTDn90nYg/xH5vTHSvYq8/N+K206eF0Xf/ACOnA5Lb3q33f5mfpeladoljFpmk26WtrAMJGgwB/iT3J5J5PNaFFFfESk27s+hSS0QUUUUhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApCAQQRkGlooA8W8bfA/wr4qaS+08f2RqDksZIVzE7Hu8fAz7rg9zmvkzxf8ADLxd4Ldn1O0MtoDxcw5eIjtk4yv0YCv0cpGVXUo4BVhgg8gg19FlvEuIoWjL3o9n+jPLxeU0quq0Z+Vlrd3VjcJd2UzwTRkFXRirKR3BHNe6+Ff2gvFejiO215E1e2U8s3yTgezjg/8AAlJ96978W/A/wX4k33FnD/ZN43O+2AVCcH70f3fc7QD7181+J/gb448Oo1xbQLq1sp+9a5aQD1MZG78t1fWQzTAY6PLVST89PuZ4ksHicO7w28v8j6l8MfGPwN4nxGl7/Z9wf+WV2ViJP+y2Sp/PPtXqSsrqHQgqwyCOQQa/KmaGa2laC4jaKRDhlYFWB9CDyK6TQPG3ivwuwOh6nNbIDnyw26In3jbKn8q4MXwbF+9h528n/n/wDpoZ81pVj9x+mdFfGmh/tI+IbZlTX9OgvogMFoSYZPqc7lP0AFeu6P8AH/wBqRVLySfTXJx+/jyv/fUZf9cV83ieHcXS3hdeWv8AwT1qOaUJ/at6nt1Fc/pXizwzriodI1S2ui4BCpKpfn1TO4fiK6CvHnTlF2krM7oyTV0woooqCgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiqF/qul6VH52qXkNnHjO6aRYxj6sRXm+rfGz4c6SzRf2n9skT+G2RpAfo+Ah/76rpoYOrV/hwb9EZVK8IfFJI9Xor5P1v8AaXc5j8N6OB6SXb5/8hx49v468Y8QfFbx74j3Je6rJDAf+WVv+4TGOh2YLD/eJ/lXvYXhPFVNZ2ivP/gHmVs6ox+HU+5fEfxA8H+FFYa1qcUUy/8ALFD5k3/ftcsPqQB7188+J/2kbqYNb+EdPEA/573XzPj2jU7Qfcs30r5br0Dwx8MPGviwpJpmnPHbNj9/P+6iwe4LcsP90GvpKHDeDwy58RK/rovu/wCHPKqZtXqvlpK3puc1rviTXvE119t16+lvZRnb5jZVAeoRRhVHsoAp2geGde8UXgsdBspLyXjOwfKoPGWY/Ko9yRX1j4U/Z10HTtlz4quW1Occ+THmKAfUj52/NfcGvoHT9N0/SbVLHTLaO0t0+7HEoRR+AxWGM4so0lyYaN7fJf19xph8lqTfNWdvzPnDwX+ztY2ZS+8aXAvJOv2WElYgf9p+Gb6DA9yK+krKys9OtY7LT4EtreEYSONQiKPQAYAq1RXxOOzKtiJc1WV/y+4+hw+Ep0laCCiiiuE6AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//0P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMHW/C/h3xHF5Wu6dBejGAZEBZf91vvD8DXhOvfs3aHdyyT+H9SlsA2SIpV85AfQNlWA+pY19KUV34TNMRQ/hTa/L7jmr4OlU+OJ8C618CviFpAeSG0TUYk/itnDEj/AHG2sfoAa8t1DSdV0mTydVsprOT+7NG0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" + } + }, + "cell_type": "markdown", + "id": "efb9083a", + "metadata": {}, + "source": [ + "## 1. Introduction\n", + "\n", + "### 1.1. Quantum vs. Classical Neural Networks\n", + "\n", + "Classical neural networks are algorithmic models inspired by the human brain that can be trained to recognize patterns in data and learn to solve complex problems. They are based on a series of interconnected nodes, or *neurons*, organized in a layered structure, with parameters that can be learned by applying machine or deep learning training strategies.\n", + "\n", + "The motivation behind quantum machine learning (QML) is to integrate notions from quantum computing and classical machine learning to open the way for new and improved learning schemes. QNNs apply this generic principle by combining classical neural networks and parametrized quantum circuits. Because they lie at an intersection between two fields, QNNs can be viewed from two perspectives:\n", + "\n", + "- From a **machine learning perspective**, QNNs are, once again, algorithmic models that can be trained to find hidden patterns in data in a similar manner to their classical counterparts. These models can **load** classical data (**inputs**) into a quantum state, and later **process** it with quantum gates parametrized by **trainable weights**. Figure 1 shows a generic QNN example including the data loading and processing steps. The output from measuring this state can then be plugged into a loss function to train the weights through backpropagation.\n", + "\n", + "- From a **quantum computing perspective**, QNNs are quantum algorithms based on parametrized quantum circuits that can be trained in a variational manner using classical optimizers. These circuits contain a **feature map** (with input parameters) and an **ansatz** (with trainable weights), as seen in Figure 1.\n", + "\n", + "![new_qnn-3.jpg](attachment:new_qnn-3.jpg)\n", + "\n", + "\n", + "*Figure 1. Generic quantum neural network (QNN) structure.*" + ] + }, + { + "cell_type": "markdown", + "id": "f47d2070", + "metadata": {}, + "source": [ + "As you can see, these two perspectives are complementary, and do not necessarily rely on strict definitions of concepts such as \"quantum neuron\" or what constitutes a QNN's \"layer\".\n", + "\n", + "### 1.2. Implementation in `qiskit-machine-learning`\n", + "\n", + "The QNNs in `qiskit-machine-learning` are meant as application-agnostic computational units that can be used for different use cases, and their setup will depend on the application they are needed for. The module contains an interface for the QNNs and two specific implementations:\n", + "\n", + "1. [NeuralNetwork](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.neural_networks.NeuralNetwork.html): The interface for neural networks. This is an abstract class all QNNs inherit from.\n", + "2. [EstimatorQNN](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.neural_networks.EstimatorQNN.html): A network based on the evaluation of quantum mechanical observables.\n", + "3. [SamplerQNN](https://qiskit.org/ecosystem/machine-learning/locale/fr_FR/stubs/qiskit_machine_learning.neural_networks.SamplerQNN.html): A network based on the samples resulting from measuring a quantum circuit.\n", + "\n", + "\n", + "These implementations are based on the [qiskit primitives](https://qiskit.org/documentation/apidoc/primitives.html). The primitives are the entry point to run QNNs on either a simulator or real quantum hardware. Each implementation, `EstimatorQNN` and `SamplerQNN`, takes in an optional instance of its corresponding primitive, which can be any subclass of `BaseEstimator` and `BaseSampler`, respectively.\n", + "\n", + "The `qiskit.primitives` module provides a reference implementation for the `Sampler` and `Estimator` classes to run statevector simulations. By default, if no instance is passed to a QNN class, an instance of the corresponding reference primitive (`Sampler` or `Estimator`) is created automatically by the network.\n", + "For more information about primitives please refer to the [primitives documentation](https://qiskit.org/documentation/apidoc/primitives.html).\n", + "\n", + "The `NeuralNetwork` class is the interface for all QNNs available in `qiskit-machine-learning`.\n", + "It exposes a forward and a backward pass that take data samples and trainable weights as input.\n", + "\n", + "It's important to note that `NeuralNetwork`s are \"stateless\". They do not contain any training capabilities (these are pushed to the actual algorithms or applications: [classifiers](https://qiskit.org/ecosystem/machine-learning/apidocs/qiskit_machine_learning.algorithms.html#classifiers), [regressors](https://qiskit.org/ecosystem/machine-learning/apidocs/qiskit_machine_learning.algorithms.html#regressors), etc), nor do they store the values for trainable weights." + ] + }, + { + "cell_type": "markdown", + "id": "ba316207", + "metadata": {}, + "source": [ + "***\n", + "\n", + "Let's now look into specific examples for the two `NeuralNetwork` implementations. But first, let's set the algorithmic seed to ensure that the results don't change between runs." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "annual-engine", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit_algorithms.utils import algorithm_globals\n", + "\n", + "algorithm_globals.random_seed = 42" + ] + }, + { + "cell_type": "markdown", + "id": "billion-uniform", + "metadata": {}, + "source": [ + "## 2. How to Instantiate QNNs\n", + "\n", + "### 2.1. `EstimatorQNN`\n", + "\n", + "The `EstimatorQNN` takes in a parametrized quantum circuit as input, as well as an optional quantum mechanical observable, and outputs expectation value computations for the forward pass. The `EstimatorQNN` also accepts lists of observables to construct more complex QNNs.\n", + "\n", + "Let's see an `EstimatorQNN` in action with a simple example. We start by constructing the parametrized circuit. This quantum circuit has two parameters, one represents a QNN input and the other represents a trainable weight:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "popular-artwork", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit.circuit import Parameter\n", + "from qiskit import QuantumCircuit\n", + "\n", + "params1 = [Parameter(\"input1\"), Parameter(\"weight1\")]\n", + "qc1 = QuantumCircuit(1)\n", + "qc1.h(0)\n", + "qc1.ry(params1[0], 0)\n", + "qc1.rx(params1[1], 0)\n", + "qc1.draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "crucial-aquatic", + "metadata": {}, + "source": [ + "We can now create an observable to define the expectation value computation. If not set, then the `EstimatorQNN` will automatically create the default observable $Z^{\\otimes n}$. Here, $n$ is the number of qubits of the quantum circuit.\n", + "\n", + "In this example, we will change things up and use the $Y^{\\otimes n}$ observable:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "encouraging-magnitude", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.quantum_info import SparsePauliOp\n", + "\n", + "observable1 = SparsePauliOp.from_list([(\"Y\" * qc1.num_qubits, 1)])" + ] + }, + { + "cell_type": "markdown", + "id": "dd1fb7ea", + "metadata": {}, + "source": [ + "Together with the quantum circuit defined above, and the observable we have created, the `EstimatorQNN` constructor takes in the following keyword arguments:\n", + "\n", + "- `estimator`: optional primitive instance\n", + "- `input_params`: list of quantum circuit parameters that should be treated as \"network inputs\"\n", + "- `weight_params`: list of quantum circuit parameters that should be treated as \"network weights\"\n", + "\n", + "In this example, we previously decided that the first parameter of `params1` should be the input, while the second should be the weight. As we are performing a local statevector simulation, we will not set the `estimator` parameter; the network will create an instance of the reference `Estimator` primitive for us. If we needed to access cloud resources or `Aer` simulators, we would have to define the respective `Estimator` instances and pass them to the `EstimatorQNN`." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "italian-clear", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit_machine_learning.neural_networks import EstimatorQNN\n", + "\n", + "estimator_qnn = EstimatorQNN(\n", + " circuit=qc1, observables=observable1, input_params=[params1[0]], weight_params=[params1[1]]\n", + ")\n", + "estimator_qnn" + ] + }, + { + "cell_type": "markdown", + "id": "16ecacdb", + "metadata": {}, + "source": [ + "We'll see how to use the QNN in the following sections, but before that, let's check out the `SamplerQNN` class." + ] + }, + { + "cell_type": "markdown", + "id": "f1ac3811", + "metadata": {}, + "source": [ + "### 2.2. `SamplerQNN`\n", + "\n", + "The `SamplerQNN` is instantiated in a similar way to the `EstimatorQNN`, but because it directly consumes samples from measuring the quantum circuit, it does not require a custom observable.\n", + "\n", + "These output samples are interpreted by default as the probabilities of measuring the integer index corresponding to a bitstring. However, the `SamplerQNN` also allows us to specify an `interpret` function to post-process the samples. This function should be defined so that it takes a measured integer (from a bitstring) and maps it to a new value, i.e. non-negative integer.\n", + "\n", + "**(!)** It's important to note that if a custom `interpret` function is defined, the `output_shape` cannot be inferred by the network, and **needs to be provided explicitly**.\n", + "\n", + "**(!)** It's also important to keep in mind that if no `interpret` function is used, the dimension of the probability vector will scale exponentially with the number of qubits. With a custom `interpret` function, this scaling can change. If, for instance, an index is mapped to the parity of the corresponding bitstring, i.e., to 0 or 1, the result will be a probability vector of length 2 independently of the number of qubits." + ] + }, + { + "cell_type": "markdown", + "id": "82cc2353", + "metadata": {}, + "source": [ + "Let's create a different quantum circuit for the `SamplerQNN`. In this case, we will have two input parameters and four trainable weights that parametrize a two-local circuit." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "acceptable-standing", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input parameters: ['input[0]', 'input[1]']\n", + "weight parameters: ['weight[0]', 'weight[1]', 'weight[2]', 'weight[3]']\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit.circuit import ParameterVector\n", + "\n", + "inputs2 = ParameterVector(\"input\", 2)\n", + "weights2 = ParameterVector(\"weight\", 4)\n", + "print(f\"input parameters: {[str(item) for item in inputs2.params]}\")\n", + "print(f\"weight parameters: {[str(item) for item in weights2.params]}\")\n", + "\n", + "qc2 = QuantumCircuit(2)\n", + "qc2.ry(inputs2[0], 0)\n", + "qc2.ry(inputs2[1], 1)\n", + "qc2.cx(0, 1)\n", + "qc2.ry(weights2[0], 0)\n", + "qc2.ry(weights2[1], 1)\n", + "qc2.cx(0, 1)\n", + "qc2.ry(weights2[2], 0)\n", + "qc2.ry(weights2[3], 1)\n", + "\n", + "qc2.draw(output=\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "1e86defb", + "metadata": {}, + "source": [ + "Similarly to the `EstimatorQNN`, we must specify inputs and weights when instantiating the `SamplerQNN`. In this case, the keyword arguments will be:\n", + "- `sampler`: optional primitive instance\n", + "- `input_params`: list of quantum circuit parameters that should be treated as \"network inputs\"\n", + "- `weight_params`: list of quantum circuit parameters that should be treated as \"network weights\"\n", + "\n", + "Please note that, once again, we are choosing not to set the `Sampler` instance to the QNN and relying on the default." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "5c007d10", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit_machine_learning.neural_networks import SamplerQNN\n", + "\n", + "sampler_qnn = SamplerQNN(circuit=qc2, input_params=inputs2, weight_params=weights2)\n", + "sampler_qnn" + ] + }, + { + "cell_type": "markdown", + "id": "e8c56e76", + "metadata": {}, + "source": [ + "In addition to the basic arguments shown above, the `SamplerQNN` accepts three more settings: `input_gradients`, `interpret`, and `output_shape`. These will be introduced in sections 4 and 5." + ] + }, + { + "cell_type": "markdown", + "id": "0ac89b99", + "metadata": {}, + "source": [ + "## 3. How to Run a Forward Pass" + ] + }, + { + "cell_type": "markdown", + "id": "8589abbd", + "metadata": {}, + "source": [ + "### 3.1. Set-Up\n", + "In a real setting, the inputs would be defined by the dataset, and the weights would be defined by the training algorithm or as part of a pre-trained model. However, for the sake of this tutorial, we will specify random sets of input and weights of the right dimension:" + ] + }, + { + "cell_type": "markdown", + "id": "2698406f", + "metadata": {}, + "source": [ + "#### 3.1.1. `EstimatorQNN` Example" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "beneficial-summary", + "metadata": {}, + "outputs": [], + "source": [ + "estimator_qnn_input = algorithm_globals.random.random(estimator_qnn.num_inputs)\n", + "estimator_qnn_weights = algorithm_globals.random.random(estimator_qnn.num_weights)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "4d5c27e2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of input features for EstimatorQNN: 1 \n", + "Input: [0.77395605]\n", + "Number of trainable weights for EstimatorQNN: 1 \n", + "Weights: [0.43887844]\n" + ] + } + ], + "source": [ + "print(\n", + " f\"Number of input features for EstimatorQNN: {estimator_qnn.num_inputs} \\nInput: {estimator_qnn_input}\"\n", + ")\n", + "print(\n", + " f\"Number of trainable weights for EstimatorQNN: {estimator_qnn.num_weights} \\nWeights: {estimator_qnn_weights}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "81d07341", + "metadata": {}, + "source": [ + "#### 3.1.2. `SamplerQNN` Example" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "a0fd6253", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "sampler_qnn_input = algorithm_globals.random.random(sampler_qnn.num_inputs)\n", + "sampler_qnn_weights = algorithm_globals.random.random(sampler_qnn.num_weights)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "a008cebc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of input features for SamplerQNN: 2 \n", + "Input: [0.85859792 0.69736803]\n", + "Number of trainable weights for SamplerQNN: 4 \n", + "Weights: [0.09417735 0.97562235 0.7611397 0.78606431]\n" + ] + } + ], + "source": [ + "print(\n", + " f\"Number of input features for SamplerQNN: {sampler_qnn.num_inputs} \\nInput: {sampler_qnn_input}\"\n", + ")\n", + "print(\n", + " f\"Number of trainable weights for SamplerQNN: {sampler_qnn.num_weights} \\nWeights: {sampler_qnn_weights}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "7f1500df", + "metadata": {}, + "source": [ + "Once we have the inputs and the weights, let's see the results for batched and non-batched passes." + ] + }, + { + "cell_type": "markdown", + "id": "de7e7302", + "metadata": {}, + "source": [ + "### 3.2. Non-batched Forward Pass" + ] + }, + { + "cell_type": "markdown", + "id": "52c5fcc5", + "metadata": {}, + "source": [ + "#### 3.2.1. `EstimatorQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "7fba01a3", + "metadata": {}, + "source": [ + "For the `EstimatorQNN`, the expected output shape for the forward pass is `(1, num_qubits * num_observables)` where `1` in our case is the number of samples:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "54bed89e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forward pass result for EstimatorQNN: [[0.2970094]]. \n", + "Shape: (1, 1)\n" + ] + } + ], + "source": [ + "estimator_qnn_forward = estimator_qnn.forward(estimator_qnn_input, estimator_qnn_weights)\n", + "\n", + "print(\n", + " f\"Forward pass result for EstimatorQNN: {estimator_qnn_forward}. \\nShape: {estimator_qnn_forward.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4ea4f85e", + "metadata": {}, + "source": [ + "#### 3.2.2. `SamplerQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "94473b35", + "metadata": {}, + "source": [ + "For the `SamplerQNN` (without a custom interpret function), the expected output shape for the forward pass is `(1, 2**num_qubits)`. With a custom interpret function, the output shape will be `(1, output_shape)`, where `1` in our case is the number of samples:" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "cb847a75", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forward pass result for SamplerQNN: [[0.01826527 0.25735654 0.5267981 0.19758009]]. \n", + "Shape: (1, 4)\n" + ] + } + ], + "source": [ + "sampler_qnn_forward = sampler_qnn.forward(sampler_qnn_input, sampler_qnn_weights)\n", + "\n", + "print(\n", + " f\"Forward pass result for SamplerQNN: {sampler_qnn_forward}. \\nShape: {sampler_qnn_forward.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "1c843c95", + "metadata": {}, + "source": [ + "### 3.3. Batched Forward Pass" + ] + }, + { + "cell_type": "markdown", + "id": "9c51e2fc", + "metadata": {}, + "source": [ + "#### 3.3.1. `EstimatorQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "3612ff46", + "metadata": {}, + "source": [ + "For the `EstimatorQNN`, the expected output shape for the forward pass is `(batch_size, num_qubits * num_observables)`:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "2629892e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forward pass result for EstimatorQNN: [[0.2970094]\n", + " [0.2970094]]. \n", + "Shape: (2, 1)\n" + ] + } + ], + "source": [ + "estimator_qnn_forward_batched = estimator_qnn.forward(\n", + " [estimator_qnn_input, estimator_qnn_input], estimator_qnn_weights\n", + ")\n", + "\n", + "print(\n", + " f\"Forward pass result for EstimatorQNN: {estimator_qnn_forward_batched}. \\nShape: {estimator_qnn_forward_batched.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "acb7b0a7", + "metadata": {}, + "source": [ + "#### 3.3.2. `SamplerQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "48f7b7bb", + "metadata": {}, + "source": [ + "For the `SamplerQNN` (without custom interpret function), the expected output shape for the forward pass is `(batch_size, 2**num_qubits)`. With a custom interpret function, the output shape will be `(batch_size, output_shape)`." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "29eb2151", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forward pass result for SamplerQNN: [[0.01826527 0.25735654 0.5267981 0.19758009]\n", + " [0.01826527 0.25735654 0.5267981 0.19758009]]. \n", + "Shape: (2, 4)\n" + ] + } + ], + "source": [ + "sampler_qnn_forward_batched = sampler_qnn.forward(\n", + " [sampler_qnn_input, sampler_qnn_input], sampler_qnn_weights\n", + ")\n", + "\n", + "print(\n", + " f\"Forward pass result for SamplerQNN: {sampler_qnn_forward_batched}. \\nShape: {sampler_qnn_forward_batched.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "171b8ee1", + "metadata": {}, + "source": [ + "## 4. How to Run a Backward Pass\n", + "\n", + "Let's take advantage of the inputs and weights defined above to show how the backward pass works. This pass returns a tuple `(input_gradients, weight_gradients)`. By default, the backward pass will only calculate gradients with respect to the weight parameters.\n", + "\n", + "If you want to enable gradients with respect to the input parameters, you should set the following flag during the QNN instantiation:\n", + "\n", + "```python\n", + "qnn = ...QNN(..., input_gradients=True)\n", + "```\n", + "\n", + "Please remember that input gradients are **required** for the use of `TorchConnector` for PyTorch integration." + ] + }, + { + "cell_type": "markdown", + "id": "e5b90338", + "metadata": {}, + "source": [ + "### 4.1. Backward Pass without Input Gradients" + ] + }, + { + "cell_type": "markdown", + "id": "fe1a6c32", + "metadata": {}, + "source": [ + "#### 4.1.1. `EstimatorQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "387c9700", + "metadata": {}, + "source": [ + "For the `EstimatorQNN`, the expected output shape for the weight gradients is `(batch_size, num_qubits * num_observables, num_weights)`:" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "entitled-reaction", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input gradients for EstimatorQNN: None. \n", + "Shape: None\n", + "Weight gradients for EstimatorQNN: [[[0.63272767]]]. \n", + "Shape: (1, 1, 1)\n" + ] + } + ], + "source": [ + "estimator_qnn_input_grad, estimator_qnn_weight_grad = estimator_qnn.backward(\n", + " estimator_qnn_input, estimator_qnn_weights\n", + ")\n", + "\n", + "print(\n", + " f\"Input gradients for EstimatorQNN: {estimator_qnn_input_grad}. \\nShape: {estimator_qnn_input_grad}\"\n", + ")\n", + "print(\n", + " f\"Weight gradients for EstimatorQNN: {estimator_qnn_weight_grad}. \\nShape: {estimator_qnn_weight_grad.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6d5feb04", + "metadata": {}, + "source": [ + "#### 4.1.2. `SamplerQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "bebaa404", + "metadata": {}, + "source": [ + "For the `SamplerQNN` (without custom interpret function), the expected output shape for the forward pass is `(batch_size, 2**num_qubits, num_weights)`. With a custom interpret function, the output shape will be `(batch_size, output_shape, num_weights)`.:" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "eefacefe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input gradients for SamplerQNN: None. \n", + "Shape: None\n", + "Weight gradients for SamplerQNN: [[[ 0.00606238 -0.1124595 -0.06856156 -0.09809236]\n", + " [ 0.21167414 -0.09069775 0.06856156 -0.22549618]\n", + " [-0.48846674 0.32499215 -0.32262178 0.09809236]\n", + " [ 0.27073021 -0.12183491 0.32262178 0.22549618]]]. \n", + "Shape: (1, 4, 4)\n" + ] + } + ], + "source": [ + "sampler_qnn_input_grad, sampler_qnn_weight_grad = sampler_qnn.backward(\n", + " sampler_qnn_input, sampler_qnn_weights\n", + ")\n", + "\n", + "print(\n", + " f\"Input gradients for SamplerQNN: {sampler_qnn_input_grad}. \\nShape: {sampler_qnn_input_grad}\"\n", + ")\n", + "print(\n", + " f\"Weight gradients for SamplerQNN: {sampler_qnn_weight_grad}. \\nShape: {sampler_qnn_weight_grad.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "74d28a00", + "metadata": {}, + "source": [ + "### 4.2. Backward Pass with Input Gradients\n", + "\n", + "Let's enable the `input_gradients` to show what the expected output sizes are for this option." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "9ccc4641", + "metadata": {}, + "outputs": [], + "source": [ + "estimator_qnn.input_gradients = True\n", + "sampler_qnn.input_gradients = True" + ] + }, + { + "cell_type": "markdown", + "id": "f5d2cd57", + "metadata": {}, + "source": [ + "#### 4.2.1. `EstimatorQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "9d1ebc80", + "metadata": {}, + "source": [ + "For the `EstimatorQNN`, the expected output shape for the input gradients is `(batch_size, num_qubits * num_observables, num_inputs)`:" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "4332f42b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input gradients for EstimatorQNN: [[[0.3038852]]]. \n", + "Shape: (1, 1, 1)\n", + "Weight gradients for EstimatorQNN: [[[0.63272767]]]. \n", + "Shape: (1, 1, 1)\n" + ] + } + ], + "source": [ + "estimator_qnn_input_grad, estimator_qnn_weight_grad = estimator_qnn.backward(\n", + " estimator_qnn_input, estimator_qnn_weights\n", + ")\n", + "\n", + "print(\n", + " f\"Input gradients for EstimatorQNN: {estimator_qnn_input_grad}. \\nShape: {estimator_qnn_input_grad.shape}\"\n", + ")\n", + "print(\n", + " f\"Weight gradients for EstimatorQNN: {estimator_qnn_weight_grad}. \\nShape: {estimator_qnn_weight_grad.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d3e50ff8", + "metadata": {}, + "source": [ + "#### 4.2.2. `SamplerQNN` Example" + ] + }, + { + "cell_type": "markdown", + "id": "b76da18a", + "metadata": {}, + "source": [ + "For the `SamplerQNN` (without custom interpret function), the expected output shape for the input gradients is `(batch_size, 2**num_qubits, num_inputs)`. With a custom interpret function, the output shape will be `(batch_size, output_shape, num_inputs)`." + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "3339f869", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input gradients for SamplerQNN: [[[-0.05844702 -0.10621091]\n", + " [ 0.38798796 -0.19544083]\n", + " [-0.34561132 0.09459601]\n", + " [ 0.01607038 0.20705573]]]. \n", + "Shape: (1, 4, 2)\n", + "Weight gradients for SamplerQNN: [[[ 0.00606238 -0.1124595 -0.06856156 -0.09809236]\n", + " [ 0.21167414 -0.09069775 0.06856156 -0.22549618]\n", + " [-0.48846674 0.32499215 -0.32262178 0.09809236]\n", + " [ 0.27073021 -0.12183491 0.32262178 0.22549618]]]. \n", + "Shape: (1, 4, 4)\n" + ] + } + ], + "source": [ + "sampler_qnn_input_grad, sampler_qnn_weight_grad = sampler_qnn.backward(\n", + " sampler_qnn_input, sampler_qnn_weights\n", + ")\n", + "\n", + "print(\n", + " f\"Input gradients for SamplerQNN: {sampler_qnn_input_grad}. \\nShape: {sampler_qnn_input_grad.shape}\"\n", + ")\n", + "print(\n", + " f\"Weight gradients for SamplerQNN: {sampler_qnn_weight_grad}. \\nShape: {sampler_qnn_weight_grad.shape}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "45871b6d", + "metadata": {}, + "source": [ + "## 5. Advanced Functionality" + ] + }, + { + "cell_type": "markdown", + "id": "4e1fb829", + "metadata": {}, + "source": [ + "### 5.1. `EstimatorQNN` with Multiple Observables" + ] + }, + { + "cell_type": "markdown", + "id": "18c86fd7", + "metadata": {}, + "source": [ + "The `EstimatorQNN` allows to pass lists of observables for more complex QNN architectures. For example (note the change in output shape):" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "34e1e2f0", + "metadata": {}, + "outputs": [], + "source": [ + "observable2 = SparsePauliOp.from_list([(\"Z\" * qc1.num_qubits, 1)])\n", + "\n", + "estimator_qnn2 = EstimatorQNN(\n", + " circuit=qc1,\n", + " observables=[observable1, observable2],\n", + " input_params=[params1[0]],\n", + " weight_params=[params1[1]],\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "e801632d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forward output for EstimatorQNN1: (1, 1)\n", + "Forward output for EstimatorQNN2: (1, 2)\n", + "Backward output for EstimatorQNN1: (1, 1, 1)\n", + "Backward output for EstimatorQNN2: (1, 2, 1)\n" + ] + } + ], + "source": [ + "estimator_qnn_forward2 = estimator_qnn2.forward(estimator_qnn_input, estimator_qnn_weights)\n", + "estimator_qnn_input_grad2, estimator_qnn_weight_grad2 = estimator_qnn2.backward(\n", + " estimator_qnn_input, estimator_qnn_weights\n", + ")\n", + "\n", + "print(f\"Forward output for EstimatorQNN1: {estimator_qnn_forward.shape}\")\n", + "print(f\"Forward output for EstimatorQNN2: {estimator_qnn_forward2.shape}\")\n", + "print(f\"Backward output for EstimatorQNN1: {estimator_qnn_weight_grad.shape}\")\n", + "print(f\"Backward output for EstimatorQNN2: {estimator_qnn_weight_grad2.shape}\")" + ] + }, + { + "cell_type": "markdown", + "id": "788ec9f1", + "metadata": {}, + "source": [ + "### 5.2. `SamplerQNN` with custom `interpret`" + ] + }, + { + "cell_type": "markdown", + "id": "378ef3ba", + "metadata": {}, + "source": [ + "One common `interpret` method for `SamplerQNN` is the `parity` function, which allows it to perform binary classification. As explained in the instantiation section, using interpret functions will modify the output shape of the forward and backward passes. In the case of the parity interpret function, `output_shape` is fixed to `2`. Therefore, the expected forward and weight gradient shapes are `(batch_size, 2)` and `(batch_size, 2, num_weights)`, respectively:" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "eed68d1a", + "metadata": {}, + "outputs": [], + "source": [ + "parity = lambda x: \"{:b}\".format(x).count(\"1\") % 2\n", + "output_shape = 2 # parity = 0, 1\n", + "\n", + "sampler_qnn2 = SamplerQNN(\n", + " circuit=qc2,\n", + " input_params=inputs2,\n", + " weight_params=weights2,\n", + " interpret=parity,\n", + " output_shape=output_shape,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "c2888195", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Forward output for SamplerQNN1: (1, 4)\n", + "Forward output for SamplerQNN2: (1, 2)\n", + "Backward output for SamplerQNN1: (1, 4, 4)\n", + "Backward output for SamplerQNN2: (1, 2, 4)\n" + ] + } + ], + "source": [ + "sampler_qnn_forward2 = sampler_qnn2.forward(sampler_qnn_input, sampler_qnn_weights)\n", + "sampler_qnn_input_grad2, sampler_qnn_weight_grad2 = sampler_qnn2.backward(\n", + " sampler_qnn_input, sampler_qnn_weights\n", + ")\n", + "\n", + "print(f\"Forward output for SamplerQNN1: {sampler_qnn_forward.shape}\")\n", + "print(f\"Forward output for SamplerQNN2: {sampler_qnn_forward2.shape}\")\n", + "print(f\"Backward output for SamplerQNN1: {sampler_qnn_weight_grad.shape}\")\n", + "print(f\"Backward output for SamplerQNN2: {sampler_qnn_weight_grad2.shape}\")" + ] + }, + { + "cell_type": "markdown", + "id": "66117e82", + "metadata": {}, + "source": [ + "## 6. Conclusion\n", + "\n", + "In this tutorial, we introduced the two neural networks classes provided by `qiskit-machine-learning`, namely the `EstimatorQNN` and `SamplerQNN`, which extend the base `NeuralNetwork` class. We provided some theoretical background, the key steps for QNN initialization, basic use in forward and backward passes, and advanced functionality.\n", + "\n", + "We now encourage you to play around with the problem setup and see how different circuit sizes, input, and weight parameter lengths influence the output shapes.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "appointed-shirt", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.22.3
qiskit-machine-learning0.6.0
System information
Python version3.9.15
Python compilerClang 14.0.6
Python buildmain, Nov 24 2022 08:29:02
OSDarwin
CPUs8
Memory (Gb)64.0
Mon Jan 23 11:57:49 2023 CET
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/02_neural_network_classifier_and_regressor.ipynb.txt b/_sources/tutorials/02_neural_network_classifier_and_regressor.ipynb.txt new file mode 100644 index 000000000..5b4ecd05b --- /dev/null +++ b/_sources/tutorials/02_neural_network_classifier_and_regressor.ipynb.txt @@ -0,0 +1,1203 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "intense-ecology", + "metadata": {}, + "source": [ + "# Neural Network Classifier & Regressor\n", + "\n", + "In this tutorial we show how the `NeuralNetworkClassifier` and `NeuralNetworkRegressor` are used.\n", + "Both take as an input a (Quantum) `NeuralNetwork` and leverage it in a specific context.\n", + "In both cases we also provide a pre-configured variant for convenience, the Variational Quantum Classifier (`VQC`) and Variational Quantum Regressor (`VQR`). The tutorial is structured as follows:\n", + "\n", + "\n", + "1. [Classification](#Classification) \n", + " * Classification with an `EstimatorQNN`\n", + " * Classification with a `SamplerQNN`\n", + " * Variational Quantum Classifier (`VQC`)\n", + " \n", + " \n", + "2. [Regression](#Regression)\n", + " * Regression with an `EstimatorQNN`\n", + " * Variational Quantum Regressor (`VQR`)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "functioning-sword", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from IPython.display import clear_output\n", + "from qiskit import QuantumCircuit\n", + "from qiskit.circuit import Parameter\n", + "from qiskit.circuit.library import RealAmplitudes, ZZFeatureMap\n", + "from qiskit_algorithms.optimizers import COBYLA, L_BFGS_B\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "\n", + "from qiskit_machine_learning.algorithms.classifiers import NeuralNetworkClassifier, VQC\n", + "from qiskit_machine_learning.algorithms.regressors import NeuralNetworkRegressor, VQR\n", + "from qiskit_machine_learning.neural_networks import SamplerQNN, EstimatorQNN\n", + "from qiskit_machine_learning.circuit.library import QNNCircuit\n", + "\n", + "algorithm_globals.random_seed = 42" + ] + }, + { + "cell_type": "markdown", + "id": "compact-divide", + "metadata": {}, + "source": [ + "## Classification\n", + "\n", + "We prepare a simple classification dataset to illustrate the following algorithms." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "short-pierre", + "metadata": { + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "num_inputs = 2\n", + "num_samples = 20\n", + "X = 2 * algorithm_globals.random.random([num_samples, num_inputs]) - 1\n", + "y01 = 1 * (np.sum(X, axis=1) >= 0) # in { 0, 1}\n", + "y = 2 * y01 - 1 # in {-1, +1}\n", + "y_one_hot = np.zeros((num_samples, 2))\n", + "for i in range(num_samples):\n", + " y_one_hot[i, y01[i]] = 1\n", + "\n", + "for x, y_target in zip(X, y):\n", + " if y_target == 1:\n", + " plt.plot(x[0], x[1], \"bo\")\n", + " else:\n", + " plt.plot(x[0], x[1], \"go\")\n", + "plt.plot([-1, 1], [1, -1], \"--\", color=\"black\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "religious-history", + "metadata": {}, + "source": [ + "### Classification with an `EstimatorQNN`\n", + "\n", + "First we show how an `EstimatorQNN` can be used for classification within a `NeuralNetworkClassifier`. In this context, the `EstimatorQNN` is expected to return one-dimensional output in $[-1, +1]$. This only works for binary classification and we assign the two classes to $\\{-1, +1\\}$. To simplify the composition of parameterized quantum circuit from a feature map and an ansatz we can use the `QNNCircuit` class. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ceed90df", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# construct QNN with the QNNCircuit's default ZZFeatureMap feature map and RealAmplitudes ansatz.\n", + "qc = QNNCircuit(num_qubits=2)\n", + "qc.draw(output=\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "formed-animal", + "metadata": {}, + "source": [ + "Create a quantum neural network" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "determined-hands", + "metadata": {}, + "outputs": [], + "source": [ + "estimator_qnn = EstimatorQNN(circuit=qc)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "acute-casting", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.23521988]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# QNN maps inputs to [-1, +1]\n", + "estimator_qnn.forward(X[0, :], algorithm_globals.random.random(estimator_qnn.num_weights))" + ] + }, + { + "cell_type": "markdown", + "id": "stone-holiday", + "metadata": {}, + "source": [ + "We will add a callback function called `callback_graph`. This will be called for each iteration of the optimizer and will be passed two parameters: the current weights and the value of the objective function at those weights. For our function, we append the value of the objective function to an array so we can plot iteration versus objective function value and update the graph with each iteration. However, you can do whatever you want with a callback function as long as it gets the two parameters mentioned passed. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "similar-controversy", + "metadata": {}, + "outputs": [], + "source": [ + "# callback function that draws a live plot when the .fit() method is called\n", + "def callback_graph(weights, obj_func_eval):\n", + " clear_output(wait=True)\n", + " objective_func_vals.append(obj_func_eval)\n", + " plt.title(\"Objective function value against iteration\")\n", + " plt.xlabel(\"Iteration\")\n", + " plt.ylabel(\"Objective function value\")\n", + " plt.plot(range(len(objective_func_vals)), objective_func_vals)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "lesser-receiver", + "metadata": {}, + "outputs": [], + "source": [ + "# construct neural network classifier\n", + "estimator_classifier = NeuralNetworkClassifier(\n", + " estimator_qnn, optimizer=COBYLA(maxiter=60), callback=callback_graph\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "adopted-editor", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.8" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# create empty array for callback to store evaluations of the objective function\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "# fit classifier to data\n", + "estimator_classifier.fit(X, y)\n", + "\n", + "# return to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)\n", + "\n", + "# score classifier\n", + "estimator_classifier.score(X, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "civilian-analysis", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# evaluate data points\n", + "y_predict = estimator_classifier.predict(X)\n", + "\n", + "# plot results\n", + "# red == wrongly classified\n", + "for x, y_target, y_p in zip(X, y, y_predict):\n", + " if y_target == 1:\n", + " plt.plot(x[0], x[1], \"bo\")\n", + " else:\n", + " plt.plot(x[0], x[1], \"go\")\n", + " if y_target != y_p:\n", + " plt.scatter(x[0], x[1], s=200, facecolors=\"none\", edgecolors=\"r\", linewidths=2)\n", + "plt.plot([-1, 1], [1, -1], \"--\", color=\"black\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "japanese-seattle", + "metadata": {}, + "source": [ + "Now, when the model is trained, we can explore the weights of the neural network. Please note, the number of weights is defined by ansatz." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "offshore-basket", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 7.99142399e-01, -1.02869770e+00, -1.32131512e-04, -3.47046684e-01,\n", + " 1.13636802e+00, 6.56831727e-01, 2.17902158e+00, -1.08678332e+00])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "estimator_classifier.weights" + ] + }, + { + "cell_type": "markdown", + "id": "determined-standing", + "metadata": {}, + "source": [ + "### Classification with a `SamplerQNN`\n", + "\n", + "Next we show how a `SamplerQNN` can be used for classification within a `NeuralNetworkClassifier`. In this context, the `SamplerQNN` is expected to return $d$-dimensional probability vector as output, where $d$ denotes the number of classes. \n", + "The underlying `Sampler` primitive returns quasi-distributions of bit strings and we just need to define a mapping from the measured bitstrings to the different classes. For binary classification we use the parity mapping. Again we can use the `QNNCircuit` class to set up a parameterized quantum circuit from a feature map and ansatz of our choice." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d1ff56f4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# construct a quantum circuit from the default ZZFeatureMap feature map and a customized RealAmplitudes ansatz\n", + "qc = QNNCircuit(ansatz=RealAmplitudes(num_inputs, reps=1))\n", + "qc.draw(output=\"mpl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "young-sensitivity", + "metadata": {}, + "outputs": [], + "source": [ + "# parity maps bitstrings to 0 or 1\n", + "def parity(x):\n", + " return \"{:b}\".format(x).count(\"1\") % 2\n", + "\n", + "\n", + "output_shape = 2 # corresponds to the number of classes, possible outcomes of the (parity) mapping." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "statutory-mercury", + "metadata": {}, + "outputs": [], + "source": [ + "# construct QNN\n", + "sampler_qnn = SamplerQNN(\n", + " circuit=qc,\n", + " interpret=parity,\n", + " output_shape=output_shape,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "hybrid-orlando", + "metadata": {}, + "outputs": [], + "source": [ + "# construct classifier\n", + "sampler_classifier = NeuralNetworkClassifier(\n", + " neural_network=sampler_qnn, optimizer=COBYLA(maxiter=30), callback=callback_graph\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "adult-newman", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.7" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# create empty array for callback to store evaluations of the objective function\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "# fit classifier to data\n", + "sampler_classifier.fit(X, y01)\n", + "\n", + "# return to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)\n", + "\n", + "# score classifier\n", + "sampler_classifier.score(X, y01)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "angry-bulgarian", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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rk3Pnj3p06cPO3bscDskY0KGJQITFpo3b056ejpPPfUU06dPp3HjxkyePNntsIwJCZYITNioXr06jz76KCtWrOBPf/oTGRkZbodkTEgIxFhDxlQqTZo0YdGiRQXDUixYsIB169YxaNAgG8TOhCX71JuwFBkZWXD3cVpaGkOGDOHSSy/lhx9+cDkyYyqeJQIT9saNG8f48eNZtWoVzZs355///Kd1NTVhxRKBCXsiwq233kpWVhZdu3bloYceskHsTFixRGCMx+mnn860adOYN28evXv3BmDZsmUcOHDA5ciMCS5LBMZ4EZGCkUxzcnLo0qULrVq1YvHixW6HZkzQWCIwpggxMTFMmTKFvXv30rFjR4YOHcoff/zhdljGBJwlAmOK0bVrVzIzMxkyZAgvv/wyzZo1s0HsTJVjicCYEpx00km89tprfPXVV/Tv379gELtDhw65HJkxgWGJwJhSuvjii3n66acByMjI4LzzzmP69OkuR2WM/wKSCESkq4isE5H1IjLMx3oRkVc861eLSOvSbmtMKBIR6tWrx/XXX89NN93E9u3b3Q7JmHLzOxGISCTwOtANaAL0FZEmhap1Axp5HsnA6DJsa0zISUhI4LvvvmPEiBHMmDGDxo0bM2nSJLfDMqZcAnFG0A5Yr6obVfUg8B7Qs1CdnsA76vgPUEdEGpZyW2NCUvXq1XnkkUdYtWoVjRs3Zu3atW6HZEy5BGLQuTOALV6vtwIXlKLOGaXcFgARScY5myA2Nta/iI0JoD//+c98/fXXBcNSfP7556xbt44777zTBrEzlUIgPqXio0xLWac02zqFqqmqmqiqiQ0aNChjiMYEV0RERMEgdu+//z533303nTt3Zt26dS5HZkzJApEItgJneb0+E9hWyjql2TYspGWkET8qnognIogfFU9aRprbIZlySk1N5e2332bNmjW0aNGC5557zrqampAWiESwFGgkImeLSBTQByg8MexM4C+e3kPtgRxV/bmU21Z5aRlpJM9KJjsnG0XJzskmeVayJYNKSkQYOHAgWVlZdO/enYcffpgPP/zQ7bCMKZLfiUBVDwN3A3OBtcBUVV0jIoNFZLCn2mxgI7AeGAsMKW5bf2OqbFLmp5B7KPeYstxDuaTMT3EpIhMIp512Gh988AHz588vGMRu6dKl7N+/3+XIjDmWqPpskg9piYmJmp6e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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# evaluate data points\n", + "y_predict = sampler_classifier.predict(X)\n", + "\n", + "# plot results\n", + "# red == wrongly classified\n", + "for x, y_target, y_p in zip(X, y01, y_predict):\n", + " if y_target == 1:\n", + " plt.plot(x[0], x[1], \"bo\")\n", + " else:\n", + " plt.plot(x[0], x[1], \"go\")\n", + " if y_target != y_p:\n", + " plt.scatter(x[0], x[1], s=200, facecolors=\"none\", edgecolors=\"r\", linewidths=2)\n", + "plt.plot([-1, 1], [1, -1], \"--\", color=\"black\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "assisted-individual", + "metadata": {}, + "source": [ + "Again, once the model is trained we can take a look at the weights. As we set `reps=1` explicitly in our ansatz, we can see less parameters than in the previous model." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "indonesian-bulletin", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1.67198565, 0.46045402, -0.93462862, -0.95266092])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sampler_classifier.weights" + ] + }, + { + "cell_type": "markdown", + "id": "champion-approval", + "metadata": {}, + "source": [ + "### Variational Quantum Classifier (`VQC`)\n", + "\n", + "The `VQC` is a special variant of the `NeuralNetworkClassifier` with a `SamplerQNN`. It applies a parity mapping (or extensions to multiple classes) to map from the bitstring to the classification, which results in a probability vector, which is interpreted as a one-hot encoded result. By default, it applies this the `CrossEntropyLoss` function that expects labels given in one-hot encoded format and will return predictions in that format too." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "legislative-dublin", + "metadata": {}, + "outputs": [], + "source": [ + "# construct feature map, ansatz, and optimizer\n", + "feature_map = ZZFeatureMap(num_inputs)\n", + "ansatz = RealAmplitudes(num_inputs, reps=1)\n", + "\n", + "# construct variational quantum classifier\n", + "vqc = VQC(\n", + " feature_map=feature_map,\n", + " ansatz=ansatz,\n", + " loss=\"cross_entropy\",\n", + " optimizer=COBYLA(maxiter=30),\n", + " callback=callback_graph,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "geographic-adjustment", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.8" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# create empty array for callback to store evaluations of the objective function\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "# fit classifier to data\n", + "vqc.fit(X, y_one_hot)\n", + "\n", + "# return to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)\n", + "\n", + "# score classifier\n", + "vqc.score(X, y_one_hot)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "stopped-heavy", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# evaluate data points\n", + "y_predict = vqc.predict(X)\n", + "\n", + "# plot results\n", + "# red == wrongly classified\n", + "for x, y_target, y_p in zip(X, y_one_hot, y_predict):\n", + " if y_target[0] == 1:\n", + " plt.plot(x[0], x[1], \"bo\")\n", + " else:\n", + " plt.plot(x[0], x[1], \"go\")\n", + " if not np.all(y_target == y_p):\n", + " plt.scatter(x[0], x[1], s=200, facecolors=\"none\", edgecolors=\"r\", linewidths=2)\n", + "plt.plot([-1, 1], [1, -1], \"--\", color=\"black\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "grave-testament", + "metadata": {}, + "source": [ + "### Multiple classes with VQC\n", + "In this section we generate an artificial dataset that contains samples of three classes and show how to train a model to classify this dataset. This example shows how to tackle more interesting problems in machine learning. Of course, for a sake of short training time we prepare a tiny dataset. We employ `make_classification` from SciKit-Learn to generate a dataset. There 10 samples in the dataset, 2 features, that means we can still have a nice plot of the dataset, as well as no redundant features, these are features are generated as a combinations of the other features. Also, we have 3 different classes in the dataset, each classes one kind of centroid and we set class separation to `2.0`, a slight increase from the default value of `1.0` to ease the classification problem.\n", + "\n", + "Once the dataset is generated we scale the features into the range `[0, 1]`." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "plastic-dividend", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.datasets import make_classification\n", + "from sklearn.preprocessing import MinMaxScaler\n", + "\n", + "X, y = make_classification(\n", + " n_samples=10,\n", + " n_features=2,\n", + " n_classes=3,\n", + " n_redundant=0,\n", + " n_clusters_per_class=1,\n", + " class_sep=2.0,\n", + " random_state=algorithm_globals.random_seed,\n", + ")\n", + "X = MinMaxScaler().fit_transform(X)" + ] + }, + { + "cell_type": "markdown", + "id": "forced-disclosure", + "metadata": {}, + "source": [ + "Let's see how our dataset looks like." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "premier-drill", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(X[:, 0], X[:, 1], c=y)" + ] + }, + { + "cell_type": "markdown", + "id": "deadly-response", + "metadata": {}, + "source": [ + "We also transform labels and make them categorical." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "exposed-bailey", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['A' 'A' 'B' 'C' 'C' 'A' 'B' 'B' 'A' 'C']\n" + ] + } + ], + "source": [ + "y_cat = np.empty(y.shape, dtype=str)\n", + "y_cat[y == 0] = \"A\"\n", + "y_cat[y == 1] = \"B\"\n", + "y_cat[y == 2] = \"C\"\n", + "print(y_cat)" + ] + }, + { + "cell_type": "markdown", + "id": "instructional-headquarters", + "metadata": {}, + "source": [ + "We create an instance of `VQC` similar to the previous example, but in this case we pass a minimal set of parameters. Instead of feature map and ansatz we pass just the number of qubits that is equal to the number of features in the dataset, an optimizer with a low number of iteration to reduce training time, a quantum instance, and a callback to observe progress." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "latin-result", + "metadata": {}, + "outputs": [], + "source": [ + "vqc = VQC(\n", + " num_qubits=2,\n", + " optimizer=COBYLA(maxiter=30),\n", + " callback=callback_graph,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "proper-bookmark", + "metadata": {}, + "source": [ + "Start the training process in the same way as in previous examples." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "reported-pioneer", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.9" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# create empty array for callback to store evaluations of the objective function\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "# fit classifier to data\n", + "vqc.fit(X, y_cat)\n", + "\n", + "# return to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)\n", + "\n", + "# score classifier\n", + "vqc.score(X, y_cat)" + ] + }, + { + "cell_type": "markdown", + "id": "weighted-renaissance", + "metadata": {}, + "source": [ + "Despite we had the low number of iterations, we achieved quite a good score. Let see the output of the `predict` method and compare the output with the ground truth." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "employed-patient", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Predicted labels: ['A' 'A' 'B' 'C' 'C' 'A' 'B' 'B' 'A' 'B']\n", + "Ground truth: ['A' 'A' 'B' 'C' 'C' 'A' 'B' 'B' 'A' 'C']\n" + ] + } + ], + "source": [ + "predict = vqc.predict(X)\n", + "print(f\"Predicted labels: {predict}\")\n", + "print(f\"Ground truth: {y_cat}\")" + ] + }, + { + "cell_type": "markdown", + "id": "guided-secret", + "metadata": {}, + "source": [ + "## Regression\n", + "\n", + "We prepare a simple regression dataset to illustrate the following algorithms." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "iraqi-flavor", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "num_samples = 20\n", + "eps = 0.2\n", + "lb, ub = -np.pi, np.pi\n", + "X_ = np.linspace(lb, ub, num=50).reshape(50, 1)\n", + "f = lambda x: np.sin(x)\n", + "\n", + "X = (ub - lb) * algorithm_globals.random.random([num_samples, 1]) + lb\n", + "y = f(X[:, 0]) + eps * (2 * algorithm_globals.random.random(num_samples) - 1)\n", + "\n", + "plt.plot(X_, f(X_), \"r--\")\n", + "plt.plot(X, y, \"bo\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "talented-capitol", + "metadata": {}, + "source": [ + "### Regression with an `EstimatorQNN`\n", + "\n", + "Here we restrict to regression with an `EstimatorQNN` that returns values in $[-1, +1]$. More complex and also multi-dimensional models could be constructed, also based on `SamplerQNN` but that exceeds the scope of this tutorial." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "perfect-kelly", + "metadata": {}, + "outputs": [], + "source": [ + "# construct simple feature map\n", + "param_x = Parameter(\"x\")\n", + "feature_map = QuantumCircuit(1, name=\"fm\")\n", + "feature_map.ry(param_x, 0)\n", + "\n", + "# construct simple ansatz\n", + "param_y = Parameter(\"y\")\n", + "ansatz = QuantumCircuit(1, name=\"vf\")\n", + "ansatz.ry(param_y, 0)\n", + "\n", + "# construct a circuit\n", + "qc = QNNCircuit(feature_map=feature_map, ansatz=ansatz)\n", + "\n", + "# construct QNN\n", + "regression_estimator_qnn = EstimatorQNN(circuit=qc)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "velvet-marks", + "metadata": {}, + "outputs": [], + "source": [ + "# construct the regressor from the neural network\n", + "regressor = NeuralNetworkRegressor(\n", + " neural_network=regression_estimator_qnn,\n", + " loss=\"squared_error\",\n", + " optimizer=L_BFGS_B(maxiter=5),\n", + " callback=callback_graph,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "working-mongolia", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAGDCAYAAADtZ0xmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABAcElEQVR4nO3dd5hdZbn38e89M5l0EhISShLSC72F3kJPAEVBUVQ8IkWkiCAIemzH83oAKSJFERBERBA7KiHUQDC0hA6pJKQQCAkppLd53j/2Dm6GyWRPMnvWlO/nuvY1s/pvrT25cu9nP2s9kVJCkiRJUvHKsg4gSZIkNTUW0ZIkSVIdWURLkiRJdWQRLUmSJNWRRbQkSZJURxbRkiRJUh1ZREvaoIj4UUT8rpblr0fEsBIct1T7/XREzIqIpRGxR33vv5bjfjEiHmqo4xUjIn4TEf8v6xx1EREjI+K/mstxNpJhaUT0yzKDpNpZREstWER8JSJejYjlEfFuRPwyIjoXu31KaaeU0ujNzPCxYq4+9rsBVwPnpZQ6pJReLMH+iYg+EZEiomL9vJTS3Smlo0txvJYkpTQipXTn5uwj/zf/VLHHKWb9zRURoyPijGoZOqSUppXyuJI2j0W01EJFxLeAK4FLgE7AfkBv4OGIqMwyWwn1Bl7POoRajsIPU5KaF4toqQWKiC2A/wHOTyk9mFJak1J6CziZXKH5pYLV20TEHyJiSUS8EBG7FeznrYg4Mv97WURcFhFvRsT7EXFfRHQpWPegiBgbEYvyXSq+EhFnAV8Evp3/+vofhfuNiO0iYkW1/ewREfMjolV++qsRMSEiFkbEqIjoXcP5to6IpUA58HJEvJmfnyJiQMF6H7aKR8SwiJgdEd+KiPci4p2IOK1g3bYRcU1EzIiIxRHxVES0BZ7Mr7Iof077V2/NjIgDIuL5/HbPR8QBBctGR8T/RsS/89f8oYjYagPv44SIOL5guiJ/bfbMT/8x/w3D4oh4MiJ22sB+PtbaWnht8tfv6oiYGRFzI+Lm/LnWtK/+EfFY/m9gfkTcXfjtRkTsGREv5s/tj/m/rfXXfMuI+GdEzMu/n/+MiJ7Vrs0ZhZnzuRZGxPSIGFHtnKbljzM9cl1qdgBuBvbPvzeLNnAOoyPijA2tX9v1KPi7uTQi3gXuqO28IuInwMHAjflj3FjD9e8UEb/Nbz8jIr4XEWXFXAdJpWMRLbVMBwBtgL8UzkwpLQVGAkcVzD4B+CPQBfg98LfIF7DVfAP4FHAosB2wELgJICK2z+/3BqAbsDvwUkrpFuBu4Kf5r68/US3PHOBp4KSC2V8A/pRSWhMRnwK+C5yY3+8Y4J7qwVJKq1JKHfKTu6WU+m/gulS3DblW+h7A6cBNEbFlftnVwF7krmUX4NtAFXBIfnnn/Dk9XbjDyH0g+BdwPdAVuBb4V0R0rXaOpwHdgUrg4g3kuwc4pWD6GGB+SumF/PRIYGB+Py+Qu9ab4kpgELn3bQC56/GDDawbwOXk/gZ2AHoBPwKI3DccfwV+Q+6a3QN8umDbMuAOch/ktgdWADfWkmtfYBKwFfBT4NeR057c9R2RUupI7j16KaU0ATgbeDr/3nSu7aRrWX9j12Ob/Pn1Bs6q7bxSSv9N7u92fTej82qIcgO5v8N+5P59fZnc30et16G2c5O0+SyipZZpK3LF1toalr2TX77e+JTSn1JKa8gVfG3Idf2o7mvAf6eUZqeUVpErnD4Tua+zvwg8klK6J9/q/X5K6aUis/6efKGYLww+n5+3/piXp5Qm5M/l/4Ddo4bW6E20BvhxPvMDwFJgcL4V8KvABSmlt1NK61JKY/PnvTHHAVNSSnellNamlO4BJgKFHyDuSClNTimtAO4jV6zV5PfAJyOiXX76C/zn2pBSuj2ltKTg/dgtIjoVe/Lw4TU/E7gwpbQgpbSE3HX+fE3rp5SmppQezn9wmUfub+bQ/OL9gArg+vw1/QvwXMG276eU/pxSWp4/zk8Ktq3JjJTSrSmldcCdwLbA1vllVcDOEdE2pfROSqleuvEUeT2qgB/mr8GKTTivwuOVA58DvpN/L98CrgFOLVittusgqUQsoqWWaT6wVdTcX3Pb/PL1Zq3/JaVUBcwm18pYXW/gr5HrrrEImACsI/efeS/gzU3M+idyX6dvR66VN5FruVt/zJ8XHHMBuZbQHpt4rOrer/ZBYznQgdyHjDZs2jltB8yoNm8GH838bg3H/JiU0lRy1/kT+UL6k+SL6Igoj4grIte95gPgrfxmNXYNqUU3oB0wvuA6P5if/zER0T0i7o2It/PH/V3BMbcD3k4ppYJNZhVs2y4ifpXvsvABua4xnfOFZE0+vE4ppeX5XzuklJaRKzzPBt6JiH9FxJA6nveGFHM95qWUVm7GeRXaity3EYV/Mxv8eym8DnU4J0mbwCJaapmeBlaR6wbxofzX4COARwtm9ypYXgb0BObUsM9Z5L4+71zwapNSeju/bENdKNIG5ucWprQIeIhcf+0vAPcUFGGzgK9VO2bblNLY2vZZYDm5gmi9bYrcbj6wkprPqdbzIXftqreUbw+8XeSxq1vfpeME4I18YQ25a3UCcCS5rgB98vNr+pp/GQXXISIKr8N8ct0Pdiq4xp0KusdUdzm5a7BrSmkLcv3r1x/zHaBHta4GvQp+/xYwGNg3v+36rjF17pqQUhqVUjqK3IfCicCt6xfVdVfVpou5HtW32dh51ZZpPrlvRAr/Zjbn70VSPbGIllqglNJicjcW3hARwyOiVUT0Idf3eTZwV8Hqe0XEiflW62+SK76fqWG3NwM/Wd+VIiK6RcQJ+WV3A0dGxMmRu/mta0Tsnl82l1xfz9r8nlw/0JMo6K6QP+Z3In/DXP4GrM9u/Ap86CXgC/lW2+EU+RV7vkX+duDayN38WB65GwhbA/PIfZ2/oXN6ABgUEV/IX4vPATsC/6xD7kL3AkcDX+ej16YjuffqfXIF8v/Vso+XgZ0iYveIaEO+DzN8eK63Aj+LiO4AEdEjIo7ZwL46kuv2sigiepB7+st6T5P7duK8/LmfAOxTbdsV+W27AD+s7cQ3JCK2johP5j8UrsrnWZdfPBfoGcU/geYj62/C9YCNn9cG/w3ku2jcR+7fVsf8v6+LyLXwS8qQRbTUQqWUfkrupryrgQ+AZ8m17B5RrW/v38l9Nb6QXD/ME/P9o6v7OXA/8FBELCFXaO+bP9ZM4FhyLXILyBWv65/y8Wtgx/xX43/bQNz7yd0gNzel9HLBOfyV3E1e9+a/Jn+NXEt6sS4g1xd5Ebl+2xs6fk0uBl4Fnid3TlcCZfmv038C/Dt/Th/pP55Seh84nty1eJ/cDYnHp5QKu9AULaX0Drni9ADgDwWLfkvua/+3gTeo+YPP+n1MBn4MPAJMAao/F/lSYCrwTP46P0KuZbUm/wPsCSwmdwPlhzevppRWk/v243Ry1/xL5D48rP97uw5oS6719Rly3SQ2RRm56zuH3HtzKHBOftlj5B5z+G5EFHPNa1q/LtcDNn5ePyd3/8DCiLi+hu3PJ/dtwTRy783vyX2Ik5Sh+GjXNEkqXkTMBL6UUnpyoytLNYiIZ4GbU0p3ZJ1FkurClmhJmyQiupG7meqtjKOoCYmIQyNim3x3jv8CdmXTW5wlKTMlK6Ij4vbIDVDw2gaWfzEiXsm/xkbBAA6SGreI2Jvc1/435LtqSMUaTK4P9mJyXS4+k++SIklNSsm6c0TEIeRu5vhtSmnnGpYfAExIKS2M3OhKP0op7VuSMJIkSVI9qukZsfUipfRk/m7/DS0vfATVM+QemyVJkiQ1eo2lT/Tp5IanlSRJkhq9krVEFysiDiNXRB9UyzpnAWcBtG/ffq8hQ+pr4ClJkiSpZuPHj5+fUqpxhNZMi+iI2BW4jdwoZ+9vaL2U0i3ALQBDhw5N48aNa6CEkiRJaqkiYsaGlmXWnSMitif3EP5T8w/6lyRJkpqEkrVER8Q9wDBgq4iYTW6Y01YAKaWbgR8AXYFfRATA2pTS0FLlkSRJkupLKZ/OccpGlp8BnFGq40uSJEml0lieziFJkiQ1GRbRkiRJUh1ZREuSJEl1ZBEtSZIk1ZFFtCRJklRHFtGSJElSHVlES5IkSXVkES1JkiTVkUV0EVJKjHr9XZasXJN1FEmSJDUCFtFFmDx3KV+7azy3Pjkt6yiSJElqBCyiizB4m44cv+u23DpmOu99sDLrOJIkScqYRXSRLjlmMGurqrju0SlZR5EkSVLGLKKL1Ltre764b2/+8Pws3py3NOs4kiRJypBFdB2cf/gA2rYq56cPTsw6iiRJkjJkEV0HXTu05muH9GPU63MZP2NB1nEkSZKUEYvoOjr94L5079iayx+YSEop6ziSJEnKgEV0HbWrrOCbRw5i3IyFPPzG3KzjSJIkKQMW0Zvg5KE96d+tPVc+OJG166qyjiNJkqQGZhG9CSrKy/j28CG8OW8Zfxw/O+s4kiRJamAW0Zvo6B23Zq/eW/KzhyezfPXarONIkiSpAVlEb6KI4LvHDuG9Jau4/anpWceRJElSA7KI3gx79e7C0Ttuzc1PTOP9pauyjiNJkqQGYhG9mb49fAgr1qzjhsemZh1FkiRJDcQiejMN6N6Bk4f24u5nZzDz/eVZx5EkSVIDsIiuBxceOZCKsjKuemhS1lEkSZLUACyi60H3LdpwxsF9+cfLc3hl9qKs40iSJKnELKLryVmH9KNL+0quGOlw4JIkSc2dRXQ96dimFd84fABj33yfJybPyzqOJEmSSsgiuh59Yd/e9O7ajitGTmRdla3RkiRJzZVFdD2qrCjj4qMHM/HdJfztxbezjiNJkqQSsYiuZ8ftsi279uzEtQ9PZuWadVnHkSRJUglYRNezsrLgshFDeHvRCn779FtZx5EkSVIJWESXwAH9t2LY4G7c9PibLF6+Jus4kiRJqmcW0SVy6fAhfLByDb8Y7XDgkiRJzY1FdInssO0WfHqPHtwx9i3eXrQi6ziSJEmqRxbRJfStowcDcO1DkzNOIkmSpPpkEV1CPTq35SsH9OEvL85mwjsfZB1HkiRJ9cQiusTOGdafjq0ruPLBiVlHkSRJUj2xiC6xzu0qOfewAYyeNI+xb87POo4kSZLqgUV0A/ivA/qwXac2XDFyIlUOBy5JktTkWUQ3gDatyrno6MG8Mnsx/3r1nazjSJIkaTNZRDeQT+/RgyHbdOSqUZNYvbYq6ziSJEnaDBbRDaS8LLh0xBBmLljO75+dkXUcSZIkbQaL6AY0bFA39u/Xlesfm8qSlQ4HLkmS1FSVrIiOiNsj4r2IeG0DyyMiro+IqRHxSkTsWaosjUVE8J1jh7Bg2WpueXJa1nEkSZK0iUrZEv0bYHgty0cAA/Ovs4BfljBLo7Frz84cv+u23DZmOu99sDLrOJIkSdoEJSuiU0pPAgtqWeUE4Lcp5xmgc0RsW6o8jcklxwxmbVUVP3tkStZRJEmStAmy7BPdA5hVMD07P+9jIuKsiBgXEePmzZvXIOFKqXfX9nxx397cN24WU99bmnUcSZIk1VGWRXTUMK/GkUhSSreklIamlIZ269atxLEaxvmHD6Btq3J+6nDgkiRJTU6WRfRsoFfBdE9gTkZZGlzXDq352iH9eOiNuYx7q7ZeL5IkSWpssiyi7we+nH9Kx37A4pRSixrO7/SD+9K9Y2suHzmRlBwOXJIkqako5SPu7gGeBgZHxOyIOD0izo6Is/OrPABMA6YCtwLnlCpLY9WusoJvHjmI8TMW8tAbc7OOI0mSpCJVlGrHKaVTNrI8AeeW6vhNxclDe/Lrp6bx0wcncsSQ7lSUO/6NJElSY2fFlrGK8jK+PXwIb85bxn3jZmcdR5IkSUWwiG4Ejt5xa/bqvSU/e2Qyy1evzTqOJEmSNsIiuhGICL577BDmLVnFr8dMzzqOJEmSNsIiupHYq3cXjt5xa3715DTeX7oq6ziSJEmqhUV0I/Lt4UNYsWYdNzw2NesokiRJqoVFdCMyoHsHTh7ai7ufncGM95dlHUeSJEkbYBHdyFx45EAqysq4atSkrKNIkiRpAyyiG5nuW7ThjIP78s9X3uHlWYuyjiNJkqQaWEQ3Qmcd0o8u7Su5wuHAJUmSGiWL6EaoY5tWfOPwATw97X1GT56XdRxJkiRVYxHdSH1h39707tqOK0dOZF2VrdGSJEmNiUV0I1VZUcbFRw9m4rtL+OuLb2cdR5IkSQUsohux43bZll17duLahyaxcs26rONIkiQpzyK6ESsrCy4bMYQ5i1dy59i3so4jSZKkPIvoRu6A/lsxbHA3bnp8KouWr846jiRJkrCIbhIuHT6EJavW8ovRb2YdRZIkSVhENwk7bLsFJ+7Rk9+MfYu3F63IOo4kSVKLZxHdRFx09CAArnnI4cAlSZKyZhHdRPTo3JbTDujDX198mzfmfJB1HEmSpBbNIroJOWfYALZo04orH5yYdRRJkqQWzSK6CenUrhXnHtafJybPY+zU+VnHkSRJarEsopuYL+/fhx6d23L5yIlUORy4JElSJiyim5g2rcq56KhBvPr2Yv756jtZx5EkSWqRLKKboE/t0YMh23Tk6lGTWL22Kus4kiRJLY5FdBNUnh8OfOaC5dz97Iys40iSJLU4FtFN1KGDunFA/67c8NhUlqxck3UcSZKkFsUiuomKCL4zYgcWLFvNr56YlnUcSZKkFsUiugnbpWcnPrHbdtz21DTmfrAy6ziSJEkthkV0E3fJ0YNZV5W47pHJWUeRJElqMSyim7jtu7bji/v25g/Pz2Lqe0uyjiNJktQiWEQ3A+cfPoB2lRVc+eCkrKNIkiS1CBbRzUDXDq05+9B+PPzGXMa9tSDrOJIkSc2eRXQz8dWD+tK9Y2v+74EJpORw4JIkSaVkEd1MtKus4MKjBvHCzEWMen1u1nEkSZKaNYvoZuSze/Wkf7f2/HTURNauczhwSZKkUrGIbkYqysu4dPgQps1bxh/Gzco6jiRJUrNlEd3MHLXj1gztvSXXPTKF5avXZh1HkiSpWbKIbmYigu8cO4R5S1Zx25jpWceRJElqliyim6G9enfhmJ225ldPvMn8pauyjiNJktTsWEQ3U98ePoSVa6u44dEpWUeRJElqdiyim6n+3Trwub17cfezM3lr/rKs40iSJDUrFtHN2DePGEir8jKuesjhwCVJkuqTRXQz1n2LNpx5cF/+9co7vDxrUdZxJEmSmo2SFtERMTwiJkXE1Ii4rIblnSLiHxHxckS8HhGnlTJPS3TWof3p2r6Sy0c6HLgkSVJ9KVkRHRHlwE3ACGBH4JSI2LHaaucCb6SUdgOGAddERGWpMrVEHVpX8I0jBvLMtAWMnjQv6ziSJEnNQlFFdET0jogj87+3jYiORWy2DzA1pTQtpbQauBc4odo6CegYEQF0ABYAjhBSz07ZZ3t6d23HFSMnsq7K1mhJkqTNtdEiOiLOBP4E/Co/qyfwtyL23QMoHHt6dn5eoRuBHYA5wKvABSmlqiL2rTqorCjjkmMGM2nuEv7ywuys40iSJDV5xbREnwscCHwAkFKaAnQvYruoYV71ZtBjgJeA7YDdgRsjYouP7SjirIgYFxHj5s2zS8KmOG6XbdmtZyeufXgyK9esyzqOJElSk1ZMEb0q3x0DgIio4OPFcE1mA70KpnuSa3EudBrwl5QzFZgODKm+o5TSLSmloSmlod26dSvi0KouIrhsxA68s3glvxn7VtZxJEmSmrRiiugnIuK7QNuIOAr4I/CPIrZ7HhgYEX3zNwt+Hri/2jozgSMAImJrYDAwrdjwqpv9+3flsMHd+MXjU1m0fPXGN5AkSVKNiimiLwPmkeuz/DXgAeB7G9sopbQWOA8YBUwA7kspvR4RZ0fE2fnV/hc4ICJeBR4FLk0pza/7aahYl44YwpJVa7np8alZR5EkSWqyoqk9O3jo0KFp3LhxWcdo0i7+48vc/9IcHrv4UHpu2S7rOJIkSY1SRIxPKQ2taVkxT+eYHhHTqr/qP6YaykVHDSICrn1octZRJEmSmqSKItYprL7bAJ8FupQmjhrCdp3b8pUD+3DLk9M44+B+7Ljdxx6IIkmSpFpstCU6pfR+wevtlNJ1wOGlj6ZSOufQAWzRphVXPDgx6yiSJElNTjHdOfYseA3N3xRYzIiFasQ6tWvFeYcN4MnJ8/j3VO/llCRJqotins5xTcHrcmAv4ORShlLDOHX/3vTo3JbLR06gyuHAJUmSirbRPtEppcMaIogaXptW5Xzr6EFcdN/L/OOVOZywe/VR2SVJklSTDRbREXFRbRumlK6t/zhqaJ/avQe3jpnO1Q9NYvjO29C6ojzrSJIkSY1ebd05Om7kpWagrCy4bMQQZi1Ywd3PzMw6jiRJUpOwwZbolNL/NGQQZeeQgVtx4ICu3PDYFD4ztCdbtGmVdSRJkqRGrZinc7SJiHMj4hcRcfv6V0OEU8OICC4bvgMLl6/hV0+8mXUcSZKkRq+Yp3PcBWwDHAM8AfQElpQylBreLj078cndtuPXT03n3cUrs44jSZLUqBVTRA9IKX0fWJZSuhM4DtiltLGUhUuOGcy6qsR1jzgcuCRJUm2KKaLX5H8uioidgU5An5IlUmZ6dWnHl/brzX3jZjFlrl82SJIkbUgxRfQtEbEl8H3gfuAN4MqSplJmzj98IO0rK7jywUlZR5EkSWq0iimi70gpLUwpPZFS6pdS6p5S+lXJkykTXdpXcvaw/jwyYS7Pv7Ug6ziSJEmNUjFF9PSIuCUijoiIKHkiZe6rB/Zl6y1a838PTCAlhwOXJEmqrpgiejDwCHAu8FZE3BgRB5U2lrLUtrKcC48cxIszFzHq9XezjiNJktTobLSITimtSCndl1I6Edgd2ILco+7UjH1mr54M6N6Bnz44iTXrqrKOI0mS1KgU0xJNRBwaEb8AXgDaACeXNJUyV1FexqXDhzBt/jL+8PysrONIkiQ1KsWMWDgd+CYwBtg5pXRySunPpQ6m7B25Q3f27rMl1z0yhWWr1mYdR5IkqdEopiV6t5TSp1NK96SUlpU8kRqNiOCyETswf+kqbhszPes4kiRJjUYxfaI/aIggapz26r0lw3fahluefJP5S1dlHUeSJKlRKKpPtFq2S4YPZuXaKq5/dErWUSRJkhoFi2htVP9uHfj83r34/bMzmT7fHj2SJEnF3FjYOiK+EBHfjYgfrH81RDg1HhccOZDKijKuHuVw4JIkScW0RP8dOAFYCywreKkF6d6xDWcc3I9/vfoOL81alHUcSZKkTFUUsU7PlNLwkidRo3fWIf34/bMzuPyBCdx71n44CrwkSWqpimmJHhsRu5Q8iRq9Dq0r+MYRA3l2+gIen/Re1nEkSZIyU0wRfRAwPiImRcQrEfFqRLxS6mBqnE7ZZ3v6dG3HlSMnsa4qZR1HkiQpE8UU0SOAgcDRwCeA4/M/1QK1Ki/jkmOGMGnuEv78wuys40iSJGWimMFWZgCdyRXOnwA65+ephTp2l23YrVdnfvbwZFauWZd1HEmSpAZXzCPuLgDuBrrnX7+LiPNLHUyNV0TwnRFDeGfxSu7491tZx5EkSWpwxXTnOB3YN6X0g5TSD4D9gDNLG0uN3X79unL4kO78YvRUFi5bnXUcSZKkBlVMER1A4Xf26/Lz1MJdOnwIy1at5abHp2YdRZIkqUEVU0TfATwbET+KiB8BzwC/LmkqNQmDt+nISXv25LdPz2DWguVZx5EkSWowxdxYeC1wGrAAWAicllK6rsS51ERcdPQgIuDahydnHUWSJKnBbLCIjogt8j+7AG8BvwPuAmbk50ls26ktpx3Yl7+99Davz1mcdRxJkqQGUVtL9O/zP8cD4wpe66clAL4+rD+d2rbiipETs44iSZLUIDZYRKeUjs//7JtS6lfw6ptS6tdwEdXYdWrbivMOG8CYKfN5asr8rONIkiSVXDHPiX60mHlq2U7dvzc9Orfl8pETqHI4cEmS1MzV1ie6Tb7v81YRsWVEdMm/+gDbNVhCNQmtK8q5+JhBvD7nA/7xypys40iSJJVUbS3RXyPX/3lI/uf619+Bm0ofTU3NCbv1YMdtt+CqUZNYtdbhwCVJUvNVW5/on6eU+gIXF/SF7ptS2i2ldGMDZlQTUVYWXDZiCLMXruB3z8zMOo4kSVLJFDPYSlVEdF4/ke/acU7pIqkpO2RQNw4asBU3PjaFD1auyTqOJElSSRRTRJ+ZUlq0fiKltBA4s5idR8TwiJgUEVMj4rINrDMsIl6KiNcj4omiUqtRu2zEEBYuX8PNo9/MOookSVJJFFNEl0VErJ+IiHKgcmMb5de7CRgB7AicEhE7VlunM/AL4JMppZ2AzxYfXY3Vzj06ccLu23H7v6fz7uKVWceRJEmqd8UU0aOA+yLiiIg4HLgHeLCI7fYBpqaUpqWUVgP3AidUW+cLwF9SSjMBUkrvFR9djdnFRw+mqgp+5nDgkiSpGSqmiL4UeAz4OnAu8Cjw7SK26wHMKpienZ9XaBCwZUSMjojxEfHlmnYUEWdFxLiIGDdv3rwiDq2s9erSji/t15s/jp/FlLlLso4jSZJUrzZaRKeUqlJKv0wpfSaldFJK6VcppWKeXxY1zKs+CkcFsBdwHHAM8P2IGFRDhltSSkNTSkO7detWxKHVGJx3+ADaV1Zw5YMOBy5JkpqXYkYsPDAiHo6IyRExLSKmR8S0IvY9G+hVMN0TqD4Kx2zgwZTSspTSfOBJYLdiw6tx69K+krOH9eeRCe/x3PQFWceRJEmqN8V05/g1cC1wELA3MDT/c2OeBwZGRN+IqAQ+D9xfbZ2/AwdHREVEtAP2BSYUG16N31cP7Ms2W7Th8pETSMnhwCVJUvNQTBG9OKU0MqX0Xkrp/fWvjW2UUloLnEfuxsQJwH0ppdcj4uyIODu/zgRyNym+AjwH3JZSem2Tz0aNTtvKci48aiAvzlzEg6+9m3UcSZKkehEbax2MiCuAcuAvwKr181NKL5Q2Ws2GDh2axo0bl8WhtYnWrqtixM/HsLYq8dCFh9CqvJjPbpIkSdmKiPEppaE1LasoYvt98z8Ld5CAwzc3mFqGivIyLh0+hDN+O457n5/Fqfv1zjqSJEnSZtloEZ1SOqwhgqh5O2KH7uzdZ0t+/sgUTtyjB+1bF/P5TZIkqXHaaCUTET+oaX5K6cf1H0fNVURw2YgdOOmXY7l1zDS+eeTHnmQoSZLUZBTTOXVZwWsduWG8+5Qwk5qpvXpvyfCdtuGWJ6cxb8mqjW8gSZLUSBUz2Mo1Ba+fAMP4+MiDUlEuGT6YVWuruP7RKVlHkSRJ2mSb8piEdkC/+g6ilqF/tw58fu9e3PPcTKbPX5Z1HEmSpE1SzIiFr0bEK/nX68Ak4Oelj6bm6oIjB1JZUcZVoxwOXJIkNU0bvLEwIvqmlKYDxxfMXgvMzQ+kIm2S7h3bcMbB/bj+0Sm8OHMhe2y/ZdaRJEmS6qS2lug/5X/enlKakX+9bQGt+nDWIf3YqkMll4+c6HDgkiSpyantEXdlEfFDYFBEXFR9YUrp2tLFUnPXoXUF3zhiID/4++s8NvE9jthh66wjSZIkFa22lujPAyvJFdoda3hJm+WUfbanT9d2XPngRNZV2RotSZKajg22RKeUJgFXRsQrKaWRDZhJLUSr8jIuOWYI5/7+Bf48fjYn790r60iSJElFKeY50RbQKpljd9mG3Xp15tqHJ7Ni9bqs40iSJBVlU54TLdWbiOA7I4bw7gcruWPs9KzjSJIkFcUiWpnbr19XDh/SnV+OfpOFy1ZnHUeSJGmjihlspV1EfD8ibs1PD4yI4ze2nVQXlw4fwrJVa7nx8alZR5EkSdqoYlqi7wBWAfvnp2cD/69kidQiDd6mIyft2ZO7np7BrAXLs44jSZJUq2KK6P4ppZ8CawBSSiuAKGkqtUgXHT2ICLjmoUlZR5EkSapVMUX06ohoCySAiOhPrmVaqlfbdmrLaQf25W8vzeG1txdnHUeSJGmDiimifwQ8CPSKiLuBR4FvlzKUWq6vD+tP53atuPLBiVlHkSRJ2qBinhP9EHAi8BXgHmBoSml0aWOpperUthXnHTaAMVPmM2bKvKzjSJIk1aiYp3PcDxwNjE4p/TOlNL/0sdSSnbp/b3p0bssVIydS5XDgkiSpESqmO8c1wMHAGxHxx4j4TES0KXEutWCtK8q5+JhBvD7nA+5/eU7WcSRJkj6mmO4cT6SUzgH6AbcAJwPvlTqYWrYTduvBjttuwdUPTWLVWocDlyRJjUtRIxbmn85xEnA2sDdwZylDSWVlwWUjhjB74QruenpG1nEkSZI+opg+0X8AJgCHAzeRe270+aUOJh0yqBsHDdiKGx+fyuIVa7KOI0mS9KFiRyzsn1I6O6X0WEqpqtShpPUuGzGERcvXcPMTb2YdRZIk6UMVG1oQEYenlB4D2gEnRHx0kMKU0l9KnE1i5x6dOGH37bj9qel8ef/ebNupbdaRJEmSam2JPjT/8xM1vI4vcS7pQxcfPZiU4GcPT846iiRJElBLS3RK6Yf5X3+cUppeuCwi+pY0lVSgV5d2fGm/3vxm7HTOOLgfg7bumHUkSZLUwhXTJ/rPNcz7U30HkWpz3uEDaF9ZwZUjHQ5ckiRlr7Y+0UOAnYBOEXFiwaItAAdbUYPq0r6Ss4f156pRk3h22vvs269r1pEkSVILVltL9GByfZ8789H+0HsCZ5Y8mVTNVw/syzZbtOHykRNJyeHAJUlSdmrrE/134O8RsX9K6ekGzCTVqG1lORceNZBL//wqI197l2N32TbrSJIkqYUqpk/02RHRef1ERGwZEbeXLpK0YSft2ZOB3Ttw1ahJrFnnI8slSVI2iimid00pLVo/kVJaCOxRskRSLSrKy7h0+BCmz1/Gvc/NzDqOJElqoYopossiYsv1ExHRhVq6gUildsQO3dmnTxd+/ugUlq5am3UcSZLUAhVTRF8DjI2I/42IHwNjgZ+WNpa0YRHBZccOYf7S1dz65LSs40iSpBZoo0V0Sum3wEnAXGAecGJK6a5SB5Nqs+f2WzJi5224dcw03luyMus4kiSphSmmJRqgC7AspXQDMM8RC9UYXHLMYFatreL6R6dkHUWSJLUwGy2iI+KHwKXAd/KzWgG/K2UoqRj9unXglH16cc9zs5g2b2nWcSRJUgtSTEv0p4FPAssAUkpzgI6lDCUV64IjBtG6ooyrRk3KOookSWpBiimiV6fc8HAJICLalzaSVLxuHVtz5sH9GPnau7wwc2HWcSRJUgtRTBF9X0T8CugcEWcCjwC3FrPziBgeEZMiYmpEXFbLentHxLqI+ExxsaX/OPOQfmzVoZIrHnA4cEmS1DCKeTrH1cCfgD8Dg4Ef5G8wrFVElAM3ASOAHYFTImLHDax3JTCqbtGlnA6tK7jgiIE899YCHpv4XtZxJElSC1DU0zlSSg+nlC5JKV2cUnq4yH3vA0xNKU1LKa0G7gVOqGG988kV6FY/2mSf32d7+m7VnisfnMi6KlujJUlSaW2wiI6Ip/I/l0TEBzW8pkfEObXsuwcwq2B6dn5e4TF6kLtx8eZNPwUJWpWXcckxg5k8dyl/Hj876ziSJKmZ22ARnVI6KP+zY0ppi+ovYChwQS37jpp2W236OuDSlNK62kJGxFkRMS4ixs2bN6+2VdWCjdh5G3bv1ZlrH57MitW1/klJkiRtlqK6c0TEnhHxjYg4PyL2AEgpvQ8Mq2Wz2UCvgumewJxq6wwF7o2It4DPAL+IiE9V31FK6ZaU0tCU0tBu3boVE1ktUETwnRFDePeDldwxdnrWcSRJUjNWzGArPwDuBLoCWwG/iYjvAaSU3qll0+eBgRHRNyIqgc8D9xeukFLqm1Lqk1LqQ+7mxXNSSn/blBORAPbt15UjhnTnl6PfZOGy1VnHkSRJzVQxLdGnAHunlH6YUvohsB/wxY1tlFJaC5xH7qkbE4D7UkqvR8TZEXH25oSWanPpiCEsW7WWGx+fmnUUSZLUTFUUsc5bQBtgZX66NfBmMTtPKT0APFBtXo03EaaUvlLMPqWNGbR1Rz6zV0/uenoGXzmgD726tMs6kiRJamZqezrHDRFxPbAKeD0ifhMRdwCvAUsbKqC0KS48ahARcM1DDgcuSZLqX20t0ePyP8cDfy2YP7pkaaR6sm2ntnz1oL78cvSbnHFwP3bu0SnrSJIkqRnZYBGdUroTICLaAAPIPZ7uzZTSyg1tIzUmZx/an3uem8mVD07krtP3zTqOJElqRmrrzlERET8l96i6O4HfAbMi4qcR0aqhAkqbqlPbVpx32ADGTJnPmCk+X1ySJNWf2p7OcRXQBeibUtorpbQH0B/oDFzdANmkzXbq/r3puWVbrhg5kSqHA5ckSfWktiL6eODMlNKS9TNSSh8AXweOLXUwqT60rijn4qMH8/qcD7j/5epj/UiSJG2a2orolFL6WNNdfohum/TUZHxyt+3YabstuPqhSaxa63DgkiRp89VWRL8REV+uPjMivgRMLF0kqX6VlQWXjRjC7IUruOvpGVnHkSRJzUBtj7g7F/hLRHyV3GPuErA30Bb4dANkk+rNwQO7cfDArbjx8al8dmgvOrX13lhJkrTpNtgSnVJ6O6W0L/BjcqMWzgR+nFLaJ6X0dgPlk+rNpcOHsGj5Gm5+oqgBNyVJkjZoo8N+p5QeAx5rgCxSSe3coxOf2n07bn9qOl/evzfbdmqbdSRJktRE1dYnWmp2vnX0YFKCnz08OesokiSpCbOIVovSq0s7Tt2/N38aP5vJc5dsfANJkqQaWESrxTnvsAG0b13BlSN9yIwkSdo0FtFqcbZsX8nXh/Xn0Ynv8ey097OOI0mSmiCLaLVIXz2wL9ts0YbLR06khjGFJEmSamURrRapTatyLjpqEC/NWsTI197NOo4kSWpiLKLVYp20V08Gbd2Bq0ZNYs26qqzjSJKkJsQiWi1WeVlw6fAhTJ+/jHufm5l1HEmS1IRYRKtFO3xId/bp24WfPzqFpavWZh1HkiQ1ERbRatEigu+MGML8pau59clpWceRJElNhEW0Wrw9tt+SY3fZhlvHTOO9JSuzjiNJkpoAi2gJuOSYIaxeW8X1j07JOookSWoCKrIOIDUGfbdqzyn7bM/vn5tJ21blnHfYQDq1a5V1LEmS1EhZREt53x4+mJVr1nHbU9O5b9xszj98AKfu35vWFeVZR5MkSY2M3TmkvI5tWnHVZ3fjX+cfzK49O/H//jWBo659kn++MsdRDSVJ0kdYREvV7LjdFtx1+r7c+dV9aFdZznm/f5ETfzmWcW8tyDqaJElqJCyipQ04dFA3/vWNg/npSbsyZ9EKPnPz05x913imz1+WdTRJkpQx+0RLtSgvC07euxfH77Ytt42Zzs1PvMkjE+bypf16840jBtKlfWXWESVJUgaiqfX1HDp0aBo3blzWMdRCvbdkJdc9MoV7n5tJ+8oKzjlsAKcd2Ic2rbz5UJKk5iYixqeUhta0zO4cUh1079iG//v0Loz65iHs07cLVz44kcOvHs1fX5xNVVXT+kAqSZI2nUW0tAkGbt2RX39lb+45cz+6dmjNhX94mU/e9BRjp87POpokSWoAFtHSZti/f1f+fu6BXPe53Vm4bA1fuO1Zvvqb55kyd0nW0SRJUglZREubqaws+NQePXj0W4dy2YghPD99Acdc9yTf+curvLdkZdbxJElSCXhjoVTPFixbzfWPTuF3z8ygsqKMrx3SnzMP6Uu7Sh+GI0lSU+KNhVID6tK+kh99cicevuhQDh3UjZ89MplhV43mD8/PZJ03H0qS1CxYREsl0ner9vzyS3vxp7P3p8eWbbn0z69y3PVjeGLyvKyjSZKkzWQRLZXY0D5d+MvXD+CmL+zJ8tXr+K/bn+PUXz/LG3M+yDqaJEnaRBbRUgOICI7bdVsevugQvn/8jrz69mKOu2EMF//xZd5ZvCLreJIkqY68sVDKwOLla7hp9FR+8++3KCuDMw7qx9nD+tOhtTcfSpLUWHhjodTIdGrXiu8euwOPfutQjt5xG258fCrDrnqcu56Zwdp1VVnHkyRJG2ERLWWoV5d2XH/KHvz93APp160D3//baxxz3ZM8/MZcmtq3RJIktSQW0VIjsFuvzvzhrP249ctDScCZvx3H5255hpdnLco6miRJqoFFtNRIRARH7bg1o755CP/7qZ15872lnHDTv7ng3heZtWB51vEkSVKBkhbRETE8IiZFxNSIuKyG5V+MiFfyr7ERsVsp80hNQavyMk7drzejLxnGeYcN4MHX3uWIa57g8gcmsHjFmqzjSZIkSvh0jogoByYDRwGzgeeBU1JKbxSscwAwIaW0MCJGAD9KKe1b2359OodamncWr+DqUZP5y4uz6dS2Fd84fCBf2q83lRV+kSRJUill9XSOfYCpKaVpKaXVwL3ACYUrpJTGppQW5iefAXqWMI/UJG3bqS3XnLwb/zz/IHberhM//ucbHPWzJ3jg1Xe8+VCSpIyUsojuAcwqmJ6dn7chpwMja1oQEWdFxLiIGDdvnkMmq2XaabtO3HX6PvzmtL1pU1HOOXe/wEm/HMv4GQuyjiZJUotTyiI6aphXY7NZRBxGroi+tKblKaVbUkpDU0pDu3XrVo8RpaYlIhg2uDsPXHAwV560C7MXruCkXz7N1383nrfmL8s6niRJLUYph0ebDfQqmO4JzKm+UkTsCtwGjEgpvV/CPFKzUV4WfG7v7fnEbttx65PT+dWTb/LIhLl8ab/efOPwgWzZvjLriJIkNWulbIl+HhgYEX0johL4PHB/4QoRsT3wF+DUlNLkEmaRmqV2lRVccORARl8yjM/s1Ys7x77FIVc9zs1PvMnKNeuyjidJUrNVsqdzAETEscB1QDlwe0rpJxFxNkBK6eaIuA04CZiR32Tthu6AXM+nc0gbNnnuEq4YOZHHJr5Hj85tueSYwXxyt+0oK6upd5UkSapNbU/nKGkRXQoW0dLGjZ06n588MIHX53zALj068d1jd2D//l2zjiVJUpOS1SPuJGXkgAFb8Y/zDuLak3fj/aWrOOXWZzjjzueZ+t6SrKNJktQsWERLzVRZWXDinj157OJhfHv4YJ6dtoBjrhvDf//1VeYtWZV1PEmSmjS7c0gtxPtLV3HDY1P53TMzaF1RxtmH9ueMg/vRtrI862iSJDVKdueQRNcOrfnRJ3fioQsP4eCB3bjm4ckMu/px7hs3i3VVTevDtCRJWbOIllqYft06cPOpe/HHs/dn205t+fafXuG468fw5GRHA5UkqVgW0VILtXefLvz1nAO48Qt7sGz1Wr58+3N8+fbnmPDOB1lHkySp0bOIllqwiOD4XbfjkYsO5XvH7cDLsxZx7PVjuOSPL/Pu4pVZx5MkqdHyxkJJH1q8fA03Pj6FO8fOoKwMzjy4H187tD8dWldkHU2SpAbnjYWSitKpXSv++7gdefRbh3LUjttww2NTGXbV4/zumRmsXVeVdTxJkhoNi2hJH9OrSztuOGUP/nbugfTbqgPf+9trDP/5GB6dMJem9u2VJEmlYBEtaYN279WZP3xtP245dS+qqhKn3zmOU259hldnL846miRJmbKIllSriODonbZh1IWH8L8n7MTkuUv5xI1P8c17X2T2wuVZx5MkKRPeWCipTj5YuYabR7/Jr5+aTgJOO7AP5wwbQKe2rbKOJklSvartxkKLaEmbZM6iFVz90CT++uLbdG7bim8cMZAv7tubygq/4JIkNQ8+nUNSvduuc1uuPXl3/nHeQey43Rb8zz/e4OifPcHIV9/x5kNJUrNnES1ps+zcoxO/O31f7jhtbyoryvj63S/wmZuf5oWZC7OOJklSyVhES9psEcFhg7vzwDcO5ooTd2HmguWc+IuxnHv3C8x4f1nW8SRJqnf2iZZU75atWsutY6Zxy5PTWLOuilP368P5hw9gy/aVWUeTJKlo3lgoKRPvfbCSnz0ymT88P4v2rSs4//ABfHn/PrRpVZ51NEmSNsobCyVlovsWbbj8xF158JuHMLT3lvzfAxM54pon+PtLb1NV1bQ+wEuSVMgiWlLJDdq6I3ectg93n7Evndq24oJ7X+JTv/g3z0x7P+tokiRtEotoSQ3mwAFb8c/zD+Kaz+7GvCWr+Pwtz3DGneOY+t7SrKNJklQnFtGSGlRZWXDSXj15/OJhXHLMYJ6Z9j7HXPck3//ba8xfuirreJIkFcUbCyVlav7SVVz/6BTufnYmbVuV8/Vh/fnqgX1pW+nNh5KkbHljoaRGa6sOrfnxCTvz0IWHcED/rlw1ahKHXT2aP42fzTpvPpQkNVIW0ZIahf7dOnDLl4dy39f2Z+tObbj4jy9z/A1PMWbKvKyjSZL0MRbRkhqVffp24W/nHMANp+zBkpVrOPXXz/Fftz/HxHc/yDqaJEkfsoiW1OhEBJ/YbTse/dahfO+4HXhx5kKO/fkYLv3TK8z9YGXW8SRJ8sZCSY3fouWrufGxqdz59FtUlJVx5iH9+Noh/WjfuiLraJKkZswbCyU1aZ3bVfK943fk0YuGccQO3bn+0SkcetVofv/sTNauq8o6niSpBbKIltRkbN+1HTd+YU/+es4B9N2qHd/966uM+PkYHps4l6b2rZokqWmziJbU5Oyx/Zbc97X9uflLe7G2KvHV34zji7c9y2tvL846miSphbCIltQkRQTDd96Ghy48hP/55E5MfHcJx9/wFBf94SXeXrQi63iSpGbOGwslNQsfrFzDL0e/ye1PTScBpx/Ul68P688WbVplHU2S1ER5Y6GkZm+LNq24dPgQHrt4GMfvsi2/HP0mw64azZ1j32KNNx9KkuqZRbSkZqVH57Zc+7nd+ef5BzFkm4788P7XOfpnT/Lga+9686Ekqd5YREtqlnbu0Ym7z9iXO76yNxVlwdm/G89nb36aF2cuzDqaJKkZsE+0pGZv7boq/jh+Ntc8NJn5S1ex5/ad6dS2FW1aldO2VTltKstpU1FO28qy3HT+tf73tpVlH5nXtnB5ZRmV5WVERNanKUmqZ7X1iXa4L0nNXkV5Gafssz2f3G07bh0zjbFT3+f9ZatZsXodK9asY+WaKlauyf2+rqruDQsRfKS4btOqjLYfFuaFRXm1Ir2ynDYVZdXWKS/YtuxjBX15mcW6JDUGtkRLUoE166pyhfXqXHG9Ys36Qnvdf+avXceK1VUfzl+5Zh0rCuavLFj/I0X6h+usY9XaTbvZsbK87D9FevXCvaAAb1O5ftnHW9dz25Z9tLX9I9vaui5JYEu0JBWtVXkZrcrLSv5ovKqqxKq11Yr01euL8o/O/8+yaoX7h4V5FStXr2P+0tX/Kfbz+1m+ei2b0LhOWfDxIr2yvIbuLmXVusT8Z/5Hu8TUPN/WdUlNlUW0JGWgrCxyhWVleUmPk1JizbrEyrW5VvQVhUV6vmW8+vzCwr16d5eVa9axdNVa5i1ZlfsQsPo/8ze5db2i7MNuLTUW6dW7uxQW49WK99YFLfIVHxbnQQQEfNi6nvsdIr9svYjcOlE4XbD9+o1jI/tcv3LhOjXtk1qOs36b9ZkkNS4W0ZLUjEUElRVBZUXDtK6vXFutSC/sCrOmqlqXmA13d1mxZh2r1lQxf+nqGgv7TWldby42VrzX9gHgw2K++rwN7JOCYr+mDx4f2eYjHxxqP+7GP8xEQYYNfZj56Dpq3m45dSjdOrbOOsZHlLSIjojhwM+BcuC2lNIV1ZZHfvmxwHLgKymlF0qZSZJUGmVlQbvKCtpVlvY461vXc4X2R/uery/c198kmvLr57bLb08ipdx0Kthnyi0k/9uHy1P6zzb5VSClD5cVbl99nxRsX9M+qb6PgmMUddz151Jtn3w4r/Z9Vs9e0z4/nJs2fi4fOe6H+682r8b34eP75GPzat6nWobG2OurZEV0RJQDNwFHAbOB5yPi/pTSGwWrjQAG5l/7Ar/M/5QkqUaFreu0dVh3Sdko5WAr+wBTU0rTUkqrgXuBE6qtcwLw25TzDNA5IrYtYSZJkiRps5WyiO4BzCqYnp2fV9d1JEmSpEallEV0Tb1XqndeKmYdIuKsiBgXEePmzZtXL+EkSZKkTVXKIno20KtguicwZxPWIaV0S0ppaEppaLdu3eo9qCRJklQXpSyinwcGRkTfiKgEPg/cX22d+4EvR85+wOKU0jslzCRJkiRttpI9nSOltDYizgNGkXvE3e0ppdcj4uz88puBB8g93m4quUfcnVaqPJIkSVJ9KelzolNKD5ArlAvn3VzwewLOLWUGSZIkqb6VsjuHJEmS1CxZREuSJEl1ZBEtSZIk1ZFFtCRJklRHFtGSJElSHVlES5IkSXUUuafMNR0RMQ+YkdHhtwLmZ3RsNQzf45bB97ll8H1uGXyfm78s3+PeKaUah8tuckV0liJiXEppaNY5VDq+xy2D73PL4PvcMvg+N3+N9T22O4ckSZJURxbRkiRJUh1ZRNfNLVkHUMn5HrcMvs8tg+9zy+D73Pw1yvfYPtGSJElSHdkSLUmSJNWRRXQRImJ4REyKiKkRcVnWeVT/IuL2iHgvIl7LOotKJyJ6RcTjETEhIl6PiAuyzqT6FRFtIuK5iHg5/x7/T9aZVDoRUR4RL0bEP7POotKIiLci4tWIeCkixmWdp5DdOTYiIsqBycBRwGzgeeCUlNIbmQZTvYqIQ4ClwG9TSjtnnUelERHbAtumlF6IiI7AeOBT/ntuPiIigPYppaUR0Qp4CrggpfRMxtFUAhFxETAU2CKldHzWeVT/IuItYGhKqdE9C9yW6I3bB5iaUpqWUloN3AuckHEm1bOU0pPAgqxzqLRSSu+klF7I/74EmAD0yDaV6lPKWZqfbJV/2VrUDEVET+A44Lass6hlsojeuB7ArILp2fifrtTkRUQfYA/g2YyjqJ7lv+J/CXgPeDil5HvcPF0HfBuoyjiHSisBD0XE+Ig4K+swhSyiNy5qmGerhtSERUQH4M/AN1NKH2SdR/UrpbQupbQ70BPYJyLsotXMRMTxwHsppfFZZ1HJHZhS2hMYAZyb737ZKFhEb9xsoFfBdE9gTkZZJG2mfD/ZPwN3p5T+knUelU5KaREwGhiebRKVwIHAJ/P9Ze8FDo+I32UbSaWQUpqT//ke8Fdy3WwbBYvojXseGBgRfSOiEvg8cH/GmSRtgvxNZ78GJqSUrs06j+pfRHSLiM7539sCRwITMw2lepdS+k5KqWdKqQ+5/5cfSyl9KeNYqmcR0T5/EzgR0R44Gmg0T9GyiN6IlNJa4DxgFLmbkO5LKb2ebSrVt4i4B3gaGBwRsyPi9KwzqSQOBE4l12r1Uv51bNahVK+2BR6PiFfINYI8nFLy8WdS07Q18FREvAw8B/wrpfRgxpk+5CPuJEmSpDqyJVqSJEmqI4toSZIkqY4soiVJkqQ6soiWJEmS6sgiWpIkSaoji2hJaoQiYmn+Z5+I+EI97/u71abH1uf+JaklsIiWpMatD1CnIjoiyjeyykeK6JTSAXXMJEktnkW0JDVuVwAH5weGuTAiyiPiqoh4PiJeiYivAUTEsIh4PCJ+D7yan/e3iBgfEa9HxFn5eVcAbfP7uzs/b32rd+T3/VpEvBoRnyvY9+iI+FNETIyIu/OjP0pSi1WRdQBJUq0uAy5OKR0PkC+GF6eU9o6I1sC/I+Kh/Lr7ADunlKbnp7+aUlqQH/76+Yj4c0rpsog4L6W0ew3HOhHYHdgN2Cq/zZP5ZXsAOwFzgH+TG/3xqfo+WUlqKmyJlqSm5WjgyxHxEvAs0BUYmF/2XEEBDfCN/HC5zwC9CtbbkIOAe1JK61JKc4EngL0L9j07pVQFvESum4kktVi2REtS0xLA+SmlUR+ZGTEMWFZt+khg/5TS8ogYDbQpYt8bsqrg93X4/4ekFs6WaElq3JYAHQumRwFfj4hWABExKCLa17BdJ2BhvoAeAuxXsGzN+u2reRL4XL7fdTfgEOC5ejkLSWpmbEmQpMbtFWBtvlvGb4Cfk+tK8UL+5r55wKdq2O5B4OyIeAWYRK5Lx3q3AK9ExAsppS8WzP8rsD/wMpCAb6eU3s0X4ZKkApFSyjqDJEmS1KTYnUOSJEmqI4toSZIkqY4soiVJkqQ6soiWJEmS6sgiWpIkSaoji2hJkiSpjiyiJUmSpDqyiJYkSZLq6P8DK8VOVJvvjW0AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.9769994291935522" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# create empty array for callback to store evaluations of the objective function\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "# fit to data\n", + "regressor.fit(X, y)\n", + "\n", + "# return to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)\n", + "\n", + "# score the result\n", + "regressor.score(X, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "diverse-conservative", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAuNElEQVR4nO3dd1yV5f/H8dcFguLEQbnBFFeaVqSmZu6Rft1mRjkyUUvNcovmCgemlbMwtSxMSys1zT2yzBypaY4cieKWVERQxrl+f0D9HKAg53Cd8Xk+Hjzg3Nznvt/nkb25z33u+7qU1hohhBDOz810ACGEEFlDCl8IIVyEFL4QQrgIKXwhhHARUvhCCOEispkOcD+FChXSfn5+pmMIIYTD2L1792WttU9qv7Prwvfz82PXrl2mYwghhMNQSkWk9Ts5pSOEEC5CCl8IIVyEFL4QQrgIKXwhhHARUvhCCOEipPCFEMaFh4OfH7i5JX8PDzedyDnZ9WWZQgjnFx4OQUEQG5v8OCIi+TFAYKC5XM5IjvCFEEYFB/9/2f8rNjZ5ubAuKXwhhFGnTmVsuXh4UvhCCKNKlszYcvHwpPCFEEaFhEDOnHcuy5kzebmwLil8IYRRgYEQFga+vqBU8vewMPnA1hbkKh0hhHGBgVLwWUGO8IUQwkVI4QshhIuQwhdCCBchhS+EEC5CCl8IIVyEFL4QLkgGK3NNclmmEC5GBitzXVY5wldKzVNKXVRKHUjj90opNU0pdUwp9YdS6ilr7FcIkXEyWJnrstYpnc+Apvf5fTPAP+UrCJhtpf0KITJIBitzXVY5paO1/kkp5XefVVoBC7TWGtiulPJWShXRWp+zxv6FEOlXsmTyaZzUlmfK9eucWPkFG/d+z7mblzmvYrjw7BOcjznP+ZMHiEqMpnBCdvzdH8E/f2n8fZ/Cv1oz/Av6UyJvCZRSmQwgHiSrzuEXA07f9jgyZdk9ha+UCiL5XQAlZbg8IawuJOTOc/jw8IOVhYfD4ElHOZvvGzwrfkV80QPgBXhBgVvuFL7sQeHchamWuxwFL8Zw9uZFjqozrMt2iptHNsGRKQCU9niUbo+1o3OzoZTIV8I6L1TcI6sKP7U/3Tq1FbXWYUAYQEBAQKrrCCEe3r8fzAYHJ5/GKVkyuezT/YFtXByRM8bTf/NGvvWLQbf7A4D40zXw2BDK+C7N6de1DJ7unqk/X2ssZ89w5uQfHC2ag0MXDrBk3iBGJMxi5OFZNPKqRLdGg2j9xIvkyJYj8y9Y/Ecln2WxwoaST+n8oLWulMrvPgE2a62/Snl8BKj7oFM6AQEBeteuXVbJJ4TIpIQErn86i0mrRzClcgw3syk4VQsOtodDbSE6+cjc1xdOnszgtq9e5cT8qXy2bRafF4/ilDd4u+WiR403GFlnJHmy57H2q3FaSqndWuuA1H6XVdfhLwc6p1ytUwO4JufvhXAciQm3CGtfCv8T/Ql5KoY2xRrAtGMwfyv89tZ/ZQ8P+eGvtzePvT2WsV9f4u//rWfdyTo0LVyb97e9T/np5fh630KsdXDqyqxyhK+U+gqoCxQCLgCjAA8ArfXHKvnTmBkkX8kTC3TTWj/w0F2O8IUwbOdOVntfZuC6Qfx56U9q5arAlI7zqF6iBn5+qX/4+1BH+GnYcWYHvac15vec12hYsBozXlpAuULlrLNxJ3W/I3yrndKxBSl8IQxJTOTKyEF0O/khy8pD6fylCW0USpvybf67mubuG7gg+cNfa09ekvTtEj6e3Z3ggGhis7sx+NkBDK8/mpweOR/4XFdkD6d0hBCO4vRp9rYIICD2Q1aVcyP0+RAOvnmQthXa3nHpZFbNVOXetj1vLjnFkejOvPSHhZDtk6n8YTn2X9hv3R25ADnCF0L8v9Wr+ey99vSue4OCXgVY0mUlNYrXMJ3q//38M5snv8nLtS9wPfEG4W3DaVmupelUdkWO8IUQD3Qr8Ra9Dr9Pt0Y3qFm8Br/3P2RfZQ9QuzZ1l+1jZ8/dlC9YjtaLWjNhy3vygW46SeEL4equXOHUD+E8N/85Prm2gaHPDmJN0FYeyfWI6WRpKpa3GD89MoSO+zXDN4/klcUvEpcQZzqW3ZPRMoVwZZcusb/9czSo8Re3vHPzXcfvaF2+telU6eLVugMLr86n8mfdCWYJRz/5i++7/EjRPEVNR7NbcoQvhKs6d459rWpQr8YRPL0L8luPHQ5T9v9SXbsyfPQGvluRi4Pn/+CZmVU5dOmQ6Vh2SwpfCFd06hR7WlWnfp0TeOX3YXPPXylfqLzpVA+U6sQtdevSOnw327aWw4KmwYIGHI06ajipfZLCF8IF7V4wkfoNTpM7f2G29NxOmQJlUl3PnmbG+ve6/4gI0Pr/J24JDwfKleOJTQfZ0H0LCZYE6s9/nr+v/G0urJ2SwhfClVgs7DyzkwbZFuJdqDhbev7KY/kfS3XV+xasAQ+cuMXNjYo+FVmfvQc3os5Tf05tTl87fc92XJkUvhCu4sgRttcvS8PP61PAqwCbu/+Mn7dfmqvb28xY6Z24pUqb3qxd8wj/XD1H/U9rc/b6WduHcxBS+EK4gosX2RvYgMa1TuCTvQBbum7B19v3vk+xt5mx0poe457lJUoQsHgrq1d6c/6f0zSYW4eLNy7aPJ8jkMIXwtnFxXG2Q1Na1D1Dvrw+bO7xS7omGUl3wWaRkJDksXpul+bELf7+PPvlFvoveYEjl8/w6KCGlCgXZfQzCHsghS+EM7NYuPHqS7Qsv4er+XLwQ5e1FM9bPF1PzVDBZoGMjt0T/kdlpp5ahv5qBRT8i8ia7ejRK8GlS1/G0hHCiVmuR9NhWBm+97nMsk7LaVG2RYaeHx6eiZmxDLtj+OYnvoS2r8LO3vgemGW14Zvt0f3G0pE7bYVwVloz/LfxfOtziQ8aT81w2UNyuTtKwd/tjs8a/ngFHtkPtUOJuFgZ6G0qllFySkcIZ7RiBfM6lWfSL5Po9XQv3qrR33SiLHfPZw0bxsNfL0DTfmw+udlEJOOk8IVwNnv2sGlwB3qW+4tGvvWZ1mzaHePYu4p7PoPQ7nh9N4+iV3LRfmFrl7wxSwpfCGdy7RpHu7WiXet4yhYsy9cvLcXD3cN0KiNS+5B3zlQvNm/JTVJMNC2/bM71W9dNx8xSUvhCOAutudmjGy8+exqVJw8/vLoa7xzeplMZFRiYPL+uxZL8PbBXXvy/WMnX2Tpx8MoROn/fGYu2mI6ZZaTwhXAWly4x0H0DewvDgvYLKZW/VKqr2dP4OEZUqUKjseFMbTyV7w9/z7gt40wnyjJS+EI4iW+jfmZm+WjeqfE2zcs2T3Udexsfx6R+Pi149UgOxm4Zw08RP5mOkyXkOnwhHN3Vq5ycMpKqub6gbMGy/Pzaz3i6e6a66h3Xpt/G1xenvjY9VUlJXG/ekKfKbeFW8cLs6/Mn+b3ym06VaTKnrRDOSmsSXutKp/Mz0EmJLGq/KM2yB/sbH8cod3fyzF/IwnV5ORdzjqDlrzv93LhS+EI4smnTGHF9GduLw6et56c51PG/7G18HOOKFOGZ8Z8RsgGWHP6WuXvmmk5kU1L4QjiqHTv48eMBhNaGnk8H0eHxDg98ir2Nj2MXWrdm4OM9aHC9EG+tfovDlw+bTmQzUvhCOCKtOduvG51baSoXrMgHTT5M19MyOgCZq3CbPoMF7+7FK5sXnZZ24lbiLdORbEIKXwgHpIGu3fITm9uTxR2X4OXhle7n3nNtuouXPQCenhTNW4z5NSay9/xehq0fajqRTUjhC+FoLl3i09/nsO78L0xuMoUKPhVMJ3Ia//vtCm/ugA9++5DVx1abjmN1UvhCOJKYGE7Vf5oBK/pSz68evQJ6mU7kXN55h8lxtal0yY2uS1/ln7h/TCeyKil8IRyIHjyI1588jSWbO3NbzsVNyf/CVuXujtdn4SxYk5PLsZd5Z/XbphNZlfxrEcJRrF/Pp799zLrSENrk/TSHThCZVLIkT46azZCf4fM/FjjVqR2501YIRxAdzanq5anU7gIBpZ9jfdeNcnRvS1pzc/Z0nkyaSWzSTQ70PkCe7HlMp0oXudNWCAenDx3i9VpRWHJkZ27r+VL2tqYUOd7ox7zWn3H62mmGrh9iOpFVyL8aIRzAXI/9rCsRL6dystiz7r70O+LNrF2znWKANSl8IezZ9eucmv4e76x5h7p+deWqnKxWuDAhkWUpdc2N17/rRlxCnOlEmWKVwldKNVVKHVFKHVNK3XPHglKqrlLqmlJqb8rXu9bYrxDOTo8cQc/fRmJJSmRey3lyKierubmR65P5zFnpxtFrJxi1eZTpRJmS6X89Sil3YCbQDKgIdFJKVUxl1a1a66opX2Mzu18hnN7vv/PNhums9oeQhhPkVI4pFSrQ4NVR9NgNU7ZNYeeZnaYTPTRrHC5UA45prU9oreOBRUArK2xXCNeVlET0m6/Tv5niqUeq8Ga1N00ncm2DBzM5siJF4j15bflrJCQlmE70UKxR+MWA07c9jkxZdrdnlVL7lFI/KqUet8J+hXBes2cz0nsP53NpPm45h2xu2Uwncm2enuRbsZZZgQs5cPEAH27/0HSih2KNwlepLLv74v7fAV+tdRVgOvB9mhtTKkgptUsptevSpUtWiCeE4/n9MS9mVFf0CujJM8WeMR1HABQrRsuKbfhfqaaM2TyayOhI04kyzBqFHwmUuO1xceDs7StoraO11jEpP68CPJRShVLbmNY6TGsdoLUO8PHxsUI8IRxLkiWJXmc+oVBuH8Y3mGA6jrid1nz0SQRJt+J4e3V/02kyzBqFvxPwV0qVUkp5Ai8By29fQSlVWCmlUn6ulrLfKCvsWwjnsno1YUMbsvPsTqY2nop3Dm/TicTtlKJU/zEEb9EsObSUtcfXmk6UIZkufK11ItAHWAMcAr7WWv+plOqllPr3ouH2wAGl1D5gGvCStucxHYQwITaWC+/0ZJjHT9T3rcvLlV82nUikpn17BnnWw/+KG31W9HaoyVKsclGv1nqV1rqs1rq01jokZdnHWuuPU36eobV+XGtdRWtdQ2u9zRr7FcKpvPceA8ufIja7GzNbzCblTbGwN0qRffosZvyoOHrtBJO3TTadKN3kLg4h7MGRI2z6JpQvq8CQ2kMpX6i86UTifsqXp3GbgbS/WoyQrSH8feVv04nSRQpfCDsQP3gAbzTTPJbXl+HPDTcdR6RHSAgfjNmOu3LnrdVvmU6TLlL4QtiB6d0rcbighWnNZ2ZoflphkLs7xfMWZ9Tjb7DirxWsOLLCdKIHksIXwiSLhQsxFxh7cDYv+L9A87LNTScSGdR/zn4qRrnRb+WbxCbEmo5zX1L4Qpg0eTIjhlYjNiGWqY2nmk4jHoLH+x8wc5Xi5PXTvL/tfdNx7ksKXwhTzp3j97AxzC10in7V+lGuUDnTicTDKF+euu0H0v5PmLR1gl3fgSuFL4QheugQ+tW7SaEcBRj5/EjTcURmjBjB5L0+JMXfYtj6YabTpEkKXwgTtm9n8e9f8EsJzfjGk+SOWkeXOzd+705lQMIzfLn/S7ZHbjedKFUyibkQBsQ2b0y5ihvweawyO3vuxt3N3XQkYQUx8TH4T/fHN58v27pvMzJhjUxiLoSdCe3zJJG5LXz0wnQpeyeS2zM3E4q+ym9nfuOr/V+ZjnMPKXwhslJcHBFRJ5j0+zQ6Pt6R53yfM51IWFnn7/4m4JxiyJqB3Ii/YTrOHaTwhchKY8YweNjTKBShjUJNpxE24DYplA/XZeNM7HlCf7Gv/8ZS+EJklZMn2bpkKl8Xu8qQWkMoma+k6UTCFkqVolbHgby0H0J/nsSpa6dMJ/qPFL4QWcQyfBgDGiRSLGdhBtUaZDqOsKVhw5i0txAkxDN0/VDTaf4jhS9EVtixg8X7F7GzqCak0URyeuQ0nUjYUp48lBw3jUG5GvPVga/Ydto+RoSXyzKFyAI3uwRSvtAi8peuxO7ee4xcriey3o34G5SdUZaS+Uqy7bVtWTLHgVyWKYRh07pXIiKvhSnNPpCydyG5PHLyXrYmbI/czpKDS0zHkcIXwqbi47l88SQh2ybS3L859UvVN51IZCWl6LwxisqX3Bi6dpDx6RCl8IWwpZkzGfNGRW7E32ByI8eZCk9Yj/ukUN5fCyeiI5i9a7bRLFL4QtjKP/9wZPpoPn78Jj2e6kEFnwoAhIeDnx+4uSV/Dw83mlLYWrlyNG7Yk8bHFWM3jeZK3BVjUaTwhbCVsWMZWj0aL8+cjKk3Bkgu96AgiIgArZO/BwVJ6Tu9UaOYvDUHV29dI2RriLEYUvhCZEC6j86PHmXLihl8Xx6G1hnOI7keASA4GGLvmhQpNjZ5uXBijz7KEyOm07VQA6bvmG5s0nMpfCHSKSNH55aF4QxspCmeqyhv13j7v+Wn0rjpMq3lwol07864zp/jrtwZvtHMRPVS+EKkU0aOzhe18WdXEQvjG028Y1LykmmMppDWcuFcinkWZMCtp1h0YBE7zuzI8v1L4QuRTuk6OteaW2ciCN40gicLP0ngE4F3rBsSAjnvusk2Z87k5cIFeHgw+IcrPBLnzsDV75DVN75K4QuRTuk6Ol++nFmdynDy6klCG4Xec5NVYCCEhYGvLyiV/D0sLHm5cAHu7uQZP4UxG5LYGvkLy48sz9Ldy9AKQqTTv+fwbz+tkzPnbYWdmMjVpypSusVxAio0YM2ra41lFXZMaxIbN6Ryxc3o0qU50Ocg2dyyWW3zMrSCEFbwwKPzefOY+OhRrmTXTJKx7kValCLb5ClMXGvhyJWjzNszL+t2LUf4QljBjRucrlKKsi9H0eHJQBa0WWA6kbBz+oMPeC7bAo7Hn+dY32Pk8sxlle3KEb4QtrZxI6MqXcKSzZ1x9caZTiMcgHr7bUJbz+R8zHk+2P5BluxTCl8IK9hfzY/PnlT0rdEPX29f03GEg6jpWZo2MSUI3TqRSzcu2Xx/UvhCZFZkJEM3DCVfjnwMf87MDTXCQXl4MGHpVWITYhn3k+3fGUrhC5EZR4+yqZ4fq46uYnjt4RTwKmA6kXAkBQpQrtcIXt+t+XjnbI7/c9ymu5PCFyITLMHDGdxAUyJ3MfpW72s6jnBEffsy6kgRPBIsBG+07aBKUvhCPKwdO/jm4BJ2FbHwXsPx5MiWw3Qi4Yi8vCgyLIR3frGw+M/F7DpruysTpfCFeBhaEz9kIMGN3XmiUCUCK8utsiITOndmUJ2hFMpRgCHrh9hsyAWrFL5SqqlS6ohS6phSamgqv1dKqWkpv/9DKfWUNfablkRLovGpxISTO3mSsKTfOJ4viUlNJuPu5m46kXBk7u7kHT2Bd+uOZuPfG1lzfI1NdpPpwldKuQMzgWZARaCTUqriXas1A/xTvoIAm83zdfXmVSrNqsSH2z+01S6E4HrRQoxtnod6vnVpUrqJ6TjCSfT0qEHpW7kYsmYQSZYkq2/fGkf41YBjWusTWut4YBHQ6q51WgELdLLtgLdSqogV9n0P7xzelClQhgk/T+CfuH9ssQvh6k6f5v1tk7l0M4pJjUJRSplOJJyEZ4KF0O9v0PpSARItiVbfvjUKvxhw+rbHkSnLMroOAEqpIKXULqXUrkuXHu5GhAk3ahB98xrjt46/Y7nMJSoy7eZNzjeswZTNE3jx8Rd5ptgzphMJZ1K9Om3bjWBM3TFkz5bd6pu3RuGndnhz9ycO6VkneaHWYVrrAK11gI+Pz0MFqnzOQpe9MH37NCKuRgAyl6iwkhkzGFfmLLfcNSH1ZRB7YQPjxkHdujbZtDUKPxIocdvj4sDZh1jHet55h7H7C6ESE3l307uAzCUqrODKFY7OGkdYgKJnQC/KFChjOpEQGWKNwt8J+CulSimlPIGXgLtH9V8OdE65WqcGcE1rfc4K+05d7tyUGDSOfts1X/zxBX9c+EPmEhWZN2kSwQHRZPfIwcg6I02nESLDMl34WutEoA+wBjgEfK21/lMp1Usp1StltVXACeAYMAd4I7P7faDu3Rl2tjT54hVD1w2RuURF5iQmsuOnr/jmcRhYezCP5n7UdCIhMsy5x8Nfv57JEV8xOHIew4tu5MP+9dKerUiI+9BaU2/+8xy6fJhjbx0nT/Y8piMJkSrXHQ+/YUP6dplJibwlWMcQPvlEy1yiIuPOn2f1weVsOb2Vd+uOkrIXDst6EynaqRxunoyNeoJu0SvJ3n4JJ092MB1JOJik17szpOxGypQqQ9DTQabjCPHQnPsIH8DNjVf3QaXLbgxfN4SEpATTiYQj2byZL86sYn++m4TUD8HD3cN0IiEemvMXPuA+cRIT12mOXfubsN1hpuMIR6E1cUMHMqKRO9WKBNChorw7FI7NJQqfxx/nhVpdeT5CMWbTKK7fum46kXAE33zDRx67OZMriclNpsgQCsLhuUbhA2rMWCZv8uDSzShCfwk1HUc4gMsrFjPheTf+59+COr51TMcRItNcpvApXpxnxszhpeJNmfLrFM5et92NvsI5vBdYnBhPmNhokukoQliF6xQ+QOfOhLSdSaLl/4dcEOIe169z/OgOZu2cTfcnu1PR5+7RvoVwTK5V+MBj2ps+lx9j/p75HLh4wHQcYY8mTSL43Vp4uHkwuu5o02mEsBqXK3xy5yZ4fTx54mHI2sGm0wh7c+YMO756n8XlExlQcwBF8xQ1nUgIq3G9wvf0pOCYUII3W1h1/Ec2/r3RdCJhR/Sodxn8fDw+OQoyqOYg03GEsCrXK3yAdu3oq6pT8ro7g9YMwKItphMJe3DgACt/ns8WX83o+mNlCAXhdFyz8JUiR+hUQtYl8fuFvSw6sMh0ImEHEn9cyZDGCv98j9HjqR6m4whhda5Z+AA1a/Lymx/zZKHKDN8wnJuJN00nEobNq5+fgwUtTGwyWYZQEE7JdQsfcAvqyeRmHxBxLYKZO2aajiNMSUoiet8ORm4ayXMln6NN+TamEwlhEy5d+AANEkvQ7HJ+3ts8lqjYKNNxhAnz5zNxYHUu3rjIlMYyhIJwXi5f+OTPT+jKeKLjoxmzZYzpNCKrXb9OxMRhTH1W8UrlV3im2DOmEwlhM1L4Pj5UChpB0C6YtWMmhy8fNp1IZKXQUIZXuYzy8GR8g/Gm0whhU1L4AP37M/ZocXIlwMA1A0ynEVklMpIdCyez8AkYUGsgJfKVMJ1ICJuSwgfIkQOf96YyYpOFlcdWse74OtOJRBbQ27fzToNEHs1RiCG1hpiOI4TNSeH/q317+vWYw2PepXhn7TskWhJNJxI2trQi/FIsifcaTZCbrIRLkML/l1Jk7/o6oY0mc+DiAeb+Ptd0ImErWnPrp40MXjeYEp6VGdeuG25u4OcH4eGmwwlhO1L4d2l7tQh1Lngxcv1wrt28ZjqOsIVly5g+rAF/X/2bi19M4dRJd7SGiAgICpLSF85LCv8uys+Pqas1l2/+w/itctWG07l5k8vD3uK9um54nX6BW4ca3fHr2FgIDjaUTQgbk8K/W9GiPP1aMJ33wYe/fsCJKydMJxLWNHUqI0ufIsYT4pZPTnWVU6eyOJMQWUQKPzUDBjD+UFGyJSQxZJ2Mme80IiPZM2ccnwRAn+p98c2Z+kxWJUtmcS4hsogUfmq8vCg6egpDtlpYcmgpW05uMZ1IWIE+doy+zTSFvAoyuu5oQkIgZ84718mZE0JCzOQTwtak8NPSsSMDB32Hbz5f+vzYRy7TdAILC5zhl0dvMaHRJLxzeBMYCGFh4OsLSiV/DwuDwEDTSYWwDaW1Np0hTQEBAXrXrl1GM3x36Dvaft2Wj5p+RL/q/YxmEQ8pKYnrX3xKuagxFMtbjN9e/w03Jcc6wjkppXZrrQNS+538q3+A1hFeNI7Ixsj1wVyIuWA6jngY8+cTEt6LczHnmNFshpS9cFnyL/8BVEAA0zbnJC7+BkPXDzUdR2TU1ascnTiYqTUVXat0pXrx6qYTCWGMFH4awsOT77x0e6QQTa5F0mRbeT7b9xm/nv7VdDSREWPG0L/6FXJ45mRCwwmm0whhlBR+KsLDk++4jIgg+Q7Mf/Kw4act5L+eiz4/9CbJkvTfen5+yG359urQIVaunsaqsjC6/lgK5y5sOpEQRknhpyI4OPmOy9vFxfvgvnoiv1/cx5zf59z7R0Fuy7c7t25E07+lJ+W9/elTrY/pOEIYJ4WfirTutLx88A3q+tUleGMwQ8dG3fNHQW7Lz1oPeoc1JW4Dx3LeZFqLmXi6e5qIKIRdkcJPRVp3WvqWdGN6s+lcu3mNyLLDU11HbsvPGvd9hxUVxfEhPRi3ZRztKrSjUelGD9yeEK4gU4WvlCqglFqnlDqa8j1/GuudVErtV0rtVUqZvbA+He53B2alI1foty0Jnp4DRXfe81y5LT9rpHba7d93WHrIYHqf+xQP5c60ZtPMBBTCDmX2CH8osEFr7Q9sSHmclnpa66pp3RBgT+57B2bNmoy6WhXvG16oVkHglvDf8+S2/KyT1jupU6c0C3fMY11pmNBoEkXzFM3aYELYscwWfivg85SfPwdaZ3J7diMwEE6eBIsl+ft/t9u7u5Nv2ifMXRmLfnQv3s0+kNvyDUjrnVSx3Ad5+wU3qhd5hl4BvbI2lBB2LrOF/6jW+hxAyvdH0lhPA2uVUruVUkH326BSKkgptUsptevSpUuZjGcj1arRtkEfWh+Cm9VHcvTy8Tv/KAibS/W0m0cCpeu15B8v+KTlHNzd3M2EE8JOPbDwlVLrlVIHUvlqlYH91NJaPwU0A95UStVJa0WtdZjWOkBrHeDj45OBXWSx8eOZcbgUntqdnj/0xJ7HJHJGqZ12eydkJVueOsE7NQdQpXAV0xGFsDuZGjxNKXUEqKu1PqeUKgJs1lqXe8BzRgMxWuv3H7R9exg87b4SEvh431x6r+zN/Fbz6Vq1q+lErklrbiXeomrYk9xMvMmB3gfI5ZnLdCohjLDl4GnLgS4pP3cBlqWy81xKqTz//gw0Bg5kcr/2wcODoKeDqJ2zAgN+7M/FGxdNJ3JNS5cS+mYVDl8+zKwXZknZC5GGzBb+RKCRUuoo0CjlMUqpokqpVSnrPAr8rJTaB+wAVmqtV2dyv3bD7XoMYXPOERMXTf8f3zIdx/VERfFXcC9CCh+lY8UXaebfzHQiIeyWjIdvDQsXMjYskFH1YOXLK3nB/wXTiVyG5aWO1M/5DXvL5OZwv79kvBzh8mQ8fFvr1ImheZpR8bKi97IexMTHmE7kGr75ho8ivmaLr2Zqsw+l7IV4ACl8a1AKz1mfMGedF6djzjJMxs23Pa059NEIhjVStCjTnG5Vu5lOJITdk8K3lhIlqDlsFm/lb8qMnTNZe3yt6UROLcGSSOfAnOTO6c2cVp+ilDIdSQi7J4VvTV26MP6Nb6noU5Gu33clKjbKdCLntH8/E7a8x66Le/m4ZZicyhEinaTwrczLw4tw2nE5+jw9VwTJDVnWdvYsuzvUYtxP43i58su0r9jedCIhHIYUvg1UzV+BcRs0Sw9/y4J9C0zHcR5ac7Nndzo3iuGRnD7MaDbDdCIhHIoUvi106sTAUi/zXAT0/eEN/r7yt+lEzuGzzxh5azUHC2nmtv2c/F6pjsYthEiDFL6NuM+YxYKdxSAujs5LAv+bBzcjZM7c2xw7xtbQN5lSE3o+FUTTMk1NJxLC4Ujh20q+fPh9vJiZPyp+Pvsrk7dNztDTZc7cO12NuUyXlhZK5S3J+02mmI4jhEOSwrelWrV4ZekxOlTswLub3mXPuT3pfur9ZnRyNVpruh6eyOncSXzZYRG5PXObjiSEQ5LCtzFVqhQft/gYH498dFrcgehb0el6XtozOlkxnCNYvJgpb1dn2ZFlvN/ofZ4t8azpREI4LCn8LFAg3p2FX8Rx7Mpxun7bOV2XaqY1o5NLzZl79ChbR3VjaL6dtC/fln7V+5lOJIRDk8LPCvny8fzwT5i8Fr77axmTfpn0wKfcbyJ1lxAXx/lXWtPxfzd5zLsUc1vPl7tphcgkKfysEhhI/5pv89J+CN4w/IFDL9x3InUXkNi/Hy9XOMjVvJ4sfXkZebPnNR1JCIcnwyNnpcREbrzQiBr+WzhbPC+7e+/Fz9vPdCr7c+YMwT0eY3z1eD5r9RldqnZ58HOEEIAMj2w/smUj11dL+M5/BEkK2i5uS1xCnOlUdmfljb2Mrx7P61Vfk7IXwoqk8LNawYKU6T+W8Lbh7Dm/h17LZbyd/5w5w9GP3uXV716lauGqTHtBhk4Qwpqk8A1pnr8ao7d7seDAl8zeNdt0HPOuX+dCuyY0Pfke7lqxpMMSvDy8TKcSwqlI4Zvi48PIKn1pcQTeWtWXH4/+aDqROYmJxHRqR/Mqf3KugCc/vLKK0gVKm04lhNORwjfILWQ84dca8MQ5C+0WtWHb6W2mI2U9rUno+wYveq9jT1HF1x2XUL14ddOphHBKUvgmubuTd+FSftxXmeKX42n+RVP2X9hvOlWW0nv30uvcHH70h9ktPqZF2RamIwnhtKTwTcuXj0eWb+DNk1O4fjUvT0xuQrFKJ1xmkLQx15Yx70kYUTuYoKeDTMcRwqlJ4duB8LU+DF//NkmfrYFsNznboDE93j7v3KW/eTOffv4WY7aMoWvVroytP850IiGcnhS+HfhvZMxLj0P4Ksh9jrh2TRk25qrpaLaxZg1L+jem14lpNH2sCWEtwmTYBCGygBS+HbhjBMzIGrD4W/A5yOna/+NG/A1juWxi2TLmjmxOx9YJVC/6DF+/+A0e7h6mUwnhEqTw7cA9I2AebwLffgEltlF3Tk0uxFwwksvqFi3i/clteL15Eo39GrC22ybyZM9jOpUQLkMK3w6kOjLmsfa8vbQef144QM15Nfkr6i8z4axEa83wfVMZ1EjzYtm2LHt1Fbk8c5mOJYRLkcK3A6mOjDnXnalffcDGFt8QfSuamnNrsj1yu+moDyXpnyh6r+zNhBw7CarSnYUdv8bT3dN0LCFcjoyW6QCOXjpCsw8DOOt5i0Udv6Fl+VamI6VPUhLxY96l899TWVzmJkNqDWFCgwnyAa0QNiSjZTo4/7x+bDtah0pnEmizqA2zf3OAQcXOnyfif8/RIHI8i8vcZGK9ECY2nChlL4RBUviOIHt2Hlm0gk3eb9HsqOaN1X3psbRLuufHzazwcPDzAze35O8PvD9gwwa+bleeKlV+ZZ9fDsLbfMmQOsOzIKkQ4n6k8B2Fmxu5Qj/k++dnM3ibYt7+BVSeXZn1J9bbdLfh4RAUBBERoHXy96CgtEs/Jj6G15Z3p2Pja1QoWoW9ff/k5SdcZJouIeycnMN3RDt38mvkdrqemcFfUX/Rq2JnQlvOsMkljn5+ySV/N19fOHnytgXnzrHz7E5e3jaAE1dOEFx9ECMbjpNr7IXIYvc7hy+F78DiEuIYObExU5N+xjdbQea9/DX1Hqtv1X24uSUf2d9NKbBYgOvXiZ46ganbphBSI4HC3sUIbxtOHd86Vs0hhEgf+dDWSXl5ePF+x7ls3VMVj4tR1P+iAa/Ma86ec3usto97bgr7d3lxC1enjmdsx8L4xk1gTM142vk1449ef0jZC2GnpPAdXdmy1PpuN3srzWDwTk++P76Kp8Keov7n9VlxZAUWbcnU5lO7Kcwr/xWeav0KfpeCGVU9lud967A7aDeLuq0kv1f+TO1PCGE7mTqlo5TqAIwGKgDVtNapnn9RSjUFPgLcgU+11hPTs305pZNBUVFcnTeLT4udZ9qFFZyOPk1ZSwH6P/s2neu//dB3toZ/nsjwoTGcyrGHvJWXkfDMfOIs0bQt+Bwj20+jauGq1n0dQoiHZrNz+EqpCoAF+AQYmFrhK6Xcgb+ARkAksBPopLU++KDtu2rhh4cnj6B56lTyKZWQkOS7cTMiISmBpbP6MHV/GDuLgYdFUdXyCM/kq0i1ui9TzbcW5QqVw02l/iYvyZLE3nkhbNj1DetvHeLnYknEeYCbVrR9vB0j64zkiUefsMKrFUJY0/0KP1tmNqy1PpSyg/utVg04prU+kbLuIqAV8MDCd0X/XgYZG5v8+N/LICFjpe/h7sFLfT+hY8Rwtn06ih8i1rIj2wW+SNrErJWbAMhLdipcz4HFksQtncgtErnl4catRwsSfSuaGwk3oAg8npCfHkVr06DWKzxfrgk/LM1Hy+qZ+4MkhMh6VrlKRym1mbSP8NsDTbXWr6c8fhWorrXuk8a2goAggJIlSz4dkdo1gU4s3ZdBPgyLBUvkaY54xbLjzA52fDeDv6KO4OHmgWc2T7Jny0F2rzx4Pl2NXB65qJ6vIvUrt6RwniL/beLuP0iQfI4/LExKXwh7kKkjfKXUeqBwKr8K1lovS8/+U1mW5l8ZrXUYEAbJp3TSsX2ncsfY+OlYnhHhX7kRHOybcmRegZCQLszMYEn/N1nLbWJjk5dL4Qth3x5Y+FrrhpncRyRQ4rbHxYGzmdym0ypZMvUj/LQuj0wva50qsuUfJCGEbWXFZZk7AX+lVCmllCfwErA8C/brkFIdGz9n8vLMuN+ReUakeV1+Jv8gCSFsL1OFr5Rqo5SKBJ4FViql1qQsL6qUWgWgtU4E+gBrgEPA11rrPzMX23mlOja+Fc6PW+vI3FZ/kIQQtidDK7gIa34YbI3LRoUQtiFDKwirHpkHBib/kbBYkr9L2QvhGKTwXYStThUJIRxHpm68Eo4lMFAKXghXJkf4QgjhIqTwhRDCRUjhCyGEi5DCF0IIFyGFL4QQLsKub7xSSl0CbDFcZiHgsg22m1UcPT84/muQ/OY5+muwVX5frbVPar+w68K3FaXUrrTuRHMEjp4fHP81SH7zHP01mMgvp3SEEMJFSOELIYSLcNXCDzMdIJMcPT84/muQ/OY5+mvI8vwueQ5fCCFckase4QshhMuRwhdCCBfhkoWvlBqnlPpDKbVXKbVWKVXUdKaMUkpNVkodTnkd3ymlvE1nygilVAel1J9KKYtSymEurVNKNVVKHVFKHVNKDTWdJ6OUUvOUUheVUgdMZ3kYSqkSSqlNSqlDKf9+3jKdKaOUUjmUUjuUUvtSXsOYLNu3K57DV0rl1VpHp/zcD6iote5lOFaGKKUaAxu11olKqUkAWushhmOlm1KqAmABPgEGaq3tfmozpZQ78BfQCIgkeb7mTlrrg0aDZYBSqg4QAyzQWlcynSejlFJFgCJa69+VUnmA3UBrB/tvoIBcWusYpZQH8DPwltZ6u6337ZJH+P+WfYpcgMP91dNar02ZLxhgO1DcZJ6M0lof0lofMZ0jg6oBx7TWJ7TW8cAioJXhTBmitf4J+Md0joeltT6ntf495efrJM+TXcxsqozRyWJSHnqkfGVJB7lk4QMopUKUUqeBQOBd03ky6TXgR9MhXEAx4PRtjyNxsLJxJkopP+BJ4DfDUTJMKeWulNoLXATWaa2z5DU4beErpdYrpQ6k8tUKQGsdrLUuAYQDfcymTd2DXkPKOsFAIsmvw66kJ7+DUaksc7h3h85AKZUbWAr0v+sdu0PQWidprauS/M68mlIqS06vOe0Uh1rrhulcdSGwEhhlwzgP5UGvQSnVBWgBNNB2+GFMBv4bOIpIoMRtj4sDZw1lcVkp572XAuFa629N58kMrfVVpdRmoClg8w/SnfYI/36UUv63PWwJHDaV5WEppZoCQ4CWWutY03lcxE7AXylVSinlCbwELDecyaWkfOA5FziktZ5qOs/DUEr5/HtVnVLKC2hIFnWQq16lsxQoR/JVIhFAL631GbOpMkYpdQzIDkSlLNruSFcaKaXaANMBH+AqsFdr3cRoqHRQSr0AfAi4A/O01iFmE2WMUuoroC7JQ/NeAEZprecaDZUBSqnawFZgP8n//wIM11qvMpcqY5RSTwCfk/xvyA34Wms9Nkv27YqFL4QQrsglT+kIIYQrksIXQggXIYUvhBAuQgpfCCFchBS+EEK4CCl8IYRwEVL4QgjhIv4P82WjWxa4RowAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot target function\n", + "plt.plot(X_, f(X_), \"r--\")\n", + "\n", + "# plot data\n", + "plt.plot(X, y, \"bo\")\n", + "\n", + "# plot fitted line\n", + "y_ = regressor.predict(X_)\n", + "plt.plot(X_, y_, \"g-\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "false-india", + "metadata": {}, + "source": [ + "Similarly to the classification models, we can obtain an array of trained weights by querying a corresponding property of the model. In this model we have only one parameter defined as `param_y` above." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "terminal-turner", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-1.58870599])" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "regressor.weights" + ] + }, + { + "cell_type": "markdown", + "id": "offensive-legislation", + "metadata": {}, + "source": [ + "### Regression with the Variational Quantum Regressor (`VQR`)\n", + "\n", + "Similar to the `VQC` for classification, the `VQR` is a special variant of the `NeuralNetworkRegressor` with a `EstimatorQNN`. By default it considers the `L2Loss` function to minimize the mean squared error between predictions and targets." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "offensive-entry", + "metadata": {}, + "outputs": [], + "source": [ + "vqr = VQR(\n", + " feature_map=feature_map,\n", + " ansatz=ansatz,\n", + " optimizer=L_BFGS_B(maxiter=5),\n", + " callback=callback_graph,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "cooperative-helmet", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.9769955693935385" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# create empty array for callback to store evaluations of the objective function\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "# fit regressor\n", + "vqr.fit(X, y)\n", + "\n", + "# return to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)\n", + "\n", + "# score result\n", + "vqr.score(X, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "genetic-cambridge", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot target function\n", + "plt.plot(X_, f(X_), \"r--\")\n", + "\n", + "# plot data\n", + "plt.plot(X, y, \"bo\")\n", + "\n", + "# plot fitted line\n", + "y_ = vqr.predict(X_)\n", + "plt.plot(X_, y_, \"g-\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "backed-visit", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.24.0
qiskit-aer0.12.0
qiskit-ignis0.6.0
qiskit-ibmq-provider0.20.2
qiskit0.43.0
qiskit-machine-learning0.7.0
System information
Python version3.8.8
Python compilerClang 10.0.0
Python builddefault, Apr 13 2021 12:59:45
OSDarwin
CPUs8
Memory (Gb)32.0
Tue Jun 13 16:39:30 2023 CEST
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/02a_training_a_quantum_model_on_a_real_dataset.ipynb.txt b/_sources/tutorials/02a_training_a_quantum_model_on_a_real_dataset.ipynb.txt new file mode 100644 index 000000000..879a19786 --- /dev/null +++ b/_sources/tutorials/02a_training_a_quantum_model_on_a_real_dataset.ipynb.txt @@ -0,0 +1,977 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ideal-strategy", + "metadata": {}, + "source": [ + "# Training a Quantum Model on a Real Dataset\n", + "\n", + "This tutorial will demonstrate how to train a quantum machine learning model to tackle a classification problem. Previous tutorials have featured small, artificial datasets. Here we will increase the problem complexity by considering a real-life classical dataset. We decided to pick a very well-known – albeit still relatively small – problem: the Iris flower dataset. This dataset even has its own Wikipedia [page](https://en.wikipedia.org/wiki/Iris_flower_data_set). Although the Iris dataset is well known to data scientists, we will briefly introduce it to refresh our memories. For comparison, we'll first train a classical counterpart to the quantum model.\n", + "\n", + "So, let's get started:\n", + "\n", + "- First, we'll load the dataset and explore what it looks like.\n", + "- Next, we'll train a classical model using [SVC](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html) from [scikit-learn](https://scikit-learn.org/) to see how well the classification problem can be solved using classical methods.\n", + "- After that, we'll introduce the Variational Quantum Classifier (VQC).\n", + "- To conclude, we'll compare the results obtained from both models.\n", + "\n", + "## 1. Exploratory Data Analysis\n", + "\n", + "First, let us explore the Iris dataset this tutorial will use and see what it contains. For our convenience, this [dataset](https://scikit-learn.org/stable/datasets/toy_dataset.html#iris-dataset) is available in scikit-learn and can be loaded easily." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "valued-leeds", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.datasets import load_iris\n", + "\n", + "iris_data = load_iris()" + ] + }, + { + "cell_type": "markdown", + "id": "billion-advance", + "metadata": {}, + "source": [ + "If no parameters are specified in the `load_iris` function, then a dictionary-like object is returned by scikit-learn. Let's print the description of the dataset and see what is inside." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "everyday-commission", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ".. _iris_dataset:\n", + "\n", + "Iris plants dataset\n", + "--------------------\n", + "\n", + "**Data Set Characteristics:**\n", + "\n", + " :Number of Instances: 150 (50 in each of three classes)\n", + " :Number of Attributes: 4 numeric, predictive attributes and the class\n", + " :Attribute Information:\n", + " - sepal length in cm\n", + " - sepal width in cm\n", + " - petal length in cm\n", + " - petal width in cm\n", + " - class:\n", + " - Iris-Setosa\n", + " - Iris-Versicolour\n", + " - Iris-Virginica\n", + " \n", + " :Summary Statistics:\n", + "\n", + " ============== ==== ==== ======= ===== ====================\n", + " Min Max Mean SD Class Correlation\n", + " ============== ==== ==== ======= ===== ====================\n", + " sepal length: 4.3 7.9 5.84 0.83 0.7826\n", + " sepal width: 2.0 4.4 3.05 0.43 -0.4194\n", + " petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)\n", + " petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)\n", + " ============== ==== ==== ======= ===== ====================\n", + "\n", + " :Missing Attribute Values: None\n", + " :Class Distribution: 33.3% for each of 3 classes.\n", + " :Creator: R.A. Fisher\n", + " :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n", + " :Date: July, 1988\n", + "\n", + "The famous Iris database, first used by Sir R.A. Fisher. The dataset is taken\n", + "from Fisher's paper. Note that it's the same as in R, but not as in the UCI\n", + "Machine Learning Repository, which has two wrong data points.\n", + "\n", + "This is perhaps the best known database to be found in the\n", + "pattern recognition literature. Fisher's paper is a classic in the field and\n", + "is referenced frequently to this day. (See Duda & Hart, for example.) The\n", + "data set contains 3 classes of 50 instances each, where each class refers to a\n", + "type of iris plant. One class is linearly separable from the other 2; the\n", + "latter are NOT linearly separable from each other.\n", + "\n", + ".. topic:: References\n", + "\n", + " - Fisher, R.A. \"The use of multiple measurements in taxonomic problems\"\n", + " Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n", + " Mathematical Statistics\" (John Wiley, NY, 1950).\n", + " - Duda, R.O., & Hart, P.E. (1973) Pattern Classification and Scene Analysis.\n", + " (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.\n", + " - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n", + " Structure and Classification Rule for Recognition in Partially Exposed\n", + " Environments\". IEEE Transactions on Pattern Analysis and Machine\n", + " Intelligence, Vol. PAMI-2, No. 1, 67-71.\n", + " - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\". IEEE Transactions\n", + " on Information Theory, May 1972, 431-433.\n", + " - See also: 1988 MLC Proceedings, 54-64. Cheeseman et al\"s AUTOCLASS II\n", + " conceptual clustering system finds 3 classes in the data.\n", + " - Many, many more ...\n" + ] + } + ], + "source": [ + "print(iris_data.DESCR)" + ] + }, + { + "cell_type": "markdown", + "id": "arctic-girlfriend", + "metadata": {}, + "source": [ + "There are a few interesting observations we can find from this dataset description:\n", + "\n", + "- There are 150 samples (instances) in the dataset.\n", + "- There are four features (attributes) in each sample.\n", + "- There are three labels (classes) in the dataset.\n", + "- The dataset is perfectly balanced, as there are the same number of samples (50) in each class.\n", + "- We can see features are not normalized, and their value ranges are different, e.g., $[4.3, 7.9]$ and $[0.1, 2.5]$ for sepal length and petal width, respectively. So, transforming the features to the same scale may be helpful.\n", + "- As stated in the table above, feature-to-class correlation in some cases is very high; this may lead us to think that our model should cope well with the dataset.\n", + "\n", + "We only examined the dataset description, but additional properties are available in the `iris_data` object. Now we are going to work with features and labels from the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "mobile-dictionary", + "metadata": {}, + "outputs": [], + "source": [ + "features = iris_data.data\n", + "labels = iris_data.target" + ] + }, + { + "cell_type": "markdown", + "id": "signed-iraqi", + "metadata": {}, + "source": [ + "Firstly, we'll normalize the features. Namely, we will apply a simple transformation to represent all features on the same scale. In our case, we squeeze all features onto the interval $[0, 1]$. Normalization is a common technique in machine learning and often leads to better numerical stability and convergence of an algorithm.\n", + "\n", + "We can use `MinMaxScaler` from scikit-learn to perform this. Without specifying parameters, this does exactly what is required: maps data onto $[0, 1]$." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "alternative-preliminary", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.preprocessing import MinMaxScaler\n", + "\n", + "features = MinMaxScaler().fit_transform(features)" + ] + }, + { + "cell_type": "markdown", + "id": "phantom-hollow", + "metadata": {}, + "source": [ + "Let's see how our data looks. We plot the features pair-wise to see if there's an observable correlation between them." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "whole-exhaust", + "metadata": { + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import seaborn as sns\n", + "\n", + "df = pd.DataFrame(iris_data.data, columns=iris_data.feature_names)\n", + "df[\"class\"] = pd.Series(iris_data.target)\n", + "\n", + "sns.pairplot(df, hue=\"class\", palette=\"tab10\")" + ] + }, + { + "cell_type": "markdown", + "id": "quarterly-adult", + "metadata": {}, + "source": [ + "From the plots, we see that class `0` is easily separable from the other two classes, while classes `1` and `2` are sometimes intertwined, especially regarding the \"sepal width\" feature.\n", + "\n", + "Next, let's see how classical machine learning handles this dataset. \n", + "\n", + "## 2. Training a Classical Machine Learning Model\n", + "\n", + "Before we train a model, we should split the dataset into two parts: a training dataset and a test dataset. We'll use the former to train the model and the latter to verify how well our models perform on unseen data.\n", + "\n", + "As usual, we'll ask scikit-learn to do the boring job for us. We'll also fix the seed to ensure the results are reproducible." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "pursuant-survival", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "\n", + "algorithm_globals.random_seed = 123\n", + "train_features, test_features, train_labels, test_labels = train_test_split(\n", + " features, labels, train_size=0.8, random_state=algorithm_globals.random_seed\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "close-festival", + "metadata": {}, + "source": [ + "We train a classical Support Vector Classifier from scikit-learn. For the sake of simplicity, we don't tweak any parameters and rely on the default values." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "proved-reviewer", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.svm import SVC\n", + "\n", + "svc = SVC()\n", + "_ = svc.fit(train_features, train_labels) # suppress printing the return value" + ] + }, + { + "cell_type": "markdown", + "id": "earned-destination", + "metadata": {}, + "source": [ + "Now we check out how well our classical model performs. We will analyze the scores in the conclusion section." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "veterinary-proxy", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Classical SVC on the training dataset: 0.99\n", + "Classical SVC on the test dataset: 0.97\n" + ] + } + ], + "source": [ + "train_score_c4 = svc.score(train_features, train_labels)\n", + "test_score_c4 = svc.score(test_features, test_labels)\n", + "\n", + "print(f\"Classical SVC on the training dataset: {train_score_c4:.2f}\")\n", + "print(f\"Classical SVC on the test dataset: {test_score_c4:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "limited-hybrid", + "metadata": {}, + "source": [ + "As can be seen from the scores, the classical SVC algorithm performs very well. Next up, it's time to look at quantum machine learning models.\n", + "\n", + "## 3. Training a Quantum Machine Learning Model\n", + "\n", + "As an example of a quantum model, we'll train a variational quantum classifier (VQC). The VQC is the simplest classifier available in Qiskit Machine Learning and is a good starting point for newcomers to quantum machine learning who have a background in classical machine learning.\n", + "\n", + "But before we train a model, let's examine what comprises the `VQC` class. Two of its central elements are the feature map and ansatz. What these are will now be explained.\n", + "\n", + "Our data is classical, meaning it consists of a set of bits, not qubits. We need a way to encode the data as qubits. This process is crucial if we want to obtain an effective quantum model. We usually refer to this mapping as data encoding, data embedding, or data loading and this is the role of the feature map. While feature mapping is a common ML mechanism, this process of loading data into quantum states does not appear in classical machine learning as that only operates in the classical world.\n", + "\n", + "Once the data is loaded, we must immediately apply a parameterized quantum circuit. This circuit is a direct analog to the layers in classical neural networks. It has a set of tunable parameters or weights. The weights are optimized such that they minimize an objective function. This objective function characterizes the distance between the predictions and known labeled data. A parameterized quantum circuit is also called a parameterized trial state, variational form, or ansatz. Perhaps, the latter is the most widely used term.\n", + "\n", + "For more information, we direct the reader to the [Quantum Machine Learning Course](https://learn.qiskit.org/course/machine-learning).\n", + "\n", + "Our choice of feature map will be the ``ZZFeatureMap``. The ``ZZFeatureMap`` is one of the standard feature maps in the Qiskit circuit library. We pass `num_features` as `feature_dimension`, meaning the feature map will have `num_features` or `4` qubits.\n", + "\n", + "We decompose the feature map into its constituent gates to give the reader a flavor of how feature maps may look." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "optional-pocket", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit.circuit.library import ZZFeatureMap\n", + "\n", + "num_features = features.shape[1]\n", + "\n", + "feature_map = ZZFeatureMap(feature_dimension=num_features, reps=1)\n", + "feature_map.decompose().draw(output=\"mpl\", fold=20)" + ] + }, + { + "cell_type": "markdown", + "id": "noticed-airport", + "metadata": {}, + "source": [ + "If you look closely at the feature map diagram, you will notice parameters `x[0], ..., x[3]`. These are placeholders for our features.\n", + "\n", + "Now we create and plot our ansatz. Pay attention to the repetitive structure of the ansatz circuit. We define the number of these repetitions using the `reps` parameter." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "elder-interaction", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzQAAAEvCAYAAACT/IQGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWU0lEQVR4nO3deXhU5dnH8e9MFrIRIBAJJBCWJOwksqOIRlFBsBYURZEKtWKriFtBu/iqba0iVFuwVqlatbaICi5AFVBAkUVAFhGQJRAgJAECAZIQyDLz/nEEQRKYmczMmTPz+1zXXJqZs9wh537m3Oc853lsTqfTiYiIiIiIiAXZzQ5ARERERETEUypoRERERETEslTQiIiIiIiIZamgERERERERy1JBIyIiIiIilqWCRkRERERELEsFjYiIiIiIWJYKGhERERERsSwVNCIiIiIiYlkqaERERERExLJU0IiIiIiIiGWpoBEREREREctSQSMiIiIiIpalgkZERERERCxLBY2IiIiIiFiWChoREREREbEsFTQiIiIiImJZKmhERERERMSyVNCIiIiIiIhlqaARERERERHLUkEjIiIiIiKWpYJGREREREQsSwWNiIiIiIhYlgoaERERERGxLBU0IiIiIiJiWSpoRERERETEslTQiIiIiIiIZamgERERERERy1JBIyIiIiIilqWCRkRERERELEsFjYiIiIiIWJYKGhERERERsSwVNCIiIiIiYlkqaERERERExLJU0IiIiIiIiGWpoBEREREREctSQSMiIiIiIpYVbnYAUjOnExyVZkfhOnsE2GxmRyESPKzWBoDaAfEu5YCEOuWA61TQBChHJSyeanYUrsseD2GRZkchEjys1gaA2gHxLuWAhDrlgOvU5UxERERERCxLBY2IiIiIiFiWChoREREREbEsFTQiIiIiImJZKmhERERERMSyVNCIiIiIiIhlqaARERERERHL0jw0QWRDzhJ+/VL2We9FRcaSkpjBgG6j+Oml9xEWpj+5SDBTOyChTjkgoS4UcyC4fhsBIDvrVnq1vw4nTopLCln49Zu8NOch9hzYwoM3TTc7PBHxA7UDEuqUAxLqQikHVNAEofTkbgzofvvpn6+/5B7ufLY9H696hTEDn6JhXKKJ0YmIP6gdkFCnHJBQF0o5oGdoQkB0ZCztU/vgdDrJP5RjdjgiYgK1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uZHYqHg/Ryn+UC8c+qQZr2qHcfwXHIGKKuPB6cgw4ySuaYPAfT7AFa4e8/NXv87r839P6fFilm/6gHc/n8Ifx8whLfni834m1hVmNwZ1yWoJDiccKoF9R4zCxuk0ivnE+kY3NU/u6gcKb+TA5JmjKS7dj90WRr2IaB4b9S6x0Q1M+G1EPKOCJoi0btaFF+9fc8Hl/vTzuX6IJnCEh0HLxsYr2Ll6DADcOejPPo5GAkWY3ShemjU0OxLvc/WYv7bnaK7tOdrtzyQ42G2QGG+8go03cuDZuz/1clQi/mXh63LiivCwSEqOH+Lu57IoLj1wweWnz53A24ufJi46QCedELe5ewzM+uJ5ps6+hwaxTfwQnYj3uXvMn4/aRLEi5YCEGpvT6epUVOJP1RWweKrZUbguezyEqdu611jt7w86BsS7lAMi1ssD5YCYRXdoRERERETEslTQiIiIiIiIZanLWYByOsFRyxCTgcgeEfjj9VuJ1f7+oGNAvEs5IGK9PFAOiFlU0IiIiIiIiGWpy5mIiIiIiFiWChoREREREbEsFTQiIiIiImJZKmhERERERMSyVNCIiIiIiIhlqaARERERERHLUkEjIiIiIiKWpYJGREREREQsSwWNiIiIiIhYlgoaERERERGxLBU0IiIiIiJiWSpoRERERETEslTQiIiIiIiIZamgERERERERy1JBIyIiIiIilqWCRkRERERELEsFjYiIiIiIWJYKGhERERERsSwVNCIiIiIiYlkqaERERERExLJU0IiIiIiIiGWpoBEREREREctSQSMiIiIiIpalgkZERERERCxLBY2IiIiIiFjW/wMg1mHF3qg6SwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from qiskit.circuit.library import RealAmplitudes\n", + "\n", + "ansatz = RealAmplitudes(num_qubits=num_features, reps=3)\n", + "ansatz.decompose().draw(output=\"mpl\", fold=20)" + ] + }, + { + "cell_type": "markdown", + "id": "comic-bumper", + "metadata": {}, + "source": [ + "This circuit has 16 parameters named `θ[0], ..., θ[15]`. These are the trainable weights of the classifier.\n", + "\n", + "We then choose an optimization algorithm to use in the training process. This step is similar to what you may find in classical deep learning frameworks. To make the training process faster, we choose a gradient-free optimizer. You may explore other optimizers available in Qiskit." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "intimate-doubt", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit_algorithms.optimizers import COBYLA\n", + "\n", + "optimizer = COBYLA(maxiter=100)" + ] + }, + { + "cell_type": "markdown", + "id": "integral-compound", + "metadata": {}, + "source": [ + "In the next step, we define where to train our classifier. We can train on a simulator or a real quantum computer. Here, we will use a simulator. We create an instance of the `Sampler` primitive. This is the reference implementation that is statevector based. Using qiskit runtime services you can create a sampler that is backed by a quantum computer." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "unauthorized-footwear", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.primitives import Sampler\n", + "\n", + "sampler = Sampler()" + ] + }, + { + "cell_type": "markdown", + "id": "seeing-charles", + "metadata": {}, + "source": [ + "We will add a callback function called `callback_graph`. `VQC` will call this function for each evaluation of the objective function with two parameters: the current weights and the value of the objective function at those weights. Our callback will append the value of the objective function to an array so we can plot the iteration versus the objective function value. The callback will update the plot at each iteration. Note that you can do whatever you want inside a callback function, so long as it has the two-parameter signature we mentioned above." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "connected-reach", + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "from IPython.display import clear_output\n", + "\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "\n", + "def callback_graph(weights, obj_func_eval):\n", + " clear_output(wait=True)\n", + " objective_func_vals.append(obj_func_eval)\n", + " plt.title(\"Objective function value against iteration\")\n", + " plt.xlabel(\"Iteration\")\n", + " plt.ylabel(\"Objective function value\")\n", + " plt.plot(range(len(objective_func_vals)), objective_func_vals)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "freelance-wesley", + "metadata": {}, + "source": [ + "Now we are ready to construct the classifier and fit it. \n", + "\n", + "`VQC` stands for \"variational quantum classifier.\" It takes a feature map and an ansatz and constructs a quantum neural network automatically. In the simplest case it is enough to pass the number of qubits and a quantum instance to construct a valid classifier. You may omit the `sampler` parameter, in this case a `Sampler` instance will be created for you in the way we created it earlier. We created it manually for illustrative purposes only.\n", + "\n", + "Training may take some time. Please, be patient." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "multiple-garbage", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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v/xSjIiIEBUKhdi/f39x165dDW7Btm7dunrnw8hWUufOnRPvvPNO0cPDQ3RwcBB79OghPv/88wbHvPzyy2JQUJAok8kM3hNjP5vExERx1qxZ+usNGTJE/N///mfSa5RiN3Xbrt9//10EIAqCIKanp9d7/urVq/rX5u7uLs6ePVvMyMio9z4Y+1lrNBrxmWeeEX18fEQnJyfx9ttvFxMSElr0+2jMoUOHxJtvvll0dHQUAwMDxaefflrctWuXCEDcs2ePwbHr168XQ0NDRaVSKQ4ZMkQ8dOiQOHDgQHHixIn6Y7Rarfjaa6/pjxswYID4v//9r97viSg2vAXbjVur3fj+/Pnnn+Idd9whBgYGigqFQgwMDBTnzZtXb0u0nTt3ir179xbt7Oya/Lka+xlkZWWJU6ZMEV1dXettNWfKe97Y3wVz3qfDhw+LAwcOFBUKhcF7duMWbKIoiiqVSly9erUYHh4u2tvbiyEhIeLKlSv12+lJQkNDxSlTptSLq6GtFomI2gtBFDlZg4ioowsJCcHtt9+Ojz/+2NqhENkUrVYLX19fzJw5Ex999JG1wyEiIuKadCKijk6lUiEvL6/J1lWijq6ysrJeG/znn3+O/Px8jBkzxjpBERER3YBr0omIOrBdu3Zh8+bNqKio0O+FTdRZHT16FI8//jhmz54Nb29vnDx5Ep988gmio6MNtgAkIiKyJibpREQd2Ouvv46EhAS8+uqruPXWW60dDpFVhYWFISQkBOvXr9dvKzh//ny8/vrrUCgU1g6PiIgIAMA16UREREREREQ2gmvSiYiIiIiIiGwEk3QiIiIiIiIiG9Hp1qRrtVpkZGTA1dUVgiBYOxwiIiIiIiLq4ERRRElJCQIDAyGTNV4r73RJekZGBkJCQqwdBhEREREREXUy6enpCA4ObvSYTpeku7q6AtC9OW5ublaOhoiIiIiIiDq64uJihISE6PPRxnS6JF1qcXdzc2OSTkRERERERG3GlCXXHBxHREREREREZCOYpBMRERERERHZCCbpRERERERERDaCSToRERERERGRjWCSTkRERERERGQjmKQTERERERER2Qgm6UREREREREQ2gkk6ERERERERkY1gkk5ERERERERkI5ikExEREREREdkIJulERERERERENoJJOhEREREREZGNYJJOREREREREZCOYpBMRERERERHZ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w/iefhBF4L/7koweU9vq7g1BEJp9L28Xabp7B03S67yugvKO+RqJiIiIiKh1MEknvYfG6qrp205dRWZRRb3nj6Xohsa1ZD06AHhJlfQO2g6eW6eNP7eDvkYiIiIiImodTNJJb2CoF4aGe0GlEfHR/mSD56rVWpxILQDQsvXoAODj0rGnu9f98KGjbjNHREREREStg0k6GXh4bBQA4JtjaQZJ9LmMIlSqtPB0skeUr0uL7iFV0surNaio1rToWrZGqxUN2t076gcRRERERETUOpikk4GR3XwQHeSGCpUGGw/VVtOl9eiDw7wgkzV/PToAuCjtoLDT/erl2eA2bKIoNvvcogoVNNra89nuTkRERERE5mCSTgYEQcDDY3TV9I2HU1BSqQJgmf3R695DP+HdxtrBT6UVoP9Lv+PLo6nNOv/GDx1YSSciIiIiInMwSad6bu/jjwhfZxRXqvH1X2nQaEUcr0nSb47wtsg9pJZ3W0tid52/jqIKFf68eL1Z5+fe8KGDrX0IQUREREREto1JOtUjkwn4+2jdpPePDiQjLr0QJVVquCjt0CvAzSL3kLZhs7V28EtZxQCA7JLmxXVjUm6L7fxERERERGS7mKSTUTMGBCHIwxG5pVV4bvtZAMCgME/IW7geXeJto5X0S1klAJqfpEsfOijk0pp723p9RERERERk25ikk1H2chn+NjIcABBfk7haYj26RL8m3YaS2KIKFTKKKgHotlGrOwDOVNL2axG+zjXf287rIyIiIiIi28cknRo0d3BXfTINtHx/9Lq8XGxvcNzl6yX6P2vF5rWq59Z86NDD3xWA7XUKEBERERGRbWOSTg1yVMixeISumq60k6FvkIfFru3jrFuTbktrtuMziw2+zy42Pzapkt69iy5JL61So1LVsfaCJyIiIiKi1mNn7QDIts0fFoq49ELc1NVTv7e5JdjidHeprV+S04yhdlJnQLiPM+zlAlQaEXll1QjycLRIjERERERE1LExSadGuTrY46P5gyx+XW8bbHeXhsYJAiCKQE4zKunS4DgfFyW8nBW4XlyF/FIm6UREREREZBq2u5NVeNdpdxdF8we0WZooirhUsya9b5A7gJZV0r1dFPrXmGtDLf1ERERERGTbmKSTVUiV9EqVFuXV1l+znVFUiZJKNexkAm6O8AYAZBdXmnWNSpUGJVVqALpKuvQa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Te9j7XCIiIiIOhxz8lCTKunJyckWCYyIiGxPTIg7AA6PIyIiIrIFzdonHQByc3ORm5tryViIiMgK+gbpkvQLGcVQabRWjoaIiIioczMrSS8sLMTDDz8MHx8fdOnSBV26dIGPjw8eeeQRFBYWtlKIRETUmsK8neHqYIcqtRaXskqsHQ4RERFRp2byPun5+fkYNmwYrl27hnvvvRe9evUCAFy4cAEbN27En3/+icOHD8PT07PVgiUiIsuTyQT0C3bHoYQ8nLlahOiayjoRERERtT2Tk/SXXnoJCoUCiYmJ6NKlS73nbrvtNrz00kt4++23LR4kERG1rn7BHjVJeiHuGdrV2uEQERERdVomt7vv2LEDb775Zr0EHQD8/f2xdu1ao/unExGR7YsJlobHFVk5EiIiIqLOzeQkPTMzE336NLw1T3R0NLKysiwSFBERta1+wR4AgMvXS1BRrbFuMERERESdmMlJuo+PD1JSUhp8Pjk5GV5eXpaIiYiI2liAuwN8XJTQaEVcyCy2djhEREREnZbJSfrtt9+O5557DtXV1fWeq6qqwvPPP4+JEydaNDgiImobgiDoW97PcL90IiIiIqsxa3DcoEGD0K1bNzz88MPo2bMnRFHExYsX8d5776GqqgpffPFFa8ZKREStqF+wB/6Mz8YZrksnIiIishqTk/Tg4GAcOXIEDz30EFauXAlRFAHoqi+33nor/vOf/yAkJKTVAiUiotbVL0QaHldo3UCIiIiIOjGTk3QACA8Pxy+//IKCggJcuXIFABAVFcW16EREHUC/mv3Rk3LKUFypgpuDvZUjIiIiIup8zErSJZ6enhgyZIilYyEiIivydlEiyMMR1worcO5qEYZH+Vg7JCIiIqJOx+TBcURE1PHFhHC/dCIiIiJrYpJORER60n7pnPBOREREZB3NancnIqKOqZ9+G7bWq6SLoojskiok55YhNa8MybnlyC6uxL03d8XAUM44ISIios6NSToREen1DXKHIADXCiuQW1oFHxdli695Or0Qv57PQkpuWU1iXo4KlabececyirDrsVEQBKHF9yQiIiJqr5ikExGRnquDPSJ8nJGYU4azV4swtqdfi66n0mix8LNjKChXGTwuE4BgTyeE+TgjzNsJ38am4/L1UpxMK2A1nYiIiDo1JulERGQgJtgDiTllOH21sMVJ+l9J+SgoV8HT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xR3WrFnT6t+mM2fONAzj/Nrl8ePHjRtvvNEICAgwgoKCjNmzZxtVVVVu+DYtmQzDMNz07wMiIiIiIiIichrNSRcRERERERHxEArpIiIiIiIiIh5CIV1ERERERETEQyiki4iIiIiIiHgIhXQRERERERERD6GQLiIiIiIiIuIhFNJFREREREREPIRCuoiIiIiIiIiHUEgXERGRCyohIYFnn33W3WWIiIh0SgrpIiIindisWbOYMmUKAFdccQUZGRkddu833niDkJCQM45nZWVxxx13dFgdIiIiXYnF3QWIiIiIZ2lsbMRqtX7r90dERFzAakRERC4u6kkXERHpAmbNmkVmZibPPfccJpMJk8nEoUOHANixYweTJ08mICCAqKgoZsyYQWlpqeu9V1xxBfPmzSMjI4Nu3boxadIkAJ555hlSU1Px9/cnLi6On/70p1RXVwOwdu1aZs+eTUVFhet+jz76KHDmcPf8/Hyuu+46AgICCAoK4vrrr6e4uNh1/tFHH+WSSy7hrbfeIiEhgeDgYKZNm0ZVVdV3+0sTERHxQArpIiIiXcBzzz1Heno6t99+O4WFhRQWFhIXF0d5eTnjxo0jLS2NrVu38umnn1JcXMz111/f4v1vvvkmVquVDRs2sGTJEgDMZjPPP/88O3fu5M0332T16tXcd999AIwaNYpnn32WoKAg1/1+8YtfnFGX0+nkuuuuo6ysjMzMTFasWMHBgwe54YYbWlx34MABPvjgA5YvX87y5cvJzMzkiSee+I5+WyIiIp5Lw91FRES6gODgYKxWK35+fkRHR7uOv/jii6SlpfH444+7jr322mvExcWxd+9e+vbtC0CfPn148sknW3zm6fPbExISeOyxx5gzZw4vvfQSVquV4OBgTCZTi/v9p1WrVvH111+Tl5dHXFwcAH/6058YMGAAWVlZDB8+HGgO82+88QaBgYEAzJgxg1WrVrFgwYL/7hcjIiLSyagnXUREpAvbvn07a9asISAgwPVITk4GmnuvTxk6dOgZ7125ciXjx4+ne/fuBAYGMmPGDI4fP05tbe153z83N5e4uDhXQAfo378/ISEh5Obmuo4lJCS4AjpATEwMJSUl7fquIiIiXYF60kVERLqw6upqrr32WhYtWnTGuZiYGNfP/v7+Lc4dOnSIa665hp/85CcsWLCAsLAw1q9fz6233kpjYyN+fn4XtE5vb+8Wr00mE06n84LeQ0REpDNQSBcREekirFYrDoejxbEhQ4bw3nvvkZCQgMVy/v/bz87Oxul08vTTT2M2Nw+8W7Zs2Tnv959SUlIoKCigoKDA1Zu+a9cuysvL6d+//3nXIyIicrHQcHcREZEuIiEhgc2bN3Po0CFKS0txOp3MnTuXsrIybrzxRrKysjhw4ACfffYZs2fPbjNg9+7dm6amJl544QUOHjzIW2+95VpQ7vT7VVdXs2rVKkpLS1sdBj9hwgRSU1OZPn0627ZtY8uWLdx8882MHTuWYcOGXfDfgYiISGenkC4iItJF/OIXv8DLy4v+/fsTERFBfn4+sbGxbNiwAYfDwcSJE0lNTSUjI4OQkBBXD3lrBg8ezDPPPMOiRYsYOHAgb7/9NgsXLmxxzahRo5gzZw433HADERERZyw8B83D1j/88ENCQ0O5/PLLmTBhAklJSSxduvSCf38REZGuwGQYhuHuIkREREREREREPekiIiIiIiIiHkMhXURERERERMRDKKSLiIiIiIiIeAiFdBEREREREREPoZAuIiIiIiIi4iEU0kVEREREREQ8hEK6iIiIiIiIiIdQSBcRERERERHxEArpIiIiIiIiIh5CIV1ERERERETEQyiki4iIiIiIiHiI/w/pu7DTZsNWTwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training time: 303 seconds\n" + ] + } + ], + "source": [ + "import time\n", + "from qiskit_machine_learning.algorithms.classifiers import VQC\n", + "\n", + "vqc = VQC(\n", + " sampler=sampler,\n", + " feature_map=feature_map,\n", + " ansatz=ansatz,\n", + " optimizer=optimizer,\n", + " callback=callback_graph,\n", + ")\n", + "\n", + "# clear objective value history\n", + "objective_func_vals = []\n", + "\n", + "start = time.time()\n", + "vqc.fit(train_features, train_labels)\n", + "elapsed = time.time() - start\n", + "\n", + "print(f\"Training time: {round(elapsed)} seconds\")" + ] + }, + { + "cell_type": "markdown", + "id": "laughing-regulation", + "metadata": {}, + "source": [ + "Let's see how the quantum model performs on the real-life dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "formed-mineral", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum VQC on the training dataset: 0.85\n", + "Quantum VQC on the test dataset: 0.87\n" + ] + } + ], + "source": [ + "train_score_q4 = vqc.score(train_features, train_labels)\n", + "test_score_q4 = vqc.score(test_features, test_labels)\n", + "\n", + "print(f\"Quantum VQC on the training dataset: {train_score_q4:.2f}\")\n", + "print(f\"Quantum VQC on the test dataset: {test_score_q4:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "minimal-deviation", + "metadata": {}, + "source": [ + "As we can see, the scores are high, and the model can be used to predict labels on unseen data.\n", + "\n", + "Now let's see what we can tune to get even better models.\n", + "\n", + "- The key components are the feature map and the ansatz. You can tweak parameters. In our case, you may change the `reps` parameter that specifies how repetitions of a gate pattern we add to the circuit. Larger values lead to more entanglement operations and more parameters. Thus, the model can be more flexible, but the higher number of parameters also adds complexity, and training such a model usually takes more time. Furthermore, we may end up overfitting the model. You can try the other feature maps and ansatzes available in the [Qiskit circuit library](https://qiskit.org/documentation/apidoc/circuit_library.html#n-local-circuits), or you can come up with custom circuits.\n", + "- You may try other optimizers. Qiskit contains a bunch of them. Some of them are gradient-free, others not. If you choose a gradient-based optimizer, e.g., `L_BFGS_B`, expect the training time to increase. Additionally to the objective function, these optimizers must evaluate the gradient with respect to the training parameters, which leads to an increased number of circuit executions per iteration.\n", + "- Another option is to randomly (or deterministically) sample `initial_point` and fit the model several times.\n", + "\n", + "But what if a dataset contains more features than a modern quantum computer can handle? Recall, in this example, we had the same number of qubits as the number of features in the dataset, but this may not always be the case.\n", + "\n", + "## 4. Reducing the Number of Features\n", + "\n", + "In this section, we reduce the number of features in our dataset and train our models again. We'll move through faster this time as the steps are the same except for the first, where we apply a PCA transformation. \n", + "\n", + "We transform our four features into two features only. This dimensionality reduction is for educational purposes only. As you saw in the previous section, we can train a quantum model using all four features from the dataset.\n", + "\n", + "Now, we can easily plot these two features on a single figure." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "painted-montreal", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.decomposition import PCA\n", + "\n", + "features = PCA(n_components=2).fit_transform(features)\n", + "\n", + "plt.rcParams[\"figure.figsize\"] = (6, 6)\n", + "sns.scatterplot(x=features[:, 0], y=features[:, 1], hue=labels, palette=\"tab10\")" + ] + }, + { + "cell_type": "markdown", + "id": "modular-hometown", + "metadata": {}, + "source": [ + "As usual, we split the dataset first, then fit a classical model." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "naval-agriculture", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Classical SVC on the training dataset: 0.97\n", + "Classical SVC on the test dataset: 0.90\n" + ] + } + ], + "source": [ + "train_features, test_features, train_labels, test_labels = train_test_split(\n", + " features, labels, train_size=0.8, random_state=algorithm_globals.random_seed\n", + ")\n", + "\n", + "svc.fit(train_features, train_labels)\n", + "\n", + "train_score_c2 = svc.score(train_features, train_labels)\n", + "test_score_c2 = svc.score(test_features, test_labels)\n", + "\n", + "print(f\"Classical SVC on the training dataset: {train_score_c2:.2f}\")\n", + "print(f\"Classical SVC on the test dataset: {test_score_c2:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "chemical-subcommittee", + "metadata": {}, + "source": [ + "The results are still good but slightly worse compared to the initial version. Let's see how a quantum model deals with them. As we now have two qubits, we must recreate the feature map and ansatz." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "electric-novel", + "metadata": {}, + "outputs": [], + "source": [ + "num_features = features.shape[1]\n", + "\n", + "feature_map = ZZFeatureMap(feature_dimension=num_features, reps=1)\n", + "ansatz = RealAmplitudes(num_qubits=num_features, reps=3)" + ] + }, + { + "cell_type": "markdown", + "id": "competent-johnston", + "metadata": {}, + "source": [ + "We also reduce the maximum number of iterations we run the optimization process for, as we expect it to converge faster because we now have fewer qubits." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "younger-louisiana", + "metadata": {}, + "outputs": [], + "source": [ + "optimizer = COBYLA(maxiter=40)" + ] + }, + { + "cell_type": "markdown", + "id": "proprietary-cookbook", + "metadata": {}, + "source": [ + "Now we construct a quantum classifier from the new parameters and train it. " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "varied-capital", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+kAAAIjCAYAAAB/OVoZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACVn0lEQVR4nOzdd3iUVfrG8XvSe0+AQEhCaNIRQelgQUBRxK4rYncXFLuyVmzY1sKuvQAWBMX2s4EovYl06TWEFiAJ6X3m/f2RzEBIIQMzmUny/VxXLsk7b3kyCeqdc85zTIZhGAIAAAAAAC7n4eoCAAAAAABAGUI6AAAAAABugpAOAAAAAICbIKQDAAAAAOAmCOkAAAAAALgJQjoAAAAAAG6CkA4AAAAAgJsgpAMAAAAA4CYI6QAAAAAAuAlCOgDUU88884xMJpPS0tJOeW5CQoLGjBnj/KJOMnXqVJlMJiUnJ9f5s//66y/16dNHgYGBMplMWrduXZ3XUBuu+t44miu/165kMpn0zDPPuLoMSfXze2D99xgA4DhCOgC4kU2bNukf//iHmjdvLl9fX8XGxurGG2/Upk2bXF1ajV588UV9//33ri7DpqSkRFdffbUyMjL0xhtv6LPPPlN8fLzL6lm2bJmeeeYZZWZmuqwG1D8HDx7UM888c0a/YHrnnXc0depUh9V0OvLz8/XMM89owYIFLq0DAOoLk2EYhquLAABI3377ra6//npFRETotttuU2JiopKTk/Xxxx8rPT1dM2bM0BVXXGE7/5lnntHEiRN19OhRRUVF1XjvoqIieXh4yNvb2ym1BwUF6aqrrqoUBsxms0pKSuTr61uno2Vbt27VWWedpQ8//FC33357nT23Oq+99poefvhh7dmzRwkJCRVec/b3pq5MnTpVt9xyS5VfY0NWWFgoLy8veXl5Ofzeq1atUs+ePTVlypRazbao6u9bp06dFBUV5dKAnJaWpujoaD399NOVZh2UlpaqtLRUfn5+rikOANyQ4/+LAgCw265du3TTTTepVatWWrRokaKjo22vjR8/Xv3799dNN92kDRs2qFWrVnbf39fX15Hl1pqnp6c8PT3r/LlHjhyRJIWFhdX5s+3lqu8NHMOdwmVd/X0rLS2VxWKRj4/PGd/LWb/gAID6jOnuAOAGXn31VeXn5+uDDz6oENAlKSoqSu+//77y8vL0yiuvVLo2LS1N11xzjUJCQhQZGanx48ersLCwwjlVrXvOzMzUfffdp7i4OPn6+qp169Z6+eWXZbFYKpxnsVj01ltvqXPnzvLz81N0dLSGDh2qVatWSSpbk5uXl6dp06bJZDLJZDLZnnXyGtlLL7202l8y9O7dW+ecc06FY59//rl69Oghf39/RURE6LrrrtO+fftqfC/HjBmjgQMHSpKuvvpqmUwmDRo0SJI0aNAg259PvubE0d/k5GSZTCa99tpr+uCDD5SUlCRfX1/17NlTf/31V6Xrt27dqmuuuUbR0dHy9/dXu3bt9Pjjj0sqm/Hw8MMPS5ISExNt75H1Panqe7N7925dffXVioiIUEBAgM477zz9/PPPFc5ZsGCBTCaTvvrqK73wwgtq0aKF/Pz8dMEFF2jnzp01vkezZs2SyWTSwoULK732/vvvy2QyaePGjZKkDRs2aMyYMWrVqpX8/PzUtGlT3XrrrUpPT6/xGVL167XP5OexKj/88IMuueQSxcbGytfXV0lJSXruuedkNpsrnfv222+rVatW8vf3V69evbR48eJKPxfFxcV66qmn1KNHD4WGhiowMFD9+/fX/PnzT/k1WtdY79y5U2PGjFFYWJhCQ0N1yy23KD8/v8K1c+fOVb9+/RQWFqagoCC1a9dO//73vyWVfX979uwpSbrllltsPzc1TV0/+e9bQkKCNm3apIULF9quP/HrrM17fuLfhTfffNP2d2Hz5s21ep+Sk5Nt/06bOHGirQ7re1bVmvTS0lI999xztmclJCTo3//+t4qKiiqcl5CQoEsvvVRLlixRr1695Ofnp1atWunTTz+t9j0CgPqAX10CgBv48ccflZCQoP79+1f5+oABA5SQkFApqEnSNddco4SEBE2aNEkrVqzQ5MmTdezYsRr/RzU/P18DBw7UgQMHdNddd6lly5ZatmyZJkyYoEOHDunNN9+0nXvbbbdp6tSpGjZsmG6//XaVlpZq8eLFWrFihc455xx99tlnuv3229WrVy/deeedkqSkpKQqn3vttddq9OjR+uuvv2wBRJL27t2rFStW6NVXX7Ude+GFF/Tkk0/qmmuu0e23366jR4/qv//9rwYMGKC1a9dWO0p+1113qXnz5nrxxRd17733qmfPnmrSpEm170VNpk+frpycHN11110ymUx65ZVXNGrUKO3evds2PX3Dhg3q37+/vL29deeddyohIUG7du3Sjz/+qBdeeEGjRo3S9u3b9eWXX+qNN96wLU04+ZcxVocPH1afPn2Un5+ve++9V5GRkZo2bZouu+wyzZo1q8KSB0l66aWX5OHhoYceekhZWVl65ZVXdOONN+rPP/+s9uu65JJLFBQUpK+++sr2Cw2rmTNnqmPHjurUqZOksiC5e/du3XLLLWratKk2bdqkDz74QJs2bdKKFSscsozBnp/HqkydOlVBQUF64IEHFBQUpHnz5umpp55SdnZ2hZ+pd999V+PGjVP//v11//33Kzk5WSNHjlR4eLhatGhhOy87O1sfffSRrr/+et1xxx3KycnRxx9/rIsvvlgrV65Ut27dTvk1XXPNNUpMTNSkSZO0Zs0affTRR4qJidHLL78sqaz/xKWXXqouXbro2Wefla+vr3bu3KmlS5dKks466yw9++yzeuqpp3TnnXfa/t3Qp0+fWr+vb775pu655x4FBQXZfmlk/btg73s+ZcoUFRYW6s4775Svr68iIiJq9T5FR0fr3Xff1T//+U9dccUVGjVqlCSpS5cu1dZ9++23a9q0abrqqqv04IMP6s8//9SkSZO0ZcsWfffddxXO3blzp6666irddtttuvnmm/XJJ59ozJgx6tGjhzp27Fjr9woA3IoBAHCpzMxMQ5Jx+eWX13jeZZddZkgysrOzDcMwjKefftqQZFx22WUVzvvXv/5lSDLWr19vOxYfH2/cfPPNts+fe+45IzAw0Ni+fXuFax977DHD09PTSElJMQzDMObNm2dIMu69995K9VgsFtufAwMDK9zfasqUKYYkY8+ePYZhGEZWVpbh6+trPPjggxXOe+WVVwyTyWTs3bvXMAzDSE5ONjw9PY0XXnihwnl///234eXlVen4yebPn29IMr7++usKxwcOHGgMHDiw0vk333yzER8fb/t8z549hiQjMjLSyMjIsB3/4YcfDEnGjz/+aDs2YMAAIzg42Fa71Ynvz6uvvlrhfTjRyd+b++67z5BkLF682HYsJyfHSExMNBISEgyz2VzhazzrrLOMoqIi27lvvfWWIcn4+++/q35zyl1//fVGTEyMUVpaajt26NAhw8PDw3j22Wdtx/Lz8ytd++WXXxqSjEWLFtmOnfy9NgzDkGQ8/fTTp/yaa/vzWJ2qarzrrruMgIAAo7Cw0DAMwygq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ERGaOXOmZs6cqV69elX4hY91lPLk78Gpuq1bJSUlVVrb/MEHH1QaSa/tz2NVqqqxuLhY77zzToXzzjnnHEVGRurDDz+scL8vvvii0tToqu75559/VvienKmMjIxKx6xd461bjdnzc1Od6v5unsl7blXb9ykgIMB231MZPny4pMo/Y6+//rqksp0JAKChYyQdANxAmzZtNG3aNN14443q3LmzbrvtNiUmJio5OVkff/yx0tLS9OWXX1a5tdmePXt02WWXaejQoVq+fLk+//xz3XDDDeratWu1z3v44Yf1f//3f7r00ktt2xXl5eXp77//1qxZs5ScnKyoqCgNHjxYN910kyZPnqwdO3bYpjgvXrxYgwcP1rhx4yRJPXr00O+//67XX39dsbGxSkxMrHJdtdXw4cMVHByshx56SJ6enrryyisrvJ6UlKTnn39eEyZMsG2TFRwcrD179ui7777TnXfeqYceesju9/nWW2/V66+/rosvvli33Xabjhw5ovfee08dO3astJa5tiZPnqx+/frp7LPP1p133mn7vv38889at26dpLL3R5Ief/xxXXfddfL29taIESNsIexEjz32mL788ksNGzZM9957ryIiIjRt2jTt2bNH33zzjUPXK3t7e2vUqFGaMWOG8vLy9Nprr1V4PSQkRAMGDNArr7yikpISNW/eXL/99lulUerq3H777br77rt15ZVX6qKLLtL69es1Z84c2zZ0VrX9eaxKnz59FB4erptvvln33nuvTCaTPvvss0q/WPDx8dEzzzyje+65R+eff76uueYaJScna+rUqUpKSqow2nvppZfq22+/1RVXXKFLLrlEe/bs0XvvvacOHTooNze3Vl/7qTz77LNatGiRLrnkEsXHx+vIkSN655131KJFC9tsmqSkJIWFhem9995TcHCwAgMDde6559q13rtHjx5699139fzzz6t169aKiYnR+eeff0bvuVVt3yd/f3916NBBM2fOVNu2bRUREaFOnTpV2cuha9euuvnmm/XBBx/YljKsXLlS06ZN08iRIyvMggCABquOu8kDAGqwYcMG4/rrrzeaNWtmeHt7G02bNjWuv/76KrfTsm5dtHnzZuOqq64ygoODjfDwcGPcuHFGQUFBhXNP3vLKMMq29ZowYYLRunVrw8fHx4iKijL69OljvPbaa0ZxcbHtvNLSUuPVV1812rdvb/j4+BjR0dHGsGHDjNWrV9vO2bp1qzFgwADD39/fkGR7VlVbQlndeOONhiTjwgsvrPb9+Oabb4x+/foZgYGBRmBgoNG+fXtj7NixxrZt22p8H6vbgs0wDOPzzz83WrVqZfj4+BjdunUz5syZU+0WbK+++mql61XFVlIbN240rrjiCiMsLMzw8/Mz2rVrZzz55JMVznnuueeM5s2bGx4eHhXek6q+N7t27TKuuuoq2/169epl/PTTT7X6Gq2113bbrrlz5xqSDJPJZOzbt6/S6/v377d9baGhocbVV19tHDx4sNL7UNX32mw2G48++qgRFRVlBAQEGBdffLGxc+fOM/p5rMrSpUuN8847z/D39zdiY2ONRx55xJgzZ44hyZg/f36FcydPnmzEx8cbvr6+Rq9evYylS5caPXr0MIYOHWo7x2KxGC+++KLtvO7duxs//fRTpZ8Tw6h+C7aTt1Y7+f35448/jMsvv9yIjY01fHx8jNjYWOP666+vtCXaDz/8YHTo0MHw8vI65fe1qu9BamqqcckllxjBwcGVtpqrzXte098Fe96nZcuWGT169DB8fHwqvGcnb8FmGIZRUlJiTJw40UhMTDS8vb2NuLg4Y8KECbbt9Kzi4+ONSy65pFJd1W21CAD1hckw6KwBAA1dXFycLr74Yn300UeuLgVwKxaLRdHR0Ro1apQ+/PBDV5cDAABr0gGgoSspKVF6evopp64CDV1hYWGlafCffvqpMjIyNGjQINcUBQDASViTDgAN2Jw5czRjxgwVFBTY9sIGGqsVK1bo/vvv19VXX63IyEitWbNGH3/8sTp16lRhC0AAAFyJkA4ADdhLL72knTt36oUXXtBFF13k6nIAl0pISFBcXJwmT55s21Zw9OjReumll+Tj4+Pq8gAAkCSxJh0AAAAAADfBmnQAAAAAANwEIR0AAAAAADfR6NakWywWHTx4UMHBwTKZTK4uBwAAAADQwBmGoZycHMXGxsrDo+ax8kYX0g8ePKi4uDhXlwEAAAAAaGT27dunFi1a1HhOowvpwcHBksrenJCQEBdXAwAAAABo6LKzsxUXF2fLozVxaUifNGmSvv32W23dulX+/v7q06ePXn75ZbVr167G69588029++67SklJUVRUlK666ipNmjRJfn5+p3ymdYp7SEgIIR0AAAAAUGdqs+TapY3j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P/6oTz/9VIMGDdItt9yi/v37q3Xr1oqPj9cXX3yhG2+80Rl1wkWsjePo7g4AAAAAzmf3SHpGRoZatWolqWz9uXXLtX79+mnRokV23WvSpEnq2bOngoODFRMTo5EjR2rbtm01XvPhhx+qf//+tun1F154oVauXGnvl4Faiixfk34sv1gWi+HiagAAAACgYbM7pLdq1Up79uyRJLVv315fffWVpLIR9rCwMLvutXDhQo0dO1YrVqzQ3LlzVVJSoiFDhigvL6/aaxYsWKDrr79e8+fP1/LlyxUXF6chQ4bowIED9n4pqIXwQG9JktliKLuwxMXVAAAAAEDDZjIMw67h0TfeeEOenp6699579fvvv2vEiBEyDEMlJSV6/fXXNX78+NMu5ujRo4qJidHChQs1YMCAWl1jNpsVHh6u//3vfxo9evQpz8/OzlZoaKiysrLoRF9LnZ+eo5yiUv3x4EAlRQe5uhwAAAAAqFfsyaF2r0m///77bX++8MILtXXrVq1evVqtW7dWly5d7K/2BFlZWZKkiIiIWl+Tn5+vkpKSaq8pKipSUdHxPb6zs7PPqMbGKCLIRzlFpcrIK1ZStKurAQAAAICGy+7p7vv27avweXx8vEaNGnXGAd1isei+++5T37591alTp1pf9+ijjyo2NlYXXnhhla9PmjRJoaGhto+4uLgzqrMxsnZ4T2cbNgAAAABwKrtDekJCggYOHKgPP/xQx44dc1ghY8eO1caNGzVjxoxaX/PSSy9pxowZ+u677+Tn51flORMmTFBWVpbt4+RfMuDUItmGDQAAAADqhN0hfdWqVerVq5eeffZZNWvWTCNHjtSsWbMqTCm317hx4/TTTz9p/vz5atGiRa2uee211/TSSy/pt99+q3EU39fXVyEhIRU+YJ/jI+mn/z0GAAAAAJya3SG9e/fuevXVV5WSkqJff/1V0dHRuvPOO9WkSRPdeuutdt3LMAyNGzdO3333nebNm6fExMRaXffKK6/oueee0+zZs3XOOefY+yXAThHl27CxVzoAAAAAOJfdId3KZDJp8ODB+vDDD/X7778rMTFR06ZNs+seY8eO1eeff67p06crODhYqampSk1NVUFBge2c0aNHa8KECbbPX375ZT355JP65JNPlJCQYLsmNzf3dL8UnALT3QEAAACgbpx2SN+/f79eeeUVdevWTb169VJQ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iorym0uN2cPVciZJ3/ve95SSkqLExER99NFH+vGPf6xDhw7pnXfesTDanmvfvn3Kzs7W+fPnFR4ero0bNyotLU2VlZXUl011ljOJ+rKj9evXa+/evSovL79im1V/x2jSga9p8uTJvscjR45UVlaWUlJS9Pbbb2v27NkWRgbcnh577DHf4/T0dI0cOVJ33nmnSktLlZOTY2FkPVthYaH279/PNTkCSGc5e/LJJ32P09PTlZCQoJycHFVVVenOO++81WH2eEOHDlVlZaXq6+v1xz/+UQUFBSorK7M6LHShs5ylpaVRXzZTU1Oj+fPna9u2berVq5fV4fiw3N1mYmJiFBQUdMUVA0+cOKH4+HiLosKNiIqK0l133aXDhw9bHQquoaOmqLfANmjQIMXExFBzFpo3b562bNmi7du3a8CAAb7x+Ph4tba26syZM37zqTHrdZazq8nKypIkaswiLpdLgwcP1qhRo1RcXKyMjAytXLmS+rKxznJ2NdSXtSoqKlRXV6d77rlHwcHBCg4OVllZmVatWqXg4GDFxcVZUmc06Tbjcrk0atQolZSU+Ma8Xq9KSkr8PssC+2pqalJVVZUSEhKsDgXXMHDgQMXHx/vVW0NDg3bv3k29BZD//ve/OnXqFDVnAWOM5s2bp40bN+rdd9/VwIED/baPGjVKISEhfjV26NAhVVdXU2MWuVbOrqayslKSqDGb8Hq9amlpob4CSEfOrob6slZOTo727dunyspK32306NGaPn2677EVdcZydxtasGCBCgoKNHr0aI0ZM0YrVqxQc3OzZs2aZXVouIqFCxcqLy9PKSkpOnbsmBYvXqygoCA9/vjjVocGtR80ufTo9JEjR1RZWano6GglJyerqKhIL7zwgoYMGaKBAwfqueeeU2JioqZOnWpd0D1cVzmLjo7W0qVL9eijjyo+Pl5VVVV69tlnNXjwYE2cONHCqHumwsJCrV27Vps3b1ZERITv83mRkZHq3bu3IiMjNXv2bC1YsEDR0dFyu9364Q9/qOzsbH3zm9+0OPqe6Vo5q6qq0tq1a/Xtb39b/fr100cffaRnnnlGY8eOveJridD9Fi1apMmTJys5OVmNjY1au3atSktLtXXrVurLprrKGfVlPxEREX7X5JCksLAw9evXzzduSZ1123Xj8bW88sorJjk52bhcLjNmzBjz/vvvWx0SOpGfn28SEhKMy+Uyd9xxh8nPzzeHDx+2OixctH37diPpiltBQYExpv1r2J577jkTFxdnQkNDTU5Ojjl06JC1QfdwXeXs7NmzZsKECSY2NtaEhISYlJQUM2fOHHP8+HGrw+6RrpYnSeYPf/iDb865c+fM008/bfr27Wv69Oljvvvd75ra2lrrgu7hrpWz6upqM3bsWBMdHW1CQ0PN4MGDzY9+9CNTX19vbeA91BNPPGFSUlKMy+UysbGxJicnx/z973/3bae+7KernFFfgeHyr8mzos4cxhjTfYcAAAAAAADA9eIz6QAAAAAA2ARNOgAAAAAANkGTDgAAAACATdCkAwAAAABgEzTpAAAAAADYBE06AAAAAAA2QZMOAAAAAIBN0KQDAAAAAGATNOkAAOCmSk1N1YoVK6wOAwCAgESTDgBAAJs5c6amTp0qSRo3bpyKiopu2WuvWbNGUVFRV4yXl5frySefvGVxAABwOwm2OgAAAGAvra2tcrlcX3n/2NjYmxgNAAA9C2fSAQC4DcycOVNlZWVauXKlHA6HHA6Hjh49Kknav3+/Jk+erPDwcMXFxWnGjBk6efKkb99x48Zp3rx5KioqUkxMjCZOnChJevnll5Wenq6wsDAlJSXp6aefVlNTkySptLRUs2bNUn19ve/1lixZIunK5e7V1dWaMmWKwsPD5Xa7NW3aNJ04ccK3fcmSJfrGN76hN954Q6mpqYqMjNRjjz2mxsbG7n3TAACwIZp0AABuAytXrlR2drbmzJmj2tpa1dbWKikpSWfOnNH48eOVmZmpPXv26G9/+5tOnDihadOm+e3/2muvyeVyaefOnXr11VclSU6nU6tWrdKBAwf02muv6d1339Wzzz4rSbrvvvu0YsUKud1u3+stXLjwiri8Xq+mTJmi06dPq6ysTNu2bdNnn32m/Px8v3lVVVXatGmTtmzZoi1btqisrEzLli3rpncLAAD7Yrk7AAC3gcjISLlcLvXp00fx8fG+8V/+8pfKzMzUT3/6U9/Y73//eyUlJemTTz7RXXfdJUkaMmSIli9f7vczL/18e2pqql544QXNnTtXv/rVr+RyuRQZGSmHw+H3epcrKSnRvn37dOTIESUlJUmSXn/9dQ0fPlzl5eW69957JbU382vWrFFERIQkacaMGSopKdGLL7749d4YAAACDGfSAQC4jf3rX//S9u3bFR4e7rsNGzZMUvvZ6w6jRo26Yt9//OMfysnJ0R133KGIiAjNmDFDp06d0tmzZ6/79Q8ePKikpCRfgy5JaWlpioqK0sGDB31jqampvgZdkhISElRXV3dDvysAALcDzqQDAHAba2pqUl5enl566aUrtiUkJPgeh4WF+W07evSovvOd7+ipp57Siy++qOjoaL333nuaPXu2Wltb1adPn5saZ0hIiN9zh8Mhr9d7U18DAIBAQJMOAMBtwuVyyePx+I3dc889+tOf/qTU1FQFB1//n/2Kigp5vV794he/kNPZvvDu7bffvubrXe7uu+9WTU2NampqfGfTP/74Y505c0ZpaWnXHQ8AAD0Fy90BALhNpKamavfu3Tp69KhOnjwpr9erwsJCnT59Wo8//rjKy8tVVVWlrVu3atasWV022IMHD1ZbW5teeeUVffbZZ3rjjTd8F5S79PWamppUUlKikydPXnUZfG5urtLT0zV9+nTt3btXH3zwgb7//e/rgQce0OjRo2/6ewAAQKCjSQcA4DaxcOFCBQUFKS0tTbGxsaqurlZiYqJ27twpj8ejCRMmKD09XUVFRYqKivKdIb+ajIwMvfzyy3rppZc0YsQIvfnmmyouLvabc99992nu3LnKz89XbGzsFReek9qXrW/evFl9+/bV2LFjlZubq0GDBumtt9666b8/AAC3A4cxxlgdBAAAAAAA4Ew6AAAAAAC2QZMOAAAAAIBN0KQDAAAAAGATNOkAAAAAANgETToAAAAAADZBkw4AAAAAgE3QpAMAAAAAYBM06QAAAAAA2ARNOgAAAAAANkGTDgAAAACATdCkAwAAAABgE/8P6stU6XbRIlkAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training time: 58 seconds\n" + ] + } + ], + "source": [ + "vqc = VQC(\n", + " sampler=sampler,\n", + " feature_map=feature_map,\n", + " ansatz=ansatz,\n", + " optimizer=optimizer,\n", + " callback=callback_graph,\n", + ")\n", + "\n", + "# clear objective value history\n", + "objective_func_vals = []\n", + "\n", + "# make the objective function plot look nicer.\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "\n", + "start = time.time()\n", + "vqc.fit(train_features, train_labels)\n", + "elapsed = time.time() - start\n", + "\n", + "print(f\"Training time: {round(elapsed)} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "developmental-crazy", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum VQC on the training dataset using RealAmplitudes: 0.58\n", + "Quantum VQC on the test dataset using RealAmplitudes: 0.63\n" + ] + } + ], + "source": [ + "train_score_q2_ra = vqc.score(train_features, train_labels)\n", + "test_score_q2_ra = vqc.score(test_features, test_labels)\n", + "\n", + "print(f\"Quantum VQC on the training dataset using RealAmplitudes: {train_score_q2_ra:.2f}\")\n", + "print(f\"Quantum VQC on the test dataset using RealAmplitudes: {test_score_q2_ra:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "quarterly-singing", + "metadata": {}, + "source": [ + "Well, the scores are higher than a fair coin toss but could be better. The objective function is almost flat towards the end, meaning increasing the number of iterations won't help, and model performance will stay the same. Let's see what we can do with another ansatz." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "convinced-seven", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ffswcuRIqNVq3HvvvUhKSkJGRgZ+/PFHvPjii7j++utx7NgxfPXVV1i4cKGzNeH8X8ZIzp07h2HDhqGiogIPPvggoqKisGTJElx77bVYvnx5vZYHAHj55ZehUCjw2GOPoaSkBAsWLMCtt96Kv/76q8nPa9KkSQgJCcHXX3/t/IWGZNmyZejduzf69OkDwJ5IZmZm4o477kCHDh1w8OBBvP/++zh48CC2bt3qkTYGd74fG7N48WKEhITgkUceQUhICNasWYOnn34apaWl9b6n3n33XcyePRsjR47Eww8/jOzsbEyePBmRkZHo3Lmz87rS0lJ8+OGHuPnmm3HPPfegrKwMH330EcaPH49t27ahf//+F/ycpk2bhuTkZMyfPx+7du3Chx9+iNjYWLzyyisA7PMnrr76avTt2xfPPfcctFot0tPTsWnTJgBAz5498dxzz+Hpp5/Gvffe6/y3YdiwYS6/rm+++SYeeOABhISEOH9pJP1dcPc1/+STT1BVVYV7770XWq0WBoPBpdcpJiYG7777Lv7+979jypQpuP766wEAffv2bTLuu+++G0uWLMGNN96IRx99FH/99Rfmz5+Pw4cP4/vvv693bXp6Om688UbcddddmDFjBj7++GPMnDkTAwcORO/evV1+rYiI/IpIRESyKi4uFgGI1113XbPXXXvttSIAsbS0VBRFUXzmmWdEAOK1115b77p//OMfIgBx7969ztsSExPFGTNmON9//vnnRb1eLx47dqzefZ944glRqVSKOTk5oiiK4po1a0QA4oMPPtggHpvN5vyzXq+v9/iSTz75RAQgZmVliaIoiiUlJaJWqxUfffTRetctWLBAFARBPHHihCiKopidnS0qlUrxxRdfrHfd/v37RZVK1eD2861du1YEIH7zzTf1br/sssvEyy67rMH1M2bMEBMTE53vZ2VliQDEqKgo0Wg0Om//4YcfRADijz/+6Lxt1KhRYmhoqDN2Sd3X59VXX633OtR1/tfmoYceEgGIGzZscN5WVlYmJicni0lJSaLVaq33Ofbs2VOsrq52XvvWW2+JAMT9+/c3/uI43HzzzWJsbKxosVict+Xm5ooKhUJ87rnnnLdVVFQ0uO9XX30lAhDXr1/vvO38r7UoiiIA8Zlnnrng5+zq92NTGovxvvvuE4ODg8WqqipRFEWxurpajIqKEgcPHiyazWbndYsXLxYB1Pu+sFgs9V5TURTFoqIiMS4uTrzzzjvr3X7+5yj9vTz/uilTpohRUVHO9xcuXCgCEPPz85v8vLZv3y4CED/55JMmr6mrsa9B7969G/2ed/U1l/4uhIWFiXl5efWudfV1ys/Pb/J7QXq9JHv27BEBiHfffXe96x577DERgLhmzRrnbYmJiQ2+D/Py8hr9N4aIKJCw3J2ISGZlZWUAgNDQ0Gavkz5eWlpa7/ZZs2bVe/+BBx4AAPzyyy9NPtY333yDkSNHIjIyEgUFBc63sWPHwmq1Yv369QCAb7/9FoIg4JlnnmnwGC05QQ0LC8OECRPw9ddfQ6wzt3TZsmW49NJL0aVLFwD2IXo2mw3Tpk2rF1+HDh3QtWvXRsuOvWH69OmIjIx0vi+dZmZmZgIA8vPzsX79etx5553O2CUtPWH+5ZdfMGTIEIwYMcJ5W0hICO69915kZ2fj0KFD9a6/44476vUGnx9jU6ZPn468vLx6A8WWL18Om82G6dOnO28LCgpy/rmqqgoFBQW49NJLAQC7du1y/xNshKvfj02pG2NZWRkKCgowcuRIVFRU4MiRIwDsQ9gKCwtxzz331OuBvvXWW+t9jQF7b7f0mtpsNhiNRlgsFgwaNMjlz/n++++v9/7IkSNRWFjo/PsrVYL88MMPLpX0e5q7r/kNN9zQoPrDE6/T+aR/tx555JF6tz/66KMA0KCaqFevXvUqkGJiYtC9e/cLfv8TEfkzlrsTEclMSr6lZL0pTSXzXbt2rfd+amoqFApFs7uSjx8/jn379jVZci0NXsvIyEB8fDwMBkOzsblj+vTpWLFiBbZs2YJhw4YhIyMDO3furFdee/z4cYii2OBzk/hqEvr5ibeUzBUVFQGoTYSl0nBPOHHiBC655JIGt/fs2dP58brPd6EYm3LVVVchPDwcy5YtwxVXXAHA/suS/v37o1u3bs7rjEYj5s2bh6VLlzq/LyQlJSVufGZNc/X7sSkHDx7E//3f/2HNmjUNfoklxXjixAkAQFpaWr2Pq1SqRqfRL1myBK+//jqOHDkCs9nsvD05OfmCnw/Q/NclLCwM06dPx4cffoi7774bTzzxBK644gpcf/31uPHGG6FQeP8Mxd3XvKnPu7Wv0/lOnDgBhULR4OvUoUMHREREOL+OkvNfZ8D+Wl/o+5+IyJ8xSScikll4eDg6duyIffv2NXvdvn370KlTJ4SFhTV7nSsnuDabDVdeeSX++c9/Nvrxukmap11zzTUIDg7G119/jWHDhuHrr7+GQqHA1KlT68UnCAJ+/fXXRqdVh4SEtOi5BUGod4IvaWzAGIAmJ2U39hhyaWmMWq0WkydPxvfff4933nkH586dw6ZNm/DSSy/Vu27atGnYvHkzHn/8cfTv3x8hISGw2Wy46qqrWnwCfP7r3Zrvx+LiYlx22WUICwvDc889h9TUVOh0OuzatQv/+te/WhTj559/jpkzZ2Ly5Ml4/PHHERsbC6VSifnz5yMjI8Olx7jQ1yUoKAjr16/H2rVr8fPPP2PlypVYtmwZLr/8cvz+++9en9Lu7mtet1pB4onXqSmuVqIEwt9RIiJ3MUknIvIDV199NT744ANs3LixXpmzZMOGDcjOzsZ9993X4GPHjx+vd2qVnp4Om83W7K7q1NRUlJeXY+zYsc3GlZqait9++w1Go7HZ03R3Srv1ej2uvvpqfPPNN3jjjTewbNkyjBw5EvHx8fWeVxRFJCcne/QXBpGRkY2WwZ5/OucqaVK9NAm9Ke68PomJiTh69GiD26Wy7cTERDcibN706dOxZMkSrF69GocPH4YoivVK3YuKirB69WrMmzcPTz/9tPP248ePu/T4kZGRKC4urndbTU0NcnNz693m6vdjY9atW4fCwkJ89913GDVqlPP2rKysetdJr1t6ejrGjBnjvN1isSA7O7veILPly5cjJSUF3333Xb2vXWNtH62hUChwxRVX4IorrsAbb7yBl156CU8++STWrl2LsWPHemQoX1OP0ZrXXOLq6+Tu97/NZsPx48ed1SOAfaBicXGxR7//iYj8FXvSiYj8wOOPP46goCDcd999DVZbGY1G3H///QgODnau8qrr7bffrvf+f/7zHwDAhAkTmny+adOmYcuWLfjtt98afKy4uBgWiwWAvQ9VFEXMmzevwXV1T6r0en2DZKw506dPx5kzZ/Dhhx9i79699RJDALj++uuhVCoxb968Bidioii6tP6rMampqThy5Ajy8/Odt+3du9c5UdtdMTExGDVqFD7++GPk5OQ0iFOi1+sBwKXXaOLEidi2bRu2bNnivM1kMuH9999HUlISevXq1aJYGzN27FgYDAYsW7YMy5Ytw5AhQ+r9wkc6pTz/a3ChaeuS1NTUBr3N77//foOTdFe/HxvTWIw1NTV455136l03aNAgREVF4YMPPqj3eF988UWD0ujGHvOvv/6q9zVpLaPR2OA2aWq8tGrMne+bpjT1d7M1r7nE1dcpODjY+bgXMnHiRAANv8feeOMNAPbNBEREbR1P0omI/EDXrl2xZMkS3Hrrrbjoootw1113ITk5GdnZ2fjoo49QUFCAr776qtHVZllZWbj22mtx1VVXYcuWLfj8889xyy23oF+/fk0+3+OPP47//e9/uPrqq53rikwmE/bv34/ly5cjOzsb0dHRGDNmDG677TYsWrQIx48fd5Y4b9iwAWPGjMHs2bMBAAMHDsQff/yBN954A/Hx8UhOTm60r1oyceJEhIaG4rHHHoNSqcQNN9xQ7+Opqal44YUXMHfuXOearNDQUGRlZeH777/Hvffei8cee8zt1/nOO+/EG2+8gfHjx+Ouu+5CXl4e3nvvPfTu3btBL7OrFi1ahBEjRuDiiy/Gvffe6/y6/fzzz9izZw8A++sDAE8++SRuuukmqNVqXHPNNc4krK4nnngCX331FSZMmIAHH3wQBoMBS5YsQVZWFr799luP9iur1Wpcf/31WLp0KUwmE1577bV6Hw8LC8OoUaOwYMECmM1mdOrUCb///nuDU+qm3H333bj//vtxww034Morr8TevXvx22+/OdfQSVz9fmzMsGHDEBkZiRkzZuDBBx+EIAj47LPPGvxiQaPR4Nlnn8UDDzyAyy+/HNOmTUN2djYWL16M1NTUeqe9V199Nb777jtMmTIFkyZNQlZWFt577z306tUL5eXlLn3uF/Lcc89h/fr1mDRpEhITE5GXl4d33nkHnTt3dlbTpKamIiIiAu+99x5CQ0Oh1+txySWXuNXvPXDgQLz77rt44YUXkJaWhtjYWFx++eWtes0lrr5OQUFB6NWrF5YtW4Zu3brBYDCgT58+jc5y6NevH2bMmIH333/f2cqwbds2LFmyBJMnT65XBUFE1Gb5eJo8ERE1Y9++feLNN98sduzYUVSr1WKHDh3Em2++udF1WtLqokOHDok33nijGBoaKkZGRoqzZ88WKysr6117/sorUbSv9Zo7d66YlpYmajQaMTo6Whw2bJj42muviTU1Nc7rLBaL+Oqrr4o9evQQNRqNGBMTI06YMEHcuXOn85ojR46Io0aNEoOCgkQAzudqbCWU5NZbbxUBiGPHjm3y9fj222/FESNGiHq9XtTr9WKPHj3EWbNmiUePHm32dWxqBZsoiuLnn38upqSkiBqNRuzfv7/422+/NbmC7dVXX21wfzSySurAgQPilClTxIiICFGn04ndu3cXn3rqqXrXPP/882KnTp1EhUJR7zVp7GuTkZEh3njjjc7HGzJkiPjTTz+59DlKsbu6tmvVqlUiAFEQBPHkyZMNPn7q1Cnn5xYeHi5OnTpVPHPmTIPXobGvtdVqFf/1r3+J0dHRYnBwsDh+/HgxPT29Vd+Pjdm0aZN46aWXikFBQWJ8fLz4z3/+U/ztt99EAOLatWvrXbto0SIxMTFR1Gq14pAhQ8RNmzaJAwcOFK+66irnNTabTXzppZec1w0YMED86aefGnyfiGLTK9jOX612/uuzevVq8brrrhPj4+NFjUYjxsfHizfffHODlWg//PCD2KtXL1GlUl3w69rY1+Ds2bPipEmTxNDQ0Aar5lx5zZv7u+DO67R582Zx4MCBokajqfeanb+CTRRF0Ww2i/PmzROTk5NFtVotJiQkiHPnznWu05MkJiaKkyZNahBXU6sWiYgChSCKnKxBRNTWJSQkYPz48fjwww/lDoXIr9hsNsTExOD666/HBx98IHc4RERE7EknImrrzGYzCgsLL1i6StTWVVVVNSiD//TTT2E0GjF69Gh5giIiIjoPe9KJiNqw3377DUuXLkVlZaVzFzZRe7V161Y8/PDDmDp1KqKiorBr1y589NFH6NOnT70VgERERHJikk5E1Ia9/PLLSE9Px4svvogrr7xS7nCIZJWUlISEhAQsWrTIuVbw9ttvx8svvwyNRiN3eERERAAA9qQTERERERER+Qn2pBMRERERERH5CSbpRERERERERH6i3fWk22w2nDlzBqGhoRAEQe5wiIiIiIiIqI0TRRFlZWWIj4+HQtH8WXm7S9LPnDmDhIQEucMgIiIiIiKidubkyZPo3Llzs9e0uyQ9NDQUgP3FCQsLkzkaIiIiIiIiautKS0uRkJDgzEeb0+6SdKnEPSwsjEk6ERERERER+YwrLdccHEdERERERETkJ5ikExEREREREfkJJulEREREREREfoJJOhEREREREZGfYJJORERERERE5CeYpBMRERERERH5CSbpRERERERERH6CSToRERERERGRn2CSTkREREREROQnmKQTERERERER+Qkm6URERERERER+gkk6ERERERERkZ9gkk5ERERERETkJ5ikExEREREREfkJJulEREREREREfoJJOhEREREREZGfYJJORNRO1Vhs2HnCCLPVJncoREREROTAJJ2IqJ36eFMWbnh3C5ZszpY7FCIiIiJyYJJORNRO7TpRBADIyDfJHAkRERERSZikExG1Uxn55QCAIlONzJEQERERkYRJOhFRO2S22nCisAIAYKxgkk5ERETkL5ikExG1QznGClhsIgCepBMRERH5EybpRETtUEZeufPPRTxJJyIiIvIbTNKJiNqhusPiiirMsDlO1YmIiIhIXkzSiYjaIWloHABYbSLKqiwyRkNEREREEibpRETtUN0kHeDwOCIiIiJ/wSSdiKidEUXR2ZOuEOy3GU3VMkZERERERBIm6URE7UxBeQ1KqywQBKBbXCgAwGgyyxwVEREREQFM0omI2h2p1D0hMhgdw3UAuIaNiIiIyF8wSSciamcyHZPdU2L0iNRrALAnnYiIiMhfqOQOgIiIfEs6SU+NCYGjJZ0n6URERER+gkk6EVE7UzdJL3KcoBuZpBMRERH5BZa7ExG1M7VJuh5RjnL3Ipa7ExEREfkFnqQTEbUjVWYrThVVAgBSY0NQXGmf6s6TdCIiIiL/wJN0IqJ2JKvABFEEwoPUiNJrYHCepHMFGxEREZE/YJJORNSO1C11FwQBkcGO6e48SSciIiLyC0zSiYjakYw8+/q11JgQAHCepJdUmmGx2mSLi4iIiIjsmKQTEbUjzpP0WHuSHh6khuDYwyb1pxMRERGRfDg4jjzip31nsCO7CIIAKAQBCsd/BceflYraP0sfFwQBSkXDaxWCAIXjdrVCgdHdYxAbppP7UyRqE+quXwPsfzcjgtQoqjDDaKpBdIhWzvCIiIiI2j0m6dRqx86V4YGvdkMUvfP4vTqG4acHRkChELzzBETthM0mIjNfKnfXO2+P1GucSToRERERyYtJOrXam38cgygC/RMiMDwtClYbIIoibKIImwjYRBGi479Wm/228z9uszW81iaK2JReiEO5pfh+92ncMLCz3J8qUUDLLa1CpdkKtVJAgiHYebshWINMmFDEJJ2IiIhIdkzSqVUOnSnFL/vPQhCAV27oi+4dQj36+O/9mYGXfz2C138/ikl9O0KnVnr08Ynak4w8e6l7YpQeamXt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qVOnsGDBAvTv3x9DhgxBSEgI3n77bbce491330VJSQlGjx6Njh07Ot+WLVvmvCYnJwe5ubnO94cNG4Yvv/wS77//Pvr164fly5djxYoVzQ6bIyIiz2BfOhEREZF3uT3d/b///S++/PJLbNq0CT169MCtt96KH374oUUT3l1Z0b5u3boGt02dOhVTp051+/mIiKh1IoM1OFFYASOTdCIiIiKvcDtJf+GFF3DzzTdj0aJF6NevnzdiIiIiP+U8SWe5OxEREZFXuJ2k5+TkQBAEb8RCRER+LtIxPM5o4uA4IiIiIm9wuyedCToRUftl0KsB8CSdiIiIyFtaPDiOiIjan0i9dJLOJJ2IiIjIG5ikExGRywzBnO5ORERE5E1M0omIyGXOk3SWuxMRERF5BZN0IiJymYHl7kRERERe5XaSfu7cOdx2222Ij4+HSqWCUqms90ZERG1X7XR3JulERERE3uD2CraZM2ciJycHTz31FDp27Mhp70RE7Yh0kl5WZYHZaoNayYIsIiIiIk9yO0nfuHEjNmzYgP79+3shHCIi8mfhQWooBMAm2tewxYbq5A6JiIiIqE1x+wgkISEBoih6IxYiIvJzSoWACOeEd7PM0RARERG1PW4n6W+++SaeeOIJZGdneyEcIiLyd5HBagDsSyciIiLyBrfL3adPn46KigqkpqYiODgYarW63seNRqPHgiMiIv9j0GuQkW9CEdewEREREXmc20n6m2++6YUwiIgoUHDCOxEREZH3uJ2kz5gxwxtxEBFRgJAmvBcxSSciIiLyOLeTdACwWq1YsWIFDh8+DADo3bs3rr32Wu5JJyJqByIdSbqR5e5EREREHud2kp6eno6JEyfi9OnT6N69OwBg/vz5SEhIwM8//4zU1FSPB0lERP7DEMyTdCIiIiJvcXu6+4MPPojU1FScPHkSu3btwq5du5CTk4Pk5GQ8+OCD3oiRiIj8SO1JOlewEREREXma2yfpf/75J7Zu3QqDweC8LSoqCi+//DKGDx/u0eCIiMj/GPTSCrZqmSMhIiIianvcPknXarUoKytrcHt5eTk0Go1HgiIiIv8V6Sx350k6ERERkae5naRfffXVuPfee/HXX39BFEWIooitW7fi/vvvx7XXXuuNGImIyI9I0925go2IiIjI89xO0hctWoTU1FQMHToUOp0OOp0Ow4cPR1paGt566y1vxEhERH5EStIrzVZU1lhljoaIiIiobXG7Jz0iIgI//PADjh8/jiNHjgAAevbsibS0NI8HR0RE/idEq4JaKcBsFVFUUYMgTZDcIRERERG1GS3akw4AXbt2RdeuXT0ZCxERBQBBEBAZrEFeWTWMphrERzBJJyIiIvIUl5L0Rx55BM8//zz0ej0eeeSRZq994403PBIYERH5L4PenqQXVbAvnYiIiMiTXErSd+/eDbPZ7PwzERG1b9KEdw6PIyIiIvIsl5L0tWvXNvpnIiJqn6ThcUVM0omIiIg8yu3p7nfeeWeje9JNJhPuvPNOjwRFRET+LVKvBgAYK7grnYiIiMiT3E7SlyxZgsrKyga3V1ZW4tNPP/VIUERE5N8MwTxJJyIiIvIGl6e7l5aWQhRFiKKIsrIy6HQ658esVit++eUXxMbGeiVIIiLyL5F69qQTEREReYPLSXpERAQEQYAgCOjWrVuDjwuCgHnz5nk0OCIi8k8GJulEREREXuFykr527VqIoojLL78c3377LQwGg/NjGo0GiYmJiI+P90qQRETkX6Tp7lzBRkRERORZLifpl112GQAgKysLXbp0gSAIXguKiIj8G0/SiYiIiLzD7cFxa9aswfLlyxvc/s0332DJkiUeCYqIiPybcwVbRQ1EUZQ5GiIiIqK2w+0kff78+YiOjm5we2xsLF566SWPBEVERP5NKnc3W0WUV1tkjoaIiIio7XA7Sc/JyUFycnKD2xMTE5GTk+ORoIiIyL8FaZQIUisBAEUm7konIiIi8hS3k/TY2Fjs27evwe179+5FVFSUR4IiIiL/5+xL5/A4IiIiIo9xO0m/+eab8eCDD2Lt2rWwWq2wWq1Ys2YN5syZg5tuuskbMRIRkR+K1KsBAEUcHkdERETkMS5Pd5c8//zzyM7OxhVXXAGVyn53m82G22+/nT3pRETtiNSXzgnvRERERJ7jdpKu0WiwbNkyPP/889i7dy+CgoJw0UUXITEx0RvxERGRn6o74Z2IiIiIPMPtJF3SrVs3dOvWzZOxEBFRAOFJOhEREZHnuZ2kW61WLF68GKtXr0ZeXh5sNlu9j69Zs8ZjwRERkf9yDo5jkk5ERETkMW4n6XPmzMHixYsxadIk9OnTB4IgeCMuIiLyc5FM0omIiIg8zu0kfenSpfj6668xceJEb8RDREQBwhDMnnQiIiIiT3N7BZtGo0FaWpo3YiEiogAirWDjSToRERGR57idpD/66KN46623IIqiN+IhIqIAEaXXAgCKKswyR0JERETUdrhd7r5x40asXbsWv/76K3r37g21Wl3v4999953HgiMiIv8lnaQXV9TAahOhVHBGCREREVFruZ2kR0REYMqUKd6IhYiIAoi0gs0mAqWVZucgOSIiIiJqObeT9E8++cQbcRARUYBRKxUI1alQVmWBsaKGSToRERGRB7jdk05ERCSRdqUXcXgcERERkUe4fZKenJzc7G70zMzMVgVERESBIzJYgxOFFZzwTkREROQhbifpDz30UL33zWYzdu/ejZUrV+Lxxx/3VFxERBQAnCfp3JVORERE5BFuJ+lz5sxp9Pa3334bO3bscOux1q9fj1dffRU7d+5Ebm4uvv/+e0yePLnZ+3zxxRdYsGABjh8/jvDwcEyYMAGvvvoqoqKi3HpuIiJqPWl4XCFP0omIiIg8wmM96RMmTMC3337r1n1MJhP69euHt99+26XrN23ahNtvvx133XUXDh48iG+++Qbbtm3DPffc05KQiYiolQyONWzsSSciIiLyDLdP0puyfPlyGAwGt+4zYcIETJgwweXrt2zZgqSkJDz44IMA7P3x9913H1555RW3npeIiDxDmuhuNJlljoSIiIiobXA7SR8wYEC9wXGiKOLs2bPIz8/HO++849Hgzjd06FD8+9//xi+//IIJEyYgLy8Py5cvx8SJE5u8T3V1Naqrq53vl5aWejVGIqL2xBDMnnQiIiIiT3I7ST+/Z1yhUCAmJgajR49Gjx49PBVXo4YPH44vvvgC06dPR1VVFSwWC6655ppmy+Xnz5+PefPmeTUuIqL2qvYknUk6ERERkSe4lKQ/8sgjeP7556HX6zFmzBgMHToUarXa27E1cOjQIcyZMwdPP/00xo8fj9zcXDz++OO4//778dFHHzV6n7lz5+KRRx5xvl9aWoqEhARfhUxE1KZFcbq7T4mi2OwaVCIiIgp8Lg2O+89//oPy8nIAwJgxY1BUVOTVoJoyf/58DB8+HI8//jj69u2L8ePH45133sHHH3+M3NzcRu+j1WoRFhZW742IiDyDJ+m+U1FjweWv/4l/fLFT7lCIiIjIi1w6SU9KSsKiRYswbtw4iKKILVu2IDIystFrR40a5dEA66qoqIBKVT9kpVIJwH66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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training time: 74 seconds\n" + ] + } + ], + "source": [ + "from qiskit.circuit.library import EfficientSU2\n", + "\n", + "ansatz = EfficientSU2(num_qubits=num_features, reps=3)\n", + "optimizer = COBYLA(maxiter=40)\n", + "\n", + "vqc = VQC(\n", + " sampler=sampler,\n", + " feature_map=feature_map,\n", + " ansatz=ansatz,\n", + " optimizer=optimizer,\n", + " callback=callback_graph,\n", + ")\n", + "\n", + "# clear objective value history\n", + "objective_func_vals = []\n", + "\n", + "start = time.time()\n", + "vqc.fit(train_features, train_labels)\n", + "elapsed = time.time() - start\n", + "\n", + "print(f\"Training time: {round(elapsed)} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "painted-reverse", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Quantum VQC on the training dataset using EfficientSU2: 0.78\n", + "Quantum VQC on the test dataset using EfficientSU2: 0.80\n" + ] + } + ], + "source": [ + "train_score_q2_eff = vqc.score(train_features, train_labels)\n", + "test_score_q2_eff = vqc.score(test_features, test_labels)\n", + "\n", + "print(f\"Quantum VQC on the training dataset using EfficientSU2: {train_score_q2_eff:.2f}\")\n", + "print(f\"Quantum VQC on the test dataset using EfficientSU2: {test_score_q2_eff:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "alike-norway", + "metadata": {}, + "source": [ + "The scores are better than in the previous setup. Perhaps if we had used more iterations, we could do even better." + ] + }, + { + "cell_type": "markdown", + "id": "fluid-truck", + "metadata": {}, + "source": [ + "## 5. Conclusion\n", + "\n", + "In this tutorial, we have built two classical and three quantum machine learning models. Let's print an overall table with our results." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "educated-snake", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model | Test Score | Train Score\n", + "SVC, 4 features | 0.99 | 0.97\n", + "VQC, 4 features, RealAmplitudes | 0.85 | 0.87\n", + "----------------------------------------------------------\n", + "SVC, 2 features | 0.97 | 0.90\n", + "VQC, 2 features, RealAmplitudes | 0.58 | 0.63\n", + "VQC, 2 features, EfficientSU2 | 0.78 | 0.80\n" + ] + } + ], + "source": [ + "print(f\"Model | Test Score | Train Score\")\n", + "print(f\"SVC, 4 features | {train_score_c4:10.2f} | {test_score_c4:10.2f}\")\n", + "print(f\"VQC, 4 features, RealAmplitudes | {train_score_q4:10.2f} | {test_score_q4:10.2f}\")\n", + "print(f\"----------------------------------------------------------\")\n", + "print(f\"SVC, 2 features | {train_score_c2:10.2f} | {test_score_c2:10.2f}\")\n", + "print(f\"VQC, 2 features, RealAmplitudes | {train_score_q2_ra:10.2f} | {test_score_q2_ra:10.2f}\")\n", + "print(f\"VQC, 2 features, EfficientSU2 | {train_score_q2_eff:10.2f} | {test_score_q2_eff:10.2f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "moderate-nashville", + "metadata": {}, + "source": [ + "Unsurprisingly, the classical models perform better than their quantum counterparts, but classical ML has come a long way, and quantum ML has yet to reach that level of maturity. As we can see, we achieved the best results using a classical support vector machine. But the quantum model trained on four features was also quite good. When we reduced the number of features, the performance of all models went down as expected. So, if resources permit training a model on a full-featured dataset without any reduction, you should train such a model. If not, you may expect to compromise between dataset size, training time, and score.\n", + "\n", + "Another observation is that even a simple ansatz change can lead to better results. The two-feature model with the `EfficientSU2` ansatz performs better than the one with `RealAmplitudes`. That means the choice of hyperparameters plays the same critical role in quantum ML as in classical ML, and searching for optimal hyperparameters may take a long time. You may apply the same techniques we use in classical ML, such as random/grid or more sophisticated approaches.\n", + "\n", + "We hope this brief tutorial helps you to take the leap from classical to quantum ML." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "median-psychology", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.22.0
qiskit-aer0.11.0
qiskit-ignis0.7.0
qiskit0.33.0
qiskit-machine-learning0.5.0
System information
Python version3.7.9
Python compilerMSC v.1916 64 bit (AMD64)
Python builddefault, Aug 31 2020 17:10:11
OSWindows
CPUs4
Memory (Gb)31.837730407714844
Fri Oct 14 14:33:06 2022 GMT Daylight Time
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2022.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + }, + "vscode": { + "interpreter": { + "hash": "e2eee1ec3b7b75618be3bcd737c6b000914c302a788483aeea47c6724501a27e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/03_quantum_kernel.ipynb.txt b/_sources/tutorials/03_quantum_kernel.ipynb.txt new file mode 100644 index 000000000..5380bfa5f --- /dev/null +++ b/_sources/tutorials/03_quantum_kernel.ipynb.txt @@ -0,0 +1,948 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Quantum Kernel Machine Learning\n", + "\n", + "## Overview\n", + "\n", + "The general task of machine learning is to find and study patterns in data. For many datasets, the datapoints are better understood in a higher dimensional feature space. This is the fundamental principle behind a series of machine learning algorithms known as *kernel methods*.\n", + "\n", + "In this notebook, you will learn how to define quantum kernels using `qiskit-machine-learning` and how these can be plugged into different algorithms to solve classification and clustering problems.\n", + "\n", + "All examples used in this tutorial are based on this reference paper: [_Supervised learning with quantum enhanced feature spaces_](https://arxiv.org/pdf/1804.11326.pdf).\n", + "\n", + "The content is structured as follows:\n", + "\n", + "1. [Introduction](#1.-Introduction)\n", + "2. [Classification](#2.-Classification)\n", + "3. [Clustering](#3.-Clustering)\n", + "4. [Kernel Principal Components Analysis](#4.-Kernel-Principal-Component-Analysis)\n", + "5. [Conclusion](#5.-Conclusion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Introduction\n", + "\n", + "### 1.1. Kernel Methods for Machine Learning\n", + "\n", + "Kernel methods are a collection of pattern analysis algorithms that use kernel functions to operate in a high-dimensional feature space. The best-known application of kernel methods is in **Support Vector Machines (SVMs)**, supervised learning algorithms commonly used for classification tasks. The main goal of SVMs is to find decision boundaries to separate a given set of data points into classes. When these data spaces are not linearly separable, SVMs can benefit from the use of kernels to find these boundaries.\n", + "\n", + "Formally, decision boundaries are hyperplanes in a high dimensional space. The kernel function implicitly maps input data into this higher dimensional space, where it can be easier to solve the initial problem. In other words, kernels may allow data distributions that were originally non-linearly separable to become a linearly separable problem. This is an effect known as the \"kernel trick\".\n", + "\n", + "There are use-cases for kernel-based unsupervised algorithms too, for example, in the context of clustering. **Spectral Clustering** is a technique where data points are treated as nodes of a graph, and the clustering task is viewed as a graph partitioning problem where nodes are mapped to a space where they can be easily segregated to form clusters.\n", + "\n", + "### 1.2. Kernel Functions\n", + "\n", + "Mathematically, kernel functions follow:\n", + "\n", + "$k(\\vec{x}_i, \\vec{x}_j) = \\langle f(\\vec{x}_i), f(\\vec{x}_j) \\rangle$\n", + "\n", + "where \n", + "* $k$ is the kernel function\n", + "* $\\vec{x}_i, \\vec{x}_j$ are $n$ dimensional inputs\n", + "* $f$ is a map from $n$-dimension to $m$-dimension space and \n", + "* $\\langle a,b \\rangle$ denotes the inner product\n", + "\n", + "When considering finite data, a kernel function can be represented as a matrix: \n", + "\n", + "$K_{ij} = k(\\vec{x}_i,\\vec{x}_j)$.\n", + "\n", + "### 1.3. Quantum Kernels\n", + "\n", + "The main idea behind quantum kernel machine learning is to leverage quantum feature maps to perform the kernel trick. In this case, the quantum kernel is created by mapping a classical feature vector $\\vec{x}$ to a Hilbert space using a quantum feature map $\\phi(\\vec{x})$. Mathematically:\n", + "\n", + "$K_{ij} = \\left| \\langle \\phi(\\vec{x}_i)| \\phi(\\vec{x}_j) \\rangle \\right|^{2}$\n", + "\n", + "where \n", + "* $K_{ij}$ is the kernel matrix\n", + "* $\\vec{x}_i, \\vec{x}_j$ are $n$ dimensional inputs\n", + "* $\\phi(\\vec{x})$ is the quantum feature map\n", + "* $\\left| \\langle a|b \\rangle \\right|^{2}$ denotes the overlap of two quantum states $a$ and $b$\n", + "\n", + "Quantum kernels can be plugged into common classical kernel learning algorithms such as SVMs or clustering algorithms, as you will see in the examples below. They can also be leveraged in new quantum kernel methods like [QSVC](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.algorithms.QSVC.html) class provided by `qiskit-machine-learning` which is explored in this tutorial, and other methods as shown in later tutorials on [Pegasos QSVC](07_pegasos_qsvc.ipynb) and [Quantum Kernel Training](08_quantum_kernel_trainer.ipynb).\n", + "\n", + "***\n", + "\n", + "Before introducing any example, we set up the global seed to ensure reproducibility:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit_algorithms.utils import algorithm_globals\n", + "\n", + "algorithm_globals.random_seed = 12345" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Classification\n", + "\n", + "This section illustrates a quantum kernel classification workflow using `qiskit-machine-learning`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1. Defining the dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For this example, we will use the _ad hoc dataset_ as described in the reference [paper](https://arxiv.org/pdf/1804.11326.pdf). \n", + "\n", + "We can define the dataset dimension and get our train and test subsets:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit_machine_learning.datasets import ad_hoc_data\n", + "\n", + "adhoc_dimension = 2\n", + "train_features, train_labels, test_features, test_labels, adhoc_total = ad_hoc_data(\n", + " training_size=20,\n", + " test_size=5,\n", + " n=adhoc_dimension,\n", + " gap=0.3,\n", + " plot_data=False,\n", + " one_hot=False,\n", + " include_sample_total=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This dataset is two-dimensional, the two features are represented by the $x$ and $y$ coordinates, and it has two class labels: A and B. We can plot it and see what the distribution looks like. We define utility functions to plot the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "\n", + "def plot_features(ax, features, labels, class_label, marker, face, edge, label):\n", + " # A train plot\n", + " ax.scatter(\n", + " # x coordinate of labels where class is class_label\n", + " features[np.where(labels[:] == class_label), 0],\n", + " # y coordinate of labels where class is class_label\n", + " features[np.where(labels[:] == class_label), 1],\n", + " marker=marker,\n", + " facecolors=face,\n", + " edgecolors=edge,\n", + " label=label,\n", + " )\n", + "\n", + "\n", + "def plot_dataset(train_features, train_labels, test_features, test_labels, adhoc_total):\n", + "\n", + " plt.figure(figsize=(5, 5))\n", + " plt.ylim(0, 2 * np.pi)\n", + " plt.xlim(0, 2 * np.pi)\n", + " plt.imshow(\n", + " np.asmatrix(adhoc_total).T,\n", + " interpolation=\"nearest\",\n", + " origin=\"lower\",\n", + " cmap=\"RdBu\",\n", + " extent=[0, 2 * np.pi, 0, 2 * np.pi],\n", + " )\n", + "\n", + " # A train plot\n", + " plot_features(plt, train_features, train_labels, 0, \"s\", \"w\", \"b\", \"A train\")\n", + "\n", + " # B train plot\n", + " plot_features(plt, train_features, train_labels, 1, \"o\", \"w\", \"r\", \"B train\")\n", + "\n", + " # A test plot\n", + " plot_features(plt, test_features, test_labels, 0, \"s\", \"b\", \"w\", \"A test\")\n", + "\n", + " # B test plot\n", + " plot_features(plt, test_features, test_labels, 1, \"o\", \"r\", \"w\", \"B test\")\n", + "\n", + " plt.legend(bbox_to_anchor=(1.05, 1), loc=\"upper left\", borderaxespad=0.0)\n", + " plt.title(\"Ad hoc dataset\")\n", + "\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we actually plot the dataset for classification:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAAHBCAYAAADAanlpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABbpklEQVR4nO3de3xT9f0/8NdJ0oaWXqBIbZFC0RYsViwIs8AQnFwKlJvDogMH6vbFfVGHwL5SuqnwA4qbbDr3la8gFx0oVsaltpOLFy5DBEQLFDspEyi6dqAgAWoDST6/P9KGpk2TnCYn5yR5PR+PPGhPTk7e5+TSN5/P+/P5SEIIASIiIiKF6NQOgIiIiEIbkw0iIiJSFJMNIiIiUhSTDSIiIlIUkw0iIiJSFJMNIiIiUhSTDSIiIlIUkw0iIiJSFJMNIiIiUhSTDdKMP//5z5AkCZmZmbIet2bNGkiShFOnTrndb9q0aYiJifEhQuVNmzYNqamprXrsK6+8gjVr1vg1Hl8sXrwYmzdvVjsMItIAJhukGatWrQIAHDt2DPv371c5muDDZIOItIrJBmnCp59+isOHD2P06NEAgJUrV6ocERER+QuTDdKEhuRiyZIlGDBgANavX4/a2tpm+33yyScYOHAg2rRpg06dOiE/Px/Xrl2T9VwnTpzAqFGjEBMTg5SUFMyePRtms9lpn/Pnz+O///u/cdNNNyEyMhI333wzCgoKmu1ns9nw8ssvIysrC1FRUWjXrh2ys7NRXFzsMY41a9agR48eMBqNyMjIwBtvvOFyv/nz5+Ouu+5CQkIC4uLi0KdPH6xcuRKN11BMTU3FsWPHsGvXLkiSBEmSHN0xdXV1mD17NrKyshAfH4+EhAT0798fW7ZsafZc77zzDu666y7Ex8cjOjoaN998Mx555BGnfUwmE+bMmYNu3bohMjISN910E2bOnIkrV6449pEkCVeuXMHrr7/uiGfIkCEerwkRhSaD2gEQ/fDDD3jrrbfQr18/ZGZm4pFHHsEvfvELvPPOO5g6dapjvy+++AL33nsvUlNTsWbNGkRHR+OVV17Bm2++6fVzXbt2DWPHjsWjjz6K2bNnY/fu3fh//+//IT4+Hs888wwA+x/ne+65B//6178wf/589OrVC3v27EFhYSHKyspQWlrqON60adOwdu1aPProo1iwYAEiIyPx2WefeawfWbNmDR5++GGMGzcOS5cuxcWLF/Hcc8/BbDZDp3P+P8CpU6cwffp0dOnSBYA94XriiSfwzTffOGLetGkTJk6ciPj4eLzyyisAAKPRCAAwm804f/485syZg5tuuglXr17F+++/j/vuuw+rV6/Gz3/+cwDAvn37MGnSJEyaNAnPPfcc2rRpg9OnT+PDDz90xFJbW4vBgwfj66+/xrx589CrVy8cO3YMzzzzDI4ePYr3338fkiRh3759+MlPfoJ77rkHv/vd7wAAcXFxXr9ORBRiBJHK3njjDQFA/N///Z8QQohLly6JmJgYMWjQIKf9Jk2aJKKiokRNTY1jm8ViEbfeeqsAIE6ePOn2eaZOnSoAiKKiIqfto0aNEj169HD8/n//938u93v++ecFALF9+3YhhBC7d+8WAERBQYGs87VaraJTp06iT58+wmazObafOnVKREREiK5du7p97LVr18SCBQtEhw4dnB5/2223icGDB3t8fovFIq5duyYeffRR0bt3b8f2F154QQAQ33//fYuPLSwsFDqdThw8eNBp+4YNGwQA8fe//92xrW3btmLq1Kke4yGi0MduFFLdypUrERUVhQceeAAAEBMTg/vvvx979uxBZWWlY7+PPvoI9957L2688UbHNr1ej0mTJnn9XJIkYcyYMU7bevXqhdOnTzt+//DDD9G2bVtMnDjRab9p06YBAD744AMAwHvvvQcAmDFjhtfPDwBffvkl/v3vf+NnP/sZJElybO/atSsGDBjQbP8PP/wQQ4cORXx8PPR6PSIiIvDMM8/gu+++w9mzZ716znfeeQcDBw5ETEwMDAYDIiIisHLlSlRUVDj26devHwAgLy8PRUVF+Oabb5odp6SkBJmZmcjKyoLFYnHcRowYAUmSsHPnTlnXgojCA5MNUtWJEyewe/dujB49GkIIfP/99/j+++8df+gbRqgAwHfffYekpKRmx3C1rSXR0dFo06aN0zaj0Yi6urpmz9M4EQCAxMREGAwGfPfddwCAc+fOQa/Xy3r+huO3FHfTbQcOHMDw4cMBACtWrMDevXtx8OBBFBQUALB3QXmyceNG5OXl4aabbsLatWuxb98+HDx4EI888ojTed99993YvHkzLBYLfv7zn6Nz587IzMzEW2+95djnP//5D44cOYKIiAinW2xsLIQQ+Pbbb2VdCyIKD6zZIFWtWrUK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WRZqMR3n0D5nGLBvH3DpErBvH9qPGIrpOIcs1KodIhERhTDZycYf//hHPProo/jFL36BjIwMvPjii0hJScGyZcuUiI98ZbUiz2ACcnMhbdnitLaDVFwMjB6NPIMJEjhPABERKUNWN8rVq1dx6NAhzJ0712n78OHD8fHHH7t8jNlshtl8ven+4sWLAIBLly7JjdV1TFCuQMtkMrm9X1jdD3lz93hPj/VVw3Pr9u6F0WLGpZkzgcuXm+84cyYMpaVIwQ84gTZ+e94GSp6np9cnVPjzPe7re1ormp6Hlr8HlHxuX/h6zVobW8N3PydCCzNChm+++UYAEHv37nXavmjRItG9e3eXj3n22WcFAN5444033nhz3M6cOSPnzw8FuVYViDZdB0AI0eLaAPn5+Zg1a5bj9++//x5du3ZFVVUV4uPjW/P0QcdkMiElJQVnzpxBXFyc2uEEBM85PM4ZCM/z5jm3/pyFELh06RI6derkx+hI62QlGzfccAP0ej1qamqctp89exY33nijy8cYjUYYjcZm2+Pj48PmQ9ogLi6O5xwGwvGcgfA8b55z64TLfzTpOlkFopGRkbjzzjuxY8cOp+07duzAgAED/BoYERERhQbZ3SizZs3CQw89hL59+6J///5Yvnw5qqqq8NhjjykRHxEREQU52cnGpEmT8N1332HBggWorq5GZmYm/v73v6Nr165ePd5oNOLZZ5912bUSqnjO4SEczxkIz/PmORPJIwnB8UdERESkHC7ERkRERIpiskFERESKYrJBREREimKyQURERIoKaLLxyiuvoFu3bmjTpg3uvPNO7NmzJ5BPH3C7d+/GmDFj0KlTJ0iShM2bN6sdkuIKCwvRr18/xMbGIjExEePHj8eXX36pdliKWrZsGXr16uWY7Kh///5477331A4roAoLCyFJEmbOnKl2KIp67rnnIEmS0y0pKUntsBT3zTffYMqUKejQoQOio6ORlZWFQ4cOqR0WBZGAJRvhuDT9lStXcMcdd+Avf/mL2qEEzK5duzBjxgx88skn2LFjBywWC4YPH44rV66oHZpiOnfujCVLluDTTz/Fp59+ip/85CcYN24cjh07pnZoAXHw4EEsX74cvXr1UjuUgLjttttQXV3tuB09elTtkBR14cIFDBw4EBEREXjvvffwxRdfYOnSpWjXrp3aoVEwCdQiLD/60Y/EY4895rTt1ltvFXPnzg1UCKoCIDZt2qR2GAF39uxZAUDs2rVL7VACqn379uK1115TOwzFXbp0SaSnp4sdO3aIwYMHi1//+tdqh6SoZ599Vtxxxx1qhxFQTz/9tPjxj3+sdhgU5ALSstGwNP3w4cOdtrtbmp5Cw8WLFwEACQkJKkcSGFarFevXr8eVK1fQv39/tcNR3IwZMzB69GgMHTpU7VACprKyEp06dUK3bt3wwAMP4KuvvlI7JEUVFxejb9++uP/++5GYmIjevXtjxYoVaodFQSYgyca3334Lq9XabLG2G2+8sdmibhQ6hBCYNWsWfvzjHyMzM1PtcBR19OhRxMTEwGg04rHHHsOmTZvQs2dPtcNS1Pr16/HZZ5+hsLBQ7VAC5q677sIbb7yBbdu2YcWKFaipqcGAAQPw3XffqR2aYr766issW7YM6enp2LZtGx577DE8+eSTeOONN9QOjYJIq5aYby05S9NT8Hv88cdx5MgR/OMf/1A7FMX16NEDZWVl+P777/G3v/0NU6dOxa5du0I24Thz5gx+/etfY/v27WjTpo3a4QTMyJEjHT/ffvvt6N+/P2655Ra8/vrrmDVrloqRKcdms6Fv375YvHgxAKB37944duwYli1bhp///OcqR0fBIiAtG61Zmp6C2xNPPIHi4mJ89NFH6Ny5s9rhKC4yMhJpaWno27cvCgsLcccdd+Cll15SOyzFHDp0CGfPnsWdd94Jg8EAg8GAXbt24c9//jMMBgOsVqvaIQZE27Ztcfvtt6OyslLtUBSTnJzcLGnOyMgI6eJ+8r+AJBtcmj58CCHw+OOPY+PGjfjwww/RrVs3tUNShRACZrNZ7TAUc++99+Lo0aMoKytz3Pr27YvJkyejrKwMer1e7RADwmw2o6KiAsnJyWqHopiBAwc2G75+/PhxrxffJAIC2I0SjkvTX758GSdOnHD8fvLkSZSVlSEhIQFdunRRMTLlzJgxA2+++Sa2bNmC2NhYR2tWfHw8oqKiVI5OGfPmzcPIkSORkpKCS5cuYf369di5cye2bt2qdmiKiY2NbVaH07ZtW3To0CGk63PmzJmDMWPGoEuXLjh79iwWLlwIk8mEqVOnqh2aYp566ikMGDAAixcvRl5eHg4cOIDly5dj+fLlaodGwSSQQ1/+93//V3Tt2lVERkaKPn36hPxwyI8++kgAaHabOnWq2qEpxtX5AhCrV69WOzTFPPLII473dceOHcW9994rtm/frnZYARcOQ18nTZokkpOTRUREhOjUqZO47777xLFjx9QOS3HvvvuuyMzMFEajUdx6661i+fLlaodEQYZLzBMREZGiuDYKERERKYrJBhERESmKyQYREREpiskGERERKYrJBhERESmKyQYREREpiskGERERKYrJBhERESmKyQYREREpiskGERERKYrJBhERESmKyQYREREp6v8DsWk1Aw2l3c4AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_dataset(train_features, train_labels, test_features, test_labels, adhoc_total)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2. Defining the quantum kernel\n", + "\n", + "The next step is to create a quantum kernel instance that will help classify this data. \n", + "\n", + "We use the [FidelityQuantumKernel](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.kernels.FidelityQuantumKernel.html) class, and pass two input arguments to its constructor: \n", + "\n", + "1. `feature_map`: in this case, a two-qubit [ZZFeatureMap](https://qiskit.org/documentation/stubs/qiskit.circuit.library.ZZFeatureMap.html).\n", + "\n", + "2. `fidelity`: in this case, the [ComputeUncompute](https://qiskit.org/ecosystem/algorithms/stubs/qiskit_algorithms.state_fidelities.ComputeUncompute.html) fidelity subroutine that leverages the [Sampler](https://qiskit.org/documentation/stubs/qiskit.primitives.Sampler.html) primitive.\n", + "\n", + "**NOTE:** If you don't pass a `Sampler` or `Fidelity` instance, then the instances of the reference `Sampler` and `ComputeUncompute` classes (found in `qiskit.primitives`) will be created by default." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.circuit.library import ZZFeatureMap\n", + "from qiskit.primitives import Sampler\n", + "from qiskit_algorithms.state_fidelities import ComputeUncompute\n", + "from qiskit_machine_learning.kernels import FidelityQuantumKernel\n", + "\n", + "adhoc_feature_map = ZZFeatureMap(feature_dimension=adhoc_dimension, reps=2, entanglement=\"linear\")\n", + "\n", + "sampler = Sampler()\n", + "\n", + "fidelity = ComputeUncompute(sampler=sampler)\n", + "\n", + "adhoc_kernel = FidelityQuantumKernel(fidelity=fidelity, feature_map=adhoc_feature_map)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3. Classification with SVC\n", + "The quantum kernel can now be plugged into classical kernel methods, such as the [SVC](https://scikit-learn.org/stable/modules/svm.html) algorithm from `scikit-learn`. This algorithm allows us to define a [custom kernel](https://scikit-learn.org/stable/modules/svm.html#custom-kernels) in two ways:\n", + "\n", + "1. by providing the kernel as a **callable function**\n", + "2. by precomputing the **kernel matrix**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Kernel as a callable function\n", + "\n", + "We define a SVC model and directly pass the `evaluate` function of the quantum kernel as a callable. Once the model is created, we train it by calling the `fit` method on the training dataset and evaluate the model for accuracy with `score`." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Callable kernel classification test score: 1.0\n" + ] + } + ], + "source": [ + "from sklearn.svm import SVC\n", + "\n", + "adhoc_svc = SVC(kernel=adhoc_kernel.evaluate)\n", + "\n", + "adhoc_svc.fit(train_features, train_labels)\n", + "\n", + "adhoc_score_callable_function = adhoc_svc.score(test_features, test_labels)\n", + "\n", + "print(f\"Callable kernel classification test score: {adhoc_score_callable_function}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Precomputed kernel matrix\n", + "\n", + "Instead of passing a function of the quantum kernel as a callable, we can also precompute training and testing kernel matrices before passing them to the `scikit-learn` `SVC` algorithm. \n", + "\n", + "To extract the train and test matrices, we can call `evaluate` on the previously defined kernel and visualize them graphically as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "adhoc_matrix_train = adhoc_kernel.evaluate(x_vec=train_features)\n", + "adhoc_matrix_test = adhoc_kernel.evaluate(x_vec=test_features, y_vec=train_features)\n", + "\n", + "fig, axs = plt.subplots(1, 2, figsize=(10, 5))\n", + "\n", + "axs[0].imshow(\n", + " np.asmatrix(adhoc_matrix_train), interpolation=\"nearest\", origin=\"upper\", cmap=\"Blues\"\n", + ")\n", + "axs[0].set_title(\"Ad hoc training kernel matrix\")\n", + "\n", + "axs[1].imshow(np.asmatrix(adhoc_matrix_test), interpolation=\"nearest\", origin=\"upper\", cmap=\"Reds\")\n", + "axs[1].set_title(\"Ad hoc testing kernel matrix\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To use these matrices, we set the `kernel` parameter of a new `SVC` instance to `\"precomputed\"`. We train the classifier by calling `fit` with the training matrix and training dataset. Once the model is trained, we evaluate it using the test matrix on the test dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Precomputed kernel classification test score: 1.0\n" + ] + } + ], + "source": [ + "adhoc_svc = SVC(kernel=\"precomputed\")\n", + "\n", + "adhoc_svc.fit(adhoc_matrix_train, train_labels)\n", + "\n", + "adhoc_score_precomputed_kernel = adhoc_svc.score(adhoc_matrix_test, test_labels)\n", + "\n", + "print(f\"Precomputed kernel classification test score: {adhoc_score_precomputed_kernel}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4. Classification with QSVC\n", + "\n", + "`QSVC` is an alternative training algorithm provided by `qiskit-machine-learning` for convenience. It is an extension of `SVC` that takes in a quantum kernel instead of the `kernel.evaluate` method shown before." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "QSVC classification test score: 1.0\n" + ] + } + ], + "source": [ + "from qiskit_machine_learning.algorithms import QSVC\n", + "\n", + "qsvc = QSVC(quantum_kernel=adhoc_kernel)\n", + "\n", + "qsvc.fit(train_features, train_labels)\n", + "\n", + "qsvc_score = qsvc.score(test_features, test_labels)\n", + "\n", + "print(f\"QSVC classification test score: {qsvc_score}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.5. Evaluation of models used for classification" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Classification Model | Accuracy Score\n", + "---------------------------------------------------------\n", + "SVC using kernel as a callable function | 1.00\n", + "SVC using precomputed kernel matrix | 1.00\n", + "QSVC | 1.00\n" + ] + } + ], + "source": [ + "print(f\"Classification Model | Accuracy Score\")\n", + "print(f\"---------------------------------------------------------\")\n", + "print(f\"SVC using kernel as a callable function | {adhoc_score_callable_function:10.2f}\")\n", + "print(f\"SVC using precomputed kernel matrix | {adhoc_score_precomputed_kernel:10.2f}\")\n", + "print(f\"QSVC | {qsvc_score:10.2f}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As the classification dataset is small, we find that the three models achieve 100% accuracy." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Clustering\n", + "\n", + "The second workflow in this tutorial focuses on a clustering task using `qiskit-machine-learning` and the spectral clustering algorithm from `scikit-learn`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1. Defining the dataset\n", + "\n", + "We will once again use the _ad hoc dataset_, but now generated with a higher gap of `0.6` (previous example: `0.3`) between the two classes. \n", + "\n", + "Note that clustering falls under the category of unsupervised machine learning, so a test dataset is not required." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "adhoc_dimension = 2\n", + "train_features, train_labels, test_features, test_labels, adhoc_total = ad_hoc_data(\n", + " training_size=25,\n", + " test_size=0,\n", + " n=adhoc_dimension,\n", + " gap=0.6,\n", + " plot_data=False,\n", + " one_hot=False,\n", + " include_sample_total=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " We plot the clustering dataset below:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfYAAAHBCAYAAACblJmpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKgUlEQVR4nO3dfVxUZd4/8M+BgVGUYYU0MBUs0CgkNSuETSvNNFCp26wtS3vYtc3aTWt/iXSXFjo9b7t3adma5q1m9oQmm5ml1hqWWoSad0LlQwlqPjCoMToz1++PYUYGBmYOM2fOmTOf9+vFC+Zw5sw1M2f4cq7vdX0vSQghQERERLoQpXYDiIiIKHgY2ImIiHSEgZ2IiEhHGNiJiIh0hIGdiIhIRxjYiYiIdISBnYiISEcY2ImIiHSEgZ2IiEhHGNjDwD//+U9IkoSsrCxZ91u0aBEkScKePXva3G/SpEno3LlzAC1U3qRJk5CWltau+86dOxeLFi0KansCMWfOHJSWlvq9/549e5Cfn4/ExERIkoQHH3xQsbb566qrrsJVV12l2PGVfs8kScLMmTMVOz6RmgxqN4B8e/311wEAO3fuxJdffokrrrhC5RaFl7lz5+Kcc87BpEmT1G4KAGdgHzduHAoLC/3af+rUqfjyyy/x+uuvIzk5GSkpKco2UAOUfs/Ky8vRo0cPRY5NpDZesWvc1q1b8e233yI/Px8AsGDBApVbRKG2Y8cOXH755SgsLEROTg5SU1MDOp7dbofVag1S68KHEAK//fYbACAnJ4eBnXSLgV3jXIH8qaeeQm5uLpYvX45Tp0612G/z5s3Iy8tDhw4d0L17dxQVFeHMmTOyHqu6uhrXX389OnfujJ49e+Khhx5qEQCOHj2K++67D+eddx5iY2Nx/vnno7i4uMV+DocD//M//4P+/fujY8eO+N3vfoecnBysWrXKZzsWLVqEvn37wmg0IjMzE4sXL/a636xZs3DFFVcgMTERJpMJAwcOxIIFC9B0XaO0tDTs3LkTGzduhCRJkCTJ3aXf0NCAhx56CP3790dCQgISExMxePBgrFy5ssVjvf3227jiiiuQkJCAuLg4nH/++bjrrrs89rFYLHj44YfRu3dvxMbG4rzzzsODDz6IkydPuveRJAknT57EG2+84W5Pa13aGzZsgCRJqK6uxocffuje35Va2bdvHyZMmIBu3bq5X6vnn38eDofDfYw9e/ZAkiQ888wzKCkpQe/evWE0GrF+/fpWX//2vHeutm7YsMFju+vxm3ar//jjj7jlllvQvXt3GI1GnHvuuRg2bBgqKioAtP2e+fs6u17r+++/H6+88goyMzNhNBrxxhtvuH/XtCvelbZav349/vznP+Occ85BUlISbrzxRhw4cMDjuFarFQ899BCSk5MRFxeHIUOGYNu2bUhLS9NMrxBFNnbFa9hvv/2GN998E5dddhmysrJw11134Z577sHbb7+NiRMnuvf77rvvMGzYMKSlpWHRokWIi4vD3LlzsWzZMr8f68yZMxgzZgzuvvtuPPTQQ/jss8/w5JNPIiEhAY899hgAZyC8+uqr8cMPP2DWrFnIzs7G559/DrPZjIqKCpSVlbmPN2nSJCxZsgR33303nnjiCcTGxuLrr7/2me9ftGgR7rzzTowdOxbPP/886urqMHPmTFitVkRFef4fumfPHkyePBm9evUC4Pzn5oEHHsAvv/zibvP777+PcePGISEhAXPnzgUAGI1GAM4/0EePHsXDDz+M8847D6dPn8a6detw4403YuHChbjjjjsAOLttb775Ztx8882YOXMmOnTogL179+LTTz91t+XUqVMYOnQofv75Z8yYMQPZ2dnYuXMnHnvsMWzfvh3r1q2DJEkoLy/HNddcg6uvvhr//d//DQAwmUxeX4uBAweivLwcN9xwAy644AI899xzAICUlBQcPnwYubm5OH36NJ588kmkpaVh9erVePjhh/HDDz+4n6vLP//5T/Tp0wfPPfccTCYTMjIyWn0P2vve+ev666+H3W7HM888g169euHXX3/FF198gePHjwNo+z3z93V2KS0txeeff47HHnsMycnJ6NatW5ttu+eee5Cfn49ly5Zh//79+Nvf/oYJEyZ4vNd33nkn3nrrLfy///f/cM011+C7777DDTfcAIvFEpTXhyhggjRr8eLFAoB45ZVXhBBC1NfXi86dO4srr7zSY7+bb75ZdOzYUdTW1rq32Ww2ceGFFwoA4qeffmrzcSZOnCgAiBUrVnhsv/7660Xfvn3dt1955RWv+z399NMCgFi7dq0QQojPPvtMABDFxcWynq/dbhfdu3cXAwcOFA6Hw719z549IiYmRqSmprZ53zNnzognnnhCJCUledz/4osvFkOHDvX5+Dab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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(5, 5))\n", + "plt.ylim(0, 2 * np.pi)\n", + "plt.xlim(0, 2 * np.pi)\n", + "plt.imshow(\n", + " np.asmatrix(adhoc_total).T,\n", + " interpolation=\"nearest\",\n", + " origin=\"lower\",\n", + " cmap=\"RdBu\",\n", + " extent=[0, 2 * np.pi, 0, 2 * np.pi],\n", + ")\n", + "\n", + "# A label plot\n", + "plot_features(plt, train_features, train_labels, 0, \"s\", \"w\", \"b\", \"B\")\n", + "\n", + "# B label plot\n", + "plot_features(plt, train_features, train_labels, 1, \"o\", \"w\", \"r\", \"B\")\n", + "\n", + "plt.legend(bbox_to_anchor=(1.05, 1), loc=\"upper left\", borderaxespad=0.0)\n", + "plt.title(\"Ad hoc dataset for clustering\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2. Defining the Quantum Kernel\n", + "We use an identical setup as in the classification example. We create another instance of the `FidelityQuantumKernel` class with a `ZZFeatureMap`, but you might notice that in this case we do not provide a `fidelity` instance. This is because the `ComputeUncompute` method provided in the previous case is instantiated by default when the fidelity instance is not provided explicitly. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "adhoc_feature_map = ZZFeatureMap(feature_dimension=adhoc_dimension, reps=2, entanglement=\"linear\")\n", + "\n", + "adhoc_kernel = FidelityQuantumKernel(feature_map=adhoc_feature_map)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.3. Clustering with the Spectral Clustering Model\n", + "\n", + "The `scikit-learn` spectral clustering algorithm allows us to define a custom kernel in two ways (just like `SVC`):\n", + "\n", + "1. by providing the kernel as a **callable function**\n", + "2. by precomputing the **kernel matrix**. \n", + "\n", + "With the current `FidelityQuantumKernel` class in `qiskit-machine-learning`, we can only use the latter option, so we precompute the kernel matrix by calling `evaluate` and visualize it as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAHBCAYAAAAIMO5OAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYQklEQVR4nO3daXiTZfo+/jNNmnTfoS2UlgJlp+yrIJuAbMogo46O4qh/ZcAF0dFBRi3zVQo4w4DCiKggjgsqA4obsoigIlo22VH2CrRlaZt0TZPc/xf+mqG29/VQFumj5+c4+oKcvZInT5LeTbmvXBallAIREZHJBFzpAyAiIroQXMCIiMiUuIAREZEpcQEjIiJT4gJGRESmxAWMiIhMiQsYERGZEhcwIiIyJS5gRERkSlzA6rDnnnsOFosFbdu2rVXdq6++CovFgiNHjojfd8cddyAsLOwijvCXdb7360Jt3LgRGRkZKCgouCzXf8cdd6Bx48aX5bqN9OvXr9bPo7qicePGuOOOO670Yfhd6POkrt2PXwMuYHXYwoULAQC7d+/GN998c4WP5tdv48aNmDp16mVbwJ544gksX778slw3/XIu9HmyfPlyPPHEE5fnoH6juIDVUZs3b8Z3332H4cOHAwBeeeWVK3xEdKFKSkoAAE2bNkXHjh2v8NFcHqWlpeDHqtastLQUANCxY0c0bdr0Ch/NrwsXsDqqcsGaPn06evXqhSVLlvh/EJ5r06ZNuOqqqxAUFIQGDRpg8uTJqKioqNVtHThwAMOGDUNYWBgaNWqEhx9+GOXl5VW+5+zZsxg/fjwaNmwIu92OJk2aYMqUKdW+z+fz4fnnn0eHDh0QHByMqKgo9OjRAytWrDA8jm+++QYjR45EbGwsgoKC0LRpU0ycOFGs0f1Zpl+/fujXr1+V43r66afRokUL/3Glp6djzpw5AICMjAz85S9/AQCkpqbCYrHAYrHg888/91/H22+/jZ49eyI0NBRhYWEYMmQItm3bVuV2K/8su3PnTgwePBjh4eEYOHCgP/v5nxAtFgvuu+8+/Oc//0GrVq0QEhKC9u3b48MPP6x2n95//32kp6fD4XCgSZMmmDNnDjIyMmCxWMRzpLN8+XKEhITg7rvvhsfjAfDTL07XXXcdYmJiEBQUhI4dO+Kdd96pUlf5p9xVq1bhzjvvRL169RASEoLy8nL/nyqzsrLQp08fhISEoEmTJpg+fTp8Pl+V63E6nXjkkUeQmpoKu92Ohg0bYuLEiSguLr6g+1N5LhctWuR/nLt06YJNmzZBKYVnn30WqampCAsLw4ABA3DgwIEq9atXr8b111+PpKQkBAUFoVmzZrj33ntx+vRp//cYPU8aN26MESNGYNmyZejYsSOCgoIwdepUf3buc3XcuHEICgrCli1b/Jf5fD4MHDgQ8fHxOHny5AWdh98URXVOSUmJioyMVF27dlVKKfXyyy8rAOrVV1+t8n27d+9WISEhqnXr1uqtt95S77//vhoyZIhKTk5WANThw4fF2xk7dqyy2+2qVatW6h//+Idas2aNevLJJ5XFYlFTp071f19paalKT09XoaGh6h//+IdatWqVeuKJJ5TNZlPDhg2rcp233Xabslgs6u6771bvv/+++uSTT9Qzzzyj5syZIx7LypUrVWBgoEpPT1evvvqq+uyzz9TChQvVzTff7P+eRYsWVbtfKSkpauzYsdWur2/fvqpv377+f2dmZiqr1aqeeuoptXbtWrVy5Uo1e/ZslZGRoZRSKjs7W91///0KgFq2bJn6+uuv1ddff60KCwuVUko988wzymKxqDvvvFN9+OGHatmyZapnz54qNDRU7d69u8o5DQwMVI0bN1aZmZlq7dq16tNPP/VnKSkpVY4TgGrcuLHq1q2beuedd9THH3+s+vXrp2w2mzp48KD/+z755BMVEBCg+vXrp5YvX67effdd1b17d9W4cWN1Pi/jvn37qjZt2vj/PWvWLGW1WtX//d//+S/77LPPlN1uV3369FFvv/22WrlypbrjjjsUALVo0aJqj0PDhg3VPffcoz755BO1dOlS5fF4VN++fVVsbKxKS0tT8+fPV6tXr1bjx49XANTixYv911FcXKw6dOig4uLi1KxZs9SaNWvUnDlzVGRkpBowYIDy+XyGj/HPAVApKSmqV69eatmyZWr58uWqefPmKiYmRj300EPq+uuvVx9++KF64403VHx8vEpPT69yOy+88ILKzMxUK1asUOvXr1eLFy9W7du3Vy1atFBut1spZfw8SUlJUYmJiapJkyZq4cKFat26derbb7+t8X6UlpaqDh06qCZNmqj8/HyllFJPPvmkCggIUKtWrTK8v6QUF7A66LXXXlMA1Pz585VSSrlcLhUWFqb69OlT5ftu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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "adhoc_matrix = adhoc_kernel.evaluate(x_vec=train_features)\n", + "\n", + "plt.figure(figsize=(5, 5))\n", + "plt.imshow(np.asmatrix(adhoc_matrix), interpolation=\"nearest\", origin=\"upper\", cmap=\"Greens\")\n", + "plt.title(\"Ad hoc clustering kernel matrix\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we define a spectral clustering model and fit it using the precomputed kernel. Further, we score the labels using normalized mutual information, since we know the class labels a priori (before hand)." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Clustering score: 0.7287008798015754\n" + ] + } + ], + "source": [ + "from sklearn.cluster import SpectralClustering\n", + "from sklearn.metrics import normalized_mutual_info_score\n", + "\n", + "adhoc_spectral = SpectralClustering(2, affinity=\"precomputed\")\n", + "\n", + "cluster_labels = adhoc_spectral.fit_predict(adhoc_matrix)\n", + "\n", + "cluster_score = normalized_mutual_info_score(cluster_labels, train_labels)\n", + "\n", + "print(f\"Clustering score: {cluster_score}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Kernel Principal Component Analysis\n", + "\n", + "This section focuses on a Principal Component Analysis task using a kernel PCA algorithm. We calculate a kernel matrix using a `ZZFeatureMap` and show that this approach translates the original features into a new space, where axes are chosen along principal components. In this space the classification task can be performed with a simpler model rather than an SVM." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.1. Defining the dataset\n", + "\n", + "We again use the _ad hoc dataset_ with a gap of `0.6` between the two classes. This dataset resembles the dataset we had in the clustering section, the difference is that in this case `test_size` is not zero." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "adhoc_dimension = 2\n", + "train_features, train_labels, test_features, test_labels, adhoc_total = ad_hoc_data(\n", + " training_size=25,\n", + " test_size=10,\n", + " n=adhoc_dimension,\n", + " gap=0.6,\n", + " plot_data=False,\n", + " one_hot=False,\n", + " include_sample_total=True,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We plot the training and test datasets below. Our ultimate goal in this section is to construct new coordinates where the two classes can be linearly separated." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAAHBCAYAAADAanlpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABfs0lEQVR4nO3de1yUZd4/8M89AzOCHAKToESxQKOQ0KxQ1tTNFBUVW6ODtlrtPtZaban7K2SfTqtQz2Zb7T66ZZq1WkamSLCJdvCwhodKPC2PQqm4BalpjkIMzsz1+2NgZIZhDjD33HP4vF8vXjD3XHPPNcMNfLmu7/W9JCGEABEREZFMVEp3gIiIiAIbgw0iIiKSFYMNIiIikhWDDSIiIpIVgw0iIiKSFYMNIiIikhWDDSIiIpIVgw0iIiKSFYMNIiIikhWDDfIZr732GiRJQlpamluPW7lyJSRJwrFjxxy2mzVrFiIiIrrRQ/nNmjULSUlJXXrskiVLsHLlSo/2pzsKCwtRUlKidDeIyAcw2CCfsWLFCgDAoUOHsGvXLoV7438YbBCRr2KwQT7hyy+/xL59+zBx4kQAwPLlyxXuEREReQqDDfIJbcHFCy+8gOHDh2PNmjVoamrq0G7nzp3IyspCjx49cOWVVyI/Px8XL15067lqa2sxYcIEREREIDExEfPmzYNer7dqc+bMGfzud7/DVVddBY1Gg6uvvhoFBQUd2plMJvz1r39FRkYGwsLCcNlllyEzMxOlpaVO+7Fy5UoMHDgQWq0WqampeOedd+y2e+6553DLLbcgNjYWUVFRGDJkCJYvX472eygmJSXh0KFD2Lp1KyRJgiRJlumY5uZmzJs3DxkZGYiOjkZsbCyGDRuGDRs2dHiuDz74ALfccguio6MRHh6Oq6++Gg888IBVG51Oh/nz56N///7QaDS46qqr8Pjjj6OxsdHSRpIkNDY24u2337b0Z9SoUU7fEyIKTCFKd4Do559/xnvvvYebbroJaWlpeOCBB/Cb3/wGH3zwAWbOnGlp9+9//xu33XYbkpKSsHLlSoSHh2PJkiV49913XX6uixcvYvLkyXjwwQcxb948bNu2DX/6058QHR2Np59+GoD5j/Po0aPxzTff4LnnnkN6ejq2b9+OoqIiVFVVoby83HK+WbNmYdWqVXjwwQfx/PPPQ6PR4Ouvv3aaP7Jy5Urcf//9mDJlChYvXoxz587h2WefhV6vh0pl/T/AsWPHMHv2bPTt2xeAOeB69NFH8d1331n6vH79ekybNg3R0dFYsmQJAECr1QIA9Ho9zpw5g/nz5+Oqq65CS0sLPvnkE9xxxx1466238Otf/xoAUFlZibvuugt33XUXnn32WfTo0QPHjx/HZ599ZulLU1MTRo4cif/85z9YsGAB0tPTcejQITz99NM4cOAAPvnkE0iShMrKSvzyl7/E6NGj8d///d8AgKioKJe/T0QUYASRwt555x0BQPz9738XQghx/vx5ERERIUaMGGHV7q677hJhYWGioaHBcsxgMIhrr71WABBHjx51+DwzZ84UAERxcbHV8QkTJoiBAwdabv/973+32+7FF18UAMSmTZuEEEJs27ZNABAFBQVuvV6j0SiuvPJKMWTIEGEymSzHjx07JkJDQ0W/fv0cPvbixYvi+eefF7169bJ6/PXXXy9Gjhzp9PkNBoO4ePGiePDBB8XgwYMtx1966SUBQPz000+dPraoqEioVCqxZ88eq+Nr164VAMQ///lPy7GePXuKmTNnOu0PEQU+TqOQ4pYvX46wsDDcfffdAICIiAjceeed2L59O2pqaiztPv/8c9x222244oorLMfUajXuuusul59LkiRMmjTJ6lh6ejqOHz9uuf3ZZ5+hZ8+emDZtmlW7WbNmAQA+/fRTAMDHH38MAJgzZ47Lzw8Ahw8fxvfff497770XkiRZjvfr1w/Dhw/v0P6zzz7DmDFjEB0dDbVajdDQUDz99NP48ccfcfLkSZee84MPPkBWVhYiIiIQEhKC0NBQLF++HNXV1ZY2N910EwAgLy8PxcXF+O677zqcp6ysDGlpacjIyIDBYLB8jBs3DpIkYcuWLW69F0QUHBhskKJqa2uxbds2TJw4EUII/PTTT/jpp58sf+jbVqgAwI8//oj4+PgO57B3rDPh4eHo0aOH1TGtVovm5uYOz9M+EACAuLg4hISE4McffwQAnDp1Cmq12q3nbzt/Z/22PbZ7926MHTsWALBs2TLs2LEDe/bsQUFBAQDzFJQz69atQ15eHq666iqsWrUKlZWV2LNnDx544AGr133rrbeipKQEBoMBv/71r9GnTx+kpaXhvffes7T54YcfsH//foSGhlp9REZGQgiB06dPu/VeEFFwYM4GKWrFihUQQmDt2rVY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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_dataset(train_features, train_labels, test_features, test_labels, adhoc_total)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2. Defining the Quantum Kernel\n", + "\n", + "We proceed with the same kernel setup as it was in the classification task, namely a `ZZFeatureMap` circuit as a feature map and an instance of `FidelityQuantumKernel`." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "feature_map = ZZFeatureMap(feature_dimension=2, reps=2, entanglement=\"linear\")\n", + "qpca_kernel = FidelityQuantumKernel(fidelity=fidelity, feature_map=feature_map)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we evaluate kernel matrices for the training and test features." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "matrix_train = qpca_kernel.evaluate(x_vec=train_features)\n", + "matrix_test = qpca_kernel.evaluate(x_vec=test_features, y_vec=train_features)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3. Comparison of Kernel PCA on gaussian and quantum kernel\n", + "\n", + "In this section we use the `KernelPCA` implementation from `scikit-learn`, with the `kernel` parameter set to \"rbf\" for a gaussian kernel and \"precomputed\" for a quantum kernel. The former is very popular in classical machine learning models, whereas the latter allows using a quantum kernel defined as `qpca_kernel`.\n", + "\n", + "One can observe that the gaussian kernel based Kernel PCA model fails to make the dataset linearly separable, while the quantum kernel succeeds.\n", + "\n", + "While usually PCA is used to reduce the number of features in a dataset, or in other words to reduce dimensionality of a dataset, we don't do that here. Rather we keep the number of dimensions and employ the kernel PCA, mostly for visualization purposes, to show that classification on the transformed dataset becomes easily tractable by linear methods, like logistic regression. We use this method to separate two classes in the principal component space with a `LogisticRegression` model from `scikit-learn`. As usual we train it by calling the `fit` method on the training dataset and evaluate the model for accuracy with `score`." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.decomposition import KernelPCA\n", + "\n", + "kernel_pca_rbf = KernelPCA(n_components=2, kernel=\"rbf\")\n", + "kernel_pca_rbf.fit(train_features)\n", + "train_features_rbf = kernel_pca_rbf.transform(train_features)\n", + "test_features_rbf = kernel_pca_rbf.transform(test_features)\n", + "\n", + "kernel_pca_q = KernelPCA(n_components=2, kernel=\"precomputed\")\n", + "train_features_q = kernel_pca_q.fit_transform(matrix_train)\n", + "test_features_q = kernel_pca_q.transform(matrix_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we train and score a model." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Logistic regression score: 0.9\n" + ] + } + ], + "source": [ + "from sklearn.linear_model import LogisticRegression\n", + "\n", + "logistic_regression = LogisticRegression()\n", + "logistic_regression.fit(train_features_q, train_labels)\n", + "\n", + "logistic_score = logistic_regression.score(test_features_q, test_labels)\n", + "print(f\"Logistic regression score: {logistic_score}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's plot the results. First, we plot the transformed dataset we get with the quantum kernel. On the same plot we also add model results. Then, we plot the transformed dataset we get with the gaussian kernel." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/fr1Q6dOneDp6alZf/jw4ejRowciIiKQkZGBAwcOYM6cOZg2bRpcXV31jo2IqD7YN1XHvol9U1PEQoseaHZ2dti3bx88PT0xatQo9OrVC0uWLKn1E7ChQ4eic+fOGDRoECZOnIgxY8YgJiYGADSX/NPT0xEQEIC33noLn3zyicFxxcbG4plnnsFrr72Gbt26Ydq0aZovxGzbti12796NY8eOITAwEK+88gpefPFFzJ8/36j34H5LlizBzJkzERQUhIKCAnz//fews7MDoP7E75tvvsHWrVsREBCABQsWYNGiRYiKitJ7/46Ojjh06BDat2+P8ePHo3v37pg6dSpu3bplUIexaNEi5Ofno2PHjnWOh0hKSsKgQYMAqKcfrvz5ftbW1ti1axdatGiBgQMHYuLEiZqpfImIGgr7purYN7FvaooUousmViLSKSoqClevXtV8Z0pzkpSUhCFDhuDKlStwd3dv7HCIiEhP7JuILBOvaBEREREREZkYCy0iIiIiIiIT462DREREREREJsYrWkRERERERCbGQouIiIiIiMjEWGgRERERERGZGAstIiIiIiIiE2OhRUREREREZGIstIiIiIiIiEyMhRYREREREZGJsdAiIiIiIiIyMRZaREREREREJvZ/SD0U9NQuPEQAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (q_ax, rbf_ax) = plt.subplots(1, 2, figsize=(10, 5))\n", + "\n", + "\n", + "plot_features(q_ax, train_features_q, train_labels, 0, \"s\", \"w\", \"b\", \"A train\")\n", + "plot_features(q_ax, train_features_q, train_labels, 1, \"o\", \"w\", \"r\", \"B train\")\n", + "\n", + "plot_features(q_ax, test_features_q, test_labels, 0, \"s\", \"b\", \"w\", \"A test\")\n", + "plot_features(q_ax, test_features_q, test_labels, 1, \"o\", \"r\", \"w\", \"A test\")\n", + "\n", + "q_ax.set_ylabel(\"Principal component #1\")\n", + "q_ax.set_xlabel(\"Principal component #0\")\n", + "q_ax.set_title(\"Projection of training and test data\\n using KPCA with Quantum Kernel\")\n", + "\n", + "# Plotting the linear separation\n", + "h = 0.01 # step size in the mesh\n", + "\n", + "# create a mesh to plot in\n", + "x_min, x_max = train_features_q[:, 0].min() - 1, train_features_q[:, 0].max() + 1\n", + "y_min, y_max = train_features_q[:, 1].min() - 1, train_features_q[:, 1].max() + 1\n", + "xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n", + "\n", + "predictions = logistic_regression.predict(np.c_[xx.ravel(), yy.ravel()])\n", + "\n", + "# Put the result into a color plot\n", + "predictions = predictions.reshape(xx.shape)\n", + "q_ax.contourf(xx, yy, predictions, cmap=plt.cm.RdBu, alpha=0.2)\n", + "\n", + "plot_features(rbf_ax, train_features_rbf, train_labels, 0, \"s\", \"w\", \"b\", \"A train\")\n", + "plot_features(rbf_ax, train_features_rbf, train_labels, 1, \"o\", \"w\", \"r\", \"B train\")\n", + "plot_features(rbf_ax, test_features_rbf, test_labels, 0, \"s\", \"b\", \"w\", \"A test\")\n", + "plot_features(rbf_ax, test_features_rbf, test_labels, 1, \"o\", \"r\", \"w\", \"A test\")\n", + "\n", + "rbf_ax.set_ylabel(\"Principal component #1\")\n", + "rbf_ax.set_xlabel(\"Principal component #0\")\n", + "rbf_ax.set_title(\"Projection of training data\\n using KernelPCA\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, the data points on the right figure are not separable, but they are on the left figure, hence in case of quantum kernel we can apply linear models on the transformed dataset and this is why SVM classifier works perfectly well on the _ad hoc_ dataset as we saw in the [classification section](#2.-Classification)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Conclusion\n", + "\n", + "In this tutorial:\n", + "\n", + "* We reviewed the fundamentals of quantum kernel learning\n", + "* We understood how to define quantum kernels as instances of `FidelityQuantumKernel`\n", + "* We learned how to use the `scikit-learn` `SVC` algorithm with a custom quantum kernel as a callable function vs precomputed quantum kernel matrix for classification\n", + "* We learned how to train classifiers with the `QSVC` algorithm from `qiskit-machine-learning`\n", + "* We learned how to use the `scikit-learn` `SpectralClustering` algorithms with a precomputed quantum kernel matrix for clustering\n", + "* We investigated how to plug in a quantum kernel into `scikit-learn`'s `KernelPCA` algorithm and transform the ad-hoc dataset into a new one that can be tackled by a linear model." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For further reference, `scikit-learn` has other algorithms that can use a precomputed kernel matrix, such as:\n", + "\n", + "- [Agglomerative clustering](https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html)\n", + "- [Support vector regression](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html)\n", + "- [Ridge regression](https://scikit-learn.org/stable/modules/generated/sklearn.kernel_ridge.KernelRidge.html)\n", + "- [Gaussian process regression](https://scikit-learn.org/stable/modules/gaussian_process.html)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.23.1
qiskit-aer0.11.2
qiskit-ibmq-provider0.20.0
qiskit0.41.0
qiskit-machine-learning0.5.0
System information
Python version3.10.9
Python compilerGCC 11.2.0
Python buildmain, Jan 11 2023 15:21:40
OSLinux
CPUs10
Memory (Gb)7.394691467285156
Wed Feb 22 10:36:16 2023 CET
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/_sources/tutorials/04_torch_qgan.ipynb.txt b/_sources/tutorials/04_torch_qgan.ipynb.txt new file mode 100644 index 000000000..62583b12a --- /dev/null +++ b/_sources/tutorials/04_torch_qgan.ipynb.txt @@ -0,0 +1,791 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "# PyTorch qGAN Implementation\n", + "\n", + "\n", + "## Overview\n", + "\n", + "This tutorial introduces step-by-step how to build a PyTorch-based Quantum Generative Adversarial Network algorithm.\n", + "\n", + "The tutorial is structured as follows:\n", + "\n", + "1. [Introduction](#1.-Introduction)\n", + "2. [Data and Represtation](#2.-Data-and-Representation)\n", + "3. [Definitions of the Neural Networks](#3.-Definitions-of-the-Neural-Networks)\n", + "4. [Setting up the Training Loop](#4.-Setting-up-the-Training-Loop)\n", + "5. [Model Training](#5.-Model-Training)\n", + "6. [Results: Cumulative Density Functions](#6.-Results:-Cumulative-Density-Functions)\n", + "7. [Conclusion](#7.-Conclusion)\n", + "\n", + "## 1. Introduction\n", + "\n", + "The qGAN \\[1\\] is a hybrid quantum-classical algorithm used for generative modeling tasks. The algorithm uses the interplay of a quantum generator $G_{\\theta}$, i.e., an ansatz (parametrized quantum circuit), and a classical discriminator $D_{\\phi}$, a neural network, to learn the underlying probability distribution given training data.\n", + "\n", + "The generator and discriminator are trained in alternating optimization steps, where the generator aims at generating probabilities that will be classified by the discriminator as training data values (i.e, probabilities from the real training distribution), and the discriminator tries to differentiate between original distribution and probabilities from the generator (in other words, telling apart the real and generated distributions). The final goal is for the quantum generator to learn a representation for the target probability distribution.\n", + "The trained quantum generator can, thus, be used to load a quantum state which is an approximate model of the target distribution.\n", + "\n", + "**References:**\n", + "\n", + "\\[1\\] Zoufal et al., [Quantum Generative Adversarial Networks for learning and loading random distributions](https://www.nature.com/articles/s41534-019-0223-2)\n", + "\n", + "### 1.1. qGANs for Loading Random Distributions\n", + "\n", + "Given $k$-dimensional data samples, we employ a quantum Generative Adversarial Network (qGAN) to learn a random distribution and to load it directly into a quantum state:\n", + "\n", + "$$ \\big| g_{\\theta}\\rangle = \\sum_{j=0}^{2^n-1} \\sqrt{p_{\\theta}^{j}}\\big| j \\rangle $$\n", + "\n", + "where $p_{\\theta}^{j}$ describe the occurrence probabilities of the basis states $\\big| j\\rangle$.\n", + "\n", + "The aim of the qGAN training is to generate a state $\\big| g_{\\theta}\\rangle$ where $p_{\\theta}^{j}$, for $j\\in \\left\\{0, \\ldots, {2^n-1} \\right\\}$, describe a probability distribution that is close to the distribution underlying the training data $X=\\left\\{x^0, \\ldots, x^{k-1} \\right\\}$.\n", + "\n", + "For further details please refer to [Quantum Generative Adversarial Networks for Learning and Loading Random Distributions](https://arxiv.org/abs/1904.00043) _Zoufal, Lucchi, Woerner_ \\[2019\\].\n", + "\n", + "For an example of how to use a trained qGAN in an application, the pricing of financial derivatives, please see the\n", + "[Option Pricing with qGANs](https://qiskit.org/ecosystem/finance/tutorials/10_qgan_option_pricing.html) tutorial.\n", + "\n", + "## 2. Data and Representation\n", + "\n", + "First, we need to load our training data $X$.\n", + "\n", + "In this tutorial, the training data is given by a 2D multivariate normal distribution.\n", + "\n", + "The goal of the generator is to learn how to represent such distribution, and the trained generator should correspond to an $n$-qubit quantum state\n", + "\\begin{equation}\n", + "|g_{\\text{trained}}\\rangle=\\sum\\limits_{j=0}^{k-1}\\sqrt{p_{j}}|x_{j}\\rangle,\n", + "\\end{equation}\n", + "where the basis states $|x_{j}\\rangle$ represent the data items in the training data set\n", + "$X={x_0, \\ldots, x_{k-1}}$ with $k\\leq 2^n$ and $p_j$ refers to the sampling probability\n", + "of $|x_{j}\\rangle$.\n", + "\n", + "To facilitate this representation, we need to map the samples from the multivariate\n", + "normal distribution to discrete values. The number of values that can be represented\n", + "depends on the number of qubits used for the mapping.\n", + "Hence, the data resolution is defined by the number of qubits.\n", + "If we use $3$ qubits to represent one feature, we have $2^3 = 8$ discrete values.\n", + "\n", + "We first begin by fixing seeds in the random number generators for reproducibility of the outcome in this tutorial." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "import torch\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "\n", + "algorithm_globals.random_seed = 123456\n", + "_ = torch.manual_seed(123456) # suppress output" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "We fix the number of dimensions, the discretization number and compute the number of qubits required as $2^3 = 8$." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "num_dim = 2\n", + "num_discrete_values = 8\n", + "num_qubits = num_dim * int(np.log2(num_discrete_values))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then, we prepare a discrete distribution from the continuous 2D normal distribution. We evaluate the continuous probability density function (PDF) on the grid $(-2, 2)^2$ with a discretization of $8$ values per feature. Thus, we have $64$ values of the PDF. Since this will be a discrete distribution we normalize the obtained probabilities." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import multivariate_normal\n", + "\n", + "coords = np.linspace(-2, 2, num_discrete_values)\n", + "rv = multivariate_normal(mean=[0.0, 0.0], cov=[[1, 0], [0, 1]], seed=algorithm_globals.random_seed)\n", + "grid_elements = np.transpose([np.tile(coords, len(coords)), np.repeat(coords, len(coords))])\n", + "prob_data = rv.pdf(grid_elements)\n", + "prob_data = prob_data / np.sum(prob_data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's visualize our distribution. It is a nice bell-shaped bivariate normal distribution on a discrete grid." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtIAAAJCCAYAAADtDCDpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eXQj133mDz+FhTsJgvvS7CZ7X9ULW90EHdmxrbF0RrbTc8aSomQkR6/GSWaOEucor14vUWTPaDyaTMaOnCNNeuSxE08cjfXzxNFJYv2UdORoJKVbaklNsNnc97W5AmQTAEEsVe8fTBUBEACBwi3UReH7OQfHFhu8uLgAq5566rnfryBJkgSCIAiCIAiCINLCpPcECIIgCIIgCCIXISFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAEQRAEQRAqICFNEARBEARBECogIU0QBEEQBEEQKiAhTRAcI0kSwuEwAoEARFHUezoEQRAEQURg0XsCBEHER5IkBINBbG5uIhAIwGw2w2KxwGKxwGw2w2w2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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "from matplotlib import cm\n", + "\n", + "mesh_x, mesh_y = np.meshgrid(coords, coords)\n", + "grid_shape = (num_discrete_values, num_discrete_values)\n", + "\n", + "fig, ax = plt.subplots(figsize=(9, 9), subplot_kw={\"projection\": \"3d\"})\n", + "prob_grid = np.reshape(prob_data, grid_shape)\n", + "surf = ax.plot_surface(mesh_x, mesh_y, prob_grid, cmap=cm.coolwarm, linewidth=0, antialiased=False)\n", + "fig.colorbar(surf, shrink=0.5, aspect=5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 3. Definitions of the Neural Networks\n", + "In this section we define two neural networks as described above:\n", + "\n", + "- A quantum generator as a quantum neural network.\n", + "- A classical discriminator as a PyTorch-based neural network.\n", + "\n", + "### 3.1. Definition of the quantum neural network ansatz\n", + "\n", + "Now, we define the parameterized quantum circuit $G\\left(\\boldsymbol{\\theta}\\right)$ with $\\boldsymbol{\\theta} = {\\theta_1, ..., \\theta_k}$ which will be used in our quantum generator.\n", + "\n", + "To implement the quantum generator, we choose a hardware efficient ansatz with $6$ repetitions. The ansatz implements $R_Y$, $R_Z$ rotations and $CX$ gates which takes a uniform distribution as an input state. Notably, for $k>1$ the generator's parameters must be chosen carefully. For example, the circuit depth should be more than $1$ because higher circuit depths enable the representation of more complex structures. Here, we construct quite a deep circuit with a large number of parameters to be able to adequately capture and represent the distribution." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "from qiskit import QuantumCircuit\n", + "from qiskit.circuit.library import EfficientSU2\n", + "\n", + "qc = QuantumCircuit(num_qubits)\n", + "qc.h(qc.qubits)\n", + "\n", + "ansatz = EfficientSU2(num_qubits, reps=6)\n", + "qc.compose(ansatz, inplace=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Let's draw our circuit and see what it looks like. On the plot we may notice a pattern that appears $6$ times." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABroAAANyCAYAAAA96Bv2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gVVf7H8fe96aRB6ITeexUQ6YoCig3FjmtbdBXR1RVXXX/q7rq7tl0Fu2JfFRUs6CogRTqC9KJAqCEJEAghvd37+2OkSQL33swtc+fzep48K7l3Zr7nbM53zsyZOcfhdrvdiIiIiIiIiIiIiIiIiFiMM9gBiIiIiIiIiIiIiIiIiPhCA10iIiIiIiIiIiIiIiJiSRroEhEREREREREREREREUvSQJeIiIiIiIiIiIiIiIhYkga6RERERERERERERERExJI00CUiIiIiIiIiIiIiIiKWpIEuERERERERERERERERsSQNdImIiIiIiIiIiIiIiIglaaBLRERERERERERERERELEkDXSIiIiIiIiIiIiIiImJJGugSERERERERERERERERS9JAl4iIiIiIiIiIiIiIiFiSBrpERERERERERERERETEkjTQJSIiIiIiIiIiIiIiIpakgS4RERERERERERERERGxJA10iYiIiIiIiIiIiIiIiCVpoEtEREREREREREREREQsSQNdIiIiIiIiIiIiIiIiYkka6BIRERERERERERERERFL0kCXiIiIiIiIiIiIiIiIWJIGukRERERERERERERERMSSNNAlIiIiIiIiIiIiIiIilqSBLhEREREREREREREREbEkDXSJiIiIiIiIiIiIiIiIJWmgS0RERERERERERERERCxJA10iIiIiIiIiIiIiIiJiSRroEhEREREREREREREREUvSQJeIiIiIiIiIiIiIiIhYkga6RERERERERERERERExJI00CUiIiIiIiIiIiIiIiKWpIEuERERERERERERERERsSQNdImIiIiIiIiIiIiIiIglaaBLRERERERERERERERELEkDXSIiIiIiIiIiIiIiImJJGugSERERERERERERERERS9JAl4iIiIiIiIiIiIiIiFiSBrpERERERERERERERETEkiKDHYBUzu12Q1lFsMPwXFQEDofDtN253eAqM213AeGMArOqwO7lFxER650L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iIiIiIiIiIiIiIglaaBLRERERERERERERERELEkDXSIiIiIiIiIiIiIiImJJGugSERERERERERERERERS9JAl4iIiIiIiIiIiIiIiFiSBrpERERERERERERERETEkjTQJSIiIiIiIiIiIiIiIpakgS4RERERERERERERERGxJA10iYiIiIiIiIiIiIiIiCVpoEtEREREREREREREREQsSQNdIiIiIiIiIiIiIiIiYkka6BIRERERERERERERERFLigx2AFI5t9sNZRXBDsNzURE4HA7Tdud2g6vMtN0FhDMKzKoCu5dfRESsdy4w+zxgtfKDzoViLrUB69WBcoCYzWptAHRdrDwgZlIbsF4dKAeI2azWBiB47UADXaGqrILyRz4NdhQei3xyDESb9+fkKoN5k0zbXUAMnQAR0ebsy+7lFxER650LzD4PWK38oHOhmEttwHp1oBwgZrNaGwBdFysPiJnUBqxXB8oBYjartQEIXjvQ1IUiIiIiIiIiIiIiIiJiSRroEhEREREREREREREREUvSQJeIiIiIiIiIiIiIiIhYkga6RERERERERERERERExJI00CUiIiIiIiIiIiIiIiKWFBnsAERERET8JSsXdhyAPYcgIwfyio3f5xXDu4ugSQo0qQ0t60KEHv8RCTul5bBtH6QfMvLAwfzjeSC/BD7/ycgDLetCSkJwYxUR/9h/5Ne+wEHYe/jkvsA7C6FxCjT9tS8QGRHUUEXED8oqIG2/kQP2HILs3/QFpq808kDLulAnMbixioh/ZOfB9l/vC+w9dHJf4O0FJ/QF6kGU+gKWpYEuERERCStlFbBmFyzaCruyK/+Oyw2rdxk/AMlx0K+18ZNcI3Cxioh/7DsCi7fAih1QVFr5dypc8MPPxn87gHYNYUBb6NgInBr4FrG08gpYtwcWbTFubFXG5YY1u40fgIRY6NcKzmkDteIDF6uI+Ed2HizeCsvToPA0fYEFvxz/d9sG0L8NdG6sh+BErK7CBevTjWuCrfsq/47LDWv3GD8A8THQt5WRB2rrITjL0UCXiIiIhI0tWfDRMsgp8G673CL4bj3M3ggjusC5HXVxK2JFJWUwY41xc9sbbuDnTOOncS24rh80quWPCEXE37bvhw+XGTe5vZFfbPQD5myC8zvD+Z30hpeIFZWWw7frYP5m4/zujS1Zxk+DZKMv0LS2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wNrXh95cBx914wWPn/Tve698zcSIJFTFRhnr+YUbM9pAn/Yj6dO+6r5CKPO0/E/f/r1Pn0n4cDiMB14tMku5xzxtA9FRsVX2+8OhP2yhF/HEV3VrJPHtmIeDHUZQREZEk1d4kNv/3Z2c/P1n/P7rXz/Ax/P+SUJc+PR8vK2DaQv+w6Tpd5Icb4GVl0VE5BTe5v3Tsep50cw60HlRrMjubUB5UOzO7jkAVAciZraB+Wum8ujbF1Mrsb5J0fmf+gJid3ZsAw6325vl2CRQ3KXllD/yabDD8Fjkk2NwmDj/U0UpzJtk2u4CYugEiDDpKWG7l19E/Oex6caCzMlx8MToYEcjp2O1c4HZ5wGrlR+scS5UDrAOtQHr1YEVcgAoD1iJ1doA6LrYCnlAOcA61AasVwdWyAGgPGAlVmsD4H07KCgoICEhAYD8/Hzi431bLFFvdImIiIiIiIiIiIiIiIglaaBLRERERERERERERERELMm8uebEXFERRD45JthReC4qwtTdOaOM1xytxBll7r7sXH4REbHeucDs84DVyg86F4q51AasVwfKAWI2q7UB0HWx8oCYSW3AenWgHCBms1obgOC1Aw10hSiHwwEmrnllNQ6HNea09Re7l19ERHQusHv5RdQGVAcidm8Ddi+/iNqA6kBEbcBzmrpQRERERERERERERERELEkDXSIiIiIiIiIiIiIiImJJGugSERERERERERERERERS9JAl4iIiIiIiIiIiIiIiFiSBrpERERERERERERERETEkjTQJSIiIiIiIiIiIiIiIpakgS4RERERERERERERERGxJA10iYiIiIiIiIiIiIiIiCVpoEtEREREREREREREREQsSQNdIiIiIiIiIiIiIiIiYkka6BIRERERERERERERERFL0kCXiIiIiIiIiIiIiIiIWJIGukRERERERERERERERMSSNNAlIiIiIiIiIiIiIiIilqSBLhEREREREREREREREbEkDXSJiIiIiIiIiIiIiIiIJWmgS0RERERERERERERERCxJA10iIiIiIiIiIiIiIiJiSZHBDkAq53a7oawi2GF4LioCh8Nh2u7cbnCVmba7gHBGgVlVYPfyi4goD1qvDnQeELNZrQ2A+oPKA2ImtQHVgYjd24Ddyy+iNqA68IYGukJVWQXlj3wa7Cg8FvnkGIg278/JVQbzJpm2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2//dnZz8/Wf8/rQF/2HS9Dst89SOJ1QHImI33ua907FiTrR7+UXUBlQHInZvA2aWf/6aqTz69sXUSqxvUnQigWFmO3j96wf4eN4/SYirZVJ0/mf38ouoL2C/8jvcbvcZlqiXYHCXllP+yKfBDsNjkU+OwRFt3guCFaUwb5JpuwuIoRMgwvNlYU7L7uUX8ZfHphtr1STHwROjgx2NnI7yoPXqwCrnAeUB67BaGwD1B62QB5QDrENtQHXgL8oD1mH3NmD38vuLcoB1qA3Yow4KCgpISEgAID8/n/j4eJ+Oqze6RERERERERERERERExJK0Rleoioog8kkLLfoYFWHq7pxRxuivlTijzN2XncsvIqI8aL060HlAzGa1NgDqDyoPiJnUBlQHInZvA3Yvv4jagOrAGxroClEOhwNMnArQahyO0H/V2Z/sXn4REeVB1YGI3duA3csvojagOhCxexuwe/lF1AZUB97Q1IUiIiIiIiIiIiIiIiJiSRroEhEREREREREREREREUvSQJeIiIiIiIiIiIiIiIhYkga6RERERERERERERERExJI00CUiIiIiIiIiIiIiIiKWpIEuERERERERERERERERsSQNdImIiIiIiIiIiIiIiIglaaBLRERERERERERERERELEkDXSIiIiIiIiIiIiIiImJJGugSERERERERERERERERS9JAl4iIiIiIiIiIiIiIiFiSBrpERERERERERERERETEkjTQJSIiIiIiIiIiIiIiIpakgS4RERERERERERERERGxJA10iYiIiIiIiIiIiIiIiCVpoEtEREREREREREREREQsSQNdIiIiIiIiIiIiIiIiYkka6BIRERERERERERERERFLigx2AFI5t9sNZRXBDsNzURE4HA7Tdud2g6vMtN0FhDMKzKoCu5dfRJQH7F5+EbUB1YGI3duA3csvojagOhCxexuwe/nFOxroClVlFZQ/8mmwo/BY5JNjINq8PydXGcybZNruAmLoBIiINmdfdi+/iCgP2L38ImoDqgMRu7cBu5dfRG1AdSBi9zZg9/KLdzR1oYiIiIiIiIiIiIiIiFiSBrpERERERERERERERETEkjTQJSIiIiIiIiIiIiIiIpakgS4RERERERERERERERGxJA10iYiILbhc4HYb/+12H/9vEbGP0nJwnZAHRMReftsXcCkPiNiO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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qc.decompose().draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's print the number of trainable parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "84" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qc.num_parameters" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "### 3.2. Definition of the quantum generator\n", + "\n", + "We start defining the generator by creating a sampler for the ansatz. The reference implementation is a statevector-based implementation, thus it returns exact probabilities as a result of circuit execution. We add the `shots` parameter to add some noise to the results. In this case the implementation samples probabilities from the multinomial distribution constructed from the measured quasi probabilities. And as usual we fix the seed for reproducibility purposes." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit.primitives import Sampler\n", + "\n", + "shots = 10000\n", + "sampler = Sampler(options={\"shots\": shots, \"seed\": algorithm_globals.random_seed})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we define a function that creates the quantum generator from a given parameterized quantum circuit. Inside this function we create a neural network that returns the quasi probability distribution evaluated by the underlying Sampler. We fix `initial_weights` for reproducibility purposes. In the end we wrap the created quantum neural network in `TorchConnector` to make use of PyTorch-based training." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "from qiskit_machine_learning.connectors import TorchConnector\n", + "from qiskit_machine_learning.neural_networks import SamplerQNN\n", + "\n", + "\n", + "def create_generator() -> TorchConnector:\n", + " qnn = SamplerQNN(\n", + " circuit=qc,\n", + " sampler=sampler,\n", + " input_params=[],\n", + " weight_params=qc.parameters,\n", + " sparse=False,\n", + " )\n", + "\n", + " initial_weights = algorithm_globals.random.random(qc.num_parameters)\n", + " return TorchConnector(qnn, initial_weights)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "### 3.3. Definition of the classical discriminator\n", + "\n", + "Next, we define a PyTorch-based classical neural network that represents the classical discriminator. The underlying gradients can be automatically computed with PyTorch." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "from torch import nn\n", + "\n", + "\n", + "class Discriminator(nn.Module):\n", + " def __init__(self, input_size):\n", + " super(Discriminator, self).__init__()\n", + "\n", + " self.linear_input = nn.Linear(input_size, 20)\n", + " self.leaky_relu = nn.LeakyReLU(0.2)\n", + " self.linear20 = nn.Linear(20, 1)\n", + " self.sigmoid = nn.Sigmoid()\n", + "\n", + " def forward(self, input: torch.Tensor) -> torch.Tensor:\n", + " x = self.linear_input(input)\n", + " x = self.leaky_relu(x)\n", + " x = self.linear20(x)\n", + " x = self.sigmoid(x)\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.4. Create a generator and a discriminator\n", + "\n", + "Now we create a generator and a discriminator." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "generator = create_generator()\n", + "discriminator = Discriminator(num_dim)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 4. Setting up the Training Loop\n", + "In this section we set up:\n", + "\n", + "- A loss function for the generator and discriminator.\n", + "- Optimizers for both.\n", + "- A utility plotting function to visualize training process.\n", + "\n", + "### 4.1. Definition of the loss functions\n", + "We want to train the generator and the discriminator with binary cross entropy as the loss function:\n", + "$$L\\left(\\boldsymbol{\\theta}\\right)=\\sum_jp_j\\left(\\boldsymbol{\\theta}\\right)\\left[y_j\\log(x_j) + (1-y_j)\\log(1-x_j)\\right],$$\n", + "where $x_j$ refers to a data sample and $y_j$ to the corresponding label.\n", + "\n", + "Since PyTorch's `binary_cross_entropy` is not differentiable with respect to weights, we implement the loss function manually to be able to evaluate gradients." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "def adversarial_loss(input, target, w):\n", + " bce_loss = target * torch.log(input) + (1 - target) * torch.log(1 - input)\n", + " weighted_loss = w * bce_loss\n", + " total_loss = -torch.sum(weighted_loss)\n", + " return total_loss" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "### 4.2. Definition of the optimizers\n", + "In order to train the generator and discriminator, we need to define optimization schemes. In the following, we employ a momentum based optimizer called Adam, see [Kingma et al., Adam: A method for stochastic optimization](https://arxiv.org/abs/1412.6980) for more details." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "from torch.optim import Adam\n", + "\n", + "lr = 0.01 # learning rate\n", + "b1 = 0.7 # first momentum parameter\n", + "b2 = 0.999 # second momentum parameter\n", + "\n", + "generator_optimizer = Adam(generator.parameters(), lr=lr, betas=(b1, b2), weight_decay=0.005)\n", + "discriminator_optimizer = Adam(\n", + " discriminator.parameters(), lr=lr, betas=(b1, b2), weight_decay=0.005\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "### 4.3. Visualization of the training process\n", + "We will visualize what is happening during the training by plotting the evolution of the generator's and the discriminator's loss functions during the training, as well as the progress in the relative entropy between the trained and the target distribution. We define a function that plots the loss functions and relative entropy. We call this function once an epoch of training is complete.\n", + "\n", + "Visualization of the training process begins when training data is collected across two epochs." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "from IPython.display import clear_output\n", + "\n", + "\n", + "def plot_training_progress():\n", + " # we don't plot if we don't have enough data\n", + " if len(generator_loss_values) < 2:\n", + " return\n", + "\n", + " clear_output(wait=True)\n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(18, 9))\n", + "\n", + " # Generator Loss\n", + " ax1.set_title(\"Loss\")\n", + " ax1.plot(generator_loss_values, label=\"generator loss\", color=\"royalblue\")\n", + " ax1.plot(discriminator_loss_values, label=\"discriminator loss\", color=\"magenta\")\n", + " ax1.legend(loc=\"best\")\n", + " ax1.set_xlabel(\"Iteration\")\n", + " ax1.set_ylabel(\"Loss\")\n", + " ax1.grid()\n", + "\n", + " # Relative Entropy\n", + " ax2.set_title(\"Relative entropy\")\n", + " ax2.plot(entropy_values)\n", + " ax2.set_xlabel(\"Iteration\")\n", + " ax2.set_ylabel(\"Relative entropy\")\n", + " ax2.grid()\n", + "\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 5. Model Training\n", + "In the training loop we monitor not only loss functions, but relative entropy as well. The relative entropy describes a distance metric for distributions. Hence, we can use it to benchmark how close/far away the trained distribution is from the target distribution.\n", + "\n", + "Now, we are ready to train our model. It may take some time to train the model so be patient." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABcMAAAMKCAYAAABJJ1wJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVjU5f7G8XtmGBhWEUFQRFDc0BRN01xSyy0tj7aXJ01/Jzsttpl1slzSTnnqZMcWK1ttT9uXYypRVpZlrqXiDoKoLG4ICAzM/P5ApjiosX+H4f26Lq6reea73MNDNXx45vOYnE6nUwAAAAAAAAAAeDCz0QEAAAAAAAAAAKhrFMMBAAAAAAAAAB6PYjgAAAAAAAAAwONRDAcAAAAAAAAAeDyK4QAAAAAAAAAAj0cxHAAAAAAAAADg8SiGAwAAAAAAAAA8HsVwAAAAAAAAAIDHoxgOAAAAAAAAAPB4FMMBAAAAAADOYNWqVTKZTFq1alWtXtdkMumhhx6q1WsCAM6OYjgANHCLFy+WyWTSunXrjI4CAAAAGKrsvXHZl5eXlyIjIzVx4kSlp6fXe55ly5Z5fMF727Zteuihh5SSkmJ0FAD4U15GBwAAAAAAAKhNc+fOVZs2bVRQUKCffvpJixcv1urVq7VlyxbZbLZ6y7Fs2TItXLjwtAXxkydPysur4Zdltm3bpjlz5mjw4MGKiYkxOg4AnFXD/68uAAAAAADAH4wcOVK9evWSJN14440KDQ3VY489ps8++0xXX321welK1WdR3l04nU4VFBTI19fX6CgAGinapABAI7Bx40aNHDlSQUFBCggI0JAhQ/TTTz+VO8Zut2vOnDlq3769bDabmjVrpgEDBighIcF1zKFDhzRp0iS1atVKPj4+atGihcaMGcNHIgEAAODWLrjgAknSnj17yo1v375dV155pUJCQmSz2dSrVy999tlnf3q977//XldddZVat24tHx8fRUVF6e6779bJkyddx0ycOFELFy6UpHKtW8r8sWf4Bx98IJPJpG+//bbCvRYtWiSTyaQtW7bUOLckORwOLViwQF26dJHNZlN4eLj+/ve/6+jRo+WOi4mJ0aWXXqrVq1erd+/estlsatu2rd544w3XMYsXL9ZVV10lSbrwwgtdr7Gsv3rZNVasWKFevXrJ19dXixYtkiTt3btXV111lUJCQuTn56fzzz9f//3vf8tlKOvXvmTJEj3wwAOKiIiQv7+//vKXvygtLc113OzZs2W1WpWVlVXh9d50000KDg5WQUFBpb4/ADwbxXAA8HBbt27VBRdcoM2bN+u+++7TzJkzlZycrMGDB+vnn392HffQQw9pzpw5uvDCC/Xss8/qwQcfVOvWrbVhwwbXMVdccYU+/vhjTZo0Sc8995zuuOMOnThxQqmpqUa8NAAAAKBSyhZvNG3a1DW2detWnX/++UpKStL999+v+fPny9/fX2PHjtXHH3981uu9//77ys/P1y233KJnnnlGI0aM0DPPPKMJEya4jvn73/+uYcOGSZLefPNN19fpXHLJJQoICNDSpUsrPLdkyRJ16dJF55xzTo1zl+W699571b9/fz311FOaNGmS3n77bY0YMUJ2u73csbt379aVV16pYcOGaf78+WratKkmTpyorVu3SpIGDhyoO+64Q5L0wAMPuF5jXFyc6xo7duzQddddp2HDhumpp55S9+7dlZGRoX79+mnFihW69dZb9cgjj6igoEB/+ctfTvsaHnnkEf33v//VP/7xD91xxx1KSEjQ0KFDXX98GD9+vIqLi7VkyZJy5xUVFemDDz7QFVdc0ShX4gM4DScAoEF77bXXnJKcv/zyy2mfHzt2rNPb29u5Z88e19iBAwecgYGBzoEDB7rG4uPjnZdccskZ73P06FGnJOe///3v2gsPAAAA1KKy98ZfffWVMysry5mWlub84IMPnGFhYU4fHx9nWlqa69ghQ4Y4u3bt6iwoKHCNORwOZ79+/Zzt27d3jX3zzTdOSc5vvvnGNZafn1/h3vPmzXOaTCbnvn37XGO33Xab80ylF0nO2bNnux5fd911zubNmzuLi4tdYwcPHnSazWbn3Llzq5z7dL7//nunJOfbb79dbnz58uUVxqOjo52SnN99951rLDMz0+nj4+O85557XGPvv/9+he/P/15j+fLl5cbvuusupyTn999/7xo7ceKEs02bNs6YmBhnSUmJ0+n8/XsfGRnpzMnJcR27dOlSpyTnU0895Rrr27evs0+fPuXu89FHH50xG4DGiZXhAODBSkpKtHLlSo0dO1Zt27Z1jbdo0ULjxo3T6tWrlZOTI0kKDg7W1q1btWvXrtNey9fXV97e3lq1alWFj1ACAAAA7mTo0KEKCwtTVFSUrrzySvn7++uzzz5Tq1atJElHjhzR119/rauvvlonTpxQdna2srOzdfjwYY0YMUK7du1Senr6Ga//x57XeXl5ys7OVr9+/eR0OrVx48ZqZb7mmmuUmZnpajEilbZPcTgcuuaaa2ol9/vvv68mTZpo2LBhrnOzs7PVs2dPBQQE6Jtvvil3fOfOnV0tZiQpLCxMHTt21N69eyv9utq0aaMRI0aUG1u2bJl69+6tAQMGuMYCAgJ00003KSUlRdu2bSt3/IQJExQYGOh6fOWVV6pFixZatmxZuWN+/vnncq1w3n77bUVFRWnQoEGVzgvAs1EMBwAPlpWVpfz8fHXs2LHCc3FxcXI4HK5ee3PnztWxY8fUoUMHde3aVffee69+/fVX1/E+Pj567LHH9OWXXyo8PFwDBw7U448/rkOHDtXb6wEAAAAqY+HChUpISNAHH3ygUaNGKTs7Wz4+Pq7nd+/eLafTqZkzZyosLKzc1+zZsyVJmZmZZ7x+amqqJk6cqJCQEAUEBCgsLMxVcD1+/Hi1Ml988cVq0qRJuVYfS5YsUffu3dWhQ4dayb1r1y4dP35czZs3r3B+bm5uhXNbt25d4RpNmzat0uKYNm3aVBjbt2/fGX9HKXv+j9q3b1/usclkUrt27crtXXTNNdfIx8dHb7/9tqTSefjiiy/017/+tVyvdgCNm5fRAQAA7mHgwIHas2ePPv30U61cuVIvv/yy/vOf/+iFF17QjTfeKEm66667NHr0aH3yySdasWKFZs6cqXnz5unrr79Wjx49DH4FAAAAQKnevXurV69ekqSxY8dqwIABGjdunHbs2KGAgAA5HA5J0rRp0yqsWi7Trl27046XlJRo2LBhOnLkiP7xj3+oU6dO8vf3V3p6uiZOnOi6dlX5+Pi4+n4/99xzysjI0A8//KBHH33UdUxNcped37x5c1fB+H+FhYWVe2yxWE57nNPpPOtr+aM/rqKvS02bNtWll16qt99+W7NmzdIHH3ygwsJCXX/99fVyfwANA8VwAPBgYWFh8vPz044dOyo8t337dpnNZkVFRbnGQkJCNGnSJE2aNEm5ubkaOHCgHnroIVcxXJJiY2N1zz336J577tGuXbvUvXt3zZ8/X2+99Va9vCYAAACgKiwWi+bNm+faKP7+++93tRC0Wq0aOnRola7322+/aefOnXr99dfLbZiZkJBQ4diqrki+5ppr9PrrrysxMVFJSUlyOp2uFimSapRbKn0v/9VXX6l///61VqSuzqrr6OjoM/6OUvb8H/1vK0en06ndu3erW7du5cYnTJigMWPG6JdfftHbb7+tHj16qEuXLlXOB8Bz0SYFADyYxWLR8OHD9emnn5b7CGFGRobeeecdDRgwQEFBQZKkw4cPlzs3ICBA7dq1U2FhoSQpPz9fBQUF5Y6JjY1VYGCg6xgAAADAHQ0ePFi9e/fWggULVFBQoObNm2vw4MFatGiRDh48WOH4rKysM16rbLX0H1dHO51OPfXUUxWO9ff3lyQdO3asUjmHDh2qkJAQLVmyREuWLFHv3r3LtRmpSW5Juvrqq1VSUqKHH364wnPFxcWVzvlHVX2NkjRq1CitXbtWa9ascY3l5eXpxRdfVExMjDp37lzu+DfeeEMnTpxwPf7ggw908OBBjRw5stxxI0eOVGhoqB577DF9++23rAoHUAErwwHAQ7z66qtavnx5hfGHHnpICQkJGjBggG699VZ5eXlp0aJFKiws1OOPP+46rnPnzho8eLB69uypkJAQrVu3Th988IGmTJkiSdq5c6eGDBmiq6++Wp07d5aXl5c+/vhjZWRk6Nprr6231wkAAABUx7333qurrrpKixcv1s0336yFCxdqwIAB6tq1qyZPnqy2bdsqIyNDa9as0f79+7V58+bTXqdTp06KjY3VtGnTlJ6erqCgIH344Yen7aPds2dPSdIdd9yhESNGyGKxnPW9s9Vq1eWXX6733ntPeXl5euKJJyocU93ckjRo0CD9/e9/17x587Rp0yYNHz5cVqtVu3bt0vvvv6+nnnpKV1555Z99K8vp3r27LBaLHnvsMR0/flw+Pj666KKL1Lx58zOec//99+vdd9/VyJEjdccddygkJESvv/66kpOT9eGHH8psLr92MyQkRAMGDNCkSZOUkZGhBQsWqF27dpo8eXKF79+1116rZ599VhaLRdddd12VXguARsAJAGjQXnvtNaekM36lpaU5N2zY4BwxYoQzICDA6efn57zwwgudP/74Y7nr/POf/3T27t3bGRwc7PT19XV26tTJ+cgjjziLioqcTqfTmZ2d7bztttucnTp1cvr7+zubNGni7NOnj3Pp0qVGvGwAAACggrL3xr/88kuF50pKSpyxsbHO2NhYZ3FxsdPpdDr37NnjnDBhgjMiIsJp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bDab3n77bR0+fFjXXXedIiMj5efnp65du+rdd991nTdx4kR9++23euqpp2QymWQymZSSkiJJ+vbbb9W7d2/5+PioRYsWuv/++1VcXOw6d/DgwZoyZYruuusuhYaGasSIEZX6nhUWFuqOO+5Q8+bNZbPZNGDAAP3yyy+u548ePaq//vWvCgsLk6+vr9q3b6/XXntNUmnBfcqUKWrRooVsNpuio6M1b968St0XAAAAAOqal9EBAABAw1NQ5NQld+835N7//U8r+fqYKnXsPffcox9++EGfffaZwsPDNWvWLG3YsEHdu3d3HTNlyhRt27ZN7733nlq2bKmPP/5YF198sX777Te1b99ekpSfn68nnnhCb775psxms66//npNmzZNb7/9tiTp7bff1qxZs/Tss8+qR48e2rhxoyZPnix/f3/dcMMNrnvdf//9mj9/vnr06CGbzaaCggL17NlT//jHPxQUFKT//ve/Gj9+vGJjY9W7d2899dRT2rlzp8455xzNnTtXkhQWFqb09HSNGjVKEydO1BtvvKHt27dr8uTJstlseuihh1z3e/3113XLLbfohx9+qPT397777tOHH36o119/XdHR0Xr88cc1YsQI7d69WyEhIZo5c6a2bdumL7/8UqGhodq9e7dOnjwpSXr66af12WefaenSpWrdurXS0tKUlpZW6XsDAAAAQF2iGA4AADzSiRMn9MYbb+idd97RkCFDJEmvvfaaWrZs6TomNTVVr732mlJTU13j06ZN0/Lly/Xaa6/p0UcflVTa0uSFF15QbGyspNICellxWpJmz56t+fPn6/LLL5cktWnTRtu2bdOiRYvKFcPvuusu1zFlpk2b5vrn22+/XStWrNDSpUvVu3dvNWnSRN7e3vLz81NERITruOeee05RUVF69tlnZTKZ1KlTJx04cED/+Mc/NGvWLJnNpR/+a9++vR5//PFKf8/y8vL0/PPPa/HixRo5cqQk6aWXXlJCQoJeeeUV3XvvvUpNTVWPHj3Uq1cvSVJMTEy572f79u01YMAAmUwmRUdHV/reAAAAAFDXKIYDAIAqs3mb9N//tDLs3pWRkpIiu92u3r17u8aaNGmijh07uh7/9ttvKikpUYcOHcqdW1hYqGbNmrke+/n5uQrhktSiRQtlZmZKKi0g79mzR3/72980efJk1zHFxcVq0qRJueuWFZDLlJSU6NFHH9XSpUuVnp6uoqIiFRYWys/P76yvLSkpSX379pXJ9Pv3on///srNzdX+/fvVunVrSVLPnj3Pep3/tWfPHtntdvXv3981ZrVa1bt3byUlJUmSbrnlFl1xxRXasGGDhg8frrFjx6pfv36SStu6DBs2TB07dtTFF1+sSy+9VMOHD69SBgAAAACoKxTDAQBAlZlMpkq3KnFnubm5slgsWr9+vSwWS7nnAgICXP9stVrLPWcymVy9y3NzcyWVrqDu06dPueP+95r+/v7lHv/73//WU089pQULFqhr167y9/fXXXfdVWubXf7v/WrDyJEjtW/fPi1btkwJCQkaMmSIbrvtNj3xxBM699xzlZycrC+//FJfffWVrr76ag0dOlQffPBBrecAAAAAgKpiA00AAOCRYmJiZLVay23+ePz4ce3cudP1uEePHiopKVFmZqbatWtX7uuPbUnOJjw8XC1bttTevXsrXKNNmzZnPfeHH37QmDFjdP311ys+Pl5t27Ytl0+SvL29VVJSUm4sLi5Oa9asKbeZ6A8//KDAwEC1alX9FfuxsbHy9vYu12Pcbrfrl19+UefOnV1jYWFhuuGGG/TWW29pwYIFevHFF13PBQUF6ZprrtFLL72kJUuW6MMPP9SRI0eqnQkAAAAAagsrwwEAgEcKDAzUhAkTdO+99yokJETNmzfX7NmzZTabXe1FOnTooL/+9a+aMGGCa2PLrKwsJSYmqlu3brrkkksqda85c+bojjvuUJMmTXTxxRersLBQ69at09GjRzV16tQznte+fXt98MEH+vHHH9W0aVM9+eSTysjIKFd4jomJ0c8//6yUlBQFBAQoJCREt956qxYsWKDbb79dU6ZM0Y4dOzR79mxNnTrV1S+8Ovz9/XXLLbe4vmetW7fW448/rvz8fP3tb3+TJM2aNUs9e/ZUly5dVFhYqC+++EJxcXGSpCeffFItWrRQjx49ZDab9f777ysiIkLBwcHVzgQAAAAAtYViOAAA8Fjz58/XrbfeqksvvVRBQUG67777lJaWJpvN5jrmtdde0z//+U/dc889Sk9PV2hoqM4//3xdeumllb7PjTfeKD8/P/373//WvffeK39/f3Xt2lV33XXXWc+bMWOG9u7dqxEjRsjPz0833XSTxo4dq+PHj7uOmTZtmm644QZ17txZJ0+eVHJysmJiYrRs2TLde++9io+PV0hIiP72t79pxowZVf4e/a9//etfcjgcGj9+vE6cOKFevXppxYoVatq0qaTSlerTp09XSkqKfH19dcEFF+i9996TVPoHiMcff1y7du2SxWLReeedp2XLltWoQA8AAAAAtYViOAAA8FiBgYF6++23XY/z8vI0Z84c3XTTTa4xq9WqOXPmaM6cOae9xsSJEzVx4sRyY2PHji3XokSSxo0bp3Hjxp32GjExMRWOl6SQkBB98sknZ30NHTp00Jo1ayqMDxo0SGvXrj3jeatWrTrrdcssXry43GObzaann35aTz/99GmPnzFjxhmL7pMnTy63iSgAAAAAuBOK4QAAwGNt3LhRO3fuVO/evXX8+HHNnTtXkjRmzBiDkwEAAAAA6hufWQUAAB7tiSeeUHx8vIYOHaq8vDx9//33Cg0NNToW0Kh99913Gj16tFq2bCmTyfSnn5D46KOPNGzYMIWFhSkoKEh9+/bVihUr6icsAAAAPAbFcAAA4LF69Oih9evXKzc3V0eOHFFCQoK6du1qdCyg0cvLy1N8fLwWLlxYqeO/++47DRs2TMuWLdP69et14YUXavTo0dq4cWMdJwUAAIAnoU0KAAAAgHo1cuRIjRw5stLHL1iwoNzjRx99VJ9++qk+//xz9ejRo5bTAQAAwFNRDAcAAADQoDgcDp04cUIhISFnPKawsFCFhYWuxzk5OZIku90uu91e5xkl6fCJfNc94RnK5pI59SzMq2diXj0Pc+qZamNeq3IuxXA3sGNfoZ5eckS5J2I1apTRaQAAAAD39sQTTyg3N1dXX331GY+ZN2+e5syZU2F85cqV8vPzq8t4kqRjhdKTWyzqE2aWc2WCTKY6vyXqUUJCgtERUAeYV8/EvHoe5tQz1WRe8/PzK30sxXA3YPM2KynFLqvFXw6H0+g4AAAAgNt65513NGfOHH366adq3rz5GY+bPn26pk6d6nqck5OjqKgoDR8+XEFBQXWfc22ajm9I0sp0k7xDWuhfl3eVjxdbNjV0drtdCQkJGjZsmKxWq9FxUEuYV8/EvHoe5tQz1ca8ln0CsDIohruBVs29ZPWS7MUWHTxcopiWRicCAAAA3M97772nG2+8Ue+//76GDh161mN9fHzk4+NTYdxqtdbLL9A39G8rq8WsGZ9u0Re/ZSg7z65F1/dSEz9+efcE9fVzhPrFvHom5tXzMKeeqSbzWpXzWJrgBiwWk6IjSv8ukXyAvkcAAADA/3r33Xc1adIkvfvuu7rkkkuMjlMpV/WM1N87OeTvY9FPe4/oihd+VNqRyn+MFwAAALWLYribaBtZ+heM5APFBicBAMCzDR48WHfddZfrcUxMjBYsWFBn93vooYfUvXv3Gl0jJSVFJpNJmzZtqpVM9eV/v9dAmdzcXG3atMn1M52cnKxNmzYpNTVVUmmLkwkTJriOf+eddzRhwgTNnz9fffr00aFDh3To0CEdP37ciPhV0inYqfdu7K2IIJt2Z+bqsud+1K/7jxkdCwAAoFGiGO4m2rQsK4azMhwAgPr0yy+/6Kabbqqz60+bNk2JiYk1ukZUVJQOHjyoc845p5ZSlarrPwQAZ7Ju3Tr16NFDPXr0kCRNnTpVPXr00KxZsyRJBw8edBXGJenFF19UcXGxbrvtNrVo0cL1deeddxqSv6o6RQTqk9v6K65FkLJzC3XNop/01bYMo2MBAAA0OvQMdxNtW5ZOxV5WhgMAUK/CwsLq5LpOp1MlJSUKCAhQQEBAja5lsVgUERFRS8lqX1FRkby9vY2OgQZk8ODBcjrPvHH84sWLyz1etWpV3QaqBxFNbFr69/N12zsb9d3OLN305jo99JcumtA3xuhoAAAAjQYrw91EzKli+MHsEuUXOAxOAwDAn3BKyjPo68z1swry8vI0YcIEBQQEqEWLFpo/f36FY/64OtrpdOqhhx5S69at5ePjo5YtW+qOO+5wHVtYWKh//OMfioqKko+Pj9q1a6dXXnlFUmmxzmQy6csvv1TPnj3l4+Oj1atXV2iTMnHiRI0dO1aPPvqowsPDFRwcrLlz56q4uFj33nuvQkJC1KpVK7322muuc/63TUrZvRITE9WrVy/5+fmpX79+2rFjh+ucPXv2aMyYMQoPD1dAQIDOO+88ffXVV67nBw8erH379unuu++WyWSSyWRyPffhhx+qS5cu8vHxUUxMTIXvW0xMjB5++GFNmDBBQUFBlV5Zf/ToUU2YMEFNmzaVn5+fRo4cqV27drme37dvn0aPHq2mTZvK399fXbp00bJly1znXn/99WrXrp38/f3Vvn37ct8joCEItFn1yg29dO15UXI4pVmfbtUj/90mh6MK/2EDAABAtVEMdxPBARb5+5S2SKFVCgDA7eVLCjDoqwp7z91333369ttv9emnn2rlypVatWqVNmzYcMbjP/zwQ/3nP//RokWLtGvXLn3yySfq2rWr6/kJEybo3Xff1dNPP62kpCQtWrSowqrv+++/X//617+UlJSkbt26nfY+X3/9tQ4cOKDvvvtOTz75pGbPnq1LL71UTZs21c8//6ybb75Zf//737V///6zvr4HH3xQ8+fP17p16+Tl5aX/+7//cz2Xm5urUaNGKTExURs3btTFF1+s0aNHu1pPfPTRR2rVqpXmzp2rgwcP6uDBg5Kk9evX6+qrr9a1116r3377TQ899JBmzpxZYaXuE088ofj4eG3cuFEzZ848a84yEydO1Lp16/TZZ59pzZo1cjqdGjVqlOz20vc+t912mwoLC/Xdd9/pt99+02OPPeb6/s6cOVNJSUl6//33tXXrVj3//PMKDQ2t1H0Bd2K1mDXv8q66d0RHSdJL3ydryrsbVGAvMTgZAACA56NNihsJDTypvEKr9qYXqUtbH6PjAADQoOXm5urVV1/VW2+9pSFDhkiSXn/9dbVq1eqM56SmpioiIkJDhw6V1WpV69at1bt3b0nSzp07tXTpUiUkJGjo0KGSpLZt21a4xty5czVs2LCzZgsJCdHTTz8ts9msjh076vHHH1d+fr4eeOABSaWbB/7rX//S6tWrde21157xOo888ogGDRokqbQIf8kll6igoEA2m03x8fGKj493Hfvwww/r448/1meffaYpU6YoJCREFotFgYGB5VqwPPnkkxoyZIirwN2hQwdt27ZN//73vzVx4kTXcRdddJHuueees77OP9q1a5c+++wz/fDDD+rXr58k6e2331ZUVJQ++eQTXXXVVUpNTdUVV1zh+gPEH7+/qamp6t69u3r06KGgoKDTfu+BhsJkMum2C9upVVNf3fv+r1r22yEdOv6TXprQS80C+D0AAACgrrAy3I2EBpyUJO1NZ2U4AMDN+UnKNejLr3IRk5OTVVRUpD59+rjGQkJC1LFjxzOec9VVV+nkyZNq27atJk+erI8//ljFxaX7eWzatEkWi8VVfD6TXr16/Wm2Ll26yGz+/W1YeHh4uRXoFotFzZo1U2Zm5lmv88eV5y1atJAk1zm5ubmaNm2a4uLiFBwcrICAACUlJZXblPB0kpKS1L9//3Jj/fv3165du1RS8vvK1cq8zv+9rpeXV7n5aNasmTp27Kik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RURERE5CXJQft10ayeM3RuNvt/DPqmLufjmVPRnqJS4iIiJS3VgsFl68vC3hgXZW7srhjd83mV2SiJhIYbiIiIjIKejbKZix98YRHW5j624nd7yQwopNxWaXJSIiIiKHiQ8L4JmLWwMw7o9NLNuRbW5BImIaheEiIiIip6h5AwdvPRTPGYl2cvLd3P9aGr/Oyze7LBERERE5zIXtanNRu9q43B5GfrWMolKX2SWJiAkUhouIiIichtgIP167L57e7QMpc8GLn2RqYU0RERGRaujpwa1JCAtgS0YBY35da3Y5ImICheEiIiIipynA38rom2K47vwwQAtrioiIiFRH4UF2XryiLQAfz9vOXxvSTa5IRKqawnARERGRCmC1Wrjhggge08KaIiIiItVWrzNiub5bfQAemLSc7MJSkysSkaqkMFxERESkAp3dKZhXtbCmiIiISLX18HktaBQTTGpuCaN/XG12OSJShRSGi4iIiFSwFg0cvPXgoQtr/r6owOyyRERERAQI9LfxypAkbFYLPy3fzc/Ld5tdkohUEYXhIiIiIpUgNtKPsSMPLKz53Ed7WbW5xOyyRERERARISozgzr5NAHjsh1Wk5OhKPpGaQGG4iIiISCUJdBgLa+4LxJ+YkE5apnqIi4iIiFQHd53dhLZ1w8kpcvLgtyvweDxmlyQilUxhuIiIiEglslotPHRtNI3q2MnKdfP4O+kUl7rNLktERESkxrPbrLzyf0k4/Kz8tSGdd/7aYnZJIlLJFIaLiIiIVLLAACvP3BZLeIiVjTucvPhppmYeiYiIiFQDTeJCeGxQCwCe+3Udk1fsMbkiEalMCsNFREREqkBCtB//HR6DzQp/LCrki2m5ZpckIiIiIsA1XetzQ/cGANz79TIWbss0tyARqTQKw0VERESqSLszArjr/yIBmPhTDn+vKDS5IhERERGxWCw8fkFLBrSMp7TMzc0fLWJzer7ZZYlIJagWYfi4ceNo0KABAQEBdOnShQULFhzzvn369MFisRyxDRo0aP99PB4Po0ePplatWgQGBtKvXz82btxYFU9FRERE5F9d1DuUi3qF4PHAsx/uZdsep9kliYiIiNR4NquF14a2JykxgpwiJzd8sID0vBKzyxKRCmZ6GP7VV18xcuRInnjiCZYsWUK7du0YOHAgaWlpR73/d999x549e/Zvq1atwmaz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48X8tSGdIqeLuFAH13VrYHZpNZrCcBGRimThQN/t0+3lbgXalW/3Ycw4n8eBWeOLMIJwO8Zikf0wZoCfScX/drdgBO9RGH26RURETlFpaSmLFy9m1KhR+/dZrVb69evHvHnzjnncU089RVxcHDfddBOzZ88+7nlKSkooKSnZ/31ubi4ATqcTp9N5Gs/gxO07T1WdTyqfxtQ3aVx9k8bV93jjmFqBN4e05aZPlrBwWxZ3n90YP4sbp9NtdmnVRkWM68kcqzBcRMRbOIA+5dv/MGZqb8Doo320BTtFRESqoYyMDFwuF/Hxh67OHR8fz7p1R+/DNWfOHCZOnMiyZctO+DxjxozhySefPGL/tGnTCAoKOqmaT9f06dOr9HxS+TSmvknj6ps0rr7HG8f0ynjoGwahaSuYMmWF2eVUS6czroWFhSd8X4XhIiLeKhLoYnYRIiIilSsvL49rr72WCRMmEBMTc8LHjRo1ipEjR+7/Pjc3l8TERAYMGEBYWFhllHoEp9PJ9OnT6d+/P3a7eoP6Ao2pb9K4+iaNq+/RmPqmihjXfVcAngiF4SIiIiIiUmViYmKw2WykpqYesj81NZWEhIQj7r9582a2bdvGhRdeuH+f221cWuzn58f69etp3LjxEcc5HA4cDscR++12e5W/gTbjnFK5NKa+SePqmzSuvkdj6ptOZ1xP5jgtYSYiIiIiIlXG39+fjh07MnPmzP373G43M2fOpFu3bkfcv3nz5qxcuZJly5bt3y666CL69u3LsmXLSExMrMryRURERMSLaWa4iIiIiIhUqZEjR3L99dfTqVMnOnfuzNixYykoKGDYsGEAXHfdddSpU4cxY8YQEBBA69atDzk+IiIC4Ij9IiIiIiL/RmG4iIiIiIhUqSFDhpCens7o0aNJSUkhKSmJqVOn7l9UMzk5GatVF7GKiIiISMVSGC4iIiIiIlVuxIgRjBgx4qg/mzVr1r8e++GHH1Z8QSIiIiLi8zTdQkRERERERERERER8nsJwEREREREREREREfF5CsNFRERERERERERExOcpDBcRERERERERERERn6cwXERERERERERERER8nsJwEREREREREREREfF5CsNFRERERERERERExOcpDBcRERERERERERERn6cwXERERERERERERER8nsJwEREREREREREREfF5CsNFRERERERERERExOcpDBcRERERERERERERn6cwXERERERERERERER8nsJwEREREREREREREfF5CsNFRERERERERERExOcpDBcRERERERERERERn6cwXERERERERERERER8nsJwEREREREREREREfF5CsNFRERERERERERExOcpDBcRERERERERERERn6cwXERERERERERERER8nsJwEREREREREREREfF5CsNFRERERERERERExOf5mV1AdeTxeADIzc2tsnM6nU4KCwvJzc3FbrdX2Xml8mhMfZPG1TdpXH2PxtQ3VcS47nt9t+/1ntQceo0vFUFj6ps0rr5J4+p7NKa+qapf4ysMP4q8vDwAEhMTTa5ERERERCpDXl4e4eHhZpchVUiv8UVERER824m8xrd4NC3mCG63m927dxMaGorFYqmSc+bm5pKYmMiOHTsICwurknNK5dKY+iaNq2/SuPoejalvqohx9Xj+v737D62q/uM4/rpz3qn76XTth267E381fyydumaU4oZDSrQCl4ipSWFewyUS9IfNQJsaiT+yDKI0yfxRqCSUrak3FH/MyULNzJ9McG4smW0rm+ye7x/SoZt+a9n03PPx+YALu+fcu/PZfXnlxZtzz7XU1NSktLQ0RURwxcAHCR0fHYFMzUSuZiJX85Cpme53x+fM8DuIiIhQ7969HTl2XFwcb2jDkKmZyNVM5GoeMjXTf82VM8IfTHR8dCQyNRO5molczUOmZrpfHZ/TYQAAAAAAAAAAxmMYDgAAAAAAAAAwHsPwMBEVFaXS0lJFRUU5vRR0EDI1E7maiVzNQ6ZmIle4Df9mzUOmZiJXM5GrecjUTPc7V75AEwAAAAAAAABgPM4MBwAAAAAAAAAYj2E4AAAAAAAAAMB4DMMBAAAAAAAAAMZjGA4AAAAAAAAAMB7D8DCwbt06+Xw+denSRXl5eTp69KjTS8K/8N1332nixIlKS0uTx+PRzp07Q/ZblqU33nhDqamp6tq1qwoLC3X27FlnFot2KSsr08iRIxUbG6uHHnpIkydP1pkzZ0Iec+PGDfn9fvXo0UMxMTF69tlnVVdX59CK0R7vv/++hg4dqri4OMXFxSk/P19fffWVvZ9M3W/ZsmXyeDwqKSmxt5Gr+yxevFgejyfkNnDgQHs/mcIt6PjuRsc3Dx3fTHR889HxzRBOHZ9huMO2bt2qBQsWqLS0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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fit in 70.86 sec\n" + ] + } + ], + "source": [ + "import time\n", + "from scipy.stats import multivariate_normal, entropy\n", + "\n", + "n_epochs = 50\n", + "\n", + "num_qnn_outputs = num_discrete_values**num_dim\n", + "\n", + "generator_loss_values = []\n", + "discriminator_loss_values = []\n", + "entropy_values = []\n", + "\n", + "start = time.time()\n", + "for epoch in range(n_epochs):\n", + "\n", + " valid = torch.ones(num_qnn_outputs, 1, dtype=torch.float)\n", + " fake = torch.zeros(num_qnn_outputs, 1, dtype=torch.float)\n", + "\n", + " # Configure input\n", + " real_dist = torch.tensor(prob_data, dtype=torch.float).reshape(-1, 1)\n", + "\n", + " # Configure samples\n", + " samples = torch.tensor(grid_elements, dtype=torch.float)\n", + " disc_value = discriminator(samples)\n", + "\n", + " # Generate data\n", + " gen_dist = generator(torch.tensor([])).reshape(-1, 1)\n", + "\n", + " # Train generator\n", + " generator_optimizer.zero_grad()\n", + " generator_loss = adversarial_loss(disc_value, valid, gen_dist)\n", + "\n", + " # store for plotting\n", + " generator_loss_values.append(generator_loss.detach().item())\n", + "\n", + " generator_loss.backward(retain_graph=True)\n", + " generator_optimizer.step()\n", + "\n", + " # Train Discriminator\n", + " discriminator_optimizer.zero_grad()\n", + "\n", + " real_loss = adversarial_loss(disc_value, valid, real_dist)\n", + " fake_loss = adversarial_loss(disc_value, fake, gen_dist.detach())\n", + " discriminator_loss = (real_loss + fake_loss) / 2\n", + "\n", + " # Store for plotting\n", + " discriminator_loss_values.append(discriminator_loss.detach().item())\n", + "\n", + " discriminator_loss.backward()\n", + " discriminator_optimizer.step()\n", + "\n", + " entropy_value = entropy(gen_dist.detach().squeeze().numpy(), prob_data)\n", + " entropy_values.append(entropy_value)\n", + "\n", + " plot_training_progress()\n", + "\n", + "elapsed = time.time() - start\n", + "print(f\"Fit in {elapsed:0.2f} sec\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 6. Results: Cumulative Density Functions\n", + "In this section we compare the cumulative distribution function (CDF) of the trained distribution to the CDF of the target distribution.\n", + "\n", + "First, we generate a new probability distribution with PyTorch autograd turned off as we are not going to train the model anymore." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "with torch.no_grad():\n", + " generated_probabilities = generator().numpy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And then, we plot the cumulative distribution functions of the generated distribution, original distribution, and the difference between them. Please, be careful, the scale on the third plot **is not the same** as on the first and second plot, and the actual difference between the two plotted CDFs is pretty small." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(18, 9))\n", + "\n", + "# Generated CDF\n", + "gen_prob_grid = np.reshape(np.cumsum(generated_probabilities), grid_shape)\n", + "\n", + "ax1 = fig.add_subplot(1, 3, 1, projection=\"3d\")\n", + "ax1.set_title(\"Generated CDF\")\n", + "ax1.plot_surface(mesh_x, mesh_y, gen_prob_grid, linewidth=0, antialiased=False, cmap=cm.coolwarm)\n", + "ax1.set_zlim(-0.05, 1.05)\n", + "\n", + "# Real CDF\n", + "real_prob_grid = np.reshape(np.cumsum(prob_data), grid_shape)\n", + "\n", + "ax2 = fig.add_subplot(1, 3, 2, projection=\"3d\")\n", + "ax2.set_title(\"True CDF\")\n", + "ax2.plot_surface(mesh_x, mesh_y, real_prob_grid, linewidth=0, antialiased=False, cmap=cm.coolwarm)\n", + "ax2.set_zlim(-0.05, 1.05)\n", + "\n", + "# Difference\n", + "ax3 = fig.add_subplot(1, 3, 3, projection=\"3d\")\n", + "ax3.set_title(\"Difference between CDFs\")\n", + "ax3.plot_surface(\n", + " mesh_x, mesh_y, real_prob_grid - gen_prob_grid, linewidth=2, antialiased=False, cmap=cm.coolwarm\n", + ")\n", + "ax3.set_zlim(-0.05, 0.1)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 7. Conclusion\n", + "\n", + "Quantum generative adversarial networks employ the interplay of a generator and discriminator to map an approximate representation of a probability distribution underlying given data samples into a quantum channel. This tutorial presents a self-standing PyTorch-based qGAN implementation where the generator is given by a quantum channel, i.e., a variational quantum circuit, and the discriminator by a classical neural network, and discusses the application of efficient learning and loading of generic probability distributions into quantum states. The loading requires $\\mathscr{O}\\left(poly\\left(n\\right)\\right)$ gates and can thus enable the use of potentially advantageous quantum algorithms." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.23.1
qiskit-aer0.12.0
qiskit-machine-learning0.6.0
System information
Python version3.8.13
Python compilerClang 12.0.0
Python builddefault, Oct 19 2022 17:54:22
OSDarwin
CPUs10
Memory (Gb)64.0
Mon Feb 20 17:09:10 2023 GMT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/_sources/tutorials/05_torch_connector.ipynb.txt b/_sources/tutorials/05_torch_connector.ipynb.txt new file mode 100644 index 000000000..0a4abcb7f --- /dev/null +++ b/_sources/tutorials/05_torch_connector.ipynb.txt @@ -0,0 +1,1277 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "secondary-copying", + "metadata": {}, + "source": [ + "# Torch Connector and Hybrid QNNs\n", + "\n", + "This tutorial introduces the `TorchConnector` class, and demonstrates how it allows for a natural integration of any `NeuralNetwork` from Qiskit Machine Learning into a PyTorch workflow. `TorchConnector` takes a `NeuralNetwork` and makes it available as a PyTorch `Module`. The resulting module can be seamlessly incorporated into PyTorch classical architectures and trained jointly without additional considerations, enabling the development and testing of novel **hybrid quantum-classical** machine learning architectures.\n", + "\n", + "## Content:\n", + "\n", + "[Part 1: Simple Classification & Regression](#Part-1:-Simple-Classification-&-Regression)\n", + "\n", + "The first part of this tutorial shows how quantum neural networks can be trained using PyTorch's automatic differentiation engine (`torch.autograd`, [link](https://pytorch.org/tutorials/beginner/blitz/autograd_tutorial.html)) for simple classification and regression tasks. \n", + "\n", + "1. [Classification](#1.-Classification)\n", + " 1. Classification with PyTorch and `EstimatorQNN`\n", + " 2. Classification with PyTorch and `SamplerQNN`\n", + "2. [Regression](#2.-Regression)\n", + " 1. Regression with PyTorch and `EstimatorQNN`\n", + "\n", + "[Part 2: MNIST Classification, Hybrid QNNs](#Part-2:-MNIST-Classification,-Hybrid-QNNs)\n", + "\n", + "The second part of this tutorial illustrates how to embed a (Quantum) `NeuralNetwork` into a target PyTorch workflow (in this case, a typical CNN architecture) to classify MNIST data in a hybrid quantum-classical manner.\n", + "\n", + "***" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "banned-helicopter", + "metadata": {}, + "outputs": [], + "source": [ + "# Necessary imports\n", + "\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from torch import Tensor\n", + "from torch.nn import Linear, CrossEntropyLoss, MSELoss\n", + "from torch.optim import LBFGS\n", + "\n", + "from qiskit import QuantumCircuit\n", + "from qiskit.circuit import Parameter\n", + "from qiskit.circuit.library import RealAmplitudes, ZZFeatureMap\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "from qiskit_machine_learning.neural_networks import SamplerQNN, EstimatorQNN\n", + "from qiskit_machine_learning.connectors import TorchConnector\n", + "\n", + "# Set seed for random generators\n", + "algorithm_globals.random_seed = 42" + ] + }, + { + "cell_type": "markdown", + "id": "unique-snapshot", + "metadata": {}, + "source": [ + "## Part 1: Simple Classification & Regression" + ] + }, + { + "cell_type": "markdown", + "id": "surgical-penetration", + "metadata": {}, + "source": [ + "### 1. Classification\n", + "\n", + "First, we show how `TorchConnector` allows to train a Quantum `NeuralNetwork` to solve a classification tasks using PyTorch's automatic differentiation engine. In order to illustrate this, we will perform **binary classification** on a randomly generated dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "secure-tragedy", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Generate random dataset\n", + "\n", + "# Select dataset dimension (num_inputs) and size (num_samples)\n", + "num_inputs = 2\n", + "num_samples = 20\n", + "\n", + "# Generate random input coordinates (X) and binary labels (y)\n", + "X = 2 * algorithm_globals.random.random([num_samples, num_inputs]) - 1\n", + "y01 = 1 * (np.sum(X, axis=1) >= 0) # in { 0, 1}, y01 will be used for SamplerQNN example\n", + "y = 2 * y01 - 1 # in {-1, +1}, y will be used for EstimatorQNN example\n", + "\n", + "# Convert to torch Tensors\n", + "X_ = Tensor(X)\n", + "y01_ = Tensor(y01).reshape(len(y)).long()\n", + "y_ = Tensor(y).reshape(len(y), 1)\n", + "\n", + "# Plot dataset\n", + "for x, y_target in zip(X, y):\n", + " if y_target == 1:\n", + " plt.plot(x[0], x[1], \"bo\")\n", + " else:\n", + " plt.plot(x[0], x[1], \"go\")\n", + "plt.plot([-1, 1], [1, -1], \"--\", color=\"black\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "hazardous-rehabilitation", + "metadata": {}, + "source": [ + "#### A. Classification with PyTorch and `EstimatorQNN`\n", + "\n", + "Linking an `EstimatorQNN` to PyTorch is relatively straightforward. Here we illustrate this by using the `EstimatorQNN` constructed from a feature map and an ansatz." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fewer-desperate", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Set up a circuit\n", + "feature_map = ZZFeatureMap(num_inputs)\n", + "ansatz = RealAmplitudes(num_inputs)\n", + "qc = QuantumCircuit(num_inputs)\n", + "qc.compose(feature_map, inplace=True)\n", + "qc.compose(ansatz, inplace=True)\n", + "qc.draw(\"mpl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "humanitarian-flavor", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initial weights: [-0.01256962 0.06653564 0.04005302 -0.03752667 0.06645196 0.06095287\n", + " -0.02250432 -0.04233438]\n" + ] + } + ], + "source": [ + "# Setup QNN\n", + "qnn1 = EstimatorQNN(\n", + " circuit=qc, input_params=feature_map.parameters, weight_params=ansatz.parameters\n", + ")\n", + "\n", + "# Set up PyTorch module\n", + "# Note: If we don't explicitly declare the initial weights\n", + "# they are chosen uniformly at random from [-1, 1].\n", + "initial_weights = 0.1 * (2 * algorithm_globals.random.random(qnn1.num_weights) - 1)\n", + "model1 = TorchConnector(qnn1, initial_weights=initial_weights)\n", + "print(\"Initial weights: \", initial_weights)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "likely-grace", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([-0.3285], grad_fn=<_TorchNNFunctionBackward>)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Test with a single input\n", + "model1(X_[0, :])" + ] + }, + { + "cell_type": "markdown", + "id": "gorgeous-segment", + "metadata": {}, + "source": [ + "##### Optimizer\n", + "The choice of optimizer for training any machine learning model can be crucial in determining the success of our training's outcome. When using `TorchConnector`, we get access to all of the optimizer algorithms defined in the [`torch.optim`] package ([link](https://pytorch.org/docs/stable/optim.html)). Some of the most famous algorithms used in popular machine learning architectures include *Adam*, *SGD*, or *Adagrad*. However, for this tutorial we will be using the L-BFGS algorithm (`torch.optim.LBFGS`), one of the most well know second-order optimization algorithms for numerical optimization. \n", + "\n", + "##### Loss Function\n", + "As for the loss function, we can also take advantage of PyTorch's pre-defined modules from `torch.nn`, such as the [Cross-Entropy](https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html) or [Mean Squared Error](https://pytorch.org/docs/stable/generated/torch.nn.MSELoss.html) losses.\n", + "\n", + "\n", + "**💡 Clarification :** \n", + "In classical machine learning, the general rule of thumb is to apply a Cross-Entropy loss to classification tasks, and MSE loss to regression tasks. However, this recommendation is given under the assumption that the output of the classification network is a class probability value in the $[0, 1]$ range (usually this is achieved through a Softmax layer). Because the following example for `EstimatorQNN` does not include such layer, and we don't apply any mapping to the output (the following section shows an example of application of parity mapping with `SamplerQNN`s), the QNN's output can take any value in the range $[-1, 1]$. In case you were wondering, this is the reason why this particular example uses MSELoss for classification despite it not being the norm (but we encourage you to experiment with different loss functions and see how they can impact training results). " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "following-extension", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "25.535646438598633\n", + "22.696760177612305\n", + "20.039228439331055\n", + "19.687908172607422\n", + "19.267208099365234\n", + "19.025373458862305\n", + "18.154708862304688\n", + "17.337854385375977\n", + "19.082578659057617\n", + "17.073287963867188\n", + "16.21839141845703\n", + "14.992582321166992\n", + "14.929339408874512\n", + "14.914533615112305\n", + "14.907636642456055\n", + "14.902364730834961\n", + "14.902134895324707\n", + "14.90211009979248\n", + "14.902111053466797\n" + ] + }, + { + "data": { + "text/plain": [ + "tensor(25.5356, grad_fn=)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Define optimizer and loss\n", + "optimizer = LBFGS(model1.parameters())\n", + "f_loss = MSELoss(reduction=\"sum\")\n", + "\n", + "# Start training\n", + "model1.train() # set model to training mode\n", + "\n", + "\n", + "# Note from (https://pytorch.org/docs/stable/optim.html):\n", + "# Some optimization algorithms such as LBFGS need to\n", + "# reevaluate the function multiple times, so you have to\n", + "# pass in a closure that allows them to recompute your model.\n", + "# The closure should clear the gradients, compute the loss,\n", + "# and return it.\n", + "def closure():\n", + " optimizer.zero_grad() # Initialize/clear gradients\n", + " loss = f_loss(model1(X_), y_) # Evaluate loss function\n", + " loss.backward() # Backward pass\n", + " print(loss.item()) # Print loss\n", + " return loss\n", + "\n", + "\n", + "# Run optimizer step4\n", + "optimizer.step(closure)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "efficient-bangkok", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 0.8\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Evaluate model and compute accuracy\n", + "model1.eval()\n", + "y_predict = []\n", + "for x, y_target in zip(X, y):\n", + " output = model1(Tensor(x))\n", + " y_predict += [np.sign(output.detach().numpy())[0]]\n", + "\n", + "print(\"Accuracy:\", sum(y_predict == y) / len(y))\n", + "\n", + "# Plot results\n", + "# red == wrongly classified\n", + "for x, y_target, y_p in zip(X, y, y_predict):\n", + " if y_target == 1:\n", + " plt.plot(x[0], x[1], \"bo\")\n", + " else:\n", + " plt.plot(x[0], x[1], \"go\")\n", + " if y_target != y_p:\n", + " plt.scatter(x[0], x[1], s=200, facecolors=\"none\", edgecolors=\"r\", linewidths=2)\n", + "plt.plot([-1, 1], [1, -1], \"--\", color=\"black\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "abstract-parish", + "metadata": {}, + "source": [ + "The red circles indicate wrongly classified data points." + ] + }, + { + "cell_type": "markdown", + "id": "typical-cross", + "metadata": {}, + "source": [ + "#### B. Classification with PyTorch and `SamplerQNN`\n", + "\n", + "Linking a `SamplerQNN` to PyTorch requires a bit more attention than `EstimatorQNN`. Without the correct setup, backpropagation is not possible. \n", + "\n", + "In particular, we must make sure that we are returning a dense array of probabilities in the network's forward pass (`sparse=False`). This parameter is set up to `False` by default, so we just have to make sure that it has not been changed.\n", + "\n", + "**⚠️ Attention:** \n", + "If we define a custom interpret function ( in the example: `parity`), we must remember to explicitly provide the desired output shape ( in the example: `2`). For more info on the initial parameter setup for `SamplerQNN`, please check out the [official qiskit documentation](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.neural_networks.SamplerQNN.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "present-operator", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initial weights: [ 0.0364991 -0.0720495 -0.06001836 -0.09852755]\n" + ] + } + ], + "source": [ + "# Define feature map and ansatz\n", + "feature_map = ZZFeatureMap(num_inputs)\n", + "ansatz = RealAmplitudes(num_inputs, entanglement=\"linear\", reps=1)\n", + "\n", + "# Define quantum circuit of num_qubits = input dim\n", + "# Append feature map and ansatz\n", + "qc = QuantumCircuit(num_inputs)\n", + "qc.compose(feature_map, inplace=True)\n", + "qc.compose(ansatz, inplace=True)\n", + "\n", + "# Define SamplerQNN and initial setup\n", + "parity = lambda x: \"{:b}\".format(x).count(\"1\") % 2 # optional interpret function\n", + "output_shape = 2 # parity = 0, 1\n", + "qnn2 = SamplerQNN(\n", + " circuit=qc,\n", + " input_params=feature_map.parameters,\n", + " weight_params=ansatz.parameters,\n", + " interpret=parity,\n", + " output_shape=output_shape,\n", + ")\n", + "\n", + "# Set up PyTorch module\n", + "# Reminder: If we don't explicitly declare the initial weights\n", + "# they are chosen uniformly at random from [-1, 1].\n", + "initial_weights = 0.1 * (2 * algorithm_globals.random.random(qnn2.num_weights) - 1)\n", + "print(\"Initial weights: \", initial_weights)\n", + "model2 = TorchConnector(qnn2, initial_weights)" + ] + }, + { + "cell_type": "markdown", + "id": "liquid-reviewer", + "metadata": {}, + "source": [ + "For a reminder on optimizer and loss function choices, you can go back to [this section](#Optimizer)." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "marked-harvest", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.6925069093704224\n", + "0.6881508231163025\n", + "0.6516683101654053\n", + "0.6485998034477234\n", + "0.6394743919372559\n", + "0.7057444453239441\n", + "0.669085681438446\n", + "0.766187310218811\n", + "0.7188469171524048\n", + "0.7919709086418152\n", + "0.7598814964294434\n", + "0.7028256058692932\n", + "0.7486447095870972\n", + "0.6890242695808411\n", + "0.7760348916053772\n", + "0.7892935276031494\n", + "0.7556288242340088\n", + "0.7058126330375671\n", + "0.7203161716461182\n", + "0.7030722498893738\n" + ] + } + ], + "source": [ + "# Define model, optimizer, and loss\n", + "optimizer = LBFGS(model2.parameters())\n", + "f_loss = CrossEntropyLoss() # Our output will be in the [0,1] range\n", + "\n", + "# Start training\n", + "model2.train()\n", + "\n", + "# Define LBFGS closure method (explained in previous section)\n", + "def closure():\n", + " optimizer.zero_grad(set_to_none=True) # Initialize gradient\n", + " loss = f_loss(model2(X_), y01_) # Calculate loss\n", + " loss.backward() # Backward pass\n", + "\n", + " print(loss.item()) # Print loss\n", + " return loss\n", + "\n", + "\n", + "# Run optimizer (LBFGS requires closure)\n", + "optimizer.step(closure);" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "falling-electronics", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 0.5\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Evaluate model and compute accuracy\n", + "model2.eval()\n", + "y_predict = []\n", + "for x in X:\n", + " output = model2(Tensor(x))\n", + " y_predict += [np.argmax(output.detach().numpy())]\n", + "\n", + "print(\"Accuracy:\", sum(y_predict == y01) / len(y01))\n", + "\n", + "# plot results\n", + "# red == wrongly classified\n", + "for x, y_target, y_ in zip(X, y01, y_predict):\n", + " if y_target == 1:\n", + " plt.plot(x[0], x[1], \"bo\")\n", + " else:\n", + " plt.plot(x[0], x[1], \"go\")\n", + " if y_target != y_:\n", + " plt.scatter(x[0], x[1], s=200, facecolors=\"none\", edgecolors=\"r\", linewidths=2)\n", + "plt.plot([-1, 1], [1, -1], \"--\", color=\"black\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "aboriginal-white", + "metadata": {}, + "source": [ + "The red circles indicate wrongly classified data points." + ] + }, + { + "cell_type": "markdown", + "id": "scheduled-nicaragua", + "metadata": {}, + "source": [ + "### 2. Regression \n", + "\n", + "We use a model based on the `EstimatorQNN` to also illustrate how to perform a regression task. The chosen dataset in this case is randomly generated following a sine wave. " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "amateur-dubai", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Generate random dataset\n", + "\n", + "num_samples = 20\n", + "eps = 0.2\n", + "lb, ub = -np.pi, np.pi\n", + "f = lambda x: np.sin(x)\n", + "\n", + "X = (ub - lb) * algorithm_globals.random.random([num_samples, 1]) + lb\n", + "y = f(X) + eps * (2 * algorithm_globals.random.random([num_samples, 1]) - 1)\n", + "plt.plot(np.linspace(lb, ub), f(np.linspace(lb, ub)), \"r--\")\n", + "plt.plot(X, y, \"bo\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "protected-genre", + "metadata": {}, + "source": [ + "#### A. Regression with PyTorch and `EstimatorQNN`" + ] + }, + { + "cell_type": "markdown", + "id": "lovely-semiconductor", + "metadata": {}, + "source": [ + "The network definition and training loop will be analogous to those of the classification task using `EstimatorQNN`. In this case, we define our own feature map and ansatz, but let's do it a little different." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "brazilian-adapter", + "metadata": {}, + "outputs": [], + "source": [ + "# Construct simple feature map\n", + "param_x = Parameter(\"x\")\n", + "feature_map = QuantumCircuit(1, name=\"fm\")\n", + "feature_map.ry(param_x, 0)\n", + "\n", + "# Construct simple parameterized ansatz\n", + "param_y = Parameter(\"y\")\n", + "ansatz = QuantumCircuit(1, name=\"vf\")\n", + "ansatz.ry(param_y, 0)\n", + "\n", + "qc = QuantumCircuit(1)\n", + "qc.compose(feature_map, inplace=True)\n", + "qc.compose(ansatz, inplace=True)\n", + "\n", + "# Construct QNN\n", + "qnn3 = EstimatorQNN(circuit=qc, input_params=[param_x], weight_params=[param_y])\n", + "\n", + "# Set up PyTorch module\n", + "# Reminder: If we don't explicitly declare the initial weights\n", + "# they are chosen uniformly at random from [-1, 1].\n", + "initial_weights = 0.1 * (2 * algorithm_globals.random.random(qnn3.num_weights) - 1)\n", + "model3 = TorchConnector(qnn3, initial_weights)" + ] + }, + { + "cell_type": "markdown", + "id": "waiting-competition", + "metadata": {}, + "source": [ + "For a reminder on optimizer and loss function choices, you can go back to [this section](#Optimizer)." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "bibliographic-consciousness", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "14.947757720947266\n", + "2.948650360107422\n", + "8.952412605285645\n", + "0.37905153632164\n", + "0.24995625019073486\n", + "0.2483610212802887\n", + "0.24835753440856934\n" + ] + }, + { + "data": { + "text/plain": [ + "tensor(14.9478, grad_fn=)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Define optimizer and loss function\n", + "optimizer = LBFGS(model3.parameters())\n", + "f_loss = MSELoss(reduction=\"sum\")\n", + "\n", + "# Start training\n", + "model3.train() # set model to training mode\n", + "\n", + "# Define objective function\n", + "def closure():\n", + " optimizer.zero_grad(set_to_none=True) # Initialize gradient\n", + " loss = f_loss(model3(Tensor(X)), Tensor(y)) # Compute batch loss\n", + " loss.backward() # Backward pass\n", + " print(loss.item()) # Print loss\n", + " return loss\n", + "\n", + "\n", + "# Run optimizer\n", + "optimizer.step(closure)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "timely-happiness", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot target function\n", + "plt.plot(np.linspace(lb, ub), f(np.linspace(lb, ub)), \"r--\")\n", + "\n", + "# Plot data\n", + "plt.plot(X, y, \"bo\")\n", + "\n", + "# Plot fitted line\n", + "model3.eval()\n", + "y_ = []\n", + "for x in np.linspace(lb, ub):\n", + " output = model3(Tensor([x]))\n", + " y_ += [output.detach().numpy()[0]]\n", + "plt.plot(np.linspace(lb, ub), y_, \"g-\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "individual-georgia", + "metadata": {}, + "source": [ + "***\n", + "\n", + "## Part 2: MNIST Classification, Hybrid QNNs\n", + "\n", + "In this second part, we show how to leverage a hybrid quantum-classical neural network using `TorchConnector`, to perform a more complex image classification task on the MNIST handwritten digits dataset. \n", + "\n", + "For a more detailed (pre-`TorchConnector`) explanation on hybrid quantum-classical neural networks, you can check out the corresponding section in the [Qiskit Textbook](https://qiskit.org/textbook/ch-machine-learning/machine-learning-qiskit-pytorch.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "otherwise-military", + "metadata": {}, + "outputs": [], + "source": [ + "# Additional torch-related imports\n", + "import torch\n", + "from torch import cat, no_grad, manual_seed\n", + "from torch.utils.data import DataLoader\n", + "from torchvision import datasets, transforms\n", + "import torch.optim as optim\n", + "from torch.nn import (\n", + " Module,\n", + " Conv2d,\n", + " Linear,\n", + " Dropout2d,\n", + " NLLLoss,\n", + " MaxPool2d,\n", + " Flatten,\n", + " Sequential,\n", + " ReLU,\n", + ")\n", + "import torch.nn.functional as F" + ] + }, + { + "cell_type": "markdown", + "id": "bronze-encounter", + "metadata": {}, + "source": [ + "### Step 1: Defining Data-loaders for train and test" + ] + }, + { + "cell_type": "markdown", + "id": "parliamentary-middle", + "metadata": {}, + "source": [ + "We take advantage of the `torchvision` [API](https://pytorch.org/vision/stable/datasets.html) to directly load a subset of the [MNIST dataset](https://en.wikipedia.org/wiki/MNIST_database) and define torch `DataLoader`s ([link](https://pytorch.org/docs/stable/data.html)) for train and test." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "worthy-charlotte", + "metadata": {}, + "outputs": [], + "source": [ + "# Train Dataset\n", + "# -------------\n", + "\n", + "# Set train shuffle seed (for reproducibility)\n", + "manual_seed(42)\n", + "\n", + "batch_size = 1\n", + "n_samples = 100 # We will concentrate on the first 100 samples\n", + "\n", + "# Use pre-defined torchvision function to load MNIST train data\n", + "X_train = datasets.MNIST(\n", + " root=\"./data\", train=True, download=True, transform=transforms.Compose([transforms.ToTensor()])\n", + ")\n", + "\n", + "# Filter out labels (originally 0-9), leaving only labels 0 and 1\n", + "idx = np.append(\n", + " np.where(X_train.targets == 0)[0][:n_samples], np.where(X_train.targets == 1)[0][:n_samples]\n", + ")\n", + "X_train.data = X_train.data[idx]\n", + "X_train.targets = X_train.targets[idx]\n", + "\n", + "# Define torch dataloader with filtered data\n", + "train_loader = DataLoader(X_train, batch_size=batch_size, shuffle=True)" + ] + }, + { + "cell_type": "markdown", + "id": "completed-spring", + "metadata": {}, + "source": [ + "If we perform a quick visualization we can see that the train dataset consists of images of handwritten 0s and 1s." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "medieval-bibliography", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "n_samples_show = 6\n", + "\n", + "data_iter = iter(train_loader)\n", + "fig, axes = plt.subplots(nrows=1, ncols=n_samples_show, figsize=(10, 3))\n", + "\n", + "while n_samples_show > 0:\n", + " images, targets = data_iter.__next__()\n", + "\n", + " axes[n_samples_show - 1].imshow(images[0, 0].numpy().squeeze(), cmap=\"gray\")\n", + " axes[n_samples_show - 1].set_xticks([])\n", + " axes[n_samples_show - 1].set_yticks([])\n", + " axes[n_samples_show - 1].set_title(\"Labeled: {}\".format(targets[0].item()))\n", + "\n", + " n_samples_show -= 1" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "structural-chuck", + "metadata": {}, + "outputs": [], + "source": [ + "# Test Dataset\n", + "# -------------\n", + "\n", + "# Set test shuffle seed (for reproducibility)\n", + "# manual_seed(5)\n", + "\n", + "n_samples = 50\n", + "\n", + "# Use pre-defined torchvision function to load MNIST test data\n", + "X_test = datasets.MNIST(\n", + " root=\"./data\", train=False, download=True, transform=transforms.Compose([transforms.ToTensor()])\n", + ")\n", + "\n", + "# Filter out labels (originally 0-9), leaving only labels 0 and 1\n", + "idx = np.append(\n", + " np.where(X_test.targets == 0)[0][:n_samples], np.where(X_test.targets == 1)[0][:n_samples]\n", + ")\n", + "X_test.data = X_test.data[idx]\n", + "X_test.targets = X_test.targets[idx]\n", + "\n", + "# Define torch dataloader with filtered data\n", + "test_loader = DataLoader(X_test, batch_size=batch_size, shuffle=True)" + ] + }, + { + "cell_type": "markdown", + "id": "abroad-morris", + "metadata": {}, + "source": [ + "### Step 2: Defining the QNN and Hybrid Model" + ] + }, + { + "cell_type": "markdown", + "id": "super-tokyo", + "metadata": {}, + "source": [ + "This second step shows the power of the `TorchConnector`. After defining our quantum neural network layer (in this case, a `EstimatorQNN`), we can embed it into a layer in our torch `Module` by initializing a torch connector as `TorchConnector(qnn)`.\n", + "\n", + "**⚠️ Attention:**\n", + "In order to have an adequate gradient backpropagation in hybrid models, we MUST set the initial parameter `input_gradients` to TRUE during the qnn initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "urban-purse", + "metadata": {}, + "outputs": [], + "source": [ + "# Define and create QNN\n", + "def create_qnn():\n", + " feature_map = ZZFeatureMap(2)\n", + " ansatz = RealAmplitudes(2, reps=1)\n", + " qc = QuantumCircuit(2)\n", + " qc.compose(feature_map, inplace=True)\n", + " qc.compose(ansatz, inplace=True)\n", + "\n", + " # REMEMBER TO SET input_gradients=True FOR ENABLING HYBRID GRADIENT BACKPROP\n", + " qnn = EstimatorQNN(\n", + " circuit=qc,\n", + " input_params=feature_map.parameters,\n", + " weight_params=ansatz.parameters,\n", + " input_gradients=True,\n", + " )\n", + " return qnn\n", + "\n", + "\n", + "qnn4 = create_qnn()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "exclusive-productivity", + "metadata": {}, + "outputs": [], + "source": [ + "# Define torch NN module\n", + "\n", + "\n", + "class Net(Module):\n", + " def __init__(self, qnn):\n", + " super().__init__()\n", + " self.conv1 = Conv2d(1, 2, kernel_size=5)\n", + " self.conv2 = Conv2d(2, 16, kernel_size=5)\n", + " self.dropout = Dropout2d()\n", + " self.fc1 = Linear(256, 64)\n", + " self.fc2 = Linear(64, 2) # 2-dimensional input to QNN\n", + " self.qnn = TorchConnector(qnn) # Apply torch connector, weights chosen\n", + " # uniformly at random from interval [-1,1].\n", + " self.fc3 = Linear(1, 1) # 1-dimensional output from QNN\n", + "\n", + " def forward(self, x):\n", + " x = F.relu(self.conv1(x))\n", + " x = F.max_pool2d(x, 2)\n", + " x = F.relu(self.conv2(x))\n", + " x = F.max_pool2d(x, 2)\n", + " x = self.dropout(x)\n", + " x = x.view(x.shape[0], -1)\n", + " x = F.relu(self.fc1(x))\n", + " x = self.fc2(x)\n", + " x = self.qnn(x) # apply QNN\n", + " x = self.fc3(x)\n", + " return cat((x, 1 - x), -1)\n", + "\n", + "\n", + "model4 = Net(qnn4)" + ] + }, + { + "cell_type": "markdown", + "id": "academic-specific", + "metadata": {}, + "source": [ + "### Step 3: Training" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "precious-career", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Training [10%]\tLoss: -1.1630\n", + "Training [20%]\tLoss: -1.5294\n", + "Training [30%]\tLoss: -1.7855\n", + "Training [40%]\tLoss: -1.9863\n", + "Training [50%]\tLoss: -2.2257\n", + "Training [60%]\tLoss: -2.4513\n", + "Training [70%]\tLoss: -2.6758\n", + "Training [80%]\tLoss: -2.8832\n", + "Training [90%]\tLoss: -3.1006\n", + "Training [100%]\tLoss: -3.3061\n" + ] + } + ], + "source": [ + "# Define model, optimizer, and loss function\n", + "optimizer = optim.Adam(model4.parameters(), lr=0.001)\n", + "loss_func = NLLLoss()\n", + "\n", + "# Start training\n", + "epochs = 10 # Set number of epochs\n", + "loss_list = [] # Store loss history\n", + "model4.train() # Set model to training mode\n", + "\n", + "for epoch in range(epochs):\n", + " total_loss = []\n", + " for batch_idx, (data, target) in enumerate(train_loader):\n", + " optimizer.zero_grad(set_to_none=True) # Initialize gradient\n", + " output = model4(data) # Forward pass\n", + " loss = loss_func(output, target) # Calculate loss\n", + " loss.backward() # Backward pass\n", + " optimizer.step() # Optimize weights\n", + " total_loss.append(loss.item()) # Store loss\n", + " loss_list.append(sum(total_loss) / len(total_loss))\n", + " print(\"Training [{:.0f}%]\\tLoss: {:.4f}\".format(100.0 * (epoch + 1) / epochs, loss_list[-1]))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "spoken-stationery", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plot loss convergence\n", + "plt.plot(loss_list)\n", + "plt.title(\"Hybrid NN Training Convergence\")\n", + "plt.xlabel(\"Training Iterations\")\n", + "plt.ylabel(\"Neg. Log Likelihood Loss\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "physical-closure", + "metadata": {}, + "source": [ + "Now we'll save the trained model, just to show how a hybrid model can be saved and re-used later for inference. To save and load hybrid models, when using the TorchConnector, follow the PyTorch recommendations of saving and loading the models." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "regulation-bread", + "metadata": {}, + "outputs": [], + "source": [ + "torch.save(model4.state_dict(), \"model4.pt\")" + ] + }, + { + "cell_type": "markdown", + "id": "pacific-flour", + "metadata": {}, + "source": [ + "### Step 4: Evaluation" + ] + }, + { + "cell_type": "markdown", + "id": "fabulous-tribe", + "metadata": {}, + "source": [ + "We start from recreating the model and loading the state from the previously saved file. You create a QNN layer using another simulator or a real hardware. So, you can train a model on real hardware available on the cloud and then for inference use a simulator or vice verse. For a sake of simplicity we create a new quantum neural network in the same way as above." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "prospective-flooring", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qnn5 = create_qnn()\n", + "model5 = Net(qnn5)\n", + "model5.load_state_dict(torch.load(\"model4.pt\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "spectacular-conservative", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Performance on test data:\n", + "\tLoss: -3.3585\n", + "\tAccuracy: 100.0%\n" + ] + } + ], + "source": [ + "model5.eval() # set model to evaluation mode\n", + "with no_grad():\n", + "\n", + " correct = 0\n", + " for batch_idx, (data, target) in enumerate(test_loader):\n", + " output = model5(data)\n", + " if len(output.shape) == 1:\n", + " output = output.reshape(1, *output.shape)\n", + "\n", + " pred = output.argmax(dim=1, keepdim=True)\n", + " correct += pred.eq(target.view_as(pred)).sum().item()\n", + "\n", + " loss = loss_func(output, target)\n", + " total_loss.append(loss.item())\n", + "\n", + " print(\n", + " \"Performance on test data:\\n\\tLoss: {:.4f}\\n\\tAccuracy: {:.1f}%\".format(\n", + " sum(total_loss) / len(total_loss), correct / len(test_loader) / batch_size * 100\n", + " )\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "color-brave", + "metadata": { + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj8AAABxCAYAAAA6YcICAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAArqElEQVR4nO2dW2wjWXrf/4dVLLKKxTspUmrdW32/eHq9noa9m8zseo0Y2QlgJ0BevTYSxEAQPxhJkAcjCRAn2IcACYIgcWDAMJKHxA4QBNkE8cNisUCPd8fZ8XSPenb7pm61LqRI8U4WWSySxcqDdM5QanW3upsSWeL3A4iWKIms/lh16n++K3McBwRBEARBEJOCZ9QHQBAEQRAEcZqQ+CEIgiAIYqIg8UMQBEEQxERB4ocgCIIgiImCxA9BEARBEBMFiR+CIAiCICYKV4gfxtgfM8Z+f//rv8IYe3RK7+swxlZO473GFbL9aCH7jxay/+gg24+Ws27/oYkfxthzxpjJGDMYY/l9w+nDen2O4zh3HMe5dIzj+Q5j7ONhv//A6/9txtiPGGMtxtgPT+p9jnksZPsRMoH29zHG/ogxVmeM5Rhjv3tS73XM45k0+4/N+U+2Hy1k/7dn2J6fv+E4jg7gKwC+CuD3Dv8CY0we8nuOijKAfwvguyM+Dg7ZfrRMkv3/OYALABYAfAPAP2aM/epIj2iy7D9u5z/ZfrSQ/d+CEwl7OY6TAfB/AVwHhBvr7zPGngB4sv/cR4yxe4yx6r6Su8n/njF2izH2GWOswRj7EwD+gZ99yBjbHvh+jjH2PxhjBcZYiTH27xljVwD8AYBf3FfE1f3f9THG/jVjbHNfJf8BY0wdeK1/xBjbYYxlGWO/9Zr/4/cdx/lTANl3t9jwINuPlkmwP4DfAPAvHMepOI7zAMAfAvjOu9htWEyC/cf1/Cfbjxay/5txIuKHMTYH4K8DuDvw9K8BuA3gKmPsFoA/AvD3AMQB/CcA/2vfSAqA/wngvwCIAfjvAP7WS95HAvC/AWwAWARwDsB/21+QfxvAjx3H0R3Hiez/yXcBXATwHoCV/d//p/uv9asA/iGAX8HervZb72SEEUG2Hy1n3f6MsSiAaQCfDzz9OYBrrzDLqXHW7T/OkO1HC9n/DXEcZygPAM8BGACq2DPKfwCg7v/MAfDNgd/9j9jbOQ7+/SMAHwD4q9hTdWzgZz8C8Pv7X38IYHv/618EUAAgH3E83wHw8cD3DEATwPmB534RwPr+138E4LsDP7u4f9wrr/l//x0APxyWHcn27rL9pNkfwNz+z/wDz/0KgOdk/8k7/8n2o7M92f/d7D/sOOCvOY7z/Zf8bGvg6wUAv8EY+wcDzykAZvb/4xln/3+4z8ZLXnMOwIbjOL1jHFsSgAbgLxlj/DkGQNr/egbAXx7jPccVsv1omRT7G/v/hgC0B75uHOM4TpJJsf84QrYfLWT/t+A0S90HjboF4F86jhMZeGiO4/xXADsAzrEBSwGYf8lrbgGYZ0cncx0eV18EYAK4NvCeYWcvUQz77zt3jPd0I2T70XJm7O84TmX/939u4OmfA/DTl/3NGHBm7O9CyPajhez/EkbV5+cPAfw2Y+w22yPAGPs2YywI4McAegB+hzHmZYz9TQDvv+R1/h/2jPfd/dfwM8a+tv+zPIDZ/VgmHMfp77/vv2GMTQEAY+wcY+yv7f/+nwL4DmPsKmNMA/DPXvUfYIxJjDE/ABmAZ/+9vW9pj9OEbD9aXG9/AP8ZwO8xxqKMscsA/i6AP35zU4wE19vfxec/2X60kP0HeZeY2aEY3HMA33rJz16I4QH4VQA/wV6scgd7CVbB/Z99FXtJWw0Af7L/eCH2uP/9PPYStUrYU5n/bv95BcD/wV5pXHH/OT+AfwXgGYA6gAcAfmfgtf4JgBz2Yp+/ddRxD/zud/Z/Pvj442HZk2zvDttPqP192IvV17G32P3uqGw/ofYfm/OfbE9rj1vtz/ZfkCAIgiAIYiJwxXgLgiAIgiCIYUHihyAIgiCIiYLED0EQBEEQEwWJH4IgCIIgJgoSPwRBEARBTBRv1OGZMUalYe+A4zjs9b91NGT7d6boOE7ybf+Y7P/OkP1HCK09I4XO/dFypP3J80NMCm5sW3+WIPsTkwqd+6PlSPuT+CEIgiAIYqIg8UMQBEEQxERB4ocgCIIgiImCxA9BEARBEBMFiR+CIAiCICYKEj8EQRAEQUwUJH4IgiAIgpgo3qjJIUEMwthe3zSPxwOv1wuPxwPHceA4ez25bNtGt9sd5SGeORhj4iFJEjwezwH79/t92LaNfr9/5N87joNerwfbtg98VsTwGfysfD4f/H4/AKDb7aLb7R74LIjXI8uyOOd9Ph8kSUK320Wr1UKv1xv14U0kkiTB7/dDkiT0+330ej04jgPbtsf+MyHxQ7wV/IYryzLC4TAWFxcRDofR6/VgWRZs20Y+n8fm5iY6nc6oD/dMwG+iXq8Xfr8fU1NTCAaDiEajOH/+PCKRCGq1GnZ2dtButw/8rW3bQoxmMhnkcjn0ej10Op2xX6Tcis/ng6Zp8Pl8+MpXvoLbt2+DMYa1tTWsr6+j2Wxia2sLu7u7oz7UsUdRFMzMzCCRSCAajeL69euYnp7Gs2fP8Gd/9md4/vz5qA9xIkkmk/iFX/gFpFIp1Go1ZLNZmKaJUqmEbDY71ptfEj/EW8FvxIqiIJFI4ObNm5ienka73Uar1UKn08HDhw+Ry+VI/AwJvuNVVRWhUAjLy8tIpVKYm5vDBx98gNnZWWSzWXzxxReo1+sH/rbb7aLT6cA0TUiShEajAcuyxG6NGD6KoiAUCkHXdXzta1/Db/7mb0KSJPzgBz/Aj370I5TLZRiGgUKhQB6416AoCmZnZ3H+/HnMzc3ho48+wo0bN/Dnf/7nuHfvHomfERGPx/H1r38dV65cQSaTwerqKqrVKp49e4ZCoUDi56Twer2IRqPQNA0AjlxALMuCaZqwbRudToduxEPC4/FAURSoqiq8D4lEAq1WS/zc6/WK0Bjx5vCQCfewKYqCeDyOSCSCYDCI6elpJJNJJBIJhEIhBAIBBINBxGIxeL3eA6/FQy3tdhvpdBrVahXtdhuNRgOtVgu2baPdbotwDA+LEW+PJEki3KWqKvx+P2RZPnBd0PVxPDweDwKBAGKxGCKRCAKBAFRVhaIokCRp1IdHAGLd4I9xXz9cLX7S6TR+/dd/He+99554btDgjuPg6dOnuHfvHhqNBrLZLDY3N2mnOwQURUE6nUYymcT58+dx+/ZtLC0tIZ/P49GjR6jX6wgEAvB4KKf+bZAkSdwo0+k0EokEIpEIbt26hUuXLsHv9yMWiyEQCCAQCGB6ehqapmFmZgaqqr4g8vv9PhzHQbfbxZUrV7C7uwvTNJHL5VAul1Gv14WnzrIs1Ot12ii8A4wxqKqKZDKJSCQCXdfBGEO/30e73Ua9XodhGGO9Mx4nfD4flpeXcfv2bUSjUUQikVEf0sTDGINlWSgUCgiFQshkMshkMqhWq6hWq2Ofy+Zq8RONRvHNb34TH330EQC8kMDZ7/fxySefoN/vY3d3F51OB5lMhsTPEPB6vYjH45iZmcHCwgIuX76MixcvQtd1FItFOI4Dv99PO9u3hIsfn8+HRCKB8+fPI5lM4sMPP8T7778vhJEsH7yEVVVFLBZ74fX459Dv92GaJtrtNkzTxPPnz5HL5ZDL5dBqtdBut9FsNkXoknh7FEVBJBJBNBoV10K/3xfhx3a7TWvRMfF6vZiZmcHly5cRCAQQCoXG3rNwluHrSa/XQ61WQ7FYFI9qtQrDMF5adDEuuFr8AHvuUO72PCx+GGMiPOD1erG9vU2eiCFh2zaazaY40W3bPlDdwhgjW78hPEFWkiTouo5QKARFUbC0tIS5uTnEYjGEQiEheHg4t9frodVqvdSLwL0QmqaBMSZ2ZJIkQdM0RKNRdLtdzM7OotfroVwuwzRN9Ho9UT1GN5o3R5ZlqKoKVVXh9XqFLU3TRK1WQ6PRQKfTIdseA14Z1+l0hC2J0eDxeEQINxKJIJFIYGpqCvV63VUhSNeLn0HBc3gRYYxhfn4ev/zLvwzDMFCv1/EXf/EXME1zFId6pmi321hfX8fOzg4URUGj0XhliTXxahhjSKVSwnu2sLCA5eVlqKqK6elppNNp+Hw+pFIpKIqCZrOJ9fV1lEolVCoVPH78GNVq9cjXlmUZS0tLWFlZEcnS4XAYjDFMT09jenoai4uLmJmZQaVSwdOnT/G9730Pz549EyEa8lC8OYFAAFNTUyI8yYVPNpvFgwcP0Gw2YRjGqA/TFdi2jVqthlwuh0gkIjYCxOnj8/kwMzODSCSCy5cv45d+6Zdw8eJFqKqK1dVVlMtlV3j8XS9+gBfzfAaJRqOIRqNotVpIp9OuUqbjTLfbRalUAgAUCgVYliWEKO1k345gMCg8PFevXsWNGzegqqq4gQ4uKLZto1gsYmtrCzs7O/j000+Rz+ePfF1ZltFqteD3+xEMBkXyqNfrRTgchqZp6PV6iMfjME0Tmqbhk08+ESXYdIN+c3iiejAYFB48XlnHb+KH2xEQL4eHa2u1GmRZJjE+Qnh7k2QyiZmZGSwuLuLChQvY2tqCz+cb9eEdmzMhfojxQZZlaJqGdrsNRVEo9PUaeEWQLMtIJBJYWFhALBbD1NQUdF2HoigwDAPNZhO2bcMwDHETePDggUhYLpVKL5S3c2RZxvb2NnRdh67rsCwLvV5PCCAeDuM5Rqqqit01AFQqldM0iauRJAmKokCWZUSjUaTTacTjcciyjFKpJKrraIPwehhj8Pv98Pv9iMfjIrzCxST/HUmSIEkSHMchz/MpM3ge881UPB5Hr9cTm+NxhcQPMVT8fj+SySR8Ph8ikQh52l6DqqpIJBLw+/24evUqPvzwQ8TjcYTDYYRCIfR6PTx48ABra2swDAOPHz/G9va2qNQyDAOdTueVlUOMMRQKBdy/fx+BQAC3bt3C9evXEY1GReK6x+OBqqrw+XyIx+NYXl5Gv9/H5uamqAwjXo/P50MsFoPf78fKygref/99xONxFItFPHz4EJVKBbu7uyR+joEkSUgmk0in00in08IbqigKAoEAgIMtN3hOEAmgk4cLzcHzOBgMYnFxEbIsgzGGnZ2dsS6aIPFDDBWeRGvbNnw+nytiv6OEe8p0XUcikcDs7Cympqbg9Xrh9XphmiYMw8D29jbK5TK++OILrK2tiXL044ZOuFeIV4PxJGcuagZ30KqqIhwOIxaLoVwuk4B9A2RZht/vh67riMViwvNTqVSEh448P8eDMQZN00TFXDweRzwehyRJB9YVXhlJNj09uMA87PkJhUKIRCLQNG3svf4kfoihoigKgsGguKmP+wUwaiKRCG7evIlEIoGVlRVR7dXpdERC7NbWluidVCgUYJomut3uW/XRsG0bhUIBT58+RaVSQSwWg2VZ0HUds7Ozoiz73LlzkCRJ5Arx2T10g3k1siwjEAhA13VREePxeNBsNpHNZkVXZ7Lj8eh2u7AsC5Zlodvtot/vi0pS3mU+kUggnU7DMAwxXoc4fXhO2+DswHGGxA8xVPx+P1KpFLrdLqLRKHkNXsPs7Cy+/e1viz4+0WgUsiwLoVMul3H37l388Ic/FL1heHL527j3u92uqNILBALI5/O4d+8eZmZm8NFHHyESiSAUCuHmzZtYWVmBbdu4c+cOSqUSDao9BoqiiCZ84XBYDOAsl8v42c9+hnK5jGKxSKGZY+A4DizLQqPRQDAYFHPoBttpqKqKxcVFWJaF7e1t1Ot1Ej8jwrZtMVGBd4ofZ86c+KEwy2jhoZPDbfyJo+Hdmefm5kQCMmMMvV4Ppmmi1WqhWq2Kirp3xXEcNJtN0cgwk8kA2Mud4OEYXs2haRrC4bBI4HUcB4yxsV/URsngSAuv1ys8n3yUSK1Wo5vzMeECn4se7uk8HGrRdR3hcBjVapU8zacE97wdXt/5aAs3iPszIX74B/CqRZlm6RDjzOE2AVz8nOQuijc07Pf78Pl82N3dRalUgsfjgSzLkGUZ6XQat27dQjweRyaTwfr6Ot28X0EwGMSFCxeQSqWEB9QwDFSrVRSLRVQqFZimSQLyGDiOg1arBY/HA13XReNNACLvR1VVzM7OgjGGTqfjqlJrtyJJEkKhEBKJhNgcAV8mn3PhP+732jMhfji0KyXcyOFzdtDdz6u5ToJer4d8Po9isQgA2NrawsLCAgKBAFKpFDRNw8LCAj744AMUCgX85Cc/EbO/iKOJx+O4desWFhcXEQqFYFkWms0mSqUScrkcKpUK2u02rVPHoN/vo9FooNlsipYP3W73wDqv6zouXryIZDIp8tOIk4VXiJ47dw7JZFKIH17souu6K4pdzpT4IQi3wN3Gh93HfFHvdrvodDqwLOvEkgf5oFNe9dVqtdBsNkWeliRJ8Pv9iEQi6Pf7NKj2NTDGRMJ/JBIRjQ25jS3LQqfTGfuBj+MED6NwG3a7XXg8HnE98MKKXq8HVVXH/oZ7FvB4PPB6vfD5fAdCu3zUFF/Txp0zJX5oN0W4AZ/PJ6qqpqamEAwGRWUQv1nmcjl8/vnnKJfLyOfzJ35um6aJJ0+eQFEUnDt3DrFYDMFgUJSv9vt9qt57CVwk8llHyWQSU1NT4sbN56/xhxvyIcaNbreLfD6PtbU1BINBzM/PIxaLiTlTtm1D0zRomia+p+R84lWcCfFznBvDy+Z/EcRpwyviwuEw0uk0gsEgNE0DALFoZzIZ3L17V4ifk75hNptNPHz4EPV6HVeuXMGNGzcA7FUvhUIhMMbI8/MSeHm73+8X3blTqRQMw0ClUhHih3suiDeHbwgeP36MRCIhelVx4cnPT1VV4ff7RZI0rffEyzgT4mcQOtmJcYfPfeJuY+4q5hUtvFzUMAyR83PS57Vt22g2m2LaOA/N8NCcW1zZo4CHu/jD6/WKLrf9fl88aG16exzHQbvdhmEYookqh1eY8iTowVAy2fz04F5rt4R2z5z4IYhxx+PxiHJoPteLl5rv7u7CMAxsbm4ik8mgVqudSlO8TqeDXC6Her2OWCxGQzffAO7J4xUwXq8XwF5Cebvddk3fk3Fm0PPTarVw/fp1AF/mn/AWDfxBg09Pn1arhWw2i62tLZTL5bH/DEj8EMQpwxdsv98PRVGE56fVamFnZwe1Wg3ZbBa5XA6NRuNUbpqdTgf5fB6MMczNzZH4eQMURRFDN2OxGGR5b1m1bVuIHwrBvBu9Xg+FQkFUFjWbTQAQA3kdxxH9qPhmgjyVpwufN7i9vS3CveMMBfAJ4pSRZRm6riMUColxFgAONDbkruPTvGHypnJ8QCSf/j7Y90eWZSHWiD0G+5soiiKqkTqdDur1Omq1GvX2eUccxxGjK1432oXyO0fD4Pox7sIHIM8PQZw6uq7j2rVruHDhAubn50Wyc7PZRCaTQalUQrVaHVlVkGVZyOVy2NjYAGNMNC3joy/a7bbwaNANZq/vSTQaxdTUFEKhkBCz+Xwen376KYrFIjY2NsY+DDDO9Pt9mKaJer0OwzAOdHserKYbzLEiTpdBT2en0xn7z4DED0GcMoFAAIuLi7hy5QpisZhw5ZumiWKxiGKxeGrhrqPodrsol8vY3d1FIBBALBaDJEnQdR26rqPZbKLf71Ozvn28Xi+CwSCi0SiCwSAkSYLjOKhUKnj48CF2d3eRy+VcsRseV7gnrdVqwTTNA+Kn3+8fGKvglvEKZw0+ioR7jMcd14kfj8cjejlEo1Fx4+AMxnm5q7Tb7YpQAkGMAsaYCBfxZOfD8584oxYUvOKs1WqJMI7X64XX6xXVTJMe9uIVXlwURiIRxGIxqKoqwpfNZhOGYaDRaJxKxd5ZZ3D8C4dfV/z85FVfk35+Eq/HdeLH7/djZWUF8/PzWFpaQiwWe+lsL8YYDMPA7u4uGo2GK5KwiLMJn4fj9/sRj8fFQ1VVESY5anEfBZ1OB8ViEdlsFowxLCwsCK8Pf5imOdEJpTzJWdd1LC8v4+bNm7h06RIkSUKj0UC9Xsfm5iaePn2KfD4PwzDIG3EC8B5L/X4fuq5D0zSoqgrbtif6/CRej+vEjyzLSKVSWF5exuzsrMiXAI6e7WVZFiqVCur1uphaTRCnDe9Ey8VDIBCApmlQFOWF83bU52iv1xPDOOPxOGRZFp4qntTLK5omFe7xiUajSCaTmJmZwdzcHFqtFqrVKkzTRKVSEWFMCsWcDDzZHIA4N7lHjsQP8SpcuYK9LJv/qO+73a5wP1uWNfIby1mBN+rjHVZ5aSmvFOLNrsjee3D3/GDVFLffuC3SPDSnqiq8Xu8Ls5VoRMNB8aPrughhAhBJn3wuGzU4fHe4V3RwZAj37nDPKUG8Ca4UP0dx1OLiOA6azaaYplyv1yd+0R4WsiwjHA5DVVUxxBHYC5mUy2WYpnmgU/CkwwWFpmnC66OqquiePE7nJf9sE4kENE0TOXP8QU379sJe6XQaS0tLmJ+fF9dCrVZDtVpFrVZDvV6nMQtDZHBMiGVZsCxL5PdQjg/xppwJ8fOqkAFfuMnzM1y4u1nTNPh8PrH48HJHnmBO9t7jKM/PuIaOJEkSSdmDw1YHh3NOuqiVJAmBQACRSATBYFB06gZe9PzQNfDucM/PYCn7YMUXQbwp47n6DhE+mNG2bRGeIYbH4Z4anU4H1WoVjUaDkjzfEMMwsL29jXw+P9LkfK/Xi1gshnQ6DUVRRBiTzxprNpsTL2y5+AmHwwcGvrbbbRQKBRQKBVSr1YkXicOCl7p7PB40Gg3k83lsbW1B13VMTU2JCuCpqSk0m00wxlCtVl1Rcu02BivsGGNiDmGz2RTeYTesD2de/AQCAaTTafj9foTD4bHLr3Arg7sw/j0AMaKhXC6jXC7T4n9MHMdBoVDA6uoqMpnMSEOGmqZhfn4ely5dgmEYKBaLME0TpVIJpVJJfK7jvridJLIsIxKJIJ1Oi15NjuOgVqvhyZMnyGQyyGazNMV9SPT7fbRaLbTbbezu7uLJkycIBAKYmpoS09xDoRBWVlbElPdMJgPLskZ96GcO3uaB27nRaKBQKKBUKqFSqaBWq6Hb7Y79xte14uc4ZcF8wu+gC5/Ez/Dgn8Hg53A47DXuF8AoOXwudjodkTMyCtvxSdherxeapkHXdTFmg+dYdDod6peFg0nhPOzLCyx4pRxVlw4XnuRsWRYajQaq1So0TRPeHT42JhKJQNM0WutPiMEQvsfjOZCDxdcHNyT5u0782LYNwzBQKpXE4vwyHMeBZVkol8uoVqtoNptj/4G4Bd5unu/IBt3LXHTymylxPHhuzWnumvjnFAwGsby8jEQigWvXriESiYgS/MHRAZN8/fAhmvwmG4/HkUqlEAgExByvYrGI7e1tbG5uumKytRvp9Xqo1WoolUoIBALCu8Y7bbfbbVFMQAwfWZYRjUYxPT0NVVXhOI7IcXPTOuFK8VOtVpHL5aBp2munT5umid3dXZTLZcpBGSK9Xg+NRgPNZhP1el1UtPBdAXVZfTWHRSFjTIif04qXD35WiUQCH3zwAW7cuIFUKoVkMgngy3YRvGppkuFzzngIPZ1OY35+Ho7jCG/nzs4Onjx5gqdPnwrRSAyXXq+HSqWCbDZ7QPz4fD7EYjEAEGNGiOGjKApSqRSWlpbEIFPDMGCapquKIVwnfnji28uGpx0eb8F7lFDJ6fDhCn9Q6fPd8bj2sBkHXmWT0zw/eYiLV+3xJOdYLCZ61gwKskm/fvi5rSjKgREl3NXf7XYPDH0lTgZ+w+VhFn4P4KFIn88nknGJ4cI3TLxtBz/3+fnvpvXBdeKHe356vZ6YMP2y8RbAlzcauhCGCy91591/efgkFApheXkZU1NTWFtbG9ty7lFyVL6a4ziQZRmaponeOieVW8O9coFAAJcuXcL8/DzS6TSuX7+OhYUFaJommhuWy2X89Kc/RT6fx8bGxkTn+3i9XszMzGB6ehpLS0uIx+PQNA22baNSqcAwDFQqFUpyPmEOeyO5+FFVFel0+sAwXmI4cGGpKArC4TAikQgikQiq1SoqlQoqlQpKpZKrPJ2uuzP1ej2RwxOLxQ6EvQ6PCSDhc3J4PB6oqgq/3w9N04TICYVCUFUV3W4Xn332mfAgEK+Hzynik9NPaifFy1RDoRBu3bqF27dvIxqN4saNG5iZmQGwd83Yto1isYjV1VVsbGxge3t7osWPoig4d+4crl69inPnziGZTELTNCF6CoUCKpWKq24AboSLH+754deIpmmYmZlBu91GPB4n8TNEGGOiCCIajSIWiyEej4sq0O3tbRSLRVetD64TP8CXvWWozf5oGRSX/GvuEeKTwEl4vpzDwoaHVHgo5ahZde8KnzGmaRpCoZCYRs47FHOPD09ebLVaqNfraDQaaLfbE3298RJfLvoHw7oUGjw9eOpDu90+UBzg8Xgo5H5C8CIW7jUerPbinbfdkuvDcaX4eRkvm/VFi9Hw4QsQgANxd7L128EYQzgcxoULFxAKhbCxsTHUBH2+YPl8Ply9ehWXL19GNBrFV7/6VVy4cAF+vx+BQADAXrPFZ8+eoVqt4v79+1hfX0cmk0Gz2XTdAjdMuLczFAohEAi8kBfFb8Z0DZws7XYb2WwW9XodwWCQ8qtOCb7JHRRBbq7oPRPi51WLDQmgk4GXQHMX9CTfFIdFOBzG0tISdF2HYRh4/vz50F6bL1iqquLy5cv4xje+gUgkgitXrmBhYUEsasCe+FlbW0M2m8WDBw+wsbGBfD5/rN5aZxle7aXrOgKBgAj1cvFzOAxDnAydTge5XA4AMDMzQ+LnlBgUP4MPt3ImxM8ghxeewblEk+yyHza8youXaPPniKPhlYd8JtHgVGq+gEiSJCqIhhkyZIzB5/NB13UEg0GRsBgKhUT4xrZtNBoNdLtdlEolFItFFItF1Ot1V3RrPQ140qeu61BVVeSU9Pt9tNttMfaDbHXycBvz/KrDXgmv1wtVVaGqqhiGSrwbg+kmPMzl5k7vZ078DMKbHPKMdNM0XftBjRvc88MvBrLrq+n3+7AsC/V6/cCMLF4txxMKp6amIMsygsHg0HZVHo8Hs7OzuHjxIqLRKN577z1cvnwZqqoiHA4DAOr1Ou7du4ft7W3kcjl8+umnyOfzKBaLaLVaQzkOt+P1epFOp3Hx4kXoug5d1wHs9RLb3NzEkydPkM1mXZX06XYGrxHu2ZRlGVNTU1hZWUEgEEChUMDu7i55p98Bvn7xcRb1eh21Ws3VofAzLX6AvUTEZrOJRqNBU92HzOBOgOz6avjiIUkSTNMUD14+yvNxotEoAAy1Pb/H40EikcCVK1cQi8WwsrKC+fn5A5V4rVYLjx8/xv3795HP57G6uopCoSDCOcTezTUajWJ2dlb0+QEAy7JQKBSQyWRQKpXIyzAieB4Kn7s2MzMDj8eDTqeDYrHo2pv0OMBzPAcbevJZa26tbpwI8WMYhqhWoZs0MQq4p6zT6aDZbKJQKCCbzSIcDsPn80GWZfh8PuGJmZqawrlz50QX7VarJZpJHj6HeeOxw8mIPInZ5/OJXj6RSASBQACMMdGl2zRNZLNZ7O7uolgsolqtikXNLa3qTxKv1yvmnSmKIr4/7JkbHPRLjAduzkkZJ3hDVB6W59eBJElibXNbCOxMix8+Zfnp06fY2dkh9U+MDD6TzjRNbGxs4M6dO1hfX8elS5fw4YcfQtM0xONxKIqCdrsN27bh8/lQrVbxxRdf4NGjR6KcmnsWBgeRcnc/T8j1+XxYWlrCtWvXEAqFcP78eVy8ePFAqMswDHz22Wd4/Pgxdnd38fHHH+PZs2ciPMc9pW5a0IaNJEmIxWLC45NMJqHrOmRZpj4yYwYVt5wckiQhEokgGo0ilUohHo8jHA6jXC4LB4PbWmGcafED7MXjC4UCCoUCGo0GXRjESBhsDVAul7G2toZqtQpVVUUsPRAIIBAIiMGNrVYLlUoFxWJRVH4dNUCWh8wURUEgEEA8Hoeqqjh//jzef/99RKNRnDt3DnNzc5Bl+cB07K2tLdy/fx+FQgFPnz7F5ubmKMwztjDGoKqqEEDck0az68YDKrY4HQbbPPBWD4f7grmtzYOrxQ+fLG4YhqjEeNlujHYFxLhg2zaazSYURRFhLZ78rCiKEEKpVAqqquLSpUuwLEt4ZJrN5oFSU35z1jQNqqoiGAzC7/djcXERsVgMwWAQsiyL16hWq2g0GiiVStja2sLOzg5qtRrl9hyBx+MRE9yj0ahITuc5XP1+XyR/csFK3mXirMHXmXA4LPqBdTodtFotlMtlFAoF1Go1V+X/uFr8dLtdlMtl7OzsQFVVJBKJA+LHrc2XiLONZVnI5/Oo1+uYmZnBzs4OFEVBMBhENBqFJElIp9MIBoPodDpYWFjA17/+dViWhVwuh0qlIsJdHo9H9AcKhUKizNfj8UDTNITDYUiSJPJ7LMsSYbRSqYRPPvkEDx48EK5r4iCSJCGVSuHKlStIJpOIRqPweDxi7Wm1WshkMtjY2MD6+vqJzmQjiFEhyzISiQQWFxeRSqWE6N/d3cWjR49w//59GIbhqg2Uq8WPbdtot9ti0aYd13hB4vNo+NgIngfEE5oVRUG/34ckSSIEZts2dF3H9PQ0LMtCPB5HsVgU4ofnpPAy9qNwHAeNRkNUaOzu7mJ9fR3lchnZbFY0MCRehIvIWCyGSCQCn893wPPD2xZw7w8AV+U9EMRx4J6fYDAITdMA7HXaNk0T1WpVVIaS5+eU4N2FTdMUNw7i9On1eqjX6yiXy1AURZRp67qOmZkZOI4jKu7oM8KBkMnOzg7u3r2LnZ0dLC8vC/vxiqLBhGZess49O5IkQZIk6LoORVFeeB/TNEXjva2tLTx//hyGYeBnP/sZnj17JlpAkPB5EZ5MLssyQqEQUqkUotEoVFUF8OWAZd4Lie94yZanD29i6PaOw26CN2vtdrviQdVep4ht22i1Wmg0GvB6vS+oTjd9EG6m3W4jn89jc3NT9NdQFAXxeBxXr15FPB7H+vq6KNeedHjOD2MMDx8+RKPRQCAQwAcffIBoNIpEIoFgMCgaHfLSUsdxEA6HhYdzsKutz+d74X2q1So2NzdhGAZ+/OMf486dOzAMA8ViEZVKBbZt02iAl8D7xfj9fqTTaaysrCAUCiEcDoMxhna7jY2NDaytrWF9fX2oc9iI49Pv98WQU54zR5wsgzY3TRPtdlu0kXHTPdfV4gf4UvXzTPNB4/MRDMTJ0u/30Wq1YBgGfD6fsLmiKAiFQmi32yJRlPhy1AUANBoNZDIZ+Hw+5HI5GIaBQCAgPEDAwT4+g40JB18POFj5wrub83BMLpfD8+fPDyRYEy9ncIYRz8fi87x4X5NmsymSx93k7j9L8CarvP0D95YeviaI4cI9P9z+brSzq8UPn0O0vb0N27axuLgIAKICzLIsMdbCzZ0ox51arYbV1VXUajXMzc2h3+8jFAqhUqmI+V/E0fC8Ndu28ezZM3z/+98Xs7ei0SgURUEqlUIikRBiMhAIiKRpHkrkM6WazSbK5TIsy0KxWMT29jZarRYePXokevdQB+LXwzdOfJHn3bl5VUsmk8GjR4/w4MEDlEol8qCNiEajgfv376PX64mRFn6/H4ZhiBYnzWbTlTfncYWH7ZvNpqsbB7ta/FiWhWw2C1VV0e/3cfPmTQB74ieTyaDRaGBnZwf1eh2tVovGMJwQpVIJd+7cwb1793D16lVIkoRkMol8Pg/btikW/wp48jNjDKurq9je3obX6xXiR9d1/PzP/zxu3rwJXdextLSEQCCAZrOJR48eYXNzU3SN7na7yOVyIpRmGAZqtZrIizNNkzo2HxMufmzbFi5+27ZRLBbR7XaxubmJu3fv4u7du+h0OlQpNyJKpRI+/vhjrK2t4dq1ayJsXKlUxJw6Ej/DhaebDN5X3YirxQ/v88Nd+XxXa1nWC7NH3JaM5Sa63a7oE1MqlVCpVOD1esUN2a1u0dOC26bZbKLX60GSJBFH13VdjJwYrA7jIRc+S6rRaKDT6SCfzyOTyaBerwsPKD/36fx/MwbDh6ZpijmB7XYb1WoV9Xod9XpdiCTi9Ol0OqhUKvB4PJienka9XoeqqmLtJ4//cOChej6ixzRNtFotmKbp2nPf1eKn3W5jc3NTiJ+ZmRmUSiXh8jRNU7Tfprk7JwdP4LUsC0+fPsUPfvADBINBVCoVFAoFWJZFU5WPAfcyeDwe1Go1dDodVKtVfPrpp9jZ2YHf70cikUAoFEKr1cLGxgZKpZJwQw9W3bXbbXHek/B5c7jnxzRNrK6uClHK7VytVpHNZoU3mew7GtrtNjKZDKrVqtgI67qOL774QoR/yeP/7nQ6Hayvr4thzA8fPoSqqsjlciiXy6M+vLeCvclJwRgbqzPI4/HA6/VClmXMzc3hW9/6Fubm5tDpdNDpdNDr9bC6uoo7d+6gXq+P+nDhOM5bJ7+Mm+0PwyuPBpvs8R0x3zWMWPz8peM4X33bPz4t+/P8KG5PXm4ty/KBJFyedHtY3AwmIgJjVfHoCvsf8b5QFOVAFREXRnyNcQNnde0ZLAYY7JDe6XREO4kxuAZcee4fOgYxz25wHeKeoDHf2B5pf1d7fvr9vgirmKaJSqUCTdNE/wEemySPz8nDb8D8MyHejqPGsLjlBnsW4WEvN3WunST4JgCAyG0jhg/vqXeW1nZXix/gy5tutVrF559/jvX1dRHi6vf7KBaL1G6eIAiCIAjBmRA/AFCv1/HgwYMXyqop14cgCIIgiEFcL344g43jCIIgCIIgXgY1XyEIgiAIYqIg8UMQBEEQxERB4ocgCIIgiImCxA9BEARBEBMFiR+CIAiCICYKEj8EQRAEQUwUb1rqXgSwcRIHMgEsvOPfk+3fDbL/aCH7jw6y/Wgh+4+WI+3/RrO9CIIgCIIg3A6FvQiCIAiCmChI/BAEQRAEMVGQ+CEIgiAIYqIg8UMQBEEQxERB4ocgCIIgiImCxA9BEARBEBMFiR+CIAiCICYKEj8EQRAEQUwUJH4IgiAIgpgo/j/5zsWjog0fkQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot predicted labels\n", + "\n", + "n_samples_show = 6\n", + "count = 0\n", + "fig, axes = plt.subplots(nrows=1, ncols=n_samples_show, figsize=(10, 3))\n", + "\n", + "model5.eval()\n", + "with no_grad():\n", + " for batch_idx, (data, target) in enumerate(test_loader):\n", + " if count == n_samples_show:\n", + " break\n", + " output = model5(data[0:1])\n", + " if len(output.shape) == 1:\n", + " output = output.reshape(1, *output.shape)\n", + "\n", + " pred = output.argmax(dim=1, keepdim=True)\n", + "\n", + " axes[count].imshow(data[0].numpy().squeeze(), cmap=\"gray\")\n", + "\n", + " axes[count].set_xticks([])\n", + " axes[count].set_yticks([])\n", + " axes[count].set_title(\"Predicted {}\".format(pred.item()))\n", + "\n", + " count += 1" + ] + }, + { + "cell_type": "markdown", + "id": "prompt-visibility", + "metadata": {}, + "source": [ + "🎉🎉🎉🎉\n", + "**You are now able to experiment with your own hybrid datasets and architectures using Qiskit Machine Learning.** \n", + "**Good Luck!**" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "related-wheat", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.22.0
qiskit-aer0.11.1
qiskit-ignis0.7.0
qiskit0.33.0
qiskit-machine-learning0.5.0
System information
Python version3.7.9
Python compilerMSC v.1916 64 bit (AMD64)
Python builddefault, Aug 31 2020 17:10:11
OSWindows
CPUs4
Memory (Gb)31.837730407714844
Thu Nov 03 09:57:38 2022 GMT Standard Time
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2022.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/07_pegasos_qsvc.ipynb.txt b/_sources/tutorials/07_pegasos_qsvc.ipynb.txt new file mode 100644 index 000000000..3ca8db2d9 --- /dev/null +++ b/_sources/tutorials/07_pegasos_qsvc.ipynb.txt @@ -0,0 +1,344 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "opened-florist", + "metadata": {}, + "source": [ + "# Pegasos Quantum Support Vector Classifier\n", + "\n", + "There's another SVM based algorithm that benefits from the quantum kernel method. Here, we introduce an implementation of a another classification algorithm, which is an alternative version to the `QSVC` available in Qiskit Machine Learning and shown in the [\"Quantum Kernel Machine Learning\"](./03_quantum_kernel.ipynb) tutorial. This classification algorithm implements the Pegasos algorithm from the paper \"Pegasos: Primal Estimated sub-GrAdient SOlver for SVM\" by Shalev-Shwartz et al., see: https://home.ttic.edu/~nati/Publications/PegasosMPB.pdf.\n", + "\n", + "This algorithm is an alternative to the dual optimization from the `scikit-learn` package, benefits from the kernel trick, and yields a training complexity that is independent of the size of the training set. Thus, the `PegasosQSVC` is expected to train faster than QSVC for sufficiently large training sets.\n", + "\n", + "The algorithm can be used as direct replacement of `QSVC` with some hyper-parameterization." + ] + }, + { + "cell_type": "markdown", + "id": "thirty-painting", + "metadata": {}, + "source": [ + "Let's generate some data:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "impressed-laser", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.datasets import make_blobs\n", + "\n", + "# example dataset\n", + "features, labels = make_blobs(n_samples=20, n_features=2, centers=2, random_state=3, shuffle=True)" + ] + }, + { + "cell_type": "markdown", + "id": "moderate-yugoslavia", + "metadata": {}, + "source": [ + "We pre-process the data to ensure compatibility with the rotation encoding and split it into the training and test datasets." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "adolescent-composer", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import MinMaxScaler\n", + "\n", + "features = MinMaxScaler(feature_range=(0, np.pi)).fit_transform(features)\n", + "\n", + "train_features, test_features, train_labels, test_labels = train_test_split(\n", + " features, labels, train_size=15, shuffle=False\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "central-poverty", + "metadata": {}, + "source": [ + "We have two features in the dataset, so we set a number of qubits to the number of features in the dataset.\n", + "\n", + "Then we set $\\tau$ to the number of steps performed during the training procedure. Please note that, there is no early stopping criterion in the algorithm. The algorithm iterates over all $\\tau$ steps.\n", + "\n", + "And the last one is the hyperparameter $C$. This is a positive regularization parameter. The strength of the regularization is inversely proportional to $C$. Smaller $C$ induce smaller weights which generally helps preventing overfitting. However, due to the nature of this algorithm, some of the computation steps become trivial for larger $C$. Thus, larger $C$ improve the performance of the algorithm drastically. If the data is linearly separable in feature space, $C$ should be chosen to be large. If the separation is not perfect, $C$ should be chosen smaller to prevent overfitting." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "dying-dispatch", + "metadata": {}, + "outputs": [], + "source": [ + "# number of qubits is equal to the number of features\n", + "num_qubits = 2\n", + "\n", + "# number of steps performed during the training procedure\n", + "tau = 100\n", + "\n", + "# regularization parameter\n", + "C = 1000" + ] + }, + { + "cell_type": "markdown", + "id": "improving-wilderness", + "metadata": {}, + "source": [ + "The algorithm will run using:\n", + "\n", + "- The default fidelity instantiated in `FidelityQuantumKernel`\n", + "- A quantum kernel created from `ZFeatureMap`" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "automated-allergy", + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit import BasicAer\n", + "from qiskit.circuit.library import ZFeatureMap\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "\n", + "from qiskit_machine_learning.kernels import FidelityQuantumKernel\n", + "\n", + "algorithm_globals.random_seed = 12345\n", + "\n", + "feature_map = ZFeatureMap(feature_dimension=num_qubits, reps=1)\n", + "\n", + "qkernel = FidelityQuantumKernel(feature_map=feature_map)" + ] + }, + { + "cell_type": "markdown", + "id": "attractive-stationery", + "metadata": {}, + "source": [ + "The implementation `PegasosQSVC` is compatible with the `scikit-learn` interfaces and has a pretty standard way of training a model. In the constructor we pass parameters of the algorithm, in this case there are a regularization hyper-parameter $C$ and a number of steps.\n", + "\n", + "Then we pass training features and labels to the `fit` method, which trains a models and returns a fitted classifier.\n", + "\n", + "Afterwards, we score our model using test features and labels." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "representative-thumb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PegasosQSVC classification test score: 1.0\n" + ] + } + ], + "source": [ + "from qiskit_machine_learning.algorithms import PegasosQSVC\n", + "\n", + "pegasos_qsvc = PegasosQSVC(quantum_kernel=qkernel, C=C, num_steps=tau)\n", + "\n", + "# training\n", + "pegasos_qsvc.fit(train_features, train_labels)\n", + "\n", + "# testing\n", + "pegasos_score = pegasos_qsvc.score(test_features, test_labels)\n", + "print(f\"PegasosQSVC classification test score: {pegasos_score}\")" + ] + }, + { + "cell_type": "markdown", + "id": "sustainable-empire", + "metadata": {}, + "source": [ + "For visualization purposes we create a mesh grid of a predefined step that spans our minimum and maximum values we applied in MinMaxScaler. We also add some margin to the grid for better representation of the training and test samples." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "judicial-pottery", + "metadata": {}, + "outputs": [], + "source": [ + "grid_step = 0.2\n", + "margin = 0.2\n", + "grid_x, grid_y = np.meshgrid(\n", + " np.arange(-margin, np.pi + margin, grid_step), np.arange(-margin, np.pi + margin, grid_step)\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "marine-constitution", + "metadata": {}, + "source": [ + "We convert the grid to the shape compatible with the model, the shape should be `(n_samples, n_features)`.\n", + "Then for each grid point we predict a label. In our case predicted labels will be used for coloring the grid." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "competitive-outdoors", + "metadata": {}, + "outputs": [], + "source": [ + "meshgrid_features = np.column_stack((grid_x.ravel(), grid_y.ravel()))\n", + "meshgrid_colors = pegasos_qsvc.predict(meshgrid_features)" + ] + }, + { + "cell_type": "markdown", + "id": "former-constraint", + "metadata": {}, + "source": [ + "Finally, we plot our grid according to the labels/colors we obtained from the model. We also plot training and test samples." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "monetary-knife", + "metadata": { + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(5, 5))\n", + "meshgrid_colors = meshgrid_colors.reshape(grid_x.shape)\n", + "plt.pcolormesh(grid_x, grid_y, meshgrid_colors, cmap=\"RdBu\", shading=\"auto\")\n", + "\n", + "plt.scatter(\n", + " train_features[:, 0][train_labels == 0],\n", + " train_features[:, 1][train_labels == 0],\n", + " marker=\"s\",\n", + " facecolors=\"w\",\n", + " edgecolors=\"r\",\n", + " label=\"A train\",\n", + ")\n", + "plt.scatter(\n", + " train_features[:, 0][train_labels == 1],\n", + " train_features[:, 1][train_labels == 1],\n", + " marker=\"o\",\n", + " facecolors=\"w\",\n", + " edgecolors=\"b\",\n", + " label=\"B train\",\n", + ")\n", + "\n", + "plt.scatter(\n", + " test_features[:, 0][test_labels == 0],\n", + " test_features[:, 1][test_labels == 0],\n", + " marker=\"s\",\n", + " facecolors=\"r\",\n", + " edgecolors=\"r\",\n", + " label=\"A test\",\n", + ")\n", + "plt.scatter(\n", + " test_features[:, 0][test_labels == 1],\n", + " test_features[:, 1][test_labels == 1],\n", + " marker=\"o\",\n", + " facecolors=\"b\",\n", + " edgecolors=\"b\",\n", + " label=\"B test\",\n", + ")\n", + "\n", + "plt.legend(bbox_to_anchor=(1.05, 1), loc=\"upper left\", borderaxespad=0.0)\n", + "plt.title(\"Pegasos Classification\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "imperial-promise", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.22.0
qiskit-aer0.11.0
qiskit-ignis0.7.0
qiskit0.33.0
qiskit-machine-learning0.5.0
System information
Python version3.7.9
Python compilerMSC v.1916 64 bit (AMD64)
Python builddefault, Aug 31 2020 17:10:11
OSWindows
CPUs4
Memory (Gb)31.837730407714844
Thu Oct 13 10:42:49 2022 GMT Daylight Time
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2022.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/08_quantum_kernel_trainer.ipynb.txt b/_sources/tutorials/08_quantum_kernel_trainer.ipynb.txt new file mode 100644 index 000000000..ed2dbbb6b --- /dev/null +++ b/_sources/tutorials/08_quantum_kernel_trainer.ipynb.txt @@ -0,0 +1,450 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "38df9aa0", + "metadata": {}, + "source": [ + "# Quantum Kernel Training for Machine Learning Applications\n", + "\n", + "In this tutorial, we will train a quantum kernel on a labeled dataset for a machine learning application. To illustrate the basic steps, we will use Quantum Kernel Alignment (QKA) for a binary classification task. QKA is a technique that iteratively adapts a parametrized quantum kernel to a dataset while converging to the maximum SVM margin. More information about QKA can be found in the preprint, [\"Covariant quantum kernels for data with group structure.\"](https://arxiv.org/abs/2105.03406)\n", + "\n", + "\n", + "The entry point to training a quantum kernel is the `QuantumKernelTrainer` class. The basic steps are:\n", + "\n", + "1. Prepare the dataset\n", + "2. Define the quantum feature map\n", + "3. Set up an instance of `TrainableKernel` and `QuantumKernelTrainer` objects\n", + "4. Use the `QuantumKernelTrainer.fit` method to train the kernel parameters on the dataset\n", + "5. Pass the trained quantum kernel to a machine learning model" + ] + }, + { + "cell_type": "markdown", + "id": "ed6aafa9", + "metadata": {}, + "source": [ + "### Import Local, External, and Qiskit Packages and define a callback class for our optimizer" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1a646351", + "metadata": {}, + "outputs": [], + "source": [ + "# External imports\n", + "from pylab import cm\n", + "from sklearn import metrics\n", + "import numpy as np\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Qiskit imports\n", + "from qiskit import QuantumCircuit\n", + "from qiskit.circuit import ParameterVector\n", + "from qiskit.visualization import circuit_drawer\n", + "from qiskit.circuit.library import ZZFeatureMap\n", + "from qiskit_algorithms.optimizers import SPSA\n", + "from qiskit_machine_learning.kernels import TrainableFidelityQuantumKernel\n", + "from qiskit_machine_learning.kernels.algorithms import QuantumKernelTrainer\n", + "from qiskit_machine_learning.algorithms import QSVC\n", + "from qiskit_machine_learning.datasets import ad_hoc_data\n", + "\n", + "\n", + "class QKTCallback:\n", + " \"\"\"Callback wrapper class.\"\"\"\n", + "\n", + " def __init__(self) -> None:\n", + " self._data = [[] for i in range(5)]\n", + "\n", + " def callback(self, x0, x1=None, x2=None, x3=None, x4=None):\n", + " \"\"\"\n", + " Args:\n", + " x0: number of function evaluations\n", + " x1: the parameters\n", + " x2: the function value\n", + " x3: the stepsize\n", + " x4: whether the step was accepted\n", + " \"\"\"\n", + " self._data[0].append(x0)\n", + " self._data[1].append(x1)\n", + " self._data[2].append(x2)\n", + " self._data[3].append(x3)\n", + " self._data[4].append(x4)\n", + "\n", + " def get_callback_data(self):\n", + " return self._data\n", + "\n", + " def clear_callback_data(self):\n", + " self._data = [[] for i in range(5)]" + ] + }, + { + "cell_type": "markdown", + "id": "39535c04", + "metadata": {}, + "source": [ + "### Prepare the Dataset\n", + "\n", + "In this guide, we will use Qiskit Machine Learning's `ad_hoc.py` dataset to demonstrate the kernel training process. See the documentation [here](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.datasets.ad_hoc_data.html)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2311cff1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAAHDCAYAAACNothiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABlsklEQVR4nO3deVxU9f4/8NeZAYZNEBQCU8EEt0hxJ82tNDE3LKO8elNbrvW1zMx7E7m/UlNps/Ja2ebVbmlGpuiFWy6VWkYuGRppCuXSImGpDIIOwnx+fwyMDAwMw8yZc2bm9Xw8eChnzpzzOcvAm8/n/XkfSQghQERERCQTjdINICIiIs/GYIOIiIhkxWCDiIiIZMVgg4iIiGTFYIOIiIhkxWCDiIiIZMVgg4iIiGTFYIOIiIhkxWCDiIiIZMVgw02sWbMGkiTh5MmTja43bdo0BAcHu6ZRzTRt2jTExsYq3QxFfPLJJ0hMTIS/vz8kScKFCxcUbc/OnTshSRJ27typWBskScKCBQsslu3fvx8DBgxAUFAQJElCXl4eFixYAEmSXN6+kydPQpIkrFmzxuX7JvIUDDZc7LXXXoMkSejfv7/STXFLS5cuRVZWltLNAAAcOXIECxYssBkA1vjzzz+RmpqKgIAAvPrqq3j33XcRFBQkbyPd0JUrV3DnnXfi3LlzeOmll/Duu+8iJiZG9v2uW7cOL7/8suz7IfJGPko3wNusXbsWsbGx2LdvHwoLCxEXF6d0k9zK0qVLMXHiRKSkpCjdFBw5cgQLFy7E0KFDm9RTs3//fpSWluLpp5/G8OHD5W+gm7h06RJ8fK7+KPrxxx9x6tQpvPXWW7j//vvNy//5z39i3rx5srVj3bp1yM/Px+zZsy2Wx8TE4NKlS/D19ZVt30Sejj0bLnTixAl89dVXePHFFxEREYG1a9cq3SRyoeLiYgBAy5YtnbbNsrIyp21LKf7+/hbBRkPnycfHB/7+/q5sGgDTMI+/vz+0Wq3L903kKRhsuNDatWsRFhaG0aNHY+LEiQ0GG99//z1uvvlmBAQEoG3btli8eDGMRqNd+/r111+RkpKC4OBgREREYO7cuaiqqrJYp6ysDI8//jjatWsHnU6Hzp0744UXXoC1BwG/99576NevHwIDAxEWFobBgwdj27ZtNtuRlZWFhIQE+Pv7IyEhAZs2bbK63gsvvIABAwagVatWCAgIQO/evbFhwwaLdSRJQllZGd555x1IkgRJkjBt2jQAwKlTp/B///d/6Ny5MwICAtCqVSvceeed9YY4rly5goULFyI+Ph7+/v5o1aoVbrrpJmzfvt1ivR9++AETJ05EeHg4/P390adPH2zZssX8+po1a3DnnXcCAIYNG2ZuT0O5D0OHDsXUqVMBAH379rVoOwB8+OGH6N27NwICAtC6dWtMmTIFv/76q8U2avJxfvzxR9x2221o0aIFJk+ebHV/NX799Vfcd999aNOmDXQ6HTp06ICHHnoIFRUVDb7niy++wJ133on27dtDp9OhXbt2eOyxx3Dp0iWL9YqKijB9+nS0bdsWOp0O0dHRGD9+vMU5P3DgAEaOHInWrVsjICAAHTp0wL333muxndo5G9OmTcOQIUMAAHfeeSckScLQoUMBoMGcDVv35ubNmzF69GjzOejYsSOefvppi8/D0KFDkZOTg1OnTpmvZU1vVUM5G5999hkGDRqEoKAgtGzZEuPHj8fRo0ct1qlpc2FhIaZNm4aWLVsiNDQU06dPR3l5eYPXgMjTcBjFhdauXYvbb78dfn5+mDRpElauXIn9+/ejb9++5nWKioowbNgwVFZWYt68eQgKCsKbb76JgICAJu+nqqoKI0eORP/+/fHCCy9gx44dWLZsGTp27IiHHnoIACCEwLhx4/D555/jvvvuQ2JiIrZu3Yq///3v+PXXX/HSSy+Zt7dw4UIsWLAAAwYMwKJFi+Dn54e9e/fis88+w6233tpgO7Zt24Y77rgD3bp1Q0ZGBv7880/zL6e6li9fjnHjxmHy5MmoqKjA+vXrceeddyI7OxujR48GALz77ru4//770a9fP/ztb38DAHTs2BGAaYjiq6++wt133422bdvi5MmTWLlyJYYOHYojR44gMDAQgOmHf0ZGhnk7er0eBw4cwMGDBzFixAgApmBv4MCBuPbaa83XIDMzEykpKfjoo48wYcIEDB48GLNmzcK//vUvzJ8/H127dgUA8791paeno3PnznjzzTexaNEidOjQwdz2NWvWYPr06ejbty8yMjLw+++/Y/ny5dizZw++/fZbi7/wKysrMXLkSNx000144YUXzMdlzW+//YZ+/frhwoUL+Nvf/oYuXbrg119/xYYNG1BeXg4/Pz+r7/vwww9RXl6Ohx56CK1atcK+ffuwYsUK/PLLL/jwww/N691xxx34/vvv8cgjjyA2NhbFxcXYvn07Tp8+bf7+1ltvRUREBObNm4eWLVvi5MmT2LhxY4NtnjFjBq699losXboUs2bNQt++fXHNNdc0uH5T7s01a9YgODgYc+bMQXBwMD777DM8+eST0Ov1eP75583Xp6SkBL/88ov53m8s0XrHjh0YNWoUrrvuOixYsACXLl3CihUrMHDgQBw8eLDesFpqaio6dOiAjIwMHDx4EG+//TYiIyPx7LPPNrgPIo8iyCUOHDggAIjt27cLIYQwGo2ibdu24tFHH7VYb/bs2QKA2Lt3r3lZcXGxCA0NFQDEiRMnGt3P1KlTBQCxaNEii+U9e/YUvXv3Nn+flZUlAIjFixdbrDdx4kQhSZIoLCwUQghRUFAgNBqNmDBhgqiqqrJY12g0NtqWxMREER0dLS5cuGBetm3bNgFAxMTEWKxbXl5u8X1FRYVISEgQN998s8XyoKAgMXXq1Hr7qvt+IYTIzc0VAMR//vMf87IePXqI0aNHN9ruW265Rdxwww3i8uXL5mVGo1EMGDBAxMfHm5d9+OGHAoD4/PPPG91ejdWrVwsAYv/+/eZlFRUVIjIyUiQkJIhLly6Zl2dnZwsA4sknnzQvq7m28+bNa9L+7rnnHqHRaCz2V/t4hBDi888/r3cM1s5lRkaGkCRJnDp1SgghxPnz5wUA8fzzzze4/02bNtU7XmsAiKeeesr8fU2bPvzwQ4v1nnrqKVH7R1ZT701rxzNjxgwRGBhocY1Hjx5d774UQogTJ04IAGL16tXmZYmJiSIyMlL8+eef5mWHDh0SGo1G3HPPPfXafO+991psc8KECaJVq1b19kXkqTiM4iJr167FNddcg2HDhgEwdR3fddddWL9+vUV37v/+9z8kJSWhX79+5mURERE2u8vrevDBBy2+HzRoEH766SeL/Wi1WsyaNctivccffxxCCHz88ccATMMgRqMRTz75JDQay9ulsWmIZ86cQV5eHqZOnYrQ0FDz8hEjRqBbt2711q/dc3P+/HmUlJRg0KBBOHjwYBOO1vL9V65cwZ9//om4uDi0bNnSYhstW7bE999/j4KCAqvbOXfuHD777DOkpqaitLQUf/zxB/744w/8+eefGDlyJAoKCuoNbzjiwIEDKC4uxv/93/9Z5COMHj0aXbp0QU5OTr331PRONcZoNCIrKwtjx45Fnz596r3e2LWrfS7Lysrwxx9/YMCAARBC4NtvvzWv4+fnh507d+L8+fNWt1PTI5OdnY0rV67YbLO9mnpv1j6emms6aNAglJeX44cffrB7vzX39rRp0xAeHm5e3r17d4wYMQL/+9//6r3H2ufxzz//hF6vt3v/RO6IwYYLVFVVYf369Rg2bBhOnDiBwsJCFBYWon///vj999/x6aefmtc9deoU4uPj622jc+fOTd6fv78/IiIiLJaFhYVZ/FI4deoU2rRpgxYtWlisVzMMcOrUKQCmmQEajcZqgNCYmvc39Viys7ORlJQEf39/hIeHIyIiAitXrkRJSUmT9nfp0iU8+eST5vyT1q1bIyIiAhcuXLDYxqJFi3DhwgV06tQJN9xwA/7+97/j8OHD5tcLCwshhMD/+3//DxERERZfTz31FICrCYzOUHOerJ2TLl26mF+v4ePjY3UYqq6zZ89Cr9cjISHB7jadPn3a/Iu0JuenJo+i5lzqdDo8++yz+Pjjj3HNNddg8ODBeO6551BUVGTezpAhQ3DHHXdg4cKFaN26NcaPH4/Vq1fDYDDY3SZrmnpvfv/995gwYQJCQ0MREhKCiIgITJkyxeJ47NHYNevatSv++OOPeom77du3t/g+LCwMABoM1Ig8DXM2XOCzzz7DmTNnsH79eqxfv77e62vXrm0098Fe7pY1/8UXX2DcuHEYPHgwXnvtNURHR8PX1xerV6/GunXrmrSNRx55BKtXr8bs2bNx4403IjQ0FJIk4e6777ZIrh08eDB+/PFHbN68Gdu2bcPbb7+Nl156Ca+//jruv/9+87pz587FyJEjre5LyenKOp2u3l/xzlRVVYURI0bg3LlzeOKJJ9ClSxcEBQXh119/xbRp0yzO5ezZszF27FhkZWVh69at+H//7/8hIyMDn332GXr27AlJkrBhwwZ8/fXX+O9//4utW7fi3nvvxbJly/D111+7pPjchQsXMGTIEISEhGDRokXo2LEj/P39cfDgQTzxxBN2J143V0OfSWElGZvIEzHYcIG1a9ciMjISr776ar3XNm7ciE2bNuH1119HQEAAYmJirHbxHzt2zKltiomJwY4dO1BaWmrRu1HTrVxTRKljx44wGo04cuQIEhMT7do+gCYdy0cffQR/f39s3boVOp3OvHz16tX13ttQ9/+GDRsw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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "adhoc_dimension = 2\n", + "X_train, y_train, X_test, y_test, adhoc_total = ad_hoc_data(\n", + " training_size=20,\n", + " test_size=5,\n", + " n=adhoc_dimension,\n", + " gap=0.3,\n", + " plot_data=False,\n", + " one_hot=False,\n", + " include_sample_total=True,\n", + ")\n", + "\n", + "plt.figure(figsize=(5, 5))\n", + "plt.ylim(0, 2 * np.pi)\n", + "plt.xlim(0, 2 * np.pi)\n", + "plt.imshow(\n", + " np.asmatrix(adhoc_total).T,\n", + " interpolation=\"nearest\",\n", + " origin=\"lower\",\n", + " cmap=\"RdBu\",\n", + " extent=[0, 2 * np.pi, 0, 2 * np.pi],\n", + ")\n", + "\n", + "plt.scatter(\n", + " X_train[np.where(y_train[:] == 0), 0],\n", + " X_train[np.where(y_train[:] == 0), 1],\n", + " marker=\"s\",\n", + " facecolors=\"w\",\n", + " edgecolors=\"b\",\n", + " label=\"A train\",\n", + ")\n", + "plt.scatter(\n", + " X_train[np.where(y_train[:] == 1), 0],\n", + " X_train[np.where(y_train[:] == 1), 1],\n", + " marker=\"o\",\n", + " facecolors=\"w\",\n", + " edgecolors=\"r\",\n", + " label=\"B train\",\n", + ")\n", + "plt.scatter(\n", + " X_test[np.where(y_test[:] == 0), 0],\n", + " X_test[np.where(y_test[:] == 0), 1],\n", + " marker=\"s\",\n", + " facecolors=\"b\",\n", + " edgecolors=\"w\",\n", + " label=\"A test\",\n", + ")\n", + "plt.scatter(\n", + " X_test[np.where(y_test[:] == 1), 0],\n", + " X_test[np.where(y_test[:] == 1), 1],\n", + " marker=\"o\",\n", + " facecolors=\"r\",\n", + " edgecolors=\"w\",\n", + " label=\"B test\",\n", + ")\n", + "\n", + "plt.legend(bbox_to_anchor=(1.05, 1), loc=\"upper left\", borderaxespad=0.0)\n", + "plt.title(\"Ad hoc dataset for classification\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "41a439be", + "metadata": {}, + "source": [ + "### Define the Quantum Feature Map\n", + "\n", + "Next, we set up the quantum feature map, which encodes classical data into the quantum state space. Here, we use a `QuantumCircuit` to set up a trainable rotation layer and a `ZZFeatureMap` from `Qiskit` to represent the input data." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "60b58ede", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ┌──────────┐┌──────────────────────────┐\n", + "q_0: ┤ Ry(θ[0]) ├┤0 ├\n", + " ├──────────┤│ ZZFeatureMap(x[0],x[1]) │\n", + "q_1: ┤ Ry(θ[0]) ├┤1 ├\n", + " └──────────┘└──────────────────────────┘\n", + "Trainable parameters: θ, ['θ[0]']\n" + ] + } + ], + "source": [ + "# Create a rotational layer to train. We will rotate each qubit the same amount.\n", + "training_params = ParameterVector(\"θ\", 1)\n", + "fm0 = QuantumCircuit(2)\n", + "fm0.ry(training_params[0], 0)\n", + "fm0.ry(training_params[0], 1)\n", + "\n", + "# Use ZZFeatureMap to represent input data\n", + "fm1 = ZZFeatureMap(2)\n", + "\n", + "# Create the feature map, composed of our two circuits\n", + "fm = fm0.compose(fm1)\n", + "\n", + "print(circuit_drawer(fm))\n", + "print(f\"Trainable parameters: {training_params}\")" + ] + }, + { + "cell_type": "markdown", + "id": "54ae41ca", + "metadata": {}, + "source": [ + "### Set Up the Quantum Kernel and Quantum Kernel Trainer\n", + "\n", + "To train the quantum kernel, we will use an instance of `TrainableFidelityQuantumKernel` (holds the feature map and its parameters) and `QuantumKernelTrainer` (manages the training process).\n", + "\n", + "We will train using the Quantum Kernel Alignment technique by selecting the kernel loss function, `SVCLoss`, as input to the `QuantumKernelTrainer`. Since this is a Qiskit-supported loss, we can use the string, `\"svc_loss\"`; however, note that default settings are used when passing the loss as a string. For custom settings, instantiate explicitly with the desired options, and pass the `KernelLoss` object to the `QuantumKernelTrainer`.\n", + "\n", + "We will select SPSA as the optimizer and initialize the trainable parameter with the `initial_point` argument. Note: The length of the list passed as the `initial_point` argument must equal the number of trainable parameters in the feature map." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "a190efef", + "metadata": {}, + "outputs": [], + "source": [ + "# Instantiate quantum kernel\n", + "quant_kernel = TrainableFidelityQuantumKernel(feature_map=fm, training_parameters=training_params)\n", + "\n", + "# Set up the optimizer\n", + "cb_qkt = QKTCallback()\n", + "spsa_opt = SPSA(maxiter=10, callback=cb_qkt.callback, learning_rate=0.05, perturbation=0.05)\n", + "\n", + "# Instantiate a quantum kernel trainer.\n", + "qkt = QuantumKernelTrainer(\n", + " quantum_kernel=quant_kernel, loss=\"svc_loss\", optimizer=spsa_opt, initial_point=[np.pi / 2]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "b6f4fd48", + "metadata": {}, + "source": [ + "### Train the Quantum Kernel\n", + "\n", + "To train the quantum kernel on the dataset (samples and labels), we call the `fit` method of `QuantumKernelTrainer`.\n", + "\n", + "The output of `QuantumKernelTrainer.fit` is a `QuantumKernelTrainerResult` object. The results object contains the following class fields:\n", + "\n", + " - `optimal_parameters`: A dictionary containing {parameter: optimal value} pairs\n", + " - `optimal_point`: The optimal parameter value found in training\n", + " - `optimal_value`: The value of the loss function at the optimal point\n", + " - `optimizer_evals`: The number of evaluations performed by the optimizer\n", + " - `optimizer_time`: The amount of time taken to perform optimization\n", + " - `quantum_kernel`: A `TrainableKernel` object with optimal values bound to the feature map" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "9d26212c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{ 'optimal_circuit': None,\n", + " 'optimal_parameters': {ParameterVectorElement(θ[0]): 2.4745458584261386},\n", + " 'optimal_point': array([2.47454586]),\n", + " 'optimal_value': 7.399057680986741,\n", + " 'optimizer_evals': 30,\n", + " 'optimizer_result': None,\n", + " 'optimizer_time': None,\n", + " 'quantum_kernel': }\n" + ] + } + ], + "source": [ + "# Train the kernel using QKT directly\n", + "qka_results = qkt.fit(X_train, y_train)\n", + "optimized_kernel = qka_results.quantum_kernel\n", + "print(qka_results)" + ] + }, + { + "cell_type": "markdown", + "id": "5455be3c", + "metadata": {}, + "source": [ + "### Fit and Test the Model\n", + "\n", + "We can pass the trained quantum kernel to a machine learning model, then fit the model and test on new data. Here, we will use Qiskit Machine Learning's `QSVC` for classification." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e716655f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "accuracy test: 0.9\n" + ] + } + ], + "source": [ + "# Use QSVC for classification\n", + "qsvc = QSVC(quantum_kernel=optimized_kernel)\n", + "\n", + "# Fit the QSVC\n", + "qsvc.fit(X_train, y_train)\n", + "\n", + "# Predict the labels\n", + "labels_test = qsvc.predict(X_test)\n", + "\n", + "# Evalaute the test accuracy\n", + "accuracy_test = metrics.balanced_accuracy_score(y_true=y_test, y_pred=labels_test)\n", + "print(f\"accuracy test: {accuracy_test}\")" + ] + }, + { + "cell_type": "markdown", + "id": "9cd4cbf2", + "metadata": {}, + "source": [ + "### Visualize the Kernel Training Process\n", + "\n", + "From the callback data, we can plot how the loss evolves during the training process. We see it converges rapidly and reaches high test accuracy on this dataset with our choice of inputs.\n", + "\n", + "We can also display the final kernel matrix, which is a measure of similarity between the training samples." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "0cb85c46", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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AACQAhpogIt4e3tr8eLFyps3r77//nuNHDnS1SUBAAAAAIAU0EADXCgoKEjTpk2TJL377rvasGGDiysCAAAAAAD/ZbFarVZXF5HTRUdHy9fXV1FRUfLx8XF1OXCBHj16aPr06SpatKj27Nkjf39/V5cEAECOxXszOJPt8STJ7qPp44/Ng739tjnz+OPmTHi4MRL31yVjJpfizPuqWNGcee45c2b6dHNm5UpzRpKCgoyRmQvzGjMvXBht3teMGebME08YI4sfm2rMtGlrMWYS4s1//ruvMd+Peds/bcy4OXC4jp+fOePIONevmzPnzjlnX/Hx5kyHDubM8uXmTGKiOSM5VpMjmYAAcyYy0pzx9jZnatQwZ3791ZwpVMicyZfP/vaEhGjt329+3ecINCATmDRpkqpVq6Zz586pQ4cOinfk2Q0AAAAAAGSIDG2g/fXXX5o5c6ZGjx6tr776StcdaRMDOUCePHn01VdfKV++fPrhhx80bNgwV5cEAAAAAAD+5bQG2sGDB9W2bVu1a9dOly9fvm37ihUrVK5cOfXo0UNDhgxRhw4dVKlSJe3du9dZJQBZWoUKFTTj30O8P/jgA3377bcurggAAAAAAEhObKAtW7ZMS5YsUWRkpAoUKJBs27lz59SpUyddv35dVqvV9nX69Gk9/fTTunr1qrPKALK0du3aqVevXpKkTp066cyZMy6uCAAAAAAAOK2B9t1338lisahZs2a3bZsyZYquXr0qDw8PTZgwQfv27dOYMWPk5uamyMhITXdkQkggh5gwYYKqV6+uixcvqn379oqLc2ByVgAAAAAAkG6c1kA7deqUJKl69eq3bfv6669lsVjUuXNn9evXT/fff78GDBigF154QVarVStWrHBWGUCWlzt3bi1evFg+Pj7aunWr3nZktSUAAAAAAJBunNZAO/fvmrBFixZN9v0LFy7ot99+kyR17Ngx2bbmzZtLkg4cOOCsMoBsoVy5cpo1a5YkacyYMVq1apWLKwIAAAAAIOdyWgPtxo0bkqSbN28m+/6WLVskSZ6ennrkkUeSbStevLgkpbjoAJDTPfPMM+rTp48kqUuXLrajPAEAAAAAQMbycNZAhQoV0rlz53Tq1CnVqVPH9v3vvvtOklSrVi15enomu058fLwkKV++fM4qA8hWxo4dq+3bt+unn35Su3bttGnTptt+jwAA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aMqUKWrZsqViYmLUokUL7d+/39VlAQAA3JGoqCg9+eSTtgXMPvzwQ73yyisOXbdMmTLy9/eX9M/CA/b88MMPkqQSJUqodOnSd14wACBLcloD7dKlS5L+eRFy1K3sresCyBju7u5asGCB6tevr6ioKD311FM6efKkq8sCAABIk+vXr6tp06b6+d9Db9566y298cYbDl/fYrHYTvM8dOiQduzYkWJux44dtiPQWrRokepCTQCA7MtpDTRfX19J/8w94Kg///xTkliZBnCBPHnyaPny5apSpYoiIyP15JNP6uLFi64uCwAAwCGxsbFq1aqVtm7dKknq27ev3nvvvTSP069fP9vq5L1799aNGzeSbb9x44btzBkPDw/1c+RcMQBAtuO0BlqVKlUkSV988YXD17mVvXVdABmrYMGCWrt2rQIDA3X48GE1a9Ys2QpTAAAAmVWHDh20fv16SdJjjz2mF154Qb/++muqX0eOHElxnAoVKmjgwIGSpF27dqlevXpatGiRdu3apUWLFqlevXratWuXJGngwIG69957M+YGAgAyFactItC6dWuFh4frm2++0fDhwzVs2DC7hzaPHDlSX3/9tSwWi9q0aeOsMgCkUUBAgNatW6d69eppx44dateunb755hvlypXL1aUBAACkKulq4t9//72qVq1qN1+qVCmdOHEixW3vv/++zp07p1mzZmnPnj1q3779bZkXXnjhjo5wAwBkD047Au3FF19UxYoVZbVaNXLkSFWrVk0TJkzQ1q1b9fvvv+vo0aPaunWrJkyYoGrVqmn48OGSpKCgIL344ovOKgPAHahUqZJWrVqlPHnyaPXq1erZs6esVvPKOgAAANmBm5ubZs6cqdWrV6tFixby9/eXp6en/P391aJFC61Zs0YzZsyQmyPLRQIAsiWnHYGWK1curV27Vo8//riOHz+u3377zXYodEqsVqvKli2rNWvWyMPDaWUAuEMPP/ywFi1apFatWumLL75Q8eLF9f7777u6LAAAgBSlx4d9TZo0UZMmTZw+LgAg63PqRyilS5fWL7/8otdff12+vr6yWq0pfvn6+mrAgAHau3evSpUq5cwSANyFp59+WtOmTZMkffDBB5o8ebKLKwIAAAAAwPUs1nQ6Tys2Nla7d+/Wr7/+qkuXLkmSChUqpCpVqqhmzZry9PTUmTNnbEtON2/ePD3K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77/VvHlzDRgwgFU6AQAAACAHo4EGAP/x31M6x48fzymdAABkMtHR0Vq4cKFef/11BQcHq3z58vL19ZWnp6eKFi2qkJAQjRkzRhcvXnRovG3btqlTp04qVaqUcufOrWLFiunJJ59UWFhYOt8SAEBWQAMNAFLAKZ0AAGRuO3fuVIcOHTRhwgT98MMP+uOPPxQdHa24uDidP39emzZt0htvvKGgoCCtW7fO7ljDhw9X/fr1NX/+fJ06dUoxMTH666+/tH79enXs2FHNmjXTTUdmegcAZFs00ADAjpYtW2rPnj168MEHbad0vv7664p1ZIkrAACQrgIDA9W5c2dNmjRJS5cu1fbt27V161YtWrRIbdq0kbu7uy5cuKDmzZtr3759KY4xbdo0jRgxQomJiSpXrpxmzpypnTt3atmyZWrQoIEkafXq1XrekeUCAQDZlgMLGANAzla6dGlt3rxZb775pj766CNNmDDB9ua8VKlSri4PAIAcqUGDBjp16lSq29u2batly5apVatWio2N1YgRI7R06dJkmUuXLumNN96QJJUsWVI7duyQn5+fbXuzZs3UqlUrrVy5UmFhYerRo4dCQkLS5fYAADI3jkADAAd4enpqwoQJWrZsmQoUKKAff/xR1atX14oVK1xdGgAAOZK7u7sx07JlS1WsWFGStHnz5tu2z5gxQ1FRUZKk0aNHJ2ue3drHlClTbPsaO3bs3ZYNAMiiLFar1erqInK66Oho+fr6KioqSj4+Pq4uB4DBiRMn1K5dO+3cuVOS1L9/f40aNUqenp4urgwA4Ay8N8teateurV27dilfvny6cuVKsm0PP/ywtm/fLh8fH50/fz7V1/KnnnpK69atk5eXl86fP6/8+fM7vP9bjycvryhZLKk/nhzpzb32mjnj4cA5RomJ5sw775gz06aZM/nymTOOvIU6d86cKV3anJGkggXNmYgIc6ZcOXPm8GFzJnduc8YRBw6YMxMmmDM//WTOVKpkzkycaM44MivKc8+ZM//51U7RL7+YM4cOmTN2Dny1eeABc+bnn82ZgoUs5pCkyR+b2zrff28ex5HbtnevOePIY7pHD3MmIMCcceQxVLmy/e3Xr0erY0fz6z5HoAFAGt06pbN///6SpAkTJrBKJwAAmdDhw4e199+/9oKCgpJti42NtX0YVrduXbsfhAUHB0uSYmJitGvX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AAAAANhBAw0AAAAAAACwgwYasqVdu3bp3XffVaNGjRQQECAvLy/ly5dPFSpUULdu3bRlyxZXl4gM8sYbb8hisdi+wsPDXV0S0sGpU6c0bNgw1apVS0WKFFHu3LkVGBio+vXra+jQofr1119dXSKcIDY2VjNmzNCTTz6p4sWL257bK1asqG7dumnbtm2uLhEOOHfunFatWqWhQ4eqcePG8vPzsz1Hd+3aNc3jrV27Vq1atbK93gcEBKhVq1Zau3at84sH7tLJkyf1+uuvKygoSHnz5lWhQoVUu3ZtjR07VtevX3d1eZkazx0Zw9l/R3E/3y46OloLFy7U66+/ruDgYJUvX16+vr7y9PRU0aJFFRISojFjxujixYsOjbdt2zZ16tRJpUqVUu7cuVWsWDE9+eSTCgsLS+dbkgNZgWymfv36VknGr86dO1tjYmJcXS7S0Z49e6weHh7Jfu4bN250dVlwso8//tiaN29eu7/vffv2dXWZuEsnTpyw3nfffcbn9t69e1sTExNdXS7ssPfz69Kli8PjJCQkWF944QW743Xv3t2akJCQfjcGSIMVK1ZYfXx8Un28VqhQwfr777+7usxMi+eO9OfMv6O4n1P3v//9z6H72c/Pz/rtt9/aHWvYsGFWNze3VMdo2rSp9caNGxl0y7I/jkBDthMZGSlJ8vf3V9++fbVkyRLt3LlT27dv14QJE1SiRAlJ0pw5c+7o0ypkDYmJierRo4fi4+NVtGhRV5eDdPLee++pT58+unbtmipUqKCxY8cqPDxce/bs0YYNGzR27Fg9/PDDcnPj5S4ri4uLU9OmTfXbb79JkqpWrarZs2dr+/btWr9+vYYOHaq8efNKkiZPnqzRo0e7slykQcmSJdWoUaM7uu5bb72lmTNnSpKqV6+usLAw7dy5U2FhYapevbokacaMGXr77bedVi9wp/bs2aN27dopOjpa+fLl0/vvv69t27bpu+++04svvihJOnLkiJo2baorV664uNrMj+eO9OHMv6O4n+0LDAxU586dNWnSJC1dulTbt2/X1q1btWjRIrVp00bu7u66cOGCmjdvrn379qU4xrRp0zRixAglJiaqXLlymjlzpnbu3Klly5apQYMGkqTVq1fr+eefz8iblr25uoMHOFvTpk2tixYtssbHx6e4/fz589YKFSrYuvKbNm3K4AqRET766COr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U7i6uuL48ePw8PCQbKftgQc///wz/vKXv6CgoEDcvxs3bnQ7Hn9/f7zxxhsAgMzMTEyZMgVffvklCgoKkJWVhcjISERGRgJonfts8+bNvdntLiUlJWHkyJEICQnBZ599hpycHBQWFiI7Oxt///vf4eHhISYVFy1apJUYiIiIiIhIt/gQASKiPvb+++9j1qxZqKmpQVhYmEpZTEwMYmNjxdeJiYmwsLDAunXrUFVVpVL2a6ampl0+aVOKu7s74uLiEBMTg7t372L16tUd6rz77rtwcXGRnJftzTffRHx8PMrLy5GUlISkpCSxzM7ODtevX+92TLt27YJCoUBaWhrOnj2Lt956q0MdGxsbZGRkYOTIkd1ut6caGhqwf/9+7N+/v9PyAQMGIC4uDrNnz9ZaDEREREREpDscgUZE1Mf8/f1x9OhRBAQEwMbGBgYGBmrrymQyrF27FqWlpVi5ciXc3NxgYWEBPT09DBw4EGPHjsXcuXOxc+dO3Lx5E8bGxo8V29q1a5GRkQE/Pz+Ym5vD0NAQtra2CAoKQmZmJv7xj3902YaZmRlOnTqFpUuXwtnZWXwYQG/I5XIcOHAA6enpCAoKgo2NDQwNDWFubo7JkycjPj4ely9fhqura6+30ZW9e/di27ZtCAsLg6urK4YPHw59fX2YmZlh3LhxWLx4Mc6dOyfecktERERERP2PTHicCWqIiIiIiIiIiIj6OY5AIyIiIiIiIiIiksAEGhERERERERERkQQm0IiIiIiIiIiIiCQwgUZERERERERERCSBCTQiIiIiIiIiIiIJTKARERERERERERFJYAKNiIiIiIiIiIhIAhNoREREREREREREEphAIyIiIiIiIiIiksAEGhERERERERERkQQm0IiIiIiIiIiIiCQwgUZERERERERERCSBCTQiIiIiIiIiIiIJTKARERERERERERFJYAKNiIiIiIiIiIhIwv8AO41ipHeMaGMAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_data = cb_qkt.get_callback_data() # callback data\n", + "K = optimized_kernel.evaluate(X_train) # kernel matrix evaluated on the training samples\n", + "\n", + "plt.rcParams[\"font.size\"] = 20\n", + "fig, ax = plt.subplots(1, 2, figsize=(14, 5))\n", + "ax[0].plot([i + 1 for i in range(len(plot_data[0]))], np.array(plot_data[2]), c=\"k\", marker=\"o\")\n", + "ax[0].set_xlabel(\"Iterations\")\n", + "ax[0].set_ylabel(\"Loss\")\n", + "ax[1].imshow(K, cmap=matplotlib.colormaps[\"bwr\"])\n", + "fig.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "aa6e50bc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.25.0
qiskit-aer0.13.0
qiskit-machine-learning0.7.0
System information
Python version3.8.13
Python compilerClang 12.0.0
Python builddefault, Oct 19 2022 17:54:22
OSDarwin
CPUs10
Memory (Gb)64.0
Mon May 29 12:50:08 2023 IST
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + }, + "rise": { + "height": "90%", + "scroll": true, + "start_slideshow_at": "beginning", + "theme": "white", + "transition": "zoom", + "width": "90%" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/09_saving_and_loading_models.ipynb.txt b/_sources/tutorials/09_saving_and_loading_models.ipynb.txt new file mode 100644 index 000000000..d0645a71e --- /dev/null +++ b/_sources/tutorials/09_saving_and_loading_models.ipynb.txt @@ -0,0 +1,818 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "measured-liabilities", + "metadata": {}, + "source": [ + "# Saving, Loading Qiskit Machine Learning Models and Continuous Training\n", + "\n", + "In this tutorial we will show how to save and load Qiskit machine learning models. Ability to save a model is very important, especially when a significant amount of time is invested in training a model on a real hardware. Also, we will show how to resume training of the previously saved model.\n", + "\n", + "In this tutorial we will cover how to:\n", + "\n", + "* Generate a simple dataset, split it into training/test datasets and plot them\n", + "* Train and save a model\n", + "* Load a saved model and resume training\n", + "* Evaluate performance of models\n", + "* PyTorch hybrid models" + ] + }, + { + "cell_type": "markdown", + "id": "speaking-glance", + "metadata": {}, + "source": [ + "First off, we start from the required imports. We'll heavily use SciKit-Learn on the data preparation step. In the next cell we also fix a random seed for reproducibility purposes." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "exposed-cholesterol", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from qiskit.circuit.library import RealAmplitudes\n", + "from qiskit.primitives import Sampler\n", + "from qiskit_algorithms.optimizers import COBYLA\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import OneHotEncoder, MinMaxScaler\n", + "\n", + "from qiskit_machine_learning.algorithms.classifiers import VQC\n", + "\n", + "from IPython.display import clear_output\n", + "\n", + "algorithm_globals.random_seed = 42" + ] + }, + { + "cell_type": "markdown", + "id": "rural-mileage", + "metadata": {}, + "source": [ + "We will be using two quantum simulators, in particular, two instances of the `Sampler` primitive. We'll start training on the first one, then will resume training on the second one. The approach shown in this tutorial can be used to train a model on a real hardware available on the cloud and then re-use the model for inference on a local simulator." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "charming-seating", + "metadata": {}, + "outputs": [], + "source": [ + "sampler1 = Sampler()\n", + "\n", + "sampler2 = Sampler()" + ] + }, + { + "cell_type": "markdown", + "id": "careful-allowance", + "metadata": {}, + "source": [ + "## 1. Prepare a dataset\n", + "\n", + "Next step is to prepare a dataset. Here, we generate some data in the same way as in other tutorials. The difference is that we apply some transformations to the generated data. We generates `40` samples, each sample has `2` features, so our features is an array of shape `(40, 2)`. Labels are obtained by summing up features by columns and if the sum is more than `1` then this sample is labeled as `1` and `0` otherwise." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ceramic-florida", + "metadata": {}, + "outputs": [], + "source": [ + "num_samples = 40\n", + "num_features = 2\n", + "features = 2 * algorithm_globals.random.random([num_samples, num_features]) - 1\n", + "labels = 1 * (np.sum(features, axis=1) >= 0) # in { 0, 1}" + ] + }, + { + "cell_type": "markdown", + "id": "reduced-injury", + "metadata": {}, + "source": [ + "Then, we scale down our features into a range of `[0, 1]` by applying `MinMaxScaler` from SciKit-Learn. Model training convergence is better when this transformation is applied." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "dirty-director", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(40, 2)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "features = MinMaxScaler().fit_transform(features)\n", + "features.shape" + ] + }, + { + "cell_type": "markdown", + "id": "julian-amount", + "metadata": {}, + "source": [ + "Let's take a look at the features of the first `5` samples of our dataset after the transformation." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "thorough-script", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.79067335, 0.44566143],\n", + " [0.88072937, 0.7126244 ],\n", + " [0.06741233, 1. ],\n", + " [0.7770372 , 0.80422817],\n", + " [0.10351936, 0.45754615]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "features[0:5, :]" + ] + }, + { + "cell_type": "markdown", + "id": "racial-aluminum", + "metadata": {}, + "source": [ + "We choose `VQC` or Variational Quantum Classifier as a model we will train. This model, by default, takes one-hot encoded labels, so we have to transform the labels that are in the set of `{0, 1}` into one-hot representation. We employ SciKit-Learn for this transformation as well. Please note that the input array must be reshaped to `(num_samples, 1)` first. The `OneHotEncoder` encoder does not work with 1D arrays and our labels is a 1D array. In this case a user must decide either an array has only one feature(our case!) or has one sample. Also, by default the encoder returns sparse arrays, but for dataset plotting it is easier to have dense arrays, so we set `sparse` to `False`. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "understood-ukraine", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(40, 2)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "labels = OneHotEncoder(sparse_output=False).fit_transform(labels.reshape(-1, 1))\n", + "labels.shape" + ] + }, + { + "cell_type": "markdown", + "id": "statewide-symbol", + "metadata": {}, + "source": [ + "Let's take a look at the labels of the first `5` labels of the dataset. The labels should be one-hot encoded." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "german-agreement", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 1.],\n", + " [0., 1.],\n", + " [0., 1.],\n", + " [0., 1.],\n", + " [1., 0.]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "labels[0:5, :]" + ] + }, + { + "cell_type": "markdown", + "id": "aquatic-toner", + "metadata": {}, + "source": [ + "Now we split our dataset into two parts: a training dataset and a test one. As a rule of thumb, 80% of a full dataset should go into a training part and 20% into a test one. Our training dataset has `30` samples. The test dataset should be used only once, when a model is trained to verify how well the model behaves on unseen data. We employ `train_test_split` from SciKit-Learn." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "about-ordinary", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(30, 2)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_features, test_features, train_labels, test_labels = train_test_split(\n", + " features, labels, train_size=30, random_state=algorithm_globals.random_seed\n", + ")\n", + "train_features.shape" + ] + }, + { + "cell_type": "markdown", + "id": "critical-angel", + "metadata": {}, + "source": [ + "Now it is time to see how our dataset looks like. Let's plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "fifty-scottish", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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psHzbBo8z6bRUOeZI8VkSfjxjYiIiIgITIyJiIiIiADYeGLs6OiIefPmwdHRUexQrBrPs+nwXJsGz7Np8DybBs8z0d8sYvIdEREREVFDs+kRYyIiIiKiGkyMiYiIiIjAxJiIiIiICAATYyIiIiIiADaQGK9evRpKpRJOTk4IDAzEwYMH79v/22+/RceOHeHk5ARfX198//33JorUshlznteuXYugoCA89thjeOyxxxAaGvrA/y70N2P/pmts2rQJEokEw4YNa9gArYSx5/nKlSt488034eHhAUdHR3To0IH/fhjA2POckJCAJ554As7OzlAoFJgxYwZu3rxpomgt0549ezBkyBB4enpCIpEgLS3tgcdkZmbC398fjo6O8PHxQVJSUoPHSWQWBCu2adMmwcHBQfjqq6+EX375RZg4caLg7u4ulJWV1dl/3759gkwmE95//33hxIkTwjvvvCPY29sLx48fN3HklsXY8xwVFSWsXr1aOHr0qJCfny+MHTtWcHNzE86dO2fiyC2Psee6RkFBgdCmTRshKChIGDp0qGmCtWDGnudbt24JPXv2FJ5//nlh7969QkFBgZCZmSnk5uaaOHLLYux5/uabbwRHR0fhm2++EQoKCoQdO3YIHh4ewowZM0wcuWX5/vvvhX/961+CSqUSAAhbt269b//Tp08LjRo1EmbOnCmcOHFCWLVqlSCTyYT09HTTBEwkIqtOjHv37i28+eabusdqtVrw9PQU4uPj6+w/fPhw4YUXXtBrCwwMFF5//fUGjdPSGXue71ZdXS24uLgI69evb6gQrcbDnOvq6mqhX79+whdffCFER0czMTaAsef5008/Fdq1aydUVVWZKkSrYOx5fvPNN4VnnnlGr23mzJlC//79GzROa2JIYjxr1iyhS5cuem2RkZFCWFhYA0ZGZB6stpSiqqoKOTk5CA0N1bVJpVKEhoYiOzu7zmOys7P1+gNAWFjYPfvTw53nu12/fh23b99G06ZNGypMq/Cw53rhwoVo2bIlxo8fb4owLd7DnOd///vf6Nu3L9588020atUKXbt2xdKlS6FWq00VtsV5mPPcr18/5OTk6MotTp8+je+//x7PP/+8SWK2FbwWki2zEzuAhnLp0iWo1Wq0atVKr71Vq1b49ddf6zymtLS0zv6lpaUNFqele5jzfLe3334bnp6etf4hJn0Pc6737t2LL7/8Erm5uSaI0Do8zHk+ffo0fvzxR4waNQrff/89fv/9d0yZMgW3b9/GvHnzTBG2xXmY8xwVFYVLly7hySefhCAIqK6uxhtvvIE5c+aYImSbca9rYUVFBW7cuAFnZ2eRIiNqeFY7YkyWYdmyZdi0aRO2bt0KJycnscOxKpWVlRg9ejTWrl2L5s2bix2OVdNoNGjZsiU+//xzBAQEIDIyEv/617+wZs0asUOzKpmZmVi6dCk++eQTHDlyBCqVCtu3b8eiRYvEDo2IrITVjhg3b94cMpkMZWVleu1lZWVo3bp1nce0bt3aqP70cOe5xvLly7Fs2TLs2rUL3bp1a8gwrYKx5/qPP/5AYWEhhgwZomvTaDQAADs7O5w8eRKPP/54wwZtgR7mb9rDwwP29vaQyWS6tk6dOqG0tBRVVVVwcHBo0Jgt0cOc53fffRejR4/GhAkTAAC+vr64du0aJk2ahH/961+QSjnWUx/udS10dXXlaDFZPav9V8TBwQEBAQHIyMjQtWk0GmRkZKBv3751HtO3b1+9/gDwww8/3LM/Pdx5BoD3338fixYtQnp6Onr27GmKUC2esee6Y8eOOH78OHJzc3W3F198ESEhIcjNzYVCoTBl+BbjYf6m+/fvj99//133wQMATp06BQ8PDybF9/Aw5/n69eu1kt+aDyOCIDRcsDaG10KyaWLP/mtImzZtEhwdHYWkpCThxIkTwqRJkwR3d3ehtLRUEARBGD16tDB79mxd/3379gl2dnbC8uXLhfz8fGHevHlcrs0Axp7nZcuWCQ4ODkJqaqpQUlKiu1VWVor1K1gMY8/13bgqhWGMPc9nz54VXFxchKlTpwonT54Utm3bJrRs2VJYvHixWL+CRTD2PM+bN09wcXERkpOThdOnTws7d+4UHn/8cWH48OFi/QoWobKyUjh69Khw9OhRAYCwcuVK4ejRo8KZM2cEQRCE2bNnC6NHj9b1r1mu7Z///KeQn58vrF69msu1kc2w6sRYEARh1apVgpeXl+Dg4CD07t1b+Pnnn3XPPf3000J0dLRe/82bNwsdOnQQHBwchC5dugjbt283ccSWyZjz3LZtWwFArdu8efNMH7gFMvZv+k5MjA1n7Hnev3+/EBgYKDg6Ogrt2rUTlixZIlRXV5s4astjzHm+ffu2MH/+fOHxxx8XnJycBIVCIUyZMkX466+/TB+4Bdm9e3ed/+bWnNvo6Gjh6aefrnWMn5+f4ODgILRr105Yt26dyeMmEoNEEPj9ExERERGR1dYYExEREREZg4kxERERERGYGBMRERERAWBiTEREREQEgIkxEREREREAJsZERERERACYGBMRERERAWBiTEREREQEgIkxEREREREAJsZERERERACYGBMRERERAWBiTEREREQEAPj/GTaQAgDcbbkAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def plot_dataset():\n", + " plt.scatter(\n", + " train_features[np.where(train_labels[:, 0] == 0), 0],\n", + " train_features[np.where(train_labels[:, 0] == 0), 1],\n", + " marker=\"o\",\n", + " color=\"b\",\n", + " label=\"Label 0 train\",\n", + " )\n", + " plt.scatter(\n", + " train_features[np.where(train_labels[:, 0] == 1), 0],\n", + " train_features[np.where(train_labels[:, 0] == 1), 1],\n", + " marker=\"o\",\n", + " color=\"g\",\n", + " label=\"Label 1 train\",\n", + " )\n", + "\n", + " plt.scatter(\n", + " test_features[np.where(test_labels[:, 0] == 0), 0],\n", + " test_features[np.where(test_labels[:, 0] == 0), 1],\n", + " marker=\"o\",\n", + " facecolors=\"w\",\n", + " edgecolors=\"b\",\n", + " label=\"Label 0 test\",\n", + " )\n", + " plt.scatter(\n", + " test_features[np.where(test_labels[:, 0] == 1), 0],\n", + " test_features[np.where(test_labels[:, 0] == 1), 1],\n", + " marker=\"o\",\n", + " facecolors=\"w\",\n", + " edgecolors=\"g\",\n", + " label=\"Label 1 test\",\n", + " )\n", + "\n", + " plt.legend(bbox_to_anchor=(1.05, 1), loc=\"upper left\", borderaxespad=0.0)\n", + " plt.plot([1, 0], [0, 1], \"--\", color=\"black\")\n", + "\n", + "\n", + "plot_dataset()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "regulation-depression", + "metadata": {}, + "source": [ + "On the plot above we see:\n", + "\n", + "* Solid blue dots are the samples from the training dataset labeled as `0`\n", + "* Empty blue dots are the samples from the test dataset labeled as `0`\n", + "* Solid green dots are the samples from the training dataset labeled as `1`\n", + "* Empty green dots are the samples from the test dataset labeled as `1`\n", + "\n", + "We'll train our model using solid dots and verify it using empty dots." + ] + }, + { + "cell_type": "markdown", + "id": "egyptian-campaign", + "metadata": {}, + "source": [ + "## 2. Train a model and save it\n", + "\n", + "We'll train our model in two steps. On the first step we train our model in `20` iterations." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "brief-lending", + "metadata": {}, + "outputs": [], + "source": [ + "maxiter = 20" + ] + }, + { + "cell_type": "markdown", + "id": "crude-franklin", + "metadata": {}, + "source": [ + "Create an empty array for callback to store values of the objective function." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "integrated-palestinian", + "metadata": {}, + "outputs": [], + "source": [ + "objective_values = []" + ] + }, + { + "cell_type": "markdown", + "id": "legendary-sherman", + "metadata": {}, + "source": [ + "We re-use a callback function from the Neural Network Classifier & Regressor tutorial to plot iteration versus objective function value with some minor tweaks to plot objective values at each step." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "periodic-apparel", + "metadata": {}, + "outputs": [], + "source": [ + "# callback function that draws a live plot when the .fit() method is called\n", + "def callback_graph(_, objective_value):\n", + " clear_output(wait=True)\n", + " objective_values.append(objective_value)\n", + "\n", + " plt.title(\"Objective function value against iteration\")\n", + " plt.xlabel(\"Iteration\")\n", + " plt.ylabel(\"Objective function value\")\n", + "\n", + " stage1_len = np.min((len(objective_values), maxiter))\n", + " stage1_x = np.linspace(1, stage1_len, stage1_len)\n", + " stage1_y = objective_values[:stage1_len]\n", + "\n", + " stage2_len = np.max((0, len(objective_values) - maxiter))\n", + " stage2_x = np.linspace(maxiter, maxiter + stage2_len - 1, stage2_len)\n", + " stage2_y = objective_values[maxiter : maxiter + stage2_len]\n", + "\n", + " plt.plot(stage1_x, stage1_y, color=\"orange\")\n", + " plt.plot(stage2_x, stage2_y, color=\"purple\")\n", + " plt.show()\n", + "\n", + "\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)" + ] + }, + { + "cell_type": "markdown", + "id": "institutional-cyprus", + "metadata": {}, + "source": [ + "As mentioned above we train a `VQC` model and set `COBYLA` as an optimizer with a chosen value of the `maxiter` parameter. Then we evaluate performance of the model to see how well it was trained. Then we save this model for a file. On the second step we load this model and will continue to work with it.\n", + "\n", + "Here, we manually construct an ansatz to fix an initial point where to start optimization from." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "electronic-impact", + "metadata": {}, + "outputs": [], + "source": [ + "original_optimizer = COBYLA(maxiter=maxiter)\n", + "\n", + "ansatz = RealAmplitudes(num_features)\n", + "initial_point = np.asarray([0.5] * ansatz.num_parameters)" + ] + }, + { + "cell_type": "markdown", + "id": "separated-classroom", + "metadata": {}, + "source": [ + "We create a model and set a sampler to the first sampler we created earlier." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "revolutionary-freeze", + "metadata": {}, + "outputs": [], + "source": [ + "original_classifier = VQC(\n", + " ansatz=ansatz, optimizer=original_optimizer, callback=callback_graph, sampler=sampler1\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "minute-mexican", + "metadata": {}, + "source": [ + "Now it is time to train the model." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "suited-appointment", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+kAAAIjCAYAAAB/OVoZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACcmElEQVR4nOzdd3hUZdrH8e+k95BQQicQekcURKUpSkfEgq4FUWyLimJZWSsWWLviC6JYQNeCBXWtrAsooCDSpSdA6D2QkELanPePw0wSEiCTzOTMTH6f65rrnJw5M+fOJIG553me+7YZhmEgIiIiIiIiIpYLsDoAERERERERETEpSRcRERERERHxEkrSRURERERERLyEknQRERERERERL6EkXURERERERMRLKEkXERERERER8RJK0kVERERERES8hJJ0ERERERERES+hJF1ERERERETESyhJFxHxUU899RQ2m43Dhw+f9dzExERuvvlmzwd1ipkzZ2Kz2UhNTa3ya//5559ccMEFREZGYrPZWL16dZXHUB5W/WzczcqftZVsNhtPPfWU1WEAvvkzcPw7JiIiRZSki4h4kfXr13PDDTfQoEEDQkNDqV+/Ptdffz3r16+3OrQzmjRpEl9//bXVYTjl5+dz9dVXk5aWxquvvsqHH35IkyZNLIvn999/56mnnuLYsWOWxSC+Z+/evTz11FOV+oBp2rRpzJw5020xVUR2djZPPfUUv/zyi6VxiIj4CpthGIbVQYiICMyZM4frrruO+Ph4br31Vpo2bUpqairvvvsuR44c4dNPP+WKK65wnv/UU08xceJEDh06RK1atc743Lm5uQQEBBAcHOyR2KOiorjqqqtKJQOFhYXk5+cTGhpapaNlmzZtok2bNsyYMYMxY8ZU2XVP56WXXuKhhx5i+/btJCYmlrjP0z+bqjJz5kxGjx5d5vfoz06cOEFQUBBBQUFuf+7ly5dz3nnn8f7775drtkVZf2/t27enVq1alibIhw8fpnbt2jz55JOlZh0UFBRQUFBAWFiYNcGJiHgh9/+PIiIiLtu6dSs33ngjzZo1Y+HChdSuXdt537hx4+jZsyc33ngja9eupVmzZi4/f2hoqDvDLbfAwEACAwOr/LoHDx4EoEaNGlV+bVdZ9bMR9/Cm5LKq/t4KCgqw2+2EhIRU+rk89QGHiIgv03R3EREv8OKLL5Kdnc3bb79dIkEHqFWrFm+99RZZWVm88MILpR57+PBhrrnmGmJiYqhZsybjxo3jxIkTJc4pa93zsWPHuO+++2jUqBGhoaE0b96c559/HrvdXuI8u93O66+/TocOHQgLC6N27doMGDCA5cuXA+aa3KysLGbNmoXNZsNmszmvdeoa2SFDhpz2Q4YePXpw7rnnljj273//m65duxIeHk58fDzXXnstu3btOuNrefPNN9O7d28Arr76amw2G3369AGgT58+zv1TH1N89Dc1NRWbzcZLL73E22+/TVJSEqGhoZx33nn8+eefpR6/adMmrrnmGmrXrk14eDitWrXi0UcfBcwZDw899BAATZs2db5GjtekrJ/Ntm3buPrqq4mPjyciIoLzzz+f77//vsQ5v/zyCzabjc8++4znnnuOhg0bEhYWxiWXXEJKSsoZX6MvvvgCm83Gr7/+Wuq+t956C5vNxrp16wBYu3YtN998M82aNSMsLIy6detyyy23cOTIkTNeA06/Xrsyv49l+eabbxg8eDD169cnNDSUpKQknnnmGQoLC0udO3XqVJo1a0Z4eDjdunVj0aJFpX4v8vLyeOKJJ+jatSuxsbFERkbSs2dPFixYcNbv0bHGOiUlhZtvvpkaNWoQGxvL6NGjyc7OLvHYn3/+mYsuuogaNWoQFRVFq1at+Oc//wmYP9/zzjsPgNGjRzt/b840df3Uv7fExETWr1/Pr7/+6nx88e+zPK958b+F1157zfm3sGHDhnK9Tqmpqc5/0yZOnOiMw/GalbUmvaCggGeeecZ5rcTERP75z3+Sm5tb4rzExESGDBnC4sWL6datG2FhYTRr1owPPvjgtK+RiIgv0EeXIiJe4NtvvyUxMZGePXuWeX+vXr1ITEwslagBXHPNNSQmJjJ58mSWLl3KlClTOHr06BnfqGZnZ9O7d2/27NnDHXfcQePGjfn999+ZMGEC+/bt47XXXnOee+uttzJz5kwGDhzImDFjKCgoYNGiRSxdupRzzz2XDz/8kDFjxtCtWzduv/12AJKSksq87siRI7npppv4888/nQkIwI4dO1i6dCkvvvii89hzzz3H448/zjXXXMOYMWM4dOgQb7zxBr169WLVqlWnHSW/4447aNCgAZMmTeLee+/lvPPOIyEh4bSvxZl8/PHHHD9+nDvuuAObzcYLL7zAiBEj2LZtm3N6+tq1a+nZsyfBwcHcfvvtJCYmsnXrVr799luee+45RowYwZYtW/jkk0949dVXnUsTTv0wxuHAgQNccMEFZGdnc++991KzZk1mzZrFsGHD+OKLL0oseQD417/+RUBAAA8++CDp6em88MILXH/99fzxxx+n/b4GDx5MVFQUn332mfMDDYfZs2fTrl072rdvD5iJ5LZt2xg9ejR169Zl/fr1vP3226xfv56lS5e6ZRmDK7+PZZk5cyZRUVGMHz+eqKgo5s+fzxNPPEFGRkaJ36k333yTu+++m549e3L//feTmprK8OHDiYuLo2HDhs7zMjIyeOedd7juuuu47bbbOH78OO+++y79+/dn2bJldO7c+azf0zXXXEPTpk2ZPHkyK1eu5J133qFOnTo8//zzgFl/YsiQIXTs2JGnn36a0NBQUlJS+O233wBo06YNTz/9NE888QS3336789+GCy64oNyv62uvvcY999xDVFSU80Mjx9+Cq6/5+++/z4kTJ7j99tsJDQ0lPj6+XK9T7dq1efPNN7nrrru44oorGDFiBAAdO3Y8bdxjxoxh1qxZXHXVVTzwwAP88ccfTJ48mY0bN/LVV1+VODclJYWrrrqKW2+9lVGjRvHee+9x880307VrV9q1a1fu10pExKsYIiJiqWPHjhmAcfnll5/xvGHDhhmAkZGRYRiGYTz55JMGYAwbNqzEeX//+98NwFizZo3zWJMmTYxRo0Y5v37mmWeMyMhIY8uWLSUe+8gjjxiBgYHGzp07DcMwjPnz5xuAce+995aKx263O/cjIyNLPL/D+++/bwDG9u3bDcMwjPT0dCM0NNR44IEHSpz3wgsvGDabzdixY4dhGIaRmppqBAYGGs8991yJ8/766y8jKCio1PFTLViwwACMzz//vMTx3r17G7179y51/qhRo4wmTZo4v96+fbsBGDVr1jTS0tKcx7/55hsDML799lvnsV69ehnR0dHO2B2Kvz4vvvhiidehuFN/Nvfdd58BGIsWLXIeO378uNG0aVMjMTHRKCwsLPE9tmnTxsjNzXWe+/rrrxuA8ddff5X94px03XXXGXXq1DEKCgqcx/bt22cEBAQYTz/9tPNYdnZ2qcd+8sknBmAsXLjQeezUn7VhGAZgPPnkk2f9nsv7+3g6ZcV4xx13GBEREcaJEycMwzCM3Nxco2bNmsZ5551n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jaSX9/exLGXFmJeXx7Rp00qcd+6551KzZk1mzJhR4vk++uijUlOjy3rOP/74o8TPpLLS0tJKHXNUjXe0GnPl9+Z0Tve3WZnX3KG8r1NERITzec9m0KBBQOnfsVdeeQUwOxOIiPg7jaSLiHiBFi1aMGvWLK6//no6dOjArbfeStOmTUlNTeXdd9/l8OHDfPLJJ2W2Ntu+fTvDhg1jwIABLFmyhH//+9/87W9/o1OnTqe93kMPPcR//vMfhgwZ4mxXlJWVxV9//cUXX3xBamoqtWrVom/fvtx4441MmTKF5ORk5xTnRYsW0bdvX+6++24Aunbtyv/+9z9eeeUV6tevT9OmTctcV+0waNAgoqOjefDBBwkMDOTKK68scX9SUhLPPvssEyZMcLbJio6OZvv27Xz11VfcfvvtPPjggy6/zrfccguvvPIK/fv359Zbb+XgwYNMnz6ddu3alVrLXF5Tpkzhoosu4pxzzuH22293/ty+//57Vq9eDZivD8Cjjz7KtddeS3BwMEOHDnUmYcU98sgjfPLJJwwcOJB7772X+Ph4Zs2axfbt2/nyyy/dul45ODiYESNG8Omnn5KVlcVLL71U4v6YmBh69erFCy+8QH5+Pg0aNOC///1vqVHq0xkzZgx33nknV155JZdeeilr1qxh7ty5zjZ0DuX9fSzLBRdcQFxcHKNGjeLee+/FZrPx4YcflvpgISQkhKeeeop77rmHiy++mGuuuYbU1FRmzpxJUlJSidHeIUOGMGfOHK644goGDx7M9u3bmT59Om3btiUzM7Nc3/vZPP300yxcuJDBgwfTpEkTDh48yLRp02jYsKFzNk1SUhI1atRg+vTpREdHExkZSffu3V1a7921a1fefPNNnn32WZo3b06dOnW4+OKLK/WaO5T3dQoPD6dt27bMnj2bli1bEh8fT/v27cus5dCpUydGjRrF22+/7VzKsGzZMmbNmsXw4cNLzIIQEfFbVVxNXkREzmDt2rXGddddZ9SrV88IDg426tata1x33XVlttNytC7asGGDcdVVVxnR0dFGXFyccffddxs5OTklzj215ZVhmG29JkyYYDRv3twICQkxatWqZVxwwQXGSy+9ZOTl5TnPKygoMF588UWjdevWRkhIiFG7dm1j4MCBxooVK5znbNq0yejVq5cRHh5uAM5rldUSyuH66683AKNfv36n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xRf16quv6vXXX9fhw4cVGRmp2bNnq6GhwWef7777rn72s58pJydHRUVFSk1N1ezZs3X58uWuehm9lr/5q6+vV1FRkZ555hkVFRXpvffeU0lJiR599NE2++3IsRed01btSdKcOXO85uGdd97x2ye11z3amrvb56yiokJbtmyRzWbTY4895rdf6q7rtScb/PSnP9Vf//pX7dixQ4WFhbp06ZK+//3v++23M+fKgDKAhVy+fNlIMoWFhT7bbN261cTGxnbfoOBTTk6OSU1NbXf7+fPnm4ceeshrW1pamvnxj398l0eGjvrJT35iRo8ebVwuV6uPU3fWIMm8//77nvsul8skJCSYl156ybOturrahIWFmXfeecdnP/fff7/Jysry3Hc6nSYpKcmsW7euS8YNtzvnrzVHjhwxksz58+d9tunosRf/udbm7vHHHzeZmZkd6ofa637tqbvMzEwzY8YMv22ou8C4MxtUV1eb0NBQs2PHDk+b06dPG0nm0KFDrfbR2XNlIHElHZZSU1MjSRowYIDfdnV1dRoxYoQcDocyMzN18uTJ7hgeWnHmzBklJSVp1KhRWrx4scrLy322PXTokDIyMry2zZ49W4cOHerqYcKPxsZGvf322/rhD38om83msx11Zz1lZWWqrKz0qqvY2FilpaX5rKvGxkYdO3bMa5+QkBBlZGRQixZQU1Mjm82muLg4v+06cuxF1ykoKNCQIUM0btw4rVy5UlevXvXZltqzpqqqKn3wwQdavnx5m22pu+53ZzY4duyYmpqavOpo/PjxGj58uM866sy5MtAI6bAMl8ul7Oxsfetb39KkSZN8ths3bpy2bNmiXbt26e2335bL5dL06dN18eLFbhwtJCktLU25ubnas2ePNm3apLKyMn37299WbW1tq+0rKysVHx/vtS0+Pl6VlZXdMVz4sHPnTlVXV2vZsmU+21B31tRcOx2pqytXrsjpdFKLFtTQ0KA1a9Zo0aJFiomJ8dmuo8dedI05c+bozTffVH5+vtavX6/CwkLNnTtXTqez1fbUnjVt27ZN0dHRbS6Xpu66X2vZoLKyUna7vcUbmf7qqDPnykDrG+gBAM2ysrJ04sSJNj/fk56ervT0dM/96dOn65577tHmzZv13HPPdfUwcZu5c+d6fp88ebLS0tI0YsQIbd++vV3vSMMa3njjDc2dO1dJSUk+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s2nTprXYd9++fZo5c6aGDh2q6OhoLVmyRFevXlV9fX27n//06dNyOByegC5JEyZMUFxcnE6fPu3Zlpyc7AnokpSYmKjLly936LUCANATcCUdAIAerK6uTo888ojWr1/f4rHExETP75GRkV6PnTt3Tg8//LBWrlyp559/XgMGDNCHH36o5cuXq7GxUREREXd1nKGhoV73bTabXC7XXX0OAACCASEdAIAewm63y+l0em2bOnWq/vKXvyg5OVl9+7b/tH/s2DG5XC797ne/U0iIe+Hd9u3b23y+O91zzz26cOGCLly44LmafurUKVVXV2vChAntHg8AAL0Fy90BAOghkpOTdfjwYZ07d05XrlyRy+VSVlaWrl27pkWLFuno0aMqLS3V3r179cQTT/gN2N/4xjfU1NSkjRs36osvvtBbb73l+UK525+vrq5O+fn5unLlSqvL4DMyMpSSkqLFixerqKhIR44c0dKlS/XAAw/om9/85l3/GwAAEOwI6QAA9BCrV69Wnz59NGHCBA0ePFjl5eVKSkrSwYMH5XQ6NWvWLKWkpCg7O1txcXGeK+StSU1N1YYNG7R+/XpNmjRJf/rTn7Ru3TqvNtOnT9eKFSu0YMECDR48uMUXz0nuZeu7du1S//799Z3vfEcZGRkaNWqU3n333bv++gEA6AlsxhgT6EEAAAAAAACupAMAAAAAYBmEdAAAAAAALIKQDgAAAACARRDSAQAAAACwCEI6AAAAAAAWQUgHAAAAAMAiCOkAAAAAAFgEIR0AAAAAAIsgpAMAAAAAYBGEdAAAAAAALIKQDgAAAACARfw/ofEHKMXQGRIAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "original_classifier.fit(train_features, train_labels)" + ] + }, + { + "cell_type": "markdown", + "id": "revised-torture", + "metadata": {}, + "source": [ + "Let's see how well our model performs after the first step of training." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "greek-memphis", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train score 0.8333333333333334\n", + "Test score 0.8\n" + ] + } + ], + "source": [ + "print(\"Train score\", original_classifier.score(train_features, train_labels))\n", + "print(\"Test score \", original_classifier.score(test_features, test_labels))" + ] + }, + { + "cell_type": "markdown", + "id": "rental-moses", + "metadata": {}, + "source": [ + "Next, we save the model. You may choose any file name you want. Please note that the `save` method does not append an extension if it is not specified in the file name." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "broadband-interview", + "metadata": {}, + "outputs": [], + "source": [ + "original_classifier.save(\"vqc_classifier.model\")" + ] + }, + { + "cell_type": "markdown", + "id": "sitting-thread", + "metadata": {}, + "source": [ + "## 3. Load a model and continue training\n", + "\n", + "To load a model a user have to call a class method `load` of the corresponding model class. In our case it is `VQC`. We pass the same file name we used in the previous section where we saved our model." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "steady-europe", + "metadata": {}, + "outputs": [], + "source": [ + "loaded_classifier = VQC.load(\"vqc_classifier.model\")" + ] + }, + { + "cell_type": "markdown", + "id": "reverse-shaft", + "metadata": {}, + "source": [ + "Next, we want to alter the model in a way it can be trained further and on another simulator. To do so, we set the `warm_start` property. When it is set to `True` and `fit()` is called again the model uses weights from previous fit to start a new fit. We also set the `sampler` property of the underlying network to the second instance of the `Sampler` primitive we created in the beginning of the tutorial. Finally, we create and set a new optimizer with `maxiter` is set to `80`, so the total number of iterations is `100`." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "accessible-cowboy", + "metadata": {}, + "outputs": [], + "source": [ + "loaded_classifier.warm_start = True\n", + "loaded_classifier.neural_network.sampler = sampler2\n", + "loaded_classifier.optimizer = COBYLA(maxiter=80)" + ] + }, + { + "cell_type": "markdown", + "id": "revised-bruce", + "metadata": {}, + "source": [ + "Now we continue training our model from the state we finished in the previous section." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "metric-cyprus", + "metadata": { + "nbsphinx-thumbnail": { + "output-index": 0 + } + }, + "outputs": [ + { + "data": { + "image/png": "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VVVV6fLLL5fNZtN9992nU089VWvXrvWUpy9ZskSHHnqo0tLSdNlll6mkpERr1qzRu+++q7vvvlunnnqqVq1apZdfflkPPfSQpzWh9Ycxlu3bt+uggw5SbW2trr76ahUUFOj555/XSSedpNdff92n5UGS/vSnP8lut+u3v/2tKioqdN999+mcc87R119/HfB1nXDCCcrOztarr77q+UDDMnv2bI0bN07jx4+XZAaSa9eu1YUXXqh+/frpxx9/1FNPPaUff/xRX331VUTaGML5ffRn1qxZys7O1nXXXafs7Gx9/PHHuvXWW1VZWenzO/XEE0/oqquu0qGHHqprr71W69ev18knn6yePXtq0KBBnuMqKyv1zDPP6KyzztKll16qqqoq/f3vf9cxxxyjb775RhMnTmz3NZ155pkaMmSI7r33Xi1cuFDPPPOM+vTpoz//+c+SzPkTM2bM0F577aU777xT6enpKi0t1eeffy5JGjNmjO68807deuutuuyyyzz/bTjooINCfl8ffvhh/frXv1Z2drbnQyPr30K47/lzzz2n+vp6XXbZZUpPT1evXr1Cep8KCwv1xBNP6Je//KVOOeUUnXrqqZKkvfbaK+C6L7nkEj3//PM6/fTTdf311+vrr7/Wvffeq+XLl+utt97yOba0tFSnn366Lr74Yp1//vl69tlndcEFF2jSpEkaN25cyO8VACQUAwAQV+Xl5YYk42c/+1nQ40466SRDklFZWWkYhmHcdttthiTjpJNO8jnuV7/6lSHJWLx4see24uJi4/zzz/d8f9dddxlZWVnGqlWrfB574403GikpKcbGjRsNwzCMjz/+2JBkXH311W3W43a7PdezsrJ8zm957rnnDEnGunXrDMMwjIqKCiM9Pd24/vrrfY677777DJvNZmzYsMEwDMNYv369kZKSYtx9990+xy1dutRITU1tc3tr8+bNMyQZr732ms/t06ZNM6ZNm9bm+PPPP98oLi72fL9u3TpDklFQUGCUlZV5bn/nnXcMSca7777ruW3q1KlGTk6OZ+0W7/fn/vvv93kfvLX+2fzmN78xJBmffvqp57aqqipjyJAhRklJieFyuXxe45gxY4yGhgbPsY888oghyVi6dKn/N6fZWWedZfTp08dwOp2e27Zu3WrY7Xbjzjvv9NxWW1vb5rEvv/yyIcmYP3++57bWP2vDMAxJxm233dbuaw719zEQf2u8/PLLjR49ehj19fWGYRhGQ0ODUVBQYOy///5GU1OT57hZs2YZknx+L5xOp897ahiGsWfPHqNv377GRRdd5HN769do/btsfdwpp5xiFBQUeL5/6KGHDEnGzp07A76ub7/91pBkPPfccwGP8ebvZzBu3Di/v/OhvufWv4Xc3Fxjx44dPseG+j7t3Lkz4O+C9X5ZFi1aZEgyLrnkEp/jfvvb3xqSjI8//thzW3FxcZvfwx07dvj9bwwAJBPK3QEgzqqqqiRJOTk5QY+z7q+srPS5/corr/T5/te//rUk6f333w94rtdee02HHnqoevbsqV27dnm+pk+fLpfLpfnz50uS3njjDdlsNt12221tztGRDGpubq6OO+44vfrqqzK85pbOnj1bBx54oAYPHizJHKLndrt15pln+qyvX79+GjFihN+y42iYOXOmevbs6fneymauXbtWkrRz507Nnz9fF110kWftlo5mmN9//31NnjxZhxxyiOe27OxsXXbZZVq/fr2WLVvmc/yFF17o0xvceo2BzJw5Uzt27PAZKPb666/L7XZr5syZntsyMzM91+vr67Vr1y4deOCBkqSFCxeG/wL9CPX3MRDvNVZVVWnXrl069NBDVVtbqxUrVkgyh7Dt3r1bl156qU8P9DnnnOPzM5bM3m7rPXW73SorK5PT6dR+++0X8mu+4oorfL4/9NBDtXv3bs+/X6sS5J133gmppD/Swn3PTzvttDbVH5F4n1qz/rt13XXX+dx+/fXXS1KbaqKxY8f6VCAVFhZq1KhR7f7+A0Aio9wdAOLMCr6tYD2QQMH8iBEjfL4fNmyY7HZ70L2SV69erSVLlgQsubYGr61Zs0YDBgxQr169gq4tHDNnztTbb7+tL7/8UgcddJDWrFmj7777zqe8dvXq1TIMo81rs8RqEnrrwNsK5vbs2SOpJRC2SsMjYcOGDTrggAPa3D5mzBjP/d7P194aAzn22GOVl5en2bNn68gjj5RkflgyceJEjRw50nNcWVmZ7rjjDr3yyiue3wtLRUVFGK8ssFB/HwP58ccf9Yc//EEff/xxmw+xrDVu2LBBkjR8+HCf+1NTU/1Oo3/++ef1l7/8RStWrFBTU5Pn9iFDhrT7eqTgP5fc3FzNnDlTzzzzjC655BLdeOONOvLII3Xqqafq9NNPl90e/RxKuO95oNfd2feptQ0bNshut7f5OfXr10/5+fmen6Ol9fssme91e7//AJDICNIBIM7y8vLUv39/LVmyJOhxS5Ys0cCBA5Wbmxv0uFAyuG63W0cddZR+97vf+b3fO0iLtBNPPFE9evTQq6++qoMOOkivvvqq7Ha7zjjjDJ/12Ww2ffDBB36nVWdnZ3fouW02m08G3+JvwJikgJOy/Z0jXjq6xvT0dJ188sl666239Pjjj2v79u36/PPPdc899/gcd+aZZ+qLL77QDTfcoIkTJyo7O1tut1vHHntshzPArd/vzvw+lpeXa9q0acrNzdWdd96pYcOGKSMjQwsXLtT//d//dWiN//znP3XBBRfo5JNP1g033KA+ffooJSVF9957r9asWRPSOdr7uWRmZmr+/PmaN2+e3nvvPX344YeaPXu2jjjiCP3nP/+J+pT2cN9z72oFSyTep0BCrURJhn+jABAugnQASAAzZszQ008/rc8++8ynzNny6aefav369br88svb3Ld69WqfrFVpaancbnfQvaqHDRum6upqTZ8+Pei6hg0bpjlz5qisrCxoNj2c0u6srCzNmDFDr732mh588EHNnj1bhx56qAYMGODzvIZhaMiQIRH9wKBnz55+y2BbZ+dCZU2qtyahBxLO+1NcXKyVK1e2ud0q2y4uLg5jhcHNnDlTzz//vObOnavly5fLMAyfUvc9e/Zo7ty5uuOOO3Trrbd6bl+9enVI5+/Zs6fKy8t9bmtsbNTWrVt9bgv199GfTz75RLt379abb76pqVOnem5ft26dz3HW+1ZaWqrDDz/cc7vT6dT69et9Bpm9/vrrGjp0qN58802fn52/to/OsNvtOvLII3XkkUfqwQcf1D333KObb75Z8+bN0/Tp0yMylC/QOTrznltCfZ/C/f13u91avXq1p3pEMgcqlpeXR/T3HwASFT3pAJAAbrjhBmVmZuryyy9vs7VVWVmZrrjiCvXo0cOzlZe3xx57zOf7v/71r5Kk4447LuDznXnmmfryyy81Z86cNveVl5fL6XRKMvtQDcPQHXfc0eY470xVVlZWm2AsmJkzZ2rLli165plntHjxYp/AUJJOPfVUpaSk6I477miTETMMI6Ttv/wZNmyYVqxYoZ07d3puW7x4sWeidrgKCws1depUPfvss9q4cWObdVqysrIkKaT36Pjjj9c333yjL7/80nNbTU2NnnrqKZWUlGjs2LEdWqs/06dPV69evTR79mzNnj1bkydP9vnAx8pStv4ZtDdt3TJs2LA2vc1PPfVUm0x6qL+P/vhbY2Njox5//HGf4/bbbz8VFBTo6aef9jnfiy++2KY02t85v/76a5+fSWeVlZW1uc2aGm9tNRbO700ggf5tduY9t4T6PvXo0cNz3vYcf/zxktr+jj344IOSzJ0JAKCrI5MOAAlgxIgRev7553XOOedowoQJuvjiizVkyBCtX79ef//737Vr1y69/PLLfrc2W7dunU466SQde+yx+vLLL/XPf/5TZ599tvbee++Az3fDDTfoX//6l2bMmOHZrqimpkZLly7V66+/rvXr16t37946/PDD9Ytf/EKPPvqoVq9e7Slx/vTTT3X44YfrqquukiRNmjRJH330kR588EENGDBAQ4YM8dtXbTn++OOVk5Oj3/72t0pJSdFpp53mc/+wYcP0xz/+UTfddJNnm6ycnBytW7dOb731li677DL99re/Dft9vuiii/Tggw/qmGOO0cUXX6wdO3boySef1Lhx49r0Mofq0Ucf1SGHHKJ9991Xl112mefn9t5772nRokWSzPdHkm6++Wb9/Oc/V1pamk488URPEObtxhtv1Msvv6zjjjtOV199tXr16qXnn39e69at0xtvvBHRfuW0tDSdeuqpeuWVV1RTU6MHHnjA5/7c3FxNnTpV9913n5qamjRw4ED95z//aZOlDuSSSy7RFVdcodNOO01HHXWUFi9erDlz5ni2obOE+vvoz0EHHaSePXvq/PPP19VXXy2bzaYXXnihzQcLDodDt99+u37961/riCOO0Jlnnqn169dr1qxZGjZsmE+2d8aMGXrzzTd1yimn6IQTTtC6dev05JNPauzYsaqurg7ptbfnzjvv1Pz583XCCSeouLhYO3bs0OOPP65BgwZ5qmmGDRum/Px8Pfnkk8rJyVFWVpYOOOCAsPq9J02apCeeeEJ//OMfNXz4cPXp00dHHHFEp95zS6jvU2ZmpsaOHavZs2dr5MiR6tWrl8aPH+93lsPee++t888/X0899ZSnleGbb77R888/r5NPPtmnCgIAuqwYT5MHAASxZMkS46yzzjL69+9vpKWlGf369TPOOussv9tpWVsXLVu2zDj99NONnJwco2fPnsZVV11l1NXV+RzbessrwzC39brpppuM4cOHGw6Hw+jdu7dx0EEHGQ888IDR2NjoOc7pdBr333+/MXr0aMPhcBiFhYXGcccdZ3z33XeeY1asWGFMnTrVyMzMNCR5nsvfllCWc845x5BkTJ8+PeD78cYbbxiHHHKIkZWVZWRlZRmjR482rrzySmPlypVB38dAW7AZhmH885//NIYOHWo4HA5j4sSJxpw5cwJuwXb//fe3ebz8bCX1ww8/GKeccoqRn59vZGRkGKNGjTJuueUWn2PuuusuY+DAgYbdbvd5T/z9bNasWWOcfvrpnvNNnjzZ+Pe//x3Sa7TWHuq2Xf/9738NSYbNZjM2bdrU5v6ffvrJ89ry8vKMM844w9iyZUub98Hfz9rlchn/93//Z/Tu3dvo0aOHccwxxxilpaWd+n305/PPPzcOPPBAIzMz0xgwYIDxu9/9zpgzZ44hyZg3b57PsY8++qhRXFxspKenG5MnTzY+//xzY9KkScaxxx7rOcbtdhv33HOP57h99tnH+Pe//93m98QwAm/B1nprtdbvz9y5c42f/exnxoABAwyHw2EMGDDAOOuss9psifbOO+8YY8eONVJTU9v9ufr7GWzbts044YQTjJycnDZbzYXyngf7txDO+/TFF18YkyZNMhwOh8971noLNsMwjKamJuOOO+4whgwZYqSlpRlFRUXGTTfd5NlOz1JcXGyccMIJbdYVaKtFAEgWNsNgsgYAdHVFRUU65phj9Mwzz8R7KUBCcbvdKiws1Kmnnqqnn3463ssBAICedADo6pqamrR79+52S1eBrq6+vr5NGfw//vEPlZWV6bDDDovPogAAaIWedADowubMmaNXXnlFdXV1nr2wge7qq6++0rXXXqszzjhDBQUFWrhwof7+979r/PjxPlsAAgAQTwTpANCF/elPf1JpaanuvvtuHXXUUfFeDhBXJSUlKioq0qOPPurZVvC8887Tn/70JzkcjngvDwAASRI96QAAAAAAJAh60gEAAAAASBAE6QAAAAAAJIhu15Pudru1ZcsW5eTkyGazxXs5AAAAAIAuzjAMVVVVacCAAbLbg+fKu12QvmXLFhUVFcV7GQAAAACAbmbTpk0aNGhQ0GO6XZCek5MjyXxzcnNz47waAAAAAEBXV1lZqaKiIk88Gky3C9KtEvfc3FyCdAAAAABAzITScs3gOAAAAAAAEgRBOgAAAAAACYIgHQAAAACABEGQDgAAAABAgiBIBwAAAAAgQRCkAwAAAACQIAjSAQAAAABIEATpAAAAAAAkCIJ0AAAAAAASBEE6AAAAAAAJgiAdAAAAAIAEQZAOAAAAAECCIEgHAAAAACBBEKQDAAAAAJAgCNIBAAAAAEgQBOkAAAAAACQIgnR0LQ27pT2L470KAAAAAOgQgnR0LZ+eLn0wUapaE++VAAAAAEDYCNLRtdSsa75cH9dlAAAAAEBHEKSja3E1NF/WxXcdAAAAANABBOnoWtxWkF4f33UAAAAAQAcQpKNrIZMOAAAAIIkRpKNrcTdn0AnSAQAAACQhgnR0HW6nZLjN65S7AwAAAEhCBOnoOqx+dIlMOgAAAICkRJCOrsPlFaQ7CdIBAAAAJB+CdHQd3iXuZNIBAAAAJCGCdHQdPuXu9KQDAAAASD4E6eg6XPSkAwAAAEhuBOnoOhgcBwAAACDJEaSj6/DpSafcHQAAAEDyIUhH10EmHQAAAECSI0hH10FPOgAAAIAkR5COroNMOgAAAIAkR5COroOedAAAAABJjiAdXQfl7gAAAACSHEE6ug7K3QEAAAAkOYJ0dB0+QTrl7gAAAACSD0E6ug7K3QEAAAAkOYJ0dB0+g+MI0gEAAAAkH4J0dB3e5e7uJsntit9aAAAAAKADCNLRdXiXu0uSm750AAAAAMmFIB1dh7tVkO6k5B0AAABAciFIR9fReqI7fekAAAAAkgxBOrqO1pl0tmEDAAAAkGQI0tF1tO5JJ5MOAAAAIMkQpKPraJNJJ0gHAAAAkFwI0tF10JMOAAAAIMkRpKPraFPuTk86AAAAgORCkI6ug3J3AAAAAEmOIB1dB4PjAAAAACQ5gnR0He7m8nZbqnlJuTsAAACAJEOQjq7DyqQ78pu/J5MOAAAAILkQpKPrsHrS0/LNS4J0AAAAAEmGIB1dR+tMupMgHQAAAEByIUhH12H1pFtBupuedAAAAADJhSAdXYerVbk7mXQAAAAASYYgHV2Hm8FxAAAAAJIbQTq6BsMtuZvM65S7AwAAAEhSBOnoGtyNLdfT8sxLyt0RZ9uXbtfaj9bGexkAAABIIgTp6BpcXllztmBDgnjlZ6/ohaNfUPW26ngvBQAAAEmCIB1dgzU0TpIczZl0gnTEWfW2asmQanbWxHspAAAASBIE6egarKFx9nQpJdO87qInHfHlanD5XAIAAADtIUhH12Bl0lPSpZSM5tvIpCN+3E63DLchSXI2OOO8GgAAACQLgnR0DdYk95QMr0w6QTrixzswd9YTpAMAACA0BOnoGlyUuyOxeJe4U+4OAACAUBGko2vw25NOJh3x45NJp9wdAAAAISJIR9dATzoSjHf2nHJ3AAAAhIogHV2DVdpOJh0Jwjt7Trk7AAAAQhXXIH3+/Pk68cQTNWDAANlsNr399ttBj3/zzTd11FFHqbCwULm5uZoyZYrmzJkTm8UisVnl7j6D4+olw4jfmtCtkUkHAABAR8Q1SK+pqdHee++txx57LKTj58+fr6OOOkrvv/++vvvuOx1++OE68cQT9f3330d5pUh4/srdpZbgHYgxetIBAADQEanxfPLjjjtOxx13XMjHP/zwwz7f33PPPXrnnXf07rvvap999onw6pBU/A2Ok8ySd++gHYgRprsDAACgI+IapHeW2+1WVVWVevXqFfCYhoYGNTS0ZFMrKytjsTTEmtWTnpIu2dMkm10y3GzDhrhhn3QAAAB0RFIPjnvggQdUXV2tM888M+Ax9957r/Ly8jxfRUVFMVwhYsaTSc+QbDaGxyHufHrSKXcHAABAiJI2SH/ppZd0xx136NVXX1WfPn0CHnfTTTepoqLC87Vp06YYrhIx492TLrWUuDsJ0hEfTHcHAABARyRlufsrr7yiSy65RK+99pqmT58e9Nj09HSlp6fHaGWIG++edIlMOuKO6e4AAADoiKTLpL/88su68MIL9fLLL+uEE06I93KQKLx70iXfbdiAOGC6OwAAADoirpn06upqlZaWer5ft26dFi1apF69emnw4MG66aabtHnzZv3jH/+QZJa4n3/++XrkkUd0wAEHaNu2bZKkzMxM5eXlxeU1IEF475PufUkmHXHCdHcAAAB0RFwz6QsWLNA+++zj2T7tuuuu0z777KNbb71VkrR161Zt3LjRc/xTTz0lp9OpK6+8Uv379/d8XXPNNXFZPxKIi3J3JBamuwMAAKAj4ppJP+yww2QYRsD7Z82a5fP9J598Et0FIXkF7Emn3B3xQSYdAAAAHZF0PemAX22mu5NJR3yRSQcAAEBHEKSja/AMjqMnHYmBfdIBAADQEQTp6Bood0eCYZ90AAAAdARBOroGyt2RYNgnHQAAAB1BkI6uoU0mnXJ3xJerkXJ3AAAAhI8gHV2DpyedTDoSA+XuAAAA6AiCdHQNnky6NTiOnnTEF+XuAAAA6AiCdHQNrXvSU8mkI76Y7g4AAICOIEhH19C6J93KqDsJ0hEflLsDAACgIwjS0TW07km3Muluyt0RH5S7AwAAoCMI0tE1WJn0lFY96WTSESfemXS30y3DbcRxNQAAAEgWBOnoGlwByt3pSUectC5xpy8dAAAAoSBIR9fgZnAcEkvroJySdwAAAISCIB3JzzBaetLtrfdJpycd8dE6k87wOAAAAISCIB3Jz93Ucr11TzqZdMQJmXQAAAB0BEE6kp9V6i55ZdLpSUd80ZMOAACAjiBIR/JzeQXpKZS7IzG0DsopdwcAAEAoCNKR/KxMui1VsjX/SlPujjhrk0mn3B0AAAAhIEhH8rOy5VaJu/d1gnTEiZVJT81I9fkeAAAACIYgHcmv9fZrUksm3XD5DpYDYsAwDE8mPT3X/L2k3B0AAAChIEhH8rN60u1+gnSJvnTEnLvJ7bluBemUuwMAACAUBOlIfm5/QbpX6Tsl74gx79L29Lz0NrcBAAAAgRCkI/l5etK9gnSbrSVoJ0hHjHmXtqfnUO4OAACA0BGkI/lZ5e7e2XOJbdgQN1bW3JZiU1pWmnkb5e4AAAAIAUE6kp+/cndJSmUbNsSHlTVPTU9VajrT3QEAABA6gnQkP3/T3SXJ3pxZdxKkI7asgDwlPUUp6SnmbWTSAQAAEAKCdCQ/q5ydTDoShE8mvXmfdHrSAQAAEAqCdCQ/etKRYFyNZkDuk0mn3B0AAAAhIEhH8gvUk55CJh3xYQXkPj3plLsDAAAgBATpSH6uAD3pVmadIB0xZpW2p6SnUO4OAACAsBCkI/m5A/SkU+6OOPHOpFPuDgAAgHAQpCP5tduTTiYdseUvk065OwAAAEJBkI7kF7AnnXJ3xIe/nnTK3QEAABAKgnQkv4A96WTSER/emXSr3J0gHQAAAKEgSEfyC7RPOj3piBOfTDrl7gAAAAgDQTqSn5uedCQWn550aws2BscBAAAgBATpSH5swYYE43e6O5l0AAAAhIAgHckv4OA4yt0RH+yTDgAAgI4iSEfyY3AcEoyVSafcHQAAAOEiSEfycwcaHNdc7u4kSEdsWVlzyt0BAAAQLoJ0JD8Xg+OQWHwy6ZS7AwAAIAwE6Uh+gXrSU5uDdDc96YgtT0+6g3J3AAAAhIcgHcmvvZ50yt0RY97l7uyTDgAAgHAQpCP5tdeTTrk7Ysy73N3qSafcHQAAAKEgSEfya7cnnXJ3xJZPJp1ydwAAAISBIB3Jz80WbEgs/gbHGS5Dbqc7nssCAABAEiBIR/JzBRgcR7k74sTfFmwS2XQAAAC0jyAdyc8qZyeTjgThk0lvLneX6EsHAABA+wjSkfw8W7AF6El3N0oGZcaIHe9Muj3VLluKTRIT3gEAANA+gnQkN7dLMpqzk4Ey6RLD4xBT3pl0SQyPAwAAQMgI0pHcrCy6FLgnXaLkHTHlnUmXWoJ1MukAAABoD0E6kpt3hrx1Jt2eKtlS2x4HRJmr0QzSPZn05gnv9KQDAACgPQTpSG5WJt1mbwnIvTE8DnFglbVbmXTK3QEAABAqgvRkVvq09MV5krMbB6De26/ZbG3vZxs2xIGVMbcy6ZS7AwAAIFQE6cnsx7ul9S9Im16P90rixx1gj3SLlUnvzh9kIObaZNIpdwcAAECICNKTWVOVebmxGwfpgfZIt6Ra27DRk47YaZ1Jp9wdAAAAoSJIT2bOavNy6xypqTK+a4kXF5l0JBbDMDyD41pn0il3BwAAQHsI0pOVq1FyN5rX3Q3S5vfiu554scrdvbdb82anJx2xZQXoUtuedMrdAQAA0B6C9GTlqvH9ftMb8VlHvHmC9HbK3dmCDTHiHYgz3R0AAADhIkhPVk3Vvt9veV9y1vg/tisLtdydTDpixDsQT3H47pNOuTsAAADaQ5CerKx+dEdPKWuIGYRu+SC+a4qH9gbHsQUbYszKpNvT7LLZzW0BKXcHAABAqAjSk5UVpKfmSINPN693xynvni3YAvSkp1Dujthqvf2axD7pAAAACB1BerKygvS0bKmoOUjf8u/uN8Xc1U5POuXuiLHW269JXuXu9KQDAACgHQTpycrqP0/Nlgr2l3oUmbdt+0981xVrbnrSkVj8ZdKt65S7AwAAoD0E6cnKGhyXmi3ZbC3Z9O5W8k5POhKMJ5PuaMmkU+4OAACAUHUoSP/000917rnnasqUKdq8ebMk6YUXXtBnn30W0cUhCE9PepZ5Ofg083Lzv1pKwLuD9vZJpycdMWZl0il3BwAAQEeEHaS/8cYbOuaYY5SZmanvv/9eDQ1mkFRRUaF77rkn4gtEAE6vTLok9Z4iZfaXmiqlbR/Fb12xxhZsSDBWJp1ydwAAAHRE2EH6H//4Rz355JN6+umnlZaW5rn94IMP1sKFCyO6OATROki32aWi5mz6pm5U8t5uTzrl7oitoJl0yt0BAADQjrCD9JUrV2rq1Kltbs/Ly1N5eXkk1oRQtA7SpZa+9J/ekdxNsV9TPLTbk065O2LLXyadfdIBAAAQqrCD9H79+qm0tLTN7Z999pmGDh0akUUhBE1eW7BZCg+RMvpIjXuk7fPis65Yc4Xak04mHbHhN5OeTk86AAAAQhN2kH7ppZfqmmuu0ddffy2bzaYtW7boxRdf1G9/+1v98pe/jMYa4Y+/TLo9RRp0qnm9u0x5b6/cPZUgHbHltyedcncAAACEKLX9Q3zdeOONcrvdOvLII1VbW6upU6cqPT1dv/3tb/XrX/86GmuEP/6CdMmc8l76pPTTW9L+j0v2sH/EycWTSQ8QpNubM+xOgnTEhr9MOuXuAAAACFXYEZzNZtPNN9+sG264QaWlpaqurtbYsWOVnZ3d/oMROc4a87J1kN5nmpReIDXsknbMl/odEfu1xZK7ude8vUy6m550xEaw6e6UuwMAAKA9HdonXZIcDofGjh2ryZMnE6DHg9NPT7ok2dOkQSeb1ze9EdMlxUV7mXSrJ51MOmKE6e4AAADojLAz6YcffrhsNlvA+z/++ONOLQghsoL0lKy29xWdLq35u7TpTWnSo2avelfl6UkPNDiOLdgQW1YmnXJ3AAAAdETYQfrEiRN9vm9qatKiRYv0ww8/6Pzzz4/UutAef9PdLX2PkNLypfpt0q4vpD6HxnRpMRVqJp1yd8SIqzFIuTuZdAAAALQj7CD9oYce8nv77bffrurq6k4vCCEKNDhOklIc0qCfSeueN6e8d+Ugvb3p7pS7I8aClrvTkw4AAIB2dLgnvbVzzz1Xzz77bKROh/YEC9Ilqeg083LTG5Lhjs2a4sHVnCFvL5PuqpMMIzZrQrfmb3Ac5e4AAAAIVcSC9C+//FIZGQH6ghFZhjvwdHdL/6Ok1BypbrO0+5vYrS3WrEx6Sjs96TIkd2NMloTuzW8mnXJ3AAAAhCjscvdTTz3V53vDMLR161YtWLBAt9xyS8QWhiBcdZKas8L+etIlMzgdeKK04SWz5L33gTFbXky5Qix3l8yse6CMOxAhfrdg8yp3Nwwj6PBNAAAAdG9hB+l5eXk+39vtdo0aNUp33nmnjj766IgtDEFYQ+Nk8w1CWxt8mhmkb/1A0gOxWFnsudsZHGd3SLJJMpo/3MjzfxwQIcGmu8uQ3E63UtK68I4LAAAA6JSwg/TnnnsuGutAOFxWqXuWZAvSsZC/t3lZvc7sx+6K2TurJz1QJt1mM6sKXHVsw4aYsMrd/WXSJbPknSAdAAAAgUSsJx0xZGXSU/3ske6txyDz0lUnNeyO7prixdVOT7rkNTyObdgQff4y6d4BO8PjAAAAEExImfSePXuG3ENZVlbWqQUhBO1NdrekpEsZ/cz90ms3Shm9o7+2WGtvCzbJd8I7EGX+Muk2u032VLvcTjfbsAEAACCokIL0hx9+OCpPPn/+fN1///367rvvtHXrVr311ls6+eSTgz7mk08+0XXXXacff/xRRUVF+sMf/qALLrggKutLWKEG6ZKUNdgM0ms2Sr32je66Ys3wmtgebCAcQTpiyF8mXTJL3hurG5nwDgAAgKBCCtLPP//8qDx5TU2N9t57b1100UVtpsb7s27dOp1wwgm64oor9OKLL2ru3Lm65JJL1L9/fx1zzDFRWWNCsoL0QJPdvfUYbG7BVrsxumuKByuLLrWTSW8uhSdIRwz4y6RLzUF7NeXuAAAACC7swXHe6uvr1djou/d0bm5uyI8/7rjjdNxxx4V8/JNPPqkhQ4boL3/5iyRpzJgx+uyzz/TQQw91ryC9KcxMuiTVbIjeeuLF5RWk05OOBBEwk85e6QAAAAhB2IPjampqdNVVV6lPnz7KyspSz549fb6i6csvv9T06dN9bjvmmGP05ZdfBnxMQ0ODKisrfb6SXjjl7j2sIL2rZ9IdgY9LpdwdsRMok+69VzoAAAAQSNhB+u9+9zt9/PHHeuKJJ5Senq5nnnlGd9xxhwYMGKB//OMf0Vijx7Zt29S3b1+f2/r27avKykrV1fkPwO69917l5eV5voqKiqK6xpgItydd6prl7lYm3e4Ivr2cvTnL7iRIR/R5MukO30y6lVmn3B0AAADBhB2kv/vuu3r88cd12mmnKTU1VYceeqj+8Ic/6J577tGLL74YjTV2yk033aSKigrP16ZNm+K9pM7rSJDeFTPp7e2RbrEy6W7K3RF9VqaccncAAAB0RNg96WVlZRo6dKgks//c2nLtkEMO0S9/+cvIrq6Vfv36afv27T63bd++Xbm5ucrMzPT7mPT0dKWntxPEJRtnjXkZ6uA4yZzw7moIPgU92bhD2CNdaulJJ5OOGLAy5ZS7AwAAoCPCzqQPHTpU69atkySNHj1ar776qiQzw56fnx/RxbU2ZcoUzZ071+e2//73v5oyZUpUnzfhWJn0lKz2j03v3RKk1v4UvTXFgydIb+eDB7ZgQwwFyqRT7g4AAIBQhB2kX3jhhVq8eLEk6cYbb9Rjjz2mjIwMXXvttbrhhhvCOld1dbUWLVqkRYsWSTK3WFu0aJE2bjRLs2+66Sadd955nuOvuOIKrV27Vr/73e+0YsUKPf7443r11Vd17bXXhvsykltTGFuw2Wxdty/d05PeXpDOFmyInXYz6ZS7AwAAIIiwy929A+Lp06drxYoV+u677zR8+HDttddeYZ1rwYIFOvzwwz3fX3fddZLMfdlnzZqlrVu3egJ2SRoyZIjee+89XXvttXrkkUc0aNAgPfPMM91r+zUpvJ50ySx5r1zZ9frSrZ70kDPp9KQjugy3IbfTLSlITzrl7gAAAAgi7CB906ZNPhPSi4uLVVxc3KEnP+yww2QYRsD7Z82a5fcx33//fYeer8sIN0jvqsPj3KFm0il3R2x4B+CtM+mUuwMAACAUYZe7l5SUaNq0aXr66ae1Z8+eaKwJ7elIJl3quuXu7Q6Oo9wdseEdgLfJpFPuDgAAgBCEHaQvWLBAkydP1p133qn+/fvr5JNP1uuvv66GhoZorA/+OMPoSZfIpFPujhjxzqQH2iedcncAAAAEE3aQvs8+++j+++/Xxo0b9cEHH6iwsFCXXXaZ+vbtq4suuigaa0RrTQmWSXfWSUvvkvYsis75A3Ex3R2JxcqkpzhSZLPZfO5jn3QAAACEIuwg3WKz2XT44Yfr6aef1kcffaQhQ4bo+eefj+TaEIireZ/0sHvSN0hBZgB02OZ3paW3Sguvi/y5g3E3Z8bpSUeCcDU2B+mtSt2llnJ3etIBAAAQTIeD9J9++kn33XefJk6cqMmTJys7O1uPPfZYJNeGQMLOpA8yL111UsPuyK+nfrt5WfZddD4ECISedCQYq5S99dA4iXJ3AAAAhCbs6e5/+9vf9NJLL+nzzz/X6NGjdc455+idd97p8IR3hMnd1NKLnZoV2mNSMqSMvmYwXbtRyugd2TU1VTRfVko166XsIZE9fyD0pCPBeMrd/WXSKXcHAABACMIO0v/4xz/qrLPO0qOPPqq99947GmtCMM6aluuhZtIlsy+9frs5PK7XvpFdU2N5y/U9i2MXpNOTjgQTLJNOuTsAAABCEXaQvnHjxjYDkRBD1mR3e5qU4gj9cVmDpbJvozM8zsqkS+bwuKKTI/8c/rhC7Umn3B2xESyTzj7pAAAACEXYPekE6HEWbj+6pUcUt2HzDtLLF0f+/IG4Q+1Jp9wdsRE0k065OwAAAELQ4cFxiBNnB4P0rChuw9bYKpMeK6GWu6dS7o7YCNqT3lzuzuA4AAAABEOQnmw6HKQ3D/aLSia9vOV6zXrfHvVoCndwnJMgHdEVynR3yt0BAAAQDEF6sknETLp3ubsklS+J/HP4Y5Wvtzs4jp50xEZImXTK3QEAABAEQXqysaa7p3WwJ71ua0uZeKRY5e7Wc8Sq5N2TSQ+xJ91wSm4CJERPSD3plLsDAAAgiLCD9O3bt+sXv/iFBgwYoNTUVKWkpPh8IcqsTHpKiHukW9J7t2SU6zZHdk1WuXufaeblnhgNjwt3CzaJ4XGIKqa7AwAAoLPC3oLtggsu0MaNG3XLLbeof//+THuPNWu6e7iZdJvNzHRXrTL70rOHRmY9rsaWwLfPVGn9C3HIpIdY7i6ZJe/hvndAiELZJ51ydwAAAAQTdpD+2Wef6dNPP9XEiROjsBy0q6M96ZLZl161SqrZELn1ePej95lqXlb8KLmbzL3coynUnnSbXbI7JHcjmXREVdCedMrdAQAAEIKwy92LiopkGEY01oJQdCZIj8Ze6VaQnpot5QyXUnPMDHflysg9RyChZtIlr73SGR6H6LEC8BRH4HJ3MukAAAAIJuwg/eGHH9aNN96o9evXR2E5aFdnM+lSZCe8W9utpeWZGeuee5vfx6Iv3dOT3s7gOIkgHTERynR3etIBAAAQTNjl7jNnzlRtba2GDRumHj16KC3Nt6S5rKwsYouDH84O9qRL0c2kO/LMy/y9pZ2fSeWLJJ0Tuefxxx3i4DiJbdgQE0x3BwAAQGeFHaQ//PDDUVgGQtaUYJl0K0hPyzcve040L2MxPM7qLw+r3J2edERPqNPdDcNg6CYAAAD8CjtIP//886OxDoQqUj3phmFOfO8s73J3ybfcPVLPEYiLnnQkllCmu0uSq9Hl9xgAAACgQ38lulwuvf3221q+fLkkady4cTrppJPYJz0WnDXmZYeC9EHmpatWaiyT0gs6v57W5e55483e9IadUt1WqceAzj9HIO5wetIpd0f0hTLd3TqOIB0AAAD+hP1XYmlpqY4//nht3rxZo0aNkiTde++9Kioq0nvvvadhw4ZFfJHw4smkZ4X/2NRMKaOPVL/DzKZHIkhvbFXunpop5YySKpdL5YujG6S7wulJp9wd0WcF6f4CcO/A3VnvVHpuCL+3AAAA6HbCnu5+9dVXa9iwYdq0aZMWLlyohQsXauPGjRoyZIiuvvrqaKwR3jpT7i5JPYrNy0j1pbfOpEux60tnCzYkGM8WbH4y6TabzbM1G8PjAAAAEEjYQfr//vc/3XffferVq5fntoKCAv3pT3/S//73v4guDn50Zrq71DI8LlIT3pvKzcs0f0F6FLdhM4yWrHgomfTU5iDdSZCO6AmWSZd8h8cBAAAA/oQdpKenp6uqqqrN7dXV1XI4HBFZFILozHR3qWV4XKQy6Va5uyO/5bb85uFx5Ysi8xz+GE5Jhnk9lJ50e/MxbsrdET3BMulSy/A4Zz2ZdAAAAPgXdpA+Y8YMXXbZZfr6669lGIYMw9BXX32lK664QieddFI01giLYXS+3D3imXSrJ91PJr1yVcugu0iz+tGl0MrdyaQjBtrLpLNXOgAAANoTdpD+6KOPatiwYZoyZYoyMjKUkZGhgw8+WMOHD9cjjzwSjTXC4qqTJ3ucKEF66y3YJCmzr5TRV5Ihlf8QmedpzR1mkE5POmLA1Rh4urv37WTSAQAAEEjY093z8/P1zjvvaPXq1VqxYoUkacyYMRo+fHjEF4dWrCy6JKX26Ng5POXuGzq/Hsl/Jl0ys+lb55jD43ofEJnn8mb1o9tSJHsIW/+xBRtiINg+6VJLuTs96QAAAAikwxv1jhgxQiNGjIjkWtAe7+3XbGEXQZisTHrdVrNkPJSha8E0+elJl8y+9K1zzG3YoiGcPdIltmBDTATbJ12i3B0AAADtCylIv+6663TXXXcpKytL1113XdBjH3zwwYgsDH5Y/d0d2SPdkl5oloe7G6S6zVL20I6fyzCCZ9Kl6G3D5gpj+zWJcnfERHuZdMrdAQAA0J6QgvTvv/9eTU1NnuuIk85Odpckm83MpletNvvSOxOku+okt/l74bNPuiT1tCa8L5EMd8cz/4F4MukE6Ugc7WbSKXcHAABAO0IK0ufNm+f3OmKss5PdLT28gvTOsLLoNnvbNeWMNEvRnTVS1RopN8KtEVbZesiZdKsnnXJ3RE+7PemUuwMAAKAdYac3L7roIr/7pNfU1Oiiiy6KyKIQQKSC9KwI7ZVu7ZGemts2U25PlfImmNejsV+6i0w6Ek97mXTK3QEAANCesIP0559/XnV1bQOduro6/eMf/4jIohBAJDPpUgQy6eXmZetSd4tV8r4nCsPjrHJ3e7iD4wjSET1MdwcAAEBnhTzdvbKyUoZhyDAMVVVVKSOjJThyuVx6//331adPn6gsEs2sID0twTLpafn+74/m8LiwM+lswYbocrvcMlyGJKa7AwAAoONCDtLz8/Nls9lks9k0cuTINvfbbDbdcccdEV0cWonE4DhJyio2LyPVkx4ok55vDY+LRiY93J50tmBDdHlnxwNOd8+g3B0AAADBhRykz5s3T4Zh6IgjjtAbb7yhXr16ee5zOBwqLi7WgAEDorJINIt0uXvtRnMbNZutY+cJtP2apedezc/zk9SwW0ov6Njz+ENPOhKMd3a8vUw65e4AAAAIJOQgfdq0aZKkdevWafDgwbJ1NLBDx3n2Se9skD6o5XyNe6T0XsGPD6Sx3LwMFKSn5ZpbvFWvNfvS+x3RsefxJ9ye9FSCdESXJ/C2SfZU/+M+GBwHAACA9oQ9OO7jjz/W66+/3ub21157Tc8//3xEFoUAPJn0rM6dJzVTymieH9CZvnRPuXt+4GOi1ZcebibdzhZsiC4rk57iSAn4IaY1OI6edAAAAAQSdpB+7733qnfv3m1u79Onj+65556ILAoBRKrcXfKa8L6h4+dor9xdkvInmpcRD9LD7Eknk54UXE0u7Vm7J97L6BArkx6oH937PsrdAQAAEEjYQfrGjRs1ZMiQNrcXFxdr48ZODiJDcJGa7i61THjvzPC49srdpZZt2CI9PM7d0Z70erMPHwlpzrVz9OiwR7V27tp4LyVsnkx6gH507/sodwcAAEAgYQfpffr00ZIlS9rcvnjxYhUURHAwGNqK1HR3yXd4XIfXE0a5e8WylhL1SPCUu4e6T7rXcZS8J6zSD0olSTuX7YzzSsIXUiadfdIBAADQjrCD9LPOOktXX3215s2bJ5fLJZfLpY8//ljXXHONfv7zn0djjbBEstw9Epn0UMrdexSZ+6gbTqlyecefqzXP4LgwM+lSy/ZtSCi1u2s9pe4NlRH8QCdGQsmks086AAAA2hPydHfLXXfdpfXr1+vII49Uaqr5cLfbrfPOO4+e9GiLSk96Z8rdQwjSbTYzm77jE7Mv3cqsd1bYg+PSJFuKZLgkZ53k6BmZdSBitizY4rneWNUYx5V0TCiZdMrdAQAA0J6wg3SHw6HZs2frrrvu0uLFi5WZmakJEyaouLg4GuuDt2hk0jtV7l5uXjqCBOmS2Ze+4xNzG7ZIcYc5OE4ys+nOaobHJagt37YE6V02k065OwAAANoRdpBuGTlypEaOHBnJtaA9kRwcZ2XS67ZKrkYpxRH+OTyZ9Pzgx0VjG7Zwe9KtY53V9KQnKO9MejIG6eFMd6fcHQAAAIGEHaS7XC7NmjVLc+fO1Y4dO+R2u33u//jjjyO2OLTirDEvO7tPuiRlFJpZaHeDVLdZym47sT8owy05K83r7WbSJ5qXexaZk9UD7CEdlnB70iWvCe9k0hORdyY9Gcvdw8mkU+4OAACAQMIO0q+55hrNmjVLJ5xwgsaPHy9bJAIutM/tbMkAR6Lc3WY3h7pVl5p96eEG6c5qM1CXgvekS1LuGMmWapbH125qKbXvjHB70iWC9ARWtaVKVVuqPN931Uy6FcBT7g4AAIBAwg7SX3nlFb366qs6/vjjo7EeBGJl0aXIBOmSlFVsBukd6Uu3St3tab6T0/1JSZfyxkrlS6Qf/ijt99fwgmt/XB3pSW8ujSdITzibv93s830yBulMdwcAAEAkhL0Fm8Ph0PDhw6OxFgRj9aPbUiV7B/rH/enMNmze26+FUk0x4pfm5Zqnpf8cKFWsCP85vbk7k0mnJz3RWKXuBaMKJCVnkO5qDH2fdMrdAQAAEEjYQfr111+vRx55RIZhRGM9CMR7snukWgx6dGLCe2O5edleqbtlxBXStH9L6b3N3vQPJ0mlz5g96h3h7sjgOMrdE5UVpA850my7aKhKwiC9uYQ9WCadcncAAAC0J+xy988++0zz5s3TBx98oHHjxiktLc3n/jfffDNii4OXSE52t3gy6RvCf6yVSXfkh/6YgSdIxy+RvjxP2vaR9M2l0tY50gFPhb9vuYvBcV2FYRieye5DjhiiBY8vSMpMeljl7mTSAQAAEEDYQXp+fr5OOeWUaKwFwTRFcI90S6TK3cOR2V86fI60/AFp8c3Sptel3d9IB70o9Tkk9PN0qiedcvdEsmftHtWV1SnFkaLBB5u/k846p9xOt+ypYRf7xE1IW7Bl0JMOAACA4MIO0p977rlorAPtcUYhSPcudw93a7SOBumSOVl+7O+kvodLn58lVa+R5k6Txt8qjbtZsofwa9mpnnQy6YnEKnXvu3dfZRa0DCFsqGpQZs92hhImkFAy6dZ97ia3DLchm53dMQAAAOAredJU3V1UgvSi5nPXSI17wnus1ZPe3h7pwRTsLx33vTTkPHM7t6W3S1+cG9pjXR3oSU8lSE9E1mT3AfsPUEpaiifbnGwl7yFl0r3uI5sOAAAAf8LOpA8ZMiTo3uhr167t1IIQgLUFW2pW5M6ZmimlF0oNO81senqv0B/ryaTnd24NaTnSlOelvkdKX50vbZwtuZ5vP0Pu7kBPur05oHcSpCcSK5M+cP+BkqT03HQ5651JF6SH1JOe0fKfXFeDS2mZaQGPBQAAQPcUdpD+m9/8xuf7pqYmff/99/rwww91ww03RGpdaC0amXTJ7Etv2Gn2pfecGPrjGjtR7u7PkHOlby6R3E1S/Q4pqyj48VZfeTjl7lYm3U1PeqJwu9zaunCrJDOTLkmOHIdqdtQkXZAeSibdntZSvEQmHQAAAP6EHaRfc801fm9/7LHHtGDBgk4vCAFEY7q7ZPall30X/oT3pnLzsjPl7t5sdimjr1T7k1S/rf0gvSOZdKsnnUx6wti1fJeaapqUlpWm3qN7SzIz6ZLUWNUYz6WFLZQt2Gw2m1IzUuWsdzLhHQAAAH5FrCf9uOOO0xtvvBGp06G1aEx3l6Qeg8zLui3hPa4xQuXu3jL6Na9la/vHdqQnncFxCcfTjz5pgOwp5n+OrCA92TLpVmY8WCZdYq90AAAABBexIP31119Xr15h9DQjPNEqd8/sb16GEhh78+yTHqFMuvda6rcFP85wS0ZzFpIt2BLGnOvn6OUTXw4rQ2z1o1ul7lLyBumhZNIlr73SKXcHAACAH2GXu++zzz4+g+MMw9C2bdu0c+dOPf744xFdHLwkapAeqZ50ySuT3k6Q7vIK3tiCLSEYhqFv/vqN3E1uLX9zuSacPSGkx/kN0nOag/Sq5ArSQ82ke/ZKp9wdAAAAfoQdpJ988sk+39vtdhUWFuqwww7T6NGjI7UutBatIN0KjOvDDNI9W7DlR24tmdZa2gnSvQe/daQnnSA94px1Trmb3JKk7//+fUhBurPBqW2LzZ+1Ndldkhy5DkldN5NOuTsAAACCCSlIv+6663TXXXcpKytLhx9+uKZMmaK0NLYOiqmmKA2OS+pMuk2yh/F76Cl3J0iPtPrylg9O1n28TnvW7lHPoT2DPmbH0h1yN7mVWZCp/CH5ntuTtdzdswWbI8RydzLpAAAA8COknvS//vWvqq42g8TDDz9ce/bsieqi4Icnkx7BfdKlliC9YZfkCnGattvpNW0+kj3poWbSraFx6ZJX60W7PJl0etIjzTtIl6RFsxa1+xjP0Lj9Bvi00Fjl7sk63T3kcnd60gEAAOBHSJn0kpISPfroozr66KNlGIa+/PJL9ezpP0s2derUiC4QzZw15mWky93Te0u2VHMQW8OOlmnvwTRVtlyPZyY9nFJ3iXL3KGoTpD+3SNNum+aZ2O6Pv350qQtk0il3BwAAQCeEFKTff//9uuKKK3TvvffKZrPplFNO8XuczWaTy8UfnlERrZ50a3/yus1myXtIQXpzqXtKppTiiNxavDPphhE4S25lwsMZGicRpEdRfYX5MykcW6jqbdWq/KlSaz9aq+HHDA/4GCtI9+5Hl5I3SA85k065OwAAAIIIqdz95JNP1rZt21RZWSnDMLRy5Urt2bOnzVdZWVm019t9RStIl8LvS49GP7pkflggmUG0syrwce6OZtLZgi1arEx6Vt8sTTjHHBr3/d+/D3h8Y02jdi7bKaltJt2Rk5yD40LNpFPuDgAAgGDC2ic9Oztb8+bN05AhQ5SXl+f3C1GSSEF6YxT2SJfMfvvUnOa1BCl5t8rdraA7VGTSo8YK0jPyMrTPxftIkla8vUK1u2r9Hr914VYZbkM5A3OU0z/H5z4rk95Ve9IpdwcAAEAwYQXpkjRt2jSlpoa9cxs6wzC8BrUlQJDeVN68lvworCWE4XEdzaSnEqRHiydIz89Qv737qf++/eVucmvJi0v8Hh+o1F1K3nL3kDPplLsDAAAgiLCDdMSBq14yzD2oo5JJD3ev9MYolbt7ryVoJr2DPel2ry3YDCP8tSGghgozoE7PN38mVjb9+79/L8PPex1oaJyUvEE6090BAAAQCQTpycDKoktSSo/In7+jPemRLneXYpNJN9zmNHtEjHcmXZLGnzVeKekp2rF0h7Z+1/b3yrP9mr8gvXkLtoaqBr8BfiIyDIPp7gAAAIgIgvRkYAXpKT0ke/AAoEM8QXo7W59ZGsvNy2iUu2eEsJbO9qRLlLxHmHdPuiRl9szU2NPGSpK+f9Z3gFxdWZ32rNkjydwjvTUrk+5ucidNIOt2uqXmzxNCzqRT7g4AAAA/Ohykl5aWas6cOaqrM4OdZMl4JSXPHulZ0Tm/FRiHWu4ek0x6kLV0NJPufbyTID2SrHJ3K5MuSRMvmihJWvrSUjXVNXlu37LALHXvNbyXMnt6fXDSzJHdsq1fspS8e3+YEGomnXJ3AAAA+BN2kL57925Nnz5dI0eO1PHHH6+tW81g6uKLL9b1118f8QVC0Z3sLvlm0q3e92CitQWbFN2edJutJfvuZhu2SGpd7i5JQw4fovySfDVUNGj5m8s9t3tK3f1k0SXJZrd5AvWGqiQJ0htbgvRQ90lPlioBAAAAxFbYQfq1116r1NRUbdy4UT16tPRHz5w5Ux9++GFEF4dm0ZzsLrXsT244pYbd7R8fzSA9lJ50Vwcz6VJLyTuZ9IjyF6Tb7DZNvHCiJN8904MNjbMk2/A4Kytus9tkTw3+n1XK3QEAABBM2EH6f/7zH/35z3/WoEGDfG4fMWKENmzYELGFwUtTlDPpKQ4pvbd5PZThcVZPuiM/8msJJZPu7mBPusRe6VFiBenpeb4fnEy8YKJkk9bPW6+yNWWSumaQbmXF2yt19z6GTDoAAAD8CTtIr6mp8cmgW8rKypSe3oHMJtoX7XJ3ySs4DiFIj0UmvWGH5A4QxHgGx3Ukk+61DRsipr6ibSZdkvIG52nYUcMkSYtmLVLVlipVbamSzW5T/337BzyfI6e53D1JgnQrk95eqbv3MWTSAQAA4E/YQfqhhx6qf/zjH57vbTab3G637rvvPh1++OERXRyaxSJIzwxjeFw0g/T0Qkk2sze+YZf/Y6x+8s6Uu7voSY8UZ4NTzjoz4GwdpEstA+QWz1qsn77+SZJUOLZQjixHm2MtVia9saoxwquNjnAy6eyTDgAAgGDaT/u0ct999+nII4/UggUL1NjYqN/97nf68ccfVVZWps8//zwaa0Qsg/RQtmGLZrm7PVXKKJTqd5h96Zl92x7TqUw65e6RZk12l1qCa2+jTx6tzF6ZqvypUp/d+5mk4KXu3ufpipl0yt0BAAAQTNiZ9PHjx2vVqlU65JBD9LOf/Uw1NTU69dRT9f3332vYsGHRWCOaojw4TvIK0uOcSZfa70v3bMHWkZ50yt0jzSp1d+Q4ZE9p+5+U1PRUTThngqTQ+tGl5AvSw8qkU+4OAACAIMLOpEtSXl6ebr755kivBYF4MulR2iddCn2vdFdjS6l4NPZJl5qD9CWBJ7xHJJNOuXuk+Jvs3to+F++jb/76jef7gfsPDHpOT096kmzBFlZPOuXuAAAACCLsTPrw4cN1++23a/Xq1dFYD/xx1piXMSl3bydIt7LokpSaG6W1tLMNmzsCW7CRSY+YUIL0fnv38wyKS3GkqO9eftoYvHTlTDrl7gAAAAgm7CD9yiuv1HvvvadRo0Zp//331yOPPKJt20LoY0bHxbQnvZ0g3epHT82R7O0HJB3SXrm7lQWnJz0heIL0vODtB/tcso8kqf+k/kpxBP/d8QyOq0yOwXEdyqRT7g4AAAA/wg7Sr732Wn377bdasWKFjj/+eD322GMqKirS0Ucf7TP1PVSPPfaYSkpKlJGRoQMOOEDffPNN0OMffvhhjRo1SpmZmSoqKtK1116r+vouXroc6y3YDCPwcVYmPVql7pLXpPloZNKtnvQu/jsTQ9bguGCZdEmadOkkHfPwMZrxtxntnjM9p+tm0j096ZS7AwAAwI+wg3TLyJEjdccdd2jVqlX69NNPtXPnTl144YVhnWP27Nm67rrrdNttt2nhwoXae++9dcwxx2jHjh1+j3/ppZd044036rbbbtPy5cv197//XbNnz9bvf//7jr6M5BDLTLqrtuX5/In20DgphEy61ZPekcFxZNIjLZRyd0myp9p14DUHqu+E4KXukle5exfsSafcHQAAAMF0OEiXpG+++Ua/+c1vdMopp2jVqlU644wzwnr8gw8+qEsvvVQXXnihxo4dqyeffFI9evTQs88+6/f4L774QgcffLDOPvtslZSU6Oijj9ZZZ53VbvY96cViuntadsuHAMFK3qO5/ZrF05MeYB30pCcUK0hPz+/AzyOApO1Jb6eMX6LcHQAAAMGFHaSvWrVKt912m0aOHKmDDz5Yy5cv15///Gdt375dr7zySsjnaWxs1Hfffafp06e3LMZu1/Tp0/Xll1/6fcxBBx2k7777zhOUr127Vu+//76OP/74gM/T0NCgyspKn6+kE4tMuhRaX3pCZNI705PenO11EqRHSqg96eHwTHdPkiDdyqRT7g4AAIDOCnsLttGjR2v//ffXlVdeqZ///Ofq27f90lV/du3aJZfL1ebxffv21YoVK/w+5uyzz9auXbt0yCGHyDAMOZ1OXXHFFUHL3e+9917dcccdHVpjwohlkF61Ov5BupVJb6owg+nUTN/7XRHIpLvpSY+UUHvSw+EZHFcVv8Fxtbtq5chxhFTCbmXSwyl3J5MOAAAAf8LOpK9cuVJff/21rrnmmg4H6B31ySef6J577tHjjz+uhQsX6s0339R7772nu+66K+BjbrrpJlVUVHi+Nm3aFMMVR0isgvRQ9kpvtAbH5UdvHWl5LQF4/fa297s70ZNuBfxk0iMm1J70cMS73L1mR40eGvyQ/nnMP0M6PqxMenO5u+Ey5Ha5O75IAAAAdElhZ9JHjBgRkSfu3bu3UlJStH27bxC2fft29evXz+9jbrnlFv3iF7/QJZdcIkmaMGGCampqdNlll+nmm2+W3d72M4f09HSlp0euVzYuPEF6VnSfJ6Ry93LzMpqZdJvNzKbXbDAnvGeX+N7vGRxHT3oiiGqQXtUgwzBks9kidu5QbF+6Xc46p7Z+186WhM06Mt3depy9R6dGgwAAAKCLCemvw169emnXrl2SpJ49e6pXr14Bv0LlcDg0adIkzZ0713Ob2+3W3LlzNWXKFL+Pqa2tbROIp6SYfxQbwbYNS2ZuV0sPdtTL3b22YQskFuXuUvC+dKtUnS3YEkJ9RfPguLwIDo5r3oJNhtRU0xSx84aqakuVJKmxujGk3vGOTHeXKHkHAABAWyFl0h966CHl5OR4rkcqq3Xdddfp/PPP13777afJkyfr4YcfVk1NjWcrt/POO08DBw7UvffeK0k68cQT9eCDD2qfffbRAQccoNLSUt1yyy068cQTPcF6l+Oqabkezenukle5e4CBbZJXuXuUg3TPhHc/ayGTnlCikUlPzUyVLcUmw2WoobJBjmxHxM4dCitIl6S63XXKGZAT9PhwMun2VLtsdpsMt8HwOAAAALQRUpB+/vnne65fcMEFEXvymTNnaufOnbr11lu1bds2TZw4UR9++KGn133jxo0+mfM//OEPstls+sMf/qDNmzersLBQJ554ou6+++6IrSnhWNuv2VI6ljkOR1jl7vnRXUvQTLo1OI590hNBNIJ0m82m9Nx01e+pV0NlQ7tBcqRVbW4J0mt31bb7/OFk0m02m1LSU+Ssc7JXOgAAANoIuyc9JSVFW7duVZ8+fXxu3717t/r06SOXK7w/Oq+66ipdddVVfu/75JNPfL5PTU3Vbbfdpttuuy2s50hq3kPjot2XG0qQ3hjjcveIZ9KtcneC9Ehwu9yeCeyR3IJNMkverSA91rwz6bW7a9s9PpxMumQG8846J+XuAAAAaCPsiUWBer8bGhrkcMS2JLVbiNVkd6klSG8sawmEW2uKc7m7YXhl0jtT7k5PeiR4B9CR7EmXfIfHxZpPkL4r9CA9lEy61DLhnXJ3AAAAtBZyJv3RRx+VZJZqPvPMM8rObgkaXS6X5s+fr9GjR0d+hd2dFaRHux9dkhy9JLtDcjeawXFWcdtj4l3u7vbaN7sjmXTrvNWlUu0WqceAjq0PklpK3VMzU0MOUEMVz23YvMvd63a3X3URzhZs3sdR7g4AAIDWQv6r+qGHHpJkZtKffPJJn0FtDodDJSUlevLJJyO/wu6uKYaZdJvNDGJrN5ol762DdMOI4eC4AEPs3F4BW0f2Sc8bLRUeLO38XFr1/6SJ93R8jYhKP7rFkWNW5sQ6SDfchqq2hplJb+xgJp1ydwAAALQScpC+bt06SdLhhx+uN998Uz179ozaouAlVnukWzL7twTprbnqJKM5qIh2T3qmVybdMFr68b3L8O0dbK8Yfb0ZpJc+KY37fWyqFLooT5Ae4X50qSWTbvW8x0rt7lq5m9w+37enIz3pEuXuAAAAaCvsnvR58+YRoMdSLHvSpeBbn1n96DZ79NeTYU74l7uhpcReauklt6eZ6+iIgSdJ2cOlxj3S2uc6tczurqHC/NAkGpn0eJW7e/ejS1LdrtDL3UPNpFvBPJl0AAAAtBZ2lHPaaafpz3/+c5vb77vvPp1xxhkRWRS8OJv3SY9VkJ4RZMJ7Y7l5mZYX/UnzKRktfe/efemdGRpnsadIo681r694SHLTF9xR0Sx3j1uQvtk3SI9KJr253J2edAAAALQWdpA+f/58HX/88W1uP+644zR//vyILApeYp5JDxKkN8Vo+zXPWvxk9Tuz/Zq3oRdI6QVSzTrpp7c6d65urCv2pFuZdHuq+Z/HUHrSw82kU+4OAACAQMIO0qurq/1utZaWlqbKysqILApeEilIj9Ue6RZ/E949mfROBoWpPaThvzSvL3/A7HtH2OorzCA90tuvSfHrSbeC9IJRBZJCm+4ebiadcncAAAAEEnaQPmHCBM2ePbvN7a+88orGjh0bkUXBS1MMt2CT2smkl5uXjvwYrSWKmXRJGnmVOXxu99fSri86f75uqCuWu1duNj9s7LuXORchKpl0yt0BAAAQQNgbG99yyy069dRTtWbNGh1xxBGSpLlz5+rll1/Wa6+9FvEFdnvxyqTXJ0C5u99MujU4LgJBemZfach50ppnzGx64cGdP2c301AexcFxOfEJ0qu3mP/m+u7VVz+8/IMaKhvkanIpJS1wlpzp7gAAAIiUsDPpJ554ot5++22VlpbqV7/6la6//nr99NNP+uijj3TyySdHYYndXKyDdGtwXP32tgPVYl3uHu1MuiSNvs68/OkdqXJ1ZM7ZjcQkk14Vn570wrGFstnNAYntlbwz3R0AAACREnYmXZJOOOEEnXDCCZFeC/yJeZDeR5JNMtxSwy4z22yxMumxKnePZk+6JW+MNOAEact70sqHpP0fj8x5u4lY9KTHa3BcblGuMnpmqG53nWp31yq7X+B/g0x3BwAAQKR0aKPp8vJyPfPMM/r973+vsrIySdLChQu1efPmiC4O8grSs2LzfPZUKaPQvN665N17C7ZYyIhBJl2SxlxvXq6dJdXvitx5u4Gu1pPuanKperv5by5nQI569O4hqf2+9A5n0il3BwAAQCthB+lLlizRyJEj9ec//1n333+/ysvLJUlvvvmmbrrppkivD7HeJ10KvFe6J5Mez3L3CPakW/ocJvXcV3LVSaufiNx5u4FYbMEWy+nuNdtrJMPcfi2rMEs9CswgPVi5u2EYHc6kU+4OAACA1sIO0q+77jpdcMEFWr16tTIyWv4wP/7449knPRqcMZ7uLgWe8O4ZHJcf23XU75TczcGMOwqZdJutJZu++v+1fBCAdnmC9LzoZdKbapvkdrojfn5/rFL37P7ZstltIWXS3U0tawt3n3TK3QEAANBa2EH6t99+q8svv7zN7QMHDtS2bdv8PAKd0hTjnnQpcJBulbvHKpPuKJBsKZIMqWGneZun3D3CQeHgM6QeRVL9DmndPyN77i7KMAw1VER/ursUu+Fx1vZrOQNyJEmZBZmSggfp3iXrKY4w90mn3B0AAACthB2kp6enq7Kyss3tq1atUmFhYUQWBS+xHhwnhZBJj1GQbk9pHmSnluFxnsFxER5UZk+TRl1jXl/xoDk4D0E1VjfKcBuSohOkpzhSPMFsrPrSrUy6FaR7Mum7Awfp3tnwsAfH1ZNJBwAAgK+wg/STTjpJd955p5qamiRJNptNGzdu1P/93//ptNNOi/gCuzXDiE+QnhFgr/RYB+mS14T35rVYpeiRLHe3DL9USsuVKpdLWz6I/Pm7GKvU3Z5mV2pmhzaKaJdV8h6rvnRPkD7QN5NetytwT7qVDbel2GRPCe0/qeyTDgAAgEDCDtL/8pe/qLq6Wn369FFdXZ2mTZum4cOHKycnR3fffXc01th9uRskoznTFtOedD9bn0kt+6THags2qe2E92hl0iUzQB9+mXl9xV8if/4uxlPqnpchm80WleeI9YT36i0tk92l8DLpofajS+yTDgAAgMDCTn/l5eXpv//9rz777DMtWbJE1dXV2nfffTV9+vRorK97s/rRJSklRluwSf7L3Q13fDLprSe8R6sn3TLyamnFw9L2eVLZd1KvSdF5ni4gmpPdLVZfeqyC9NY96dZ091B60kMtdZfYJx0AAACBdbhG9ZBDDtEhhxwSybWgNavUPSXD7M+OlUyvcnfDMKefO6slmf3H8Sl3j0EmXZKyiqTimdL6F6Vvr5KO+iy2730SiUmQbmXSYzQ4zip3zx2YK6klkx5sC7aOZNIpdwcAAEAgIf1V+eijj+qyyy5TRkaGHn300aDHZmdna9y4cTrggAMissBuLR796FJLT7qr3syeO/JbSt3tjuhlsf1pk0mPYk+6Ze97pc3vSru/Msvex/4ues+VxGIapMdpcFw4093DyaRT7g4AAIBAQgrSH3roIZ1zzjnKyMjQQw89FPTYhoYG7dixQ9dee63uv//+iCyy23LWmJexDtJTM81seVOFWfLuyJeays370vLMzHqsxDqTLpnZ9H0flr6+SFpyizRwhpQ3NnrPl6TqK8wgPT0vej+LWAbpTXVNqt9jvqbWPen15fVyO92yp7Yd49GhTDrl7gAAAAggpL8q161b5/d6IP/973919tlnE6R3Vrwy6ZJZ8m4F6XljWjLpsSx1l2Lfk24ZeoG06XVpy/vSl+dLR38p2aMzwTxZxSKT7shxSIpNkG5l0VMzUz0fPGT2zPTcX1dWp6w+bWdDdKgnnXJ3AAAABBD2dPdQHHLIIfrDH/4QjVN3L/EO0qWW4XHW0DhHjIP0QJn0aJa7S2a1wOSnpbR8qWyBtOzP0X2+JBTLcvdYbMHm3Y9uTau3p9qV0dN8fYEmvDPdHQAAAJHUoSB97ty5mjFjhoYNG6Zhw4ZpxowZ+uijjzz3Z2Zm6pprronYIrsta7p7LLdfs3j2Sm8Ojj2T3fNjuw4rk+6sMsv/XTEod7f0GCDt91fz+g93SHsWR/85k0hX60mv2uzbj25pb8I7090BAAAQSWEH6Y8//riOPfZY5eTk6JprrtE111yj3NxcHX/88XrssceiscbuK66ZdCuD3ZxJbyw3L2OdSU/NkVLMIEn121sGx8UiSJekknOkQSdL7ibpqwskV/QzusnC2ic9mj3p8Sh3bxOktzPh3dXIdPdwNNY0qnp7dfsHAgAAdFNhN9nec889euihh3TVVVd5brv66qt18MEH65577tGVV14Z0QV2a4lY7h7rnnSbzfzAoHqtWfIeq3J37+ff/0lp56fSnkXSj3dLe90Rm+dOcF213D1noG+Q3t6Edysb3pFMencsd3/+sOe148cd+s2G3yirsG2PPwAAQHcXdia9vLxcxx57bJvbjz76aFVUVERkUWgWzyA9w2uvdCl+5e5SS196/bbYDY7zltlX2u9x8/qPd0tlC2P33Amsy5W7t5NJD9STbmXDO9KT7mpwyTCMsNearBqrG7VlwRY565zasXRHvJcDAACQkMIO0k866SS99dZbbW5/5513NGPGjIgsCs08QXocsk2tM+nxKneXvErvt8VmCzZ/is+UBp8hGS5z2rsrNvt2JzKr3D0jL4pBek78e9KjkklvDugNtyG30x32WpPVrhW7PNfL15fHbyEAAAAJLKTUz6OPPuq5PnbsWN1999365JNPNGXKFEnSV199pc8//1zXX399dFbZXTVR7i6pVSa9uSc9VuXu3vZ7XNrxP6niB2npHdLEe2K/hgQS00x6Vfwz6YF60juSSbfK3SUzyE9JCz3AT2Y7l+/0XCdIBwAA8C+kvyofeughn+979uypZcuWadmyZZ7b8vPz9eyzz7L1WiQ5a8zLeEx3t4L0pgrJWdeyT7ojP/ZryfAaYhevTLokZfQ2+9M/PVVa/mdzoFzvybFfRwIwDKNLlbsbhhGwJ7296e4dyaR7H+tscMqR7Qhrvclq5zKCdAAAgPaEFKSvW7cu2uuAP/HsSU/LM/u+XfVmBjuemXTvcvd49KR7KzrFnPi+/kXpq/Ol45dI9rT4rCWOnPVOz1TzWAXphmF49i+PtIaKBjXVNkmScvp3LJMeTpBuT7HLlmKT4TK61fC4XcspdwcAAGhPh/ZJl6Rdu3Zp165d7R+IjotnkG6z+Wawm8rN6/Eud49nJt0y6VEpvVCqXCFtajufoTuw+tFlU1SzwNYWbO4md1T3FLey6Bn5GUrr4fuhi2dwXDuZ9HDK3aXuuVe6dya9YgODRgEAAPwJK0gvLy/XlVdeqd69e6tv377q27evevfurauuukrl5eVRWmI3Fs8gXfLtS/eUu8cxkx7vnnRLei9pxC/N66v+X/zWEUeeUve8DNns0cluS74fAESzLz1QqbvkNTiunenu4WTSpe63V7qzwak9a/Z4vq/8qVKupu7zAQUAAECoQk79lJWVacqUKdq8ebPOOeccjRkzRpK0bNkyzZo1S3PnztUXX3yhnj17Rm2x3Y4VpMejJ13yDdITYQu2um2SmidhxzOTLknDL5d+vMfcP718qZQ/Ib7ribFY9KNLZlm4I9uhxupGNVQ2RG1f7UBD4ySvcveyOrldbtlTfD/b7Ggm3Qrqu0u5e9nqMhluQ+m56XI1uuSsd6ryp0r1HML/MwAAALyFnEm/88475XA4tGbNGv3tb3/Tb37zG/3mN7/RU089pdLSUqWlpenOO++M5lq7n3hOd5da9kqv+8nrA4N4lLv3MS8Np2Q0B+nx6km39Bhg9qdL0qrH4ruWOIhVkC61lLyHOjzOMAzt+GGHp2c+FJWbKyX5D9Ize2U2n7jldXvryOA4qfuVu1ul7oVjC5U32PzvCH3pAAAAbYUcpL/99tt64IEH1Ldv3zb39evXT/fdd5/f/dPRCfHcJ11qyaRXrmy5LR7l7inpkqNX29vibcSV5uW6F1r2ke8m6ivMYDU9L/o/B2t4XGNVY0jHL3ttmZ6Y8ITm3jw35OcIlklPSUvxvE5/fekd2YLN+/juUu5ubb/We0xv5ZfkSyJIBwAA8CfkIH3r1q0aN25cwPvHjx+vbdu2RWRRaJYoPemVK8zLlB7xm2RurcUS73J3SeozVcobL7lqpbXPx3s1MRXLTHq427Bt/nazJGntf9aG/BzVW8x/a/560qWWbdj8TXj3ZNIdHcukd5dy913LzEGjhWMLlVdCJh0AACCQkIP03r17a/369QHvX7dunXr16hXwfoTJ7ZJczQFBvIP0qlLzMh5ZdIvVly5JNrtkDy9rGRU2mzSyOZu++rGWUvxuIKZBek54Qbo1NXzHDzvUWBNa9j1YubsUfMJ7RwfHWcd3m3J3P5l0JrwDAAC0FXKQfswxx+jmm29WY2PbP3obGhp0yy236Nhjj43o4ro1l1cwELee9ObA2GjO9MWjH92S6RWk2+Pcj+6t5FwpLVeqWi1t+yjeq4kZawu2RMykW4Gf4Ta0deHWkB4TrNxdCj7hvcNbsHWjcne3063dq3ZLkgrHFFLuDgAAEETIf1Xeeeed2m+//TRixAhdeeWVGj16tAzD0PLly/X444+roaFBL7zwQjTX2r1Ype42e/yGpLUuMY/HZHeLdyY9EfrRLWnZ0pALpFWPmgPk+h8d7xXFhJVJj2VPeqhbsHkHfpu/2aziQ4uDHm+4DVVvNf+95Q7M9XtMNDLp3ancfc+6PXI1uJSamaq84jxVbzffb4J0AACAtkIO0gcNGqQvv/xSv/rVr3TTTTfJMAxJks1m01FHHaX/9//+n4qKiqK20G7He7K7LXr7UAeVXmh+SGCVccez3N0nk55AQbokjfyVGaRvfleqXi9ll8R7RVEX0+nuuaFPd2+qa1LNjhrP91u+3dLuY2p31crtdEs2Kauv/yGNnky6nyC9s1uwdYdy913LzX703qN6y55i92TSK3+qlNvplj015KIuAACALi+svyqHDBmiDz74QHv27NHq1aslScOHD6cXPRriPTROkuwpUkZfc590Kb7l7omaSZek3FFSv+lmuXvpk9LEP8V7RVGXqD3prXucN3+zud3HWP3oWX2ylJLmPxvu2Svdz+C4DmfS07tPJt3qRy8cWyhJyu6brRRHilyNLlX+VOkJ2gEAABBGT7q3nj17avLkyZo8eTIBerQkQpAuteyVLiVQT3qCBemSNPIq83LNM5Kr7V7aXU08etJD2YKtfEO5JLXsw72uXDU7a4I8oqUfPVCpu9Qy3T2SmXRPuXs36Em3Jrv3HtNbkmSz25RXzIR3AAAAf6gxTFSJEqR796U78uO2DN9MegINjrMMmCH1GCw17JY2zI73aqLOk0nPS6zBcVbA12dCHxWMKpDUfsl7e0PjpOhk0rtTubv3ZHcLw+MAAAD8I0hPVJ4g3X+PbMxkJkgmPSPBM+n2FGnEFeb1VY/Fdy0xENOe9JzQe9Ktcvf8knwNnDxQUsu+6YFUbTaD9OwBgT8Qi2ZPelcvdzcMw9OTbpW7S15BenP1AwAAAEwE6YmqKUEy6d7BcTyD9PRekq05CEq0nnTLsEsku0Mq+1ba9U28VxNVMe1JD6fcvTkrm1ec5wnSt3wTuUy6vy3YOj3dvYuXu1f+VKnG6kbZU+3qNbylPcqzV/p69koHAADwRpCeqJzNfbRplLtLMqfMZ/Q1rydiJl2SMgqlwTPN66u7bjbd1eRSU22TpBhvwdbRTPo3mz27UfgTTk963e46GW7fc3V2n/SuXu5uZdF7jejlM5iPcncAAAD/CNITVSL2pMczky61DI9LxJ50y8grzcsNs6X6XfFdS5RYQ+OkGPWkhzHd3Qr48ovz1XfvvrKn2VW7qzZoIGiVuwfLpFvl7obbUH2F72BAV6MZZHe0J72rl7vvXNY82X1Moc/tDI4DAADwjyA9USVikB7PfdKlltL7RC13l6SCyVKv/SR3g7T27/FeTVRYpe6ObEdM9rcONZPuanSpaqsZcOeX5Cs1PVX99jZ/Z4INjwul3D01PVWObLM33rsv3TAMT5De0enuXT2T7m9onORV7r6pwtynHgAAAJII0hPX+FulU3dKe90R33X4ZNLz47YMSS1rSdRyd0my2Vqy6aufkNxdLwCzMsmx6EeXvIL0qoagZesVmyokQ0rNTFWPQrM8fcDkAZIC75fuanKpZofZWpIzMHCQLvmf8G4F6FIn9knv4j3p/obGSVJO/xzZ0+wyXIZnr3oAAAAQpCeuFIeU0Vty9IzvOrwHxyVMJj2By90lsy/d0Uuq2SBteS/eq4k4K5Mei350qSVIlyE11TQFPM671N1ms0mST1+6P9XbzIoVe5rd03ceiL8J795Z8A7vk95Nyt1bZ9Jtdpvyi/MltcwSAAAAAEE62pOSLo28Sio61dwHPJ4Gny71miQV/zy+62hPaqY56V2SFl5vButdSCwnu0tmZtxmN4PuYCXvVqBn9TpL0sD9zSB963db/ZZUe/rR++d4niMQfxPevbPgKQ72SW+tZmeNWXlgk3qP6t3mfobHAQAAtEWQjvbt91fp0DfMUu546rm3dOwCqf/R8V1HKEZfa36oUV0q/edgqWJZvFcUMbEO0m02m0/JeyCeTHpz4CdJBaMK5MhxqKm2ydMb7S2UfnSLlWn3l0m3p9nbDfJb85S7d+FMupVFzy/JV1qPtDb355UwPA4AAKA1gnQgGjL7SUd/LuWOkeo2S/89tMvsnW5Nd49VkC6FNjzOXybdnmLXgP0C96V7gvR2+tElKbO3We7u3ZNuZdLDLXWXusc+6Z5+9FaT3S1k0gEAANoiSAeipccg6ahPzYnvjWXSx0dI2z6K96o6LdY96ZLkyDEnqwcL0v1l0iVpwP6Bg3RrYFlnM+nhDo3zfkxXLnf3THYf27bUXZKnJ50gHQAAoAVBOhBN6QXSEXOlfkdJzhrpk+Olja/He1WdEutyd6klk95Y1RjwmPIN5ZJaAj+LNTxuyzdtt2Gr3mIOjgspSPcz3b1TmfRuUO6+axmZdAAAgHARpAPRlpYtTXtXGnyG5G6SPjtTKn0q3qvqsEQsd3c73ar8ycyKt86kW0H69qXb1VTrOx0+rHL3INPdO5JJ7w7l7oH2SLdYP6vKTZVyu9grHQAAQCJIB2IjJV066GVp+OWSDOmby6Uf75WC7PudqOKSSc8JHqRXbq6U4TKU4khRdr9sn/tyB+Uqu1+2DJehbYu2+dwX1uC4INPdO5JJ7+rl7vUV9Z7p+YEy6dn9s2VPs8vtdHt+FgAAAN0dQToQK/YUaf8npHE3m98v/r25RVuSBeqeID0vdkG6Izd4T7pVLp1blNtmyrrNZgvYlx7PnvSuXu6+a4VZ6p7dPzvgBzr2FLvyBjPhHQAAwBtBOhBLNpu09x+lfR80v1/5kLTh5fiuKUzx7EkPtAWbNdm9dam7xSp59w7SG2saPaX74fakG80frDDdPTDPZPex/rPoFvrSAQAAfBGkA/Ew+lpp3O/N66VPx3ctYaqviGOQ3k4m3Xv7NW/+gvTqrebQuLSsNM/5g7F60t1Ot2cdnky6g+nurVl7pAfqR7dYPzOCdAAAABNBOhAvwy+XZJN2fCJVr433akIWjy3YrJ70xkr/0909k90DZNKtvdL3rNmjujJzOrt3qbvNZvP7OG9pmWlK65EmqWXCu5UF79TguHqnJzPflbS3R7qFTDoAAIAvgnQgXrIGS/2mm9fXzorrUkJluA1PFjkhy91bbb9myeyVqV7De0mSNn9rZtPDGRrnOU+rCe9WFrwzW7BJkrup6002tya7h1ruXrG+ItpLAgAASAoE6UA8Db3QvFw7S3InftlzQ2WD1Jz0jeXguFDL3QNl0qW2Je9WkJ47MDfkdbSe8N6ZTLr3Y7ra8LimuibtWbtHUvvl7p5MenM1BAAAQHdHkA7E06CTpbR8qXaTtP3jeK+mXVY/empGqqdcOxYcOYGnuxtuQxUbzSxsoJ50SRow2Sx53/LNFkktQXr2gOyAj2mt9YT3SGXSu9rwuN2rdkuGWcGQ1Scr6LGeTPrGCvZKBwAAEEE6EF+pmVLJWeb1tc/Fdy0hiEc/uhQ8k161tUruJrdsKbagWXFPJv3bzTIMw7OHdzjl7t4T3qXOZdJtdpvsaeZ/grva8DjvoXHt9fvnDMiRPdUud5PbM8wPAACgOyNIB+LNKnnf9KbUuCe+a2lHPLZfk1qC9MaqtoPjrH703EG5sqcG/k9av4n9ZE+1q2Z7jSo3VUa0J70jQbrUdfdKt4bGtVfqLrFXOgAAQGsE6UC89dpPyhsvuRukDa/EezVBWfuKxzxIzwmcSQ+lH10yp7P3mdBHktmX3qme9F2+PekdKXeXuu5e6aHukW5hGzYAAIAWBOlAvNlsLdn0NYld8h7vTHpTbZPcTt++Zc/2awEmu3vzHh4XiXL3zmbSu+pe6Va5e3vbr1nYhg0AAKAFQTqQCIacK9lSpbJvpfIf4r2agDxBegwnu0stg+MkqbHat+TdCuzySgIPjbNYQfqa/6zxlJhn9w99cFzrcvdOZ9K7YLm72+nW7tW7JYVW7i4x4R0AAMAbQTqQCDL6SANnmNcTeICcZ3BcfmwHx6Wmp3qyzq1L3tvbI93bgP3NCe/bF2+XZE4fT8tMC3kdrbdg63RPehcsdy9bUyZ3k1tpWWnKK2r/gxOJvdIBAAC8EaQDicIqeV//T8ndFN+1BGBtwRbrcncpcF96qD3pktkjnZbVEpSHU+ou+dmCrbHjW7BJXbPc3TPZfXRv2ezBJ7tbKHcHAABoQZAOJIoBx5kZ9fod0pb3470av+LVky55bcNW1RKkG0Zoe6Rb7Cl2DZg0wPN92EG6V0+6YRhMd/cj3KFxkm+5u+E2orEsAACApEGQDiQKe5o05Dzz+ppn47uWABrKm6e7x7gnXfK/V3rtzlo565ySTSGXVg+Y3PEg3epJdzW61FjdyHR3P7z3SA9VzoAc2VJscje5VbW1KlpLAwAASAoE6UAisUret7wn1W2L71r8iGcm3Roe5x2kW+XROQNylOIILZs9cP+Bnus5A8ML0tN6pHkC67rddUx398OTSQ9xsrsk2VPtng9ZKHkHAADdHUE6kEjyxkoFkyXDZfamJ5i49qT7yaSHs/2axZrwLoWfSbfZbD4T3iOWSe8i5e6G29CuFeGXu0tew+M2MDwOAAB0bwTpQKIZepF5ufY5yUis/lzPdPe82E53l1qC9Maqli3YwhkaZ8krzlOPQrO3PNwgXfKd8B6xnvQuUu5esbFCTbVNSnGkqOfQnmE9luFxAAAAJoJ0INEU/1xKyZAqlkm7v433anwkWrm7lXUNZWicxWaz6ZAbD1HRwUUqOawk7HV4T3jvbCbdCu67SiZ953KzH71gZIHsqeH978Xa554gHQAAdHcE6UCiceRJg041r69NnAFyhmGooaJ5cFyilLt3IJMuSVOum6KLPruoQ6/De8J7pPZJ7yo96R0ZGmchkw4AAGAiSAcS0bDmkvcNr0jOuviupVlTbZPcTrekxNmCrSOZ9M6KZE+6J5PeRcrdN/xvgySp7959w36sNVeAIB0AAHR3BOlAIup7uJRVLDVVSD+9Fe/VSGopdbel2JTWIy3mz+/pSa80e9INw+hwJr0zotKT3gXK3RurG7XmP2skSaNOGhX2470Hx7FXOgAA6M4I0oFEZLNLQ843ryfInune/eg2my3mz5+e41vuXr+nXo3VZsCeNzj2mfS6XXURm+7eFcrdSz8slavBpZ7DeqrP+D5hPz53UK5sKTa5Gl2q3lYdhRUCAAAkh7gH6Y899phKSkqUkZGhAw44QN98803Q48vLy3XllVeqf//+Sk9P18iRI/X+++/HaLVADA29wLzcPleqXB3XpUiKaz+61LYn3cqiZ/XNUlpm7DL7kcykd6Vy9xVvrZAkjT5ldIc+xLGn2pU7KFdSy9Z6AAAA3VFcg/TZs2fruuuu02233aaFCxdq77331jHHHKMdO3b4Pb6xsVFHHXWU1q9fr9dff10rV67U008/rYEDB/o9Hkhq2UOk/seZ11c/Ed+1KL6T3aW2Pekd2SM9EvxNd09xdK7c3VWf3Jl0V6NLq/69SpI05pQxHT4Pw+MAAADiHKQ/+OCDuvTSS3XhhRdq7NixevLJJ9WjRw89+6z/8t5nn31WZWVlevvtt3XwwQerpKRE06ZN09577x3jlQMxMvJK83Ltc5KzJq5L8QTpefEJ0ltvwWYNjYtlP7rkf7p7Z8vdkz2Tvu7jdWqobFB2v2wNOnBQh89DkA4AABDHIL2xsVHfffedpk+f3rIYu13Tp0/Xl19+6fcx//rXvzRlyhRdeeWV6tu3r8aPH6977rlHLlfgLFRDQ4MqKyt9voCk0f9YKXuo1FQurX8prktJmEx6q3L3WE52l1p60mt21nim3Xe23D3Ze9KXv7VckjTqZ6Nks3d8XgFBOgAAQByD9F27dsnlcqlvX9+tevr27att27b5fczatWv1+uuvy+Vy6f3339ctt9yiv/zlL/rjH/8Y8Hnuvfde5eXleb6Kiooi+jqAqLKnSCN+ZV5f9ZhkxG/qdX2FGaSn56fH5fk9092rzGFx8dh+TWrJpHsH1p3OpCfxdHe3y62V76yUZPajd4b1s6xYX9HpdQEAACSruA+OC4fb7VafPn301FNPadKkSZo5c6ZuvvlmPfnkkwEfc9NNN6miosLztWnTphiuGIiAoRdKKRlS+WJp5+dxW0aiZNJdjS45G5xx2X5NkhzZDtnTfP/T2ekt2JK43P2nr35SzfYapeela8jhQzp1LjLpAAAAcQzSe/furZSUFG3fvt3n9u3bt6tfv35+H9O/f3+NHDlSKSktfxCPGTNG27ZtU2Njo9/HpKenKzc31+cLSCrpvaSSc8zrqx+L2zLi3pOe7fBcb6hsiNvgOJvN5smmWzo8OC7TDNLL15fL1ZicJe/WVPeRM0Z2+H2wePZK31ghI45VIwAAAPEUtyDd4XBo0qRJmjt3ruc2t9utuXPnasqUKX4fc/DBB6u0tFRut9tz26pVq9S/f385HA6/jwG6hBHNA+Q2vi7VbY3LEuK9BZs9xa60LHOrtarNVarfY35oEOtyd6llwrtkBugd3Te++NBiZRZkqnxduebfPT9Sy4sZwzB8tl7rrNxBubLZbXLWO1WzPb6DEgEAAOIlruXu1113nZ5++mk9//zzWr58uX75y1+qpqZGF154oSTpvPPO00033eQ5/pe//KXKysp0zTXXaNWqVXrvvfd0zz336Morr4zXSwBio9c+Uu+DJMMplT4VlyXEu9xdail5377UrMDJ7JWp9JzY98h7Z9I7Wuoumes/4fETJEmf3v2pti6MzwcwHbVj6Q7tWbtHqRmpGn7s8E6fLyUtpWWvdEreAQBANxXXIH3mzJl64IEHdOutt2rixIlatGiRPvzwQ88wuY0bN2rr1pY/WouKijRnzhx9++232muvvXT11Vfrmmuu0Y033hivlwDEzsirzMvSv0nuppg/vRWkp+fFZ3CcJE9Avn2JGaTHuh/dYk14lzo+NM4y7sxxGnvGWBkuQ29f8HZS9adbU92HHT1MjqzIVDPRlw4AALq7zv11GQFXXXWVrrrqKr/3ffLJJ21umzJlir766qsorwpIQEWnSRl9zXL3TW9JxWfG9OkTKZO+Y+kOSfEpdZcil0m3HP/Y8Vr/yXrtWLpD8++aryP+eESnzxkLkSx1t1g/U4J0AADQXSXVdHegW0txSMMvM6/HYYBcvHvSpbZBelfIpEtSVmGWTnjCLHv/7E+facuCLZ0+Z7TtWbdH2xdvly3FppEnjozYecmkAwCA7o4gHUgmwy+XbCnSjvlS+dKYPnUiZNIdOWZJddWWKkldJ5MuSWNPG6txM8eZZe/nJ37Zu5VFL55a7DNIr7OsIL1sdVnEzgkAAJBMCNKBZNJjoDToFPP6qthl0531TjnrzaAxXluwSS2ZdEu8MuneQWkkMumW4//f8crqk6Wdy3bqk9s/idh5oyEape6S1H9Sf0nSuo/XadkbyyJ6bgAAgGRAkA4kG2uA3LoXpMby4Mc6a6Tvfyd9coJUVdrhp6yvMLPosrUNlGOpTZAe4z3SLdHIpFvnPeFJs+z9i/u+0E9f/xSxc0dS9fZqbfx8oyRp9MmRDdL77d1PB91wkCTpnQvf0e7VuyN6fgAAgERHkA4kmz5TpbxxkqtWWjsr8HHbP5He30tafr+05X1pzgFmmXwHWP3o6bnpstk7tid4JCRKJj3SPenexpwyRhPOniDDbeidC97xVDAkkpX/WikZ0oD9BiivKPItB0fcfYQGHzpYjVWNeu3019RUF/vdDAAAAOKFIB1INjZbSzZ99eOS4fa9v6la+vZKae7hUvVaqUeR1HMfqbFM+nh68MA+gEToR5daetIlM2CP13qilUm3HPvoscrqm6VdK3Zp3q3zIn7+1qq2VumrR77SRzd+5PlZB7PizeiUultS0lJ0+iunK6tPlrYv2a73r3o/Ks8DAACQiOK+BRuADig5V1r0f1LVamnrf6UBx5i3b5srfX2xVLPB/H74ZdI+90u2VOmrC6SNr0lfXShVrpT2vluyhfA5nate9T+8KknKyIpvVtc7kx6vLLoUvZ507/PP+NsMzT55tr78y5cafcpoFU0p8tzvrHdqz7o92rNmj8rWlGnPmj1KzUzV4IMHq+jgopAGudWX12v5m8u19KWlWj9vvQy3IcnsNf/5Oz9X79G9/T+uol5r566VFL0gXZJyBuTotFdO0wvTX9CiZxdp8MGDtc9F+0Tt+QAAABIFQTqQjNKypSEXSKseNbdjK5wifX+DVPqUeX9WiXTAM1K/I1sec/ArUs4o6cc/Ssv+JFWtkqb8Q0rN8v8czlrzfMvvU/3inpLOVEbajii/sOC8g/R4TXaXpPS8dNlSbDJcRlQy6ZI0+mejtde5e2nJP5forXPfUsnhJWZQXlqmys2VktH2MV/oC0lS7zG9NfiQwZ6v/CH5stlsaqpr0qp/r9IPL/2g1e+vlqvR5XnsoAMHqXJzpXav2q1nDnhGp750qkae0HZrtdXvr5a7ya2CUQUqHFMYldduGXL4EB1+1+H6+OaP9f6V76v/pP7qt3e/qD4nAABAvBGkA8lq5K/MIH3zv6X3xkm1zUPGRlwpTfyTGch7s9mlve+SckeZ2fZNb0rV66Vp/zKnxluaqqXVT0grHpDqzaC8vmmcJClj8N4xeGGBpeckRpBus9nUo6CHanbURCWTbjn2kWO1du5a7Vm7R3vW7vG5z5HjUK9hvdRzWE/1HNZT9XvqtfGzjdq1fJfna+HTCyVJ2f2z1XdCX236YpMaqxs95ygcV6gJZ0/Q+J+PV8+hPVWzo0avnvaqNn62US+f+LKOvOdIHfx/B8tma5lDEK2p7oEccuMh2vT5Jq1+f7VeO/01Xbrg0rjuMAAAABBtBOlAssodJfU7Wtr2HzNAzx4qHfB3qe9hwR835Fwpe4g0/xRpz0JpzmRp2rtSznBp1f+TVjwoNTRP1M4aIo37veo3jZQ0Txk9A2TdYyRRyt0lsy+9ZkdN1DLpkpTZK1M/f/vnWvj3hcoZkKNew3qp13AzMO/Ru4dP8Gyp3VWrTV9s0sbPNmrjZxu1ZcEWVW+tVvXWaknmhxvjzxqvCWdPUN8JfX0em9UnS+fNPU8fXP2Bvvvbd5p701xtX7JdJz1zktJ6pMlZ71TpB+YuAWNOHRO11+3NZrfplBdO0d/2/ZvKSsv0r4v+pTNeP8PvawcAAOgKCNKBZLb3H6Wa9dKA483rgUrXWys8WDrma+l/M6SKZdJ/D5XsDqmp3Lw/Z4Q07map5GzJnqb6yrmSzDLvePIJ0uO0/ZrFmvAezSBdkgZOHqiBkwe2f2CzHr17aNRJozTqpFGSpKa6Jm35dou2L9mu/vv216Apg4IGuCmOFM14cob6TeynD379gX54+QftXrlbM9+aqe1LtquxulG5g3I1YL8BnX5tocrslakzXjtDzx78rJa/uVxfPfyVplw7JWbPDwAAEEsE6UAyK9hfOnFlxx6bPUQ66gvp85nS1jnmlm65Y6Txf5AGz5TsLcGntQVbIk13T4RMuhSdwXGRlJaZpuKpxSqeWhzW4/a7Yj8Vji3Uq6e9qq0Lt+rp/Z9WwagCSdKok0fFPJM9cP+BOvbhY/X+le/ro999pIGTB2rwwYNjuobWDMPQirdXKDUjVcOOGiZ7KhumAACAzkvsvy4BRJcjT5r2b2nN01JGX2nQyX4nvg89aqg5PfzQ+AZFiTI4TmoJ0qOdSY+n4qnFunTBpZp98mxtW7RNNTtqJJl7ucfDfr/cTxs/26gfXv5Br898Xcf99TgNO2qYHNmO9h8cYdXbq/Wvi/+l1e+tlmT2/e/1i720z4X7BJyMDwAAEAqbYRh+ZgR3XZWVlcrLy1NFRYVyc3PjvRwAYTDchp495Fk5sh06d865ce1LXvHOCr176bs65YVTNPyY4XFbRyw01jTqXxf9Sz+++qN6FPbQ9Vuuj1vWuLG6UU/v/7R2rdglySzPLzm8RCNnjNTIE0fGpA1i9fur9c6F73hmEqTnpKt2V63n/kEHDtLEiyZq/MzxPh8sAQCA7iucOJQgHUBSMQwjYYaGJdJaos0wDC17fZl6Du2pAZNi14/uT9WWKn1+/+da9e4q7VnjO/W+z4Q+noB94OSBsqdE7sOEprom/feG/+rbx771PNepL56q3qN6a9V7q7TouUVa/f5qGS7zf6upmakae9pYTbxwokoOL+k2vysAAKAtgvQgCNIBoGswDEO7V+7WyndXatW7q7Tp800y3C3/S8vul61xPx+nvc7dS/337d+pIHnbom164+w3tGu5mcE/4DcHaPq905Wa4ds1Vr2tWkv+uUSLnluknct2em4vnlasGX+bod6jKIUHAKA7IkgPgiAdALqmurI6rf5gtVb/e7VWf7DaM/BQknqP7q0J50zQhHMmqOeQniGf03Ab+vLBLzX393PlbnIru1+2Tn7+ZA07eljwxxmGNn+zWYueW6TF/1gsZ51TKY4UHXLTITrkpkMSfuAgAACILIL0IAjSAaDrczW6VDqnVEtfXKqV76yUs97pua/ooCJNOHeCxp05Tpm9MuVqdKmppkmN1Y3mV03zZVWjvn70a62bu06SNOpno3TSMyd5hgaGqnx9ud771XuePeYLRhVoxt9mqGRaScReLwAASGwE6UEQpANA99JQ2aDlby7X0heXau3ctVLz//VsdptsdpvcTnfQx6f1SNMxDx+jfS/Zt8Ml84ZhaNlry/TB1R+oZrs5JX/ihRN11P1HqUdBeEE/AABIPgTpQRCkA0D3Vbm5Uj+88oOWvrhU277f5nNfSnqKHNkOObIc5mW2Q3mD83T4Hw+PWC95fXm9PrrxI333t+8kmVv5Hf3g0drr3L2CfgBgGIYaqxpVu7tWdWV1qttdp7qyOp/vDbehcTPHqeigIobUAQCQYAjSgyBIBwBI5pR4wzA8gXkst5Xb9MUmvXvZu9r5ozlcrvfo3krNSJWzwSlXg0uuRpfnurPBKVejy1MB0J4B+w/QgdceqLGnj1VKWkoUXwUAAAgVQXoQBOkAgETganTpi798ofl3zvfpmQ8mNTNVPQp6KLNXpjILMn0ua7bXaOlLS+VqcEmScgflav+r9tekyyYps2dmNF8KAABoB0F6EATpAIBEUvlTpbZ+v1UpjhSlpqcqJb350pHScj09Rem56UrLTAt6rpqdNVrw5AJ9+9i3nt73tB5p2vuCvXXgNQeqYGRBLF4SAABohSA9CIJ0AEBX52xw6oeXf9BXD32l7Uu2mzfapJEnjNR+v9xPw44ZJntK7Mr7AQDo7gjSgyBIBwB0F4ZhaP289frywS+1+r3VntvzS/I16fJJ2ueifZTVJyuOKwQAoHsgSA+CIB0A0B3tXrVb3z7xrRbPWqz68npJkj3NrrGnj9V+v9xPgw8ZHHAqvGEYqt1Vq4qNFarZXiNnvdN3sF2ry96jemvMqWOU1iN4eT4AAN0FQXoQBOkAgO6sqbZJP8z+QQueWKAt327x3N5nfB/te+m+cuQ4VLGxQhUbK1S5sdJzPdThdhZHjkPjzxqvfS/eVwP2H8C2cACAbo0gPQiCdAAATFu+26IFTyzQ0peWylnXfhCe3T9b2f2ylZaZ5jPUzrpMSU+RPcWuNf9Zo/J15Z7HFY4r1D4X76O9zt1LWYWU1wMAuh+C9CAI0gEA8FVfXq/F/1isZa8vU1pmmnIH5yq/OF95g/M8XzkDc5SanhrS+Qy3ofX/W69Fzy7SsteXebLw9jS7Rp04SvtcvI+GHjWUfdwBAN0GQXoQBOkAAMROfXm9fnjlB33/9++1ZUFLeX16XrpGHDdCI08aqRHHjVBGfkbI53TWO7VrxS7lDspVj949orFsAAAiiiA9CIJ0AADiY/uS7fr+2e+19KWlqt1Z67ndnmpX8dRijTxxpEadNEo9h/b03FdfUa9ti7Zp2/fm19aFW7Vz+U4ZLkM2u03FU4s1+tTRGnPKGOUO4v/rAIDERJAeBEE6AADx5Xa5tfnrzVr57kqt+tcq7Vy20+f+wnGFKhhZoO1LtmvPmj1+z5Gel66Gigaf2wYeMFBjTh2jMaeOUa/hvaK2fgAAwkWQHgRBOgAAiaWstMwTsG/4dIMMl++fJrlFueq/b3/126ef+u/TX/337a+cgTkqX1+uFW+t0PI3l2vTF5skr4f1mdBHY04bo4nnT1R+SX5sXxAAAK0QpAdBkA4AQOKq21On0g9KVb2tWn336qt+E/uF1HdetbVKK99ZqeVvLtf6eevldrrNO2zS8GOHa78r9tOI40fInmoPaz1ul1v2lPAeAwBAawTpQRCkAwDQtdWV1WnVv1dpyT+XaO1/13puzx2Uq30v3Vf7XLyPcgf6/xugZmeNNn66URvmb9CG+Ru0ffF2FYwq0NjTx2rsGWPVZ3wf9nwHAISNID0IgnQAALqPstIyfffUd1r03CLV7jKH1dlSbBp10ijtd8V+6j26tzZ8agbkG+dv1K4Vu4Ker2BkgcacPkZjTx+rfhP7EbADAEJCkB4EQToAAN2Ps8Gp5W8u13dPfqcN8zcEPbbP+D4aPHWwiqcWa8CkAfrp65+07LVlKv2wVK4Gl+e4nkN7aszpYzTujHHqP6k/ATsAICCC9CAI0gEA6N52LtupBX9boMXPL1ZjdaP679tfxVOLNfjQwRp8yGD1KPDfA99Q1aDV763WsteXafX7q+Wsc3ru6zW8l8afNV7jzxqvwjGFsXopAIAkQZAeBEE6AACQJFeTS+4mt9J6pIX92MbqRq3+YLWWvbZMq99brabaJs99/Sb20/izx2v8z8crrygvkksGACQpgvQgCNIBAEAkNVY3auW/VuqHl39Q6YelLZPlJQ0+dLDGnzVeY08fq6zCrA6dv3p7tZa9tkxVW6tUMq1ExVOLlZqRGqnlAwBigCA9CIJ0AAAQLbW7a7Xs9WX64eUftOF/Lb3vNrtNRQcVaeRJIzX6Z6NVMLIg6Hkaqhq04q0VWvrSUq39aK3P3vGpmakqmVaiYccO0/BjhqtgVAH98ACQ4AjSgyBIBwAAsVD5U6V+mP2DfnjpB21duNXnvoJRBRr1s1EaddIoDTpwkOwpdrkaXSr9sFRLX1yqlf9aKWd9S8/7wMkDVTCqQOvmrlPVliqfc+UV52nYMcM0/NjhKppSpKy+WQTtAJBgCNKDIEgHAACxVrGxQivfXamV76zU+k/Wy93UUhLfo7CHiqYUacOnG1S/p95ze8HIAk04Z4ImnD1BvYb3kiQZhqGdP+5U6YelWjNnjTbM3yBXo8vnuTJ6ZqhwTKF6j+2twrGF5teYQuUW5RK8A0CcEKQHQZAOAADiqb6iXmvmrNHKd1Zq9furVV/eEphn98/W+LPGa8LZE9R/3/a3dWusadSG/21Q6YelWvvftdq9arcMt/8/7RzZDhWMKlBeUZ5yBuYoZ2COcgfmmtcHmNfTc9Mj+loBACaC9CAI0gEAQKJwNbm08dON2vzNZg2cPFDF04plT7F3+HzOeqd2r9qtnct2er52Ld+l3at2+wy0C8SR7VDByAINPnSwZ1u6jg68AwC0IEgPgiAdAAB0N64ml8pKy7R71W5Vba5S5eZKVW2u8rneUNng97GFYws1eKoZtBdPLVbuQP5+AoBwEaQHQZAOAADQVmN1oyo3V2rbom3aMH+DNs7fqB0/7GhzXM9hPTXxgok68NoD5chyxGGlAJB8CNKDIEgHAAAITe3uWm38dKM2zN+gDfM3aNv32zw97zkDcnTYnYdp4gUTO1Wi31rFxgotfWmp1n+yXpOvmqyRM0ZG7NwAEC8E6UEQpAMAAHRMQ2WDVr67UvNumafydeWSpMJxhZr+5+kacfyIDk+Pryur04+v/ailLy7Vxk83em632W2a8bcZ2veSfSOxfACIG4L0IAjSAQAAOsfZ4NSCJxZo/l3zVVdWJ0kqOaxER91/lAbsNyCkczTVNWnVv1dp6YtLtfr91S3b0tmkkmklyuiZoRVvrZAkHXH3ETrkpkPYQg5A0iJID4IgHQAAIDLqy+v16b2f6utHvparwdyvffxZ43XozYfKnmpX7a5a1e2uU+3uWt/rO2q1bt46NVY1es7Vd6++mnDuBI3/+XjlFeXJMAx9fPPH+uzezyRJk6+erGMfOlY2O4E6gORDkB4EQToAAEBklW8o17xb5mnJP5dIYfxlmTc4T+PPHq+9ztlLfcb38XvMV498pTm/mSPJ/ADg5FknK8WREollA0DMEKQHQZAOAAAQHVu/36q5N87V2o/WypHjUI+CHsosyFSP3j18rmcWZKrP+D4afPDgkDLjS19aqrfPf1tup1vDjh6mM984U47swJPlXY0urf9kvUrnlCqzV6ZGHDdC/Sb2S9gsvKvRpa3fb1XOgBzlFeXFezkAooAgPQiCdAAAgOgy3EbEA+LSD0v16mmvqqm2SQP2H6Cz3ztbWYVZnvsbqhpU+mGpVr69UqveW6WGCt9937P6ZmnEcSM0/LjhGnrUUGX2zPT7PK5Gl3b8uENbv9uqLQu2aOvCrXI73Rp8iLlX/OBDByu7b3anXovhNrRt8Tatm7tO6+au04ZPN6ippkn2NLuOvOdITbluSsJ+oACgYwjSgyBIBwAASE4/ff2TXjrhJdXtrlPByAKd+uKp2rZom1a8vUJrP1rr6YuXzKB85IyRqt1Vq7UfrVVTTZPnPluKTUVTijT8uOEqOqhIZaVlZkD+3VZtX7JdrkaXv6f3KBhVoOJpxSqean4Fy34bbkPOBqcqf6r0BOXr5q1T3e46n+Mc2Q41Vps9+kOPGqqTnz9ZOf1zOvI2AUhABOlBEKQDAAAkr10rdumfx/xTFRsr2tzXa3gvjT5ltEafPFqDDhzkyUY7G5za+NlGlX5QqtIPSrVz2c6gz5GRn6H+k/prwH4D1H9Sf8mQNny6QRvnb9T2JdvbHJ9XnKeMvAw5651tvgIF/I5sh4qnFmvIkUM0dPpQ9RnfRwufWagPf/OhnHVO9ejdQyc9e5JGnTiqA+8SgERDkB4EQToAAEByq/ypUi8e96J2/LBD/Sf19wTmhWMLQ9qmrXxDuSdg37Zom3qN6OUJyAdMGqD8IfkBz1NXVqeNn23UhvkbtGH+Bm1duFWGq/0/p+1pdhVNKdKQI4doyJFDNHDyQKWktR2At3P5Tr1x1hvavtj8MGD/K/fXUfcfpbTMtHafA0DiIkgPgiAdAAAg+bkaXaqvqPfpS4+HhqoGbVmwRW6nW6kZqQG/0jLTZE+1h3ROZ4NTc2+aq68e+kqSVDiuUKe9fJr6TugbzZcCIIoI0oMgSAcAAEAyKP2wVG+f/7ZqdtQoJT1FR913lEoOK1FDZYPqK+rVUNmghooG87L5tqaaJhluw/xymZdul7vlNrehnkN7auj0oSqeWhx0Sj6AyCFID4IgHQAAAMmienu13rnwHZV+UBrxc9tT7Rp04CANmW72xQcqwQfQeQTpQRCkAwAAIJkYhqFv/vqNPvvTZzJchtJz05Wel25e5qYrIy9DjlyHMvIylNYjTbYUm+wpdtnsNtlSbLLZW743DEPbvt+mtf9dq/L15T7P48h2qHhasYZOH6rRJ49Wfkl+XF4v0BURpAdBkA4AAABIe9bu0dq5a7Xuo3VaO3dtm23hBk4eqLFnjNXYM8Yqvzg/PosEugiC9CAI0gEAAABfhtvQ9iXbtfajtVr9/mpt+N8GGe6WMGHgAQM17sxxGnv6WOUNDrwvPAKrr6g3Bwmmp8Z7KYgDgvQgCNIBAACA4Kq3V2v5m8u17NVlWv+/9ZJXxDDowEEaPHWwbDazfN4aSCdDLQPqDEOp6alK65EW8Cs9L119xvXp8sPrKjZVaN4f5mnxC4uVlpmmksNKNPTooRp+zHAVjCoIadtAJD+C9CAI0gEAAIDQVW+r1rI3lmnZq8u04dMNPgF7p9mk3qN6q98+/dR/3/7qv29/9dunnzJ7Znb61K5Gl+r21MlZ71R6TrocOY6YDsarL6/XZ3/6TF89/JVcDS6/x+QNzvME7EOOHBKR143ERJAeBEE6AAAA0DFVW6q0/M3lKistk81uk2wyB9TZzAF1nttsNrkaXWqqbQr4VbO9RtXbqv0+T35Jvvrv2185g3JaMs1eCWfrNsNtmNvP7alX3Z461ZXVea431TS1OW9qRqocOQ6l55hD9xw5DqXnpitnQI4KRhWo96jeKhhVoJ5Deoa8r31rrkaXvn3iW82/a76nz794arGOuv8opWakqnROqdb+Z602zN8gV2NL8G6z2zRoyiDte+m+Gv/z8ZTFdzEE6UEQpAMAAACJoXpbtbZ+v1VbF27Vtu+3aevCrSpfVx7R50hxpPgEw6Gwp9nVa1gvM3Af3VsFIwuUNzhPuYNylTso12+JvmEY+vHVH/Xx7z/WnrV7JEm9x/TWUfcdpREnjGhT1t5U26T1/1uvNf9ZozVz1mjX8l2e+7L6ZGm/X+2n/a7YT9l9szvwqpFoCNKDIEgHAAAAElfdnjptW/T/27v34Kjqu4/jn81lN/eEEMgFEsKtEwIRgUgMqNCSShlLpXYKOGmMkcGxhpaQhyptB7GtEKEjgyAaYWq1jlZ0+qiVGe3EQGPhwRBD44BEsISQBHMxickmBHLZPc8fqUfWBIgK2U14v2bOzO7vnLPnuzvfgXz2nP2d3sD+xZlol8jylfRiC7HJP9xffiP85D/C3+WxLdQmL28vObod6mrrUmdbpzrtnebjrrYuXWi9oNYzrWr8uFFNJ5rUdLJJPRd6LlujLdRmBvaQsSEKHhOsU++c0tnDZyVJQVFBmv/7+ZqRNWPAZ+Rbq1p19OWjKtlZInuNXVLvFwzT7p6mlNUpip4RPcBP8NIMp6GOxg45uh0Kjgn+xr+H72jqUGN5oyISIhQQEfCt67oeENIvg5AOAAAA4FIMp6HW6lY1nWhS44ne4N78SbPsNXbZa+zqtHdecl/fQF/NfWiuUv8nVdbAbzYhnqPbofL/LVfxtmLVvF9jjo+7bZxSclI0edFkOboc6rnQo54LPeo+320+7rnQY/6UoO3Ttj5Le227nD1OSVJwTLBi58Yqdm6s4m6JU9T0qEt+oXCu4ZzOvHdGlUWVOlN0Rg1HG8x1EQkR5mvEzo1V+KRwJsPrByH9MgjpAAAAAL6pTnun7GftZmi319hlr7bLf6S/bs65+apenl5TXKPiJ4t1/LXjZrj+1v47j4DhcI2BvoG+Gpsytje4z4nV+c/P60zRGZ0pOqPGjxv7vExQdJDaa/vOKRA4OlCxc3rD/4iJI3S++bw6GjvU0dih801fPu5o7NCFzy8ofFK4Jnx/gibePlFjUsYM6uR+g4mQfhmEdAAAAABDif2sXSVPl6j02VLzJwBS70R4/S2BkYEKjgnudwmMDJSz26mzJWdVdaBK1QerVf1/1epsvfQVApIUeUOkxs0bp3G39S6BowPV0dShmkM15uucLTl7yZnsB8IabO29Rd33J2ji9ycOq1vUEdIvg5AOAAAAYChy9jjV2dYpX39fedu8r1qANZyGPjv+maoOVqn6QLVqimtkC7b1hvJ54zTu1nHyD7/y7eF6OntUW1prvk57fbsCIgLMxX+kv8tzW7BNtUdqVVFQoYp3K9TR2OHyeiGxIRp32zj5jfCTr79v75cQ/r1fRHz1+eRFk+Vt9dyz8IT0yyCkAwAAAIBnMZyG6srqdKrglCoKKlT1r6qvNSv/utZ1soXYrmGF387XyaHcfA8AAAAA4FYWL4uiZ0Yrema0bnn4FnV3dOvMv86otrRW3R3dX06Qd/7LSfIufuzjP3yi7fB5JwAAAACAYcE3wFeTFk7SpIWT3F3KoBvYTfsAAAAAAMA1R0gHAAAAAMBDENIBAAAAAPAQhHQAAAAAADwEIR0AAAAAAA9BSAcAAAAAwEMQ0gEAAAAA8BCEdAAAAAAAPAQhHQAAAAAAD+ERIX3nzp2Kj4+Xn5+fUlJSdPjw4QHt98orr8hisWjJkiXXtkAAAAAAAAaB20P6nj17lJubqw0bNujIkSOaPn26Fi5cqIaGhsvuV1lZqbVr1+rWW28dpEoBAAAAALi23B7St27dqpUrVyorK0uJiYnKz89XQECAnnvuuUvu43A4lJ6ert/97neaMGHCIFYLAAAAAMC149aQ3tXVpdLSUqWlpZljXl5eSktL06FDhy653+9//3uNHj1aK1asuOIxOjs7ZbfbXRYAAAAAADyRW0N6Y2OjHA6HIiMjXcYjIyNVV1fX7z4HDhzQn/70J+3evXtAx8jLy1NoaKi5xMbGfuu6AQAAAAC4Ftx+ufvX0dbWpoyMDO3evVsRERED2ufXv/61WltbzaW6uvoaVwkAAAAAwDfj486DR0REyNvbW/X19S7j9fX1ioqK6rP9qVOnVFlZqcWLF5tjTqdTkuTj46MTJ05o4sSJLvvYbDbZbLZrUD0AAAAAAFeXW8+kW61WzZo1S4WFheaY0+lUYWGhUlNT+2yfkJCgo0ePqqyszFx+9KMf6bvf/a7Kysq4lB0AAAAAMKS59Uy6JOXm5iozM1PJycmaPXu2tm3bpnPnzikrK0uSdM8992jMmDHKy8uTn5+fpk2b5rJ/WFiYJPUZBwAAAABgqHF7SF+2bJk+++wzPfLII6qrq9ONN96od955x5xMrqqqSl5eV++Ev2EYksQs7wAAAACAQfFF/vwij16OxRjIVsNITU0Nl8UDAAAAAAZddXW1xo4de9ltrruQ7nQ69emnnyo4OFgWi8VtddjtdsXGxqq6ulohISFuqwMYCPoVQw09i6GGnsVQQr9iqPGEnjUMQ21tbYqJibnileJuv9x9sHl5eV3xm4vBFBISwj9uGDLoVww19CyGGnoWQwn9iqHG3T0bGho6oO2G1H3SAQAAAAAYzgjpAAAAAAB4CEK6m9hsNm3YsEE2m83dpQBXRL9iqKFnMdTQsxhK6FcMNUOtZ6+7ieMAAAAAAPBUnEkHAAAAAMBDENIBAAAAAPAQhHQAAAAAADwEIR0AAAAAAA9BSHeDnTt3Kj4+Xn5+fkpJSdHhw4fdXRIgScrLy9NNN92k4OBgjR49WkuWLNGJEydctrlw4YKys7M1cuRIBQUF6Sc/+Ynq6+vdVDHwpccff1wWi0U5OTnmGP0KT3P27Fn97Gc/08iRI+Xv76+kpCR98MEH5nrDMPTII48oOjpa/v7+SktL0yeffOLGinG9cjgcWr9+vcaPHy9/f39NnDhRf/jDH3TxnNP0K9zpvffe0+LFixUTEyOLxaI33njDZf1A+rO5uVnp6ekKCQlRWFiYVqxYofb29kF8F/0jpA+yPXv2KDc3Vxs2bNCRI0c0ffp0LVy4UA0NDe4uDVBRUZGys7P1/vvvq6CgQN3d3br99tt17tw5c5s1a9borbfe0muvvaaioiJ9+umnuuuuu9xYNSCVlJTo2Wef1Q033OAyTr/Ck3z++eeaO3eufH199fbbb+v48eN64oknNGLECHObLVu2aPv27crPz1dxcbECAwO1cOFCXbhwwY2V43q0efNmPfPMM3rqqadUXl6uzZs3a8uWLdqxY4e5Df0Kdzp37pymT5+unTt39rt+IP2Znp6ujz76SAUFBdq7d6/ee+893X///YP1Fi7NwKCaPXu2kZ2dbT53OBxGTEyMkZeX58aqgP41NDQYkoyioiLDMAyjpaXF8PX1NV577TVzm/LyckOScejQIXeVietcW1ubMXnyZKOgoMCYN2+esXr1asMw6Fd4nocffti45ZZbLrne6XQaUVFRxh//+EdzrKWlxbDZbMZf//rXwSgRMN1xxx3Gfffd5zJ21113Genp6YZh0K/wLJKM119/3Xw+kP48fvy4IckoKSkxt3n77bcNi8VinD17dtBq7w9n0gdRV1eXSktLlZaWZo55eXkpLS1Nhw4dcmNlQP9aW1slSeHh4ZKk0tJSdXd3u/RwQkKC4uLi6GG4TXZ2tu644w6XvpToV3iev//970pOTtZPf/pTjR49WjNmzNDu3bvN9adPn1ZdXZ1Lz4aGhiolJYWexaCbM2eOCgsLdfLkSUnShx9+qAMHDmjRokWS6Fd4toH056FDhxQWFqbk5GRzm7S0NHl5eam4uHjQa76Yj1uPfp1pbGyUw+FQZGSky3hkZKQ+/vhjN1UF9M/pdConJ0dz587VtGnTJEl1dXWyWq0KCwtz2TYyMlJ1dXVuqBLXu1deeUVHjhxRSUlJn3X0KzxNRUWFnnnmGeXm5uo3v/mNSkpK9Mtf/lJWq1WZmZlmX/b3dwI9i8G2bt062e12JSQkyNvbWw6HQxs3blR6erok0a/waAPpz7q6Oo0ePdplvY+Pj8LDw93ew4R0AP3Kzs7WsWPHdODAAXeXAvSrurpaq1evVkFBgfz8/NxdDnBFTqdTycnJ2rRpkyRpxowZOnbsmPLz85WZmenm6gBXr776ql566SW9/PLLmjp1qsrKypSTk6OYmBj6FbjGuNx9EEVERMjb27vPzML19fWKiopyU1VAX6tWrdLevXu1f/9+jR071hyPiopSV1eXWlpaXLanh+EOpaWlamho0MyZM+Xj4yMfHx8VFRVp+/bt8vHxUWRkJP0KjxIdHa3ExESXsSlTpqiqqkqSzL7k7wR4gl/96ldat26dli9frqSkJGVkZGjNmjXKy8uTRL/Csw2kP6OiovpM3t3T06Pm5ma39zAhfRBZrVbNmjVLhYWF5pjT6VRhYaFSU1PdWBnQyzAMrVq1Sq+//rr27dun8ePHu6yfNWuWfH19XXr4xIkTqqqqoocx6BYsWKCjR4+qrKzMXJKTk5Wenm4+pl/hSebOndvntpYnT57UuHHjJEnjx49XVFSUS8/a7XYVFxfTsxh0HR0d8vJyjQre3t5yOp2S6Fd4toH0Z2pqqlpaWlRaWmpus2/fPjmdTqWkpAx6zRfjcvdBlpubq8zMTCUnJ2v27Nnatm2bzp07p6ysLHeXBig7O1svv/yy3nzzTQUHB5u/xwkNDZW/v79CQ0O1YsUK5ebmKjw8XCEhIfrFL36h1NRU3XzzzW6uHteb4OBgc76ELwQGBmrkyJHmOP0KT7JmzRrNmTNHmzZt0tKlS3X48GHt2rVLu3btkiRZLBbl5OToscce0+TJkzV+/HitX79eMTExWrJkiXuLx3Vn8eLF2rhxo+Li4jR16lT9+9//1tatW3XfffdJol/hfu3t7frPf/5jPj99+rTKysoUHh6uuLi4K/bnlClT9IMf/EArV65Ufn6+uru7tWrVKi1fvlwxMTFuelf/5da55a9TO3bsMOLi4gyr1WrMnj3beP/9991dEmAYRu/tK/pb/vznP5vbnD9/3njwwQeNESNGGAEBAcaPf/xjo7a21n1FAxe5+BZshkG/wvO89dZbxrRp0wybzWYkJCQYu3btclnvdDqN9evXG5GRkYbNZjMWLFhgnDhxwk3V4npmt9uN1atXG3FxcYafn58xYcIE47e//a3R2dlpbkO/wp3279/f79+tmZmZhmEMrD+bmpqMu+++2wgKCjJCQkKMrKwso62tzQ3vxpXFMAzDTd8PAAAAAACAi/CbdAAAAAAAPAQhHQAAAAAAD0FIBwAAAADAQxDSAQAAAADwEIR0AAAAAAA8BCEdAAAAAAAPQUgHAAAAAMBDENIBAAAAAPAQhHQAAHBVxcfHa9u2be4uAwCAIYmQDgDAEHbvvfdqyZIlkqT58+crJydn0I79/PPPKywsrM94SUmJ7r///kGrAwCA4cTH3QUAAADP0tXVJavV+o33HzVq1FWsBgCA6wtn0gEAGAbuvfdeFRUV6cknn5TFYpHFYlFlZaUk6dixY1q0aJGCgoIUGRmpjIwMNTY2mvvOnz9fq1atUk5OjiIiIrRw4UJJ0tatW5WUlKTAwEDFxsbqwQcfVHt7uyTpn//8p7KystTa2moe79FHH5XU93L3qqoq3XnnnQoKClJISIiWLl2q+vp6c/2jjz6qG2+8US+++KLi4+MVGhqq5cuXq62t7dp+aAAAeCBCOgAAw8CTTz6p1NRUrVy5UrW1taqtrVVsbKxaWlr0ve99TzNmzNAHH3ygd955R/X19Vq6dKnL/i+88IKsVqsOHjyo/Px8SZKXl5e2b9+ujz76SC+88IL27dunhx56SJI0Z84cbdu2TSEhIebx1q5d26cup9OpO++8U83NzSoqKlJBQYEqKiq0bNkyl+1OnTqlN954Q3v37tXevXtVVFSkxx9//Bp9WgAAeC4udwcAYBgIDQ2V1WpVQECAoqKizPGnnnpKM2bM0KZNm8yx5557TrGxsTp58qS+853vSJImT56sLVu2uLzmxb9vj4+P12OPPaYHHnhATz/9tKxWq0JDQ2WxWFyO91WFhYU6evSoTp8+rdjYWEnSX/7yF02dOlUlJSW66aabJPWG+eeff17BwcGSpIyMDBUWFmrjxo3f7oMBAGCI4Uw6AADD2Icffqj9+/crKCjIXBISEiT1nr3+wqxZs/rs++6772rBggUaM2aMgoODlZGRoaamJnV0dAz4+OXl5YqNjTUDuiQlJiYqLCxM5eXl5lh8fLwZ0CUpOjpaDQ0NX+u9AgAwHHAmHQCAYay9vV2LFy/W5s2b+6yLjo42HwcGBrqsq6ys1A9/+EP9/Oc/18aNGxUeHq4DBw5oxYoV6urqUkBAwFWt09fX1+W5xWKR0+m8qscAAGAoIKQDADBMWK1WORwOl7GZM2fqb3/7m+Lj4+XjM/D/9ktLS+V0OvXEE0/Iy6v3wrtXX331isf7qilTpqi6ulrV1dXm2fTjx4+rpaVFiYmJA64HAIDrBZe7AwAwTMTHx6u4uFiVlZVqbGyU0+lUdna2mpubdffdd6ukpESnTp3SP/7xD2VlZV02YE+aNEnd3d3asWOHKioq9OKLL5oTyl18vPb2dhUWFqqxsbHfy+DT0tKUlJSk9PR0HTlyRIcPH9Y999yjefPmKTk5+ap/BgAADHWEdAAAhom1a9fK29tbiYmJGjVqlKqqqhQTE6ODBw/K4XDo9ttvV1JSknJychQWFmaeIe/P9OnTtXXrVm3evFnTpk3TSy+9pLy8PJdt5syZowceeEDLli3TqFGj+kw8J/Vetv7mm29qxIgRuu2225SWlqYJEyZoz549V/39AwAwHFgMwzDcXQQAAAAAAOBMOgAAAAAAHoOQDgAAAACAhyCkAwAAAADgIQjpAAAAAAB4CEI6AAAAAAAegpAOAAAAAICHIKQDAAAAAOAhCOkAAAAAAHgIQjoAAAAAAB6CkA4AAAAAgIcgpAMAAAAA4CH+H5a9n8EAmJDzAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loaded_classifier.fit(train_features, train_labels)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "bronze-spread", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train score 0.9\n", + "Test score 0.8\n" + ] + } + ], + "source": [ + "print(\"Train score\", loaded_classifier.score(train_features, train_labels))\n", + "print(\"Test score\", loaded_classifier.score(test_features, test_labels))" + ] + }, + { + "cell_type": "markdown", + "id": "apparent-bloom", + "metadata": {}, + "source": [ + "Let's see which data points were misclassified. First, we call `predict` to infer predicted values from the training and test features." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "catholic-norway", + "metadata": {}, + "outputs": [], + "source": [ + "train_predicts = loaded_classifier.predict(train_features)\n", + "test_predicts = loaded_classifier.predict(test_features)" + ] + }, + { + "cell_type": "markdown", + "id": "guided-croatia", + "metadata": {}, + "source": [ + "Plot the whole dataset and the highlight the points that were classified incorrectly." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "tested-handling", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# return plot to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)\n", + "\n", + "plot_dataset()\n", + "\n", + "# plot misclassified data points\n", + "plt.scatter(\n", + " train_features[np.all(train_labels != train_predicts, axis=1), 0],\n", + " train_features[np.all(train_labels != train_predicts, axis=1), 1],\n", + " s=200,\n", + " facecolors=\"none\",\n", + " edgecolors=\"r\",\n", + " linewidths=2,\n", + ")\n", + "plt.scatter(\n", + " test_features[np.all(test_labels != test_predicts, axis=1), 0],\n", + " test_features[np.all(test_labels != test_predicts, axis=1), 1],\n", + " s=200,\n", + " facecolors=\"none\",\n", + " edgecolors=\"r\",\n", + " linewidths=2,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "genuine-preference", + "metadata": {}, + "source": [ + "So, if you have a large dataset or a large model you can train it in multiple steps as shown in this tutorial." + ] + }, + { + "cell_type": "markdown", + "id": "acknowledged-freight", + "metadata": {}, + "source": [ + "## 4. PyTorch hybrid models\n", + "\n", + "To save and load hybrid models, when using the TorchConnector, follow the PyTorch recommendations of saving and loading the models. For more details please refer to the [PyTorch Connector tutorial](05_torch_connector.ipynb) where a short snippet shows how to do it.\n", + "\n", + "Take a look at this pseudo-like code to get the idea:\n", + "```python\n", + "# create a QNN and a hybrid model\n", + "qnn = create_qnn()\n", + "model = Net(qnn)\n", + "# ... train the model ...\n", + "\n", + "# save the model\n", + "torch.save(model.state_dict(), \"model.pt\")\n", + "\n", + "# create a new model\n", + "new_qnn = create_qnn()\n", + "loaded_model = Net(new_qnn)\n", + "loaded_model.load_state_dict(torch.load(\"model.pt\"))\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "persistent-combine", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.25.0
qiskit-aer0.13.0
qiskit-machine-learning0.7.0
System information
Python version3.8.13
Python compilerClang 12.0.0
Python builddefault, Oct 19 2022 17:54:22
OSDarwin
CPUs10
Memory (Gb)64.0
Mon Jun 12 11:51:03 2023 IST
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/10_effective_dimension.ipynb.txt b/_sources/tutorials/10_effective_dimension.ipynb.txt new file mode 100644 index 000000000..d0faaca70 --- /dev/null +++ b/_sources/tutorials/10_effective_dimension.ipynb.txt @@ -0,0 +1,779 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Effective Dimension of Qiskit Neural Networks\n", + "In this tutorial, we will take advantage of the `EffectiveDimension` and `LocalEffectiveDimension` classes to evaluate the power of Quantum Neural Network models. These are metrics based on information geometry that connect to notions such as trainability, expressibility or ability to generalize.\n", + "\n", + "Before diving into the code example, we will briefly explain what is the difference between these two metrics, and why are they relevant to the study of Quantum Neural Networks. More information about global effective dimension can be found in [this paper](https://arxiv.org/pdf/2011.00027.pdf), while the local effective dimension was introduced in a [later work](https://arxiv.org/abs/2112.04807)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 1. Global vs. Local Effective Dimension\n", + "Both classical and quantum machine learning models share a common goal: being good at **generalizing**, i.e. learning insights from data and applying them on unseen data.\n", + "\n", + "Finding a good metric to assess this ability is a non-trivial matter. In [The Power of Quantum Neural Networks](https://arxiv.org/pdf/2011.00027.pdf), the authors introduce the **global** effective dimension as a useful indicator of how well a particular model will be able to perform on new data. In [Effective Dimension of Machine Learning Models](https://arxiv.org/pdf/2112.04807.pdf), the **local** effective dimension is proposed as a new capacity measure that bounds the generalization error of machine learning models.\n", + "\n", + "The key difference between global (`EffectiveDimension` class) and **local** effective dimension (`LocalEffectiveDimension` class) is actually not in the way they are computed, but in the nature of the parameter space that is analyzed. The global effective dimension incorporates the **full parameter space** of the model, and is calculated from a **large number of parameter (weight) sets**. On the other hand, the local effective dimension focuses on how well the **trained** model can generalize to new data, and how **expressive** it can be. Therefore, the local effective dimension is calculated from **a single** set of weight samples (training result). This difference is small in terms of practical implementation, but quite relevant at a conceptual level." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. The Effective Dimension Algorithm\n", + "\n", + "Both the global and local effective dimension algorithms use the Fisher Information matrix to provide a measure of complexity. The details on how this matrix is calculated are provided in the [reference paper](https://arxiv.org/pdf/2011.00027.pdf), but in general terms, this matrix captures how sensitive a neural network's output is to changes in the network's parameter space.\n", + "\n", + "In particular, this algorithm follows 4 main steps:\n", + "\n", + "1. **Monte Carlo simulation:** the forward and backward passes (gradients) of the neural network are computed for each pair of input and weight samples.\n", + "2. **Fisher Matrix Computation:** these outputs and gradients are used to compute the Fisher Information Matrix.\n", + "3. **Fisher Matrix Normalization:** averaging over all input samples and dividing by the matrix trace\n", + "4. **Effective Dimension Calculation:** according to the formula from [*Abbas et al.*](https://arxiv.org/pdf/2011.00027.pdf)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## 3. Basic Example (SamplerQNN)\n", + "\n", + "This example shows how to set up a QNN model problem and run the global effective dimension algorithm. Both Qiskit `SamplerQNN` (shown in this example) and `EstimatorQNN` (shown in a later example) can be used with the `EffectiveDimension` class.\n", + "\n", + "We start off from the required imports and a fixed seed for the random number generator for reproducibility purposes." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "slideshow": { + "slide_type": "skip" + } + }, + "outputs": [], + "source": [ + "# Necessary imports\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from IPython.display import clear_output\n", + "from qiskit import QuantumCircuit\n", + "from qiskit.circuit.library import ZFeatureMap, RealAmplitudes\n", + "from qiskit_algorithms.optimizers import COBYLA\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "from sklearn.datasets import make_classification\n", + "from sklearn.preprocessing import MinMaxScaler\n", + "\n", + "from qiskit_machine_learning.circuit.library import QNNCircuit\n", + "from qiskit_machine_learning.algorithms.classifiers import NeuralNetworkClassifier\n", + "from qiskit_machine_learning.neural_networks import EffectiveDimension, LocalEffectiveDimension\n", + "from qiskit_machine_learning.neural_networks import SamplerQNN, EstimatorQNN\n", + "\n", + "# set random seed\n", + "algorithm_globals.random_seed = 42" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + }, + "slideshow": { + "slide_type": "skip" + } + }, + "source": [ + "### 3.1 Define QNN\n", + "\n", + "The first step to create a `SamplerQNN` is to define a parametrized feature map and ansatz. In this toy example, we will use 3 qubits and the `QNNCircuit` class to simplify the composition of a feature map and an ansatz circuit. The resulting circuit is then used in the `SamplerQNN` class." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "num_qubits = 3\n", + "# combine a custom feature map and ansatz into a single circuit\n", + "qc = QNNCircuit(\n", + " feature_map=ZFeatureMap(feature_dimension=num_qubits, reps=1),\n", + " ansatz=RealAmplitudes(num_qubits, reps=1),\n", + ")\n", + "qc.draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The parametrized circuit can then be sent together with an optional interpret map (parity in this case) to the `SamplerQNN` constructor." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "# parity maps bitstrings to 0 or 1\n", + "def parity(x):\n", + " return \"{:b}\".format(x).count(\"1\") % 2\n", + "\n", + "\n", + "output_shape = 2 # corresponds to the number of classes, possible outcomes of the (parity) mapping." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "# construct QNN\n", + "qnn = SamplerQNN(\n", + " circuit=qc,\n", + " interpret=parity,\n", + " output_shape=output_shape,\n", + " sparse=False,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2 Set up Effective Dimension calculation\n", + "\n", + "In order to compute the effective dimension of our QNN using the `EffectiveDimension` class, we need a series of sets of input samples and weights, as well as the total number of data samples available in a dataset. The `input_samples` and `weight_samples` are set in the class constructor, while the number of data samples is given during the call to the effective dimension computation, to be able to test and compare how this measure changes with different dataset sizes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can define the number of input samples and weight samples and the class will randomly sample a corresponding array from a normal (for `input_samples`) or a uniform (for `weight_samples`) distribution. Instead of passing a number of samples we can pass an array, sampled manually." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "# we can set the total number of input samples and weight samples for random selection\n", + "num_input_samples = 10\n", + "num_weight_samples = 10\n", + "\n", + "global_ed = EffectiveDimension(\n", + " qnn=qnn, weight_samples=num_weight_samples, input_samples=num_input_samples\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to test a specific set of input samples and weight samples, we can provide it directly to the `EffectiveDimension` class as shown in the following snippet:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "# we can also provide user-defined samples and parameters\n", + "input_samples = algorithm_globals.random.normal(0, 1, size=(10, qnn.num_inputs))\n", + "weight_samples = algorithm_globals.random.uniform(0, 1, size=(10, qnn.num_weights))\n", + "\n", + "global_ed = EffectiveDimension(qnn=qnn, weight_samples=weight_samples, input_samples=input_samples)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The effective dimension algorithm also requires a dataset size. In this example, we will define an array of sizes to later see how this input affects the result." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "# finally, we will define ranges to test different numbers of data, n\n", + "n = [5000, 8000, 10000, 40000, 60000, 100000, 150000, 200000, 500000, 1000000]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.3 Compute Global Effective Dimension\n", + "Let's now calculate the effective dimension of our network for the previously defined set of input samples, weights, and a dataset size of 5000." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "global_eff_dim_0 = global_ed.get_effective_dimension(dataset_size=n[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The effective dimension values will range between 0 and `d`, where `d` represents the dimension of the model, and it's practically obtained from the number of weights of the QNN. By dividing the result by `d`, we can obtain the normalized effective dimension, which correlates directly with the capacity of the model." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Data size: 5000, global effective dimension: 4.6657\n", + "Number of weights: 6, normalized effective dimension: 0.7776\n" + ] + } + ], + "source": [ + "d = qnn.num_weights\n", + "\n", + "print(\"Data size: {}, global effective dimension: {:.4f}\".format(n[0], global_eff_dim_0))\n", + "print(\n", + " \"Number of weights: {}, normalized effective dimension: {:.4f}\".format(d, global_eff_dim_0 / d)\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By calling the `EffectiveDimension` class with an array if input sizes `n`, we can monitor how the effective dimension changes with the dataset size." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "slideshow": { + "slide_type": "-" + } + }, + "outputs": [], + "source": [ + "global_eff_dim_1 = global_ed.get_effective_dimension(dataset_size=n)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Effective dimension: [4.66565096 4.7133723 4.73782922 4.89963559 4.94632272 5.00280009\n", + " 5.04530433 5.07408394 5.15786005 5.21349874]\n", + "Number of weights: 6\n" + ] + } + ], + "source": [ + "print(\"Effective dimension: {}\".format(global_eff_dim_1))\n", + "print(\"Number of weights: {}\".format(d))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "slideshow": { + "slide_type": "slide" + } + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot the normalized effective dimension for the model\n", + "plt.plot(n, np.array(global_eff_dim_1) / d)\n", + "plt.xlabel(\"Number of data\")\n", + "plt.ylabel(\"Normalized GLOBAL effective dimension\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## 4. Local Effective Dimension Example\n", + "As explained in the introduction, the local effective dimension algorithm only uses **one** set of weights, and it can be used to monitor how training affects the expressiveness of a neural network. The `LocalEffectiveDimension` class enforces this constraint to ensure that these calculations are conceptually separate, but the rest of the implementation is shared with `EffectiveDimension`.\n", + "\n", + "This example shows how to leverage the `LocalEffectiveDimension` class to analyze the effect of training on QNN expressiveness." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.1 Define Dataset and QNN\n", + "\n", + "We start by creating a 3D binary classification dataset using `make_classification` function from scikit-learn." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "num_inputs = 3\n", + "num_samples = 50\n", + "\n", + "X, y = make_classification(\n", + " n_samples=num_samples,\n", + " n_features=num_inputs,\n", + " n_informative=3,\n", + " n_redundant=0,\n", + " n_clusters_per_class=1,\n", + " class_sep=2.0,\n", + ")\n", + "X = MinMaxScaler().fit_transform(X)\n", + "y = 2 * y - 1 # labels in {-1, 1}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next step is to create a QNN, an instance of `EstimatorQNN` in our case in the same fashion we created an instance of `SamplerQNN`." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "estimator_qnn = EstimatorQNN(circuit=qc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2 Train QNN\n", + "\n", + "We can now proceed to train the QNN. The training step may take some time, be patient. You can pass a callback to the classifier to observe how the training process is going on. We fix `initial_point` for reproducibility purposes as usual." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "# callback function that draws a live plot when the .fit() method is called\n", + "def callback_graph(weights, obj_func_eval):\n", + " clear_output(wait=True)\n", + " objective_func_vals.append(obj_func_eval)\n", + " plt.title(\"Objective function value against iteration\")\n", + " plt.xlabel(\"Iteration\")\n", + " plt.ylabel(\"Objective function value\")\n", + " plt.plot(range(len(objective_func_vals)), objective_func_vals)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "# construct classifier\n", + "initial_point = algorithm_globals.random.random(estimator_qnn.num_weights)\n", + "\n", + "estimator_classifier = NeuralNetworkClassifier(\n", + " neural_network=estimator_qnn,\n", + " optimizer=COBYLA(maxiter=80),\n", + " initial_point=initial_point,\n", + " callback=callback_graph,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "image/png": "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gaQCtJlF+tllpwDt7sckWZOIyB5NAVpEZHj7EXC8mc03s8+ZWcTMrjWzl8zsNTO7AoJFUszscTO7nWBxHszsn2Y2z8wWmtnlsW0/AvJix7sttq1rtNtix37dzBaY2flxx37CzO42szfN7LbYKmAiInukzHQXICIiffoKsdUDAWJBuM7dDzezHOAZM3sotu8RwP7uviL2+BJ33xZb9vwlM/ubu3/FzK5294N7ONe5wMHAQQSrir5kZnNizx0C7AesB54BjgWeTvWbFREZCTQCLSIyspwKfMTM5hMs+14OTI8992JceAb4LzN7FXgemBC3X2+OA+5w90533wQ8CRwed+y17h4F5hO0loiI7JE0Ai0iMrIY8Gl3f3CnjWYnAY3dHr8TONrdm8zsCSA3gWP3pjXu5070/x8isgfTCLSIyPBWDxTFPX4Q+KSZZQGY2T5mVtDD60qAmlh4ngkcFfdce9fru5kDnB/rs64ETgBeTMm7EBHZjWgEQURkeHsN6Ii1YvwB+DlB+8TLsRv5qoFzenjdA8CVZvYasJigjaPLTcBrZvayu38obvs/gKOBVwEHvuTuG2MBXEREYszd012DiIiIiMiIoRYOEREREZEkKECLiIiIiCRBAVpEREREJAkK0CIiIiIiSVCAFhERERFJggK0iIiIiEgSFKBFRERERJKgAC0iIiIikoT/B47S978/91B+AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# create empty array for callback to store evaluations of the objective function (callback)\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "# fit classifier to data\n", + "estimator_classifier.fit(X, y)\n", + "\n", + "# return to default figsize\n", + "plt.rcParams[\"figure.figsize\"] = (6, 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The classifier can now differentiate between classes with an accuracy of:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.96" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# score classifier\n", + "estimator_classifier.score(X, y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3 Compute Local Effective Dimension of trained QNN\n", + "\n", + "Now that we have trained our network, let's evaluate the local effective dimension based on the trained weights. To do that we access the trained weights directly from the classifier." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "normalized local effective dimensions for trained QNN: [0.38001027 0.38667693 0.39017714 0.41507888 0.42307677 0.43341398\n", + " 0.44170977 0.44758111 0.46577231 0.4786767 ]\n" + ] + } + ], + "source": [ + "trained_weights = estimator_classifier.weights\n", + "\n", + "# get Local Effective Dimension for set of trained weights\n", + "local_ed_trained = LocalEffectiveDimension(\n", + " qnn=estimator_qnn, weight_samples=trained_weights, input_samples=X\n", + ")\n", + "\n", + "local_eff_dim_trained = local_ed_trained.get_effective_dimension(dataset_size=n)\n", + "\n", + "print(\n", + " \"normalized local effective dimensions for trained QNN: \",\n", + " local_eff_dim_trained / estimator_qnn.num_weights,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.4 Compute Local Effective Dimension of untrained QNN\n", + "\n", + "We can compare this result with the effective dimension of the untrained network, using the `initial_point` as our weight sample:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "normalized local effective dimensions for untrained QNN: [0.69803061 0.7130991 0.7203237 0.76321615 0.77452215 0.7877625\n", + " 0.79746712 0.8039319 0.82236146 0.83435907]\n" + ] + } + ], + "source": [ + "# get Local Effective Dimension for set of untrained weights\n", + "local_ed_untrained = LocalEffectiveDimension(\n", + " qnn=estimator_qnn, weight_samples=initial_point, input_samples=X\n", + ")\n", + "\n", + "local_eff_dim_untrained = local_ed_untrained.get_effective_dimension(dataset_size=n)\n", + "\n", + "print(\n", + " \"normalized local effective dimensions for untrained QNN: \",\n", + " local_eff_dim_untrained / estimator_qnn.num_weights,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "### 4.5 Plot and analyze results\n", + "\n", + "If we plot the effective dimension values before and after training, we can see the following result:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "image/png": "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L73E448/zg8//MDkyZOJjY2lZcuWzJs377D/lLUmAlV9uOK9iDQHJgBX4TT6Plzbfn77l4nITTi9gWKBGaq6SkSuc9cHbRcIBZ9Pue315XRslcS0y0+2IaONiaCysjIWL17MrFmzmDx5MrNnz+bPf/4zOTk5lWP633PPPSxdupQFCxaQnJzM/v37+fjjj0lKSmL9+vWMHTuWQCMN5Obm8t///pfExESOP/54br75ZpKTkyuHlk5JSeGBBx7gkUce4Q9/+APXXHMNn376Kcceeyy/+MUvAsZbMXR1RkYGcXFxLFy4EIAFCxZw+eWX89FHH7F+/XoWL16MqnLhhRcyb948hgwZUnmMmTNnkpeXx4oVK9i+fTs9e/bk6qurmlzT0tJYtmwZTz31FFOmTOGZZ57huuuuIzU1ldtuuw2APn368OGHH9KpUyd2797dIH+LukYfbQP8HvglzpSVJ6nqj14PrqqzgFk1lgVMAKp6pdfj1teijQXkFeznscv60zolIdRfZ8yRI8iVe6SMHu0MWVYxtHRtLrzwQpKTnR59paWl3HTTTeTm5hIbG3vQQHAVzjrrrMpxf3r16sW3337L7t27Aw4tvXbtWjIzMyuHgL788suZPn36QcfMzs5m6tSpZGZmcv755/Pxxx+zf/9+8vLyOP7443n66af56KOPOPHEEwFn+In169dXSwQLFizgkksuISYmhg4dOjBs2LBafyczZwYe6X/w4MFceeWVXHrppZXbH65gbQQPAaOB6UAfVW24ST8j5N3lW0hNjOOcEwJPVmGMaThxcXH4fFWz29YcYrpimObY2FjKyspqPY7/0NV/+9vfaN++PcuXL8fn85GUlBRwn5pDV5eVlaGqAYeWzs3N9VRFfMopp5CTk0PXrl05++yz2blzJ08//TQnn3wy4PREvPPOO7n22mtrPYbXoauD/U6mTZvGl19+yfvvv0///v3Jzc09aA6HQxWsbuR/cJ4m/hOwRUR+cl97RaRh57wLg3KfMnvNNob1aGdDSRsTBu3bt2f79u0UFBRQXFzMe++9V+c+Xoau7tixIzExMfzjH/+gvDxoh8NqahtaumJ6y40bNwLUOgdBQkICRx99NK+99hoDBw4kOzubKVOmVI5Yes455zBjxgwKC51r5u+//57t26s/HnX66afz5ptv4vP52LZtG3PmzKkz7pq/k40b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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot the normalized effective dimension for the model\n", + "plt.plot(n, np.array(local_eff_dim_trained) / estimator_qnn.num_weights, label=\"trained weights\")\n", + "plt.plot(\n", + " n, np.array(local_eff_dim_untrained) / estimator_qnn.num_weights, label=\"untrained weights\"\n", + ")\n", + "\n", + "plt.xlabel(\"Number of data\")\n", + "plt.ylabel(\"Normalized LOCAL effective dimension\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In general, we should expect the value of the local effective dimension to decrease after training. This can be understood by looking back into the main goal of machine learning, which is to pick a model that is expressive enough to fit your data, but not too expressive that it overfits and performs badly on new data samples. \n", + "\n", + "Certain optimizers help regularize the overfitting of a model by learning parameters, and this action of learning inherently reduces a model’s expressiveness, as measured by the local effective dimension. Following this logic, a randomly initialized parameter set will most likely produce a higher effective dimension that the final set of trained weights, because that model with that particular parameterization is “using more parameters” unnecessarily to fit the data. After training (with the implicit regularization), a trained model will not need to use so many parameters and thus have more “inactive parameters” and a lower effective dimension. \n", + "\n", + "We must keep in mind though that this is the general intuition, and there might be cases where a randomly selected set of weights happens to provide a lower effective dimension than the trained weights for a specific model. " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.24.0
qiskit-aer0.12.0
qiskit-ignis0.6.0
qiskit-ibmq-provider0.20.2
qiskit0.43.0
qiskit-machine-learning0.7.0
System information
Python version3.8.8
Python compilerClang 10.0.0
Python builddefault, Apr 13 2021 12:59:45
OSDarwin
CPUs8
Memory (Gb)32.0
Tue Jun 13 16:40:08 2023 CEST
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/_sources/tutorials/11_quantum_convolutional_neural_networks.ipynb.txt b/_sources/tutorials/11_quantum_convolutional_neural_networks.ipynb.txt new file mode 100644 index 000000000..df378bc6a --- /dev/null +++ b/_sources/tutorials/11_quantum_convolutional_neural_networks.ipynb.txt @@ -0,0 +1,1049 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ed021640", + "metadata": {}, + "source": [ + "# The Quantum Convolution Neural Network " + ] + }, + { + "cell_type": "markdown", + "id": "16dc439a", + "metadata": {}, + "source": [ + "## 1. Introduction" + ] + }, + { + "cell_type": "markdown", + "id": "bb7649f5", + "metadata": {}, + "source": [ + "Throughout this tutorial, we discuss a Quantum Convolutional Neural Network (QCNN), first proposed by Cong et. al. [1]. We implement such a QCNN on Qiskit by modeling both the convolutional layers and pooling layers using a quantum circuit. After building such a network, we train it to differentiate horizontal and vertical lines from a pixelated image. The following tutorial is thus divided accordingly;\n", + "\n", + "1. Differences between a QCNN and CCNN\n", + "2. Components of a QCNN\n", + "3. Data Generation\n", + "4. Building a QCNN\n", + "5. Training our QCNN\n", + "6. Testing our QCNN\n", + "7. References\n", + "\n", + "We first begin by importing the libraries and packages we will need for this tutorial. " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3ceca583", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import json\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from IPython.display import clear_output\n", + "from qiskit import QuantumCircuit\n", + "from qiskit.circuit import ParameterVector\n", + "from qiskit.circuit.library import ZFeatureMap\n", + "from qiskit.quantum_info import SparsePauliOp\n", + "from qiskit_algorithms.optimizers import COBYLA\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "from qiskit_machine_learning.algorithms.classifiers import NeuralNetworkClassifier\n", + "from qiskit_machine_learning.neural_networks import EstimatorQNN\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "algorithm_globals.random_seed = 12345" + ] + }, + { + "cell_type": "markdown", + "id": "a8875c12", + "metadata": {}, + "source": [ + "## 1. Differences between a QCNN and CCNN" + ] + }, + { + "cell_type": "markdown", + "id": "e3a65761", + "metadata": {}, + "source": [ + "### 1.1 Classical Convolutional Neural Networks" + ] + }, + { + "cell_type": "markdown", + "id": "d397710c", + "metadata": {}, + "source": [ + "Classical Convolutional Neural Networks (CCNNs) are a subclass of artificial neural networks which have the ability to determine particular features and patterns of a given input. Because of this, they are commonly used in image recognition and audio processing.\n", + "\n", + "The capability of determining features is a result of the two types of layers used in a CCNN, the convolutional layer and pooling layer. \n", + "\n", + "An example of a CCNN can be seen in Figure 1, where a CCNN is trained to determine whether an input image either contains a cat or a dog. To do so, the input image passes through a series of alternating convolutional (C) and pooling layers (P), all of which detect patterns and associate each pattern to a cat or a dog. The fully connected layer (FC) provides us with an output which allows us to determine whether the input image was a cat or dog.\n", + "\n", + "The convolutional layer makes use of a kernel, which can determine features and patterns of a particular input. An example of this is feature detection in an image, where different layers detect particular patterns in the input image. This is demonstrated in Figure 1, where the $l^{th}$ layer recognizes features and patterns along the $ij$ plane. It can then associate such features with a given output in the training process, and can use this process to train the dataset. \n", + "\n", + "On the other hand, a pooling layer reduces the dimensionality of the input data, reducing the computational cost and amount of learning parameters in the CCNN. A schematic of a CCNN can be seen below.\n", + "\n", + "For further information on CCNN, see [2]." + ] + }, + { + "attachments": { + "Screenshot%202022-08-09%20at%2017.03.09.png": { + "image/png": "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onvAiJdUelqrIN7imCVmayKbrfY5epWWlqn+eZmsVdIcjzIgXVFRJRUacBTjpylh2qVLV6Nxnq1kb5u8fOOFnqHEOjzPje55WoakKVmemade6JG5JHuqaa52HKwt2bb33HOP+aMWL8AC/mjdddddcvnll9vhzRmixfssAABAAElEQVTjQ9vKSrp88803vvpEma222kosiY52L7/8so9ER1m3bt3MIzn//ve/BbuXIOntDmJd/gBjzMa2QTturtIt+8oWmzZeII3GXmMqr7fFZl3krLF7y3bbRHcpU3k9ju1HYO3yOQJJImu99XWM+9G/b921x+xYPBMBIkAEiAARIAJEgAgQASJABIhAy0LgzDPPlEmTJrmLAm/24IMPGs7JLUwy8eijj4rXyROyx14v8ueee843EjzNoYnevn17X7k3U1xc7M0yHUHg7rvvNnEgLSDg+84991ybNeegXA8cX5MxOCIH9dS33XZbt2uQRP/tt9/cukQJEP91tdgC2r7RQB17D08luGV7eJskkbbdcI5ntg3qQWEn++Ofb02TiXf1JMsxPMycHW9wS0JDygWkNAj0DRvWS0HBen0jbzAe6CUlZVIVrjLe59k5WYY8z9fHHfI0wCY80aGBnpOTrecs0wZe50ZXXQNLmnQtPM+dCTbc7zVr1sgRRxwhF198cY0RirGTh8jGQdtxxx3dIryBoA2fjGETwmsg0eMZvPeHDx8uxx9/vNHSag4EerfObeXmS0bJg9ceRwI93o1NUN4mL9uQtXdeczwJ9AQ4pbrKEuh4gmL8mOFy97UnkEBPNegcnwgQASJABIgAESACRIAIEAEi0EwRgLxKkGy98847jfxxbZYEb/Zrr73W1wUEujdIaTAg5bhx4xIS6BjMG9zSN3grzkyZMkX+85//+BAA1kHpnJ122snX5umnnxbwijXZq6++Kl7vcnB6XtloONl6DU8LQC2jJkvEI9bUN0KigwHGURU52zTyzhEOVyoh7BxektoS3RjIppM7w/868qOXg+qJ90hDPvKjQ+sldR7JHmYtWENyB+YLD+90JahxIK0Mt3ug3g6FOaaHNKCnHkhD8zdciblBvEXHMT8qs6L5cpVdKSoqlcWLl8qcOfM04OUfsnz5SpV1ESXHcyW/TTvp3LGTdO/STXp07SYdO3QwB3a/8vPz1BtdCXUl0XNUxiUrI12vqfPTyaThWsqoew9L3GOqdTH0xxEvMKkdExIsRx55pLzxxhu2SCCTcuqppxrvb/yx6t69u1uHx2iCu3yo3Hvvvd022F0KvvHcykAiGJAAO00//PBDoFXzzPbp1UlevPdU2XdIv+a5gI0861wlbP9188lyyMidTLyAjTydVn/5fYduJw/p/ThMtc8Rv4FGBIgAESACRIAIEAEiQASIABEgAkQgFgKQ/L3yyit9VSDEDzzwQOXUFvvK42Ug/TFixAijAOFtA7lhry1fvtyb9RGzvopIBjzU888/H6uq1ZaB4AavB6lqr5133nnerEmDQ4ROujU8JXD//ffbbNzzTTfd5KsbNWqUTzmjV69e5n7bRnBihgxQIvvxxx/lnXfeSdQkYR2ZDYVHcTYe4wA8eAA9SzAjjXqQvjiQdohnh4B2yiv1UYYylWxZo8T57ybQJt5wVv8bAUEhsJ+Xl2cO6IPDYxpHrnqh50S80OGJjj8iaI+zPSDrgmtuLIM0i3cHDp7e2MV7/PHH5bjjjpPrrrtOPvzwQ58Oeqxdnj333NO3BLzQgV8iW716tfz888/VmgSDGFRr0EwK2rbJ0acQqH1e19uVqRtN7drm1rU7+zUQAlv17ir//NuxcuFp+0mHdnkNNCqHIQJEgAgQASJABIgAESACRIAIEIGWjAA8wr2exlgr9Mt32WUXgZdxIkM7yLIEpUIQnPSwww7zdfUGp0TFxIkTffXeDAhf9I+lsOBtFy9dXl6uzrR+0j5e26ZeDifZr7/+2mx2HHPMMdUCeY4ePVpAdAcNjrdBiZebb75Z/u///i/Y1OQhGX3aaacZeWbbAHzprbfearPu+e9//7ubRuKBBx6QN99801dmM9iUGT9+vOFybVltzyHVggmD5EUUU9zYNm1A6raXPlv0USI0QwlbZ0gQxtbC6oVtTOvgLQ6DV3bypr3MEO7gTld7DVOMwW19xAvdtEJ59EqepKcwZmm03pOK3zJK6FpivVL1y5GGt7Ylsi0uWqSyLaVG3qS4uEQfTVitOzLFRhsIbXGAAMeLBwQ6zpYwRxp1yIMsx/j2bK+DKXvTniU0WhJBPPHHy9opp5xiyHPMPWiDBg2SqVOnusV4pGKLLbZw83jzIViDN3AEyPZE0ZexC3X11Ve7Y9gEiHwvsW/LW/t5bVGFlJRXtnYYuP5GQuCTSb9KaVm5HDB8B/0bFv8vayNNh5epAwL4N15VogGi9WgbKpEMPJmFx59oRKAREKjQf1dFmR2lMiNHQpm6IYqnD2lEgAg0AQSc/wOV5cWSW7JSMqrKJTvTKavV178msBJOofkhUFFaKVX6/6E8rDHB2qkXY5p+77ScQfNbDmfcShFo2yFX0jPpv5rs7f/444+N+kFBQYGvC3inkRocFJwUDgSYXLBggXz77bcmbh6I8GC8Pki4wBHTq5aAQa+66ioBiWsNYz/00ENyxhlnuOoMIM+hmHDLLbfEJMF33XVXc+1YPN32228vM2bMsMMLAm2CFO7Tp4/ZJAAhvLENciqdOnXyTWPIkCHStWtXX5nN4GmA77//vhrGth5rRvBQOArHspUrV8qAAQN88ixod9FFFxkJ5oEDBxqvdoxx2223yeeff+4bBlzgDTfc4CuzGcwb5L413E/cN3jAIz4iHHKxyXLBBRfE3AwB+Z+sc+7GI9EN644PYPj4FdLfeo58ElO+2ZThtzH9ImXqNWNIe+dzG1jlCJ8eHceO5w4WGSLeyRnKDohW8EbX/8/Qk4mY9Tp3PM2rzJvKvlEc72m0DaveeYEJXoA3+7p1BdoOXuMq/aI3EJ7l8CqHho8lz5G3HucgzpHG2ZLo9vpN5fyXv/xFbr/9djMdaA9BRgUbArFs2LBh5kVq6/75z39WCzAK6Zfrr7/eNjGPd2DMWG9aBBPYa6+9BG88WN++fcUGDcAmBP4AxJuLe4FWliCJ3spuOJdLBOqJAP6TkUSvJ4jsXmcESKLXGTp2JAIpRsD5nkQSPcUwc/iYCJBEjwkLC5sZAiTRa3/DQNYecsghScu4xLrCJptsIu+++64hboP18+fPF3BaVjHC1nfp0sUQ3cuWLTMEvS3HGeoRQWK/W7duRms96P0Oz/V4kiGfqke9V97Ye43GTMci0et6fXB1zz77bLWnCILjYUMDbWPpoYM3heNyLIOmOoLOQtUjlk2ePFkOOuigmOOCg92wYUOsbm5ZbUj0JrAdpgS64aCjRDbyKEreIKsCTt0517Y32qMviHN4lOOw3ufBOcBDHAbyHI9l4IAX/8KFC2XmzFm6q7LE3KBwOGTkWbALg90d6P9g9wtvyo4dO5o3IOqsrAt2okCq48CLx2vx5uJt0xjpF154wb0MPMbjkdYvvfSSj0BHp1iSLnicAwS4taVLlxpP9OCjLtgxGjp0qEugY5fp5JNPtt3MTph318mtYIIIEAEiQASIABEgAkSACBABIkAEiAARIAJEoNkgsPPOOxvPYng318WsZzI8n2MZVBHeeuutasFE4bSJYJnwcPfaZpttJiC/QQB7DdzVunXrvEUmDY/21mCI53jjjTcabIIyPLHW379/f3n77berPRmAtvEI9DPPPNN4uMcj0NF38ODBhmTfwqN+gXJYLAJ9yy23dCojvy3P6yuMk2kCJLqly+05zky1OEqzIxPNWX9008J4pzslaFHT4VzNaVVVFVJyHAR6lES3ci1OO6ccNxePiVgJHOeNszZy08NKgmc4gUEj2ue42fA+x2G9z3HGjbKkOYhz692Oa1ni3Ht9W2bn0phnbBpgt85avD9G//rXv3wEt22PnSFvf5RjUyGoX/TFF18IHuNAQAk8wrHPPvvIiBEjzOMX6AOcUL7ffvsh61qQeHcrmCACRIAIEAEiQASIABEgAkSACBABIkAEiAARaDYIgOiG9zEkPOBVnoxB5uWVV14xTp29e/dO2AWey5AOgdxHPIOnOeICIhgleKo777zTeJ7Ha2/LjzjiCKO6AL6vqRr4yKADb6K5QjED9wHSzYiHCCdbOMJCGgd1yRo2OObMmWPId5Dw8QxBQxHM9ZFHHjEOyvHa2fJtt93W3E84/MaTlMH1rrnmGjOm7YczHJ2TtSYg5+KQ1s6EPUS6IcMjy4jIuXhJ5mhaCfMIn25OmvESz8kAATEZWFVV9PrhcGU1UhtEMq4LPW/on0MjCS8aPAJSBbE2tczMLJVlcYKHtmmTb/LwMrdSLXgTWeIcLzRLntv12LMZTH9512Lr7Nm2qc8Zj6N88sknAs1yBFeAvnisP1DwuPd6jT/xxBMybtw499LY3cEO0XPPPeeWBRN33XWXXHzxxb5irO/QQw+V9957z1ceLwNd9L/97W9mAwNvDEdORwTk/VlnnRWvW6ssp5xLq7ztXDQRqDMC+A9IOZc6w8eO9USAci71BJDdiUDKEHC+aFHOJWUAc+AECFDOJQE4rGo2CFDOpf63CnwU1AfgnAmpF2hcw7EVUsBQfejXr5+Rf4HHeG0NfN7MmTMFMQAhLwwDgb/NNtsYDfYgEQ4eEOT+kiVLDKEO4h6EbywDTwZpYvBuUKiAtzbUKWgOAsAHEi/Af9asWYaMBy+JJxEQJLau3Cfu6TfffCMfffSRicMIB154nx9++OFGYhsbANCpt4aNEkhQJ2OONkkyLVPYBiS4oa8jHLYlxd1LakGEJzce6G7abeAknDEigwTqEmWNnIw2wA1yvNAdshx9UAaiFocltIuLiw2BDp0kvHHDJvhV2JDMubnZRuYEpHl+fltThh0eENAgzb0EOsb2PjaA8YMvkmA+0TpqU4d5X3fddfLggw/6dJ3gNY/dtSAhjXnjDxQCgYJkxx8paz/99JMgMi9e+Nbwgsc40Ea3BpmXIImO9T399NMCDSLItsQz4AQCHS9uGDYmvNgUFhbG68pyIkAEiAARIAJEgAgQASJABIgAESACRIAIEIFmiAD4KDh84mhoA9cEmREcyRicOQ888MBkmhrCFp7btNgIQK8c3CGOhjTcU0hC44hl06ZN8xXjiYNkbeOR6EqeOmIregJ5HGvGpk2sitSUWZLcCQbqXMNKt2DnC8QzdpDsrheIdYcUT1PiPFflWrI0n2O8znNyQKbnKkkelW0B6YubaR918JLAuFown5pVioD8B2mNnZmggYw+++yzze4YHoPw2p577mkiIONxDft4BIjxP/3pT4KNBWsYG8Q42ngDgOJRmUWLFlXbpUPEZETeRdBS6Cl5NYuA1ahRo8wjIrvttpu9hKxda+VznCLsFNKIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAEWjZCICnhbOvDRALZ2Z4tMPrP56Bb3zsscd81SNUQjpZS164JtkRk2xnKXQfeQ7SPEKue+vhh+798V8CnufeA7W19Ub3Xi0yBYyi5D5uBqRboH+OxzYQNABplIH0hod5Tk6uiRKbm9vGEOe5uQ6RDoIdpDkOyLZYAh39QA43FmkORKzhRXbsscfGJNBtG5wR9BOyNV5744035NZbb3UJ9BdffFHGjBnjEuhYzz/+8Q957bXX3DbQgrIGPKFPFcuAxxVXXGHwhd4UZGHw6MXixYvl9ddfFy+Bjv6QoPEaHvegEQEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASLQshEA5wotdDgD44DD8z333BN30eAkr7/+ejfmIhpCDmjXXXeN2ydYsdFI9OBEEuYj3Dr4dXt42ysOcGZ3D29dMmk7JkhgS2zDAx2EM8jyVatWGb2jhQsXGk90eKCDEMcNg7c1Dsig4IzHEaCFjjz00b1EuiXO7TXsOZk5og1uOA5cv6529913C4J3WsvLyzOe3giS4DUE6nzmmWe8Rb40iO2xY8e6EXSxXkQ3hki/d13BqLcvv/yyGcduTPgG1Qww2mGHHYw+0ciRI2NG7cXGxl//+le3Kx6PgV4VjQgQASJABIgAESACRIAIEAEiQASIABEgAkSACBCBlo8AdM69BnULOP96FS7Ao0J+GsFkoYDhtfPPP9/HYXrrYqUTkuggQxMe8A+PENux9Vgil/SQ3257z2y81wCJasjmiKe2qTMEOchjJ/gnzpZQNsy5joVx0/SXdtO0jhE50N8aiHaYQ0SHlQDGQE571MFbHNcuLy8zpPkff/whM2bMMBIk8EKHtWvXzjwuAGF6BA+Adg4CA7Rv38HUOSQ6pF1yjTa6DSqKse34dr1mwFr8sv0wx7oYiOs77rjD7YoXEAKjvvnmm/Ltt9/KiSee6NYh8eSTT/ryNgMPdUi+2EcmEOH2ww8/NAFCbRt7tm1s/ssvv5TrVIsdWukIBlpbw72Dx/pvv/3mdr300kvdNBNEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACLRsBE4//XSf8y04QzjdwsMcihUI/AqHZ3isg7f0GhQvwC/WxurGxrpXAEFtD7cwRsK2sWc0QTpZc9hvDfGpvZB28tHe3rEQHNS2Uc9tNDJZp8yQ+EpCg4d2yGiQ85VKqFcYuZbVq9fI8uUrZM2aNcbr3Mq2wKMc3tbw3AZRjgNpkOTOkWO8zh3Pc3igQ8Jl40i2YMlTp0410iqQZXn00UfNeuApjsCgMBDoyOPFBAPB//DDD0vHjh1NHr8QcRhyKkF74oknjK66LUdk2yFDhtis74xreA33BpIvU6ZMkVdffdVb5aaxcTFu3DjBJobXsJEBeZi77rrLLYY3vDeqrlvBBBEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACLRIBODhPnDjRODd7Fwh5lx9++EG+++47I/XirUN6v/32M5woVEZqY7VrXZuRI2299HYduvtHAQPuEuRaZbzM7RXs2eliyHOw59reSTvljra6psGia0WlurVXVjjSLQUFa43e+bp161XGpcjIpsD7G+L0jvZ5jiHOkQdZnpPjaJ+DjM/IwOEEDUXeIej9c3JmkNrfCPB58sknV9MeB3FtxfUxtzvvvNPM1zsbeNmDvIbkCwyEN4huPN7gtUceecTN7r333nEjEyOI6Mcff+y2DSbgTY5r2KcFECwU83zggQeMlzu81uE5j+Ck0EdHev78+e4wKK+LN7s7ABNEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACDRLBCAJDUfd2267zShqgBeNZ/BOHz9+vJxzzjkR3jZey9jlKSfRY1+2lqUhJVojVDgIcRDhUbMkrFODKqWw1WfdaL4YCRj1NTc9IPMCQ0uQt2mhDCXQy41WDmRNCgs3SFlZuZFzAUmOA17m8NYGQQ4iHR7oOMNz27ZJSwu5XudWcsVcqB6/IK8CXfJDDz006VHgqT1q1Cj57LPPqvWBR7n1Kj/ggANk++23r9YGBSeddJJLoiP/0ksvVSPR582bhypjQ4cOtUnfGfiedtppRlcepP1VV10lN9xwg9sGGubQVbcEOio++OADXxCAOXPmyJFHHun28Sbw2AXmhvtBIwJEgAgQASKQDAKV+r9+/QUXikbOlpBGbW//1JPJdJOK3+dKxffTJa1LV8kcOkRC+n+tpVpYP3SuG6PybhobJtSpo7R76CEJ6ZN4TcaWLBQ542i9h/rhuHM3kRcnJjW18A9TRWb8KNJnKwntvpfTp7hIZLR+jtG1SueuIo+/LpLvPKGX1KD1aVTHddhLhr+fIvLrTyJbbC2hwcNsces4b8z71joQ5iqJABEgAkSACBABItCsEOjdu7c8pN9b4Jj79ddfGwfcBQsWGE5yk002kZ49e8qAAQOkf//+9VpXSkl0L9Xtm6XxIPeV1JCJjuSkQINbs3WRs5K3Riom4qWeloZgnOlaBiIeVSGp0IChZaoPXqxH4YYNeqxXD/RiBVe/RGmr7Owc9TKHt3mGkXABUQsSHQdIdetxjrPVObffp72kMC5XW1u2bJnR73lS9cgHDx6cNIkOL+7999/f7L7UdE3svMQz6AUhGOjvv/9umsAbHHPCIxIw7OisW7fOpPELdbHslltucfWGsBGAFzJerAhqesghh5i5YhPCa8cff7xAKgZkeiI777zzjKQLNjNoRIAIEAEiQASSQQCbu8X33Y9/ZKY5yPCazPR57D9SPnWa5Bx7jJ6nSsWsWZJ32qk1dW1S9eGyMik462zRDzqiH24k/8YbJF3jusSykH7OyRy+l5R//ImEV62W4scfl7wLLojVtPHL8Bnvjmv1Hir5DRu+n3NO8DtcVipy899EVi0XOVI3B15/XsLLl0po1LEiuXkiIw8W+VCl51Zq/SN3ilx6XYLRGqiqDuuwVzbruelKkdWrnPW8+qyEVyyT0KG6sdCcDffpT6NEvVlEvVVE/vmoyGZ9Yq9oY9232LNhKREgAkSACBABIkAEiEATQaBr164SDDbakFNrYFcqL6GtaRDZhsyOThktbKtoaS1SZoDIuGb8aF/Q5/heAgEXdV5XT3PV+lZ2W53GHfUWzVeodEtxcYkUqNf20iVLZIl6aC9dukzlW0pNm6wshzhv166t8UCHF7r3AHGLAwSwJdbhad1QHujwvAaRjC/ukydPNkFNoyusnqpClFU1PLaAxxesgbBG8M+tt97aFrnnLbbYwk3HShx9dPSLGMb3apdDygZa8NbgDe4l0sv0yw8ejYDnOQzYwAMd+IAkh1QLSPQggW7He/bZZ2XHHXe0Wd8ZuuvvvvuuGYMEug8aZogAESACRKAGBMomTJQK1cUzpv/Lco47roYeIkX3PyBlSia3vfkmyd53pOSde46U62Zwc7OKadOUaF0hYd1wN+eCgoRLyDn+BOeDk7Yq++BDqfhJPZ6bgr33msh3k52ZaAB3GTs+4azCGu9GrrpA5PdZIrc/KiEQ5udcJvLRu9F+J53lrlXeeUUEHt6ptlquw07HrOev54v8oY4Od2A9B1Vfj23c3M7ffqWeGUtE1qxyziqxmNA2xn1LOCFWEgEiQASIABEgAkSACLR0BBqYRIe0Cnhz5ww6G6ZFUZI5QKqbBin6ZUh1vV6l8swVlWEpL6uQeX/Mk1mzZ8ks9SSD93aFPsJrNc/bt+8gnTt3kW7duql+eGcTZBMEuhM41AkgCvLWkufwQm8o8txCMHLkSJs0RPprr+kXxhiGuV900UWy1157mXXcf79610XswgsvNAL6CBQKYn2rrbayVeYMrfJEdswxx/iqX375ZTcPUtxLchfoF/F9991XnnzySbn66quNt/ljjz3mtkdU3ESe727DSAK67ZjzM888I5dcconA6/y+++4zGwpfffWVHHywfgGmEQEiQASIABGoBQJVunFeohvU1rJV+iytQwebjXkufeddQyDnnn6apKmsCSyknwHCJeox24wsrJ9zSl6K/h9PZurpvXoab3TbtuihhwXjbFQr0KfgHo0GFjde5R07J57So/eITPla5PLrJATSHaae9voIopPG7017i+zj+Wxx740q76Lke6qsLuuwc3n4TpFp/xO57B8S0qcmjWFdGjipWRteW8/+p3ZLaOz7VrvZsTURIAJEgAgQASJABIhAC0SgQeVcHK1yUNegzWGGUXeSKf4ND3SYQ+KrJnpVpYSrIOFSJRvWF0hhUZGsWq2PJReVSLnqoDsW0u9SOdImL1e91TPVwzpXCfUsI+ECKRcQxiDNo5ItTsBQK9liz5HBGuQEL/CbbrrJHQtkedAmTJggY8eOlRXqVQZDoE9EnoVdeumlJgCnyeiv9u3bGxLaq60+ffp0Wx3zDBmZzTff3A3iCY11XAuPRcBGjx4t33zzjdv3559/llNPPdXN2wTW4tVBt+U1nYE51oeDRgSIABEgAkSgvgiUvviihJVIN6Ze6NlHHpFwyEp9Uq3oP49L+hZ9JEs90K1Vrd8gIf2s0FwsrJ99ivQzQuXMmbWecs6xx0r5p5+ZflUa1Lvs7Xcke/ThtR6nwTr8379FQEDDQBwf9ycnHee30UB/8SmRoSMltOMu0VaQQWnvbIq4hSeeod7p7zjZeXOM5IscfZJb3aCJWq7DXjs8/VuRV54xEjahHQbYYpV1Wanr6RDNN7cUNjTuv0X16iNPidRm/o1532ozL7YlAkSACBABIkAEiAARaJEINJwnumGvgZES5w1uEYY84tnuHx51EHCxPyDSwxojqlLKVPsTsi2rlYhes2atrC9Y7wS61LmCLM/SIycnR4n0PEOc45yjX8ygiW6Dhlr9c69kS0N7n3vXM3DgQOnTp4/gDP1weHcHDbrklkBH3ZVXqjamGgjzv//97ybt/XXggQca73pbBs1xr665Lfeevd7owNLrEX/uuee6GunePt70mWeeabzJU7HR4L0O00SACBABIkAEEiFQpZvApUoAW8vafz9J0/+Xiaz4ESVsVeYtR5/M8v4fq5wzW9L1f3RTtSqN81I5d66U60Z38TP/JwVnq/zMRx/XabrpGpwnQ+OkWCt54QUBKb9RTDXM5fXnopc+SDdBgkR4tNbxmr9bPcphY5Ug99qsGSJbbuMtEQTnlN2GRsuefkS1fBznhGhhA6RquQ57RSPjck9kPSCOvRZrPd76ppZerxshc3RTZ9KnIk88KDJON2Y+fLNus2ys+1a32bEXESACRIAIEAEiQASIQAtDoOFI9FQCozy59TSPdRlTh1+RAycQzQUaAHP27Nkq3TJbFixYqHroFUb3HPIsHTp0lE4dO0q7du2UQM9X6ZYOWtbe5FEPIh0e0fjy7JVt8ZLpsebSEGXQ/YakybBhw2IOB1IcMjNBO+OMMwyRHizH/KG1bg265W++mfgLi5dERz+vpAvI+nfeecdHzNuxe2mgsueff954x2ODgkYEiAARIAJEYGMiUIr/dwioGbHsgw6yyZjn8p9+lvJvv5VQ506SuZf//3D5t1MlQ6O6N1UrfuBBWX/BhVJ4w41Sqv+Lw/oEXn0se9RhbvewyreV6v/+jWLwwC7XgJPWDvPLztli9zzhLZF5s0X67yyh7XZ0i03imy9FBu3pL0PuyDHRMuhxe0n7aE39UrVdh73a+/oahg76DgMl1K+/LXXO36hG/64x1uNv1XRyd98gMl7v39UXiDz9Lw346jxVWecJNsZ9q/Pk2JEIEAEiQASIABEgAkSgJSGQUhLdeGw3IFqGLE80njYAUT5TH1ueMWOGEuizVOZkg2RlpEueyraA1O2gnksggUFCd9YvyCDSkYcXutVGz8jIVOIcAUnTjUc6zvBIxzloCAAa7wi2TTa/3XbbGSkZ237lSn1U12OY5yjVcw3aTjvtFCxy84lIcbeRJ7HHHnsICHFrn3zyiaxatcpmZddddzW68v/617+MNvutt94qH3/8scyZM8cEEHUbMkEEiAARIAJEYCMhgP/PZV8oaRqx9H79avQkL1HpF1jWPvtIyPN/P6xEfLnG5sga5vFYjozbUk8Z+r8+5NGOL33zLQEOjWr48PfpB9FLbqefdbbsG80HUrjnrr42PNY9Fl6rmwozfxbZZXdPaSQ5eC8Rr8b6q//n23yp3qGWJbVchx3dWc9jTvbgwHog5TL7V13PYNu89Z1Tfd9aH6JcMREgAkSACBABIkAEiEAcBAyJbj6gx2qg30OMggrO1tQz25Fs8cu2eEtt2naJdcY1vcPGauOW6TUh0YLrhsNVhrTGNNJMOcrCUlpSYnTBC1Qvc4M+zlymj2FX6Bc9R9c8Wwl01UA18i1Z5mzkXNTTHJIuWVkZSpKnG5Ic5LlKoZt+3ke43bk0YsIGD910001l+fLlvisfq1qlQevRo0ewyM2PGDFCNw2iAbgg6bLe6sO6raIJrB2a5tawOfH666/brDnDi/+ss86Su+++W6644grZRwkHEPw0IkAEiAARIAJNAYFK3VAPezais4YPTzgtaKFXTJ1m2mSP3MfXtmzCRMkYOEDSdPO9qVraZps16NRC+oEoc9Agd8zwmjVSMf17N98oiZ+ni6xQORdrIw+2qdhnBN5cME/0g53IiAP9bZ5/QgO7HCchdZaoZvjwt7sS6dZAUE/92ubqf67tOuwVv50ksniBqFeHyN4H2FLnjPUcMUY3e3St9TXozZ98qHNcNl70g3R9R4zdf/MtY5fXtTTV962u82I/IkAEiAARIAJEgAgQgRaHgH5jCBjYaRxqVmXc0t0oRfBQVKelhcxhvM21IBRKE3zZ8h2RccxggV9wyPGy6HYcNDMEO0h20whkuXOEpFIrq3QGVZKuhenpmE1YSooLZenSxfL777Nlxi8/y9o1qzSwaIXWp0nb/DYq1dLeeJ13Uc/z9u3bSft2bc2BgKI4EFw0JydLv5+ASAeJ7ki4wPPcyrfYOQWWoevG2nGkVzuCbWuThx5637595d5771VZ1lKfJjnGOUgfR8/Pz/cNCfmZeAZP+iOOiHowYcy33347XnNTXlvv9YSDsZIIEAEiQASIQCMjUPa5Sl14LH27bT256snSd98zhWk9ewo0wa2FVQat5OVXjEa6LWuK59yxJ0r7V1+pdqTrE251tYzdoiQ6xiifPLmuQ9Wt3yfv+/v1H+DPB3Ovv+CU7LKHhPLburVhkOIf6f0dfYJbVi2xR2CT5evPqjWpc0Ft12Ev9GZkPSrZElL5QWthyKB8oh76hx9ni+p3rtLP2IvmOwc2Itatrd948XqPO1fk/SnVj5rua7zxUJ7K+5bouqwjAkSACBABIkAEiAARaFUIVCfR4ywfRLGyxG5tNVI5Qnrbcnt2OwQShgD3XN22r6pyPM2VQTc9kC9Xj3LoeIPQBrGNuRRpcKvFixfLXA2gNWvWLJOG5zbaQqqlo3qK4YBUC84d9HFkeE6DeM7LQwBRBBTNNXItlig3a9Sr2nNgyo2aBentDR7q1STHRDD/Qw9VjyGPTZ+u3loJLOi9Hhwz2HXo0KHi9W6HXEuJevzTiAARIAJEgAg0dQTC+Pyg8iuu6UZz+pZbutlgAu3LJn5kijP33MNXXfLsc5I5dIik9+rpK2+KmRDiuQQO441Qx8lmaqBz/fDl9m5UEl3viXz2oXttfXxQZOt+0XwgFV63RgNWfuKUDhvpr33gVvWyHu8j1v0NNAdtca9Xd0OR6LVch51XWJ1CxM4huJ77bhH509k+Yt32a/Jn3MfgAY/yulqq7ltd58N+RIAIEAEiQASIABEgAi0SgaQ+sUap8+oYWC/16jU1lWDUyMgRwtz0UILcR9hrPl0J5Ux9jBWEOgKGQq4FBDMO6HQjjz4glkGggyhv06aNOVvSHMS5Jc/hsW01ztEveNQ088aohyY5ZFysffrppxLURg+S4lOnTrXNY55HjhxpNhRs5XvvvWckcGw+eMbmwlFHHWWKB+qX6I8++shgHGzHPBEgAkSACBCBpoZApW6wQ37EWvo226iMR3zZi4pfVPpFg2fCvBImFRqgHLrquSeOsUO1qnNIPz9lbB/1ZA/r564KjX/SKDbzJxF4kFvbdgeVaYkhxWLrv/5M9MOik/NIs4S//Fhk6RKRw6pL4dmu5gxP7x08nu4rl4nMmuFrUqdMbddhL+Jdz+BokNvw5xM1IKfK/B0ald2zXVrlOVX3rVWCyUUTASJABIgAESACRIAIxEOgZhJdSWZlmeP190myxG+UqMah4S0Z71wuQqSjmxLs0D6HBzq8zAv0C+7q1asNgQ7PcxDoINdBjIMwh8e5JdEtcY4zvM5BsqMdCHkr1WK90HEpS6YjXR+Dfnh9DXOpSZP84IMPNhsD9lpvvvmmkX6x+eAZ6x49erRbjA2Jd955x83HSpx++uny6KOPypQpU2TYsOgXuFhtWUYEiAARIAJEoKkgUKX65l7L2LafN1stXf7NN06ZflawpHFYn3orvONOaXPpxRLSzxGt1dK36etbeqVuODSKLVItcK8hqGgi++pTp3bzLSTUrYdJh5fp6+DBf4pcdauRHEzU3dSBqPfaT995c3VL13Yd9ipfRbzq+2wloa7dTWl46SKRh2531pPo87kdo7WcU3HfWgt2XCcRIAJEgAgQASJABIhAUggkJNENqZzEMJBiURGWqJZ5En1ME+0HJ3QcEnaI+nTVFoeZItU/r6iolEL9EgvifNmyZbJo0SIj3bJGvcsqKysNIQ7i3JLnIMoh24IDXunwSEcZAl6CRLYe6CDPYVgj0jZvCuv4C3O68MILZffdd6/jCP5uNWmSY3PgkEMOcTthgwEBQxNZTWMG++6yyy4yfvz4BsEnODbzRIAIEAEiQARShUDVSpXC8Fhal66eXPVkeeRproz+2xuPdXy2KbzrbsnSoNkZ229fvUMrKgl1aO9bbdWa1b58yjLwBPdahBj3Ftk05HhkyiQnu4vzOSyM4JjXXSIy/iIJ9drMNk187hANwm4aQnu8vlaLddhLhSvVIWOqapPDVN8dFi5VSb1rLxU5+xIJbbKpKeOvCAKpuG8ElwgQASJABIgAESACRIAIeBCI/1yzp1FySdDeETOseCRtuHG/JzscZ6wGOjzQUWu9wKs0eCg8zuFdXlZeJsWFhbJ27RpZpwGO4OGNcvSFZzkIcpDjVrIF3uU4UG49zC1xbvO4DsyeTSaJXzW1h774Oeec40qu/PbbbyYwaBJDx20yZMgQ6anBzaD9DoOcCjYTOnXq5PaBpItX2xzpww8/3K0PJvbff3+jE79u3TpT9e677xqJHOBJIwJEgAgQASLQUhCoWumRAdFFhQLBuL3rDGuw7aoFC01R5o47mnPxE0+qrkum5B7fQIEbvRdsZum0dn4S3SuTk9KlrAiQ6G3bxb/cgnmikead+gG7mc+KcvPfVOdcA4yOPCh+v2BNh47+EuiS19dqsw57rflzRUCawwYMErNJcNOVIrsPk9CIA51y/o4ikIr7Fh2dKSJABIgAESACRIAIEAEiIA1IogPNKJEeTak0i6dcv8ZG2kXOaAhi23DbSqlXhdXDvNx4oJfql6FCJdEh2YIziGzrSQ7y3HqY44wDBDrqbRvrYe4l0Gsiw7GKuhhIc69mOcjsv/1Nv7zVwzBvaJI/8MADZhRsIrzxxhty6qmnuqMiuCgIcEizwCDpgiCskK2JZSgHyf7000+bauAKbXSrfR6rD8uIABEgAkSACDQ3BMKrAiR6W9W7jmOVc+e5WtrwRC95402p/PVXyb/xhjg9YheH9Qm59eedL+oNELtBHUozdthB8i6+qA49G65LSIO0e61q9RpvNnXpauSzfx6+C3u1y3fcReSB25yAqKdf6GtWY6Z9gERvCE/02qzDTnDWrzYlgvXcf4tIdo7IqedFy2ub0tenqINKTAsGjocXv92UCHbA53bMpSlZKu5bU1of50IEiAARIAJEgAgQASKw0RFISKIbwhnkttezPMaUUR3SX/iBGT484vEdo7lbZMltFJSXWy/zKvW2XislJUVKSq9SL/S1SoqnS052liHKQRjDuxxnq28OAt3mLYGOMTF/eyCfSoNMylVXXeVewkuil6qHG4htyMvU1jCuJdHRF+N6SXR43UMb/dVXXzVDw8N84sSJPpmX4DUxpiXRUQfinSR6ECXmiQARIAJEoDkjEJRzSeSJXjlvnrNU3YyvmPO7lH30sbS95SYJxdmQjodL1R/zpWqh49Eer01ty0N7NIxEXG2v620fUok8rzWeJ/pS72VFEnmi//6b07ZHL5FX/k9k0XyRG+81nwP9g9SQC5Kxq/2bMTX0jl29ohbrsCPMmemkeqoMzQtPamBUfSqxLuux4+H8lzNFvpvsLYmfPvnQ+HXtOoi8/kX8+o1Rk4r7tjHWwWsSASJABIgAESACRIAINFkEEmqiu7NOQIjH4tdBpVtC3RDw1RppoNA0pdq1vLKyyki0FBZukDWqsTln9hyZP/8PWbZ0uVZXGWmWtuo9ZvXNoXXeXj2i7IG81T0HgQ5iPmhWOgblNo2zlYYJtq9Lvm/fvrLTTju5Xb/77juZM2eO8RzfXrVUb7tNPaLqYHvttZd0797d7QmCHBsLXqutzvmBBx7oEvpjx46Vm266yTsc00SACBABIkAEmj0CCArqtZA+wRbPvNIvZRM/kvybbpCQblLX1ip+ixCfte2YoH16v34JahupKt3/2Qoe941iRYX+yyTyfrbe3quWi4CAvv4e1bbP9PdPJhdYq35QTaZX4ja1WYcdya4HBPy8Oc560hP6vtie8c+QiGmplor71lKx4rqIABEgAkSACBABIkAE6oRAjZ/GjVe5Z2jH19wW+HO21JxRFezsaQBevcoEDq1Q7fMKKShYr5IkJbJ+fYE5pynJnpuRq0+Lqtd5TrY5rAc6zvA+hye61UEHeW4921Ml2eKZfswkyOwffvjBrdtzzz1lxQonINWLL74oN954o1uXbAJrgpf4ww8/bLrAox2e46eccoo7xGGHHWbwKIk8igvJF0i/YFMhlkEK59prrxXMD7rrNCJABIgAESACLQ0B4z2twcithQv9pLotxzmsn0FgaT16GAI9LYF+umkY5xcCkOZdqoEfG9AyNMD3xrawyup5La1zJ282dWl4PHtNHS7imsbOMbb9ziI3qAe6flask+nnUJ91ThyQ1tc2XqY267BjFDixa2SHgQ6BXtf12PFa+jkV962lY8b1EQEiQASIABEgAkSACNQKgdgsa6wh4I3u8Sj3JE1rQ6drYZTAjjDoxosdsiq2u0O8l5aVq4RLmcotFsuy5ctN8NCKinJtl67BQh1yHOR5pnod5bfJk7b5bQxhbrXPQaBbz3MQ6ZZAD049Op9gTTQPr/SgJdMv2Ack+jXXXOMWWwIdBbNmzZKZM2dKvzp4lGFcS6JjrJdeeslHosNLH97lIM9hCD76ySefCIKIxrNLG/hLfrzrsJwIEAEiQASIwMZAIK1jRw1VHrUqS0pGi9xUVYSAzdhpR6krgY7B0jff3BzuwC0kEV7vbDLY5aR17mKTqT13ClxHA83HMvM5bl2kbs+9606gY/Dg66Rr9GnAWNdOqizJddixzHrWrnay9V2PHRTne5+SuJ7165W0P/+kaOt7nhTp2Dma96bS0r25ppFOxX1rGivjLIgAESACRIAIEAEiQASaCAI1kuiWHMcHehDL5lDv6HBVlVFAB/8Mghxe5eGqStUrz4pooiNGV9jItoDgTtdHUCsqyvSze1iDhJbIggV/qAd6mdFCL1EP9JCkad8cJcbTVZ4lz7SHznlubp7k5Wng0AixDsIcc7Da55Y895Le3nQinJNtl2gMWwdpmC+//NJmfec+ffrInXfeWScCHQPtvffe0rVrV9erfcKECeq5XyCQsrEGot2S6CiDdnoiEt3245kIEAEiQASIQEtEINSpo29ZYY0ZEsuKn3xKyv/3jakC8U6rjkDQEz3UJUBuV+/SMCVBL/B1EWLZM3pYHTDk1qtF5s5ySuMRv54+CZMbAp7oXXskbJ5UZRLrsOOEEZT2Fg1MP/93p6i+67ED4wx99XhmSXtbv8mmIg2xgWDHS/U5Ffct1XPm+ESACBABIkAEiAARIALNCgG/yGWiqYMpN0dEVzzQNhSCnEq6IdarlFkHgQ7iHWfonpeqDMm6dRtM0NAVy5fKhg1FUlxUImWlZRJSkj0rN0ty2+QarfO27aB53s6QxPBCz41It0DGBeQ5zl7v84YkwwPLSiq7ZMkSGTRokJx5pgZsChiCfs6YMaNegTux1iOPPNIdGYFK33rrLTePxKhRo4y8jS187bXXFHevD56t4ZkIEAEiQASIQMtHIK2jX3IkSKJD17vwrrulavkKyR1/hgOIfh6hVUfAyt3YmrQucTyUbYOGOgfJ54Anehha41eeJ9K9p8jRES/q+t7DVHg017AOC1cYcjVXniPSS8nuI090ipui17edcFM6p+K+NaX1cS5EgAgQASJABIgAESACGx2BpL8tKoVuPMxxNo+ZmqlHS9OUYAfZq7URD3VLolept3m5FBUWyloNHLpq1UpZvmKllJWVSoV+gUXrTCXG85Qob6Ne5wgY2k61SNvq0aZNvuTm5RpyGOS5PXAde8AT3euN3hiE+jr1Zrv88svll19+MSjk61xBlMeyZcuWGb3yWHW1KTv22GN9zSHp4jXgdsABB7hFkJKZNGmSm2eCCBABIkAEiEBrQiCtVy/fcqv0/7HXiv/7tAkemnf5pZLRf3tTFdanvOJZ5fwFUj5larzqFl1eOTfiFR1ZZVpjeaJv2tuP69Koxr2p+KdK6O0+TELj/yyyXSS4u5V18fc0ufCP0yT8608xajxFs3/1ZDTZEN7YNa3DXvE29agfMkJCp1+o69nRKU20nh+mSnhmDeuxY7f0cyruW0vHjOsjAkSACBABIkAEiAARqBUCCUl0I+HikXFBHnIsME2CL1cy25F4qVIpl7LyEiPfkpWpuuYaEBTOM2sLVsvSZYvl97mzZf7CP2SxfgFaV7BGsrKVOM/LNlrnnbt0lC7q1YRzm/xcyctX73P1QM/J1QCiudk6VpbqpGcbMh1a6NYTHYR5Y5DmZsH6C5Itjz32mPTt21fuuOMOee6550wVNMnhcQ4bOHCg9PJ8cZ82bZrMnTvX1NXn14gRI6Rz56jn1wcffKDe/Oqx5DFIusBA6t9yyy0yePBgTy2TRIAIEAEiQARaDwKZAwfgQ4q74PJp37lpJHLHnih5Z51pPkek9+kjaZtsIpW/+8li26F8+nQpeughSd9qS1vUqs4VXkcBdV5I32abxln/rnvqPfQoD34bcA74280SOvYUZy67aaD0nFyR2TNjzi08QZ/ge+5xkd413MOfp0f744Nsvx2i+bqmalqHHffq2yRkPep3Gyr6AVjXE9tJI/zBmyIvPKnr2cr2bt3nVNy31o0oV08EiAARIAJEgAgQASIQQCAhiW7aqrO5VXJxxM4dbfQ0kOd6hFWuBZItafpFFUR3ZbhSikqKZfXatbJ40SJZMH+hLFy4yOh5V6msS7Zqpnft1lXaqVxLx44dpFOXTtJJH7luo4FD8/KUPFfPc4c4V/Jcx8vIzDBe5yDLvR7ngXUY73iQ/FEv+WCL+ueXLl0q48ePl+UaCBUG3XFr55xzjjzyyCMyZcqUarIur7zyim1W5zO88I844gi3f0lJibz99ttuHonRo0ebayOA6ZVXXmnw8zVghggQASJABIhAK0Eg1KaNepj3d1cbXrVKKj2b2iHdlLeGzxi5J50oFb/MkMp5f9hiCasUXfHTz0jJCy9J/t+vltaomV6ln3nCq6Ja5BkDBkiaJyaLC1YqEvltRXbaJTrySn2aYE6UJA9lZbt1IX2aUU44VeSLjyS8ZpVbHlat7PAd14l8/bnI9XeLaefWBhLLloisdD7jmZpd9xBp3yHQqA7ZGtZhR/StR5/GlOPHiXyu6/HolYc1AGj49mtFvv1K5B93SQgbB63dUnXfWjuuXD8RIAJEgAgQASJABIiAD4GaSXRfc29G2XVl1Y1DOn6ZXMhIt5QqwVukXtIF6zdIUVGRIA99bhDimdmZSpSrl7l612TrB/8cPTI1aKird54B3XM9lJQ3Ui2qtd7YHufOaqr/7tmzp8+7+9dff5WffvrJNEQQT2iiY85HH320r7OXbPdV1DJTk6RLhw4dDJGPedKIABEgAkSACLR2BDIG7+aDoFw3uuNZ1ogRknPiGFl/zbVS9J/HpfD+B2T9pZdLSJ/uyr/xeiP9Eq9vSy6vmOGXN8kcvlfjLnePvf3X++YLf96bO+lMkX0OFLngFAk/eo+Eb71K5FIt22lXCV1zu4T082VC83ozo+E+ByVsXqvK2qzDDnzK2SLD9xU5/2RnPQg4etlZIgMGSQhe6zWtx47T0s+pvG8tHTuujwgQASJABIgAESACRCBpBDzPyMbpowR5hCN3E0ZCBV7fkS4VFWVSUV6pHukVxkt73bq1GkS0wAQTzdIgoFlZmdJBvc4hewIiHcR5rvEyzzTkebZ6g6UjWKgS0PC4drTVncEhoQKyHt7wMOtpbubgFDXqbxDZkydPdq8JgnyHHXZw80j0V8+3bbfdVkCyw9B+wYIFstlmGiiqHjZy5Ej13u8oa9asMaO89957Uqha823U245GBIgAESACRIAI+BHI3GMPKXnsP24hSPScQIwRt1ITuWNOkOyDD5LKP/4w5Hn6uefoU3cq6dHCLKRxaJK1CpWlc00/owHTRrWh+4g8fHv0kiDRT4wEgo2WmpS5V5deK2ENYC8L5oloQM9Qn60CrRJk4d1tTdcqw0baXP3PtViHvZhZz+XXSxie1iqJWOv12IGSOYOQx5orKpJpnfo2tfGwT+V9S/1KeQUiQASIABEgAkSACBCBZoJAYk90q+MCAXQ9HN9zSLhosNAK1UAvKxfIihQUrJfFS5bInDlzZNnyZbJevdBBsIPc7dhJ5Vo0AFUnPbdrh6Ch7SQvN0faaiDMfH28FV7pWUqoI7goyHPrfZ6mHui4JgyEuVfKJRaBjjJ7mE4p+mV1x+3w8bzMve1A/L/66qu2S53P8NaHZIu14uJimTBhgs3yTASIABEgAkSACHgQSO/RQzI88UEq1au6auVKT4vqyTR9qitz550lY6utWgyB3va226TD22+5R/oWW1RfeIySsD5NWPbll25Nxi67SJp65jeq9VQHhD33jl4SXscrlCRPYKFuPSSkUiy1ItCLCkU++zA6KjTJ9TNrg1kd1mGvHeq+Se3XYzsne4bkzIcaN+DjH52jIQKqJntttLv3qei1MYet+iXXO9X3LblZsBURIAJEgAgQASJABIhAK0AgIYkO0txroLRVAV2qlBQuLy9TAr1YNqxfr4FC1znH+gIpV2IdZDb0zPOVRAeRDq3znFxIt+SYA3kQwpnqoQ5P9fT0NCXJ0yWknuhBglypcUPee+eRqjQ0z2uyPn36yKBBg9xmP//8s8zwBtyK1HhJdBTFI9vdgZJMWEkXGzzUBjRNsjubEQEiQASIABFoVQjkHHtMdL3qBFD6/gfRPFMJESj7/HOR0lK3TfYB+7vpRk2MOSN6OTyh+Hb9Y81EB4ykPn5XRD/XunbIUW6ywRKNsY4Gm2wzGagx7lszgYLTJAJEgAgQASJABIgAEUgtAglJdPfSSooru2080KFtjgPe5qs0SNd8lSmZP2+erFLPrvLSMpVuyZJ2bdtLV/U+76IHJFwMia6kOoKH5rfLlw4dOhryPCPdep/DA10kDddRg1AMfkCswzsd5Hoqba0GQb3oootk8803l/nz59d4qWQI8p3Vi23rrbd2x5o0aZIsUW/9+tp+++0nF1xwgTB4aH2RZH8iQASIABFoDQhkbLedZHg2v8tUCi1cXt4all7vNZa+8447Rnrfvo0v5WKvvsMAkd2H25zIWy+KPg4ZzTdE6o3no6Nsu6PI0JHRfEOlGmMdDTXX5jJOY9y35oIF50kEiAARIAJEgAgQASKQUgQSstOGO49cHsR5iX5hKVBv81mzZ8nsWb/JAiWcETQUOueQaunWrZt06txZSfL20r5dO2mvki2dVcalS+cu0lkJ9TbqjZ6VmSWVKgWTBukW44GuOugg09NwKGEeIdJxWRDpQYM0ij2glx7rCPZJlP/666+lr34xvPfee01Q1Fdeqdm7yXqD23HjeZl7A4xinq+99prtUuczNinuu+8+YfDQOkPIjkSACBABItDKEMg9/TTRXXmz6vC6dVI2YWIrQ6D2yy3/5hupmjvP7Zgz7k9ueqMkzr5U76FqdsPWrhZ5v/6fqZzB9PekT0Xm/OZmZfxF0XRDp1K5joaea1Mfb9KnjXffmjoWnB8RIAJEgAgQASJABIhAyhHwkegI6qn+5npUqRd4SMntNJVuUfJcH29dtXKFrFi2TI/lskHlW6oqK8z30WyVZGmn+pjt9WjXtp20VfmWtm3yjfd5Xm6eyrrkOF7nEakWeJuDKE9XzXOlzM2PjeF9WgAAFhtJREFUd5XwRfce3rpgGuPEOoLtEuXhJb9ixQq3STxC3G2giS233FIGDhzoFv3www/y22+eL1+RmmQ81t1BmCACRIAIEAEiQARSgkC6BvbO9sQUKdWg4GF1DqDFRgDOCiXPPedWZg4dIpk77eTmN0qi95Yix5wUvfRzj4t6ZUTzdU3pWuW/D0d7D1fJmoGDo/mGTqVqHQ09z6Y+XmPft6aOB+dHBIgAESACRIAIEAEikHIEDIkOL2l8YQKJbvy/w1VKZDsK6BX6yHOxBu1ZsWK5rFy5XCVcVqhsS4lkZaRLrkq05OZkSdv8PA0SqvrnSkiDOAcxjTP0zjPV8ysdBLrnB3kcThBR1HiJc2/LaJ1FIhZpHiyzbZM5Q3Zlm222cZvCM33x4sVuPl4iGW90aKf37t3bHeJz1Rb1EvZuBRNEgAgQASJABIhAShHIOXGMpHXvbq5RtXy5lH30UUqv15wHL1cJusrZc5wl6Ge63DPPbBrLOeUckR69nLks089qH7xZ/3l9oU8l/PaLM446gcj5V9Z/zJpGSMU6arpmS6vfGPetpWHI9RABIkAEiAARIAJEgAjUCgFDohsyW0ltK40C6Zbi4mKZp1rnc+bMMeeCggKNLVVqPL9zVZalQ4cO0kmlWnBAtsVqnyPgJQKIIrAozpAfQRBREPT27JD1tZpnSht7PcaxmZCMpIu3Dyb30ksvxZyjV9IFuL7++usx27GQCBABIkAEiAARSB0CIf1Mknv+ee4FSl94kd7oLhr+RMnTz7gFuWecIWkq1dckTB005JJrolN55lH1Rq/nEwWP3x8d75zLRbp0i+ZTlUrFOlI116Y67sa4b00VC86LCBABIkAEiAARIAJEoFEQCP3+++/h1atXq2RLiaxZs8aQ5CDAERR0neqGgjivqKgwnuog2xHos41KtuAAQQ5CHWVI40AaJDkOpGHwFIehP8zmTaYJ/Jo2bZrsuuuu7kyGDx8un332mZuPlxgwYIB8//33bvXs2bNlq622cvNIwLN9yJAhbhn6fPzxx/KeBja79tprZcKECdKnTx+3ngki0FAIrC2qkJLyepILDTUZjkMEiECTRwDPn1WVrBfRo21I452orFtauvP/u8lPvhYTLNP/wVUaUByWPWqUhHSjn+ZHoPTDDyWsAeRDObmSfcjB/soU5TRcjhRldpTKjBy9J7n6YGRV/Ct9+JbImlVO/ZEnin4Ajd+2ppp3XxXReD/6gVbk8ONrat2w9Q25joadWdMfbWPet6aPTgPP0Pk/UFleLLklKyWjqlyyM50y/N+gEYFUIlBRWqkysiLl4UxJb9dDCQXlFyDnRCMCzQiBth2UM8t0uLBmNG1OlQgQgRgIhNTTPLxWv0yCRAeZDm9pS5Rv0C9Q1kCsgxjHGd7mIM9BmkO6xUuaI2092y1pbsdoTPJ81qxZ8vbbbwvOIPwhrbLvvvuazQE7H+8Z5LduKJgizHvRokXSo4f+o05gt956q/z1r391WyB/xRVXuHkk4Nm+mWqxYrxYdscdd8ill14aq4plRKBeCJBErxd87EwEWh0CrYVEb3U3tpksuFYkejNZE6dJBFoGAiTRW8Z9bJ6rIInePO8bZ+1HgCS6Hw/miEBzRiANhLklvZEG0Q1ZF8i5QH4FZDmkWjrro7zdunUzR7t27QyRDnIaki1oA3LdEu12TAADEjl4pBIw6JkfccQR0q9fP7nkkkvk4YcfFhDVJ5xwgil79tlnY17eK7uC9b/22msx23kLd9llF282pqQL8DzllFN87byZt95SbyoaESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAg0SQSUP08zZDkIcHiVgxC3mubQPe/YsaPRP4f3uT2sBrol0a10CwhjjGc9zoPkuTefCjS+/PJLAbH9xhtvGOI+eA142o8dO1auu+66YJUkEyg02AlBSb02depUmTt3rrfIpP/yl78Y7fhgxZZbbim33357sJh5IkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABFoIggYT3RLgkOeBWQ6SHQcINXtYYl1q30OL3Uc1uscxLklzzfG2ubPny+jR4+WZcuW1Xj566+/Xt59911fu91220169+7tlkETfcWKFW4+VgKbAkGLFZQUmxEPPPCAdO3a1TRH/rzzzpPp06cLrksjAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEIGmiYCJbgDyG2Q4CHJItVgPdOt5DjkXHPA8B6nuJdAtiW4lYbxEOtK23NvO26ahYIFkCjzNrUHj/OKLL5YnnnhCxo0bZ4vNGeQ32hcWFvrKvZIu0IZ//fXXffXBzMKFC4NFMSVd0GjMmDECoh+BRpcvX25IdWBKIwJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBCBpouA8USH9zlkXECSgzgHuQsy3ZLnlkxHG+t9bqVZsDSQ4l5i3Oa954aGAMFQL7roIkEwT3iN47B21VVXyezZs+Wuu+4yBDqI9JdfftkQ+rbNqlWr5Mknn7RZcz7mmGN8efRJZL/++mu16smTJxuyvFqFFsCbf4899jAYxqpnGREgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAINC0E1FE8TSDngsPKuYBUt97mts56kqeSGE8Wmueee0769u0r9957rzz99NPyzDPPuF1RduONN7p5m4CX+WWXXWaz5nzPPfeYIKq2EAT3pptuarPy8ccf+7zb3YpI4u677w4WmXxN5HvMTiwkAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEIEmh0AaiHN4mEOmBZ7n8DqHR7o3wCjagGwHkR48Yq3I66Uerz5WebJlCCBq9cp/+eUXeeyxx0zXHXfcUS688MK4w/zjH/+QLl26uPXwVv/qq6/cPDYIvJIuFRUVct9997n13gS0z6dNm2aKrrjiCoMbMsDOew1vH6aJABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRKB5IZAGj3OvnIsNIGrPNugoCOZkzXqrx2tfm7FijRGUXbFtEKwzkWFNp59+uq/Jp59+6ssHx77jjjtk6dKlvjYvvviijB071i2DvvqoUaNM2cyZM43eulvJBBEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAINFsEQiUlJeo4HjYL8JLfVualKa4MQT979uxpAnR65zdv3jzp3bu3t6haetGiRT7Jln333VcmTpzotquqqjL1S5YsccsGDBgg8DaHp/5LL70k//3vf8VidvDBB8u7775rZGGAGY0INBUE1hZVSEl5ZVOZDudBBIhAE0cAnwSqStaL6NE2VCIZaRocPD35DfQmvjxOr4kjUKH/rooyO0plRo6EMnNFwlVNfMacHhFoLQg4/wcqy4slt2SlZFSVS3amU+Z8g2wtOHCdGwOBitJKqdL/D+XhTElv10P0g4n+f+Arb2PcC16z7gi07ZAr6ZnkiuqOIHsSgaaDQJolzr1nkMH19RZP5RIhKXPkkUdWuwQkaGqyXr16ydZbb+02+/HHH900Elj7uHHjfGXTp0+XMWPGyGGHHSZPPfWUS6B37dpVHn30UdOWBLoPMmaIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACLQKBNMi1xAoiCqJ6Y9jkyZPltNNOk4EDB8oWW2xhiOsPP/yw2lSCsitoAFmaZGzPPfd0m61atcoXXBQV0FWviZDv2LGjIICoNxCpOygTRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASLQIhBQB+o0431tz9YjvbFXt3LlShk9erTsvvvu8sQTTwi8vyHP8s4778iBBx4o119/vW9KI0aMqBbAc8OGDb428TKDBg1yqyANs3r1ajePRI8ePeTJJ5+M640PEv67776T4cOH+/oxQwSIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACLQuBBhNmgkY49MbrYnPnzhXojr/55ptxu1933XWGULcN4EF/xBFH2Kw5f/311758vEzQyz6W1/lxxx0nn3/+uRx00EECCZi+ffvKscceK/CKnzRpUo3a6/GuzXIiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAEWg+CDQIif7tt9/KkCFD5Kijjqr1ytevXy+HHnpojQQ8SPprrrnGN35Q0gXkdjKmwVTdZm3atBEcsWzYsGHy3nvvycKFC2XmzJny4osvyv777x+rKcuIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRKAFIlAvEr2qqsrol0OC5X//+59Az3z+/PlJwYS+sLvuuktmzJjh9oFH+u233y4fffSRBEnyadOmyRdffOG2HTlypHTq1MnNv//++246UaKgoMCt7tOnj5tmgggQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiIAXgXqR6NBR//TTTwVe4tZeeeUVm4x5Xrt2rVx00UWy1157CbzQQaJbO+ecc2TKlCly2WWXCQhyeH7vt99+ttqcn3vuOTePgKjQUbcGMt5Lstvy4Nk7xwMOOCBYzTwRIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABg0C9SHSMcPTRR/ugfPnll315b2bChAlGW/zee+81uuKPPPKIWK/wP//5z/LQQw+JV68cQU7vuece7xDy2muvifViR0XQW/3mm2/2tQ9mvvzyS/n555/dYpLoLhRMEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIhAAIF6k+hBEhvBPeMFGC0uLpYVK1a4U7j88stNul27dnLttde65d5E//79ZejQoW7R0qVLBUS4NXiqd+jQwWYFki7wYI9lmNdZZ53lVm266abGI94tYIIIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIiAB4F6k+iDBw+WzTff3B0S0i5euRS3QhMHHnigtG3b1ltk0uPHj5eOHTtWK7cFY8eOtUlz9nq7Z2VlyeGHH+6r/9Of/mQ81r2FU6dOFQQK/eWXX9ziO++8M25QUbcRE0SACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEi0GoRqDeJDsmVZCVdsrOzZdSoUdXA3mmnnaqVeQuOOuoogf66tVdffdWnwx70hi8pKRH0gQf7uHHjZMstt5RBgwbJvHnz7BCy//77y3HHHefmmSACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASIQRCDKTAdrapEPkthfffWVQHYllh177LHVinv27FmtzFvQvXt3GT58uFsEWRbIxliDrjkkYYI2adIkeeqpp2Tu3Lm+Kniug4inEQEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAEUiEQIOQ6Hvuuaf06tXLvQ4Cf8YjqQ866CDJz8932yKRmZnpy8fKBIl6r6RLPA/34Djwmr/sssuM1EtwDsG2zBMBIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABFoEBId5DTkU7zmJbm95Tk5OXLooYd6i2T69Om+fKxMUNIlqLseJNn79esnJ598skAqBiT/+eefLz///LPcfvvtPmmYWNdiGREgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEg0CAkOgYKktiff/65LF++HFXVLCjpMmXKlGptggWbbLKJCQxqy+fPny+TJ0+2WRO01OtdDsmXRx/9//bupqWqLYwD+ENlmdoLiBDaJBr5BQRDAqHyJUOkUTSuz6AOmvoBHHnH4aRBpaFZWkHgMGjoxC8gGYVEVsJlXdiL7ens0jjn5uC3Jns9+6x91jm/4Z/Fs/+J9+/fR2rrMjs7G729vXm9CQECBAgQIECAAAECBAgQIECAAAECBAgQ+J1Aw0L0gYGBuHDhQt5vb28vnjx5kuvyZGRkJNra2vKthYWF2N3dzXXVpDaoL592P336dIyNjeVHd3Z24vnz57k2IUCAAAECBAgQIECAAAECBAgQIECAAAEChxVoWIh+7NixmJiY2Lf/o0eP9tVFkQL00dHRoozPnz/HyspKrqsmt2/fjtQ6phi/a+lSDtmLZ1wJECBAgAABAgQIECBAgAABAgQIECBAgMBBBRoWoqcNa9u0vHnzJj58+FD3t9SuPUjg3d3dHVeuXMnft7m5Ge/evct17Qn3xcXF+PbtW/7chAABAgQIECBAgAABAgQIECBAgAABAgQIHEagoSH61atXo6urK+//48ePypYu6eWiqQVLMVJLl4ME3r8K39MJ9/JLS9MJ9xcvXhRbuBIgQIAAAQIECBAgQIAAAQIECBAgQIAAgUMJNDREP378+E8tXapOmLe3t0c6OV6MT58+xerqalFWXsstXdJ3XLp0ad/a2r7ptS1f9i1WECBAgAABAgQIECBAgAABAgQIECBAgACBXwg0NERP+9SG2Gtra/Hx48e6P6F2bVXgXn744sWL0d/fH3fv3o2NjY24d+9e+eP/eq2XT7g/ffo0vn//vm+NggABAgQIECBAgAABAgQIECBAgAABAgQIHESg4SH64OBgdHZ25r1TgJ1atdQbY2Nj0dramj9KgXdqAfO7kU6sP3z4MHp6en5a2tHREcPDw/l+CvBfvXqVaxMCBAgQIECAAAECBAgQIECAAAECBAgQIHBQgYaH6CdOnIjx8fF9+1edMD9z5kwMDQ3ltdvb2/H69etcV03KJ83rrantm57CeYMAAQIECBAgQIAAAQIECBAgQIAAAQIECBxWoOEhevoBtW1aXr58Gekln/VG7dqqwL3es1X3yifc79y5E9PT01VL3SdAgAABAgQIECBAgAABAgQIECBAgAABApUCTQnRr127FufPn8+b7u7uVrZ0uXXrVpw8eTKvffz4cezt7eX6TybphPvU1FS8ffs25ufnI/VRNwgQIECAAAECBAgQIECAAAECBAgQIECAwGEFmhKit7S0HLily7lz5+LGjRv5d29tbcX6+nqu/3Ty4MGDGBgY+NPHPUeAAAECBAgQIECAAAECBAgQIECAAAECBKIpIXpyrW3TsrKyEjs7O3XJi7XppaAzMzPR19dXd52bBAgQIECAAAECBAgQIECAAAECBAgQIEDg/xRoWoh+/fr1OHv2bP4vX79+jWfPnuW6PEkvIr1//35sbGzE5ORknDp1qvyxOQECBAgQIECAAAECBAgQIECAAAECBAgQ+CsCTQvRUxCe+p2XR9VLQ1P/9Lm5ueju7i4vNydAgAABAgQIECBAgAABAgQIECBAgAABAn9VoGkhevpXRZuW4h8uLy/Hly9fitKVAAECBAgQIECAAAECBAgQIECAAAECBAgcaYGmhujDw8OR+pwXIwXoS0tLRelKgAABAgQIECBAgAABAgQIECBAgAABAgSOtEBTQ/TW1ta4efNmBrh8+XL09PTk2oQAAQIECBAgQIAAAQIECBAgQIAAAQIECBxlgX8BhP5TkP7VXhQAAAAASUVORK5CYII=" + } + }, + "cell_type": "markdown", + "id": "1f18d774", + "metadata": {}, + "source": [ + "![Screenshot%202022-08-09%20at%2017.03.09.png](attachment:Screenshot%202022-08-09%20at%2017.03.09.png)\n", + "Figure 1. A schematic demonstration of the use of a CCNN to classify between images of a cat and dog. Here, we see the several convolutional and pooling layers being applied, all of which are decreasing in dimensionality due to the use of the pooling layers. The output of the CCNN determines whether the input image was a cat or dog. Image obtained form [1]. " + ] + }, + { + "cell_type": "markdown", + "id": "7b18ecb7", + "metadata": {}, + "source": [ + "### 1.2 Quantum Convolutional Neural Networks " + ] + }, + { + "cell_type": "markdown", + "id": "15711fe7", + "metadata": {}, + "source": [ + "Quantum Convolutional Neural Networks (QCNN) behave in a similar manner to CCNNs. First, we encode our pixelated image into a quantum circuit using a given feature map, such Qiskit's ZFeatureMap or ZZFeatureMap or others available in the circuit library.\n", + "\n", + "After encoding our image, we apply alternating convolutional and pooling layers, as defined in the next section. By applying these alternating layers, we reduce the dimensionality of our circuit until we are left with one qubit. We can then classify our input image by measuring the output of this one remaining qubit.\n", + "\n", + "The Quantum Convolutional Layer will consist of a series of two qubit unitary operators, which recognize and determine relationships between the qubits in our circuit. This unitary gates are defined below in the next section. \n", + "\n", + "For the Quantum Pooling Layer, we cannot do the same as is done classically to reduce the dimension, i.e. the number of qubits in our circuit. Instead, we reduce the number of qubits by performing operations upon each until a specific point and then disregard certain qubits in a specific layer. It is these layers where we stop performing operations on certain qubits that we call our 'pooling layer'. Details of the pooling layer is discussed further in the next section.\n", + "\n", + "In the QCNN, each layer contains parametrized circuits, meaning we alter our output result by adjusting the parameters of each layer. When training our QCNN, it is these parameters that are adjusted to reduce the loss function of our QCNN. " + ] + }, + { + "cell_type": "markdown", + "id": "894b249a", + "metadata": {}, + "source": [ + "A simple example of four qubit QCNN can be seen below. " + ] + }, + { + "attachments": { + "figure2.png": { + "image/png": "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QAABBBBAAAEEEEAAAQQQQAABBAhI8QwggAACCCCAAAIIIIAAAggggAACCNhUgICUTbm5GAIIIIAAAggggAACCCCAAAIIIIAAASmeAQQQQAABBBBAAAEEEEAAAQQQQAABmwoQkLIpNxdDAAEEEEAAAQQQQAABBBBAAAEEECAgxTOAAAIIIIAAAggggAACCCCAAAIIIGBTAQJSNuXmYggggAACCCCAAAIIIIAAAggggAACBKR4BhBAAAEEEEAAAQQQQAABBBBAAAEEbCpAQMqm3FwMAQQQQAABBBBAAAEEEEAAAQQQQICAFM8AAggggAACCCCAAAIIIIAAAggggIBNBQhI2ZSbiyGAAAIIIIAAAggggAACCCCAAAIIEJDiGUAAAQQQQAABBBBAAAEEEEAAAQQQsKkAASmbcnMxBBBAAAEEEEAAAQQQQAABBBBAAAECUjwDCCCAAAIIIIAAAggggAACCCCAAAI2FSAgZVNuLoYAAggggAACCCCAAAIIIIAAAgggQECKZwABBBBAAAEEEEAAAQQQQAABBBBAwKYCBKRsys3FEEAAAQQQQAABBBBAAAEEEEAAAQQISPEMIIAAAggggAACCCCAAAIIIIAAAgjYVICAlE25uRgCCCCAAAIIIIAAAggggAACCCCAAAEpngEEEEAAAQQQQAABBBBAAAEEEEAAAZsKEJCyKTcXQwABBBBAAAEEEEAAAQQQQAABBBAgIMUzgAACCCCAAAIIIIAAAggggAACCCBgUwECUjbl5mIIIIAAAggggAACCCCAAAIIIIAAAgSkeAYQQAABBBBAAAEEEEAAAQQQQAABBGwqQEDKptxcDAEEEEAAAQQQQAABBBBAAAEEEECAgBTPAAIIIIAAAggggAACCCCAAAIIIICATQUISNmUm4shgAACCCCAAAIIIIAAAggggAACCBCQ4hlAAAEEEEAAAQQQQAABBBBAAAEEELCpAAEpm3JzMQQQQAABBBBAAAEEEEAAAQQQQAABAlI8AwgggAACCCCAAAIIIIAAAggggAACNhUgIGVTbi6GAAIIIIAAAggggAACCCCAAAIIIEBAimcAAQQQQAABBBBAAAEEEEAAAQQQQMCmAgSkbMrNxRBAAAEEEEAAAQQQQAABBBBAAAEECEjxDCCAAAIIIIAAAggggAACCCCAAAII2FSAgJRNubkYAggggAAC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" + } + }, + "cell_type": "markdown", + "id": "c2777d65", + "metadata": {}, + "source": [ + "![figure2.png](attachment:figure2.png)" + ] + }, + { + "cell_type": "markdown", + "id": "159a69bf", + "metadata": {}, + "source": [ + "\n", + "Figure 2: Example QCNN containing four qubits. The first Convolutional Layer acts on all the qubits. This is followed by the first pooling layer, which reduces the dimensionality of the QCNN from four qubits to two qubits by disregarding the first two. The second Convolutional layer then detects features between the two qubits still in use in the QCNN, followed by another pooling layer, which reduces the dimensionality from two qubits to one, which will be our output qubit." + ] + }, + { + "cell_type": "markdown", + "id": "cdb2541e", + "metadata": {}, + "source": [ + "## 2. Components of a QCNN" + ] + }, + { + "cell_type": "markdown", + "id": "6f5c01c6", + "metadata": {}, + "source": [ + "As discussed in Section 1 of this tutorial, a CCNN will contain both convolutional and pooling layers. Here, we define these layers for the QCNN in terms of gates applied to a Quantum Circuit and demonstrate an example for each layer for 4 qubits. \n", + "\n", + "Each of these layers will contain parameters which are tuned throughout the training process to minimize the loss function and train the QCNN to classify between horizontal and vertical lines. \n", + "\n", + "In theory, one could apply any parametrized circuit for both the convolutional and pooling layers of our network. For example in [2], the Gellmann Matrices (which are the three dimensional generalization of the Pauli Matrices) are used as generators for each unitary gate acting on a pair of qubits. \n", + "\n", + "Here, we take a different approach and form our parametrized circuit based on the two qubit unitary as proposed in [3]. This states that every unitary matrix in $U(4)$ can be decomposed such that \n", + "\n", + "$$U = (A_1 \\otimes A_2) \\cdot N(\\alpha, \\beta, \\gamma) \\cdot (A_3 \\otimes A_4)$$\n", + "\n", + "where $A_j \\in \\text{SU}(2)$, $\\otimes$ is the tensor product, and $N(\\alpha, \\beta, \\gamma) = exp(i[\\alpha \\sigma_x\\sigma_x + \\beta \\sigma_y\\sigma_y + \\gamma \\sigma_z\\sigma_z ])$, where $\\alpha, \\beta, \\gamma$ are the parameters that we can adjust. \n", + "\n", + "From this, it is evident that each unitary depends on 15 parameters and implies that in order for the QCNN to be able to span the whole Hilbert space, each unitary in our QCNN must contain 15 parameters each. \n", + "\n", + "Tuning this large amount of parameters would be difficult and would lead to long training times. To overcome this problem, we restrict our ansatz to a particular subspace of the Hilbert space and define the two qubit unitary gate as $N(\\alpha, \\beta, \\gamma)$. These two qubit unitaries, as seen in [3] can be seen below and are applied to all neighboring qubits each of the layers in the QCNN. \n", + "\n", + "Note that by only using $N(\\alpha, \\beta, \\gamma)$ as our two qubit unitary for the parametrized layers, we are restricting our QCNN to a particular subspace, one in which the optimal solution may not be contained in and reducing the accuracy of the QCNN. For the purpose of this tutorial, we will use this parametrized circuit to decrease the training time of our QCNN." + ] + }, + { + "attachments": { + "circuit2.png": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxIAAACZCAIAAAA0OZsaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAADRMSURBVHhe7d15dBRV2j/w/ouTw0kIBAibJmEwgIgIKDCAAdkURSEqKMqLCGOiL4qi4CvIGDZR2QXHAcFhFBl39l0IWxRlGTAIymGbICNIWIKAWeHw+9rPk/oV6a7uW53qqurk+fzB6XurqrtS3Lr1vd21eK4JIYQQQggFEpuEEEIIIZRIbBJCCCGEUCKxSQghhBBCicQmIYQQIsIUFhYOHTp05syZ74lgRo8evWDBAt5w5SaxSQghhIgwvXr18ggzzp49y9uufCQ2CSGEEBHmzTffpDTwtAiGNpTEJiHC7ttvv33jjTc+FT7efvvtlStX8mYSQtjub3/7G6LAc889x2VhrEGDBthW586d43L5SGwSwpB3iCIMWTV6E0KYJbFJncQmIWzizQae1NTUx8T1aMvk5ubylhJC2EtikzqJTULYpFatWtjZfv/9dy6LUjfeeCO2zJkzZ7gshLCXxCZ1EpuEsInEJiMSm4RwlsQmdRKbhLCJxCYjEpuEcJbEJnUSm4SwicQmIxKbhHCWxCZ1EpuEsInEJiMSm4RwlsQmdRKbhLCJxCYjEpuEcJbEJnUSm4SwicQmIxKbhHBWpMem33777euvv97mz3fffcczWURikxA2kdhkRGKTEM5yf2wqKChYv349F3Ty8/MHDRoUExOD9fcrLi6upKSE5/ZauXJlmRpTJDYJYROJTUYkNgnhLLOxacWKFS8YGD58eEZGxuzZs7/66itkHV6gfHbu3NmiRYtGjRpxudTVq1fvu+++qlWr3nTTTVh/aOxFr5OTk/G6f//+PLfXiRMnatSokZKScuzYMa4ySWKTqAiuXLmCnSErK2vixImrVq06dOiQVburhVwem4wGcyrKOXqT2CQqA+wjx48f37Jly4QJE9atW3fkyJHCwkKe5jSzsQl/xdChQxMTE7GUXlRUFL/yiouLGzduHMINLxaSuXPnxsbGtmzZMicnh6tKYdIjjzyCBIPeIzo6un379qjEVq1evXpSUhLN4+vbb79NSEioXbv2tm3buMoMiU0iguXm5s6bN++hhx6iRKKH8UenTp0mTZq0f/9+nttppmKTSwZzZXz//ffY4M8///xrr722YcMGqiz/6E1ik6jATp48+fe//713797IEN7O6f+LiYnp2rXr5MmTDx48yHM7JLQf6RA76A8hU6dOLS4uvnTp0tatW/F3ca3Hc99994UcMt5++228w+23337+/Hmu0kH3TgM29EuYbdq0aXi9fft2vH788ce9s/iHzIrMh+SECMVVyiQ2iYh04cKFMWPGaN0QQlLDhg1vvvlmvEabbtasGUYbNKlKlSp9+/b96aefeEnnmIpNLhnMaY4ePZqamopPRMRBTm3SpAleI8DR1HKO3iQ2iQoJR9aRI0dqfRG6KYxM6Cck7NpNmzbFfkeTsF//z//8T8gDj/ILLTYdOHCA1h/i4+ORmXiC9xeADh068DSP54033uAJZsyfPx8dOLr006dPc5WBnj17Yk4M4fAa6Q2fOGfOHJpkJDs7G+O9unXronPjKjUSm0TkWbVqVVJSEhou+po+ffosWrQIKQr1//rXv1CJ3gevMQTZuHEjkgeFlWrVqk2YMEG/V9svhB/pHB/MkczMTEqojzzyyG+//YYafFydOnXQT2nfOZVn9CaxSVQ8X3zxBR1fkZYwcvvss8+w56L+73//Oyr/93//F6+LiorWrVuXlpZG+xeO4tOmTUPg8L6BrUKLTe+//z6WIg8//DDXllq6dClP83i6dOnCtcp2795NJ3ovWLCAqwycPXsWc951111UxJpgKUQ6Kgbw1ltvYc527dqZ+rVUYpOIMG+++SaO1mi1KSkpO3fu5FovfWzS/Prrr+iV0HNhUq9evS5fvswTbBdCbHLDYG7Tpk3Up7dt21b/m2C3bt1Q2bFjRy6XY/QmsUlUMGPGjPljt/R4unfv/v3333Otlz42af773/8OHDiQejZkLPtPzQwtNj3++ON//JFe8+bN49pS+/bt42keT3R0tKk/CjO3aNECC3bu3JmrjNEvdPgTqIjx2w033ECvA0NaSkhIwLIvvPACVymQ2CQiCX01gj0Q4cn3lym/sYlkZmbS7oHkVJ6Tl8sjhNjk+GDu1KlT9evXxzz16tUr8wvCkCFDUI930CfR0EZvEptERTJ+/Hi052rVqs2ePZurdPzGJrJq1SrsaJj6yCOPlPOXd7NCiE0YuVHnQOgHMr3169fzNG9HUVRUxBMU0DaEtWvXcpWBvLy8Ro0axcbGUgeCESCWuvXWW2lqUBkZGZgfgRWjPq4KRmKTiBibNm1CYIqKivrkk0+46noBYhMcOXKEktOoUaO4yl4hxCbHB3N9+vSh958yZQpXlUpPT6dJ+rvJhTZ6k9gkKowVK1bgGIz9ceXKlVx1vQCxCX744QdKTpMmTeIqW4QQm3bs2IFFSMuWLblW54033uDJHk+3bt24VkF+fj5Fkxo1auA11/qDsRwSEubUTgDPysryfqBnxowZVBOY9lf069ePq4KR2CQiw/nz5xs2bIjGOnbsWK7yETg2wddff40hIIJXZmYmV9nIbGxyfDCHsS/NgzXHkI5rS2mJ6ptvvuEqrxBGbxKbRMXw66+/0jF1+vTpXOUjcGyCdevWVa1aFcELR3SuCr8QYtOECROwCHn55Ze5tlROTg7lP/Lhhx/yBAVz5syhpe69916uMoC4htnQpWsnbOAFLQs///wzVQZQUlJCPTO6LGRWrg1IYpOIDEOHDkVL7dKlS4DzJYPGJqABULNmzUz9imQJs7HJ8cHcAw88QG/+/PPPc5VO27ZtaSrCKFd5hTB6c3NswlpdvHiRC0IENHDgQLRk7Dhc9idobIJRo0ZhnjvuuMO2MwpCiE2dO3fGImTjxo1c64XsgpXnaR7PkCFDeIKau+++mxYMkD7h8uXLGAZjtldffZWrvDGIVgwjSZXYBD179vR+mgdBkKsCktgkIsDhw4cx9sIe8uOPP3KVPyqxqbi4mAYo77zzDlfZxWxscnYw95///AdjOJrN9/YN2IyIXDS1zBUrIYzeXBibcBjo06cPXbAJeIHgfvz4cZ4shI89e/agzcfFxQVuJyqxqaCggO7xYWq/Lg+zsenChQvok//YN7wWL16cmZm5cOHCSZMm3XPPPVzrvUOK2WsDi4qK6BoUWLduHdcayM7OxmbnQim8w/bt29VvhTVu3Dj6OO1avMAkNokI8Oyzz6KZpqenc9mASmwCOpMavZKpnbn8zMYmZwdzo0ePpnn8nly5e/dumgq+v9+ZHb25KjbhiIWEhOMf/Ql66M3L/CIphIa+aho5ciSXDajEJkBgwmytW7fmcpiZjU1ffvkl5g8A/caoUaMw+uIFlGEX47fweMpcKx0mc+fOpY+LiYkJfCoVkdgk3K64uJi+Vtm3bx9XGVCMTVevXqU7zm3dupWrbGEqNjk7mCssLKQoA34PA++++y5NbdiwIVfpmB29uSo2vfTSS7TyfqEpBv7KU1ROly9fxm4VFRUV4J6xRDE2YT+l/WLv3r1cFU5mY5N2RQhgmDF58uTbb7+dy+X7Lv+TTz7hd/F4zN7KJDSfffYZf57Ho3LHUYlNwu2+/vprtFGVC0oVYxOMGDECc44ZM4bLtjAVm5wdzH3++ec8h8cza9YsdNxl0A3lwO/PfGZHb+6JTVlZWdpPk0aaNGni1D0shGutWbMGbaNDhw5cNqYYmyAtLQ1zvvXWW1wOJ7OxKTk5GfNDlSpVfv31V9To407Pnj1pthAgcvG7+Psmu4ynn366joJFixbxAv7or61ROQ1fYpNwO9qf//KXv3DZmHpsolBy//33c9kWpmKTs4M59J48RzBYMV5Gx+zozT2xiW5GFZTRteWi0po0aRIaxosvvshlY+qxacGCBZjzscce43I4mYpNP/74I2Ym2s+IBQUF2tmWGHsono7tS7vIF28S9OZVTzzxBM0cWOD7jOsvvlm9ejXXGgt7bCouLs7OzuYhqvBn69at/Er489RTT6GNPvvss1w2RpeftGrVisvGKDo0b96cy7bAJ4JibHJ2MNe+fXuaAX3iaz769+9PU8Fv8DI7ervhhhsw5+bNm3lLOeeWW26h1Q4MoZYXEDpbtmzhV5UPwg0axiuvvMJlY3RRcOfOnblsbP78+ZizXbt2XA6np59+Gp+lGJtmzpyJmclLL73EtaUnoZKJEydyrUkUQIn+uQh+5efn/6Yg8M1Z9Gdqrlq1imuN1a5dG3Nu2rSJt135+IlNiqM3ISoJ7MO8bxhzfDCnPXz09ddf5yqd2bNn09S2bdty1fXMjt60B5oKIRyEHob3yYB69erFC3g8a9as4dpr13bt2sW1Hk/Tpk251iR6UgrJzc3l2nDasGEDf57Ho/JITZ7VKvyuOkuWLEFYvkMYaNWqVYMGDZo3b85l4YOyQkJCApeNUSMELhvDBsds1apV47ItaN1UHorn7GDuwoULPPn6PlGTmppKU/FWXHU9s6O3+Ph4zNmyZUveUs6hZxcGpdIaK5vbbrsNXVmLFi24XMnUqVMHDSMpKYnLxqgJAZeN3XzzzZgNYxguhxOtUo8ePXifNIbxm3ZNCQY8ZTo0HNFoEmzZsoVrzUBm4OU9nkOHDnFtOOlPKjhy5AjXGqM5k5OTeduVj5zbJKxH347ob2hmRP3cJroBv8r5mxZSP7fJ2cEcOg6e7PH4PuK3sLCQUg4YdWpmR2/uObdJ+3UysKVLl/ICQnjRVSZvvvkml42pn9u0evVqzHnPPfdwOZzUz23S/wTftWtXri01ffp0nubxDB48mGt1Fi1ahP29jEaNGl26dIlm+ON3q1L6BzcpUhmXlqHdxw4DabkBgagIPvroI7TRBx98kMvG1GMTRQftMUb2UIxNjg/msrOzaSqGuVyloz0/uE2bNlzlw+zoDf0m5nRDbNJ/z2cE/zu+aVJUcnRLjkGDBnHZmHpsmjp1KuZ85plnuBxO6rGJAiLx/c4bI7EY7wPCoWbNmloY0gwYMACTkDwae9F5Qvq7el69epVOdoTFixdzbTBHjx7t27dvYmIilqpbt+6TTz6pfhrD66+/Th8X+AGdGolNwu2wP6CN1qtXL/BpfaAem+ik5lmzZnHZFoqxqZyDOUCgoTGcnvaDWtDB3LFjx2gqhoBcpaOdD75s2TKu8mF29IbVw8xuiE0IqR07dqSVN+L3sfaiktuzZw/aRsOGDYNe/KUem+hb5w8++IDL4aQem+jRuaTMg5XIQw89xJP9PYA8KSlJu2EeunR0cb6/JGiPMFe5MhHWrVtHvate06ZNT506xXME1K9fP1rkr3/9K1cFJLFJRAD6iiXoyEMxNp0/f17xxnTWUoxN5RzMHTp0CJMwT3JyMo3nUGzdurX2YLWgg7ni4mL6uqtFixZcVSovL48m+eY5PbOjN/fEJkBvSI/f8Qs9bNDjoqiE0CpoX9uwYQNXGVCMTb/88gv2YrBnv1CMTfoH5YJv/wPLly/nyd4+RD/cxVbS32Q4LS2tb9++vjsUhmS0eLt27bjKGLYPOpCUlJQtW7YcOXJkyZIlt912Gy2emprKMxkrKSmpW7cuZlZ/GJTEJhEB6NKtoKciKcYmuoc1RnJctotibCrnYA7dHzoL7TueNWvWYARc5iFZQQdzPXr0wFSkKy6XeuaZZ1CP5JSdnc1V/pgdvbkqNsHJkyfxJ5Q5PbxOnTqB7/4iKjkaLQQ9FUkxNtHwqX///lwOs6CxCV0KEiFiEGbToC89duxYmdyDcVdCQgLP4fH07t0bC/o+yWDmzJlIRUb9YZs2bbAs9sGglx7PmDGjefPm+udtI8zRDVxq164d9M60dDtlUD8iSGwSEQC7Fj1U9aOPPuIqf1Ri088//0zxJSsri6vsohKbyjmYgwMHDtB9nug1+i/fX+KCDuaoD4V///vfXHXtGoaJGJBB4K/9Qhi9uS02kZycnC+++KJ79+5Yt2HDhgX9jVhUcnl5eXTZ74oVK7jKH5XYdPDgwerVq0dFRX3//fdcFWZBY9OTTz6JGfyaO3cuz1Rq5MiRPK1UmStqMZxDsvnll1+47EM7hxK9OlcZ6NKli2+PRKeFQdBr8V599VWaU/1UUYlNIjIsXLgQLbV+/fr//e9/ucpH0NiEURE9ZdaeG++WETg2WT6YO3v27M033/zpp59y+XqBB3N4N3qQcMeOHc+fP4+azZs3N2zYEF35nDlzaB4jIYze3BmbCPWqb7zxBpeFMEbhA3tKgMYcNDZhB09JScE8Tz/9NFeFX9DYZKH9+/djGKwfkvlFT3DCpuCyge3bt/v+zIcBD5aFwF9WnTp1iq4LDvqceD2JTSJi9OnTB40Ve1FhYSFXXS9obMrIyMAMyByOXAkVODZZO5ijcy3Hjx/PZR9BB3NHjx6lU3yio6Mxhq5SpUqnTp0OHDjAk42FMHqT2CQqBow3unXrhgaD4ZnRz0NBY9Pw4cMxQ3JyctAnslnIttiE4VyzZs2WLFnCZWMYsNHpYurX02nokljtXsFGBg4ciNmaNGni93t9IxKbRMTAYZX2ogcffLCgoIBrdQLHptmzZ+PYjxCQmZnJVfZSPLfJEmlpaQMGDOCCgaCDOfT733zzzQcffLBu3Tr6zimo0EZvEptEhfHLL7/QZfA4JPu9nWzg2ER3o61evbrKDc8sZE9swnDurrvuUrm7FcFGwKbA9jT7UAQKr74DTr21a9diHowJ9+3bx1VqJDaJSJKdnU3nzbRt29b3vBmj2HThwgV6yA9iU9DfmMLHttg0Y8aMO++802+y1CvPYM5IaKM3iU2iIvnuu+9q1qyJZoMxie+5NUax6ezZs3R3j6ioqMBP7A8He2IThnP4FPQP+pu/BO6pVq9eHRsb27x5c+2UzaB2796Nrr59+/a+py5otm/fjg4ZY7xdu3ZxlTKJTSLCYGTQtGlTtNpq1aphJ9ffmcM3NmFwM3v2bDoTqEaNGgsXLuQJTrAnNtG5loq/QoY8mPMr5NGbxCZRwezcufNPf/oTdTsjRozQt23f2JSfnz916tT69eujHr2EhcMYdTbEJnTFVatWRaDBB0FGRgYqs7KyYmJiMNKjefxatmxZXFwcujWVjuXy5cvIWOiFApwMvnz5cuRaDBqDnl/ll8QmEXkuXLgwbNgwuj6cnis3ZMiQd955h+4s0Lt37w8//HD48OFdu3bVHgOC1yrn5YSVDbFp//79+JMxWn344Ye123NfvXrV6GwwCGEw51d5Rm8Sm0TFg8PqU089hZ0R7Qe7WLt27dLS0t59991XXnkFNY8++uiCBQvQj3Xu3Jl6BrjvvvtU7qofDjbEpt27d+fm5mJEN3r0aLr927x58+ix30iWPJOBn376CRsQAzwuG8NGxlBw27ZtXPZx/PhxHDsGDhyoeOKBL4lNIlL98MMP2jNlA7j11luXLl3qe6mF/cIdm/Ly8po0aRIdHU1/eFJSEl112KtXL7wO8KuZqcGcX+UcvUlsEhUV9gi6ejew1q1b+31stm1sOyWcnDp1CpER/RIGbOnp6SonvxcVFQW+XRx89tlnMTExgW8AAaF1UxqJTSKynThxYu3atVOnTh08eDAO/GjNSAD9+vXLyMj4/PPPDxw44PesTEeEOzbhnTHGKikpWb9+PT2StlWrVti377//fnQlgYdW6oM5X+UfvUlsEhUYxmzYR1atWjV58uRBgwbRCePoDR599NHx48d/+eWXBw8eDHpXxnCzOTaFw6ZNmzB4Q3LicthIbBIVR9AbEDgr3LGpjCVLlqSkpNSrV69Hjx4qZ0uoDOaMlHP0JrFJVB5Bb0DgiEiPTd999118fPw///lPLpf6xz/+sXz5ci5YRGKTqDgkNkUoiU2i8pDYZLl9+/bFxcVhk2Lgp9mxY8e0adNq166t+EBfdRKbRMUhsSlCSWwSlYfEJmsdPnyYfvf0q2/fvjyfdSQ2iYpDYlOEktgkKg+JTdZq1aoV1tzI+vXreT7rSGwSFYfEpgglsUlUHhKbIp3EJlFxSGyKUBKbROUhsSnSSWwSFYfEpgglsUlUHhKbIp3EJlFxSGyKUBKbROUhsSnSSWwSFYfEpgglsUlUHhKbIp3EJlFxRERsysvLKxTXq1u3LraMxCZRGUhsinQSm0TF4fLYhHUTAeTm5vKWchOJTcJaEpsincQmUXG4PDYlJSVh9WrUqBEnrofNAleuXOEt5SYSm4S1JDZFOolNouJweWwSkUhik7CWxKZIJ7FJVBwSm4TlJDYJa7kzNmVkZGCtoIYIhjbU2bNneduVj8Qm4SSJTcJyEpuEtdwZm3bu3PlHFhDKrDqpQGKTcJLEJmE5iU3CWu6MTVBSUsKXtopgrl69ylut3CQ2CSdJbBKWk9gkrOXa2CQcIbFJOElik7CcxCZhLYlNQk9ik3CSxCZhOYlNwloSm4SexCbhJIlNwnISm4S1JDYJPYlNwkkSm4TlJDYJa0lsEnoSm4STJDYJy0lsEtaS2CT0JDYJJ0lsEpaT2CSsJbFJ6ElsEk6S2CQsJ7FJWEtik9CT2CScJLFJWE5ik7CWxCahJ7FJOElik7CcxCZhLYlNQk9ik3CSxCZhOYlNwloSm4SexCbhJIlNwnISm4S1JDYJPYlNwkkSm4TlJDYJa0lsEnoSm4STJDYJy0lsEtaS2CT0JDYJJ0lsEpaT2CSsJbFJ6ElsEk6S2CQsJ7FJWEtik9CT2CScJLFJWE5ik7CWxCahJ7FJOElik7CcxCZhLYlNQk9ik3CSxCZhOYlNwloSm4SexCbhJIlNwnISm4S1JDYJPYlNwkkSm4TlJDYJa0lsEnoOx6bDhw//JOyyd+9e3u6uIbFJWE5ik7CWxCah52RsWrx4MdqisNOdd97JW98dJDYJy0lsEtaS2CT0nIxNkydP/uNI7vG0EOFHm7pZs2a89d3BnbHp5MmT0dHRHTp0wIqJAHr06IH/vh9++IE3nDu4Mzbt3LkTa3XvvffythP+9O7dG1tp06ZNvNXcQWKT0HMyNv3jH/9AW/zLX/7CZRFOn3zyCbb2448/zmV3cGdseuKJJ7BWQlGjRo14w7mDO2MTgjhtLqGCt5o7SGwSehKbKguJTeo++ugjrFVMTAxWTwRw8803Y0ONHz+eN5w7uDM2jRgxAmvVpk0b3nbCn+7du2MrDR48mLeaO0hsEnoSmyoLiU3qKDYNHDiQy8LAX//6V2yo119/ncvu4M7Y9Morr2Ct3nrrLS4Lf9577z1spaeffprL7iCxSehJbKosJDapk9ikSGKTOolNKiQ2CfeT2FRZSGxSJ7FJkcQmdRKbVEhsEu4nsamykNikTmKTIolN6iQ2qZDYJNxPYlNlIbFJncQmRRKb1ElsUiGxSbifxKbKQmKTOolNiiQ2qZPYpEJik3A/iU2VhcQmdRKbFElsUiexSYXEJuF+Epsctn///m0GTp06xTNZQWKTOolNiiQ2qZPYpEJik3A/iU2BFBQUrF+/ngtW27hxY6NGjbAFjEyaNIlnLbVy5cqSkhIumCSxSV1ExCarGmd5GpXEJnUREZssaVTlaVESm4T7RVJsWrFixQsGhg8fnpGRMXv27K+++gp7Pi9QPjt37mzRokWYHhyxZcuWmJiYevXqxcbGYiPUrVu3cePG1atXx+v4+Hi8hm+++Ybn9jpx4kSNGjVSUlKOHTvGVWZIbFJnNjbZ3DLBqsZZzkYlsUmd2djkzkZ16dKl999/Pz09/ZlnnpkzZ85PP/3EE0qVs0VJbBLuF0mxCVFj6NChiYmJWEovKiqKX3nFxcWNGzfu6tWrvFhI5s6di0DTsmXLnJwcrrJOYWHh7bffvmrVKrxGD4h1Xr16NV5jtfEaHYd3Lj++/fbbhISE2rVrb9u2jauUSWxSZzY22dkyIYTGuXjxYhxo+/fvv2HDBq4qVZ5G5c7YNGrUKBeuldnY5MJGhY4L69O+ffuOHTvSamCkh46FJ5cqT4uS2CTcL/J+pMOuiKU0U6dOLS4uxhho69atXbt25VqP57777jt37hwvY9Lbb7+Nd0CyOX/+PFdZ6vfffz98+DBeoLP705/+VK9ePfwJKN5777343IMHD3rn8u/IkSPoudAloW/iKjUSm9SF9iOdDS0TQmicZ8+erVKlCn16VlYW1+qE3KhcEpuKiop27949Z84cdCatW7emIzr+bdOmTXp6+rx58/bu3Uu7mINC+5HObY3qt99+oxfvv/8+fXS1atVOnz5NlZqQW5TEJuF+kRebDhw48MfO6hUfH6/vDa9cudKhQweeFuq39PPnz8cxpkGDBr59geW++eYbrGdaWhpeY+Xx56CvoUkBZGdn16hRo27dukePHuUqBRKb1IUWm8LdMiG0xrl48WL63BtuuAFrwrXXC61ROR6bSkpKPvjgg8aNG9MfSKpWrar9q7nllluwC5T/W5mQhRabXNuosOXRnOijp0yZwrU6obUoiU3C/SIvNmmjHHj44Ye5ttTSpUt5msfTpUsXrlWGMWtMTAyWXbBgAVeF04svvojP2rhxI16jl8HrRx99lCYFhs4XM7dr166wsJCrgpHYpC602BTWlgkhN85hw4bR5w4ZMoSr/AmhUTkbm/bs2YO19f5lnkaNGg0YMOBvf/vb3r17R48eTWuFLTZr1qz+/fsnJSXRbCkpKfv37+fl7RVabHJtowJ03fTRgwYN4qrrhdCiJDYJ94u82IQDP5Yi8+bN49pS+/bt42keT3R0tKnzJTFzixYtsGDnzp25KpwwWERfn5CQQF8AzJkzBx+Nfp+mBoZuCAti/hdeeIGrgpHYpC602BS+lgnlaZytWrWiz122bBlX+RNCo3IwNqH3qFatGj69cePGCxcu1H+L5ntKeElJyfz58xs2bIj6GjVqYF/gCTYKLTa5tlEB/UXQs2dPrrpeCC1KYpNwvwiLTegc69evj6XIiRMneEKp9evX8zSPB6OooqIinqBg/PjxtODatWu5KpymT5+Oz3rppZeoiH0SRfUOPSMjA/NXqVIlOzubqwKS2KQuhNgU1pYJITfOM2fO0IlNcXFxv//+O9caMNuonIpNdHDFej777LO+f5TRlXQXL14cMmQIJkVFRaHhca1dQohNrm1UhFoLPPDAA1zlw2yLktgk3C/CYtOOHTuwCGnZsiXX6qCv5MkeT7du3bhWQX5+foMGDbAUBqN4zbVhgyMNHcy0K3jvvvtuFJs3b37y5EmqCUzbFP369eOqgCQ2qQshNoWvZUJ5GucXX3xBH5qamspVxsw2Kkdi09atWxERsPvgYMZV1wt8A4IpU6ZgavXq1Xft2sVVtgghNrm2UZGRI0fSR6enp3OVD7MtSmKTcL8Ii00TJkz4Yxf0evnll7m2VE5OTr169Xiyx/Phhx/yBAX0Gxnce++9XBU2fo9kGLFRZeATUDQlJSW1atXC/Dh+/PDDD1xrTGKTuhBiU/haJoTQOM+cOYM006VLl/j4eFo2Li7uySefXLp0aYCfcsw2Kvtj07lz5+i3NmQjrvIR9L5NdLJX06ZNL168yFXhF0JsclujKuPPf/4zvcO4ceO4yofZFiWxSbhfhMWmzp07YxFCZ1Jrdu7ceccdd/A05fChoS97YPr06VwVNmPGjMEHJSYm/uc//+Eq76116dxM9S6jZ8+e3lX2oHvlKmPujE3US1aA2BS+lgmmGufBgwefeuqpGjVqYP4mTZrQgkBHL+jUqZN2GbkvU43K/tiE7gKf2LVrV/3JTGUEjU1FRUV0Lvnw4cO5KvxCiE3uaVS+vvrqK1oc5s+fz7X+mGpR7oxNU6dOxVpJbBIkkmLThQsXoqOj/9j/vBYvXpyZmblw4cJJkybdc889XOsdVU+bNi1Ar+oL3SiWosXXrVvHtWGDMe6mTZt8b5Fy4sSJrVu3Xr58mcvB0O0x4a677uIqY66KTTgG9OnTR7u+CRt/6NChx48f58lOMxubwtcywVTjxMGsdu3amPOWW27Jysr69ddf6bfgbt26nTp1KiUlxfs2nj//+c9GyclUo7I5Nn3//fdRUVFIhEeOHOEqf4LGJsjOzsYoBegOajYwG5vc06h85eXlJScn0+JAd+s1YqpFuSo2ubybEk6JpNj05ZdfUvM1cuutt44aNUr/FY4iun8SwTCOa11v7ty5tM7o/YOeneCS2FRQUICuh47lZaBXwn8Ez+cos7EpfC0T1BsnVpsuLrv99tsRmFDz+eef04IzZ85E8fTp03Xr1qWaRYsWeRcqy1Sjsjk2ofXi40aMGMFlAyqxCdLT0zFbgPNyrGU2NrmkUfn1yCOP8MJeBw4c4An+mGpRLolNEdFNCadEUmyibo6gTU+ePBmHBy57PO+88w7PZx5FCmLq5mzO+uyzz3ilPZ6gT4BySWx66aWXaIX9qlev3o8//sizOsdsbApfywTFxrl582bq5Rs2bJiXl0eVzz33HC2oHVxxQKIao591TDUqO2PT+fPnY2Njo6OjfS8oK0MxNh08eBBbrFatWkEvMLSE2djkhkblF11/9+ijj9LiSOqB78BuqkW5JDZFRDclnBJJsUn7WhidHQ2m9Tu/0b1DVKAP4nfxeLRDji8M2ceYR8+e08OQK1UBhnS8gAH95cc7duzgWgNuiE1ZWVn04IsAmjRpUhLq49OtYjY2ha9lgkrjvHLlinZMnTVrFtdeu9ayZUvUtG7dmsvXrj3//PM0m9Gtekw1Kjtj06efforP6t69O5eNKcYmoJOaA//GZBWzscnxRuUX/hewPq+99tqMGTNo8dtuu42nGTDVotwQmyKlmxJOiZjYhHRP7RW0w0BBQYF2LQka+s8//0z1Zmn3L8GbGD1+AfU0j1m+p51evHiRpwUUFxfHCxjQX58ctOt3Q2wa4r1rTlArV67kBRxiKjaFtWWCSuPUfgdJSEjQfgfR7tiUkZFBNdCvXz+a0yiUm2pUdsamESNG4LNUTitWj00vv/wy5hw7diyXw8lUbHJDo/K1efPm2NhY2i+0fTnogw1MtSg3xKZI6aaEUyImNs2cOZMaK2i3iIRnn32Waz2eiRMncq1JkyZN4rfweIy+cEbn0igkvlfn4iNWKAjaxezevZtX2uPx/U6rDDfEJv2vDAFgLMsLOMRUbAprywSVxqltWP1l6tqj6NBOuOratdtuu40qjVKFqUZlZ2zq27cvPuvTTz/lsjH12DR//nzMOXjwYC6Hk6nY5IZGVUZ2dnadOnU6dOhAT0rRrvILcPcBYqpFuSE2RUo3JZziJzZ9/PHH9evXrxt+1Pjatm3LHxxQr169aH5Ys2YN1167tmvXLq713oiFa02aN28ev4XHk5uby7Wut2HDBl5pjyfok8bp4VbVqlXjre8EWtWgMKLlBRxCq9GiRQvedgGFtWVC0MZZVFREZ4KD/lLwF154ATUI7lz23kQH25bmNLp+ylSjoqN4De8TW8ONLiuLi4vjsjHvuv+By8bwbpgN78zlcKJVGjZsGG+7gBxvVGXk5OQkJSXFx8drJydp15dhPEY1Rky1qGnTpmE2Z3sAWtWgHO+m3Ik2TlRUFJcrIj+xST/QsUGzZs34g40VFBRQBwdorGUu0dceuQVbtmzhWjOWLFnCy3s8hw4d4lrX059rGfiSbKBhnFCHAwNvO2PhbpkQtHFmex8CTTZv3sy1pYNmJBsu675/SkxMNLrTo6lGpT9tWahIS0vjbWfMDY1K78yZM82bN8ecGFFz1bVrdGMwCLoOplrUW96n/wrhatxar4cu9bfwe/vtt7ECKj/S6U8q7Nq1K9eWooe7Eb/fty9atOhGHxiFX7p0iWbYu3cvL+/xfPfdd1Rpp6KiIsWvyvW0+/xWq1ZN8QYE/fr1463vBO159YGhd+YFHEI3BVb5ka6cLfPq1as4kJS5Kmffvn36TBO0cdK50iQnJ4cqz507hwEfarCGVFNSUkIHPzC6+wCYalT0I11GRgZvuHDq06cPPmvhwoVcNkY3AX/11Ve5bIz+ox9//HEuh9PQoUPxWSo/0rmhUWl+//33Dh06YDb9pZeFhYW0LOzfv59rDZhqUTS6w2fxVnNCpHRTrpWXl8evKqjIOLeJzgYlvr/o5+bmxnjvrw01a9bUwpBmwIABmNSgQYPGXnQ/QP2zCNDR3HDDDd43+OO2clwbfvjcWbNmtW3bFh1KdHQ0xpEffPABT1Pw+uuv0zobXRWl54Zzm1S+yMQ4+/Tp07yAQ9TPbQq5ZWZnZ7dv356+VIiPj9fufbp06VLUoJUiSVNN0Ma5bt06mgo4OlLlsmXLUKxTp472PtrRy/dIrGeqUdl5bhNdA/jmm29y2Zj6uU1jvPfrx79cDif1c5vc0KjIlStXHnzwQcyTmJio/yC8Dy0LQS+OM9Wi3HBuU6R0U8IpkRGbbr31Vmqs8PXXX3OtzkMPPcSTPZ558+ZxbamkpKStW7fSa+zwOGygY6WiBnmCFn/xxRe5KsyKi4vvv/9++lC9KVOm8BzBaFdF4ejFVcbcEJsuX77csWNHWmcjs2fP5rmdox6bQm6ZOG5hHL9kyRI6BL777rtU//PPPyProAaHQKqBwI3z+PHjNBW0BIA5UdT+uzdv3vzHT/IeT3JycuD7YptqVHbGJowo8FkBHravUY9NXbp0wZz2jJTUY5MbGhXRbl80d+5criqlPetQ/82l3ztgmWpRbohNkdJNCadEQGzauXMntVTi+2USLF++nCd7z+TVBlWArkTLTJCWlta3b19UcrkUjc6hXbt2XBVm48ePj42NnTx58qFDh3bt2vV///d/2rMU9uzZwzMZKykpoQNhlYh6lO+5c+foZkJ+oYf1/a+xn2JsKmfLJI899hgm6QfiiDi1atXS3xUmaONMTU2lGWrWrEmj/7Zt26JIp+suXLiQzhnHwYDuAGTEbKOyMzZhzatWrVq9evUzZ85wlQHF2IQwQW944cIFrgonxdjknkZFPQbceOON+gXJnXfeSVOxAjk5OYWFhRMnTuzVqxdPLmW2RbkhNkFEdFPCKa6OTfn5+Rs2bMBuSY2VjBs37tixY2VabXFxcUJCAs/h8fTu3RsL+j6naebMmegjjG4K3KZNGyyLnvQ34wedWgW9Sf369ct8MYYRDK0/shRXGcMwlGb27ar8cklsgpMnT6LfwXam9ScYDS9YsIDncFrQ2GRhy6RHomJraGlg5cqVvg+lD9w4Dx8+3LhxY+8n/HH5GKUZmDp1Kj1INSoqavDgwQUFBbyAAbONys7YBNh6+DiMN7hsQDE20U2bbNsjgsYmVzUq7KTas5/9Xv2n3e6SYMiHFuj7pBezLcolsQnc300Jp7g6Nj355JPUWH35fmk8cuRInlaqzD1C1qxZk5yc/Msvv3DZB50BAP/617+4KmwyMzP1924m6Bzpq+8BAwZwlTE6NoDi1TTuiU0EI9QvvvgCARHZcffu3b4jZgcFjU0Wtkz84XR80lrdQw899Pnnn9NrTdDGefbsWQQj7XaImptuumns2LGKt0Y026hsjk3btm3Dx2EfOXXqFFf5oxKbcICPi4urUqWKyje7lggam1zVqDIyMmgS+D3hEtGNTtInDzzwgN8vMs22KPfEJuLmbko4JTLObSq//fv3JyUl/fvf/+aygYcffhirlJKSwuWwyc3N9XvdL30zHPT8Khw2KGCpP4jUbbHJzdTPbbIEnapCdwrIzs6+5ZZbfH8TAZXGiYMZjk/dunXDnCNGjNi1a5fvd65GQmhUNscmoG2FTcFlf4LGJoxP6Eu4QYMGcVX4qZ/bZAkLG1UA6FcRqvSnTOmF0KLcFpuE8FUpYhMG4s2aNVuyZAmXjZ0/f55+7LDzejo9+rYg6KfjiI7ZmjRp4vfUB78kNqmzOTbRj7MdOnTA69TUVKPvk9QbZ6dOnapWrWr2Sp8QGpX9senEiRN0roz+0XtlBI1NWGHMkJCQoHKnR6vYHJssb1QhCKFFSWwS7lfxY1NRUdFdd92lct0y+fbbb6tXr56YmFieRz6FZsuWLdggjRo1Kg54D6e1a9diNgQs7WpzFRKb1Nkcm/bs2YOPq1Wr1vr169u0aVPmRBY9lcaZn58fGxuLNs9lNaE1KvtjE+AAX6VKlZiYmOXLl3PV9QLHpo8//jgqKgqxUrujlT1sjk3WNqoQhNaiJDYJ96v4sSktLQ2fghGPfnga+NzY1atX48DTvHnzwJcdWY6uh1qxYgWX/dm+fTu6wvj4+F27dnGVGolN6myOTSUlJXSvHRxj8P/LtQaCNs7NmzfjraZPn85lBSE3KkdiE4wdOxafi+SE4ZBvIDCKTdjOGRkZdJLvtGnTuNYuNscmaxuVWSG3KIlNwv0qeGyaPXs2ekmMTfFBQI+Cz8rKQoc7Y8YMmsevZcuWodNJTk42NVQqD3pm3PPPP89lfzC8rlmzZuPGjYOepOVLYpM6m2MTpKSk4BOfeuopLgcUuHFOmDABb6U9Oyyo8jQqp2ITjBs3jvbr9u3b6+8wAn5j01dffUVPm4mKipo6dSrX2sjm2AQWNipTytOiJDYJ96vgsWn37t25ubmnT58ePXo0jb3mzZu3Y8cOvBgxYgTPZOCnn35q165dYmIil8Pp4MGDWL3U1NQAJ/AeP34cERDHcu3mv6ZIbFJnf2x67LHH6tevf/bsWS4HE6Bx9uzZE/mAC8GUs1E5GJtgzZo1jRo1wgpAp06dkBe3b99eUlKixabi4mKMkcaOHdvB+3gQaNKkSWZmJi9vL/tjk4WNSl05W5TEJuF+leKUcHLq1Klhw4YlJSU1b948PT09Ly+PJxgrKioyukjEQvn5+W3btu3WrRtecJWBEEZvGolN6myOTRcvXqxXr57RmTpG/DZOxO5atWrRt6qKytOonI1NcOnSpYkTJ9ItsElsbCxdvYVKusknQYCYMmVK0F0sfGyOTRY2KrPK06IkNgn3q0SxyZ3o9id33nmn+sUmoZHYpM7m2IT/FBxTuVBua9asOXnyJBfCzPHYRC5fvrx27dpRo0Z16NCBnitCEJs6deo0ZsyYDRs2GN3k1jY2xyZrG5VtJDYJ95PY5KQrV66gd2vTpk2Zr74QoZ544gkuWERikzobYtORI0foV4wpU6Z0797d7z113M8lsUmvqKjo2LFjy5cvz8nJwWuudQEbYlMFaFQSm4T7SWxyUnp6eq1atTIzM7N10OP36NHjueee45ksIrFJXbhjEw5vVapUqVmzZs+ePe++++7Lly/zhEjjwtjkWuGOTRWjUUlsEu4nsckx9EgsI5ZfwSexSV24Y9OFCxcSExNr1649bNiwoM+JczOJTerCHZsqRqOS2CTcT2KTM7788kv87UbC8XQXiU3qbPiRrri42FU/IYVGYpM6G36kqwCNSmKTcD+JTZWFxCZ1NsSmikFikzobYlMFILFJuJ/EpspCYpM6iU2KJDapk9ikQmKTcD+JTZWFxCZ1EpsUSWxSJ7FJhcQm4X4SmyoLiU3qJDYpktikTmKTColNwv0kNlUWEpvUSWxSJLFJncQmFRKbhPtJbKosJDapk9ikSGKTOolNKiQ2CfeT2FRZSGxSJ7FJkcQmdRKbVEhsEu4nsamykNikjmJT06ZNs0RA3bt3x4aS2KSCYlNqaipvO+HP4MGDsZXS09N5qwnhPhKbKguJTepefPFFbCuhqF27drzhhLGkpCTeXkIBbzUh3MfJ1jlt2jTaQ+4T4UebulWrVrz1hbGjR49iW9WpU+cuEdBNN92EDbV9+3becMLYxo0bsa2aNm3K207406JFC2ylxYsX81YTwn2cjE3jx4/HHiJsxltfCCGEECY5fBD9+OOPV69evU7Y4r333svPz+dNL4QQQgiT5LsHIYQQQgglEpuEEEIIIZRIbBJCCCGEUCKxSQghhBBCwbVr/w8Hrqhi4fPuHQAAAABJRU5ErkJggg==" + } + }, + "cell_type": "markdown", + "id": "8b474663", + "metadata": {}, + "source": [ + "![circuit2.png](attachment:circuit2.png)" + ] + }, + { + "cell_type": "markdown", + "id": "9d16e806", + "metadata": {}, + "source": [ + "Figure 3:\n", + "Parametrized two qubit unitary circuit for $N(\\alpha, \\beta, \\gamma) = exp(i[\\alpha \\sigma_x\\sigma_x + \\beta \\sigma_y\\sigma_y + \\gamma \\sigma_z\\sigma_z ])$ as seen in [3], where $\\alpha = \\frac{\\pi}{2} - 2\\theta$, $\\beta = 2\\phi - \\frac{\\pi}{2}$ and $\\gamma = \\frac{\\pi}{2} - 2\\lambda$ as seen in the circuit. This two qubit unitary will be applied to all neighboring qubits in our feature map. " + ] + }, + { + "cell_type": "markdown", + "id": "d4972aa4", + "metadata": {}, + "source": [ + "### 2.1 Convolutional Layer" + ] + }, + { + "cell_type": "markdown", + "id": "7332be0a", + "metadata": {}, + "source": [ + "The next step in this tutorial is to define the Convolutional Layers of our QCNN. These layers are then applied to the qubits after the data has been encoded through use of the feature map. \n", + "\n", + "To do so we first need to determine a parametrized unitary gate, which will be used to create our convolutional and pooling layers. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "809524ce", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAB7CAYAAACIG9xhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAYfklEQVR4nO3de1xUZf7A8c/McFXQQFQUEbnvisriHbwAZXnZfqmlbki/3dRfumC5lq57Mbssqb1Ky9/vldnNsu2iJa9W3dLd1AAlslLzgpdFxbsoKgKCgDLD749TGArDAWfmnIHv+/WaV3DO4TnfHp8z3znP85xnDDU1NTUIIYQQKhi1DkAIIYTzkKQhhBBCNUkaQgghVJOkIYQQQjVJGkIIIVSTpCGEEEI1SRpCCCFUk6QhhBBCNUkaQgghVJOkIYQQQjVJGkIIIVSTpCGEEEI1SRpCCCFUk6QhhBBCNUkaQgghVJOkIYQQQjVJGkIIIVSTpCGEEEI1SRpCCCFUk6QhhBBCNUkaQgghVJOkIYQQQjVJGkIIIVSTpCGEEEI1SRpCCCFUk6QhhBBCNRetAxDiJ//5Cq4WanNu704Qebc25xYtm1bt2l5tWpKG0I2rhVB8RusohLCtltaupXtKCCGEapI0hBBCqCbdU6JWWSUUloLZAu6u0Lk9uEsLEU6spgaulCsvSw20dYdO7cDFpHVkzkveElq5wlL4+gjsPQXF1+ruMxjAvz0MCIZBocoFJ4Te1dTAiUuQnQeHC6C8qu5+kxG6d4DBoRATBG7yLtgkUl2tVOUNWL8bvjna8DE1NVBQDBt+gE374P5fwbBIMBocFeXt5qxI4NDJbzCZXDEaTfj7BDP5nvnER0/ULiihG1fKYc0O+M/5ho8xW+D4ReX1xV6YNBB6dXNcjPVxpnYtSaMVOl8Cb2VAUbn6v7lhhn/sggNnYepw8HC1X3yNSR6xgOQRT2M2V7M+5zUWfzyZsIAYAvzCtAtKaO7gWXg/G6qq1f9NaQW8kwVDI+DBfmDUcJTXWdq1DIS3MoWl8NrmpiWMn8s7D29+1bQL015MJhdGD3oMs6WaY+f2aB2O0NChc7Ayq/ntMjsPPv1OubvWmt7btSSNVqTaDKuyoayq4WOWJSsva45fgn/+YNvYmuNG9XU+z1kBQDe/CI2jEVopqYC/fw1mK2/4atr1jmPwbb5tY2sOvbdr6Z5qRbYehHNXbFNWdh7EdIfQzrYpryk+3rqQtVlLqKi6isnkylMT3yGkax8ANn23ki27Pqg9tqAon97Bw/jL5I8cH2gjKm/AjWpo464MzormSf8OKq7bpqx1u+CXXaB9G9uU1xTO0q513VQtFgtLliwhPDwcDw8PoqOjycrKIjIykunTp2sdnlO5Xg2Zh2xb5uYDti1Prcn3zGddWjHpz11i4C/GsPdoRu2+0QOnsTQlk6UpmcxPXoOHW1umjFqoTaANOHgWlm+BP38KCz6D+enKm1VphdaROZ+CYthvw6etK28oH4i04CztWtdJY9q0aaSlpTFjxgw2bdrEpEmTSEpKIj8/n379+mkdnlP54SRU3LBtmYcL4NJV25bZFN5tfHhq4jt8e/gLcnLX19lnsVhYvDqZaaMX4+/bQ5sA65FxCN7KhKM/W4uo8gZkHoalm6CoTLPQnFLOEduX+c1RpStXK3pv17pNGqtXr2bVqlVs2LCBuXPnkpiYyPz584mNjaW6upq+fftqHaJTybMyBfFOHLlgn3LVatfGl4eGPcW7//orFouldvsHm58n2L83Q3qN0y64W5y+rExzhvoHXEsr4KNvHBuTs7M2tba5yqqgoMT25TaFntu1bpPGokWLGDVqFPHx8XW2h4WF4erqSp8+Sl/fiRMniI+PJyIigt69e7N9+3YtwtW900V2KveyfcptivHD/kBRaQGbd/0dgN1HtrIr70se+/VLGkdW1/Y8sPaISw1wrFDpchGNq7wBF0vtU/YZO10vTaHXdm2oqdHDJLO6zpw5Q2BgICtXrmTq1Kl19iUlJXH48GF++EGZvjNy5EjGjh1LamoqOTk5TJw4kePHj+Pm5mb1HAaDhk+oaSDl7VLcPL1rf29sJklDZt8y7pa/ewP/fGXsHUR205LfZxAdmnBHZRSVnmfum4ksmrapSbfve49lMveNxDs6d2Om/u9JvDt0b/S4jPcfZ9/m5XaNpSW4q3MYv1tat3/KVu16x2fP8e1nzzczsrq0atdNbdNqU4EuZ0+dOaOMbPn7+9fZXlFRQVZWFqNHjwbg0qVLZGdns2HDBgDi4uLo2rUrGRkZjBw50rFB652dkqTBoK+b1Q+3pFFeWcLLnzxauy2wYySzJ7ypXVA/MhjVLXhkVHlcq2fHD34Gq/eEjqendq3LO42jR48SHh7Oq6++yuzZs2u3P//88zz33HMsX76c1NRUdu/ezYQJE8jPvzm5etKkSYwYMUJmV90ibT1cVjHI+tMntVs/eTVkYAhMjm1+XD+3c4123ztwVzfo/7B9z7EyC3LPKN1Q1sy6F0I62TeWlqC8Spl5pkZT2/VD/ZUlc2xBq3ZtrzatyzuNkJAQ+vTpw6JFi/D19SUgIID09HQ2btwIIDOnmiHAR13SaKpAX9uX2VINjbA+PdSAsrJwcEeHheTU2rqDb9vmr25gTTdp1w3SV9/Cj4xGI2vXriUqKoqUlBSmTJmCn58fM2fOxGQy1Q6Cd+/enQsXLlBVdfMR5+PHjxMUFKRV6LoVaqdPrvKJWL0If4gLr3+fwQCuLpAca9delxbHHu3a3UX5kCXqp8ukARAREUFGRgbl5eWcOnWKtLQ09u/fT8+ePfH09ATAz8+PIUOGsHLlSgBycnI4e/YsiYn2HdB0Rv2Dbf8dAkEd5OJqCoMBJg6Acf2gvWfdfb/sArPvg8AO2sTmrGLtsJZf/2BZLt0a3SaN+uzcufO2rqk33niDNWvWEBERwfTp01m9enWjM6dao7buMDjEtmUm9rRtea2BwQAJv4Bnx93c9tx4mJ4IXSUBN1lwRwjys115JgMMt9FYRkvlNPm0rKyMvLw8UlNT62wPCQlh27ZtGkXlXO6Pgdyzt3/ZUnP07gbRgXdeTlOt3PgXDpz4mqgeQ+jWMZI1GYuZ/dBbRIfG82nmy+QcWE9nnyD++JtV3KiuYt5bIwjoEMafJ3/o+GCt+PkS3HdpsM5RS2EwQNJgeHmj8j0Zd+q+3sq4kl5cKjnLp5kvkxiTxBsbnsRgMBIZOICUB17VLCanudPw8vLCbDbzxBNPaB2K0/Jwhd8Osd5NNfujxmeY+HkpX1zj6L734+dzKa8s5ZXUbZReu0zl9XImxv+R6NB4rpQVsudYBstmZhPcpQ9f567D092L+clrHBukcDj/9jBhgPVj1LTrCH8YEWW7uGxhV95m+kXcS+e7gnh5xlcsm5lNcVkhxwv2axaT0yQNYRshnWB6QvO/+7ujN8wcAd6ejR9ra7nHs+kfcR8AfcPvrfM8Q97pnUSHJPy4bwSHTsp6HK1JbJgyTba5n2Miu8C0eG1XG957LJPxz/gwZ0UCyQuDeOa9sezLz6JPSDy+7fxxc/UAwGR01fRZHkkarVCEP/xxDIQ1cVnzoeEwdzT4tLVPXI25eq2I9798ljkrEvh460KuXru51kN5ZTFtPNoB0NajPWWVxdoEKTQzLBJm3ad8sFHLxQgPxMCMhOZ/kLKV3sHDiQwcyNKUTPqExDPrwdepvF6Op7tX7TH55/ZRUn6RoM7aDSg6zZiGsC0/b0i9R1mm++sjcPhc/Q+duZmgbw/lGQOt5657t/HldyP/RlzUA+w4+DkXS24+9NDWoz0Xf3yC6lplKV4ed2kUpdBScEeY92vYfUJZ4ryhNde83GFQKAwJB1+v+o9xtIKifLr4KrNVLpacprjsIiFdo2v3l14r4rV1j/P0I59qFSIgSaNVMxqgVzflVXUDzl6B/9us7EuOVWbz+LfXzxcE9QoeypffryIu6gH2HsvE3zcYk1FpwhGBA9iQ8zq/SZzH7iNb+GXQYI2jFVpxNSkJYVAolFXCmSvwxlfKvt8OUR5I7eCttH89OXn+AEH+UZgtZgwGI7uPbKZf+L0AmM3VvLj6EabfvwTfdv6NlGRfOnk7EFpzd637oN6AEOUZDL0kDIBg/164mFyZsyIBF5MrHm43+8l8vDrRO2Q4s5cP5di5PcRFjdMuUKEbXh7wiy43f+/bAzq201/CADhx4QA9Okdxo7qK4rJCdh/ZQkS3/gBk7VtL3unvefuLecxZkcDBE9qN2cmdhnAq08Ysrv1527501mS8SIBfONGh8Tyc+CceTvxT7f6KqjJeXP0IkYGNTK0RQgcm3/PX2p/fnrOfrL2fYvxxbvbdMUncHZOkVWh1SNIQTmt4nwkM7zOhwf2e7l4sm5ntwIiEsJ346Elah1AvSRpCN7w1XMdKy3OLlk2rtmWv80rSELoRebfWEQhhey2tXetomFMIIYTeSdIQQgihmiQNIYQQqknSEEIIoZokDSGEEKpJ0hBCCKGaJA0hhBCqSdIQQgihmiQNIYQQqknSEEIIoZokDSGEEKpJ0hBCCKGaJA0hhBCqySq3jfjPV3C1UJtze3dqeStkWiN17ThS16K5JGk04mohFJ/ROorWQeracaSuRXNJ95QQQgjVJGkIIYRQTbqnhHCgC6Vw8Cycvnxz22tbIMAHgjpAr27gJlel0DFpnjYwZ0UCh05+g8nkitFowt8nmMn3zCc+eqLWobU4zlrXJy7Bxr2Qd/72fUcvKC8ATzeIC4P7eoG7q2NjvJWz1rWwL0kaNpI8YgHJI57GbK5mfc5rLP54MmEBMQT4hWkdWovjTHVttsDneyDzENSoOL7iOmw9CD+chOQ4CO1k7witc6a6Fo4hYxo2ZjK5MHrQY5gt1Rw7t0frcFo0vdd1tRne3QYZKhPGzxWVw+tbIVcnM5z0XtfCcSRp2NiN6ut8nrMCgG5+ERpH07Lpva7Tv4cDZ5v/92YLrNoOp4tsF1Nz6b2uheNI95SNfLx1IWuzllBRdRWTyZWnJr5DSNc+AGz6biVbdn1Qe2xBUT69g4fxl8kfaRWuU7NW14s+mszdMZMZ3PN+AJ5dNY7/ik2lf+R9Do0x9wzsOGb9mGXJyn9nW2kG1Rb4OAfmjAYXk+3iU8sZ6lo4lq7vNCwWC0uWLCE8PBwPDw+io6PJysoiMjKS6dOnax1eHZPvmc+6tGLSn7vEwF+MYe/RjNp9owdOY2lKJktTMpmfvAYPt7ZMGbVQw2hvV1NzczAWlH74wlLNwrHKWl2njF3Gqn8voKKqjO37P6OtR3uHv4lZLPCPXbYrr6AEvj5iu/KaQu913RizBfaeuvn7lgNwtVK7eFoCXSeNadOmkZaWxowZM9i0aROTJk0iKSmJ/Px8+vXrp3V49fJu48NTE9/h28NfkJO7vs4+i8XC4tXJTBu9GH/fHtoEWI+rlbDs38rUz59sOQCL/gmffKtceHpUX137eHVi/NA/sHz9LD7e+gK/f+BVh8d1qAAul9m2zK+PKIldK3qta2vOXYG09fDe9pvbPt8Dz34GmYc1C8vp6TZprF69mlWrVrFhwwbmzp1LYmIi8+fPJzY2lurqavr27at1iA1q18aXh4Y9xbv/+isWy8133A82P0+wf2+G9BqnXXC3MFvgja/g1OX6939zFNbtdmxMTVFfXY8c8ChnLuYxbsgs2rXxdXhMu0/YvszCUjij8diGHuu6IcXXlA9BJddu32epgXW74NtGug9F/XSbNBYtWsSoUaOIj4+vsz0sLAxXV1f69FH6VZ955hkiIiIwGo2kp6drEWq9xg/7A0WlBWze9XcAdh/Zyq68L3ns1y9pHFld+0/D2SvWZ/dk59V/8enFrXUN0LVDmGbTQhtKwHdcrg4GxPVW1w3Z/h+4dt16u960T+lKFE2jy4HwM2fOkJuby5NPPnnbvlOnThEVFYW7uzsAo0aN4tFHH2Xq1KmODrPW0pTM27a19WjHZ39TrvKi0vO8tu5xFk3bhKuLm4Ojs+67fDBg/eKqqYHdJyHxl46KqmGN1bXWqs1w8ap9yj5fbJ9yG6L3urbm2/zGjym+BscKIdzf/vG0JLpNGgD+/nX/NSsqKsjKymL06NG12+Li4pp1DoPBoOq4Jb/PIDo0oVnn+MmHW9Ioryzh5U8erd0W2DGS2RPetPp3WVmZDEhKvKNzN+bhtJ10DrY+PlRjsfBM2lKyV8+zayy2qOvmslVdu3l6k/J23RkEP82SakhD+2+dVbXirXeYMPCxO4juppZQ19bM+ns1BmPj083ufzCJvG/W2DUWZ1GjctBMl0nDz88PgLy8PMaMGVO7/aWXXqKgoEC3g+ANmfXgcmY9uFzrMOpVUVqIxWLGaOUCMxiNVFy95MCo7ty8h1dpcl7zjSpAuQDVfjBRXfZ1fU770aquraksv4Knt1/jxzlZu9YDQ43a9OJAFouFmJgYCgoKWLJkCQEBAaSnp7Nx40ZOnTrFjh07GDRoUJ2/SUhI4PHHH2fChAk2jWXnGu2+d+CubtD/YfueY+dx+DDH+jEGYMFY8PWycywtpK7T1qubPaXmOY2fmzAAhtroubqWUtcN+ccuyGpkhpS3Bzw3Hky6HdnVJ11Wl9FoZO3atURFRZGSksKUKVPw8/Nj5syZmEym2kFwced+1R06eiuJoSEDQ+yfMFqSQDtNIrJXuS3R8EhlwUdr7Xpkb0kYzaHbKouIiCAjI4Py8nJOnTpFWloa+/fvp2fPnnh6emodXovhYoKZI6Bze+V3g0G50H662GKCYOJAraJzTjFBti+zgxcEdrB9uS1VBy9IuRvaKPNllHb9swwyqg8MCdcmNmenyzGNhuzcuZPBgwfX2bZgwQLee+89Ll68yP79+5k9ezZZWVmEhoZqFKXzuasNzBsDB8/BnpNQcQN82sCgUHmjao5e3aC9J5RU2K7MIeFgtO0QSYvXww+eHafM/Dt0Tnkmyb89xIYpSUU0j9MkjbKyMvLy8khNTa2zPS0tjbS0NI2iappLJWd5Ze3/UF5ZgsFgJDJwACk6eYrWaFTe7Hp10zoS61Zu/AsHTnxNVI8hdOsYyZqMxcx+6C2iesTx1OvDOX5+P288uYcAvzAqqsqY99YIAjqE8efJHzosRpMRxvWD97NtU15Hb9uNZTRFQ3Xdyac7L635LQYM+LXvxp+SPsBkNPH0u/dTVlHMspk2+h+3ATcXGByqvIRt6LZ76lZeXl6YzWaeeOIJrUNptl15m7mn7yO8POMrls3MpriskOMF+7UOy2kcP59LeWUpr6Ruo/TaZSqvlzMx/o9Eh8ZjMrrw/KPrGNb75kQIT3cv5idrM50yJqjxbqrZHzU+CG40wORYx3+bn7W69vK4ixemfM4rqdvw9w3mu8MbAXhh6ueODVJowmmShjPZeyyT8c/4MGdFAskLg3jmvbEA7MvPIi5qLG6uHgCYjK5Wp7qKunKPZ9M/QlkQr2/4vXXqzmAw4OPdWavQ6pU0GMLvICSjAR6Jg+COtotJLWt17d3Gh7aeyiCYi8kVo0HacGsiScMOegcPJzJwIEtTMukTEs+sB1+npqaGyuvleLornan55/ZRUn6RoM49NY7WeVy9VsT7Xz7LnBUJfLx1IVev6fvJZDcXeCxB6UNvKm8P+J946NvD1lGpo6auL5WcY1fe5trkIloHpxnT0KOi0vMs/KjuhHNfb38eHfUCXXxDALhYchq/9gEcPbuHkK7RAJReK+K1dY/z9COfOjxmZ+bdxpffjfwbcVEPsOPg51ws0cnX2lnh5gK/GaRMbf5ib+PrUrmalCnOY6KhrbtjYqxPY3V9vbqKlz/5HU9NfBuTSd5GWhP5174Dvu38612fJyd3PUH+UZgtZgwG5WZu95HN9Au/F7O5mhdXP8L0+5fg204WvWmKXsFD+fL7VcRFPcDeY5n4+wZjMjpHE47sorxOXVa+ze/0ZbhUpszo8XSDAB8I6gC/CoI2OlierLG6XpY+nQfiZsqdcivkHFeckzlx4QA9g2K5UV1FcVkhl0sLyDuzkwnD55C59xPyTn/P218o6zhNG72Ynj1iNY7YOQT798LF5MqcFQn0DIrFw60tZkt17f60DyaReyKbs5eO8JuEecT1GqthtPXr3kF56Z21uj544huycz/jwpWTfLZ9GeOH/oGhvcdrHLFwFEkadjD5nr/W/vz2HGV21LDeD2E0Grk7Jom7Y5K0Cs3pTRuzuPbnbfvSWZPxIgF+4USHxrPgv+t291VUlfHi6keIDBzg6DBbBGt1veGF25fyffrd+/Ft18WRIQoN6HLtKT1p6Wv06InUteNIXYvmkjuNRnh3ap3n1oLUteNIXYvmkjsNIYQQqslzGkIIIVSTpCGEEEI1SRpCCCFUk6QhhBBCNUkaQgghVJOkIYQQQjVJGkIIIVSTpCGEEEI1SRpCCCFUk6QhhBBCNUkaQgghVJOkIYQQQjVJGkIIIVSTpCGEEEI1SRpCCCFUk6QhhBBCNUkaQgghVJOkIYQQQrX/B4tOQFzavxheAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We now define a two qubit unitary as defined in [3]\n", + "def conv_circuit(params):\n", + " target = QuantumCircuit(2)\n", + " target.rz(-np.pi / 2, 1)\n", + " target.cx(1, 0)\n", + " target.rz(params[0], 0)\n", + " target.ry(params[1], 1)\n", + " target.cx(0, 1)\n", + " target.ry(params[2], 1)\n", + " target.cx(1, 0)\n", + " target.rz(np.pi / 2, 0)\n", + " return target\n", + "\n", + "\n", + "# Let's draw this circuit and see what it looks like\n", + "params = ParameterVector(\"θ\", length=3)\n", + "circuit = conv_circuit(params)\n", + "circuit.draw(\"mpl\", style=\"clifford\")" + ] + }, + { + "cell_type": "markdown", + "id": "6c1b7140", + "metadata": {}, + "source": [ + "Now that we have defined these unitaries, it is time to create a function for the convolutional layer in our QCNN. To do so, we apply the two qubit unitary to neighboring qubits as seen in the ``conv_layer`` function below.\n", + "\n", + "Note that we first apply the two qubit unitary to all even pairs of qubits followed by applying to odd pairs of qubits in a circular coupling manner, i.e. the as well as neighboring qubits being coupled, the first and final qubit are also coupled through a unitary gate.\n", + "\n", + "Note that we add barriers into our quantum circuits for convenience when plotting, however they are not required for the actual QCNN and can be extracted from the following circuits." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "68562ff2", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def conv_layer(num_qubits, param_prefix):\n", + " qc = QuantumCircuit(num_qubits, name=\"Convolutional Layer\")\n", + " qubits = list(range(num_qubits))\n", + " param_index = 0\n", + " params = ParameterVector(param_prefix, length=num_qubits * 3)\n", + " for q1, q2 in zip(qubits[0::2], qubits[1::2]):\n", + " qc = qc.compose(conv_circuit(params[param_index : (param_index + 3)]), [q1, q2])\n", + " qc.barrier()\n", + " param_index += 3\n", + " for q1, q2 in zip(qubits[1::2], qubits[2::2] + [0]):\n", + " qc = qc.compose(conv_circuit(params[param_index : (param_index + 3)]), [q1, q2])\n", + " qc.barrier()\n", + " param_index += 3\n", + "\n", + " qc_inst = qc.to_instruction()\n", + "\n", + " qc = QuantumCircuit(num_qubits)\n", + " qc.append(qc_inst, qubits)\n", + " return qc\n", + "\n", + "\n", + "circuit = conv_layer(4, \"θ\")\n", + "circuit.decompose().draw(\"mpl\", style=\"clifford\")" + ] + }, + { + "cell_type": "markdown", + "id": "f59677b5", + "metadata": {}, + "source": [ + "### 2.2 Pooling Layer" + ] + }, + { + "cell_type": "markdown", + "id": "23856709", + "metadata": {}, + "source": [ + "The purpose of a pooling layer is to reduce the dimensions of our Quantum Circuit, i.e. reduce the number of qubits in our circuit, while retaining as much information as possible from previously learned data. Reducing the amount of qubits also reduces the computational cost of the overall circuit, as the number of parameters that the QCNN needs to learn decreases. \n", + "\n", + "However, one cannot simply decrease the amount of qubits in our quantum circuit. Because of this, we must define the pooling layer in a different manner compared with the classical approach. \n", + "\n", + "To 'artificially' reduce the number of qubits in our circuit, we first begin by creating pairs of the $N$ qubits in our system. \n", + "\n", + "After initially pairing all the qubits, we apply our generalized 2 qubit unitary to each pair, as described previously. After applying this two qubit unitary, we then ignore one qubit from each pair of qubits for the remainder of the neural network. \n", + "\n", + "This layer therefore has the overall effect of 'combining' the information of the two qubits into one qubit by first applying the unitary circuit, encoding information from one qubit into another, before disregarding one of qubits for the remainder of the circuit and not performing any operations or measurements on it. \n", + "\n", + "We note that one could also apply a dynamic circuit to reduce the dimensionality in the pooling layers. This would involve performing measurements on certain qubits in the circuit and having an intermediate classical feedback loop in our pooling layers. By applying these measurements, one would also be reducing the dimensionality of the circuit. \n", + "\n", + "In this tutorial, we apply the former approach, and disregard qubits in each pooling layer. Using this approach, we thus create a QCNN Pooling Layer which transforms the dimensions of our $N$ qubit Quantum Circuit to $N/2$. \n", + "\n", + "To do so, we first define a two qubit unitary, which transforms the two qubit system to one. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "3c742cc9", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def pool_circuit(params):\n", + " target = QuantumCircuit(2)\n", + " target.rz(-np.pi / 2, 1)\n", + " target.cx(1, 0)\n", + " target.rz(params[0], 0)\n", + " target.ry(params[1], 1)\n", + " target.cx(0, 1)\n", + " target.ry(params[2], 1)\n", + "\n", + " return target\n", + "\n", + "\n", + "params = ParameterVector(\"θ\", length=3)\n", + "circuit = pool_circuit(params)\n", + "circuit.draw(\"mpl\", style=\"clifford\")" + ] + }, + { + "cell_type": "markdown", + "id": "8b9ff63b", + "metadata": {}, + "source": [ + "After applying this two qubit unitary circuit, we neglect the first qubit (q0) in future layers and only use the second qubit (q1) in our QCNN\n", + "\n", + "We apply this two qubit pooling layer to different pairs of qubits to create our pooling layer for N qubits. As an example we then plot it for four qubits. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8b37f922", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAADWCAYAAAC+C9RHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAvbUlEQVR4nO3de1hVdd738Td7g6LiidBINEURFBTyfErBtFLzLpvUGQ/dad5ZiJWHppnG1MzUHtP0uZ6SOWTjTKWm2J2OaakJmJnlOTENjxmJeSBRFFDYPH/sxFBhg25Ya7E/r+viStderP3pJ9eX715r/X7Lq6CgoAARERERsRSb0QFEREREpOzUxImIiIhYkJo4EREREQtSEyciIiJiQWriRERERCxITZyIiIiIBamJExEREbEgNXEiIiIiFqQmTkRERMSC1MSJiIiIWJCaOBERERELUhMnIiIiYkFq4kREREQsSE2ciIiIiAWpiRMRERGxIDVxIiIiIhakJk5ERETEgtTEiYiIiFiQmjgRERERC/I2OoCIyO06cOCAy33eeustxo4dW+I+LVq0cFckEbEQq9YQnYkTEY/w9ttvGx1BRCzMjDVETZyIiIiIBamJExEREbEgNXEi4hESEhKMjiAiFmbGGqImTkRERMSC1MSJiEcYOHCg0RFExMLMWEO0xIiYxvcb4cIpY967Zn0Iu8+Y9xYREbkVauLENC6cgnNpRqcQERGxBl1OFRGPEBcXZ3QEEbEwM9YQNXEi4hFcrbQuIlISM9YQNXFSyOGAs1nwcyZkZIGjwOhEIu7To0cPoyOIiIWZsYbonjgPl3MFth+Fnccg7Re4nHfttare0NAf2jaB9k2gqo9BIUXc4PTp00ZHEBELM2MNURPnoRwFsDkVPtkNuXk33yc3Dw6fcn79Zxf81z3QtTl4eVVk0qImxsew/4evsNt9sNnsBNYNZmivSURHDTIulIiIiAHUxHmgS7nwzy/g4M+l/56cK7B8G+xNgxHdwdfAs3LDek9mWO+Xyc/PY+WWt5i1eCghQW0ICggxLpSYXnh4uNERRMTCzFhDdE+ch8m+DAs2lq2B+60D6RD/OeRecW+uW2G3e9O301PkO/I4fGK30XHE5FasWGF0BBGxMDPWEDVxHmbZN5CWUfzr84c5v0ryw1lYsd29uW7FlbzLrN4SD0DDgFCD04jZTZkyxegIImJhZqwhupzqQfYch10/uOdY3xyBe+6G8CD3HK8sFn8+g+XJc8jOvYDd7sOEQe/QtEEkAGu/WciGHe8V7puecYTWwd15aegHFR+0FAoKjL3H0JMsX76cV1991egYImJRZqwhpj4T53A4mDNnDs2bN8fX15eoqCiSk5MJCwtj9OjRRsezlIIC+HSve4/p7uOV1tBek/h4+jkSXjlDxxb92HMosfC1vh1HMTc2ibmxSUwathTfKjUY2WeGMUGL8XOm84zon5fB+MUw9SNY+y1k5RidTERErMTUTdyoUaOYPn06Tz/9NGvXrmXw4MEMGTKEI0eO0K5dO6PjWcrR05B+zr3HPH7W+WWUmtXrMmHQO3x94BO2pKws8prD4WDWkmGM6juLQP8mxgS8if0n4I018NVB52QRgMxs+Gyvc/uZC8bmExER6zBtE7dkyRIWLVrEqlWreOGFF+jZsyeTJk2iS5cu5OXl0bZtW6MjWsqBdGsdt7RqVffnse4TePfTv+BwOAq3v7d+GsGBrenWaoBx4a6TlQPvboJ8B9xsHeXzObBwk/OsqbhfcnKy0RFExMLMWENM28TNnDmTPn36EB0dXWR7SEgIPj4+REY674E6duwY0dHRhIaG0rp1a7744gsj4prejyVMZrgdJU2SqCiPdn+ejPPprN/xbwB2HvycHanreOqh2QYnK2rrYbiSf/MGDpzNW/o5OGK+9SQrhX379hkdQUQszIw1xKugwHyf+9PS0mjUqBELFy7kySefLPLakCFDOHDgALt27QLgwQcf5JFHHmHMmDFs2bKFQYMGcfToUapUqVLie3h52N3kw//PPu4IKrrGjatZqDcz7rr5AaeO7WTJy+65tD3nmUSimsXc1jEyzp/khb/1ZOaotWW6jLrncBIv/LXnbb23K49NSiQorAdetuI/OxUUONj+n9fZsmxSuWapbMaPH+9yn3nz5rncb968ee6KJCIWYqYaUpa2zJSzU9PS0gAIDAwssj07O5vk5GT69u0LwJkzZ9i8eTOrVq0CoGvXrjRo0IDExEQefPDBig1tcjabvVyO6+VlrpO572+YzsWcTN74cEThtkb1whg38G/GhfqV3btqiQ0cAAUF2OwlfwAREREBk56JO3ToEM2bN2fevHmMGzeucPu0adN45ZVXePvttxkzZgw7d+5k4MCBHDlypHCfwYMH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+1ax7cCn/PDzPv756cuM7POawYmdvLygczPo2BRST0JqOvyYAecuOZdy8fOFhv7QtB5ENjLHmnwljXX25YtU8fbFbrOz79iXBAe2Njht6ZixhqiJExExmWM/7yO8cReu5OVyLusUZ8+nk5q2nYE9JpK050NSf9zGPz55EYBRfWcR3qSLwYmtITiwFd52HybGxxDeuAu+VWqQ78gD4NF7n+PRe58DYNzb95qmgfstmxe0uMv5ZXYljfVPpw8yd/mTVKviR6B/MP/9gPkW0bUKNXEiIiYztNdfCv/8j4nO2afdWz+GzWbjvjZDuK/NEKOiWd6ofrMK/7zp2wSWJr5OUEDzIjNUry5xkZ2bxetLhhPWqEOF56wMShrr+HE7b9j/5Xf741/LAh2qiZjy2akiImVRmuceloaenWptle15nmZW2cbazDWkJDoTJyIeYdmyZYY8Nqemmx44brX3NoJR/7+eNs7gmWNtVA0pic7EiYjlleZTdGkemVPRn6JFxBysWkO0TpyIiIiIBamJExEREbEgNXEi4hEWLFhgdAQRsTAz1hA1cSLiESIiIoyOICIWZsYaoiZORDxCdHS0651ERIphxhqiJk5ERETEgrROnIhYXmmm9U+dOlVLiIjITVm1hmidOBEREREL0uVUEREREQtSEyciIiJiQWriRERERCxITZyIiIiIBamJExEREbEgNXEiIiIiFqQmTkRERMSC1MSJiIiIWJCaOBERERELUhMnIiIiYkH/H19TRX8/eFIKAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def pool_layer(sources, sinks, param_prefix):\n", + " num_qubits = len(sources) + len(sinks)\n", + " qc = QuantumCircuit(num_qubits, name=\"Pooling Layer\")\n", + " param_index = 0\n", + " params = ParameterVector(param_prefix, length=num_qubits // 2 * 3)\n", + " for source, sink in zip(sources, sinks):\n", + " qc = qc.compose(pool_circuit(params[param_index : (param_index + 3)]), [source, sink])\n", + " qc.barrier()\n", + " param_index += 3\n", + "\n", + " qc_inst = qc.to_instruction()\n", + "\n", + " qc = QuantumCircuit(num_qubits)\n", + " qc.append(qc_inst, range(num_qubits))\n", + " return qc\n", + "\n", + "\n", + "sources = [0, 1]\n", + "sinks = [2, 3]\n", + "circuit = pool_layer(sources, sinks, \"θ\")\n", + "circuit.decompose().draw(\"mpl\", style=\"clifford\")" + ] + }, + { + "cell_type": "markdown", + "id": "bafef540", + "metadata": {}, + "source": [ + "In this particular example, we reduce the dimensionality of our four qubit circuit to the last two qubits, i.e. the last two qubits in this particular example. These qubits are then used in the next layer, while the first two are neglected for the remainder of the QCNN. " + ] + }, + { + "cell_type": "markdown", + "id": "03d0497d", + "metadata": {}, + "source": [ + "## 3. Data Generation" + ] + }, + { + "cell_type": "markdown", + "id": "88c3fbdc", + "metadata": {}, + "source": [ + "One common use of a CCNN is an image classifier, where a CCNN detects particular features and patterns (such as straight lines or curves) of the pixelated images through the use of the feature maps in the convolutional layer. By learning the relationship between these features, it can then classify and label handwritten digits with ease. \n", + "\n", + "Because of a classical CNN's ability to recognize features and patterns easily, we will train our QCNN to also determine patterns and features of a given set of pixelated images, and classify between two different patterns. \n", + "\n", + "To simplify the dataset, we only consider 2 x 4 pixelated images. The patterns we will train the QCNN to distinguish will be a horizontal or vertical line, which can be placed anywhere in the image, alongside a noisy background. \n", + "\n", + "We first begin by generating this dataset. To create a 'horizontal' or 'vertical' line, we assign pixels value to be $\\frac{\\pi}{2}$ which will represent the line in our pixelated image. We create a noisy background by assigning every other pixel a random value between $0$ and $\\frac{\\pi}{4}$ which will create a noisy background. \n", + "\n", + "Note that when we create our dataset, we need to split it into the training set and testing set of images, the datasets we train and test our neural network respectively.\n", + "\n", + "We also need to label our datasets such that the QCNN can learn to differentiate between the two patterns. In this example we label images with a horizontal line with -1 and images with a vertical line +1." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3a674ebf", + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "def generate_dataset(num_images):\n", + " images = []\n", + " labels = []\n", + " hor_array = np.zeros((6, 8))\n", + " ver_array = np.zeros((4, 8))\n", + "\n", + " j = 0\n", + " for i in range(0, 7):\n", + " if i != 3:\n", + " hor_array[j][i] = np.pi / 2\n", + " hor_array[j][i + 1] = np.pi / 2\n", + " j += 1\n", + "\n", + " j = 0\n", + " for i in range(0, 4):\n", + " ver_array[j][i] = np.pi / 2\n", + " ver_array[j][i + 4] = np.pi / 2\n", + " j += 1\n", + "\n", + " for n in range(num_images):\n", + " rng = algorithm_globals.random.integers(0, 2)\n", + " if rng == 0:\n", + " labels.append(-1)\n", + " random_image = algorithm_globals.random.integers(0, 6)\n", + " images.append(np.array(hor_array[random_image]))\n", + " elif rng == 1:\n", + " labels.append(1)\n", + " random_image = algorithm_globals.random.integers(0, 4)\n", + " images.append(np.array(ver_array[random_image]))\n", + "\n", + " # Create noise\n", + " for i in range(8):\n", + " if images[-1][i] == 0:\n", + " images[-1][i] = algorithm_globals.random.uniform(0, np.pi / 4)\n", + " return images, labels" + ] + }, + { + "cell_type": "markdown", + "id": "a5b3ca82", + "metadata": {}, + "source": [ + "Let's now create our dataset below and split it into our test and training datasets. We pass a `random_state` so the split will be the same each time this notebook is run so the final results do not vary." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ed1828c5", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "images, labels = generate_dataset(50)\n", + "\n", + "train_images, test_images, train_labels, test_labels = train_test_split(\n", + " images, labels, test_size=0.3, random_state=246\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e6f6952d", + "metadata": {}, + "source": [ + "Let's see some examples in our dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "0afeaa5f", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(2, 2, figsize=(10, 6), subplot_kw={\"xticks\": [], \"yticks\": []})\n", + "for i in range(4):\n", + " ax[i // 2, i % 2].imshow(\n", + " train_images[i].reshape(2, 4), # Change back to 2 by 4\n", + " aspect=\"equal\",\n", + " )\n", + "plt.subplots_adjust(wspace=0.1, hspace=0.025)" + ] + }, + { + "cell_type": "markdown", + "id": "85a67058", + "metadata": {}, + "source": [ + "As we can see each image contains either a vertical or horizontal line, that the QCNN will learn how to differentiate. Now that we have built our dataset, it is time to discuss the components of the QCNN and build our model." + ] + }, + { + "cell_type": "markdown", + "id": "eed5d2d6", + "metadata": {}, + "source": [ + "## 4. Modeling our QCNN" + ] + }, + { + "cell_type": "markdown", + "id": "64efb8d8", + "metadata": {}, + "source": [ + "Now that we have defined both the convolutional layers it is now time to build our QCNN, which will consist of alternating pooling and convolutional layers.\n", + "\n", + "As the images in our dataset contains 8 pixels, we will use 8 qubits in our QCNN. \n", + "\n", + "We encode our dataset into our QCNN by applying a feature map. One can create a feature map using one of Qiskit's built in feature maps, such as ZFeatureMap or ZZFeatureMap. \n", + "\n", + "After analyzing several different Feature maps for this dataset, it was found that QCNN obtains the greatest accuracy when the Z feature map is used. Therefore, throughout the remainder of the tutorial we will use the Z feature Map, of which can be seen below. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0840db7b", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "feature_map = ZFeatureMap(8)\n", + "feature_map.decompose().draw(\"mpl\", style=\"clifford\")" + ] + }, + { + "cell_type": "markdown", + "id": "cee9549c", + "metadata": {}, + "source": [ + "We create a function for our QCNN, which will contain three sets of alternating convolutional and pooling layers, which can be seen in the schematic below. Through the use of the pooling layers, we thus reduce the dimensionality of our QCNN from eight qubits to one. " + ] + }, + { + "attachments": { + "Screenshot%202022-08-10%20at%2021.42.39.png": { + "image/png": "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CQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAYkwfgYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSKQkAiTFEso0kQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhIhPEzQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUBQCEmGKYhlNggABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQCKMnwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGiEJAIUxTLaBIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQISYfwMECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFIWARJiiWEaTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQkAjjZ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAoBCTCFMUymgQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIBEGD8DBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECRSEgEaYoltEkCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJML4GSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgKAYkwRbGMJkGAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICARxs8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAUQhUFsUsTIIAAQIFKFC7dWesXFsfyXdy1azdFlu27siVt9Q35r79g0BXCAwZ+Oe/zocM6htVgypjyMA+MWbkwNzwY0b86bsr3mUMAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUsUNbSehVygGIjQIBAlgSSpJfFyzbnkl6SJBgXgUIQSBJlkqSYY48YGpJiCmFFDjyG5p0N0bx1UzQ31EXz9i2t31ujubE10a6pMZqbWxPtWr9dBLpEoLwyyitak+1aP+WVfaO8/+A/ffoNivJBw6O8T/8ueY1BCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAVwlIhOkqSeMQIFCyAjWtCS81a+rjhT9uirptTSXrYOLZEBg8oDLGjpIUk43VahdlS3M01q5t/ayJxi1ro3lbXbubigR6TyBJjKmsOiQqh4yMyqEjI8qcvNp7q+HNBAgQIECAAAECBAgQIECAAAECBAgQIJAISITxc0CAAIH9FEgSYGbOfTUcc7SfgB7rdYFkp5hzTjnMLjG9vhK7D6C5fnPsWP9y7NxQEy3Jji8uAgUsUNa6Y0yfg0ZH34PGte4WM6yAIxUaAQIECBAgQIAAAQIECBAgQIAAAQIECBSzgESYYl5dcyNAoFsEkgSYuYvWh6OPuoXXoL0gMHrEwDhl8sESYnrBfnevTHZ/2bFqaevuL+t310U7gYIWqBx8cPQ99Og/7RJT0JEKjgABAgQIECBAgAABAgQIECBAgAABAgSKTUAiTLGtqPkQINBtArVbd8Yzz6+Lxctqu+0dBibQmwLHHlEVxx4xVEJMLy5CY92G2L5iUTRt3diLUXg1ga4TKB84LPqPndx6dNLBXTeokQgQIECAAAECBAgQIECAAAECBAgQIECAwB4EJMLsAcctAgQItAnMXbSuNQnGzgxtHr6LV2DwgIoYO2pQnHPyYcU7yQKcWXLs0faa52PHupcLMDohEThwgb4Hj42+YyZHeZ9+Bz6YEQgQIECAAAECBAgQIECAAAECBAgQIECAwB4EJMLsAcctAgQIJAI/nfWKY5D8KJScQHJc0jknHxpVg/qU3Nx7esKNG1+NbS8viCQZxkWgqAUq+sSAccdHn4PGFPU0TY4AAQIECBAgQIAAAQIECBAgQIAAAQIEeldAIkzv+ns7AQIFLFCztj7mLlovCaaA10ho3SsweGBlvHP6OMkw3cXc0hwNrccg7Vjzx+56g3EJFKRA3xHjW49LekNEeUVBxicoAgQIECBAgAABAgQIECBAgAABAgQIEMi2gESYbK+f6AkQ6CaBJAnmvtadYFwESl1g8IDKOPUNh8SxRwwtdYounX/zzu2x7aWno2nrpi4d12AEsiJQPnBoDDzq1NajkvpnJWRxEiBAgAABAgQIECBAgAABAgQIECBAgEBGBCTCZGShhEmAQM8JSILpOWtvyobAoP4VMenIYXHK5EOyEXCBR9m8vT7qfz87km8XgVIWKO87IAYePTXK+w8qZQZzJ0CAAAECBAgQIECAAAECBAgQIECAAIEuFpAI08WghiNAINsCi5dtjpnPrMr2JERPoJsETp50sGSYA7Rt3lbbmgTz60h2hHERINB6OlJlv9ZkmNMi2SHGRYAAAQIECBAgQIAAAQIECBAgQIAAAQIEukKgvCsGMQYBAgSKQSDZCUYSTDGspDl0l8Dzf9gUSbKYa/8E/rQTjCSY/dPzVLEKNDduj61JcljD1mKdonkRIECAAAECBAgQIECAAAECBAgQIECAQA8LSITpYXCvI0CgMAUch1SY6yKqwhLY2tAUTz+3LpI/L67OCSQ7wOSOQ7ITTOfg9C4JgZbGHf/756OhJOZrkgQIECBAgAABAgQIECBAgAABAgQIECDQvQISYbrX1+gECGREYO6i9RmJVJgEelegbltj/HLuq1G7dWfvBpKlt7c0x7aXno5kRxgXAQIdCzTv2Bb1L86JaG7quINWAgQIECBAgAABAgQIECBAgAABAgQIECCwjwISYfYRSjcCBIpX4KezXomVdrgo3gU2sy4XqKtvdIxYJ1QbViyKpq2bOvGErgRKU6C5vjYaVjxXmpM3awIECBAgQIAAAQIECBAgQIAAAQIECBDoMgGJMF1GaSACBLIoMPOZVyXBZHHhxNzrAknyWPLnx7VngcaNr8aONX/ccyd3CRBIBXasXR6NG1akdQUCBAgQIECAAAECBAgQIECAAAECBAgQINBZAYkwnRXTnwCBohFIjnZZvKy2aOZjIgR6WmDF6vqosZvSbtlbGnfEtpcX7Pa+GwQIdCxQ//Kz0byzoeObWgkQIECAAAECBAgQIECAAAECBAgQIECAwF4EJMLsBchtAgSKV2DmM6uKd3JmRqAHBOq2NbYmk23ugTdl8xXba56PJBnGRYBAJwWaGmN765FiLgIECBAgQIAAAQIECBAgQIAAAQIECBAgsD8CEmH2R80zBAhkXiDZxSI52sVFgMCBCSS7KtkVZlfDxroNsWPdy7ve0EKAwD4J7NxQE41b1u1TX50IECBAgAABAgQIECBAgAABAgQIECBAgEB7AYkw7TWUCRAoGYG5i9aXzFxNlEB3C/jztKuw3Sx2NdFCoLMCDSue6+wj+hMgQIAAAQIECBAgQIAAAQIECBAgQIAAgZAI44eAAIGSE7AbTMktuQl3s0Cyu5JdYf6M3Fi7Npq2bvxzgxIBAvsl0FxfG42bV+/Xsx4iQIAAAQIECBAgQIAAAQIECBAgQIAAgdIVkAhTumtv5gRKVsDuFSW79CbejQIz577ajaNna+gdq5ZmK2DREihgge3+PBXw6giNAAECBAgQIECAAAECBAgQIECAAAEChSkgEaYw10VUBAh0k4DdYLoJ1rAlL7ClvtGuMK0/Bc31m6Nxi6PXSv4PBIAuE2iq2xiNdRu6bDwDESBAgAABAgQIECBAgAABAgQIECBAgEDxC0iEKf41NkMCBNoJLF62uV1NkQCBrhTw5ytix/qXu5LUWAQItAo0bniFAwECBAgQIECAAAECBAgQIECAAAECBAgQ2GcBiTD7TKUjAQLFILBi9dZimIY5EChIgRVr6gsyrh4LqqU5dm6o6bHXeRGBUhHYsWFlROufLxcBAgQIECBAgAABAgQIECBAgAABAgQIENgXAYkw+6KkDwECRSFQu3Vn1G1rKoq5mASBQhSoK/HjkRpr10ZL445CXBoxEci2QNPOaNy0KttzED0BAgQIECBAgAABAgQIECBAgAABAgQI9JiARJgeo/YiAgR6W8CxLb29At5fCgKl/OessXZNKSyxORLoFQF/vnqF3UsJECBAgAABAgQIECBAgAABAgQIECCQSQGJMJlcNkETILA/AqX8C/r98fIMgf0RqCnh45Eat6zdHzLPECCwDwKNW9btQy9dCBAgQIAAAQIECBAgQIAAAQIECBAgQIBAhEQYPwUECJSMwJbWY1tcBAh0r0Dy56xmbX33vqQAR2/e2RDN2+oKMDIhESgOgebt9dG8o/T+3VIcq2cWBAgQIECAAAECBAgQIECAAAECBAgQ6FkBiTA96+1tBAj0kkAp/mK+l6i9lkBJCjRv3VSS8zZpAj0p0FS3sSdf510ECBAgQIAAAQIECBAgQIAAAQIECBAgkFEBiTAZXThhEyDQOYFSPq6lc1J6EzhwgVI8hqx5u91gDvwnxwgE9izgz9mefdwlQIAAAQIECBAgQIAAAQIECBAgQIAAgT8JSITxk0CAQEkIbKnfWRLzNEkCBHpHoLlBIkzvyHtrKQn4c1ZKq22uBAgQIECAAAECBAgQIECAAAECBAgQ2H8BiTD7b+dJAgQyJFC7tTFD0QqVQLYFSnEHJr+gz/bPrOizIdDUsDUbgYqSAAECBAgQIECAAAECBAgQIECAAAECBHpVoLJX395FL9++fXssWrQonn/++Vi+fHmMGDEixo8fH2eccUYMGjQo6uvr484774wJEybEJZdc0kVvNQwBAlkS2LJ1R5bCFSsBAhkTaG7075iMLZlwsyjQuD2LUYuZAAECBAgQIECAAAECBAgQIECAAAECBHpYINOJME1NTXHXXXfFZz/72Vi5cuUudMOHD4+rrroqHnnkkViyZEkuQUYizC5MGggQIECAAIEDFWiy69SBEnqewN4EWpqb9tbFfQIECBAgQIAAAQIECBAgQIAAAQIECBAgEJlNhNm0aVOcd955MXfu3HQZTz/99JgyZUpUVFTE97///Vi1alXcdttt6f3TTjstLSsQIFBaAlvq/ZK6tFbcbHtToBT/vDVLhOnNHznvLhGBFn/OSmSlTZMAAQIECBAgQIAAAQIECBAgQIAAAQIHJpDJRJja2tq8JJiqqqq44447cru/tHFcfvnlcdJJJ7VVc99Tp07Nq6sQIECAAAECBLpEoFmyXZc4GoTAngRamiOST1n5nnq5R4AAAQIECBAgQIAAAQIECBAgQIAAAQIlLpDJ/4p89dVXpzvBlJWVxb333puXBJOsaXV1dYwaNSpveSXC5HGoECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSKSiBzO8LMnDkz7rvvvnQRbrzxxjj33HPTelshSZAZO3ZsrF69OtdUWVm5yw4xbX2L/fumm26Km2++udinaX4E9ihw292L93jfTQIEulYg+Xu4lK7N8+4vpemaK4FeE+jfv39s37Gz197vxQQIECBAgAABAgQIECBAgAABAgQIZFvgrLPOilmzZmV7EqLfq0CmdoRpbm6OG264IZ3UkCFD4pOf/GRaf22hpqYmbTrhhBNi4MCBaV2BAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECguAQylQjz9NNPx4IFC9IVuOaaa6Kqqiqtty/U1dWlu8Ek7VOmTGl/W5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKDIBDKVCNP+SKRkHd7znvfsdjmefPLJaGlpSe9PnTo1Le+p0NTUtKfb7hEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBSoQGYTYZKdYKqrq3fLOmPGjLx7e0qEWbZsWVx33XW58fr16xfjx4+PK6+8Mr7zne/kjaFCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQuAKVhRtafmTbt2+PpUuXpo3JUUcVFRVp/bWFBx98MG0aM2ZMjBs3Lq23LyTHLV188cWxZs2aSJJgknEXLlwYd999d+4zb968uOOOO6K8PFM5Q+2nqEyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKAmBzGR3rFq1Km9Bkl1bdnfdf//98dJLL6W3k+SWjq6ampp485vfnEuCed3rXhfJO5544onc95ve9KbcI3feeWd86lOf6uhxbQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgUkkJkdYVauXJnHNmLEiLx6W6WpqSk+97nPtVVz37s7Fukb3/hGbNu2LdcnOQZp2LBhuXL//v3j3//932Py5Mm5+re//e24+eabczvG5Boy9o+bbropko+LQCkL3H7PklKevrkT6HGBlpaWHn9nb76wdv4Dvfl67yZQMgINDQ0RZZnJ5S+ZdTFRAgQIECBAgAABAgQIECBAgAABAgQIFJJAZv4rcnI0Uvtrd0cV3XrrrbFgwYL2XXPHHeU1tFa2bNkSyW4vyZUkwJx11lm5cts/Jk2aFBMnTsxVN2zYED/96U/bbvkmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoQIHMJMKMHj06j2/FihV59aTy0EMPxS233JLX3q9fv6iurs5rSypPPvlkbN68Odd+2mmnRVlZ2S59kmOT2q6ZM2e2FX0TIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUoEBmEmEOP/zwvGSVJOmlvr4+JZ0xY0ZcdtllkRzF0HakUXLzxBNPjL59+6b92gqvvPJKWzGOOOKItNy+kOwK03atWrWqreibAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgAAUykwgzYMCAOP/881PC1atXxznnnBNf+tKX4oorrogLLrggtm3bFl/84hcj6dt2TZ06ta2Y990+EWbIkCF599oqyZFJbVfyPhcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDhClQWbmi7RvaJT3wiHn744Whubs7dnDNnTiSf5KqoqIjbb789lxST9Gu79iURJjk+qaNLIkxHKtoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUpkJkdYRK+adOmxX333RftE1SS9unTp8fs2bPj2muvjVmzZqWJMsm9KVOmJF+7XFu2bEnbyss7Zhg0aFDap7IyUzlDadwKBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFSEchcdsdFF10U69evjxdeeCHWrl0bkyZNipEjR6brNXPmzLQ8YcKEOPTQQ9N6+0L7Z2pra9vfSst1dXVpefTo0WlZgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoPAEMpcIkxAmO7hMnjy5Q832iTC7OxYpebB9gszuEmE2bdqUvkMiTEqhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoSIGOzwQqyFD3HlRNTU0sXrw47bi7Y5GSDocddljaL3muoyvZcabtat+/rc03AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA4QgUVSLMo48+mid7yimn5NXbV5Ijldqup556KhobG9uq6fcTTzyRlqdNm5aWFQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBApPoKgSYdofi5RQT5w4cbfiZ5xxRhxzzDG5+3V1dTFnzpy8vjt37oxZs2bl2saOHRsXX3xx3n0VAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBwhIo6kSYrVu37lH7gx/8YHr/uuuui4aGhrR+4403xubNm3P1a6+9NiorK9N7CgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoUnUDSJMEuXLo0VK1bkCV966aXxta99La+tfeXDH/5wXHjhhbmmZ599Nqqrq+NjH/tYvO1tb4uvfvWrufZ3vetd8fGPf7z9Y8oECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIFKFA025wsXLgw+vTpk0c8b968WLlyZVx//fV57W2VgQMHxv333x833HBD/OhHP4oXXngh90nujxs3Lq6++uq4+eabo6ysrO0R3wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgUqUNbSehVobD0e1vLly+OVV16Jo446Kg499NAef78XEiDQfQK337Ok+wY3MgECuwhcd/nEXdqKuaF2/gPFPD1zI1AwAlXVb48oK5pNLQvGVSAECBAgQIAAAQIECBAgQIAAAQIECBAoJoGi2RGmKxZl/PjxkXxcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC2RPwf6fM3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAMBiTAdoGgiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDInoBEmOytmYgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6EJAI0wGKJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgewJSITJ3pqJmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAOByg7aMte0ffv2WLRoUTz//POxfPnyGDFiRIwfPz7OOOOMGDRoUNTX18edd94ZEyZMiEsuuSRz8xMwAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3gUynQjT1NQUd911V3z2s5+NlStX7jLb4cOHx1VXXRWPPPJILFmyJJcgIxFmFyYNBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGiEMhsIsymTZvivPPOi7lz56YLcfrpp8eUKVOioqIivv/978eqVavitttuS++fdtppaVmBAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECguAQymQhTW1ublwRTVVUVd9xxR273l7blufzyy+Okk05qq+a+p06dmldXIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKB6B8ixO5eqrr053gikrK4t77703LwkmmVN1dXWMGjUqb3oSYfI4VAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECRSWQuUSYmTNnxn333Zcuwo033hjnnntuWm8rJAkyY8eObatGZWXlLjvEpDcVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEMi+QqUSY5ubmuOGGG1L0IUOGxCc/+cm0/tpCTU1N2nTCCSfEwIED07oCAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAcQlkKhHm6aefjgULFqQrcM0110RVVVVab1+oq6uL1atXp01TpkxJywoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLFJ5CpRJj2RyIlS/Ge97xntyvy5JNPRktLS3p/6tSpaVmBAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg+AQqszSl9okwyU4w1dXVuw1/xowZeff2JRHmlVdeic985jPxwAMPxOOPPx7HHXdc3hhZrdx0001x8803ZzV8cRPoEoHb7l7cJeMYhACBfRMoKyvbt45F0mvzvPuLZCamQaCwBfr37x/bd+ws7CBFR4AAAQIECBAgQIAAAQIECBAgQIBAwQqcddZZMWvWrIKNT2BdI5CZRJjt27fH0qVL01knRx1VVFSk9dcWHnzwwbRpzJgxMW7cuLT+2sKmTZvii1/8Ynz961+PhoaG3O3GxsbXdlMnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoYIHMJMKsWrUqj3H8+PF59faV+++/P1566aW0KUma6ejauXNn3HHHHXHLLbfE+vXr87r07ds3r65CgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ2ALlhR3en6NbuXLlnyutpREjRuTV2ypNTU3xuc99rq2a++7oWKSHH344Xv/618f1118fW7Zsidcmy+xpt5m8wVUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQKQiAziTDJ0Ujtr/LyjkO/9dZbY8GCBe277pLkktxcuHBhbteY9773vbF8+fKYPXt2HH300XnPqRAgQIBA1wu0tDRHXe2GqN20LrbVb+n6FxiRAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGSFcjM0UijR4/OW6QVK1bk1ZPKQw89lDvmqP2Nfv36RXV1dfumXPkjH/lITJs2LU455ZT03uDBg9OyAgECBAh0j8Bd3/jHmP/Ug+ngH/30d+PY46emdQUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjsr0DH26rs72jd+Nzhhx8eZWVl6RuSpJf6+vq0PmPGjLjsssuipaUlJk+enLafeOKJ0bdv37TeVhg4cGBeEkxbu28CBAgQ6D6BZDeYhfMezXtB1bBD8uoqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2F+BzOwIM2DAgDj//PMjSXhJrtWrV8c555wTl1xyScyfPz/uueeeXPuXv/zluPvuu3Pl5B9Tp9pl4Kabbork4yJQygK337OklKdfMHPfWrc5dmzflsYzdPjIGD3umLSuUDwCSWJqKV218x8opemaK4FeE2hoaIgoy0wuf685eTEBAgQIECBAgAABAgQIECBAgAABAgRKWSAziTDJIn3iE5+Ihx9+OJqbm3NrNmfOnEg+yVVRURG33357XHHFFbl+ucbWf0iEaZPwTYAAgd4XqKzskxdEWblfZuaBqBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgcEACmfoN5LRp0+K+++6LYcOG5U16+vTpMXv27Lj22mtj1qxZaaJM0mnKlCl5fVUIECBAoPcE+g8YHMMPOSwNYNP6VbsclZTeVCBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAnBTKVCJPM7aKLLor169fHc889F4899ljuiKTk+5RTTslNfebMmSnBhAkT4tBDD03rCgQIECDQ+wJvuej9eUH88I5PxrLfL8hrUyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMD+CGQuESaZZHnrURqTJ0+OZCeYkSNH5s27fSKMY5HyaFQIECBQEALTzr8qTjr9wjSW+rrN8Y3P/3U8/fh9aZsCAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE9kegcn8eKtRnampqYvHixWl4jkVKKRQIECBQMAJlZWXx3o9+KQYNGRaP/89/5OLasX1b/PD2T8SCub9sTZK5oFOxlpVXxPEnnR0VlX069ZzOBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUn0BRJcI8+uijeSvUdlxSXqMKAQIECPSqwA9uuzHm/ur+DmN49plfRvLp7HXtx++I41qTYVwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJS2QCaPRtrdkrU/FinpM3HixN117bC9oaEhbd+5c2daViBAgACBrhNYvfKPXTfY/460dcumLh/TgAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIZE+gqBNhtm7dus8rsmzZsnjxxRfT/nPmzEnLCgQIECDQdQLl5V3/V09ln75dF6CRCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDIrEDRHI20dOnSWLFiRd5CXHrppXHFFVfE9ddfn9feVrn11lvj1VdfjZdffjkef/zxaL8LzIc//OG455574sgjj4yqqqr40Ic+lCu3PeubAAECBPZP4OQzL4oBg6r27+EOnkoSa46cWN3BHU0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJSaQFlL61UMk/7JT34S7373u3eZyujRoyPZ7aWja8yYMbFy5cqObu3SliTKTJs2bZd2DQQIZEPg9nuWZCNQURIoEoHrLu/c8YRZn3bt/AeyPgXxE8iEQFX12yPKun5nsUxMXpAECBAgQIAAAQIECBAgQIAAAQIECBAgsE8CRbMjTLL7y44dO/Zp0m2dampq2oq+CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEMi7g/06Z8QUUPgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwJ8EJML4SSBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgKgaI5GqkoVsMkCBAgUOICWzavj3VrVsTW2o0xaMiwmHDMCSUuYvoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECHRGQCJMZ7T0JUCAAIEuF1j028fjFz/9VtQsXxwN27bmjf/WSz4YF//lx/LaGnfuiNmP3hPb6uuiatghcepZl0R5eUVeHxUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEpTQCJMaa67WRMgQKDXBVb88fm4+7u3xh+W/Ga3sbzUwb11a16Ju//tlvSZpsbGOOPcK9O6AgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECpStQXrpTN3MCBAgQ6C2B5AikO/75g3tMgtldbKNGT4ihw0emt3/92E/SsgIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAqUtIBGmtNff7AkQINDjAi0tzXHXN/4xajet2+Xdffv1jyFDD96lvX1DWVl5nDr9krRp+YvPRpJY4yJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIBEGD8DBAgQINCjAs888bNYsnB2+s4kseXkMy+Oz3z1ofjKD38Xl/71p9J7uyu8ofrNebeWv7gwr65CgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBpClSW5rTNmgABAgR6S2DZ7xfkvfry9/1TTDvvqry2vVWOOOr46NO3f+zc0ZDrWvPyknjDidP39pj7BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUuYAdYYp8gU2PAAEChSawYtkLaUiTTjiz00kwycPlFRUxdPjIdJy62g1pWYEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdIVkAhTumtv5gQIEOhxgZaW5qhZviR976Q3TUvLnS0MHFyVPlJXuzEtKxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgULoCEmFKd+3NnAABAj0usHXLptjeUJ++95CRh6flzhY2b1idPlJe7q+zFEOBAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQAkL+M1hCS++qRMgQKCnBQYNGR4DBg5JX7tuzStpuTOF+q21sXnj2vSRkaMnpGUFAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKV0AiTOmuvZkTIECgxwXKyspi7BHHpu/9/aK5abkzhcXPPpXX/dAxR+bVVQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKE0BiTClue5mTYAAgV4TGDthUvruBXMfiXlPPZjW96WQ7ARz97/dktf10DGvy6urECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQmgISYUpz3c2aAAECvSZw1OtPynv3f37zn+KJX/wompua8to7qvxx6e/iW1/+SNTVbkhvD249bumQQ8eldQUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEpXoLJ0p27mBAgQINAbAm885dw44dS3xu+e/kXu9Tu2N8SPv3NzPPrgXXH8SefE2lXL07C2bFoXv37sJ7Fx3avx4vPPxNJFT6f32gqXve/TUVHhr7M2D98ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESlnAbw5LefXNnQABAr0k8JcfujWWv7gwNq5/NY1g7avLY+bPvpvWk8KaV5fFf/zrP+W1ta8cd+Kb46TTL2zfpEyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQAkLOBqphBff1AkQINBbAgMHVcX7P/a1OHjEmP0OYcRh4+NdH7x5v5/3IAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECxScgEab41tSMCBAgkAmBI45+Y3zmazPine+9MZLEmH29hgw9OK54/2fi0195MIYOH7mvj+lHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAJCDgaqQQW2RQJECBQqAKVffrGORddE1POvjR+M3tG7iikta8uizWrlse61a9EZWWfOGTU4a2fcbnvkaOPaD0K6e3Rr//AQp2SuAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6EUBiTC9iO/VBAgQIPAngWRHmDPOvRIHAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDkhAIswB8XmYAAECBDor8PTj98XiZ2fH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t57ZqSErKsrjba1HK/Xt4386dwpOZwIECBAgQIAAAQIECBAgQIAAAQIECBAg0AsC/mt+L6B7JQECBAgQIECAQPcJXPvZr8V/PfRYhy/4+aw5kXw6e/3oK/8UF7Qmw7gIECBAgAABAgQIECBAgAABAgQIECBAgACBwhYomqORCptZdAQIECBAgAABAj0l8PvlK7r8VRs2benyMQ1IgAABAgQIECBAgAABAgQIECBAgAABAgQIdL2ARJiuNzUiAQIECBAgQIBALwpUVFR0+dv79e3T5WMakAABAgQIECBAgAABAgQIECBAgAABAgQIEOh6AUcjdb2pEQkQIECAAAECBHpR4Irzz4qhgwd1WQQVFeVx2huP7bLxDESAAAECBAgQIECAAAECBAgQIECAAAECBAh0n4BEmO6zNTIBAgQIECBAgEAvCHzgigsi+bgIECBAgAABAgQIECBAgAABAgQIECBAgACB0hNwNFLprbkZEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSKUkAiTFEuq0kRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEpPwNFIpbfmZkyAAIFuFdi5c3t88ePvjIb6Ld32nu0N9d02toEJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMiugESY7K6dyAkQIFCQAhvW1MTqmj8UZGyCIkCAwNoNm2NZzapYv6k2Dho6JE45/lgoBAgQIECAAAECBAgQIECAAAECBAgQIECAQBEJSIQposU0FQIECBSCQFNTYyGEIQYCBAikAr94an585Xv3xsKlf4y6+m1pe1L4P399adz00b/Ka9u+Y2f84L5HorZua4w8ZHj85dvPjopyJ4rmIakQIECAAAECBAgQIECAAAECBAgQIECAAIECFZAIU6ALIywCBAhkVWDI0IN7NPS+/QbEmHETe/SdXkaAQDYEnl3yh/jHL38r5ix4YbcBP93BvWU1q+Mfvnxn+kxjY1Nc8xfnpXUFAgQIECBAgAABAgQIECBAgAABAgQIECBAoHAFJMIU7tqIjAABApkUSBJh/v6mH0ZD/ZZuj7+sdYeG1x17YgwYOKTb3+UFBAhkS2DNhk1x2d99Plav39jpwI8ePyYOG3FQvLp2Q+7ZH97/iESYTit6gAABAgQIECBAgAABAgQIECBA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+bgozv5iXFT6mGsgAQIECBAgQIAAAQLpCkiESTc2akaAQAEFJMUUMGgVqPJMI2slvsSZX2anxirQ4vI3sXnremhe/aT1xU/zxpXln3HGmNtLoZk/QjN/2Aj0QqCWhdpoFkL+qOUzvsTEl9r41PLPqYdCbWyiF6U4R4kEjIVKFMyKNCXOkLcwP5kvE7m9Ii0uXzPvjotWxkR5YkzTuKh8gU6hRWuNi1pjo3x8lM+GZ1yUQpDUgQABAgQIECBAgAABAssCEmFcCQQIEOiTwMoXQfH0cRmlS1eXwuWry0ubXF70JXWf2Ct72pjssrIt7GiEmcZYiD/N+rKi4icBAgQIDFpgZSxk1rxByyvvswTizC9xjGR5yM+S8joBAgQIECBAgAABAgQIECBAoJgCEmGKGTe1JkCAAAECBAgQIECAQGEEYlLM5cX8kf+Mv58+d61Vd0nChQlhoSr66QThWHlJwoUKocoSIECAAAECBAgQIECAAAECBLoSkAjTFZ+DCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEUhGopVIR9SBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMgESYZEKhIgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAt0ISITpRs+xBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyQhIhEkmFCpCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQjYBEmG70HEuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJCMwP8DjpBpP47VxZ0AAAAASUVORK5CYII=" + } + }, + "cell_type": "markdown", + "id": "83ddcb80", + "metadata": {}, + "source": [ + "![Screenshot%202022-08-10%20at%2021.42.39.png](attachment:Screenshot%202022-08-10%20at%2021.42.39.png)" + ] + }, + { + "cell_type": "markdown", + "id": "e7e31982", + "metadata": {}, + "source": [ + "To classify our image dataset of horizontal and vertical lines, we measure the expectation value of the Pauli Z operator of the final qubit. Based on the obtained value being +1 or -1, we can conclude that the input image contained either a horizontal or vertical line. " + ] + }, + { + "cell_type": "markdown", + "id": "e930ed08", + "metadata": {}, + "source": [ + "## 5. Training our QCNN" + ] + }, + { + "cell_type": "markdown", + "id": "4e04e424", + "metadata": {}, + "source": [ + "The next step is to build our model using our training data. \n", + "\n", + "To classify our system, we perform a measurement from the output circuit. The value we obtain will thus classify whether our input data contains either a vertical line or horizontal line. \n", + "\n", + "The measurement we have chosen in this tutorial is $$, i.e. the expectation value of the Pauli Z qubit for the final qubit. Measuring this expectation value, we obtain +1 or -1, which correspond to a vertical or horizontal line respectively. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "cc478975", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "feature_map = ZFeatureMap(8)\n", + "\n", + "ansatz = QuantumCircuit(8, name=\"Ansatz\")\n", + "\n", + "# First Convolutional Layer\n", + "ansatz.compose(conv_layer(8, \"c1\"), list(range(8)), inplace=True)\n", + "\n", + "# First Pooling Layer\n", + "ansatz.compose(pool_layer([0, 1, 2, 3], [4, 5, 6, 7], \"p1\"), list(range(8)), inplace=True)\n", + "\n", + "# Second Convolutional Layer\n", + "ansatz.compose(conv_layer(4, \"c2\"), list(range(4, 8)), inplace=True)\n", + "\n", + "# Second Pooling Layer\n", + "ansatz.compose(pool_layer([0, 1], [2, 3], \"p2\"), list(range(4, 8)), inplace=True)\n", + "\n", + "# Third Convolutional Layer\n", + "ansatz.compose(conv_layer(2, \"c3\"), list(range(6, 8)), inplace=True)\n", + "\n", + "# Third Pooling Layer\n", + "ansatz.compose(pool_layer([0], [1], \"p3\"), list(range(6, 8)), inplace=True)\n", + "\n", + "# Combining the feature map and ansatz\n", + "circuit = QuantumCircuit(8)\n", + "circuit.compose(feature_map, range(8), inplace=True)\n", + "circuit.compose(ansatz, range(8), inplace=True)\n", + "\n", + "observable = SparsePauliOp.from_list([(\"Z\" + \"I\" * 7, 1)])\n", + "\n", + "# we decompose the circuit for the QNN to avoid additional data copying\n", + "qnn = EstimatorQNN(\n", + " circuit=circuit.decompose(),\n", + " observables=observable,\n", + " input_params=feature_map.parameters,\n", + " weight_params=ansatz.parameters,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a4f6b6e7", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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zVPPz06LZq0yoM8h+X9fumittwuNxZgHgKbPeg4AyyvZAGzSpEmZOHFiZsyYkQEDBiRJBg0alPvuuy9Tp05N375912r7Dz4+Iz/49UEZc/DP07/nfklNTZ5+4Z9rtU1oTMY8ADR91nMAqF/JBmDjxo3L4MGDa8Ov93Tr1i3NmzdP7969kyRLlizJSSedlOuuuy6tWrXKBhtskNtuu2212//FtO9l352+lc/3Pqi2bNvN127oBo3JmAeAps96DgD1K8kAbN68eZk9e3aOPfbY5bbNnTs3vXr1SsuWLZMkJ598ct5888088sgjqaioyPz581e7/UVL3sqjz9ydXlt/NiMv6JsXX52brTt/MsP3nZAeW3xqteuHUmPMA0DTZz0HgA9XkhfBnzdvXpKkc+fOdcoXLVqUysrK2tMf33777Vx66aU599xzU1FRkSTZdNNNG9RGWVlZysrKUlk5Y7ltC99+NdU11Zn+wKSccMjEXD32ufTrvkdO/cXeWbjotVV/YLCOVVbOqB3rxjwAlKb61usV3aznAOveqszXbmvnVllZmcrKypV6/koyAOvUqVOSZM6cOXXKx48fn/nz56dfv35Jksceeyzt27fP+eefn8985jPp379/fv/73692++u1XD9Jsuenh6brZr3TvFmLHL7r97K0+t3846mZq10/lBpjHgCaPus5AHy4kjwFsmvXrundu3fGjRuXjh07pkuXLpkyZUqmTZuWJLUB2NKlS/Pss89m0003zd13352nnnoqO++8c7bddtvssMMOH9lGTU1NkmTW1clr8+pua9O6fTpvsHXKUlanvCzLkkZoKgYMGJiai2vqlBnzAFBa6luvV8R6DrDurcp8zdoxcODAlb5PSR4BVl5ensmTJ6dXr14ZOXJkhg4dmk6dOmX06NGpqKiovQD+lltumSQ54ogjkiRbb711PvvZz+buu+9e7T7st/Oo3Djrijz9wj9TVbU0v59xbpo3a5leW+282nVDKTLmAaDps54DQP1K8giwJOnevXumT59ep2zIkCHp2bNnWrdunWTZqZKDBw/OX/7ylxx88MF5+eWXc/fdd+e4445b7fYPHnB83n7nzZxwya5ZsnRxunXZIWcPuz5tWrdf7bqhFBnzAND0Wc8BoH5lNe+dC9gEfOITn0j//v1zxRVX1JY9/fTTGTZsWF544YXU1NRk9OjR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aAIwAAAAAAqtpAOw6urqTJgwIdtuu21atWqVPn36pLKyMj169Mjw4cMbu3sAAAAANAHNGrsDH2XYsGGZOnVqxo4dm379+mXmzJk5/PDDs2DBgowZM6axu5ckqaquyi+mnZSbZk3MkqWL02/bPXLMQZemfZtOjd01gP9Z5mYAAOD9SvYIsEmTJmXixIm59tprc/zxx2fQoEE55ZRTstNOO2Xp0qXp27dvY3cxSXL19HMy8x9/yk+OviuTTpmXJPnhpCGN3CuA/23mZgAA4P1KNgAbN25cBg8enAEDBtQp79atW5o3b57evXvXKb/ssstSVlaWKVOmrMtuZtqdl+XQQSdm0w27pk3r9jlqn/G559Eb8sKrT6/TfgDwX+ZmAADg/UoyAJs3b15mz56dgw8+eLltc+fOTa9evdKyZcvasn//+9+54oor0r9//3XZzSxc9FpefG1utu3Sr7Zss07bZL1W7fL4cw+u074AsIy5GQAA+KCSvAbYvHnLTlfp3LlznfJFixalsrIye+21V23Z0qVL841vfCMXX3xxjjnmmAa3UVlZmSQpKytr0P4TvjU9fbYZWKfs7XfeTJK0ad2+TnnbVh3y9uI3GtwXgP91lZUz8unDB630/czNNDWrOtYBAFheTU1Ng/ctySPAOnVadpHiOXPm1CkfP3585s+fn379/vup/plnnpm99tor22+//brsYpJkvZbrJ0neWvR6nfKFi1/Leq3arfP+AGBuBgAAlleSR4B17do1vXv3zrhx49KxY8d06dIlU6ZMybRp05KkNgC76667cuutt2bGjBkr3cZ71xZr6H1nXZ28Nq9uWdvWHbJxhy3z2LP3pVuX7ZMk819+Im8vfiNdN+29fCUA1GvAgIGpubjhn968x9xMU7OqYx0AgNVTkkeAlZeXZ/LkyenVq1dGjhyZoUOHplOnThk9enQqKipqL4A/ffr0PP7449lmm22y9dZb584778yoUaNy3nnnrbO+7t1/eH4344eZ/8qTeWvxG7l82on5VPc907nj1uusDwDUZW4GAADerySPAEuS7t27Z/r06XXKhgwZkp49e6Z169ZJkpNOOiknnXRS7faBAwfm29/+dg466KB11s/DBp2UhW+/mm//+NN5t+qd9N1295z0ld+ss/YBWJ65GQAAeL+SDcDqM2vWrHX+TY8rUlFekRH7TciI/SY0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PIl0OQfYo+zbty/R2x/nzp1L9+7d06BEIiIiIiIiIiKS3qXbEWAPCwkJ4cSJE/Tu3dti3ZYtW9KgRCIiIiIiIiIikhFkmASYi4sLsbGxaV0MERERERERERHJYDLULZAiIiIiIiIiIiLJpQSYiIiIiIiIiIhkakqAiYiIiIiIiIhIpqYEmIiIiIiIiIiIZGpKgImIiIiIiIiISKamBJiIiIiIiIiIiGRqSoCJiIiIiIiIiEimZpvWBcgosuZM6xKIiGReKe1j1TdLRpOcNqv2LeldarZRtf/0S5+NiGRUNvHx8fFpXQgREREREREREZHUolsgRUREREREREQkU1MCTEREREREREREMjUlwEREREREREREJFNTAkxERERERERERDI1JcBERERERERERCRTUwJMREREREREREQyNSXAREREREREREQkU1MCTEREREREREREMjUlwEREREREREREJFNTAkxERERERERERDI1JcBERERERERERCRTUwJMREREREREREQyNSXAREREREREREQkU1MCTEREREREREREMjUlwEREREREREREJFNTAkxERERERERERDI1JcBERERERERERCRTUwJMREREREREREQytf8DuwgT6MHD/acAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "circuit.draw(\"mpl\", style=\"clifford\")" + ] + }, + { + "cell_type": "markdown", + "id": "db7ec49c", + "metadata": {}, + "source": [ + "We will also define a callback function to use when training our model. This allows us to view and plot the loss function per each iteration in our training process." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d97cc662", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "def callback_graph(weights, obj_func_eval):\n", + " clear_output(wait=True)\n", + " objective_func_vals.append(obj_func_eval)\n", + " plt.title(\"Objective function value against iteration\")\n", + " plt.xlabel(\"Iteration\")\n", + " plt.ylabel(\"Objective function value\")\n", + " plt.plot(range(len(objective_func_vals)), objective_func_vals)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "4371b5a7", + "metadata": {}, + "source": [ + "In this example, we will use the COBYLA optimizer to train our classifier, which is a numerical optimization method commonly used for classification machine learning algorithms.\n", + "\n", + "We then place the the callback function, optimizer and operator of our QCNN created above into Qiskit Machine Learning's built in Neural Network Classifier, which we can then use to train our model. \n", + "\n", + "Since model training may take a long time we have already pre-trained the model for some iterations and saved the pre-trained weights. We'll continue training from that point by setting `initial_point` to a vector of pre-trained weights." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "f2949fc6", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "with open(\"11_qcnn_initial_point.json\", \"r\") as f:\n", + " initial_point = json.load(f)\n", + "\n", + "classifier = NeuralNetworkClassifier(\n", + " qnn,\n", + " optimizer=COBYLA(maxiter=200), # Set max iterations here\n", + " callback=callback_graph,\n", + " initial_point=initial_point,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c9061806", + "metadata": {}, + "source": [ + "After creating this classifier, we can train our QCNN using our training dataset and each image's corresponding label. Because we previously defined the callback function, we plot the overall loss of our system per iteration.\n", + "\n", + "It may take some time to train the QCNN so be patient!" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0219ff4a", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy from the train data : 97.14%\n" + ] + } + ], + "source": [ + "x = np.asarray(train_images)\n", + "y = np.asarray(train_labels)\n", + "\n", + "objective_func_vals = []\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "classifier.fit(x, y)\n", + "\n", + "# score classifier\n", + "print(f\"Accuracy from the train data : {np.round(100 * classifier.score(x, y), 2)}%\")" + ] + }, + { + "cell_type": "markdown", + "id": "e95d1100", + "metadata": {}, + "source": [ + "As we can see from above, the QCNN converges slowly, hence our `initial_point` was already close to an optimal solution. The next step is to determine whether our QCNN can classify data seen in our test image data set. " + ] + }, + { + "cell_type": "markdown", + "id": "72b3cf40", + "metadata": {}, + "source": [ + "## 6. Testing our QCNN" + ] + }, + { + "cell_type": "markdown", + "id": "571b1b32", + "metadata": {}, + "source": [ + "After building and training our dataset we now test whether our QCNN can predict images that are not from our test data set. " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "7f2a34ae", + "metadata": { + "scrolled": false, + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy from the test data : 93.33%\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_predict = classifier.predict(test_images)\n", + "x = np.asarray(test_images)\n", + "y = np.asarray(test_labels)\n", + "print(f\"Accuracy from the test data : {np.round(100 * classifier.score(x, y), 2)}%\")\n", + "\n", + "# Let's see some examples in our dataset\n", + "fig, ax = plt.subplots(2, 2, figsize=(10, 6), subplot_kw={\"xticks\": [], \"yticks\": []})\n", + "for i in range(0, 4):\n", + " ax[i // 2, i % 2].imshow(test_images[i].reshape(2, 4), aspect=\"equal\")\n", + " if y_predict[i] == -1:\n", + " ax[i // 2, i % 2].set_title(\"The QCNN predicts this is a Horizontal Line\")\n", + " if y_predict[i] == +1:\n", + " ax[i // 2, i % 2].set_title(\"The QCNN predicts this is a Vertical Line\")\n", + "plt.subplots_adjust(wspace=0.1, hspace=0.5)" + ] + }, + { + "cell_type": "markdown", + "id": "7f296307", + "metadata": {}, + "source": [ + "From above, we can indeed see that our QCNN can classify horizontal and vertical lines! Congratulations! Through the use of quantum circuits and quantum convolutional and pooling layers, you have built a Quantum Convolutional Neural Network! " + ] + }, + { + "cell_type": "markdown", + "id": "4a1d8370", + "metadata": {}, + "source": [ + "## 7. References" + ] + }, + { + "cell_type": "markdown", + "id": "a16174c0", + "metadata": {}, + "source": [ + "[1] Cong, I., Choi, S. & Lukin, M.D. Quantum convolutional neural networks. Nat. Phys. 15, 1273–1278 (2019). https://doi.org/10.1038/s41567-019-0648-8\n", + "\n", + "[2] IBM Convolutional Neural Networks https://www.ibm.com/cloud/learn/convolutional-neural-networks\n", + "\n", + "[3] Vatan, Farrokh, and Colin Williams. \"Optimal quantum circuits for general two-qubit gates.\" Physical Review A 69.3 (2004): 032315." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "220ffdcf", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

SoftwareVersion
qiskit1.0.0.dev0+737f21b
qiskit_algorithms0.3.0
qiskit_machine_learning0.8.0
System information
Python version3.9.7
Python compilerGCC 7.5.0
Python builddefault, Sep 16 2021 13:09:58
OSLinux
CPUs2
Memory (Gb)5.792198181152344
Thu Dec 14 13:53:25 2023 EST
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "celltoolbar": "Tags", + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + }, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/12_quantum_autoencoder.ipynb.txt b/_sources/tutorials/12_quantum_autoencoder.ipynb.txt new file mode 100644 index 000000000..3d639659b --- /dev/null +++ b/_sources/tutorials/12_quantum_autoencoder.ipynb.txt @@ -0,0 +1,1208 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "89e72932", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "2fa8b1fa", + "metadata": {}, + "source": [ + "# The Quantum Autoencoder" + ] + }, + { + "cell_type": "markdown", + "id": "d1764d89", + "metadata": {}, + "source": [ + "The goal of this tutorial is to build an Quantum Autoencoder, a circuit which can compress a quantum state onto a smaller amount of qubits, while retaining the information from the initial state.\n", + "\n", + "Throughout this tutorial, we explain the architecture of a Quantum Autoencoder and how one can design and train such a system to compress and encode information. Following this discussion, we give two examples to demonstrate the capabilities of such a system to compress different quantum states, as well as the ability to compress images of zeros and ones. " + ] + }, + { + "cell_type": "markdown", + "id": "29f13968", + "metadata": {}, + "source": [ + "## Contents\n", + "\n", + "The following tutorial is broken down as follows:\n", + "\n", + "1. What is an Autoencoder?\n", + "1. The Quantum Autoencoder \n", + "3. Components of a Quantum Autoencoder\n", + "4. Choosing a Loss Function\n", + "5. Building our Autoencoder\n", + "6. A Simple Example: The Domain Wall\n", + "7. A Quantum Autoencoder for Noisy Images of Digits\n", + "8. Applications of a Quantum Autoencoder\n", + "9. References " + ] + }, + { + "cell_type": "markdown", + "id": "2af97494", + "metadata": {}, + "source": [ + "## 1. What is an Autoencoder?" + ] + }, + { + "cell_type": "markdown", + "id": "9246a6a6", + "metadata": {}, + "source": [ + "A classical autoencoder (CAE) is a type of neural network architecture that is commonly used to efficiently compress and encode information from the input using of representation learning. Following compression, one can then uncompress the data through the use of a decoder. \n", + "\n", + "Typical autoencoders are commonly divided into three layers, as seen in Figure 1. " + ] + }, + { + "attachments": { + "qae_fig1_wide.png": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAACxEAAAPoCAYAAAAbOZLyAAAACXBIWXMAAAb4AAAG+AGonK/tAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAIABJREFUeJzs3Xl8FfW9//H3nC37QtgCLiAIorjSWpRWq4h1wSqoRIQAQiIqq9pSrdXe+2utXbBVVhcSRAjIooJa0PaCa6kVK24gCIJBDEuAhKxnP/P7A7FqQ+CEs05ez3/uozDfOW9z62lmvu/5jGGapikAAABYUqPHpx0V++MdAwAAJBiH3VBGqkPZmWkyDCPecQAAQJwFgyEdqGmUxxeMdxQAAJCAenTNl8Nui3cMAAAARIEj3gEAAAAQPYcrQXbDVJotENcsAAAgMYRkKGC4lOqyy+fzxTsOAABIEC6HTV5fUBl2f7yjAACABNEQdMrUf/YaAAAAYD2UiAEAACzt0K29FCOoTq7GOGcBAACJIGAaqgi44h0DAAAkIJthcv8AAAB8bbsnW0HTEK+3BgAAsC7eNwEAAGBhJrf2AAAAAAAAAADAcWASMQAAgHVRIgYAALAwbuwBAAAAAAAAAAAAAACgKZSIAQAALIw5xAAAAAAAAAAA4HiYbDYAAABYFiViAAAACzOYRQwAAAAAAAAAAI4HWw0AAACWRYkYAADAwkxmEQMAAAAAAAAAgONAhxgAAMC6KBEDAABYGDf2AAAAAAAAAAAAAAAA0BRKxAAAABbGHGIAAAAAAAAAAHA82GsAAACwLkrEAAAAFsYkYgAAAAAAAAAAcDzYawAAALAuSsQAAAAWxnQAAAAAAAAAAAAAAAAANIUSMQAAAAAAAAAAAAAAAJrEwBIAAADrokQMAAAAAAAAAAAAAACAJhnxDgAAAICooUQMAABgYdzYAwAAAAAAAAAAAAAAQFMc8Q4AAACA6OEVYwBaC1/IUKPfroaATY1+u9xBm/whm4IhKWga8ocOPVZhMyS7YcppC8luSE57SBmOkNIdwUP/1xmUjScwAAAAAAAJzBO0qdFvkztw6DrYE7DJFzIUNG0KmlLgq2tgu2HKZuira2BTKXZT6c5D178ZzqDSHKYM7iACOAZ8UwAAAFgXJWIAAAALowcHwKoa/HZVexyq8jlU7XHKEwz3G8/e5J8ahpTlDKpNSkB5qQHlpvjlsrFNAgAAAACID9OU6r66Bq72OVXtccgXisw1sE1SdkpQeak+tXEFlJsSlINrYABNYK8BAADAuigRAwAAWBi3/AFYSY3PoV0NTu1tcMkbskXlM0xTqvXZVeuza0ddigxJ2a6AOqX7lJ/pV4otFJXPBQAAAADgMNOUqrxO7W5wqtLt+vrtOpEWknTQa9dBb5okyTBMtXEF1DnDrw7pPjkpFAP4Ct8GAAAA1kWJGAAAAACQsNwBm76sT9HuRpfcgegUh5tj6lB5ucbn0Kc1UhuXX50zfeqU7pONESwAAAAAgAhq8Nv1Rb1Lextd8gbjcA1sGqryOlXldcpWna52qT51zvCpQ7qfKaQAAAAAYFGUiAEAACzM4PY+gCRV53eovDZFuxucMhPku+zwJKgqr1Nbq9PUJdurEzO9TGYCAAAAAByXKo9D5XWp2ud2xjvK10KmVOl2qdLtUrojqFOyvOqc6eWBWqCV4l99AAAA66JEDAAAYGEmLxkDkGRqfXZtrUnXfndiX656QzZtOZim7bWpOjHTq27ZHsrEAAAAAICw7Pc49NnBNNX4EvsauDFg18bqdG2tTVXXLK+6ZHkoEwMAAACARST2FSkAAACOC5OIASQLX8jQtppU7axPlZlEXdxAyFB5baoq6lPUPcejkzM9MvjqBQAAAAA0ozFg19aDqdrT6Ip3lLD4goceqN1Zl6LuuW6dkOGLdyQAMZJEt+sAAAAQJkrEAAAAFsYkYgCJzjSlHfUp2nYwTQEzedu3/pChzdVpqmhw6Yw2jcpNCcQ7EgAAAAAgwQRNaVtNmnbUpSqUxLft3EGbNhzI0O6vroHTnaF4RwIQbcn01D8AAADCYot3AAAAAEQPk4gBJDJ3wKZ392Xp0+r0pC4Qf1Odz651lVnacjBNJt/BAAAAAICv1PvtemdPtj6vTe4C8Tcd8Di1dk+OdtSlxjsKgGjj1VsAAACWxSRiAAAAC2MSMYBEtbvBpU+qrFMe/ibTlD6vTVWVx6Fz2jUqzRGMdyQAAAAAQByV16Vo68F0y5SHvylkSpur01Tlsat3XqNcdgv+QwLgUXkAAAALYxIxAAAAACBmTBnaWJWhjw5kWLJA/E01Pof+uSdLlW5nvKMAAAAAAOIgEDK0vjJTn1Zbs0D8TZVul/65O1s1XmZYAQAAAEAyoUQMAAAAAIiJw5unX9a74h0lZgIhQx/sz9QXdSnxjgIAAAAAiCFP0NC6yizt87SeB0u9IZvercxUpbv1XPcDrYXFn4MAAABo1SgRAwAAWJi1Z3wCSCaeoE3rKrO039P6JhKZprSpOl2bqtPYcAEAAACAVqDeZ9e6vdmq89lb3f25oGno/X0Z+qwmLd5RAERQa/suAwAAaE1a3+4tAABAq8KtPQDx5w7Y9G5lltyB1v0c6xd1qQqEbDqzbQPfzgAAAABgUbU+u97dm6WAeejKr7U+TLqtJlWSdGqOO85JAAAAAADNad07uAAAABZnttptCgCJwhM89CrT1l4gPmxXg0ubqtLjHQMAAAAAEAX1frveq/xPgbi121aTqvK61HjHAAAAAAA0g11cAAAAAEBU+IKG/l2ZKXfAHu8oCWVnfYo2V/NaVwAAAACwksaAXf/emylfiALxN31anaad9SnxjgEAAAAAOAJKxAAAABbGlgWAeAma0nv7stTgp0DclB11qSqvZRoTAAAAAFiBL2jTv/dmyhti67Upm6rStbfRGe8YAAAAAIAmcCULAABgYWa8AwBotTZVpavWR4G4OVtq0nTAwyYqAAAAACQz0zT04f4MuYNsux6JKWlDVQYPGgNJjL0GAAAA6+JqFgAAAAAQUTvrU1TRwKtKj8Y0dWijOcClOQAAAAAkqy0HU1XldcQ7RsILhAyt35epgMm70wAAAAAgkbBTCQAAAACImBqvQ5ur0+MdI2n4Q4cmVoXiHQQAAAAAELa9jU6V16Ue+g+M6TyqxoBNG/dzzwBIRtT/AQAArIsSMQAAAAAgIkKSNlSlK8TGaVhqfA6V16bGOwYAAAAAIAy+kKFPqjP+8wc07I7JHrdLuxtd8Y4BIEzc7gMAALAuSsQAAAAAgIj4vCZV9X57vGMkpW01aWrgZwcAAAAASePT6nT5gjSHw/JVC3FzVbp8IX52QDLh31gAAADrokQMAAAAADhujX6bttemxTtG0gqZ0sZqXukKAAAAAMmgyuvUrgam6YbtqxaiL2RoSzX3EIBkwiRiAAAA66JEDAAAAAA4bhur0hViN+G4VHscqmATGgAAAAASmilDGw5QgD1eFQ0pqvY64h0DwLEyufEHAABgVZSIAQAAAADHpcrrUJXXGe8YlrCtJk0mL4gEAAAAgIRVUe+UO2CPdwxL+OwgZWwgaRjcrwIAALAqSsQAAAAAgOOyrYZNv0hxB2zaVc80YgAAAABIRKYMba/lGjhSDj2UzDRiIBlQIQYAALAuSsQAAAAWZnBrD0CUHfA4VeVhwy+SttWmKhTvEAAAAACA/1JR55I7wPZqJG09mB7vCACOgRnvAAAAAIgarnIBAAAszOTWHoAo+7w2Jd4RLMcdsGl3A9OIAQAAACCRmJK216XGO4blHPTaddBrj3cMAEfBuBIAAADrokQMAAAAAGgRd8CmKo8z3jEsqaKecjYAAAAAJJIqj5MpxFHyJdfAAAAAABA3XOkCAAAAAFqkoj6FeedRUu11qMHPJTsAAAAAJIoK3hgTNXsaXQqEmHMKAAAAAPHAjiQAAICFGbxkDECUmJJ2Nbr+8x8QcV//fAEAAAAAceUPGarkGi1qgqahvfx8AQAAACAuKBEDAABYGs0+ANFR7XX85zWuPK8QFbsbeJ0rAAAAACSCvY1OBbnNFlW7mPQMJDS+AgEAAKyLEjEAAICl0ewDEB373c54R7A8d8CmBr893jEAAAAAoNXb76HgGm0HvQ4FQtzLBBIV/3YCAABYFyViAAAACzOZDwAgSg54KBHHwn5+zgAAAAAQV6YpVXkc8Y5heSFJ1T5+zkCiMk32GgAAAKyKEjEAAAAAICy+kKE6HxNyY+GAmw1UAAAAAIinWr9DfibkxgTXwEDiMgy+BwEAAKyKEjEAAAAAICxVHidzzmOk2ueQabJJAwAAAADxQrE1dnjrEQAAAADEHiViAAAAAEBYmEIcO4GQIXeAEjEAAAAAxEu9n2vgWGkI2BTiqWUAAAAAiClKxAAAAACAsDQE2ECNpfoAU68AAAAAIF4oEceOaRpq5J4DAAAAAMQUJWIAAAALY3YlgGio93MpGUsN/LwBAAAAIC5MiVJrjNXz8wYSEkPCAQAArIudSAAAAAvjxh6ASDNlyM0Upphq4OcNAAAAAHHhCdgV5AZbTPEgLQAAAADEFldhAAAAFmYwixhAhHmDUijeIVqLrzaq3QEu3QEAAAAgHtwB7q3FmodJxEBiMnmiAgAAwKrYiQQAALAwk1nEACIsGOIyMma+2qs+WFunpS+9olCI+jYAAAAAxEIwGNSLf3tVGzZviXeUVifIpS+QmAweqgAAALAqdn8BAAAAAMcsYLJhEGtLnynV8NvvVofe/TR9zgK5PZ54RwIAAAAAS6qpq9OMkgXq9aOrdMOYCZr++JPxjtTqBELcdwASEf9mAgAAWBclYgAAAADAMWMzL7b8fp+eeXq2JKmmtlY/+9/fq/sPLtNv/jxL1TW1cU4HAAAAANbw4cbNuuOe/9XJ5/1Yd//P71X+xZeSpJUvr9KBfXvinK514eFlIDHxzkMAAADrokQMAAAAADhmQTbzYurh/xkvr8f9rT/bd6Bav/3LLHU7v7/u+vVD+nI3G9oAAAAAEK5gMKi//t9runJokb7/k+tVUrZUje5vv/klEAjoby8ujFPC1ikQincCAE3hjiAAAIB1USIGAACwMG7sAYg0G3NHYub9d17X2tdWHvHv6xsaNbO0TKddeIVGT75Xm7Zsi2E6AAAAAEhOlfurNHVWiXpe+BMNvmW81rz1drPHv7JigQJ+f4zSwc7uNQAAAADEFJdhAAAAFkbVD0CkOWx8s8TC3l1f6He/LNaxfJP7/H6VPfuizr3sOg0aNU5v//v96AcEAAAAgCSz/qONuuOe/9WpfQfovof+oi8qdh/Tuqr9e/XP14/8gCciy8FUBAAAAACIKUrEAAAAAIBjRok4NvLa56vH6eeEtSYUCmnl6td18XXDddmNo/Tyq2/KNPn/FwAAAIDWy+vzaf6yFbrg6gL1vWqISsqWyu3xhHWO9h1PUMgMRSkhvsth8LMGEhF3mAAAAKzLEe8AAAAAiB4GdwCINLvBlkEsOJ0u/X7Wc1r1/NN6/M/3KRQKbxP1zbff1Ztvv6sze/XU3XeM1tBBA+V0cAsAAAAAQOuwu3Kf5ixYqseffkb7DlS16Bz9zu+j0SNvUYfzBstu53oqVuw8vAwkJPYaAAAArMswGUsEAABgWY0en3ZU7Fe6LaATUhriHQeABQRNQ6t35sY7RqtS/sFqPXDveFXX1Lb4HF1O7KzJt47SmGE3KiM9LYLpkIwCpqGKQK7aZLniHQUAACQQtzeoBrdP3VJb/nsnEG/rP9qoGaULtGTFKvkDgbDXp6ak6MafXqG7bx+ts04/TfV+u9buzo5CUhzJKdke9cx1xzsGgK9s92QraBrq0TVfDjsvugYAALAiSsQAAAAW5vb4VE6JGECEvbkrR+4Amwax0j3bI1vNFg0ePV6ffPrZcZ0rJytLIwqu0y8m3KpOHdpHKCGSDSViAADQFErESFYer1fLXnpFjzw+Tx9v+rRF5+jW5SQVDx+iouFDlJeb8/Wfh0xp9ZdtxG5q7JzZtkEnZPjiHQPAVw6XiHt2zZedEjEAAIAl8VseAACApfGSMQCRl+EMxjtCq5LhDKpbl5O09qXFGnTVgOM6V01dnWaWlqlH38s1evK9+uzzHRFKCQAAAACx9fmOnbrvob+o6/cu1ZjJvwy7QGyz2XTZRRfqmSce0SdvrdKU8cXfKhBLks2Q0uxcA8dSpiMU7wgAmsCzFAAAANZFiRgAAMDCTG7tAYiCDDb0Yirzq9J2Zka6ls6Zpofuu1s22/Fdznt9PpU9+6J6XzxQg0aN078/2BCJqAAAAAAQVaZpas1bb+vm2+7S6RddramzSnSg+mBY58jOylRxYYE+WPOCXllcqhuvuUJ2u/2Ix2c6uQaOJR5cBhIT40oAAACsyxHvAAAAAIgebuwBiIYsNvRixjBMpX9jw9owDE0ZX6wzTjtVIyf8QrV19cd1/lAopJWrX9fK1a+r3/l9NGV8ka65/NLjjQ0AAAAAEVVX36AlK1ZqxtwyffLpZy06R49uXXXHqJs1+uYblJmRfszrMl1BVbqdLfpMhCfNEZLDxlAEAAAAAIglSsQAAAAWxi13ANGQlxqId4RWI8cVkt3472/zgQMu0RsryjR49ASVf/FlRD7rn++u1+Bb1uvcM0/XpFtHatjga5qdxgUAAAAA0fbZ5zs095nnNGfBEh2srQt7vc1m06U/7KsJRYUaOOASGUb4j9y3cfklpYa9DuHLS+F+A5CoTDYbAAAALOv43n8KAACAhGYwixhAFKQ5gkpz8DrXWGiX6jvi353Zq6f+tWqp+v/ogoh+5gcbNmnM5F/q9Iuu1oySBXJ7PBE9PwAAAAA0JxQKac1bb2vQqHE646KrNXVWSdgF4tzsLE0oKtSn//ybXllcqmsuv7RFBWJJapMakI1bbDGRl+qPdwQAR8L3IAAAgGUZpskzYwAAAFbV6PFpR8V+pdsCOiGlId5xAFjIxqoMfVnvincMy+vbsU65R5nEFAgE9es/TdPUWSVRydChXZ5uG3mzJhaPUJuc7Kh8BmIrYBqqCOSqTRb/DgMAgP9we4NqcPvULbU23lHQStXU1Wn+khWaVjJfO3ZWtOgc5555um4bcZOG3XCt0tMiNz343b2ZqvI6I3Y+NO2SE2uUYuOhZSCRbPdkK2ga6tk1X3Y7M+oAAACsiBIxAACAhbk9PpVTIgYQBXsbnfpgf2a8Y1iawzDV/8QaGcaxXbYvev6vun3Kr486ObhNTrZq6xsUDAbDypOVmaFRNw3Wz+4YoxM75Ye1FomFEjEAAGgKJWLEywcbNumJBUu06LkX1egO/00oLqdT117RX8WFBbrsogujkFD6vDZVWw6mReXcOCTLGVC/TuFNnAYQfZSIAQAArI8SMQAAgIUxiRhAtARN6Y2KXPlDvMswWk7I9OrMvMaw1vzrvQ9UUDxZuyv3NXtcbk62Lun3A/399X+EvUnvcjpVcN1VumfCWPXq0S2stUgMlIgBAEBTKBEjloLBoF5+9U3NLC3TmrfebtE5OrZvq5EFg3XHLcN0UufoPujoDtj01q4csakaPT1y3OqWE36JHEB0HS4R9+iaLwclYgAAAEuiRAwAAGBhTCIGEE0bqzL0ZT0lxGj5Qcc6tUkJhL1u195KDSmapHXvf9TscQ6HXfdMGCubzaZZc8tUdbAmrM+x2Wy6qv/FunfSWF3wvXPDzon4oUQMAACaQokYsbB33wHNX7pcj81bpJ279rToHH3O7q1bhw9R4ZDrlJqSEuGER/bu3kxVeZ0x+7zWxJB00Qk1SrOH4h0FwHcwiRgAAMD6+C0PAADAwnhaDEA0nZjpjXcEy0p3hFpUIJakzh076NXn52vUTYObPS4QCOp3jz6m7Tu+0MY3V+kv/++XYU3vCoVCWrn6dV107TD9eFCh/vp/r4nnlAEAAAA0Zf1HG3XHPf+rU/sO0H0P/SXsAnGKy6Ubr7lCb724SO+8vEzFhQUxLRBL0gmZvph+XmvSLtVPgRgAAAAA4oRJxAAAABbW6PFpB5OIAUTR2t3Zqvfb4x3DcnrmunVK9vG/xrWkbKkm/epB+QPNF5Iv+N65WloyTe3y2mjxipV6eHapPvn0s7A/76zTT9Ndt9+imwddI4eD/14kKiYRAwCApjCJGJHm9fn00t9f0/Q58/X2v99v0Tk6d+ygouFDdMctN6t927wIJwxP0JTeqMiVP2TENYcVndO+QflplLSBRHR4EnGPrvlyMIkYAADAkigRAwAAWBglYgDRVlGfog1V6fGOYSkOm6mLOtXIZY/M5fpb//q3bhp7p/YdqGr2uM4dO+jZuTN0/rlnyTRNrVz9uqbOKtU/310f9md2OekETS4eqaLhQ5SeltrS6IgSSsQAAKAplIgRKbsr92nOgqV6/OlnjnodciT9zu+jicUjNOjKAQn1gOLWmjRtr+EaJ5LSHEFd1LlOBu9UAxLS4RJxz675slMiBgAAsCRKxAAAABbm9vhUTokYQBSZpvSP3TlqDLCJECndsj3qkeuO6Dm379ip68dM0MbNW5s9LsXl0uw//o9GFgz++s/Wf7RRM0oX6JnlKxUMBsP63HZ5bXTHLcM0fsxwtW2T26LsiDxKxAAAoCmUiHG8Dl87LF6xUoFAeNcOkpSakqIbf3qFfnbHGJ3Zq2cUEh4/X8jQW7tyFGAa8XEzJJmSzmzboBMymEIMJCpKxAAAANZHiRgAAMDCmEQMIBZ2Nbj08YGMeMdIbqYkQ3IYpi4+oUZOW+Qv1esbGjXmzl9q+ar/O+qxxYUFmvG7B7418Wtb+ReaObdMJWXL5PF6w/rsjPQ0jb75Bt1122idfEKnsLMjsigRAwCAplAiRkt4vF4te+kVPfL4PH286dMWnaNbl5NUPHyIioYPUV5uToQTRt7Wg2naXss04khIdwT1o051Mgy2q4FEdbhE3KNrvhyUiAEAACyJEjEAAICFMYkYQCyYpqF/7M5SYyBxXjGbrLrneHRqTmSnEH+TaZp6eHap7v/DowqFQs0ee/mPf6iFj/1ZbXKyv/Xneyr368kFSzR9znzV1NWF9fk2m01X9b9YD9w9Tt8758yw8yMyKBEDAICmUCJGOLbv2KmShctUunCZqg7WhL3eZrPp0h/2VXFhgQZfNUB2e/JcT/pDht6syFHAZBrx8TqrbYM6M4UYSGhMIgYAALA+SsQAAAAWxiRiALGy3+3Ue/sy4x0jqaU5QuqXXytHFKYQf9fK1a9r5IRfqLauvtnjunU5ScufmqUzTjv1v/6utq5eTy9Zrodnl2rX3sqwM/Q7v4+mjC/SNZdfGvZaHB9KxAAAoCmUiHE0pmnq1X/8SyVlS7X85dUKBoNhnyM7K1MF112tSUUjdHrP7lFIGRtf1KVqU3VavGMktRxXQH3z60QVG0hsTCIGAACwPkrEAAAAFkaJGEAsfXQgQ7sbKCW2VJ/29Wqf5o/Z523YvEXXj5moz3fsbPa4zIx0PTXtDxp01YAm/97r82npiy/rD9Of1JZtn4ed47yzztDE4hEaNviapJo+lswoEQMAgKZQIsaR1NU3aMmKlZpeukCbtmxr0Tl6dOuqO0bdrNE336DMjPQIJ4w9U9K6vdk66OUapiVskvp1qlWGM/wiOoDYokQMAABgfZSIAQAALMzt8au8Yh8lYgAx4QsaWrs7R74Qc4TC1TnDp7Paxv57uupgjYbdfrfWvPV2s8cZhqGfjyvSg/feKZut6Q2jUCikVWve0EOPPq53P/g47CzdupykCWMKdeuIAqWmpIS9HseOEjEAAGgKJWJ819bt5Xpq8fOas2CJDtbWhb3eZrPp0h/21YSiQg0ccIkMw1rXivU+u97ek61QvIMkoVNz3Oqe44l3DADH4HCJuGfXfNkpEQMAAFgSJWIAAAALYxIxgFjb3eDSRwcy4h0jqaTYQ+qXXyuXPT6X58FgUA/8cZqmzio56rEDB1yi+TP/pOyszGaPW7tuvabOKtGqNW8o3NsOHdu31dgRQzXp1pHKzc4Kay2ODSViAADQFErEkA49HPja2nc0o2RBi36fl6Tc7CwVDrlOk28dpa4nnRCFlIljW02qPqtJi3eMpJLlDOqC/FrZrNUpByyLEjEAAID1USIGAACwMCYRA4iHT6rStbOeSbLHwjBMfb99vfJSA/GOomeW/1W3/fzXcnuanwZ1Zq+eWv7UTHU9+cSjnvPDjZv16JPztHjFSgUC4b2mNiszQ6NuGqyfjyvSCfkdw1qL5lEiBgAATaFE3LrV1NVp/pIVmlYyXzt2VrToHOeddYbGFhZo2A3XKj0tNcIJE5Mpaf2+TO13O+MdJSk4bKYu6FirDCfzm4FkcbhE3KNrvhyUiAEAACyJEjEAAICFMYkYQDyEJK3bk6UanyPeURJer9xGdcn2xjvG197/+BPdWDRRX1Tsbva4tm1ytejxv6j/jy44pvOWf/GlppXMV+nCZ49aUv4ul9Opguuu0r0Tx+q0U7uFtRZNo0QMAACaQom4dfpgwyY9sWCJFj33ohrd4f2uLh36ff3aK/qruLBAl110YRQSJj5fyNDbe7LlCVCuO5rz2terQ5o/3jEAhOHrEnGXjnI47PGOAwAAgCigRAwAAGBhTCIGEC+e4KFNVF+QTdQj6ZTh09ltE++7edfeShUUT9Y76z9s9jiHw67f/GKypowvPuZzV+6v0uNPP6NZc8tUdbAmrFw2m01X9b9Yv5x8m/r2OSestfg2SsQAAKAplIhbj2AwqJdffVMzS8u05q23W3SOju3bamTBYN1xyzCd1Dk/wgmTT63Prnf2ZivErusRdc/26NRcd7xjAAgTk4gBAACsjxIxAACAhTGJGEA81fnsercyS/6QEe8oCScvJaA+HepkT9Afjdfn04Rf/kbzFj9/1GOHXX+NHp/6G6WlHvvriusbGvXUM8/pkSee0s5de8LO1+/8PpoyvkgDB1wiw0jQH2ICo0QMAACaQonY+vbuO6D5S5frsXmLWvR7uCT1Obu3bh0+RIVDrlNqSkqEEya3SrdLH+xLlymuUb6rc4ZPZ7Zt4CcDJKHDJeKeXfNlp0QMAABgSZSIAQAALIwSMYBj0d4RAAAgAElEQVR4q/Y69F5lpoImW4WH5bgC+n6HejlsiX85XlK2VJN+9aD8gUCzx13wvXO1tGSaOnVoH9b5fX6/lrywSlNnlWjTlm1h5zv7jNN052236OZB1/BKzTBQIgYAAE2hRGxd6z/aqDkLl6ls2QvyeL1hr09xufTTn1yqyWNH6YLvnRuFhNaxu9Gljw9kiN3X/+iY7tc5bevF859AcqJEDAAAYH2UiAEAACyMEjGARHDA49T6fZm81lVSljOo8zvWyZkEBeLD3vrXvzX0tjtVub+q2eM6d+ygZaXT9YPzzg77M0zT1MrVr+tPM0v09r/fD3t9l5NO0OTikSoaPkTpacc+Ebm1okQMAACaQonYWrw+n176+2uaPmd+i37Hlg79jl80fIjGjR6mdnltIpzQuioaXNp4IEPJc9UXPW1T/erTvl42CsRA0jpcIu7RNV8OSsQAAACWRIkYAADAwtwen8opEQNIAAc8Tn2wL0OBVjyRODcloPPa18uVRAXiwz7fsVODx0zQxs1bmz0uxeXSrD/8j0bdNLjFn7V23XpNnVWiVWveULi3LNq3zdPto27WhKJC5eXmtDiD1VEiBgAATaFEbA27K/dpzoKlevzpZ7TvQPMPAh5Jv/P7aGLxCA26cgBv/GihigaXPjmQoVC8g8RRx3S/zmpbL3vrvQ0AWAKTiAEAAKyPEjEAAICFuT1+lVfso0QMICHU++xavz9T7oBNhtSqpjJ1SvfpzLYNST19qb6hUUV33afnV/79qMcWFxZo+u/ul9PhaPHnbdy8VQ8/VqolK1bJHwiEtTYzI123DL1ed902Wief0KnFGayKEjEAAGgKJeLktnbdes0sXaAVr6xWIBAMe31mRrqGDr5G40cP05m9ekYhYetT5T30MK0/lMQXgi3UNdujnrlutb5/csB6KBEDAABYHyViAAAAC2v0+LSDScQAEog3aNP6fZmq9bWeaVYnZ3nUq401Nk9N09TDs0t1/x8eVSjU/Eytiy74vpY8+ajat807rs/cU7lfTy5Youlz5qumri6stU6HQzcNulpTxhXrjNNOPa4cVkKJGAAANIUScfLxeL1a9tIreuTxefp406ctOke3LiepePgQFQ0fwts8oqAxYNd7lRlqDLSOa2DDkE7PbdRJWd54RwEQIZSIAQAArI8SMQAAgIVRIgaQiIKm9Gl1unbWp8Q7SlS5bKbOyGtQx3R/vKNE3Ko1b2jk+F8ctdTbrctJen7uTPXu1eO4P7O2rl5PL1muqbNKtLtyX1hrDcPQ1Zf9WBOLR+iyiy487izJjhIxAABoCiXi5LF9x06VLFym0oXLVHWwJuz1NptNl/6wr4oLCzT4qgGy21tHwTVefCFDn1RlaG+jM95RoirVEdI5beuVmxL+JGwAiYsSMQAAgPVRIgYAALAwt8enckrEABLUfo9DG/ZnyBuy3gZEXkpAZ7WrV6rdupfcW7Z9rsGjJ2jLts+bPS4zI11zH/29Bl99eUQ+1+vzaemLL+v3057Q1u3lYa/vc3ZvTSgq1LDB17TasgQlYgAA0BRKxInNNE29+o9/qaRsqZa/vFrBYPhFzeysTBVcd7UmF49Urx7dopASzalocGlzdboCISu8p+bb8tN9OiOvUU6bda+BgdaKEjEAAID1USIGAACwMCYRA0h03qBNn1SlqdJtjTKjw2aqe45bXbK8st628H+rOlij4Xf8TKvf/GezxxmGoZ+PK9KD994pmy0yG06hUEir1ryh3z36mP79wYaw13fverLGjx6uW0cUKDXF2lOxv4sSMQAAaAol4sRUW1evpS+s0vTSBdq0ZVuLztGz+ym6feRQjb75BmVmpEc4IcLR4LdpQ1WmDnqt8UCjyx7Sabludc7wxTsKgCg5XCLu0TVfDkrEAAAAlkSJGAAAwMIoEQNIFlVepzZVpanen7wbqfnpPvXMdSvNEYp3lJgKBoN64I/TNHVWyVGPHTjgEs2f+SdlZ2VGNMPades1dVaJVq5+Pey1+R3a6dbCmzTp1pHKzc6KaK5ERYkYAAA0hRJxYtm6vVyz5y3SvMXPq76hMez1NptNV/W/WBOLR6j/jy6QYbSGxxyTR6Xbqc3V6XIHkrOQZ8jUSVle9cj1yGGw1QxYGSViAAAA66NEDAAAYGGUiAEkE9M0tLM+RdtqUuVLote75qYE1KuNWzmuQLyjxNXiFSs19mcPyO3xNHvcmb166vm5M3RKl5MinuGDDZs0bc7Temb5yrBf75ydlamRBYM0ZXyxOnfsEPFsiYQSMQAAaAol4vgLhUJ6be07mlGyQKvWvKGWbOHlZmepcMh1unPsLepyYucopESkBE1D22tStaMuRUEzea6B26f51Su3UenO1vUALdBaHS4R9+yaLzslYgAAAEuiRAwAAGBhlIgBJKOQKe1udGl7bZoa/Ym7OZGbEtQp2W51SPPHO0rC+GDDJt0wZoK+qNjd7HF5uTla9PhfdNlFF0Ylx+c7dmp66QKVLnz2qKXm70pxuTTk2iv1y0m3qWf3U6KSL94oEQMAgKZQIo6fmro6zV+yQtNK5mvHzooWneO8s87Q2MICDbvhWqWnpUY4IaIpEDJU0ZCi8toUeYKJeQ1sSGqX5lf3bI9yUlr3A7RAa8MkYgAAAOujRAwAAGBhlIgBJDPTlPa6XfqiLkUHvQ4lwsWrw2aqY7pPXTO9ynSFN+m2tdhduU9DiibpnfUfNnuc3W7Xb++ZrCnji6OWpXJ/lR5/+hnNLF2g6prwyjCHX/9835236wfnnR2lhPFBiRgAADSFEnHsfbBhk55YsESLnntRje7wHn6TJJfTqWuv6K/iwoKoPaCH2AmZ0q76FH3RkKI6nz3ecSRJLrupTuk+dcnyKM3B5GGgNWISMQAAgPVRIgYAALAwSsQArMIdtGlvg0u7Gl0x30y1GYde19op3at2aX7Zk+cts3Hj9fk04Ze/0bzFzx/12JsHX6MnHv6N0lKjNy2trr5B8xY/r788Pldf7t4b9vp+5/fRlPFFGjjgEhlG8v8XgBIxAABoCiXi2PD5/Xrxb6+qpGyp1rz1dovOkd+hnUYMGaRxo4fpxE75EU6IRNDgt2t3o0u7G5xqDMT2GthhmOqY7ld+uldtU4MyDLaSgdaMScQAAADWR4kYAADAwigRA7CixoBdVR67qr1OVXkcEX/dq2FIWc6g8lICapPqV15KQA4bl84tUVK2VJN+9aD8geZfd3veWWfo2dIZOvmETlHN4/P7teSFVfrTzDnavHV72OvPPuM03XnbLbp50DVyOBJjMlhLUCIGAABNoUQcXXv3HdD8pcv12LxF2rlrT4vO0efs3ppQVKihgwbK6XBEOCESVZ3frmqPU1Veh6q9DvmCkX2w0WZIOa6A2qQElJcaUJsUv2zJ/+wkgAj5ukTcpWNS3wsBAADAkVEiBgAAsDBKxABaA3fAplqfXY0BuxoCNjUG7Gr02RQwDQXNI+98Om2mnLaQMhwhpTtDynAGle4IKcdFaTiS/vHOe7pp7GRV7q9q9rjOHTtoack09e1zTtQzhUIhrVrzhv44Y47+9d4HYa/vevKJmlQ0QkXDhyg9LXoTlKOFEjEAAGgKJeLoWP/RRs1ZuExly16Qx+sNe32Ky6Wf/uRS3XnbLTH5XRmJr95vV53fLnfApga/XQ1+m9xBmwIhm0JHuJQ1JDlsplLsIWU4Q0pzBJXhCCrDGVK2K8AbdwAcEZOIAQAArI8SMQAAgIVRIgYAyR8yFDQl0zRkN0zZbZKd17HG1M5de3Rj0USt/2hjs8eluFya+ftf65ah18combR23XpNnVWiVWveULi3SNq3zdPto27WhKJC5eXmRClh5FEiBgAATaFEHDlen08v/f01TXvy6RY9tCYdesiuaPgQjRs9TO3y2kQ4IazKlBQIGQqEDrWC7TZTDsNksjCAFjtcIu7ZNV92SsQAAACWRIkYAADAwtwev8or9lEiBgDEXX1Do4ruuk/Pr/z7UY8tLizQ9N/dH9NXNG/YvEV/fmyulqxYJX8gENbazIx03TL0et19+xid1Dk/SgkjhxIxAABoCiXi47drb6VKypbp8aef0b4Dzb+J40j6nd9HE4tHaNCVA3htPAAg7phEDAAAYH2UiAEAACyMScQAgERimqYenl2q+//wqEKhULPHXnTB97X4iUfVoV1ejNIdsuPLXXr0yXl66pnn1NDoDmut0+HQTYOu1i/G36rTe3aPUsLjR4kYAAA0hRJxy61dt14zSxdoxSurFQgEw16fmZGuoYOv0fjRw3Rmr55RSAgAQMswiRgAAMD6KBEDAABYGCViAEAievnVNzVi3BTV1NU1e9wpXU7S8rkz1btXjxgl+4/9VdWa/dQizX5qoQ5UHwxrrWEYuvqyH+sXE4rV7/w+UUrYcpSIAQBAUygRh8fj9WrZS6/oL489pQ2bt7ToHN27nqyiYTeqaPgQ5eXmRDghAADHjxIxAACA9VEiBgAAsDBKxACARLV1e7kGj56gTz/b3uxxmRnpKn3kIV0/8CcxSvZtXp9PS198WQ89+rg++3xH2Ov7nd9HU8YXaeCAS2QYRhQSho8SMQAAaAol4mOzfcdOlSxcptKFy1R1sCbs9TabTZf+sK+KCws0+KoBstvtUUgJAEBkUCIGAACwPkrEAAAAFub2+FVesY8SMQAgIVUdrNHwO36m1W/+s9njDMPQz8cV6cF775TNFp8Nq1AopFVr3tCDjzym9z7cEPb63r16aMLo4RpRMEgprviWdykRAwCAplAiPrJQKKTX1r6jkrKlWv7yagWDwbDPkZ2VqYLrrtbk4pHq1aNbFFICABB5lIgBAACsjxIxAACAhbk9PpUziRgAkMCCwaAe+OM0TZ1VctRjr77sx5o/60/KycqKQbIjW7tuvabOKtHK1a+HvTa/QzvdWniTJo8dGbd/DkrEAACgKZSI/1ttXb2WvrBK00sXaNOWbS06R8/up+j2kUM1ZtiNykhPi3BCAACi63CJuEfXfDkoEQMAAFgSJWIAAAALYxIxACBZLF6xUrf9/AE1uj3NHtez+yla/tRM9ex+SoySHdn7H3+i6SXz9czylWFPo8vOytTIgkH6xYRb1alD+yglbBolYgAA0BRKxP+xdXu5Zs9bpHmLn1d9Q2PY6202m67qf7EmFo9Q/x9dIMMwopASAIDoYxIxAACA9VEiBgAAsLBGj087mEQMAEgSH2zYpBvGTNAXFbubPS4vN0cLH/uzBlzcL0bJmrd9x07NKF2gkrJl8ni9Ya1Ncbk05Nordd/k29WjW9foBPwOSsQAAKAprb1EHAqF9NradzSjZIFWrXlDLdk+y83OUuGQ63Tn2FvU5cTOUUgJAEBsfT2JuEtHORz2eMcBAABAFFAiBgAAsDBKxACAZLPvQJWG3naX3nz73WaPs9vt+u09kzVlfHGMkh3d3n0H9MT8xZpRMl8Ha+vCWnt4Wt39d43T9889M0oJD6FEDAAAmtJaS8QHa+u0YOkKTSuZrx07K1p0jvPOOkNjCws07IZrlZ6WGuGEAADED5OIAQAArI8SMQAAgIVRIgYAJCOvz6eJ9/1WTz3z3FGPHTpooJ7882+Vlpo4ZY26+gbNW/y8/vzYXFXs2Rv2+n7n99GU8UW65vJLo5COEjEAAGhaaysRv//xJ3qybKkWPfeiGt2esNe7nE5de0V/FRcW6LKLLoxCQgAA4o8SMQAAgPVRIgYAALAwSsQAgGRWUrZUk371oPyBQLPHnXvm6Xpu7kydfEKnGCU7Nj6/X0teWKU/zpijTz/bHvb6c3r30uSxozRs8DWy2yP3ylBKxAAAoCmtoUTs8/v14t9eVUnZUq156+0WnSO/QzuNGDJI40YP04md8iOcEACAxEKJGAAAwPooEQMAAFgYJWIAQLL7xzvv6aaxk1W5v6rZ4zp1aK9lpdPVt885MUp27EKhkFateUN/mP6k3ln/YdjrT+lykiaOKVRx4ZCITFymRAwAAJpi5RLx3n0HNH/pcj02b5F27trTonP0Obu3JhQVauiggXI6HBFOCABAYqJEDAAAYH2UiAEAACzM7fGpnBIxACDJ7dy1RzcWTdT6jzY2e1yKy6UZDz2g0TffEKNk4Vu7br2mzirRqjVvKNxbMh3a5em2kTdrYvEItcnJbnEGSsQAAKApViwRr/9oo+YsXKayZS/I4/WGvT7F5dJPf3Kp7rztloR8WA0AgGg7XCLu0TVfDkrEAAAAlkSJGAAAwMKYRAwAsIqGRreK7vylnlv596MeW1xYoOm/uz+hJ8R9vOlT/eXxp7R4xUoFAsGw1mZlZmjUTYP1szvGtOgV2pSIAQBAU6xSIvb6fHrp769p2pNP61/vfdCic3Tu2EFFw4do3OhhapfXJsIJAQBIHpSIAQAArI8SMQAAgIW5PX6VV+yjRAwAsATTNPXw7FLd/4dHFQqFmj32R32/pyVPTlOHdnkxStcy5TsrNG3O05q76Fk1uj1hrXU5nSq47irdM2GsevXodszrKBEDAICmJHuJeNfeSpWULdNj8xZpf1V1i87R7/w+mlg8QoOuHCCHwx7hhAAAJJ+vS8RdOvK/jQAAABZFiRgAAMDCmEQMALCil199UyPGTVFNXV2zx53UOV/Pls5Qn7N7xyhZy+2vqtbspxZp9lMLdaD6YFhrbTabrup/se6dNFYXfO/cox5PiRgAADQlWUvEa9et18zSBVrxyuqw3/AgSZkZ6Ro6+BpNGD1cvXv1iEJCAACSF5OIAQAArI8SMQAAgIVRIgYAWNXW7eUaPHqCPv1se7PHZWakq/SRh3T9wJ/EKNnxaWh0a+6iZ/Xok/P0RcXusNf3O7+Ppowv0sABl8gwjCaPoUQMAACakkwl4vqGRi1e/lfNemqRNmze0qJzdO96soqG3ajiwgK1ycmOcEIAAKzhcIm4Z9d82SkRAwAAWBIlYgAAAAujRAwAsLLaunqNmniP/vp/rzV7nGEY+vm4Ij14752y2ZJjw8sfCGjxipX682NztXHz1rDXn9mrp+6+Y7SGDhoop8Pxrb+jRAwAAJqSDCXi7Tt2qmThMpUuXKaqgzVhr7fZbLr0h31VXFigwVcNkN3Oa9kBAGgOk4gBAACsjxIxAACAhVEiBgBYXTAY1AN/nKaps0qOeuxV/S/WgtlTlZOVFYNkkbN23XpNnVWilatfD3ttlxM7a/KtozRm2I3KSE+TRIkYAAA0LVFLxKFQSK+tfUclZUu1/OXVCgaDYZ8jOytTBdddrcnFI9WrR7copAQAwJqYRAwAAGB9lIgBAAAszO3xqZwSMQCgFVjywiqN/dn9anR7mj2uR7euWv7UTJ12avKVR97/+BNNL5mvZ5avDLs80y6vjUbffIMmFY9Uu/btKREDAID/kmgl4tq6ei19YZWmlczX5q3bW3SOnt1P0e0jh37rgSoAAHDsKBEDAABYHyViAAAAC2MSMQCgNflw42bdMGaCdny5q9nj8nJztPCxP2vAxf1ilCyytpV/oZlzy1RStkwerzestSkul2746ZUaM+EenXd2ryglBAAAyShRSsRbt5dr9rxFmrf4edU3NIa93maz6ar+F2ti8Qj1/9EFMgwjCikBAGgdKBEDAABYHyViAAAAC6NEDABobfZXVWvo2Lv0xtvrmj3Obrfrt/dM1pTxxTFKFnl79x3QE/MXa0bJfB2srQtrrc1m0+WXX64pU6bovPPOi1JCAACQTOJZIg6FQlq15g3NLC3Tq//4l1qyddWhXZ5G3XS9bhs5VF1O7ByFlAAAtD6HS8Q9uubLQYkYAADAkigRAwAAWJjb41M5JWIAQCvj8/s18b7fau6iZ4967NBBA/XEw79VelpqDJJFR21dvZ5eslwPzy7Vrr2VYa/v27evJk2apCuvvDIK6QAAQLKIR4n4YG2dFixdoWlznj7q2ySO5LyzztDYwgINv/FapaUm7+90AAAkIiYRAwAAWB8lYgAAAAtjEjEAoDUrKVuqSb96UP5AoNnjzj3zdD03d6ZOPqFTjJJFh8/v15IXVukP05/Ulm2fh73+7LPP1u23364bb7xRdrs9CgkBAEAii2WJ+P2PP9GTZUu16LkX1ej2hL3e5XTq2iv6q7iwQJdddGEUEgIAAIlJxAAAAK0BJWIAAAALYxIxAKC1W7tuvW4aO1l79x1o9rj2bfO0+IlHdPGF58coWfQcfh3476c9oXXvfxT2+lNOOUW33nqrRo0apVSm+QEA0GpEu0Ts8/v14t9eVUnZUq156+0WnSO/QzuNGDJI40YP04md8iOcEAAAfBeTiAEAAKyPEjEAAICFuT1+lVfso0QMAGjVvty9RzcWTdJ7H25o9rgUl0vTf3e/xgy7MUbJom/tuvWaOqtEq9a8oXBvAbVr105jxozRbbfdptzc3CglBAAAiSJaJeI9lfu1YNkKzX5qob7cvbdF5+hzdm9NKCrU0EED5XQ4IpoPAAAcGZOIAQAArI8SMQAAgIU1enzawSRiAADk8Xp1+5Rfa+FzLx312OLCAk3/3f2WKqh89MmneuSJp7R4xUoFAsGw1mZmZmrYsGGaNGmSOnXqFKWEAAAg3iJdIl7/0UbNKF2gJStWyR8IhL0+xeXSkGuv1J1jb9E5vXtFJBMAAAgPk4gBAACsjxIxAACAhbk9PpVTIgYAQJJkmqYenl2q+//wqEKhULPH/qjv97TkyWnq0C4vRulio/yLL/XonAWa+8yzcrvdYa11uVwaNGiQ7rrrLvXs2TNKCQEAQLxEokTs9fn00t9f06NPzNM76z9s0Tk6d+ygouFDNG70MLXLa9PiLAAA4PhRIgYAALA+SsQAAAAWxiRiAAD+2yuvvqUR43+ug7V1zR53Uud8PVs6Q33O7h2jZLERMA19XBnUs4vna86cOaqurg5rvc1m0+WXX667775b3//+96OUEgAAxNrxlIh37a1USdkyPTZvkfZXhfe7xWH9zu+jicUjNOjKAXI47C06BwAAiKzDJeIeXfLlcFAiBgAAsCJKxAAAABbm9vhVXrGPEjEAAN/x2ec7NHj0eG3eur3Z4zLS01T66O91w8CfxChZ9AVMQxWBXLXJcqmhoUFlZWWaNWuWKioqwj5X3759NWnSJF1xxRUyDCMKaQEAQKy0pES8dt16zSxdoBWvrFYgEAz7M7MyM3TToIGaMHq4evfqEfZ6AAAQXV+XiLvmy8EkYgAAAEuiRAwAAGBhTCIGAODIauvqdcuke/TS319r9jjDMPTzcUV68N47ZbMl/4bZN0vEh/n9fj3//POaPn26Nm/eHPY5e/furfHjx+uGG26Qw+GIZFwAABAjx1oirm9o1OLlf9WspxZpw+YtLfqs7l1PVtGwG1VcWKA2OdktOgcAAIi+wyXinl3zZadEDAAAYEmUiAEAACzM7fGpnBIxAABHFAwG9cAfp+nh2aU62i2Sq/pfrAWzpyonKytG6aKjqRLxYaZp6m9/+5umT5+ud955J+xzn3zyybr99ts1cuRIpaWlRSIuAACIkaOViLeVf6HSRc+qdOEyVR2sCfv8NptNl/6wryb8f/buPD6q+t4b+Gf27BtJZrKQBYyiIKmopPVetLYiuFQQENlCWMyC0MS992l7b597a3vvVVEJCEkgYEgQUSHUlkvJfa5eoNa4C6KgbAnZJ/s6+8zzB0wMCAkzzJkzc/J5v159QcbzO/OhymQm5/P7npVL8MA9P+VdDIiIiPwAS8RERERE0scSMREREZGEcRIxERHR1dn1p/9CztO/xYDBOOxxaeNSULltA264bpyXknnecCXioaqrq1FSUoI///nPsNvtLj3HmDFjsHLlSmRnZyMqKupa4hIREZGXXK5EbLfb8f4HH2FLxVuo3P//YLPZXD5vWGgI5s+6H09kL/Xr91BERESjkbNEnJaig5IlYiIiIiJJYomYiIiISMI4iZiIiOjqHfn6BOauWIPa+sZhjwsLDUHZ+v/Eg9Pv9lIyz7raErHT2bNnUVJSgrKyMphMJpeeKygoCEuWLMHq1auRmJjoTlwiIiLykqEl4p7ePrz1p//Cui3bceLkGbfOd/34VOQtXYAVi+YhOIh3KCAiIvJHnERMREREJH0sERMRERFJGCcRExERuaatoxMLcp7EwQ8/HvY4hUKB3/+qAM+ufsxLyTzH1RKxk16vx7Zt21BUVISensvf5vxKVCoV7r//fhQUFCA9Pd2ltUREROQdBpMNx74+jr+8uRnbdu5G/4DB5XPI5XLc97M78cvHMvGzf/wxZDKZAEmJiIjIW1giJiIiIpI+loiJiIiIJIwlYiIiItdZrTY886//gde27hjx2Edn3Y+Stc8jKDDAC8k8w90SsVNvby/eeOMNFBYWorm52eX1GRkZyM/Px8yZM916fiIiIvIsu92OqqoqFBUV429/Owx3LhvFRkch69E5yF26AMmJ8QKkJCIiIjE4S8RpKTooWSImIiIikiSWiImIiIgkjCViIiIi922peAsFv/0DzBbLsMelT5yA3Vs3+E1h5lpLxE4mkwl79+7F2rVrcfr0aZfXT548GXl5eZg3bx4UCsU1ZSEiIiLXdXd3480338SmTZtQV1fn1jmmTJ6I7MWPYPG8hxAY4D+bqoiIiOjqcBIxERERkfSxRExEREQkYQajGTUsERMREbnt7598jvnZBWhpbR/2uOioSLxZ8gru+slULyVzn6dKxE7O6YVr167F559/7vL61NRUZGdnY9myZdBoNB7JRERERFd29OhRvP7663jrrbdgMBhcXq9WqfDQjJ/hsSXz8fNpPxEgIREREfkKloiJiIiIpI8lYiIiIiIJ4yRiIiKia1ff1Ix5K/Px2ZFjwx6nVqmw/o//jBWL5nkpmXs8XSIeqrq6GoWFhThw4IDLa2NiYrB8+XLk5eUhPDzc49mIiIhGM7PZjP3796OsrAwHDx506xy62G9cRJYAACAASURBVGhkPjIbq1csRoJO6+GERERE5IucJeK0FB2ULBETERERSRJLxEREREQSxknERDTaOCCDwSpDv1UBq10Gm/18YdLukMHmkEEpc0Ahc0AhAxRyB9RyO4LVdmjkdrGjk48zmkxY9dzvUPHOuyMe+9iS+Sj8w2+hUiq9kMx1QpaInb766its3LgRe/bsgdVqdWltSEgIFi1ahPz8fMTFxQmUkIiIaHTQ6/XYuXMntmzZgsbGRrfOMWXyRKxZuQQLZj/gs+9viEYruwMYsCgwYFPAZgdsDsDqkMNmB+wOGZRyB5RyB+QXPgcHKu0IVNqglvPyMBFdHU4iJiIiIpI+loiJiIiIJIyTiIlIyqx2GbpMSnSaFegxKzFgkcNgk8PhkLl8LqXcgSClHcFKG8I1NkRpLAhR2+D6mUjKHA4HXtpYit/+x6uw24cvnv/D1CnYVbIO2pgxXkp39bxRInaqqalBcXExtm/fDqPR6NJatVqN2bNn46mnnkJaWppACYmIiKTpyJEjKCoqQmVlJSwWi8vrNWo1HnloJp7MXY7JN90gQEIicpXZLkOnUYlOswp9ZjkGrAoYrXK4c6FXJXcgSGlDiMqOCI0FkRorglXcXEtEP8RJxERERETSxxIxERERkYSxRExEUtNjVqB5QI0OkxI9ZoVbheGrpZI7EKmxIjrAAm2QBWoFL6jSeX997zAyVz+Drp7eYY9LjNPindL1uDV9kpeSXR1vloid2traUFpais2bN6Ozs9OltXK5HNOnT8fTTz+NW2+9VaCERERE/s9kMuGvf/0rNm7ciE8//dStc2i1OuQsnovHly9CdFSkhxMSkSscADpNSrRc+AzcZ1YI+nwahf38Z+BAC7SBFig5rZiIwBIxERER0WjAEjERERGRhBmMFtQ0tLJETER+bcAiR+OABk39agxYxblYIZM5MCbABl2QiRdTCQBw6mwtHl6+GidOnhn2uACNBkUv/hsWz/2Fl5KNTIwSsVN/fz8qKiqwYcMGt26pnpGRgfz8fMyYMQMyGWeFExERAUBzczPKyspQWlqK9vZ2t86RkZGB5Suycefd9yAteMDDCYnIFT1mBZr6NWgeUMNoE/g9rwO43C145DIgJtCCuCATYgItkPOtN9Go5SwRX5+ig4IlYiIiIiJJYomYiIiISMI4iZiI/Fm7UYWzPRq0G1ViR7mIUu5AQogZySFGBCo5nXg06+3rx7L8X+HdA+8Ne5xMJsMzj6/E8//0BORy8S+4iVkidjKbzaisrMS6devw7bffurx+0qRJePzxxzF37lwolUoBEhIREfm+6upqlJSUYN++fbBarS6vDwkJwdy5c5GdnY0bb7wRBpMN/QYzxgX0CJCWiIbjcAAtBjXO9gSgR+CJw65SKxxICjFibKgJam6oJRp1WCImIiIikj6WiImIiIgkjJOIicjfOBxA04AaNb0B6PWxC6eXkskciAuyICXMiFCVTew4JBKHw4Hfv7wRz7+yESP9iGXmz6ah/LWXEBEW6qV0l+cLJWInu92OqqoqrFu3Dh9//LHL65OTk5Gbm4ulS5ciMDBQgIRERES+pb+/H++88w42b96M48ePu3WO1NRUZGZmIisrCxEREYOPs0RM5H02B9DYp8HZ3gAYRLrzztVSyByIDzYjNYwbaolGE2eJOC1FByVLxERERESSxBIxERERkYRxEjER+ZMOoxInOgPRa/G/qaLxwWZcH2GARsELqaPVW+/uR/ZTv8GAwTjscdelJqNy22uYkDbOS8l+yJdKxENVV1ejsLAQVVVVIxayLxUdHY0VK1YgJycHkZGRAiUkIiISz9mzZ1FeXo7t27ejs7PT5fVyuRzTpk1DTk4OZsyYAZlM9oNjWCIm8i69QYUTnUE+Xx6+lAwOjA01IS3cCCUnExNJ3mCJOFkLpdK3N/wTERERkXtYIiYiIiKSME4iJiJ/YLDK8V1XIJoHfKvQ6CqlzIHxEQYkh5ohAz9qj0ZHv/kWc1asQW1dw7DHhYWG4PXC/8Qv7r3bS8ku5qslYqdvvvkG69evR2VlJSwWi0trg4ODsXjxYqxZswYJCQkCJSQiIvIOu92Ow4cPo6ysDH/5y19gs7l+94uwsDA8/PDDWLVqFdLS0oY9liViIu/otShwoiMIHSb/20A7VIDCjusiDEgINosdhYgExEnERERERNLHEjERERGRhHESMRH5uvpeDU50BcLm+OEkNH8VorIhfUw/QtSulzzI/7V1dGJh7lP4379/NOxxCoUCv/9VAZ55fOVlJwEKyddLxE51dXXYtm0btm3bhp4e18pMKpUKDz/8MAoKCjBhwgSBEhIREQmjt7cXe/bsQVFREb777ju3zpGWlobly5cjMzMTQUFBV7WGJWIiYTkcMpzuCcCZHg0cEvoMHKWx4uboPgQoeMmZSIqcJeLrU3RQsERMREREJEksERMRERFJGEvEROSrzHYZvm4Pgt7g2yVGd8llwA0RBiSFGsWOQiKwWm149t/+ExtKK0Y8dv5D92Hzy39AUGCAF5Kd5y8lYqfe3l688cYbWLduHVpaWlxaK5PJcO+996KgoAAZGRkCJSQiIvKMU6dOobS0FBUVFRgYGHB5vVwux/Tp05Gbm4s777zT5Y1KLBETCcdgleNIWzC6zf49ffhKVHIHbhozAF0gpxITSQ1LxERERETSxxIxERERkYSxRExEvqjDpMTR1mCY7NK/8BAdaMHNY/qhlvOj92i0peItFPz2DzBbLMMelz5xAnZv3YDkxHiv5PK3ErGTyWTC3r17sXbtWpw+fdrl9enp6cjNzcW8efOgUCgESEhEROQ6u92OqqoqlJSU4NChQ3Dnkk10dDQWL16MFStWIDEx0e0sLBETCaOpX41vOoNgtUtn+vCVJISYcFPkAOTS/6MSjRrOEnFaig5KloiJiIiIJIklYiIiIiIJMxjNqGGJmIh8SEO/Gl+3B8GB0XNFMVBpw22xfQhS2sWOQiL4+yef49GcJ9Csbxv2uOioSLxZ8gru+slUwTP5a4nYyVm2eumll/DFF1+4vD41NRXZ2dlYtmwZNBqNAAmJiIhG1tbWhh07dmDbtm2oq6tz6xzp6enIysrCo48+ioCAa7+rAUvERJ53ticA33UFih3Dq8LVVkyJ6Ydawc/ARFLAScRERERE0scSMREREZGEGYwW1DS0skRMRD7hVHcgTndfe7nBH6kVDtwS3YcIjVXsKCSChuYWzFv5S3z65bFhj1MqFXjpd/+E1SsWC5rH30vEQ1VXV6OwsBAHDhxweW1sbCyWLVuGvLw8hIeHC5COiIjoh44ePYrXX38du3btgtFodHm9Wq3Gfffdh9zcXGRkZHg0G0vERJ5jB/BNezAa+v3/Pbc7gpQ23BrbjyClTewoRHSNWCImIiIikj6WiImIiIgkbMBoRi0nERORyBwAjrUHo3GUXjx1UsiAydF9iA20iB2FRGA0mfD4c/8X5e/8acRjH1syH+ue/w3UKpUgWaRUInY6evQoNm3ahN27d8Nmc62oEBoaioULF6KgoAA6nU6ghERENJqZzWbs378fZWVlOHjwoFvniI2NxcKFC5GdnY24uDgPJzyPJWIiz7A5ZPiiNRjtRmHez/sLtdyBW2N7EaZmkZjIn7FETERERCR9LBETERERSRhLxETkC77uCEJ9n0bsGD5BDuCWmD5Es0g8aq3fUo5n/+2FEYuud9w+BW9tXgdtzBiPZ5BiidippqYGxcXF2L59u8vTHTUaDWbNmoWnn34a1113nUAJiYhoNNHr9di5cye2bNmCxsZGt86Rnp6O3NxczJkzByqBNhg5sURMdO3sAL7Uh6B1lBeInVRyB26P7UUoi8REfoslYiIiIiLpY4mYiIiISMIMRjNqWCImIhEd7wzEud4AsWP4FIXMgVtj+xCpsYodhURy4P2/YcnjT6Orp3fY4xLjtHindD1uTZ/k0eeXconYqa2tDaWlpSgpKUFXV5dLa+VyOaZPn45nnnkGU6ZMESghERFJ2ZEjR1BUVITKykpYLK5vHnNubFm9ejUmTfLs+4DhsERMdG0ckOHL1iDoDdJ9n+0OjcKOqdpeBCntYkchIjewRExEREQkfSwRExEREUkYJxETkZhOdgXiTA8LxJejvDCNibd1Hb1O15zDw8tX4/h3p4c9LkCjwaYX/hVL5j3kseceDSVip76+PuzYsQMbNmxwawJkRkYG8vPzMWPGDMhkMgESEhGRVJhMJuzduxebNm3CV1995dY5UlJSsHTpUmRmZiIqKsrDCUfGEjHRtTnaHoymfum/x3ZHoMKO23W9CFSwSEzkb5wl4rQUHZQsERMRERFJEkvERERERBLGEjERiaVlQIUv20LEjuHTAhV2/FjXA7WCH8tHq96+fizL/xXePfDesMfJZDI88/hK/P5XBVAoFNf8vKOpROxkNptRWVmJV199Fd99953L62+++WasWrUKc+fOhVKpFCAhERH5q+bmZpSVlaG0tBTt7e1unSMjIwO5ubl44IEHRP0+wxIxkfvOdAfiZDc30Q4nVG1DhrYHCu7NI/IrLBETERERSR9LxEREREQSxhIxEYmh36JAdUsorHZeGRzJmAALbo3pAwecjl4OhwO/f3kjnn9lI0b6Ec2Mu/8RFRvXIiIs9JqeczSWiJ3sdjuqqqrw6quv4pNPPnF5fXJyMnJzc5GVlYWAAJZEiIhGs+rqapSUlGDfvn2wWq0urw8JCcHcuXORk5ODCRMmCJDQdSwRE7mn3ajCZ60h4BXXkSWGmDExij+jJPInzhLx9Sk6KFgiJiIiIpIkloiJiIiIJIwlYiLyNqtdhuqWUPRbrn1a6miRGmbE9REGsWOQyN7+81+R/dRv0D8w/H8L16Umo3Lba5iQNs7t5xrNJeKhqqurUVhYiKqqqhEL3JeKjo7GihUrkJOTg8jISIESEhGRr+nr68Pu3buxefNmHD9+3K1zjBs3DkuWLEFWVhYiIiI8nPDasERM5DqDTY7q5jCYbdwZerUmRQ0gIcQkdgwiukqcRExEREQkfSwRExEREUkYS8RE5G3H2oPQ0K8RO4bfuV3biyiN6xPsSFqOfvMt5qxYg9q6hmGPCw0JxuuF/4mHZvzMredhifhi33zzDdavX489e/a4PEkyODgYixcvxpo1a5CQkCBQQiIiEtvZs2dRXl6OsrIydHV1ubxeLpdj2rRpyMnJwYwZMyDz0dtQsERM5LpP9KHoMCrFjuFXFDLgjrgeBCltYkchoqvAScRERERE0scSMREREZGEsURMRN7UYVLhk5YQsWP4pSClDXfE9UDhm30S8qL2zi4szH0S73/w0bDHyWQy/PbJx/HPTz3uchGJJeLLq6urw8aNG1FRUYGBgQGX1qrVasyePRtPPPEEbrjhBoESEhGRN9ntdhw+fBjFxcVuTa0HgLCwMCxYsAB5eXlITk4WIKVnsURM5Jr6PjW+7ggWO4ZfitJYcbu2V+wYRHQVOImYiIiISPpYIiYiIiKSMJaIichbbA7g701hGLAqxI7it8aFG5EWbhA7BvkAq9WGf3lhHV58bcuIx85/6D5sfvkPCAoMuPrzs0Q8rPb2dmzZsgVbtmxBR0eHS2tlMhnuvfdePPHEE5g6dapACYmISEi9vb3Ys2cPNm3ahJMnT7p1jrS0NCxfvhyZmZkICgrycELhsERMdPVMNjk+aAqDxc6doO6aFDWAhBCT2DGIaASDJeJkLZRK/tyPiIiISIpYIiYiIiKSMJaIichbvusKxNmeqy8x0g/J4MAdcb0IUfGWrnTeloq3UPDbP8BssQx73OSbbsDurRuQMjbhqs7LEvHVGRgYwNtvv40NGzbgzJkzLq/PyMhAfn6+T9+2noiIvnfq1CmUlpa6NZEeAORyOaZPn47c3FzceeedfvnazxIx0dU70hqMZgPfT18LldyBf4zrgVphFzsKEQ2Dk4iJiIiIpI8lYiIiIiIJY4mYiLzBaJPjcGM47Px0ec1iAi2YEtMndgzyIR9++gXmZxegWd827HHRUZHYWfwyfnpHxojnZInYNXa7HVVVVXjxxRfx5Zdfurz+xhtvRHZ2NhYsWACNRiNAQiIicpfzNb6kpASHDh2CO5dLoqOjsXjxYqxYsQKJiYkCpPQeloiJrk63WYnq5lCxY0hCcpgJEyJc37hBRN7jLBFfn6KDgiViIiIiIkliiZiIiIhIwgxGC2oaWlkiJiJBHe8MwrleFuM85ce6XoSrrWLHIB/S0NyCeSt/iU+/PDbscUqlAi/+y6+wZuWSYY9jidh91dXVKCwsxIEDB1xeGxsbi2XLlmHVqlUICwsTIB0REV2ttrY27NixA9u2bUNdXZ1b50hPT0dWVhYeffRRBARI444cLBETXZ3PWkPQZlCJHUMS5DJgWnwXAhS8XE3kqziJmIiIiEj6WCImIiIikjBOIiYioZnschxuCIeNnyw9JibAgimxnEZMFzOaTFj9q3/F9rf3jnjsY0vmY93zv4FadfliA0vE1+7o0aPYtGkTdu/eDZvN5tLa0NBQLFy4EE888QS0Wq1ACYmI6HKOHDmCsrIy7Nq1C0aj0eX1arUa9913H3Jzc5GRMfL0f3/DEjHRyDiF2POSQo24MdIgdgwiugJOIiYiIiKSPpaIiYiIiCSMJWIiEtrxzkCc65XG5DVfwmnEdCXrt5Tj2X97YcTi6h23T8Guklehi43+wT9jidhzzp49i5KSEpSVlcFkMrm0VqPRYNasWXjmmWcwfvx4gRISEZHZbMb+/ftRVlaGgwcPunUOrVaLBQsWIDs7G3FxcR5O6DtYIiYaGacQe55cBtyZ0A2N3C52FCK6DJaIiYiIiKSPJWIiIiIiCWOJmIiEZHPI8L8N4bDaZWJHkZyEYBMmjRkQOwb5qKr//RuWPP4MOruHL/gk6LR4p3Q9bvvRpIseZ4nY81pbW7F161YUFxeju7vbpbVyuRzTp0/Hs88+i1tuuUWghEREo49er8fOnTuxZcsWNDY2unWO9PR05ObmYs6cOVBdYcK/lLBETDQ8g1WOw43h4IVVz0sLN2JcOKcRE/kiloiJiIiIpI8lYiIiIiIJMxgtqGloZYmYiATR0K/GsfZgsWNIkkLmwE8TuqGU8yM7Xd7pmnN4ePlqHP/u9LDHBWg02PjC/0XmvFmDj7FELJy+vj7s2LED69evR1NTk8vrMzIykJ+fj5kzZwqQjohodDhy5AiKiopQWVkJi8Xi8nrnpPjVq1dj0qRJIy+QEJaIiYZ3qisQp3t4Jx4hBCrtuDPetc14ROQdLBETERERSR9LxEREREQSZjCaUcNJxEQkkI/1oeg0KsWOIVmTogaQEGISOwb5sN6+fiwv+Cf86a//M+Kxa1YuwUu/+xUUCgVLxF5gNptRWVmJV155BSdPnnR5/eTJk5GXl4d58+ZBoVAIkJCISFpMJhP27t2LTZs24auvvnLrHCkpKVi6dCkyMzMRFRXl4YT+gSVioitzADjcGA6DVX7+C96Qx+OmxvYiMsAqdgwiuoSzRJyWooOSJWIiIiIiSWKJmIiIiEjCOImYiIRisCpwqDFM7BiSFqmxYqq2V+wY5OMcDgde2liK3/z7KxjpRzwz7v5HVGxci5DQMJaIvcRut6OqqgqvvPIKPv30U5fXp6SkICcnB1lZWQgI4NQ7IqJLNTU1Yfv27SgtLUV7e7tb58jIyEBubi4efPDBUb9xgyVioitrMyrxmT5U7BiSFh9sxs1j+PNLIl/DScRERERE0scSMREREZGEDRjNqOUkYiISQG1vAE50BoodQ9JkAH6a2AW1nB/baWTv/OUAHnvy1+gfMAx73PiUJLy9dSPCxt3KErGXVVdXo7CwEFVVVSMWvi8VHR2NFStWIDc3FxEREQIlJCLyH9XV1SgpKcG+fftgtbo+tTIkJARz585FTk4OJkyYIEBC/8QSMdGVHe8MwrlejdgxJE2tcOCnCV0c8kzkYwYnESdroVSO7g1XRERERFLFEjERERGRhLFETERC+VwfglajSuwYkpce3Q9dkFnsGOQnvjr+Leas+CVqztUPe1xoSDBefGUDHpnzkJeS0VBff/01NmzYgD179rhcfAsJCcGiRYvwy1/+EvHx8QIlJCLyTX19fdi9ezc2b96M48ePu3WOcePGYcmSJcjKyuKmjMtgiZjoyg43hWPAwgmcQrtD14NQtU3sGEQ0BCcRExEREUkfS8REREREEsYSMREJwQ7g/foIWO2cDyS0xBAzJkbx9ZuuXntnFxbmPon3P/ho2ONkMhmeffZZPPfcc5DJ+HdZDOfOncOmTZtQXl4Og2H4CdKXUqvVmD17Np588klcf/31AiUkIvINZ8+eRXl5OcrKytDV1eXyerlcjmnTpiEnJwczZszg971hsERMdHlGmwwHG7jxwBuujzAgNcwodgwiGoIlYiIiIiLpY4mYiIiISMJYIiYiIXQalfhYHyp2jFEhUGnHnfHdYscgP2O12vAvL6zDi69tGfHY2bNnY/369QgKCvJCMrqctrY2lJaWYsuWLejo6HBprVwux/Tp0/Hkk0/i9ttvFyghEZH32e12HD58GMXFxaiqqoI7lzHCwsKwYMEC5OXlITk5WYCU0sMSMdHlNfRpcKyD75e9YUyABbfF9okdg4iGYImYiIiISPpYIiYiIiKSMJaIiUgINT0B+LYrUOwYo8ZPE7qhUdjFjkF+qHTH28j/zfMwWyzDHjdp0iSUl5cjKSnJS8nocvr7+1FRUYGNGzeivr7e5fUZGRnIz8/nlE0i8ms9PT2orKzEpk2bcPLkSbfOkZaWhuXLlyMzM5ObZFzEEjHR5X3dEYz6PrXYMUYFpdyBnye6PnWeiITDEjERERGR9LFETERERCRhBqMZNSwRE5GHHWsPQkO/RuwYo8bt2l5EaaxixyA/9eGnX2B+dgGa9W3DHhcVFYWtW7di2rRpXkpGV2KxWLBnzx6sX78ex48fd3n9TTfdhDVr1mDOnDlQqVQCJCQi8ryTJ09i69atqKiowMDAgMvrFQoF7rnnHuTm5uKuu+4SIOHowBIx0eV93BKKTpNS7Bijxl0JXQhQ8PI1ka9wlojTUnRQskRMREREJEksERMRERFJGCcRE5EQqptD0W3mBVRvuSlqAGNDTGLHID/W0NyCR1bm45Mvvxr2OKVSiV//+tcoKCjwUjIajsPhwKFDh1BcXIwDBw64vH7s2LFYtWoVJ3ESkc+y2+2oqqpCSUkJDh06BHcuVURHR2Px4sVYsWIFEhMTBUg5urBETHR579dHwGznnR685bbYPowJGP5uKkTkPSwRExEREUkfS8REREREEmYwWlDT0MoSMRF51Hv1EbDwAqrXJIUacWOkQewY5OdMZjMe/9W/YvtblSMem5WVhf/4j/+AWs1bNvuKI0eOoKioCLt374bNZnNp7ZgxY7BkyRLk5eUhNjZWoIRERFevra0NO3bswNatW1FfX+/WOdLT05GVlYVHH30UAQEBHk44erFETPRDZrsM79dHiB1jVLkx0oCkUKPYMYjogsEScbIWSqVC7DhEREREJACWiImIiIgkjJOIicjTeAHV+6IDLbg1pk/sGCQRWyrewi9/83tYrcMXUadOnYqysjKWTn3M2bNnUVJSgrKyMphMrk0o12g0mDVrFp599lmMGzdOoIRERFd25MgRlJWVYdeuXTAaXS+HqdVq3HfffcjNzUVGRoYACYklYqIf6jYrUd0cKnaMUSUp1IQbIwfEjkFEF3ASMREREZH0sURMREREJGEsERORpw1YFTjcGCZ2jFHD4XDg4F9ex7QJkUhOiEdigg7hobyATddm//9+gMzHn0F3d/ewx8XFxaG8vBy33HKLl5LR1WptbcXWrVtRXFw84r/HS8nlckyfPh3PPfccfvSjHwmUkIjoPLPZjP3796OsrAwHDx506xxarRYLFixAdnY24uLiPJyQhmKJmOg8fVsHmlr0OFtXj29rWpF25xIEh/BzsLfEB5tx8xj+HJPIVzhLxNen6KBgiZiIiIhIklgiJiIiIpIwloiJyNN6zAp82MyLp97S1dmGJffffNFjARoN4nSxGJeUiNTksYiLjUG8NgapyWMxLikRiQlxUCmVIiUmf2B1yPD3U51YnbcCJ06cGPZYjUaDl19+GQsWLPBSOnJFb28v3njjDRQWFqK5udnl9RkZGcjPz8fMmTMFSEdEo5ler8fOnTuxefNmNDU1uXWO9PR05ObmYs6cOVCpVB5OSJfDEjFJncVqRWt7B5pbWtHYokdzSyvOnKtHU4seTRceq2toQl//xVNwX9m6H2k3cvOVt8QGmnFLDH+OSeQrOImYiIiISPpYIiYiIiKSMJaIicjTOoxKfKLnJFxvOXn8Szy54j6X10WGhw2WinXaGMRrYy/6Oi42BjKZTIDE5A+sDhkarBFQyy1YtWoV9u3bN+KarKwsvPDCC1CyoO6TTCYT9u7di5dffhmnTp1yef3kyZORl5eHefPmQaFQCJCQ/I7DAZnDdv63MgXA7xl0lY4cOYKioiJUVlbCYrG4vF6j0WDWrFlYvXo1Jk2aJEBCGg5LxOTPDEbjhXJwK5r0rThbWzdYFHY+dq6+ETabzeVz//qPW3DH3Q8IkJou4gAgA6I0Vtyu7RU7DRFdwEnERERERNLHEjERERGRhBmMZtSwRExEHqQ3qPBFa4jYMUaND97fh3//9WMeP+/QacZx2hjEaS+ebJw8NgHBQYEef17yDc4ScWSoGg6HA4WFhXj++edht9uHXfezn/0MmzdvRkREhJeSkqvsdjuqqqrw8ssv47PPPnN5fWpqKrKzs5GVlYWAgAABEpKvkFsMkJv7IbMMnP+91QCZ1QTYLJA57IDjktcDmRwOmRxQKOFQaGBXBcKhCoJdFQi7Kgh2dbA4fxDyCc6NDBs3bsSxY8fcOkdKSgqWO3TFMgAAIABJREFULl2KzMxMREVFeTghXS2WiMlXdXb3oKlZjyb9JROELzzm/FUo0x9cgILfvCLY+eliYWobfqLj6xCRr2CJmIiIiEj6WCImIiIikjBOIiYiT2s1qPA5S8Res/fNEmxZ9ztRnts5zTguNmawcOz8Ol4bg5SkRE4z9lNDS8ROf/rTn7BmzRoMDAwMs/J8ybSiogITJkwQOiZdo+rqahQWFqKqqgqu/vgvJiYGy5cvR25uLkvjEiE390Nh7ILc0AWFsQsym+sTYoelUMGqCYc9MAK2gHDYNbxrwWhQU1OD7du3o7y8HB0dHS6vl8lkuPPOO5GVlYUHH3yQk9B9AEvE5G1miwVtHZ0XpgUPKQe36NF04bFz9Y3oHzCImjM6Nh6v/8n1DVrkHpaIiXwLS8RERERE0scSMREREZGEsURMRJ7WYVTiEz2LQd6yZd3vsPfNErFjXJZGrUZ8nHawVJyaPBbjkhKh08YgXhuL68enIiQ4SOyYdBmXKxEDwNdff43MzEzU1tYOuz4kJASbNm3C/fffL2RM8pBjx47htddew549e2C1Wl1aGxISgkWLFiE/Px9xcXECJSShyM39UPTpoerXQ2bxbvnKoQyANSQW1uBY2DXcfCQ11dXVKCkpwb59+1x+XQHOv7bMnTsXOTk53JTiY1giJk8yGI0XysGtaNK34mxt3WBR2PlYbV3DiHfD8BWvbjuA6yZMFjuGtDkAyIAojRW3a3vFTkNEFzhLxGkpOihZIiYiIiKSJJaIiYiIiCTMYDSjhiViIvKgHrMCHzaHiR1j1Pj3Xz+GD97fJ3YMt400zTh5bALkcl6A8rYrlYgBoKOjAytXrsShQ4eGPYdMJkN+fj7++Z//mROp/URtbS2KiopQXl4Og8G1Qqlarcbs2bPx1FNPIS0tTaCE5Akyhx3K3mYoexshN/V574kvlH4ux64KgjUsDtbQODjkSu9lIo/q6+vD7t27UVJSghMnTrh1jnHjxmHJkiVYtmwZwsPDPZyQPIElYrpand09aGrWDykHny8FOx87U3MOXT3SKoE+sjQfWav+j9gxRoXYQDNuieHPMYl8BScRExEREUkfS8REREREEsZJxETkaQNWBQ43skTsTQpTO6IMx3HmXP1F07ucX3d2+2/JQ61SISFed8VpxtelJiMslBMsPW24EjEAWK1W/PGPf8S6detGPNesWbOwYcMGBAVx6rS/aGtrQ2lpKTZv3ozOzk6X1srlckyfPh1PPfUUbrvtNoESkltsFqh6m6DqrofMZhY7zXmXFIsdcgWsITpYIpLgUGpEi0WuOXPmDCoqKlBWVoauri6X18vlckybNg05OTmYMWMGN574OJaIyWQ2o72za/DzhrMU3NSiR9OFx+obmmBxYwq5P5LJZJjyox9h+rxV+Ie7H+RrmJfEB5tx8xj+HJPIV3ASMREREZH0sURMREREJGGcRExEnma2y/B+fYTYMUaV6EALbo258jRJ522Cvy8Zf3+74DPn6lHX0Air1ebFxJ4VGR42WCq+tGQ8LikRSYnxUCgUYsf0KyOViJ3eeustPPHEEzCZTMMeN3HiRJSXlyM5OdmTMUlg/f39qKiowGuvvYaGhgaX12dkZCA/P5+lQJHJ7Faoumqh7G6AzOEft4OHTA5raBxMkSmAQiV2GroMu92Ow4cPo7i4GFVVVXDnEkJYWBgWLFiAvLw8fn/wIywRS9vQzw3OjYlDNyg2NevR0tYOu91Pvp8IKDw0FJnzZ6EgOwuR2mRUN4eKHWlUSQo14sZI1+6cQUTC4SRiIiIiIuljiZiIiIhIwgxGC2oaWlkiJiKPeq8+AhY7C2Pe4okLqJ3dPYOl4qG3HXZ+3dza5lZByBeoVSqMiYxAnO58qTg1eSziYmMGvx6fmoTwUF70H+pqS8QA8MknnyArKwstLS3DHhcVFYWtW7di2rRpnopJXmKxWLBnzx4UFhbixIkTLq+fOHEiVq9ejblz50KpVAqQkK5E2dcCdfspyGwWsaO4xSFXwhKRBEt4IiBjGcEX9PT0YOfOnSguLkZtba1b57j55puxfPlyzJ8/H4GBgR5OSEJjidh/Od/vf18O/n5jYWOLHo1NenT39ood06Mu3WwYFR6Os+fqcKj6E7S0trt1zh9NuhG5mY9i0dyHEBQYAIAbacVwY6QBSaFGsWMQ0QWcRExEREQkfSwRExEREUnYgNGMWk4iJiIP+6glFF0mFsW85aaoAYwNGX4S7LUymkxoatZfNJXs+8nGetTWNWDA4L8XcQM0mh+UjOO1MYOTjccmxEOpHD3TjF0pEQNAc3Mzli5dis8++2zY45RKJX7961+joKDAEzHJyxwOBw4cOIDCwkJ89NFHLq9PSkpCXl4eli5dyuKgwOSmPqhbT0BhvvKUen9iVwfDFH097AHhYkcZtU6ePImtW7eioqICAwMDLq9XKBS45557kJubi7vuukuAhOQtLBH7HpPZjPbOroumBTfpW9HUokfThcf8/c4jl9Ko1YiKCB98/+4sCg+9G0liQhxUFzYvfXvqDIq2v4ltO3ejf8D1zZcKhQIz756GXz6WiZ9P+8llj3m/IQJmGzfSesttsX0YE+Cfm6SIpIiTiImIiIikjyViIiIiIgkzGM2oYYmYiDzsWEcQGvo0YscYNW6P7UVUgFXsGD+YbvZ9yfj8lLOac/V+O80YOD/JzFkqvnSacWryWESGh4kd0WNcLREDgMlkwtNPP42dO3eOeOz8+fPx6quvQqPh64S/qq6uRmFhIaqqqlz+ez1mzBisXLkS2dnZiIqKEijh6KXqroe6/TSAof9eHAD8vNgkk8ESPhbmyBROJfYSu92OqqoqlJSU4NChQ259D4+JicGiRYuwYsUKJCYmCpCSvI0lYu8yGI2D76u/nyCsv6gw7M93DLmcoZv74rQxiNPGXvS+W6eNgS4mGnL58N8LbDYb9r93CBtKK/A/hz90K4s2ZgyWzn8Yq5Ytwth43bDHfqwPRaeRG2m95a6ELgQopPPfPZG/Y4mYiIiISPpYIiYiIiKSME4iJiIh1PQG4NtOTpn0lp8mdEOjsIsdY0QmsxmNTS0X3Tp56DTjuoYm9PW7Pt3QV0hpmrE7JWKnsrIyPPfcc7Bahy+2T506FWVlZYiNjXU3JvmAM2fOYPPmzSgrK4PJ5NpE9KCgICxZsgSrV69mudADZFYTNK0noDB0ih1FUHZNGIyxN8Kh4vsMobS1tWHHjh3YunUr6uvr3TpHeno6srKy8OijjyIgIMDDCUlMLBF7zqUb8Ia+R25s0aO+sRm9fdL6OY1zU56zFDz0/XJcbAwS4rUIDw29pufQt3WgbNceFJXtxLmGJrfOMWXyRGQvfgRLHpmFgKvc9PZ1RxDquZHWK5RyB36e2CV2DCIawlkiTkvWQalkiZiIiIhIilgiJiIiIpIwg9GCmoZWloiJyKM6TUp83HJtF3/p6gQo7bgrvlvsGB4z0jTj2roG2O2+X5i+kqHTjJ23Wx76dVxsDGQy8aeFXkuJGAA++OADrFixAm1tbcMeFxcXh+3bt2PKlCluPQ/5Dr1ej23btqGoqAg9Pa4Vy1QqFe6//34UFBQgPT1doITSJjf1IKDpK8jso+O23g65EibtRNgCI8WOIilHjhxBWVkZdu3aBaPR6PJ6tVqN++67D3l5eZg6daoACckXsEQ8MqPJhKZm/eD716Zm/ZBy8PnH6hoaYbXaxI7qMRq1GlER4RdNC47Xxg7+6o0NdZ8f/Rqbd7yNHe+8C4Mbr2EatRq/uPdu5GcvxU9uu8Xl9Y39anzVHuzyOnLdmAALbovtEzsGEQ0xWCJO0UHJScREREREksQSMREREZGEcRIxEQnB4ZDhvYZwWO3ilyGlLjHEjIlRo+f122yxoKGx+QfTjJ3ljJNnavx6Ytvlbt88dLJxSlIiggKFn+h4rSViADh79iwyMzNx/PjxYY/TaDRYu3YtFi5c6PZzke/o7e3FG2+8gXXr1qGlpcXl9RkZGcjPz8fMmTMFSCdNyv42qPXfQObw3w0WbpHJYYq+HtbQ4W8vT8Mzm83Yv38/iouL8dFHH7l1Dq1Wi6ysLKxcuRLR0dEeTki+ZrSXiDu7ewbfdw7d9OZ8rKlZj+bWNkjpstrl3p86JwmLvRHObLHg3QPvYf2Wcvz9k8/dOkdcbAweWzIfq5YtRMyYKLezGG0yHGyIcHs9Xb0bIgxICXO9KE5EwnGWiK9P0UHBEjERERGRJLFETERERCRhBqMZNSwRE5EAvmgNgd6gEjuG5KXH9EMXaBY7hk8ZWu4YLBm36NF0oeRxrr4RNpv/Tn679DbQQ0vG8drzReNrLXF4okQMAP39/Vi1ahX27ds34rFZWVl44YUXoFQqr+k5yTeYTCbs3bsXa9euxenTp11eP3nyZOTl5WHevHlQKISbWujvVN31ULefBjB6f3xrjkiGJSpV7Bh+p6WlBW+++SY2b96MpqYmt86Rnp6O3NxczJkzByoV3/ONFlItEVusVrS2d6C55ZJy8IX3kI0tetQ1NKGvf0DsqB516ftK5/tJ52NjE+IQGuJ703Wb9K2oePtPeG3rDjQ0u75pCQCmTJ6INSuXYOHsBz02IflvTWHot/B9i9Du0PUgVO2/n+eIpIglYiIiIiLpY4mYiIiISMI4iZiIhHKuNwDHOwPFjiFpMhlwd0IXVHJ+bHeF2WJBW0fnYDnk/K2lvy+LnD57Dt29vWLHdJtGrUZ8nPaK04yTEuMREhw07Dk8VSIGAIfDgcLCQjz//POw24eflHr33Xdjy5YtiIjgFDepsNvtqKqqwtq1a/H5565PCExNTUV2djaWLVsGjUYjQEL/db5AfErsGD7BEpYAc3Sa2DH8wpEjR1BUVITKykpYLBaX12s0GsyaNQtr1qzBxIkTBUhIvs4fS8QGo/FCOfj7O1k43/s5H/P3TWaXck4PdpaCddoYxGtjL9p4NjYh3mPlWW/5/OjXWF9ajl17/wsWq9Xl9QEaDeb9YgaeyluOm2+8weP5TnQGorZX+LuGjGZqhR13J3SLHYOILuEsEael6KBkiZiIiIhIklgiJiIiIpIwTiImIqEYrHIcagwXO4akRQVYcXus/5ZdfZmzbOIsGY+2acYJiYloskd5pETsdODAAeTm5qJ3hIJ2amoqKioqMGHCBI89N/mG6upqFBYW4sCBAy6vjYmJwfLly5GXl4fwcH5vUfU0QN12UuwYPsUcmQJLZIrYMXySczL4xo0bcezYMbfOkZKSgqVLlyIzMxNRUVEeTkj+xNdKxEPvQHHRBOELjzl/lZLI8LDBUvDQDWPOx3TaGMTFxlzznSl8hdFkwtt//iteLX4dR7/51q1zjEsei8cWP4KVix9BVIRw7yPajSp8qg8R7PwEJISYMClKWhPBiaSAk4iJiIiIpI8lYiIiIiIJ4yRiIhLSJy2h6DApxY4hWTeP6Ud8sFnsGKPS0FteX26a8Zmac+jq8d+Ct0atRqwuDvFxOuh0OqSkpCA5ORlarRZxcXEYP348QkJcL0h88803yMzMRE1NzbDHBQcHY9OmTXjggQfc/BOQL/vqq6+wceNG7NmzB1YXpwiGhoZi4cKFKCgogE6nEyihb1P2NUOj/xYAf2R7KXPUOFgiksSO4TNqamqwfft2lJeXo6Ojw+X1MpkMd955J7KysvDggw9CofCviaUkDG+ViIfeOeKicvCFTV2NLXqcq29E/4BB0BzepFIqER0VOThB2LnRa7AwfJV3lJCKs7V12LzjbWx94x20d3a5vF4mk+Fn//hjPLZkPh6+7x6vvYYdagyHwcoCnVCmansRqXF9CjURCYslYiIiIiLpY4mYiIiISMJYIiYiITX2q/FVe7DYMSRJKXfgrvhuKOX8yO6rLp1mPPQW2mfO1aOuoRFWq/9OM46IiIBWq72oZKzTnS8dJycnY+zYsZcta3R2dmLlypU4ePDgsOeXyWTIz8/Hb3/7W8jlvAgpRTU1NSguLsb27dthNBpdWqtWqzF79mw8/fTTuO666wRK6HsUhg4ENH8FOBxwAJDGjEnPMsXeBGtIrNgxRFVdXY2SkhL85S9/cWtqfkhICObOnYucnBxOhacf8ESJ2Pkeaeh7I2dR2PlYbV0D7Ha7B5OLK0CjGSwHx2tjLrojhPOxpMT4UV/WdzgceO9v1dhS8RYq9/8/t17DwkJDMH/W/chfmYkbrx8vQMrhneoOxOnuAK8/72gQpLRjWny32DGI6DKcJeK0FB2ULBETERERSRJLxEREREQSxhIxEQnJ5gAONkTAYmfNydN4G1dp6OzuGSwVO2+3fenX/kqtViMyMnKwZJySkjJYOk5KSsI777yDoqKiEc8zc+ZMFBUVITQ01AupSQxtbW0oLS1FSUkJurpcmzQol8sxffp0PP3007j11lsFSugbZBYjgho/A2wWsEF8ZQ6ZAsaEKbCrR9cmpr6+PuzevRslJSU4ceKEW+cYP348Fi9ejGXLliE8PNzDCUkqRioRd3b3XPSexlkKdj7m73druJzI8LDvpwVrYxCnvXiCsPNXurLevn7s2rsP67dW4JtvT7l1jrRxKVi+YA6yMx9FRJh47xsNVjkON4bzfgECuD7CgNQw1zaeEZF3cBIxERERkfSxRExEREQkYQajGTUsERORgE50BqK2l5OYPO0nuh6Eqf13ii1dHaPJhKZmPc6cq7/oVt7OiX21dQ0YMPjvhXSlUgmbzYaRfvQ0ceJElJeXIzk52UvJSAz9/f2oqKjAhg0b0NjY6PL6jIwM5OfnY8aMGZDJpNWwlTns0DR+AYVJWsU7odhVgTAm3AqHXCl2FMGdOXMGFRUVKCsrc7mED5wv4k+bNg05OTmS/LtDnmMymdDZ2YnaukacPHkato7a8+XgFj2aLrw/qW9ogsVqFTuqx6hVKoyJjBicFhynu7gcHBcbg+SxCQgOChQ7qt86dbYWW3fuxubyXW6Vy+VyOe7+hwysWbkED9zzU595Dfu8NQStBpXYMSRFIQOmxXdDo5DOhHIiKWGJmIiIiEj6WCImIiIikjBOIiYioZnschxuCIeNnyw9JjbQglti+sSOQT7COc340pKxc5pxc2vbiCVdf6BWq/Hggw/itttuu2i6MadlSo/ZbEZlZSXWrVuHb7/91uX1kyZNwuOPP465c+dCqZRGiVTT9h2UPY04P37Y//8+e4M1OAYm7USxYwjCbrfj8OHDKC4uRlVVlVuv8WFhYViwYAFWrVqFpKQkAVKSPzEajWhubkZtbS2am5sH/9fS0oKamho0NzejtbUVdrt0ynsBGs1gOTheG4PU5LGDRWHnY8ljEyCXswjlaXa7He9/8BHWbynHf/3PQbdew8JDQ5E5fxYKsrOQMjZBgJTXpseswIfNYWLHkJTkUBMmRPJOPES+ylkiTkvRQckSMREREZEksURMREREJGGcRExE3sBpxJ71Y20vwjXSmfJGwjKZzWhsarniNONz9Y3oHzCIHdNtGo0GcXFxSE5ORkpKCrRa7WDJODk5GYmJiZIpko42drsdVVVVWLduHT7++GOX1ycnJyM3NxdLly5FYKD/TolUGLsQ0Pil2DH8kkk7EdbgGLFjeExPTw927tyJ4uJi1NbWunWOyZMnY9myZZg/f75f/72gq9fV1YXa2lo0NTWhpaXlB+XgpqYm9PT0iB3ToyLDwwanBTvLwfHamMHHxqUkISIsVOyYo053by+279qLwtJy1Jyrd+scP5p0I3IzH8WiuQ8hKNC3P19+rg9Bq5HTiD1BfmEKcQCnEBP5LE4iJiIiIpI+loiJiIiIJIyTiInIG0w2OQ43chqxJ8QGmnFLDF+vybMunWZ8qrYe39S2oKNNj5aWFpw7d86vpw9GRERctmQ89GvybdXV1SgsLHRr6mp0dDRWrFiBnJwcREZGCpRQGDKHHQF1n0Bu9d+iv5gcCjUMY6fCIffvjQQnT57E1q1bUVFRgYEB16cwKhQK3HPPPcjNzcVdd90lQEISg8lkQmdn50WF4JaWlsGycG1tLerr62G1SmfjmUatRlREOOJ0sRiXlDhYCh4sByclIjEhDipuHvIpR74+gaLtb+KN3e9iwGB0eb1KqcSsmT/HY0vm4+fTfiJAQmFwGrHnpISacAOnEBP5NE4iJiIiIpI+loiJiIiIJIwlYiLylpNdgTjT49vTonydHMAdcT0IVtnEjkISZ3XI0GCNQGSoGsD5olJTU9NF0wuH3vL89OnT6OvrEzm1+4ZOM9ZqtT+YbJycnMyJnT7im2++wfr161FZWQmLxeLS2uDgYCxevBhr1qxBQoLv3fr8ctQdZ6DqOid2DD/kACADAFjD4mCKvkHcOG6w2Wz47//+b5SUlODgwYNunSMmJgaLFi3CypUr/ea/eTrPaDSiubn5ou+1l04Q1uv1Lm+q8GUBGs1gOThOG4M4bSziYmMuKgzrYqIhl7OY5A9sNhv2v3cIG0or8D+HP3TrHNqYMVg6/2GsWrYIY+P9c8PX0bZgNA2oxY7h19RyB/4hvhtquXRe74ikiCViIiIiIuljiZiIiIhIwgxGC2oaWlkiJiLB2R3A35vD0G9RiB3Fb40PN+K6cE6jJOFdWiK+Gl1dXT8oGQ+dhlhXVwebzX8L8CNNM9ZqtZDJZGLHHDXq6uqwceNGtyazqlQqPPzwwygoKMCECRMESnjt5BYDAus/ARz+OwXcVxgTboVNEyp2jKvS1taGHTt2YOvWraivr3frHOnp6cjKysKCBQug0Wg8nJCuVVdX10XfIy8tBzc0NPj1xpzLiQwPQ2ry2MFScFxsDOK1MYOPJcRrER7qH39HaXgtre3Y/lYlisp24lxDk1vnmDJ5IrIXP4Ilj8xCgJ+/hpntMnzQGA6zne8R3TVpTD8Sgs1ixyCiEThLxNen6KBgiZiIiIhIklgiJiIiIpIwTiImIm/qMCrxiZ4FAXcEq+y4Q9cNOa8/kxe4UyIeidlsRkdHx2BR6tJpxmfOnEFvb6/Hns/bRppmnJSUhKCgILFjSk5PTw927tyJdevWoaWlxaW1MpkM9957LwoKCpCRkSFQQvdp9Meh7HPtz0SXZwsaA6PuZrFjDOvIkSMoKyvDrl27YDQaXV6v0Wgwc+ZM5OXlYerUqQIkpJFcOrX/0nJwS0sL6uvrYbVaxY7qMRq1GlER4RdNC47Xxg7+Oi4pEWMT4qFUchOh1H1+9Gts3vE2drzzLgzuvIap1fjFvXejICcLP771RwIkFE9DvwbH2vke0B1jAiy4LVZamyqIpIolYiIiIiLpY4mYiIiISMI4iZiIvO3rjmDU9/GWrq6QAbg9theRAdIpnZBvE6JEfDUunWZ86tQpvPvuu25P4/Q1zmnGOp0OOp3uB5ONk5KSeJt2N5lMJuzduxcvvfQSzpw54/L69PR05ObmYt68eVAoxC+7nZ9C/DHAH8t6jCFhCuyaMLFjXMRsNmP//v0oLi7GRx995NY5tFotsrKysHLlSkRHR3s4ITkN/f7k3PwydCNMc3Mz9Ho9pHQp5XKbY7RaLaLGxCJWF49bxwYhLjaGU/hHMbPFgncPvIfCzdvx4adfuHWOuNgYPLZkPlYtW4iYMVEeTug7PmkJQYdJJXYMv6KQOfAPcT0IVPKODET+wFkiTkvRQckSMREREZEksURMREREJGGcRExE3mZzyFDdHIo+i/glLX8xPtyI68INYsegUUSsEvHlOBwOFBYW4vnnn4fdPnyJQKlU+vWER2dhy1kqTklJuai8NX78eISEhIgd06fZ7XZUVVXhpZdewhdfuF5oSk1NRXZ2NpYtWwaNiLdQD2g9AUVvs2jPLykOADLAFhQFo26y2GkAAC0tLXjzzTexefNmNDU1uXUOZ/F97ty5UCqVHk44elgsFrS3t6OlpQVNTU1oaWlBbW3t4O+bm5tRX1+P/n5pfVa+dFPL0O87Wq0WiYmJV/x+YzDZ0G8wY1xAj5dTk69o0rdic/lbKCrbidb2DrfOccftU/DLxzIxe+Y9o2JStckmx4dNoTDZWay7WpPGDCAh2CR2DCK6SoMl4mTtqHhdJyIiIhqNWCImIiIikjBOIiYiMQxY5fiwOQxWOyeXjSQ60IIpMX3g/1PkTb5UInY6cOAAcnNz0dvbO+xxycnJePHFF6FUKi+6hXxNTQ1qa2v9/lbyERERPygZD51sPHbsWJ+YpOsLqqurUVhYiAMHDri8NjY2FsuWLcOqVasQFubd6bUyqwlBddWcQiwAQ+LtsKuDRXv+I0eOoKioCJWVlbBYLC6v12g0mDVrFtasWYOJEycKkFBajEbj4JRg5/eBodOEW1paUFdXB5vNJnZUj7l0M8ql5WCdTofExMRrKp6zRDx6fX70a6wvLceuvf8FixvvpQI0Gsz7xQw8lbccN994gwAJfVuHSYlP9SFwOPjJbiRjQ0y4KWpA7BhE5AJOIiYiIiKSPpaIiYiIiCSMk4iJSCx6gxpftIpX5PEHgUo7fqzrgVrOj+XkXb5YIgaAU6dOYfHixTh16tSwxwUHB2PTpk144IEHLvvPu7q6UFtb+4OS8dCv/ZVarUZkZORgaezSacbjxo1DaGio2DG96ujRo9i0aRN2797tclkwNDQUCxcuREFBAXQ6nUAJL6buOgdVxxmvPNdoYwkfC/OY8V59TpPJhL1792Ljxo04duyYW+dITU1FZmYmli5disjISA8n9E9dXV0XFYKbm5tRW1t70e+7urrEjulRQzeROF/Th76+a7VaaLVayGTCFhRZIh5djCYT3v7zX/FK0ev46vi3bp1jXPJYPLb4Eaxc/AiiIsI9nNC/1PRq8G1nkNgxfFq42oqpul6wgkjkX5wl4utTdFCwRExEREQkSSwRExEREUkYS8REJKYzPQE42RUodgyfpJI7cLu2F6Eq6UzH+//s3Xl0lPW9P/D3M/tMdrJ5rHbRAAAgAElEQVRMWBMhrCGZLJIZiFt7tdrNtVDLYhQQtK1gz71dztHe8zvn6r1Xe8/vJ3QREBQI2IpV29pbqdV6rQIzgSQzCUFJAiSEQPY9mX3m9wfO3BAhZIbM9uT9OidHhO/z/XzE5MlMnvfzeSh2RGuIGAB6e3uxYcMGfPzxx+OuEwQBW7ZswbPPPguJJLCLmHa7HZcuXfpSIM03zbi1tTWoKaLRYqpOM25qasLOnTuxf/9+2Gy2gI71TYD953/+Z+Tk5ISow8vU502QuKwhrTFlSeUYnrMcEEIfbGhqasL+/ftRXl6Onp6egI8XBAG33XYbysrK8K1vfUuUX5NX43A40NPTg/b2dly6dAnt7e1obm72/7qtrQ0tLS0YGRHPhEq5XI5p06b5z8O+c7Hv11qtFrNnz0ZcXHTcfMcQ8dRwrrkFrxx8E6++/nt09wYeyJdIJPhKqR4b167CA1+/c8qcwybiZHccWoej7zV2NFDJPNBrB6GSeiLdChEFiCFiIiIiIvFjiJiIiIhIxBgiJqJIO92nRtOAKtJtRBWZxIvi9CEkKwN/TDDRZIjmEDEAuN1uPP/889i2bdt11959993YuXPnpE/fvd40446ODsTqj9RGB9p804xHh46zs7ORlBS7kwS7urqwZ88e7Nq1K+BJpRKJBHfddRf+5V/+BUVFRZPem8TaB/Ul86TvSwDgBSDArl0KV1xayKoYjUbs2rULf/7znwOefA1cnn794IMPYvPmzVi4cGEIOowcm83mvzHDd84cPU24vb0d58+fh8cjnvCYUqn0Twn2nUNHTxPOzMyMuRs3GCIWL6/Xi79/asTuA4fwznsfBHUOS0yIx6r7voEtG9Zh8YLwTn6PFV4vUNMVhzZrdL7OjhSV1IMS7RDUMt5ESxSLfCHi+dmZkDFETERERCRKDBETERERiZjV5kATQ8REFGGnejRoGVJGuo2oIAFQmD6INDUDxBQ50R4i9vn973+PrVu3Xneq7JIlS1BeXo7s7OzwNIbxpxmLYZKmLxiXlZX1pZBxVlYWZs2aBZlMFuk2xzU0NISDBw/iV7/6FS5evBjw8Xq9Hlu2bMHdd98NQRAmpSdlVz1kA4H3QhPnikuHXZs7qXsODQ3hrbfewq5du/D5558Htce8efOwZs0aPProozEZ0u/r67tmOLitrQ1NTU3o7++PdJuTavRUd61W6z8njv51cnJypNucdAwRi8/g0DDe+MN/45evHsCp041B7TF/bjaeLPseHvveQ4iP00xyh+LjhYDqzjh0WuWRbiUqKL54Ck88n8JDFLM4iZiIiIhI/BgiJiIiIhIxq82JptZOhoiJKKK8AE71xOHCUHQHFkNNKnihSx9GusoZ6VZoiouVEDEA1NTUYN26dbhw4cK461JSUrBnzx7cfvvtYers+nzTjC9duoT29vYvTTaO9YmcycnJVw0Zj/73aOBwOPDOO+/gpZdeQn19fcDH5+Xl4cknn8RDDz10w8FpTYsJgtN6Q3vQNVweRAyvRIaRrFJgEoLfZ8+exYEDB7B3796gArISiQS33norNm3aNKlh9Mlkt9vR29v7pXDw6PNWa2srnE7xvHZRKBRISUlBZmam/yMrK8v/a61Wizlz5kCjmZpBSYaIxaPxXDNe/e1beKX8DfQNDAZ8vEQiwVdK9fjhhrX45p13ROU5LJp5vEB1Vzy6pniQWCH1oDh9CIkKBoiJYhlDxERERETixxAxERERkYiN2Bxo5iRiIooSZ/vVaOhXRbqNiFBKPShMG0aSkhOIKfJiKUQMAG1tbSgrK8OJEyfGXSeVSvHMM89g69atYersxvimGY+e7jl6snFjYyOGh2P39dvoacajJ3f6phnPnDkTcnn4gjUejwfvv/8+XnrpJRw/fjzg47OysrB582aUlZVBpQr8e5ngtEHTYgz4OAqcbWYx3MqEoI71eDz45JNPsHPnTrz//vsI5kfniYmJePjhh/Hkk09izpw5QfUxGWw2m39Kuu+8MnaacGdnZ0zfzDCW77wz+saG0dOEMzMzMWfOHEgkDL9cC0PEsc3j8eCjIyb8cnc5/vLhx0Gdw5ITE7B25X3Y+ngZsmfPDEGXU4fXK+BUr2bK3kwbJ/egOH0Qapl4vs8QTVUMERMRERGJH0PERERERCLGEDERRZs2qwInu+LgnkLvROPkbhSnD/HiKUWNWAsRA5cDtz/+8Y9x8ODB665duXIlXnrppaCCntGmr6/vSyHj0RNCxT7NWKvVhmTyodFoxPbt24MKiaalpWH9+vXYtGkTUlJSJnycbOAilF2BT0KmwDmn3QRHclZAxwwMDOC3v/0tdu7ciebm5qDq5ufn49FHH8WqVaugVquD2mOixk46HxsOvnjxIgYHA588Gs2Sk5OvGQ6ePn06srOzkZSUFOk2Yx5DxLGpf3AQ+9/4A7bt3o/mltag9ihYuhib130Xqx+6Fxp17L+GiibNgyqc7lVjCr0FRrLSjcL0QSgkU+m/mki8GCImIiIiEj+GiImIiIhEzGpzoIkhYiKKMn12KWq64mF1i//Cg1bjRO60Ych58ZSiSCyGiH327duHn/70p3A6neOuy8/Px4EDBzBzprgn6DkcDly8ePGa04zPnj0b00HC8aYZa7VazJkzBxqNJuj96+rq8Ktf/Qpvv/02XK7AJsXHxcVhzZo1+OEPfzihzzNlxynIhjqCbZUC4FanwDZdN6G1tbW1eO2113Do0CFYrdaAa8nlcnzjG99AWVkZbr/99oCPH8tut6O3t/eKQHB7e/sVNw9cuHAh4M/XaKZUKpGcnPylcLDvIxKTy6cyhohji/nkZ9hZ/gZef+tPGLHaAj5eIZfj3ru/io1rV+Gfbl0egg7Jp31EjrqeODg9k39zVLSZHW/HomkjEP+7faKpgyFiIiIiIvFjiJiIiIhIxDiJmIiildMj4FSPBm0jsRdinAip4MWilBHMindEuhWiL4nlEDEAHD16FI899hi6urrGXZeZmYn9+/ejuLg4TJ1Fp+tNM25paYHb7Y50m0HzTTMeHTgcHUScM2cOJJLxL3SfP38eL7/8MsrLywMOkioUCtx///14+umnsXDhwmuuU184DomDr8fDwStVYCRrxTX/3O12429/+xt27dqFjz/+OKga6enpWL16NTZs2DDhmxVsNhva2tquCPqPnSDc0dER8HTsaHa1GwHGThPOyMi47tcohQ9DxNHP7Xbjvb//A7/acwAffnIsqD206al4ZNUDePLR1Zg9I3OSO6RrsbokqO2JQ69NFulWQkIh9SJ32jAy1OPf7EdEsccXIp6fnQkZQ8REREREosQQMREREZGIMURMRNGudViJz3vVcIloIlOiwo381CHEyT2RboXoqmI9RAwAra2tWLt2LWpqasZdp1Qq8V//9V9YvXp1mDqLPU6nE93d3f4g4+jpp01NTTh37hwGBmI3TOYLMY4OLo4ONObk5CAuLg4A0N3djd27d2P37t3o6ekJqI4gCPja176Gp59+GiUlJVf+odeLuKZPAC+/L4TLSPYt8EquDGl1dXXh4MGDePXVV3HhwoWg9tXpdCgrK8PDDz8MpVLp//2+vr4rAvpjw8Gtra0YGhq6of+maDM2wD82HDxz5kwkJCREuk0KEEPE0au9sxv7D72Dl/e+jpaLbUHtUZSfi8fXrMTalfdBNeocRuHj9QLnBtRo7FfCC/G8B05Tu7A0dRhKCV/rEIkRQ8RERERE4scQMREREZGIMURMRLHA5hbQ0KfBxeHYDTQCgFziRU6SFbPjHRAEvtWm6CWGEDEADA8P4wc/+AHefffd664tKyvDCy+8ALlcHobOxGf0BNWxIePm5mZcuHABLpcr0m0GLTk5+YoA5IwZM9DU1IQPPvgAnZ2dAe+n1+uxZcsW3H333RAEARKnFeoWUwg6p2uxziiCR5UIALBYLNi3bx/eeOMN2Gy2gPdSKBQoKSnBbbfdhvj4+CvCwe3t7TH/+T+WUqlEcnLyFYFgX1DYN+171qxZkMnEOUlzqmOIOPpU1dThlYNv4sCbf4TNbg/4eKVCgW9/7SvYuqkMhuKCEHRIwRh2SvF5nwZd1tg+l6qlHsxPsWK6hk/gIRIzX4h4QXYmpAwRExEREYkSQ8REREREIsYQMRHFkgGHFJ/1atBnj60LqQKA6XEOLEwegULKt9gU/cQSIgYAr9eL7du347nnnoPHM/7ksxUrVuC1115DWlpamLqbWnyTWMeGjH1B476+vki3GDRBEBDMj1AXL16Mp556CivvuR0J3Z+HoDO6lsHkuXj3k2rs2LEDFRUVQe0hkUiue16JNb7J3KOncY+dIKzVaiEI4pmOSYFhiDg62B0OvPv+R9j+yn4cO1Ed1B4ztBnYsGYlvv/YaqRNS5nkDmmydNvk+KxXjWGnNNKtBEQqAHMSbJibaINMwvfARGLHScRERERE4scQMREREZGIMURMRLHGC6DdqkBTvxL9jugOE0sATI+346YEG+Lk4goZkbiJKUTs8/7772Pz5s0YGBg/9HTTTTehvLwcixcvDlNn5HO9acatra1wOp2RbjMk0qalYNODd2LrmnuRFK+JdDui1tbVi52/P4ydb/0NPX39kW4nrJKTk5GVleWfGDw2HDxr1izEx8dHuk2KcgwRR9aljk68Un4IO/b9Fp3dPUHtsWJZEZ7auA7333MnZLLYCqZOVR4Al4aUODuowohzTDjPi8t3rUYJmcSLWXEOZCVaoeINtERTBicRExEREYkfQ8REREREIsYQMRHFsh6bDE0DKnTa5JFu5QoywYvZCXbMSbBDJWV4mGKPGEPEANDY2Ii1a9eioaFh3HVxcXH4zW9+g29961th6owmwu12o729HS0tLbhw4QJaW1vR2tqKCxcu+D9ieZoxAPyfJ1fjZ+sfinQbonb/08/j8JGqSLcxqdRqNWbNmoXMzExMnz4dM2bMwPTp0zFz5kxkZmZixowZSE9Ph0TCQAfdOIaII6Oqpg6/3FOO3/3hv+FyuQM+XqVU4jvfvhv//OR6LF20IAQdUjh4AXRaFTg3oEKfPboC4EqJB1mJdsyKt0POycNEUw4nERMRERGJH0PERERERCLGEDERiYHVJcGlYSUuWeUYckTmYqoEQJragUyNExkaJ6QC30pT7BJriBgAent7sXHjRvzP//zPuOsEQcCWLVvw7LPPMngXQ+x2Oy5duoTm5ma0tbV9abJxS0sLRkZGIt3mVcllUjS9txupyYmRbkXUDh+pwv1PPx/pNiYsOTnZPzFYq9Vi+vTpyMrK8v9aq9VCq9VCEKJoDCWJGkPE4WOz2/Hmu4fx/3bsRe1np4PaY27WbGxcsxIb1qzEtOSkSe6QImnIKcWlEQUuDStgdUXmtapM4kWG2olMjQOpaif4iplo6vKHiLO0nHJPREREJFIMERMRERGJGEPERCQ2Qw4p2qwK9Nhk6LfLEMo5wAqpB9MULqSpXcjQODhxiURDzCFi4PJE2+effx7btm277tq7774bO3bsQGIig51i0dfXh+bmZly6dAnt7e1XhIx9/x6JH4eW5C3AP179j7DXnWq8Xi+SVjwMh8sV0T4UCgVSUlKQmZnp/8jKyvL/WqvVYvbs2YiLi4ton0RjMUQcemebW7D74JvYc/BN9PT1B3y8RCLBV0r12Lh2FR74+p2QShnmErs+uwztIwr02GUYdEoRypcxapkHKUoX0tROZKh58ywRXcZJxERERETiJ4t0A0REREREREQTFa9wI0dhBZIAtxfod8jQY5NjyCnFkFMCq0sKTxDXOeUSLzQyN+LlHiQpXZimdCFOHvijhIko8qRSKf71X/8Vubm52LJlC2w22zXX/vWvf8Vdd92FgwcPIicnJ4xdUqgkJycjOTkZOp3uqn/um2bsCxU3NTVdMdm4sbERw8OTf/PdkrmzJ31P+jJBEBCnVsExOBSyGkql0j8lODMzE9nZ2VdME87MzMTs2bMZ7CMiP6/Xi79/asTuA4fwznsfwO0O/H1GYkI8Vt33DWzZsA6LF8wLQZcUrZKVLiQrL98c4/II6HXI0Gu7HCgecUpgdUvg9QY+sV4p9UAj80AjdyPli/fAalkob9MloljHZ2MQERERiRdDxEREREQiJvBHe0QkYlIBmPbFxU4fLwCb6/KFVIdbArdXgMdzefKqxwtIBEAu8UAqABLBC5XMC7XMDQWnDBOJzkMPPYT58+dj3bp1uHDhwjXXNTY24p577sGePXtw++23h7FDigSlUons7GxkZ2df9c/b2trw97//HR999BFOnjyJM2fOBBX2GqtvkE8FCZfJnkKcmJiInJwcLF26FLfccgvuuOMOpKamTmoNIhKngcEhHPrjX7B9Tzk+qz8T1B7z52bjybLv4bHvPYT4OM0kd0ixRibxIl3lRLrK6f89LwRYXQJGXBK4PBK4PQLcXgFuL+DxAlIJIBM8kEoAqeCF6ovwsIzvgYkoQDxrEBEREYmX4I3E8/uIiIiIKCxGbA40t3ZBI3FhppLBBSIiIrocqm91JSMlQRHpVsKiq6sL69evx5EjR8ZdJ5VK8cwzz2Dr1q1h6owizeVyobGxESaTCUajEUajEefPnw9JrflzZqD2rV+GZG/6Xxfau5Dzrc0hr6PValFQUAC9Xg+9Xg+dTge1Wh3yukShZrW7MWx1YK5qINKtxLSGs0147Xdv45XyN9A3MBjw8RKJBF8p1eOHG9bim3feAUHgDeJERBQ5Z22JcHsFLMjOhFQqiXQ7RERERBQCDBETERERiRhDxERERDTWVAsRA4DdbsdPfvITHDhw4Lprv/Od72Dbtm1QqVRh6IzCqa+vDxUVFTh+/DhMJhOqqqpgtVpDWlOj0SBr1nR895/0+OljDzIIFmKXOnvwb7vewD8s9bhwqQM2my0sdeVyORYvXozi4mIUFhaisLAQCxcuhFQqDUt9osnCEHHwPB4PPjpiwi93l+MvH36MYC69JScmYO3K+7D18TJkz54Zgi6JiIgCxxAxERERkfgxRExEREQkYgwRExER0VhTMUTss2/fPvz0pz+F0+kcd11+fj7Ky8sxa9asMHVGodDW1uafMmwymVBbWwuPxxPSmlqtFgaDAXq9HgaDAXl5eVAMt0PZeTqkdelKjmk3wZmchaamJphMJpjNZlgsFpjNZtjt9rD0oNFokJeXB51Oh4KCAuh0OixcuJBBcopqDBEHrn9wEPvf+AO27d6P5pbWoPYozFuCTWtXYfVD90Kj5k1MREQUXRgiJiIiIhI/hoiJiIiIRMxqc6KptZMhYiIiIvKbyiFiADh27BgeffRRdHV1jbtOq9Vi//79uPnmm8PUGd0Il8uFuro6GI1GmM1mHD16FBcuXAhpTZlMhtzcXOj1ehQUFKC0tPSqwXPpSA9UbTUh7YWuZEtfBHdC5pd+3+VyobGxERaLxR8wb2hoCHm43CcxMRGLFy+GwWBASUkJiouLkZ6eHpbaRBPBEPHEmU9+hp3lb+D1t/6EEWvgU88Vcjnuvfur2Lh2Ff7p1uUh6JCIiGhyMERMREREJH4MERMRERGJmNXmQBMnERMREdEoUz1EDACtra1Yt24dLBbLuOuUSiV+8YtfYM2aNWHqjCZqcHAQVVVV/inDJpMJNlvgIa5AJCQkoKioyD9lWK/XQ6W6/sRIwWWD5rwxpL3RlWyzboZbET+htUNDQzh58qR/UrHFYsHp0+GbHK3Vav2TinU6HQwGA5KTk8NWn2g0hojH53S58MfDH2L3gUP48JNjQe2hTU/FI6sewPcfW41Z0798swMREVG08YWI52dnQsYQMREREZEoMURMREREJGKcRExERERjMUR82cjICH7wgx/gT3/603XXlpWV4YUXXoBcLg9DZ3Q1TU1N/rCw0WhEfX09Qv1jzezsbJSUlKCgoAAGgwF5eXmQSIK7aK459wkEr3uSO6RrGbnpVngFadDHt7e3o7q6GhaLBRaLBSdOnEB3d/ckdnhtUqkUOTk50Ol0/nBxYWEhlEplWOrT1MYQ8dW1d3Zj/6F38PLe19FysS2oPYryc/HDDWvx8P3fhFwmm+QOiYiIQoeTiImIiIjEjyFiIiIiIhEbsTnQzEnERERENApDxP/L6/Vi+/bteO655+DxeMZdu2LFCrz22mtIS0sLU3dTl9PpxKlTp/xTho8cOYKurq6Q1pTL5ViyZIl/ynBpaemk/r9WXTgBqWNo0vaja/PKVBiZY5j0fdva2mA2m1FRUQGj0YiamhpYrdZJr3M1crkcc+fO9U/A1ul0WLBgQdChdqJrYYj4SlU1dXjl4Js48OYfYbPbAz5eqVDg21/7CrZuKoOhuCAEHRIREYWefxJxlhYyWfA36hERERFR9GKImIiIiEjEGCImIiKisRgi/rK//e1v2LRpEwYGxg9NzZw5EwcOHEB+fn6YOpsaOjs7UVlZ6Q9nms1m2IMIawUiPT0dRUVF0Ol0MBgMMBgMIZ30quz8HLLB4KZXUmDcmlTYMvNCXsflcqGxsREWiwVmsxkWiwXV1dVwOBwhrw0ACQkJWLJkiX9iscFgQFZWVlhqk3gxRAzYHQ68+/5H2P7Kfhw7UR3UHjO0GdiwZiW+/9hqpE1LmeQOiYiIwouTiImIiIjEjyFiIiIiIhFjiJiIiIjGYoj46s6cOYM1a9agoaFh3HVxcXH49a9/jW9/+9th6kx8mpqaYDKZYDKZYDQaUV9fj1D/iDI7OxslJSX+Sa4LFy6EIAghrTmadLANqs7Pw1ZvKnOk5sCZNCsitUdGRlBTU3NFsDgcn98+Wq0WBQUF0Ol00Ol0KCkpwbRp08JSm8RhKoeIL3V04pXyQ9ix77fo7O4Jao8Vy4rw1MZ1uP+eOzmpkYiIRIMhYiIiIiLxY4iYiIiISMQYIiYiIqKxGCK+tsHBQTzxxBM4fPjwuOsEQcCWLVvw7LPPQiLhRdTx+EKVvtDw8ePH0dMTXDhrotRqNfLz8/1Thm+99daIBykFtxOa5iMR7WGqsM5aBo8iLtJt+A0MDODUqVP+r4HKykp0dXWFrb5Wq/WH531Ti1UqVdjqU2yZiiHiIxVV+NWecvzh8AdwudwBHx8fp8HDD3wLP3hsNZYuWhCCDomIiCKLIWIiIiIi8WOImIiIiEjEGCImIiKisRgiHp/b7cbzzz+Pbdu2XXft1772NezcuROJiYlh6Cw2tLe3o7q6GhUVFTAajaiurobD4QhpzYyMDBQWFkKv10Ov16OwsBBKpTKkNYOhvnAcEgdfk4eSV6rASNaKSLdxXW1tbf5JxRaLBSaTCX19fWGpLZPJMG/ePH+g2GAwIC8vjzdEEICpEyK22e14893D+H879qL2s9NB7TE3azY2rlmJDWtWYlpy0iR3SEREFD0YIiYiIiISP4aIiYiIiETManOgiSFiIiIiGoUh4ol56623sHXrVlit1nHX5eTk4MCBA5g/f36YOosebrcbDQ0NMJlMMBqNsFgsOH06uDDWREmlUuTk5PinDOv1eixatCikNSeLoucM5H0tkW5D1FwJmbCnx8bnw2i+ryWLxeIPF5vNZtjt9rDUj4uLw9KlS/3BYp1OFzNfVzS5xB4iPtvcgt0H38Seg2+ip68/4OMlEgm+UqrHxrWr8MDX74RUKg1Bl0RERNHFFyKen50JGUPERERERKLEEDERERGRiHESMREREY3FEPHE1dTU4JFHHkFLy/jBz5SUFOzevRt33HFHeBqLkOHhYdTW1sJkMvk/Qj09VaPRIC8vDwaDASUlJTAYDEhOTg5pzVCROIagvnAi0m2Imm26Dm51SqTbmBROpxNnzpy5IqTf0NAAj8cTlvpJSUkoKCiAXq+HTqfDzTffjLS0tLDUpsgRY4jY4/HgoyMm7D5wCO+89wHcbnfAeyQmxGPVfd/A1o2PYNH8uSHokoiIKHoxRExEREQkfgwRExEREYmY1eZEU2snQ8RERETkxxBxYLq6urB+/XocOXJk3HVSqRTPPPMMtm7dGqbOQq+tre2KAGNVVRWcTmdIa2q1Wn9wUa/Xo6ioCAqFeD5XVRdOQOoYinQbouSVqTAyRw9AiHQrITM4OIi6ujr/pGKTyYTm5uaw1fd9ffomgZeUlECtVoetPoWemELEA4NDOPTHv2D7nnJ8Vn8mqD0WzLsJTzzyMB773kOIj9NMcodERESxwR8iztJCJuMUfiIiIiIxYoiYiIiISMQ4iZiIiIjGYog4cA6HAz/5yU9QXl5+3bUPPfQQtm/fDpVKFYbOJo/b7UZDQ4M/NGw0GnH+/PmQ1pRKpcjJyYHBYIBer4fBYEBWVlZIa0aafOAiFF31kW5DlBwp2XCmZEe6jbBra2uD2WyGxWKBxWLB8ePH0dPTE5bavq9hnU7nDxeLLfg/1YghRNxwtgm/2fs69v7ubQwNjwR8vEQiwde/ehue2rgOX73FAEEQ740JREREE8FJxERERETixxAxERERkYgxRExERERjMUQcvH379uGnP/3pdafx5ufno7y8HLNmzQpTZ4EbGhpCZWWlf8rwsWPHMDAQ2tBYfHw8cnNz/RNMly9fjqSkpJDWjDaCxwV181EIXk+kWxEXQcDILD288tgK74fK2CniFosFNpstLLXlcjmWLFkCvV7vDxYvXLiQQcwYEashYo/Hg4+OmPDL3eX4y4cfI5jLXsmJCVi78j48velRZM2aEYIuiYiIYpMvRLwgOxNShoiJiIiIRIkhYiIiIiIRY4iYiIiIxmKI+MYcO3YMjz76KLq6usZdl5aWhldffRWlpaVh6mx8o0OFJpMJtbW18HhCG2TVarVXTBnOy8uDRMKLzoruRsj7L0S6DVFxJWhhT18c6TailsvlQmNjIywWC8xmc9jOAT6JiYlYvHgxdDodDAYDVqxYgfT09LDUpsDEWoi4b2AQ5Yf+gG2796O5pTWoPQrzlmDT2lVY/blXFy8AACAASURBVNC90Kh5IwIREdFYnERMREREJH4MERMRERGJGEPERERENBZDxDeutbUV69atg8ViGXedUqnEiy++iLVr14aps8tcLhfq6upgNBphNptx9OhRXLgQ2tCqTCbDvHnz/KHhFStWYPbs2SGtGasEtwPq80ZOI54sggDrrGXwyDWR7iSmDA8Po7a21h8stlgsOH36dNjqa7Va/6RiX7g4OTk5bPXp6mIlRGw++Rl2lr+B19/6E0asgU/ZVsjluPfur2Lj2lX4p1uXh6BDIiIi8eAkYiIiIiLxY4iYiIiISMSsNgeaGCImIiKiURginhx2ux1PP/00Dh06dN21ZWVleOGFFyCXy0PSy+DgIKqqqvxThk0mE2y2wENVgUhISEBRUZF/yrBer4dKxQmOE8VpxJPHFa+FPYNTiCdDf38/zGYzjEYjLBYLKisrrzt1fbJIpVLk5ORAp9P5w8WFhYVQKpVhqU+XRXOI2OF04k9//Tt2HziEDz85FtQemRlpWLfyfnz/sdWYNT1zkjskIiISJ4aIiYiIiMSPIWIiIiIiEeMkYiIiIhqLIeLJ4/V6sX37djz33HPweMafKrt8+XLs3bsXaWlpN1y3qakJJpMJZrMZJpMJNTU1CPWP+LRarT8sbDAYkJeXB4mEF5CDJbidX0wjdke6ldgmSGCdvQwemTrSnYhWW1sbzGYzKioqYDQaUVNTA6vVGpbacrkcc+fO9Z97dDodFixYwHNPCEVjiLi9sxv7D72Dl/e+jpaLbUHtUZSfix9uWIuH7/8m5DLZJHdIREQkbgwRExEREYkfQ8REREREIsYQMREREY3FEPHk+9vf/oZNmzZhYGD80NXMmTNRXl4OnU434b2dTidOnTrlnzJ85MiRkE8GlclkyM3N9QeGS0tLJyX8TFeS91+Aorsx0m3ENEdyFpzTbop0G1OK2+1GQ0MDLBYLzGYzLBYLqqur4XA4wlI/Pj4eubm5/onFer0e2dnZYak9FURTiLiqpg6vHHwTB978I2x2e8DHKxUKfPtrX8HTmx+Fvmji33eJiIjoSr4Q8fzsTMgYIiYiIiISJYaIiYiIiETManOgiSFiIiIiGoUh4tA4c+YM1q5di/r6+nHXaTQa/PrXv8a999571T/v7OxEZWUlLBYLTCYTjEYj7EGEpwKRlpaG4uJi6HQ6GAwGGAwGKJXKkNYkAPBCfbEaElvkw3qxyCNXwzZrGbwCgwyRNjIygpqamiuCxfX19SGfkO6j1WpRUFAAnU4HnU6HkpISTJs2LSy1xSbSIWK7w4F33/8I23btg7HSHNQeM7QZ2LBmJb7/2GqkTUuZ5A6JiIimHk4iJiIiIhI/hoiJiIiIRIyTiImIiGgshohDZ3BwEE888QQOHz487jpBELBlyxY8++yzOH/+PEwmkz8wHI7gXXZ2NkpKSmAwGKDX67Fw4UIIghDSmnR1EscQ1K1VgNcT6VZijnV6ATzq5Ei3QdcwMDCAU6dO+c9vVVVV6OzsDFt9rVbrP8f5pharVKqw1Y9VkQoRX2zvwO4Db2LHvt+is7snqD1WLCvCUxvX4f577oRMJp3kDomIiKYuTiImIiIiEj+GiImIiIhEjJOIiYiIaCyGiEPL7Xbj+eefx7Zt2667Vi6Xw+l0hrQftVqN/Px8/5ThW265BampqSGtSYFR9DVD3nMu0m3EFGfiTDjS5ke6DQpQW1ubf1Kxb9p6X19fWGrLZDLMmzfPHyg2GAxYunQppFKGTUcLd4j4SEUVfrWnHH84/AFcLnfAx8fHafDwA9/CDx5bjaWLFoSgQyIiIuIkYiIiIiLxY4iYiIiISMSsNieaWjsZIiYiIiI/hojD4+2338ZTTz0Fm80W1roZGRkoLCyEXq+HXq9HYWEhlEplWHugQHmhajsJ6Uh3pBuJCR5VIqzTCwCBAYZY53a70dDQAIvF4g8Xm81m2O32sNSPi4vD0qVL/cFinU435SezhyNEbLPb8ea7h/F/X34NJz+vD2qPedlzsGH1d7BhzUpMS06a5A6JiIhoNE4iJiIiIhI/hoiJiIiIRGzE5kAzJxETERHRKAwRh8boMJzJZILRaMTp06dDWlMqlSInJ8c/ZViv12PRokUhrUmhIXhcULdWQnBav/gdL4CpG2S8Fq9UAeusm+GV8vwlVk6nE2fOnPGfRy0WCxoaGuDxeMJSPykpCQUFBdDr9dDpdLj55puRlpYWltrRIJQh4rPNLdh98E3sOfgmevr6Az5eIpHgK6V6bFy7Cg98/U5OkSYiIgoTTiImIiIiEj+GiImIiIhEzGpzoIkhYiIiIhqFIeLJMTIygpqaGphMJv9HX19fSGtqNBrk5eXBYDCgpKQEer0eKSkpIa1J4SOxD0F1sRqC1x3pVqKTIIF1ej48quRId0JhNjQ0hJMnT/onFZtMJjQ3N4etvlar9U8q9p1/1Wp12OqH02SHiD0eDz46YsLuA4fwznsfwO0O/PyWmBCPVfd9A1s3PoJF8+dOSl9EREQ0cQwRExEREYkfQ8REREREIsZJxERERDQWQ8TBaWtrg9lsRkVFBYxGI6qrq+FwOEJa0xdc0+v10Ov1KCoqgkLB/29iJrX2QtlWC8EbnqmrMUMQYE9fDFd8RqQ7oSjhOydbLBZYLBYcP34cPT09Yak9egq8L1xcWFgIpVIZlvqhNFkh4oHBIRz641+wfU85Pqs/E9QeC+bdhCceeRjrV38HcRpxhraJiIhigS9EPD8rEzIZQ8REREREYsQQMREREZGIWW1ONLV2MkRMREREfgwRX5/b7UZDQwNMJhOMRmPYp17Onj0bL7/8MpYvXx62mhQ9pMNdUHWcArwewAtAiHRHkSbAnrEQrvjMSDdCUa6trc1/3vaFi202W1hqy+VyLFmyBHq93h8sXrhwIQQhtr6AbzRE3HC2Cb/Z+zr2/u5tDA2PBHy8RCLB1796G57auA5fvcUQc39/REREYuQPEWdnQsZJxERERESixBAxERERkYhxEjERERGNxRDxlw0NDeHkyZMwmUz+AFp/f39Ee0pLS8Orr76K0tLSiPZBkSEb6oCy8zOAP7qFPXU+XEkzI90GxSCXy4XGxkZYLBaYzWaYTCacPHkSbrc7LPUTEhKwZMkS6HQ6GAwGLF++HBkZ0T1NO5gQscfjwUdHTPjl7nL85cOPEcwlp+TEBKxdeR+e3vQosmbNCPh4IiIiCh1fiHhBdiakDBETERERiRJDxEREREQiZrU50MQQMREREY3CEPGV0ypNJhNqa2vh8XhCWlOr1cJgMECv12PevHn4j//4D5jN5nGPUSgUePHFF7Fu3bqQ9kbRSWrtgbK9DoInPIHHqCNIYE9fCFe8NtKdkIgMDw+jtrbWHyy2WCyor68PKvgaDK1W659UrNPpoNfrkZKSEpbaExFIiLhvYBDlh/6Abbv3o7mlNah6hXlLsGntKqz5zr1Qq1RB7UFEREShxRAxERERkfgxRExEREQkYpxETERERGNNtRCxy+VCXV0djEYjzGYzjh07hpaWlpDWlMlkmDdvnj80vGLFCsyePfuKNXa7HU8//TQOHTp03f3KysrwwgsvQC6Xh6plilJSxxCUl2oguB0AAC8AIbIthYVXIoM9cyncquRIt0JTQH9/P8xmM4xGIywWCyorK9HV1RW2+tnZ2SgpKfGHiwsLC6FUKsNWf7SJhIira09h14FDeP2tP2HEagu4hkIux713fxUb167CP926/EbaJSIiojDwhYjnZ2dCxhAxERERkSgxRExEREQkYpxETERERGOJPUQ8ODiIqqoq/5Rhk8kEmy3wkFMg4uPjUVxcDL1eD4PBgJKSEqjV6use5/V6sX37djz33HPXnYS8fPlyvPbaa0hPT5+stilGCC4bVG21kDguv56/HCQWb5zYK1fDlpkHj1wT6VZoCmtra/NPKjaZTKioqIDVag1Lbd+NKDqdzn8zyoIFCyCRhD60c60QscPpxJ/++nfsPnAIH35yLKi9MzPSsG7l/fj+Y6sxa3rmZLRLREREYcBJxERERETixxAxERERkYhxEjERERGNJbYQcVNTE0wmE8xmM0wmE2pra68byL1RWq3WH+wyGAzIy8u7oXDXBx98gE2bNqG/v3/cdTNmzMCBAweg0+mCrkWxSfB6oOg+A9lAa6RbCSl3QibsqTnwSmSRboXoCm63Gw0NDbBYLP5wsdlsht1uD0v9+Ph45ObmQqfT+ScWL1q0aNLrjA0Rt3d2Y/+hd/Dy3tfRcrEtqD2L8nPxww1r8fD934Rcxq9tIiKiWMMQMREREZH4MURMREREJGIMERMREdFYsRwidrlcqKur808ZPnLkSMgfOS+TyZCbm+sPDJeWliItLW3S65w9exZr1qxBfX39uOuUSiVeeuklrFq1atJ7oOgntfZA2fE5BLfj8m+IZCCxVyKFI20BXPHaSLdCNGFOpxOnTp2C0Wj0B4vr6+sRrksuWq3WHyjW6XRYtmwZUlNTb2hPX4i4r/4YXjn4Jg68+UfYgghKKxUKfPtrX8HTmx+Fvog3vhAREcUyX4h4fnYmZAwRExEREYkSQ8REREREIsYQMREREY0VSyHirq4unDhxwv84eaPRGPKpj4mJiSgsLPSHhg0GA5RKZUhr+gwNDWHz5s04fPjwuOsEQcCWLVvw7LPPhuXx9hRdBLcDiu5GyIY6It1KEL6cenZrUmFPnQ+vXBWZlogm0eDgIOrq6vzft44dO4aOjvB9rfqCxXq9Hnq9HgUFBVCpJva1Zbfb8ad3/4KdO15GdXVlUPVnaDOwYc1KfP+x1UiblhLUHkRERBRdOImYiIiISPwYIiYiIiISMavNgSaGiImIiGiUaA4RNzU1wWQy+QPD4ZjomJ2djZKSEhgMBuj1eixcuBCCELnRrl6vFy+++CJ+8YtfXPe//a677sKuXbuQmJgYpu4omkjtg1B0NUBiH4h0K0HxyNVwpObArbmxyalE0a6trc0/qdhisaCiogK9vb1hqS2TyTBv3jzodDr/1OKioiIoFP/7GqCtrQ379u3Dnj170N3dHVSdFcuK8NTGdbj/njshk0knq30iIiKKAgwRExEREYkfQ8REREREIsZJxERERDRWtISIrVarP1BlMpnw6aefBh1emii5XI4lS5b4pwzfcsstN/zo91B555138NRTT8FqtY67bt68eThw4AAWLFgQps4ounghG2iDoq8ZgssW6WYmxCtVwJmSBWfCdEBgCIGmJt9NM75wsdlsDvmkfR+NRoO8vDxotVpcuHABFosFbrc74H3i4zR4+IFv4YePrUHuovkh6JSIiIiigS9EPD87EzKGiImIiIhEiSFiIiIiIhHjJGIiIiIaK1Ih4o6ODlRVVaGiogJGozEsgamMjAwUFhb6H+teWFgIpVIZ0pqTqba2FuvWrUNLS8u46xISErBjxw7cc889YeqMoo7XC9lwB+T9LZDYhyLdzVV55Bo4k2fDFa9leJhoDKfTiTNnzvhvrDEajWhoaIDH44l0a18yL3sONqz+DjauXYWUJE7CJyIiEjtOIiYiIiISP4aIiYiIiESMk4iJaKqxuQWMuKSwuqRwugW4vYDbK8DpuXyRQyJ4IRW8kEu8kAiAQupBnMwNjcwDmYRvj2lqCEeI2O12o6Gh4Yow1OnTp0NWzyc7OxslJSUwGAzQ6/VYuHAhBEEIed1Q6u7uxvr16/Hpp5+Ou04qleKZZ57B1q1bw9QZRSuptReywUuQDndB8EY4gCgIcKmnwZUwHe64VACx/fVIFE5DQ0M4efKkf1KxxWIJy/fSqxEEAbcZluHpzWX45p13xPz3ViKx8AKwuSQYcUlhc0ng8AhwewW4PYDL63sP7IFUAOSSy++FlVIPNHIPNDI3pPxSJqIJ4CRiIiIiIvFjiJiIiIhIxBgiJiIxG3FJ0WuXodcmw4BTihGnBG5v8FdBlVIP4uQeJClcSFG5kKJwMVhMohSKEPHIyAhqampgMplgMplQUVGB3t7eSdv/anyPYzcYDCgpKYFer0dKSkpIa0aKy+XCz3/+c+zateu6ax988EFs374darU6DJ1RNBM8bkiGOyEf7oTU2guEK1AsCHCrkuGK18IdlwavRBaeukRTQHt7O6qrq2GxWGCxWHDixAl0d3eHpbZUKsWCedkozs9FUV4uivJzcXPBUigV4X2yAdFUNuT44j2w/fJ7YKtLCs8NvGVVSz3QyN1IVroxTeVEksLFYDERfQlDxERERETixxAxERERkYhZbU40tXYyRExEouAB0GVVoH1Ejh6bDDZ3aC9cCAKQIHcjTe3AdLUT8Qp3SOsRhctkhIjb2tpgNptRUVEBo9GI6upqOByOSezyy7RaLQoKCqDX66HX61FUVATFFAsu7du3Dz/72c+u+3edl5eH8vJyzJ49O0ydUbQTvG5IbAOQWPsgs/VDYh+YvFCxIMCjTIBblQy3KhkeVRK8Eunk7E1E1zX2e7LFYoHNZgtLbblMhpy5WSgtKcaKZYUozsvFovlzIZEwYEQ0GVweAR1WOTqsCvTaZHB4QpvwlQBIVLqRrnJgepwDalmEn2hARFHBFyJekJ0JKUPERERERKLEEDERERGRiHESMRGJQY9dhkvDSrSPyOEM8UXT8cTL3Ziu4cVUin2BhojdbjcaGhpgMplgNBphMpnQ3Nwc0h6lUilycnJgMBig1+uh0+mwaNGikNaMFSaTCWVlZejs7Bx3XWpqKl577TWUlpaGqTOKKV4PJE4rJC4rBMfI5X867RA8LsDrhuD1AG7n5bVSObyCBF5BAkhk8MpU8MhV8Mo18MjV8Mo1l/+MiCKqsbERe/bswcGDBzE8HLn3/4kJ8Vi6aAGK8pegKD8Xt5YUI3vOrIj1QxRrvF4BnTYZ2kYU6BiR39DTdm5UstKF6RoHMjUOKKS8nEw0VTFETERERCR+DBETERERiRgnERNRrPIAuDSsQNOgCkOO6JpmKAiAVu3ATYk2JHI6McWg64WIh4eHUVtbC5PJ5A8O9/f3h7SnuLg4LF26FAaDASUlJVi+fDmSkpJCWjOWXbx4EY888giqq6vHXSeTyfDcc8/h8ccfD1NnREQUTh6PB++//z527dqFf/zjH4jWyz3TM9JRlJ/7xccSLL+5EKkpyZFuiyiquDwCWocUaB5SweqKrpCeRABmxNlxU6IdGhnfAxNNNb4Q8fzsTMgYIiYiIiISJYaIiYiIiESMk4iJKNa4vQJaBpVoHlTB5o7cxKWJmqZ04aYkK9JUrki3QjRhY0PEbW1tV0wZrq2thccT2mnbWq32iinDxcXFkMvlIa0pNna7HT/60Y/wxhtvXHdtWVkZXnjhBf4dExGJRH9/P373u9/h5ZdfRktLS1B75OXl4Y477kBCQgIqKytRWVmJrq6uSe702qZnpKO0pAgrlhX5w8VqlSps9YmihcMjoHlQiZZBVUSfvDMRAoAMjRM3JdiQpOR7YKKpwh8iztJCJouuG/2JiIiIaHIwRExEREQkYpxETESxpMMqx2e9GtiibOrSRKSqnFiUYkW8nFOZKLq5XG6cOtOE94yfo8Z8HMeOHQs6fDRRMpkM8+bN84eGly9fjjlz5oS05lSyc+dO/PznP4fbPf75x2AwYO/evUhPTw9TZ0RENNlqamqwd+9eHDp0CFarNeDjFQoFvv71r6OsrAy33377l/686XwrKo5X4uLnJ1BVU4cjFZXoGxicjNavSyaTYv7cbBTn56J02eVw8aL5cyGRxN57A6KJ8HoFtA7L0dCngSPKw8NXk6lxYEGyFWpZaG8+JKLI4yRiIiIiIvFjiJiIiIhIxDiJmIhiwYBDis97Nei1yyLdyg0R4EVWggPzkq2QCXyrTdFhYHAIx821OFJRhaPHq3D0eDWsNltIa8bHx6O4uBh6vR4GgwElJSVQq9UhrTnVffjhh3j88cfR398/7roZM2agvLwcBQUFYeqMiIhulMPhwHvvvYd9+/bh448/DmqPjIwMfO9738PGjRsxY8aMa66z2t0YtjowVzUAAHC73TjdeA6VtXWoqqlDVc0pVFpOwu5wBNVHoOLjNMhfsghF+UtQlJ+L4rxcLFmYE5baRKHUbZPj8141hpyxPdFTJvFibqINWQk2SGIvB01EE+QLES/IzoSUIWIiIiIiUWKImIiIiEjEGCImomjm9QpoGlSioU8FL8RzxVEt9WBp2jCm8fGuFAEX2ztw9Hg1jlRU4ujxaphPfgaPJ7TTwbRarX/KsMFgQF5eHqcGRsDZs2exdu1anD59etx1SqUSL730ElatWhWmzoiIKBgdHR347W9/i927d+PixYtB7aHT6bB582Y8+OCDkMvl110/NkR8NU6XCw1nmnD0eBWOHK9CZU0dTjeeC/nrDZ/pGekoys/94mMJ9EU6pKdOC0ttohvl9gL1fWqcH1RFupVJFSd3Q5c6jAQFn8xDJEYMERMRERGJH0PERERERCLGEDERRSurSwJLVxz6HbE9ffhaBADZiTbMT7ZBAN92U2i4XG7UnPrcP2X4H8bj6OjqCWlNmUyG3Nxcf2C4tLQUaWlpIa1JEzc0NIQnnngC77333rjrBEHAli1b8OyzzzLwTUQUZSwWC3bs2IF33nkHTqcz4OOVSiXuu+8+fP/730deXl5Ax04kRHw1A4NDqP2sHlU1dTh6vAqfVlSiraMroD1uhC9YXFpShBXLilCYtwQatbhCmhT7BhxSWLriMeIS52sviQAsTLZiTkJon3pCROHnCxHPz86EjCFiIiIiIlFiiJiIiIhIxKw2B5oYIiaiKHNpRIFTPRq4POKZPnwtiQo3CtKGoJaFZzIbiVv/4CBOmE/6Q8NHKqpgs9tDWjMhIQFFRUX+0LBer4dKxVBONPN6vXjxxRfxi1/8Atf7sd+dd96JXbt2ISkpKUzdERHR1djtdhw+fBi/+c1vcOLEiaD2yMzMxCOPPIKNGzciNTU1qD2CDRFfzcX2DlTV1KGq5hSqaupw7EQ1evr6b3jfiZDJpJg/NxvF+bkoyrs8tXhZYR4UE5jGTBQKTYNK1PeqRfUEnmtJUzuRnzoMuYSXn4nEgpOIiYiIiMSPIWIiIiIiEbPanGhq7WSImIiiRvOgCqd71VNqNq9S6kFR+hAS+WhXCtC55hZ8erwKR49X40hFJT5vOHvdUOiNys7ORklJiT8wvHDhQgiC+MMOYvTOO+/gqaeegtVqHXfd3LlzcfDgQSxYsCBMnRERkU9bWxv27duHPXv2oLu7O6g99Ho9Nm/ejG9+85uQyW7sKR+TGSK+Gt9rm9Hh4lDfEOUTp1FDl7sYRflLUJSfi+K8XCxeMI+vcyikvF7gs14NWoaUkW4lrDQyN4ozhqGR8T0wkRgwRExEREQkfgwRExEREYnYiM2BZk4iJqIo4PUKqOtVo3WKXTz1kQpe5KcNI0Md+COpaWpwulyoPXXaP2X4f45WoKunN6Q15XI5lixZ4p8yfMsttwQ9uZCi08mTJ7Fu3TqcP39+3HXx8fHYuXMn7rnnnjB1RkQ0tRmNRuzatQv//d//DZfLFfDx8fHxeOihh/D4449j8eLFk9ZXqEPEY7lcbtSfOYfK2jr/TVOnG8/B4wnPUzySEhKQu2g+SkuKsGJZIZYV5EObztdCNDlcHgGW7jh0WafmBGyl1IPCtGEkKQM/xxFRdGGImIiIiEj8GCImIiIiEjGGiIkoGni8gLkzHp22qXnx1EcQgNyUEcyMD8+0NYpubR1dOGGp/SIwU4VKy0nYHY6Q1tSmp+JmXR6WlxQjp/A23Fa6DErl1Az2TyXd3d1Yv349Pv3003HXCYKAH//4x/jJT37CqYxERCEwPDyM3//+99i9ezdOnToV1B433XQT1q1bh7KyMiQnJ09yh+EPEV/N0PAILHWfX55WXFuHypo6fFZ/Jmz1p2ekoyg/94uPJSgtKUZKUmLY6pM4OD0CjnckYNAhjXQrESUVvChIH0KaikFioljGEDERERGR+DFETERERCRiVpsDTQwRE1EEeSHA3KlBh1UR6VaiggAgL3UY0+NCGxal6ON7fLdvyt7nDWcR6h/J3JQ1G6XLClG6rAgrlhX5H9nt8gpodSUjJYFfl1OFy+XCv//7v2Pbtm3XXfvAAw/gl7/8JdRqdRg6IyISv3PnzqG8vBz79+9Hb2/gTxmQSCS49dZbsWnTJtx9990hvdEjGkLEV3OpoxOVlpOoqjmFqpo6VFTXoLO7Jyy1pVIpFszLRnF+LoryLoeLby5YCqWCr6Po6lweASc649Fvl0W6laggFbwozhhCCicSE8UshoiJiIiIxI8hYiIiIiIR4yRiIookL4Da7jhcGuYF9tEEAchPHUamhkFisRoescJ88jMcPV6FIxVVOHaiGj19/SGtGadRQ5e72P847uU3FyI15eoTChkinrr27duHn/3sZ3BcZ+p1Xl4e9u/fjzlz5oSpMyIicfF4PPjkk0+wb98+/PnPf4bb7Q54j4SEBDz44IN48sknMX/+/BB0+WXRGiK+movtHaiqqfM/1cF88hRGrLaw1JbLZMiZm4XSkmKsWFaI4rxcLJo/FxIJg1VTndsroLIzHr02BohHk0m8uDl9CEkMEhPFJF+IeH52JmQMERMRERGJEkPERERERCLGEDERRVJdTxwuDDGkeDUSASjOGMI0pTPSrdAkGBtiOWGuhcMZ2v+3vkdtXw4NF2FZYR4UcvmEjmWIeGozmUx49NFH0dHRMe661NRUvPrqq7jlllvC1BkRUewbHBzE22+/jR07dqC+vj6oPXJycrB+/XqsW7cOGo1mkjscXyyFiMdyudyoP3MOlbV1qKqpQ1XNqbC8JvNJiI9D3uKFKMpfgqL8XNxaUozsObPCUpuig9croLIzDt22ib0mn2rkEi/02kHEyQO/qYKIIoshYiIiIiLxY4iYiIiISMQYIiaiSGkZUuJUTWGf/gAAIABJREFUT3hDD7FGIfHCkDkAtcwT6VYoAG63G6cbz12eMny8CkeOV+Ncc0tIa/oeoz162t2ShTlB78cQMV26dAnr1q1DdXX1uOtkMhn+7d/+DZs2bQpTZ0REsamxsRF79uzBgQMHMDIyEvDxEokEd911FzZv3ozbbrsNgiCEoMvri+UQ8dX4ng5RVVOHqto6VNbU4fOGswjXZTHfTV+XP5aM+6QIin2nezVoGlRGuo2oppF7sFw7AJmEl6aJYokvRLwgOxNShoiJiIiIRIkhYiIiIiIRY4iYiCKh3yFDRXsCPHy3eV0JCjf02gFII5MToQkYGh6Bpe7zy6HhiiocqahE38BgSGvGx2mQv2TRF1OGC1FaUoyUpMRJ258hYgIAu92OH/3oR3jjjTeuu7asrAz/+Z//CYWCnzNERD4ejwfvv/8+du3ahX/84x9BBVPT0tKwZs0aPPbYY5g9e3YIugyM2ELEV9M/OIiTnzX4X9udsNSivbM7bPWnZ6T7nyThCxerVaqw1afQaB+Rw9wVH+k2YkKG2oHCdP6MkiiWcBIxERERkfgxRExEREQkYgwRE1G4OdwSHGtLgM3NiwoTNSPOgbxUnqOjxcX2Dhw9Xo0jFZU4erwa5pOfweMJ7bTosWGSkqJ8yGWykNVjiJhG27lzJ37+85/D7R7/0dJ6vR779u1Denp6mDojIopO/f39+N3vfoeXX34ZLS3BPY1Ap9OhrKwM3/3ud6GKogDpVAgRX83F9o7L04prTqGqpg5Hj1ehtz88fwcymRTz52ajOD8XRXm5KC0pQsHSxZBI+H4qVow4JTjWngiXh3eGTtSCZCtuSrRFug0imiBOIiYiIiISP4aIiYiIiESMIWIiCjdzVzzaR+SRbiPmFKQNQatxRrqNKcflcqP+zLnLk+iOV+ETUyWaW1pDWlMqlWLB/2fvzqOiuvOt4e+amSeBqgIExDiiGDFgolE7001MsmJGNSrSjphohu6+SZ4nt+/7rvfedN/bc0zSzmgQjdEM2t1Ru11JOmo0jigozhEQhCrGYqp5eP9AaI0GrLJODYf9WctFdfU5v7PjAFV19vmewemYmDsOE3LGYtL4e5A+MFnQY/4QS8T0Q1999RUWLVqE1tbWXrdLSkrCxo0bMXbsWB8lIyIKHGVlZfjwww+xbds2mEwmt/dXKpWYOnUq8vPzMWXKFAES3rn+WiL+IYfDgfOXKnD8VHlPufh46WlYrFafHL/7rhTZWSORnZWJcaMzMWLoYEgkLKkGGpdLgkP6SLRZZf6OElQkEhfuVbcjStn7RWxEFBg4iZiIiIhI/FgiJiIiIhIxloiJyJd4C1fPhchcmJjUCrmEb9GF1N7RiSMnynDgSAkOHi3Bd8dOwGgSdgJWZEQ4csdmXZsyPBKT7r0H0ZGRgh6zLywR061UVFRg9uzZOH/+fK/bqVQq/OlPf8KMGTN8lIyIyH+sVit2796NoqIi7N2716M1EhMT8eKLL2LRokXQarVeTuhdLBH/OJvdjovfV/ZcfHa8rBznL1UIfseKbjFRkRg3ZlTPa8rx2WOQMCDOJ8emH1fRFoILhlB/xwhKUUoH7lW3gd14osDXUyJOU0Mu50UTRERERGLEEjERERGRiLFETES+YndKcKAuGmYHzwB6amCEBSPjjP6OISq1+nocPHoCB44cx8GjJ3Dy9FnBix7axARMzM3GhJzsgL0dNUvE9GM6Ojrw0ksvYdeuXX1uu3jxYrzzzjuQyXgSmYjEp76+Hlu2bMG6detQW1vr0RpjxoxBQUEBnn32WSgUwXGnDpaI3dPW3oFTZy90TSs+VY5vj5Sg8kqNz46vTUxAdlYmsrMyMTE3G/fdMxZhoSE+O35/Z7JLcaCuq1hHnhkWa0R6pMXfMYioD5xETERERCR+LBETERERiRhLxETkK2eaw1DdofJ3jKAmAZCrbkeMyu7vKEHJbneg7My5ninD+w4dRX1js6DHlMtlyBo5HBNyxiI7KxNT7stFanJgTxgEWCKm3rlcLrz33nv47//+b/T1seFDDz2EtWvXIjo62kfpiIiEVVpailWrVmH79u2w2Wxu769SqTBt2jQsXboUo0aNEiChsFgivnO1+vquUnHZGZSUlePQ8ZNoajH45NgymQxDB6djXFYmskd3lYtzxo6GMkhK7MHmWH0Emsz8vb0TMokLE7VtCJX7ZqI3EXmmu0Q8NF0DGUvERERERKLEEjERERGRiJnMNlRebWCJmIgEZbLLsL8uEi5OYLpjcSF25CS2+ztGUGhr78DRk6d6SsMHj56AyWwW9JhRkRHIuXt0z5ThCTljERoSfNPeWCKm27Fjxw688sorMBp7n5CekZGBTZs2YdiwYT5KRkTkXRaLBX//+9+xYsUKHDt2zKM1tFot8vLysHDhQgwYMMDLCX2HJWJhXH93jJKyMzhx6ozgr1u7KeRyjB45rOeit3GjMzFi6GBIJHzvdieazAocq4/wdwxRSI6wYBTvyEMU0DiJmIiIiEj8WCImIiIiEjFOIiYiXzjdFI6rnSwjekuOuh1xnEZ8k4qqanx7rSx84MhxnLt4uc8pqXdqUNpATMwZi+zRXbeIHjt6pCgKFywR0+06ffo08vLycOXKlV63i4iIwKpVqzB16lQfJSMiunM6nQ5FRUUoLCxEU1OTR2uMHz8eBQUFeOKJJyCXy72c0PdYIvYNu92BC99X4PipcpSUlePg0RM4efosnE7fTGONiozAqOFDkZ01EhNzx+H+3HHQJMb75NhicaQ+Ei3m4P83HwgkcGFSEqcREwUyTiImIiIiEj+WiImIiIhEjCViIhKa0S7Dt5xC7FUxKgfGq/t3ccNmt+PUmfM9U4a/OXgEjc0tgh7z+iltE3PHYcp9OUgYECfoMf2FJWJyR3NzM+bPn4/9+/f3up1EIsEbb7yBN998UxRleyISr0OHDmHNmjXYuXMn7Hb3L9yKiIjAc889h0WLFmHEiBECJPQfloj9p6PTiNLycygpK0fJqXIcLyvH2Qvf++z42sQEZGdlXvs1EhNyshEXE+2z4wcTTiH2vuRwC0YN4DRiokDFEjERERGR+LFETERERCRiLBETkdBON4XhaqfK3zFEp79NI9Y3NOHoybJrU4ZLcLz0NCxWq6DHVCcMwD1jRiM7q2vK8MTcbISo+sffZZaIyV12ux2//vWvsXz58j63feaZZ/D+++8jNDTUB8mIiG5PZ2cnPv30U6xduxZnz571aI2MjAzMmTMH+fn5iImJ8XLCwMAScWAxtLXjeOlpHDhSgpKychw5UYaGpmafHf/6u3JkZ2Vi3JjMfvN6uTdH9JFosXAKsTdJJC5M0nIaMVGgYomYiIiISPxYIiYiIiISMZPZhsqrDSwRE5Eg7C4JvqmJhoNTiL1OG2ZFVrx4v29XVFXj26Ml10rDx3Hu4mUI/fFEdwliYk42JuRkY8TQwf12WipLxOSpjRs34q233oK1j5L/qFGjUFxcjNTUVB8lIyK6tYqKChQXF6OoqAgGg8Ht/aVSKSZNmoTFixfj0UcfFf1rB5aIA1+tvr5rWnHZGRw8WoLvjp2A0WT2ybEVcjnuykjDuKzMntfUw4dkQCrtP4WyTpsM39ZF+TuGKGVEmTEkxuTvGER0CywRExEREYkfS8REREREImYyW1HJScREJJDqDhXONIf5O4YoSQFMSTFAKQ3+t+ydRhNOnj6Lg0dLcOBIV9Gh2dAq6DHDQkNw96iRyM4aiYm54/DAxPEYECvOiYGeYImY7sSRI0eQn5+P+vr6XrcbMGAA1q9fj/vvv99HyYiIujidTuzfvx9FRUX44osv4HA43F4jKioKzzzzDF566SUMGTJEgJSBiSXi4ONwOHD+UgWOnyrvKRcfO3kKVpvNJ8ePjAjH6BHDkJ01smta8ehMjBx2l0+O7Q/nW8JQ2c5pzEIIkbkwOckAkV+rQRSUukvEQ9I1kLNETERERCRKLBETERERiRgnERORkL7TRaHNKvN3DNEaEWtEaqTF3zHcVlffgOOlp69NGS7xSYlBm5iA7KxMTMztmoh2z92joFKyIPtjWCKmO1VXV4e5c+eipKSk1+3kcjnefvttvPbaaz5KRkT9WXt7Oz7//HOsWrUKFy5c8GiNIUOGYN68ecjLy0NYWP+7WI4lYnGw2e04deY8DhwpQcmpchwvK/fJnT+6db827/o1EveOuxvxcbE+ObaQXC4J9tZGweJggU4o4xI6EB/qmwI8Ed0+TiImIiIiEj+WiImIiIhEzGi2ooqTiIlIAB02GQ7wNq6CilI6cJ8msAsc3ZPPDh4twYGjJTheVo6zF74X9JgymQxDB6ffcBtlMU87EwJLxOQNFosFP//5z/Hxxx/3uW1+fj7+93//F0qW+4lIAJcuXUJhYSE2bdoEo9Ho9v5SqRSPPPIICgoKMHnyZEj68RhMlojFq7W9HafPXkRJWTkOHi3B/sPHoG9o8tnxf3jRX3bWSISGhPjs+N5Qb1LiREO4v2OImjbMiqx4fn5JFGh6JhGnqSGXc5gAERERkRixRExEREQkYiwRE5FQKtpCcMEQ6u8YoveT5FaoZE5/x+jR0WlEafm5rtLwkRIcPFqCllZhSyYR4WHIGjn8WuFgLCbmjkNsNAvsd4IlYvKmoqIivPnmm7Db7b1uN378eHz44YdITEz0UTIiEjOn04k9e/ZgzZo12Ldvn0cTVuPj4zF79mzMnz8fKSkpAqQMPiwR9y+1+nqUlJWjpOwMSsrK8d2xE2g2tPrk2HK5DEMyui4MzB7dNbU4NzsLCrncJ8f3RHlzOGo6+PpZSAqpCw8kt0Ii4alrokDCScRERERE4scSMREREZGIsURMREI5Vh+BJrPC3zFEb/SATiSFW/12/Fp9PQ4ePYEDR46jpOwMjp4og62PouCd0iYmXDehLPDLBMGIJWLytq+//hqLFi2CwWDodTutVovi4mKMHTvWR8mISGwaGxuxefNmbNiwAdXV1R6tMWbMGOTn52PGjBkICbJJqEJjiZgqqqrx7dGSG8rFZovFJ8fuvngwO2sksrMyMW50JkYMHRww08H31UbDZGd5Tmj3atoRrRT2PScRuYclYiIiIiLxY4mYiIiISMRYIiYiIThdwNc1sXDw3aTgksOtGDXAN9+/HQ4Hzl+q6JoyfLQE+w8fR1X1VUGPKZPJMHRwOibmjsOEnLGYlDsO6amcBCg0lohJCBUVFZg9ezbOnz/f63YqlQp/+tOfMGPGDB8lIyIxKCsrw4cffoitW7fCbDa7vb9SqcTUqVNRUFCA8ePHC5BQHFgiph+y2e24+H0ljp8q77m48PylCjidvrlbSnRkJDKHD+m5K0nu2DFIjI/zybGvZ7TLsL+Wd0PxhbuiTRgc7f73eSISDkvEREREROLHEjERERGRiLFETERCaDIrcKw+wt8x+gWV1ImfpAhzS+H2jk4cOVGGA0e6Jo19e/g4WtvbBTlWt8iIcOSOzbo2ZXgkJt17D6IjIwU9Jt2MJWISSkdHB1566SXs2rWrz20XL16Md955BzKZzAfJiCgYWa1W7N69G0VFRdi7d69HayQmJuLFF1/EokWLoNVqvZxQfFgiptvR3tGJsjPnu6YVnyrH8bJynL3wvc+Or01MQHZWJrKzMjExNxv3jrsb4WGhgh6zukOFM81hgh6DusSq7MhVC/u+lIjcwxIxERERkfixRExEREQkYiazFZUsERORl11uDcHFVmFP0tK/TEk2IER252/da/X1PdPDDh49gZOnzwo+QUybmHBtalg2JuZm4+5RIyCV8oSTv7FETEJyuVx477338M477/T5Peahhx7C2rVrER0d7aN0RBQM6uvrsWXLFqxbtw61tbUerTFmzBgUFBTg2WefhUKh8HJC8WKJmDxVq6/vKhWXnUFJWTkOl5SisbnFJ8fuvrvJuKxMZI/uKhffc/coqJTee617ujkMVztUgAuAxGvL0i3IJC48NNDA32aiANJdIh6SroGcJWIiIiIiUWKJmIiIiEjEOImYiIRwqikctZ0sH/rKPYkdGBBic2sfu92BsjPnuqYMnyrHvu+O4srVOoESdpHLZcgaORwTcsYiOysTU+7LRWoyJ/4FIpaIyRf+8pe/YNmyZTAajb1uN2jQIGzevBnDhg3zUTIiClSlpaVYtWoVtm/fDpvNvdc+AKBSqTBt2jQsXboUo0aNEiCh+LFETN50/UWMJWVncOLUGZjMZp8cWyGXY/TIYT3vTcaNzsSIoYMhkXhWTT2sj4TBIvdySvoxk5NaESoX9oJXIrp9LBETERERiR9LxEREREQiZjLbUHm1gSViIvKq73RRaLPy9vO+MiLWhNTI3k+2t7V34OjJUzhwpAQHj5bg4NETgp+gj4qMQM7do3umDE/IGYvQkBBBj0newRIx+Up5eTny8vJQVVXV63YRERFYuXIlHn/8cR8lI6JAYbFYsGPHDqxcuRKnTp3yaI309HTMnTsXeXl5iIuL83LC/oUlYhKS3e7Ahe8rcPxUOUrKynHw6AmUlp+Dw+HwyfGjIiMwavhQZGeNxMTccbg/dxw0ifG3te/XNTGwOTkb11fGJXQgPtT9i0mISBg9JeI0NeRyfh5IREREJEYsERMRERGJGCcRE5EQvqqJgZ0nUH1mYIQFI+NunORZUVWNb4+W9Jx8P3HqDIR+ez8obSAm5oxF9uhMTMzNxt2jRkAq5QSaYMQSMflSc3MzFixYgH379vW6nUQiwauvvor//M//9HhKIBEFD51Oh6KiIhQWFqKpqcmjNcaPH4+CggI88cQTkMs5IdQbWCImX+voNKK0/BxKyspRcqocx8vKce7iZcHf23TTJiYgOyvz2q+RmJCTjbiY6Bu2sTik+OZq9I+sQEIYFmtEeqTF3zGI6BpOIiYiIiISP5aIiYiIiESMJWIi8jaeQPW9GLkZisZjPVOG9353FA1NzYIe8/rb/07MHYcp9+UgYQAn+4kFS8Tka3a7Hb/+9a+xfPnyPrd9+umn8f777yMsLMwHyYjI1w4dOoQ1a9Zg586dsNvtbu8fERGB5557DosXL8bw4cMFSNi/sURMgcDQ1o7jpadx4EjXRZNHT5ahvlHY9z/Xu/7iyeysTNw1PAsnDQk+Oz7d+kJaIvKf7hLx0HQNZCwRExEREYkSS8REREREIsYSMRF5m9Euxf5aloh9weGw4/++/Cwunj0Jm03YW7mqEwbg3nF3Y2JuNu67ZyyyszKhVCgEPSb5D0vE5C/btm3D66+/Doul98lyo0aNwsaNG5GWluajZEQkpI6ODnz22WdYu3Ytzp4969EaGRkZmDNnDvLz8xETE+PlhNSNJWIKVJerqnH05CkcO3kaR0+W4cSpMzCazD45tkwmw6Ahmfjt6r9CqVT55Jj9XVK4FaMH8HNMokDBScRERERE4sd7fBEREREREdFtszt5i3lfkcnkMJmMghSIu6drTczJxoScbIwYOhgSCf9siUhY06dPR3p6OvLz81FfX/+j250+fRoPP/ww1q9fj0mTJvkwIRF5U0VFBYqLi1FUVASDweD2/lKpFJMmTcLixYvx6KOP8rUKUT+WkTYQGWkDMWPa4wAAh8OB85cqcPxUOUrKylFSdgbHS0/DYrV6/dgOhwOGpgYWiH2InzsQBSb+yyQiIiISL5aIiYiIiESMH+wRkbfZXfzO4ksjs3JQcbH8jtYICw3B3aNGIjtrJCbmjsMDE8djQCwn+BGRf+Tm5uLrr7/G3LlzUVJS8qPbNTc34/nnn8fbb7+N1157zYcJ+zmXExKXE3DYur4CcEmkgFQOSGVdj4l64XQ6sX//fqxevRp79uyBJzdCjIqKwsyZM7FkyRJOJCeiW5LJZBg57C6MHHYX8p6fBovVCn1DE749dAxff3sI5ecvoqK6Bk3N7l/AcCvxmmSvrEO3hyViIiIiIiIi32KJmIiIiEjE3D9dS0TUO57M862Q0HC399EkxmNc1ihMzO2aMnzP3aOgUioFSEdE5BmtVosvvvgCv/jFL7Bly5Yf3c5ut+O//uu/UFlZid/85jdQ8nuZV0hcTkgtbZBYOiG1myC1mSCxGSG1m4G+Cp8SCVzyEDjloXAqQuFShsGpCIMzJAouicw3/wEUkNrb2/H5559j5cqVuHjxokdrDBkyBPPmzUNeXh7CwsK8nJCIgpXJbIZO34BafQPq6htQUVWNWn09dPoGXL5SgzpdPfSNTXA6nYJlsFrMgq1NN7Px4mUiIiIiIiKfYomYiIiIiIiIbhvvIu1bp08e6nMblUqJcVmZmPXsU5g0fhxGDrvLB8mIiO6MSqXCBx98gJycHLz55puw2+0/uu3GjRtx7tw5FBUVITEx0YcpRcLlhMxsgNRkgNzcCqmlHXB5WLRyuSCxmSCzmSAzXfe8RAKnMhKO0Bg4QqLhDI3l1OJ+4tKlSygsLMSmTZtgNBrd3l8qleKRRx5BQUEBJk+eDAlfbBL1Ky2tbajT1V9XDu4qCnc/d7nyCgxt7f6Oifq6an9H6FekEo5FIApE/JdJREREJF4sERMRERGJGE+/EpG3yXnKwGcunj2J86eP97mdxWLFwaMncFVXD6vVivTUFISFhvggIRHRncvPz0dqaioWLlwIg+HHbzl+5MgRPPjgg9i4cSOys7N9mDBYuSAzt0LeroesswES54+XtL1zOBekljZILW1QAHBJZXCExcMeoYYjNJZXIYmM0+nEnj17sGbNGuzbtw+uviZY30J8fDxmz56N+fPnIyUlRYCURORPVpsNjc0t1yYIXzc1WF+PumvPXampRafR1PdiAaCjvRVnSo9g5Jhcf0fpF+QsERMFJL6iJyIiIhIvloiJiIiIRIwfuRORt8ml/M7iK6XHvoVEIrntYk5V9VX8/P/9H/zPe6vx8rxZeOmnszAgNkbglEREd+6BBx7Al19+iTlz5uDcuXM/ul1dXR2efPJJ/PGPf8TMmTN9mDCIOKxQtNVC0V4Hid3itxgSpwPyDj3kHXq4pArYo7SwRSXDJVf5LRPducbGRmzevBkbNmxAdbVnUznHjBmD/Px8zJgxAyEhvOiJKBh1Gk2ovlqHWn09rur0qKnVoU7fgJraOlzV1aNWp4e+ocmjCwwC2akT37FE7CNy3syAKCCJ67s6EREREV1P4hLbu3giIiIi6mEyW1F5tRFhUjuSVZ3+jkNEImCyy7CvNsrfMfqNupoK7Pl8Hf72+WaYLe6VwcLDQjHvxefws4J5SE3WCpSQgpHdJcFVewxiI5X+jkJ0g87OTrz00kvYuXNnn9vm5+fjt7/9LeRyzkgAAInNBEVrDeTtdZC4nP/6P1wInJFhEins4QmwxaTCqQz3dxpyQ2lpKYqKirB161aYzWa391cqlZg6dSoKCgowfvx4ARKSt5gsDnSarMgIafN3FPITk9ncMzX4hgnCunrU1Tf0fO0vwkJD8NQTT2LSM0uRljHc33H6jeRwK0YN4OeYRIHisjkKDpcEQ9M1kMnY8iciIiISI5aIiYiIiETMZLah8moDS8RE5DU2pwRf13C6rS8lhNqQ5KrEmuKteG/tRrS2t7u1v1QqxdQHJ+P/+cVSZGdlCpSSgglLxBTIXC4X3nvvPbzzzjtwOp29bvvggw9i7dq1iInpvz+XJA4rlM2XIe/QA0HzMa8E9ogEWOMy4JJzEm2gslqt2L17N4qKirB3716P1lCr1Zg5cyYWLVoErZYXNAUDlojFraW1DRVV1T3l4Fp9A+rqG3qeq6nVob1DPJ8duXNXlx8anJ6KBbOex8I50yENjcMhXaSX01Fv0qIsGB5j9HcMIrqmu0Q8JF0DOUvERERERKLEEjERERGRiBnNVlRxEjERedk/a2JgdQbKWEPxS4+0YFhs1wnUtvYOFG3djt+vKEStvt7ttSbkZOONpQvw5CMPeDsmBRGWiCkY/P3vf8eSJUvQ3seFE4MGDcKmTZswfHg/mw7ockLRVgtFSwUkToe/09y+6yYjuyRS2KNTYItNg0si82ss+pf6+nps2bIFa9euRV1dnUdrjBkzBgUFBXj22WehUCi8nJCExBJxcLJYrWhqMdw8NVhfj7prz1VfrYXdHkQ/L/oQolJBq0lERmoKtOoEaNWJUMrlOHXuIr45eBht7R1urymVSvHAxPFYtmAOnnj4J5BIun5g8UJa3xsZZ8TACPfuxENEwuEkYiIiIiLxY4mYiIiISMRMZisqWSImIi87oo9Ei4W3j/eVUXFGJP/gBKrFasW2v+7G/yxfjYuXK91ec+zokXhlYR5mPfMkZDIWt/oblogpWJSXlyMvLw9VVVW9bhcREYGVK1fi8ccf91Ey/5KaDVA1nIfUZvrXk9eVc4ONSx4CS/xQOMLi/B2lXystLcWqVauwfft22Gw2t/dXqVSYNm0ali5dilGjRgmQkHyBJeLAYzKbbzk1+PrCsL6xqc/p/cEkNjoKGnUCktSJGJQ2ENrEBCSpE3oepyRpEBUZAQBwOp3454HDWLdpG7bv/hIOh/tF6ajICEyf9jheWzgXw4dk3HKbb2qiYXGyOOcrOep2xKns/o5BRNewRExEREQkfiwRExEREYkYJxETkRDKm8NR08Hyoa+MV7chRnXrk+FOpxO7vtqLX7+7CkdPnnJ77Yy0gVg2fw4W5U1HiEp1p1EpSLBETMGkubkZCxYswL59+3rdTiKR4NVXX8Uvf/lLSKUiPbHtckFhqILSUAWI8CNde1QSrAPugksi0j+/AGSxWLBjxw6sWLECp0+f9miN9PR0zJ07F3l5eYiLYxE82LFE7FstrW09U4O7ysFdReHu5y5XXoGhrfeJ/MFEqVBgQGxMzwTh7qJw99eM1BSkJGuhkPd9wWpbewe2/WUXlq/biHMXL3uUZ+jgQVgydybmz3oe4WGhvW57VB+BZgsnq/vKT5JboZKJpxhPFOy6S8RD0jSQy/mwEKQmAAAgAElEQVRanYiIiEiMWCImIiIiEjGT2YbKqw0sERORV1W1h+BcS+8nWcl7HkgxQCnt+637gSMl+N2f12Hnl9+4fQx1wgAszpuJVxfNRUxUpAcpKZiwREzBxm6349e//jWWL1/e57bTpk3DBx98gLCwMB8k8x2JzYSQhrOQmsVd7HMqI2BJHAGnMtzfUUStrq4OGzduRGFhIZqamjxaY/z48SgoKMCTT/KuBmLCErF3WG02NDa3XJsgfN3UYH096q49d6WmFp1GU9+LBYkQlQpaTeJNU4Ovfy5tYPIdX+hz4fsKrCzagg8//hwdnUa395dKpZj64GS8sjAPD95/LySS2xvjf7YlDFfaedGlLyikLjyYYvB3DCK6Tk+JOF0DOScRExEREYkSS8REREREIsZJxEQkhFaLHIf0LJr6QrjCifu1rW7tU1p+Du+u+RAf79gJu9292/lGRoQjf8Yz+PeXFyBZo3ZrXwoeLBFTsPrkk0/w+uuvw2w297pdZmYmiouLkZaW5qNkwpKaWxGqPw04bP6O4hMuiQxW9UjYwwb4O4roHDp0CGvWrMHOnTtht7t/m/iIiAg899xzWLx4MYYPHy5AQvI3loj7ZrZYUKerv2lq8PWThK/U1MLhcO91eCCLjY7qmRasVSdAq75xknBGeqqgFyJ2333lg8JN+PrbQ/DktGZifBzyZzyLgrkzkZaS5Pb+dZ1KlDXxAhdfSAi1ITuhw98xiOg63SXioekayFgiJiIiIhIlloiJiIiIRMxktqKSJWIi8jKXC/jn1RjYnLc3tYk8lxppxohYzyaUVVRV473CYhRu/hSmPgp3P6RUKDB92lT8n1cWY9hdGR4dnwIXS8QUzI4ePYr8/Hzo9fpet4uLi0NhYSEmT57so2TCkHfooao/B6CffYQrkcA6YAhsUe4XvehGHR0d+Oyzz7B27VqcPXvWozUyMjIwZ84c5OfnIyYmxssJKZD09xKxyWzumRp8wwTha0XhOl09dA2NHpVYA1VsdNQNU4OvLwdrE7umB4eH+ecuNIa2dhRv24Hla4tQVVPr0RrZWZlYNPsFzH7+KYSGhHicxeqU4JuamP7209gvRsSakBrp3vtXIhIWS8RERERE4scSMREREZGIcRIxEQmltCEcOhMLiELLTuhAQuidTZ6sb2zGqqIt+PP6TWg2uDfVuPt2v2+/vgS5Y7PuKAcFDpaIKdjpdDrMnTsXx48f73U7uVyOt99+G6+99pqPknmX0nAFiubL/o7hV7bogbAOyADAC5fcVVFRgeLiYhQVFcFgcP+28FKpFJMmTcLixYvx6KOPQiLhn0F/IOYScUtr27VpwV3l4O6pwd3P1dTq0N4hns9NQlQqaDVdReAkdUJPMbi7MJykTkBqShJkMpm/o97kxKkzWLNpGz767K8wmtwvkyoVCjz16INYOGc6Hpp0n9dyHdRFod0aeL9fYnO/thXhCqe/YxDRdbpLxEPSNZCzRExEREQkSiwRExEREYkYJxETkVBqOpQob+btXIUkgQsPprRCLvXO2/aOTiM2bPkMf1q9AdW1Orf3n5CTjTeWLsATD/+ERaIgxxIxiYHFYsG///u/46OPPupz2+nTp+Pdd9+FSqXyQTLvULRUQtlS6e8YAcEenQzLgCH+jhEUnE4n9u/fj9WrV2PPnj0eTUuNiorCzJkzsWTJEqSlpQmQkgJZMJaILVYrmloMN08N1tej7tpz1VdrYbc7/B3Va7oLwhmpKdCqE6C9NjX4+knC2sSEoHrNbrXZ8Nd/fI11m7bhq/3febSGJjEeeS88jZfnzUKKVuPlhMAFQygq2jyfZkx9C5E5MSXZvQtfiUh4nERMREREJH4sERMRERGJGCcRE5FQLE4p9l6NgssVPCemg018qA3jEjq8vq7VZsPWv+zC7/68DmcvfO/2/lkjh+H1gp/ixaefhFzOSVzBiCViEpOioiK89dZbsNl6n9qem5uLoqIiJCYm+iiZ5xSt1VA2uf/9WcxsMWmwxg3yd4yA1dbWhu3bt2PlypW4ePGiR2sMGTIE8+bNQ15eHsLCwryckIJFoJWITWbzLacGX18Y1jc2wekUz9TS2OioW04N7n6ckqRBVGSEv2N6ja6+EcWf7MCKDZtRU6f3aI3srEwsWzAHM59+Agq53MsJ/8VgkeOwPlKw9QlIjbRgRKzR3zGI6AdYIiYiIiISP5aIiYiIiESMJWIiElJJQwQaTAp/xxCtMfGd0IRZBVvf5XJh55ff4LcfrMN3x064vX/awGS8tnAuFsx+AWGhnMgVTFgiJrE5cOAA5s+fj8bGxl6302q12LhxI7Kzs32UzH3ydh1UDef8HSMg2eIyYI1J9XeMgHLx4kWsX78emzZtgtHofulKJpPh4YcfRkFBAaZMmSJAQgo2viwRt7S29UwN7ioHdxWFu5+7XHkFhrZ2wXP4ilKhwIDYmBumBSepE3u+ZqSmICVZK2gJNpCUlJXj/cJibN2xCza73e39VUolXnjqMby++KcYkzlcgIS39m1dFDptvJBSKBM0bYhUimdqOJFYdJeIh6RrIGeJmIiIiEiUWCImIiIiEjGWiIlISHqjAicbxTMFK5AopS5MSTZA6qNBzweOlOB3f16HXV/tdfvW5wkD4rAk/0UsWzAHcTHRAiUkb2KJmMSooqICeXl5OHv2bK/bqVQq/OEPf8CLL77oo2S3T2ZsRojuFAB+XPtjLIkjYI9Q+zuGXzmdTuzZswdr1qzBvn373P65DQDx8fGYPXs25s+fj5SUFAFSUrDyRonYZrejoan52gTh66YG6+tRd+25KzW16DSavJjcv0JUKmg1iTdNDb7+ubSByZBK+3fxymK14m97/ol3V3+IwyWlHq2RpE7Egtkv4OV5sxAfF+vlhH2raAvBBUOoz4/bH0QqHJigDYwp6ER0I04iJiIiIhI/loiJiIiIRMxktqKSJWIiEogLEnxzNQpWB08geFtqpBkjYn1frCg/dxG/X1no0USwiPAw/HTms/hZwTykJmsFSkjewBIxiVVnZydefvllfPHFF31um5+fj9/+9reQB8jER4nNjNDa45A4bP6OEtBcEhnMydlwKsP9HcXnGhsbsXnzZqxfvx41NTUerTFmzBjk5+djxowZCAnhXQToZn2ViM0WC+p09TdNDb5+kvCVmlo4HOKZJBobHdUzLVirToBWfeMk4Yz0VMRERfo7ZkCr1ddj3aZPsPLDj9DY3OLRGhNysvHKwjw8/djDkMv9NwnY4pBi79UouOCjqz37kRGxJqRGmv0dg4hugSViIiIiIvFjiZiIiIhIxDiJmIiEdtEQisttLKF4kwTARG0bwhX+K19U1dRi9caPsWbjVrS2u3cbaYVcjhlPP443Xl6IkcPuEigh3QmWiEnMXC4X3nvvPbzzzjtwOp29bvvAAw9g3bp1iImJ8VG6W5O4nFBdLYHM2uHXHMHCKQ+FOWUcXNLAKIALrbS0FEVFRdi6dSvMZvfLVUqlElOnTkVBQQHGjx8vQEISC7PZjKortTh/8RJcLZX/miB8rShcp6uHrqHRo+nXgSo2OuqGqcHXl4O1iQlITUlCRHiYv2MGrQNHSvBBYTF2/P1L2O3uv7eJjAjHjKefwLJ5s5E5fIgACT1T1hiOOiNfR3uTXOrC5KRWKKTi+f5CJCbdJeIh6RrIWSImIiIiEiWWiImIiIhEjJOIiUhoNqcE+2ujYXNyEpO3aMOtyBoQGN+z29o7ULR1O37353Woq29wa1+JRILHH5qCVxbm4aFJ9wmUkDzBEjH1B//4xz9QUFCA9j4uhBg0aBA2bdqE4cOH+yjZzVSNFyBvq0XXZST8qPZ22MPjYVGP8ncMwVitVuzevRurV6/G4cOHPVpDrVZj5syZWLRoEbRa3iGgvzMYDKiqqkJdXR30ej10Oh30ej0qKyuh0+lw9epVdHSI50KGEJUKWk1XEThJndBTDO4uDCepuwrCMpn/JtqKVUenER9v/wJ/3vARTp+74NEag9NTsWDW81g4Zzpio6O8nPDOddpkOFAXxZ/YXjQ42oy7on1/Jx4iuj2cRExEREQkfiwRExEREYkYJxETkS9cMoTie04j9gqJBJioaUW4ovfpmb5msVqx7a+78T/LV+Pi5Uq398/OysSyBXMw65knWdYIACwRU39x5swZ5OXlobKystftwsPDsXLlSjzxxBO+CXYdmdmAkNqTPj+uGFjUmbCHJ/g7hlfV19djy5YtWLt2Lerq6jxaY8yYMSgoKMCzzz4LhULh5YQUaCwWC1paWm4oBOv1+p6ycFVVFWpqamC32/0d1Wu6C8IZqSnQqhOgvTY1+PpJwtrEBEgkvMjRl76vvILCjz5F4eZP0GxodXt/qVSKByaOx7IFc/DEwz8J+D+/sqZw1HXytbQ3yCUuTE7mFGKiQMZJxERERETixxIxERERkYixRExEvmBzSrDvajTsrsA+0RsMksKtGB0gU4hvxel0YtdXe/Grd1fi2MnTbu8/OD0VS+fNxqK86QhRqQRISLeDJWLqT1paWrBgwQLs3bu31+0kEgleffVV/PKXv4RU6qMT4y4nQmuOQWoz+uZ4IuOSKWEamAuXVO7vKHestLQUq1atwvbt22Gz2dzeX6VSYdq0aVi2bBkyMzMFSEj+YDabodPpbpoafP3jhoYGOJ2BdfHZnYiNjrrl1ODuxylJGkRFRvg7Jl3jdDrxzwOHsW7TNmzf/SUcDofba0RFRmD6tMfx+qK5GHZXhgAphdFpk+KALho8w3rn7oo2YXC02d8xiKgXLBETERERiR9LxEREREQiZjLbUHm1gSViIhJcZbsK51vC/B0jqMkkLkzUtiFUHhxFkANHSvC7P6/Dzi+/cXtfTWI8Fs2ZgVcXzUVMVKT3w1GvWCKm/sbhcOBXv/oVli9f3ue2jz32GFatWoXISOG/NymaL0NpuALABYAX4ty+f/1+2aOSYIkf6t84HrJYLNixYwdWrFiB06fdvzAHANLT0zF37lzk5eUhLi7OywlJSAaD4Zbl4O7ScGVlJVpb3Z/mGqiUCgUGxMbcMC04SZ3Y8zUjNQUpyVoo5MF/UUB/0NbegW1/2YXl6zbi3MXLHq0xdPAgLJk7E/NnPY/wsFAvJ/SNM81hqO7ghZF3IlTmxARtG+ScQkwU0LpLxEPTNZCxRExEREQkSiwRExEREYkYJxETka+4XMAhfRTarDJ/Rwlaw2OMSIuy+DuG206ePovla4uwZftOt6ePRUVGYO70p/HG0oVIUicKlJB+iCVi6q8++eQTvP766zCbe592l5mZieLiYqSlpQmWRWIzIazmKOAKjgtHApcE5pRxcCiDZzJpZWUlNm7ciOLiYjQ3N7u9v0QiweTJk5Gfn48nn3wSMhlfewUSm82GpqYm6PV61NXVQa/Xo6qqquexTqdDdXU1jEbxTCAPUamg1STeNDX4+ufSBib7bso7CebC9xVYWbQFG7Z8hk6jye39pVIppj44Ga8szMOD998LiSS4L6CxOyU4UBcFs4N/tz01NqETiaFWf8cgoj6wRExEREQkfiwRExEREYkYJxETkS+1W2X4Th8Jlyu4Twb7Q7TKjvGJ7Qjm8+gVVdV4r7AYhZs/hamPgt4PqZRKvPDUY/i/rxZg6OBBAiWkbiwRU39WVlaGOXPm4OrVq71uFxcXh8LCQkyePFmQHKqGc5C36wRZu79xhMfDrB7l7xh9OnToENasWYOdO3fCbre7vX9ERASee+45LF68GMOHDxcgIfXFYrGgrq7uhqnBP5wkXF1d7fZFVYEsNjqqZ1qwVp0ArfrGScKD0gYiNjrK3zFJQE6nE7u+2osPCjfh628PwZNTionxccif8SwK5s5EWkqSACn9R29U4GRj8FzIEkg0YVaMiednlUTBoLtEPCRdAzlLxERERESixBIxERERkYhxEjER+doFQygq2kL8HSOoSODCfZp2RCrFUTipb2zGqqIt+KCwGC2tbW7t2z2d7D9+9hJy7h4tUEJiiZj6O51Oh7lz5+L48eO9bieXy/H222/jtdde8+rxu6YQH+ka4+8CEMQXkAQKc/I4OFSR/o5xk46ODnz22WdYs2YNzp0759EaGRkZmDNnDn76058iOjraywmpm9lshk6nQ1VVFXQ63U2PdTod6uvrPSpQBqqYmBikpaVBo9FAo9EgLS0NcQMSER07ANkp4UhNSUJEeJi/Y5KfGNraUbxtB5avLUJVTa1Ha2RnZWLR7Bcw+/mnEBoi3veIJxsjoDcq/B0jqCikLkzUtkEl4x0ZiIJBT4k4TQ25nHfBICIiIhIjloiJiIiIRIyTiInI11yQ4Kg+Ai0Wub+jBI0RsUakRlr8HcPr2js68eHHn+OPq9ajpk7v9v4TcrLxxtIFeOLhnwT9rY4DDUvERF0TRd944w1s3ry5z21feOEFvPvuuwjxUgGKU4i9zxE2AGZN4Fx8cvnyZWzatAlFRUUwGAxu7y+VSjFp0iQsXrwYjz76KH8O3iGDwYCqqirU1dXdcoJwbW0t2tvb/R3Ta1QqFbRaLdRqNTQaTc/X9PT0nscDBw6ETHZzCchkcaDTZEVGiHsXgpF4nDh1Bms2bcNHn/0VRpN7dxcBAKVCgacefRAL50zHQ5PuEyBh4LE5JfhOFwmTncW62yEBMDaxAwkhNn9HIaLbxEnEREREROLHEjERERGRiHESMRH5g9khxSFdJCwOnljoS1K4FaMHiPv7s9Vmw9a/7MJvP1iLcxcvu73/mMzheG1xPl58+klOvPESloiJ/qWoqAhvvfUWbLbeiyw5OTkoKiqCWq2+o+NJHFaEXTkEuJycQuxlpoG5cCr8NzXV6XRi//79WL16Nfbs2ePRxNqoqCjMnDkTS5YsQVpamgApxcVisaClpeWGQrBer+8pC1dVVaGmpgZ2u93fUb2muyCclpYGtVp9Q1m4uySsVqs9Lp6zRNw/WW02/PUfX2Pdpm34av93Hq2hSYxH3gtPY+n82UjW3NnPymDUbpXhsD4KDp5x7dPgaDPuijb5OwYRuaG7RDw0XQMZS8REREREosQSMREREZGIsURMRP5isMhxVB8J3pz0x0UqHBivaYdM0j/eljudTuz6ai9+8/5aHDp+0u3901NT8OqCPCyc84Kob4fsCywRE93o4MGDmDdvHhobG3vdTqPRYOPGjRg3bpzHx1IYrkDZ7P4FFdQ3W0wqrHEZPj9uW1sbtmzZgtWrV6OqqsqjNUaPHo158+Zh+vTpCA0N9XLC4GQ2m6HT6W6aGnz944aGBjid4nm1GRMTc8upwd2Pk5OTERkZKWgGloj7F119I4o/2YEVGzZ7dOcQAMjOysSyBXMw8+knoJD377vR1HYqcaop3N8xAtqAEBvGJXSAA/aJggtLxERERETixxIxERERkYixRExE/lTToUR5M0+i3kqIzIVcdRtC5eIpvrjjwJES/O7P67Drq71uT2pMGBCHJfkvYtmCOYiLiRYoobixREx0s4qKCuTl5eHs2bO9bqdSqfD73/8es2bN8ug4odVHILUZPdqXeueSKWBMnQBfNZMuXryI9evXY9OmTTAa3f8zlclkePjhh1FQUIApU6YIkDBwGQyGW5aDu0vDlZWVaG1t9XdMr1EqlYiNjb2pHNz9Ky0tDcnJyVAoFP6OyhJxP1FSVo73C4uxdccu2DyY1K1SKvHCU4/hZwXzkDVymAAJg9cFQygq2njB461EKuzIUXdAIeVpaaJg010iHpKugZwlYiIiIiJRYomYiIiISMRMZisqWSImIj+qalfhXIv/bi0eiJQyF3IT2xGucPg7it+dPncBf1i5Hh/v2Am73b3fj4jwMPx05rP4+ZL5GJikESihOLFETHRrnZ2dWLp0Kf72t7/1uW1+fj5+85vfuFX6k5pbEVp74k4i0i25AHQVh83q0XCEDxDsSE6nE3v27MGaNWuwb98+ty+EAYCEhATMmjUL8+fPR0pKigAp/cdms6GpqQl6vR51dXXQ6/WoqqrqeazT6VBdXe1R6TpQqVQqaLXaW04Q7v6ampoKqTQ4CjcsEYuXxWrF3/b8E++u/hCHS0o9WiNZo8b8Wc/j5XmzEB8X6+WE4nGmOQzVHSp/xwgoYQonchPboZL1z4toiYIdJxETERERiR9LxEREREQiZjLbUHm1gSViIvKr79tCcMnAW3MDgFziQo66HVFKFoivV1VTi3fXfIgNWz5Dp9Hk1r5KhQLTp03Fm0sXYcTQwQIlFBeWiIl+nMvlwnvvvYd33nkHTmfvRZeJEydi/fr1iI+Pv621lY0XoWi76o2Y9CPsEWpYEkd4fd3GxkZs3rwZ69evR01NjUdrjBkzBvn5+ZgxYwZCQoJvSqXFYkFdXd0NU4N/OEm4uroaDod4XuPExMTcUAjWarVIS0u74XFMTIy/Y3oVS8TiU6uvx7pNn2Dlhx+hsbnFozUm5GTjlYV5ePqxhyGXy7ycUJzKm8NR08HX2gAQKnMiR93eb+/CQyQGLBETERERiR9LxEREREQiZjRbUcVJxEQUAL5vDcGl1v5dJFZKXchO7EC00v1bBvcXjc0tWLHhI6zYsBlNLQa39pVIJHj8oSl465VFuO+esQIlFAeWiIn6tmfPHhQUFKCtrfci3aBBg1BcXIwRI/ouroZWH4HUJp4JrAFJpkBn2gR0Tya+U6WlpSgqKsLWrVthNpvd3l+pVGLq1KlYsmQJcnNzvZJJCGazGTqdDlVVVdDpdDc91ul0qK+v92jycqCKiYlBWloaNBoNNBrNDY/VajUGDhyI8PBwf8f0OZaIxePAkRJ8UFiMHX//0u07fgBAZEQ4Zjz9BJbNm43M4UMESChuLhdwujkctZ39+/V2qNyBnMROhMrFc4EJUX/EEjERERGR+LFETERERCRiLBETUSCp7VTidFMYXF4q9gSTMLkT4xI7EMaTp7el02jCls//hj+s2oBLFVVu7z8hJxtvLF2AJx7+CSSS/vf3rS8sERPdnkuXLmH27Nm4dOlSr9uFh4djxYoVePLJJ390G4ndgrAr33k7It2CKfkeOFURHu9vtVqxe/durF69GocPH/ZoDbVajfz8fCxYsOC2J1ULxWAwoKqqCnV1dbecIFxbW4v29na/ZvQmlUoFrVZ7wwRhjUaD9PT0nscpKSmQy+X+jhqQWCIObh2dRny8/Qt8sGEzys9d9GiNuwalYf6Lz2HhnOmIjY7ycsL+pz9fTBujsmNsfAeUMp6GJgp2LBETERERiR9LxEREREQiZjJbUckSMREFkGaLAicbwmFz9p9iJ0+ees7pdGLXV3vxzp9W4njpabf3zxw+BMvmzUbe9KehUrIw240lYqLb19LSgoULF+Kbb77pdTuJRIJXX30Vv/zlLyGV3nxiXd6ug6rhnEAp6XrWuAzYYlLd3k+v1+Pjjz/G2rVrUVdX59Gxx4wZg4KCAjz33HOCl1QtFgtaWlpuKATr9fqesnBVVRVqampgt4vnDgjdBeG0tDSo1eobysLdJWG1Ws0LiO4AS8TB6fvKKyj86FOs27QNLa3u/9lJpVI8MHE8li2Yw4vwBKAzKnGqKRzOfvR2UB1mw+gBHZDxrxKRKLBETERERCR+LBETERERiRgnERNRIOq0yVDaGI52m8zfUQQ3MMKC4bFGSHny9I4dOFKC3/15HXZ++Y3b+2oS47Fozgy8tnguoiMjvR8uyLBETOQeh8OBX/3qV1i+fHmf2z766KNYvXo1In/wvUZVfxbyDr1QEek6jrA4mDVZt719aWkpVq1ahe3bt8Nms7l9PJVKhWnTpmHZsmXIzMx0e/9bMZvN0Ol0N00Nvv5xQ0MDnE6nV44XCGJiYm45Nbj7cXJy8k3/rsj7WCIOHk6nE/88cBjrNm3D9t1fwuFw/44n0ZGReGHaVLy+aC6G3ZUhQErq1mKR41RTOEx2cZfvJHDhrmgLMqJN/o5CRF7UXSIekq6BnCViIiIiIlFiiZiIiIhIxFgiJqJA5XQBl1pDUdkWAjG+KVXKXMiM60RiqPtlJOrdiVNn8N66jdiyfafbZYmoyAjMnf403ly2CNrEBIESBj6WiIk88+mnn+K1116D2WzudbuRI0eiuLgY6enpPc+FXj0GqaVD4IT9nAuABHDJVTCm3tfrphaLBTt27MCKFStw+rT7k+4BID09HXPnzkVeXh7i4uJuez+DwXDLcnB3abiyshKtra0eZQpESqUSsbGxN5WDu3+lpaUhOTkZCoXC31EJLBEHg7b2Dmz7yy4sX7cR5y5e9miNYXdloCBvBubPeh7hYaFeTkg/xu6U4GxLGGo7xfkaPETuxJgBHYhRuV9oJ6LAxhIxERERkfixRExEREQkYiwRE1GgazTJUd4cDrNDPCch4kNtGBVnhEomnumAgehyVTXeLyzGuk2fwGyxuLWvSqnEC089hrdfW4IhGenCBAxgLBETea6srAx5eXmoqanpdbvY2FgUFhZiypQpAFwIq9gPiYs/F3zFmH4/XFL5Tc9XVlZi48aNKC4uRnNzs9vrSiQSTJ48Gfn5+XjyySchk/3rrgo2mw1NTU3Q6/Woq6uDXq9HVVVVz2OdTofq6moYjcY7+m8LJCqVClqt9pYThLu/pqamQioVz+s8sWOJOHBd+L4CK4u2YMOWz9BpdH/Kq1QqxdQHJ+OVhXl48P57IZHwVin+UtupxNmWMNid4vkzSA63YHisCXIpTzkTiVF3iXhougYyloiJiIiIRIklYiIiIiIRY4mYiIKB3SnB5bYQVLWHwBnE71BD5U4MizFCHcbpw76kb2jC6o0f4/11G2Foa3dr3+4yxS9/9jLuuXuUQAkDD0vERHdGp9MhPz8fx44d63U7mUyG//iP/8DrLy9GWPVhH6UjADAnj4NDFdnzvw8dOoQ1a9bgiy++cHuKPQBERETg3/7t3/DII49ApVLdcpJwdXW1R74v988AACAASURBVGsHqpiYmBsKwVqtFmlpaTc8jomJ8XdM8jKWiAOL0+nErq/24oPCTfj620Pw5HReYnwc8mc8iyX5LyI1WStASvKExSHFxdYQ1HaogvrOPJFKB0bEGhGrsvs7ChEJiJOIiYiIiMSPJWIiIiIiEWOJmIiCidEuw/mWENSbgqvYKJe6MCjSjPQoM6TiGSYVdNo7OvHhx5/jDyvX46pO7/b+E3Ky8cbSBXjykQcESBdYWCImunMWiwVvvPEGNm/e3Oe20595Cqt/8SJCVfw35yuWxBEwIByfffYZ1qxZg3Pnznm0jkqlgkKhQGdnp0flvUAVExODtLQ0aDQaaDSaGx6r1WoMHDgQ4eHh/o5JfsAScWCob2xG0dbPsXrjx6iqqfVojeysTCya/QJmP/8UQkNCvJyQvKXNKsPZljAYLDdPzw9kSpkTQ6JNSI6wgm+BicSPk4iJiIiIxI8lYiIiIiIRY4mYiIKRwSJHZXsI6o2KgJ7KpJS6MDDCgtRIC5Qy3qI+UFhtNmz9yy785v21OH/pstv73z1qBF5dNBeznrnxNvViwhIxkfcUFRXhrbfegs3W+xT6scMz8Mnv30KKOt5HyfqvS9V1KPzHcWzYuh0Gg8HfcXxKpVJBq9XeMEFYo9EgPT2953FKSgrk8uAqq5HvsETsXydOncGaTduw+dO/wmQ2u72/UqHAU48+iFcW5mFCTrYACUkojSYFKtpC0BzgZeJQmROpUWakhFshlwbyu3Ui8iZOIiYiIiISP5aIiYiIiESMJWIiCmZGuxQVbaGo7VTCGUDvXEPlTqRHWpAcYYFMEkDB6Abdt3/+3/fW4HBJqdv7D0obiFfmz8HCOS+IbnobS8RE3rVv3z4sWLAAzc3NvW6nTYjDN4W/Qpo20UfJ+p8l76zAh3/5yt8xBBEbG9tTAtZoNEhKSkJSUhI0Gg2Sk5Oh0WgQGxvr75gU5Fgi9j2rzYa//uNrrNu0DV/t/86jNTSJ8ch74WksnT8byRq1lxOSL7VZZahoC4HepIDLFTgzfiMVDqRHmaENt0ES0Jf6EpEQekrEaWrI5eK82JqIiIiov2OJmIiIiEjEWCImIjGwOyXQmxTQGZVoMsv9cjJVKXVBHWaFNtyKGJWdt2wNMgeOlOB3f16HXV/tdft29InxcSiY+yJeWZiH2OgogRL6FkvERN5XVVWFGTNm4OLFiz+6zSP33Y0d7/4HZFJO7xLK8s1/w1vvfujvGG6LiYm55dTg7sfJycmIjIz0d0zqB1gi9h1dfSOKP9mBFRs2o6ZO79Ea2VmZWLZgDmY+/QQUnDAuKlaHFDqjAnVGFQwW/xT2QuVOqMOsSAqzIlLp8EsGIgoMnERMREREJH4sERMRERGJGEvERCQ2VocE9UYlmi1yNJvlsDiFOXkhARChdCBOZUN8iB0DQuyQcOpw0Dt19jz+uGoDPt6xE3a7eyfCIyPCkT/jGfzipflI0WoESugbLBET3TmdToeTJ0/iyJEjOHToEE6ePAmLxfKj2w9O0eBg8e8QHRHmw5T9j6G9E0kP5cMZIB95K5XKngnC15eDu3+lpaUhOTkZCoXC31GJALBE7AslZeV4v7AYW3fsgs1ud3t/lVKJF556DD8rmIeskcMESEiBxmSXot6kQLNZjhaLAjanMJe0SuBCtMqBWJUdCaE2xKrc//tJROLUXSIemq6BjCViIiIiIlFiiZiIiIhIxExmGyqvNrBETESiZbRJ0WyRo80qh9EuRaddBotd6tYNVmUSIEzuQJjCiTC5AzEqO2JVdiikfLssVpXVV7F8bRHWf/QpjCazW/sqFQpMnzYVby1bjOFDMgRKKCyWiIncY7PZcObMmZ6y8KFDh3DlyhW31lj+1mIUPP+oQAnpeokP5KGtwyj4cVQqFbRa7S0nCHd/TU1NhZSTpymIsEQsDIvVim1/3Y3la4pQWn7OozUGpQ3EotkvYP6s5zEgNsbLCSlYuAB02ORoMcvRbpPBaJPCaJfB7HCvWCyXuhAmdyL82vvgWJUdMSo7ZLxwlohugZOIiYiIiMSPJWIiIiIiEeMkYiLqj5wuwGSXwe6SwO6UwO7sKk26XIBMCsgkLsilgFzihELqQqjc6e/I5CeNzS1YseEjrNiwGU0tBrf2lUqlmPrgZPyfVxfj3nF3C5RQGCwRE/XO3SnDt+Otec/h/3t5lpcSUm+0D+Wjpa3jjteRSqWIjIxEYmIiBg0ahLvvvhtZWVlISkpCWloaYmJY4iPxYYnYu2r19Vi36ROs/PAjNDa3eLTGhJxsvLIwD08/9jDkcpmXE5JYOFwSmOxS2J0SOFwS2JwSOF1d743lUkAmdXW9D5a4oJK5oJLxPTAR3T5OIiYiIiISP5aIiYiI6P9n787DmyzwtfHf2Zpu6UYXFqUFCi0tbdqUNoHquIwIc3QEFZUdZEcRd+ec8/5mznve857jmdGfjiiyyL6IoCjjcRkYnXEDm5amTUvLUpaWtRstXbMn7x/YCMjShDxJ+/T+XBeXUvI83y9c0CbN/dwPiRhDxERERDfX0WnC+vc/wp/XbMSps+c9Pn5srgYvPz0PD9x3NyQSYW4v7EsMERP9zG63o6Kiwh0W1uv1qKmp8fmcu0aPwp6V/+7z89KV2jvNiL97BpwCfcs7IiICI0eOhFqthk6nw5gxYxAfHy/ILKJAYIjYN/YVGvDOui3Y/devYLc7PD5eFR6GJyY9gGfmzkBaSrIAGxIREXUfQ8RERERE4scQMREREZGIMURMRETUfTa7HR/s/hz//8r1qDhc5fHxo1JH4IUlT2LKpAegkMsF2NA3GCKmvuz8+fMoLCxEUVERDhw4gLKysltuGb4ZiUSC7NSh2L/5T4LOIaDyxGmMW/h7XGhp89vM2267DRqNxv1DrVYjPDzcb/OJfIkhYu+1tXdgx+7P8c6GbV49jwSA5CGJmDv1Ucyf8TiiIyN8vCEREZF3GCImIiIiEj+GiImIiIhEzGS2ofpsA0PEREREHnC5XPj7DwV4e+0WfP7VNx4fn3jbQDy7YDbmTpuMsNAQ3y94ixgipr7Cbrfj2LFj0Ov1KCgogNFoxJEjRwSfGxoaioyMDHdb7V3qZAxyNgg+l352yqZC0ckGGI1GGI1GFBUVoampyW/zk5KSkJeXh6ysLKjVamRlZSE4ONhv84m8xRCx545Xn8K69z/C2q070dzi+Z+bVCrFPflaLJ03o9fc1YKIiPoWhoiJiIiIxI8hYiIiIiIRM5mtqGYTMRERkdcMZRV4e90WbP/kczgcnt2OOjYmGk9OfRTL5s9C//hYgTb0HEPEJFb19fUwGAwwGo3Q6/XQ6/Uwm82Cz01ISIBOp4NWq4VarYZGo0FQ0M//vuSdF6CsLRd8D/qZJS4FdtWAKz5WW1t7RaDcaDT65e8HAMjlcgwbNswdKNbpdMjIyIBUyhAG9SwMEXeP0+nEP/bp8fbaLfji62/hzdtskSoVZj4+Ec/On4WkwbcJsCUREZFvdIWIhyf1h5whYiIiIiJRYoiYiIiISMTYRExEROQbx6tP4Z31W7F264cwWyweHasMCsJjD03A/3puCZKHJAq0YfcxRExi0FNahvPz8xEbe+OLBKQ2E0JO6wXfjX5mGpgNZ3DkDR/T9XfIaDSitLQURqMRJSUlsFqtftkxLCwMo0aNcgeL1Wo1UlJS2EJKAcUQ8Y21trVj51++wJ/f24wjx054dY6U5KFYNPOJHnvHCiIioquxiZiIiIhI/BgiJiIiIhKxTrMVNWwiJiIi8pm6hgtYvfkDvL12My62tnl0rFQqxW/u/RV+/8JTyFGPEmjDm2OImHqjhoYGFBcXu1uGCwsLYTKZBJ97s5bhbnG5EFb9PeByCrMk/UJHYj4gU3h8XGdnJ8rKyq4IFh89etSrllFvREZGIjU1FTqdDnl5eRg9evRNQ+pEvsQQ8bUdPX4SKzdtx4btu9DR6fnXnq7ngM/Mn4l779DxYgEiIupV3E3EiQmQy2WBXoeIiIiIBMAQMREREZGIMURMREQkjNa2dmza8Qlef3cdztXVe3z82FwNXn56Hh4cd48A290YQ8TU0zkcDlRVVbkDwwUFBX4JcioUCqSlpUGr1UKn02Hs2LGIi4vzyblDzhRBauXzcX9wyRToTMz32flaW1tRWVkJvV4PvV4Pg8GAhoYGn53/ZhISEtxNxV0N2FFRUX6bT30LQ8Q/czqd+OLrb/HOuq34+w8FXn0Nio+NwewnHsHi2VMxeNAAAbYkIiISHpuIiYiIiMSPIWIiIiIiEWOImIiISFgWqxU7P/0S/718DY4eP+nx8VmjRmLZglmY9vCDkMn80+jDEDH1NK2trSgpKUFBQQGMRiMKCgrQ0tIi+NyucKZWq4VWq0V2djaUSqUgs5T1lZC3e37BAXnOERwF88AsQWfU1ta6m4qNRiMKCwvR3Nws6MwuMpkMycnJUKvV7nCxkH93qW9hiBiob2zCph0fY/XmD1Bz5pxX59BkpmPB9McwffJDCAkO9vGGRERE/sUQMREREZH4MURMREREJGIMERMREflHV1vdq2+tRmFJmcfHD028HUvnzsD8GY8JHjZhiJgCqSe0DGdlZWHMmDEYPHiwoDMvJ289C2Vjld/m9WW2mCGwRiX6fW51dTX0er07XFxaWgqLxeKX2QqFAkOHDnU3FWu1WowYMQJSKUMe5Jm+HCI2lFXgvW0fYttHn8JkNnt8fJBCgYfG34tn5s/E2FyNABsSEREFBkPEREREROLHEDERERGRiDFETERE5H/7Cg14bcVafPH1tx4HIxPi+mHhzCl4Zv5MREdGCLIfQ8TkT21tbTAYDO6WYb1ej4sXLwo+158tw90htZkQclofsPl9iWmQBk6lMJ8/PWG323Hs2DF3oFiv16O8vBxOp9Mv88PDw5Genn5FY3FqaqpfZlPv1ddCxFabDZ/u+TvWbt2Jr7//0atzDIiPw4zHJuLpudMxqH+CjzckIiIKPIaIiYiIiMSPIWIiIiIiETOZrahmiJiIiCggyiqP4M3VG/DB7s9htzs8OlYVHobZTzyMl56a5/NACkPEJJRAtQzL5XKkp6e7W4Z1Oh0SE/3fRHszoaf1kNhMgV5D1FxSOToT8wGJJNCrXFNHRwfKy8vdwWKj0eiXfyNdusL1arUaarUao0ePRmxsrF9mU+/QV0LEtfWN2PLhbqxYvw1na+u8OocmMx1L583AlEkPQCGX+3hDIiKinqMrRDw8qT/kDBETERERiRJDxEREREQixiZiIiKiwKs+dQZvrd2M9e9/hE6TZ7fHDlIo8PjE3+Cfn1mIlOShPtmHIWLylfb2dhw8eBB6vR56vR6FhYVobm4WfG5PaxnuLmXDEcjbzgd6DVGzh8XCkjAq0Gt4pKWlBaWlpe627uLiYjQ2Nvpt/uXBYp1Oh7y8PISEhPhtPvUsYg8RG8oq8Pa6Ldix+wvY7HaPjw9WKjH5t+Px/KInkZmWIsCGREREPQ9DxERERETixxAxERERkYiZzDZUn21giJiIiKgHaLjQhJUbt2PF+q1outji0bFSqRS/ufdX+JdnF0GrUd/SHgwRk7eqq6uh1+tRWloKvV6P8vJyOJ1OQWfK5XIMGzYMOp0OWq0WarUaqampgs4UiszUjODzxkCvIWqW+DTYw+MDvcYtq62tdTcVdzV7X7x40S+zZTIZkpOToVar3eHi3hLUp1snxhCxxWrFzk+/xJ9Xb0RZ5RGvzjEk8XYsmP4Y5k6bjH7RUT7ekIiIqGdzh4gTEyCXywK9DhEREREJgCFiIiIiIhFjEzEREVHP097RiQ3bd+HN1Rtw+lytx8ePzdXg5afn4YH77oZEIvH4eIaIqTuubhkuKipCU1OT4HPj4+ORnZ3tbkXVarUIDg4WfK6/hJ7WQ2IzBXoNUXLJFDANHgOXRHztaA6HA1VVVTAaje5wcWlpKSwWi1/mKxQKDB069Iow/4gRIyCViu/Puq8TU4j4bG0d1m37CCs3vo/GJu9a8sfmavDM/Jl4+Df3QSZjaIqIiPomNhETERERiR9DxEREREQixhAxERFRz2Wz2/HB7s/x+rvrUHnkmMfHZ4xMwfOL52DqpAc9agNiiJiuhS3D/qForkZQc3Wg1xAlW8QgWGOHB3oNv7HZbDh+/Dj0ej0KCgpgNBpRVVUl+L/bLiqVCmlpae7GYp1Oh8TERL/MJuGIIUS8r9CAd9Ztwe6/fgW73eHx8arwMDwx6QE8M3cG0lKSBdiQiIiod+kKEY9I6g8ZQ8REREREosQQMREREZGIMURMRETU87lcLnz+1Td4bcU67C8yeHx84u2D8Oz8WZg3/TGEhty8sZUhYuro6EB5ebm7ZfjAgQO4cOGC4HPj4uKg0WjcLcN5eXkICQkRfG5PIrGZEXpaD4DfkvU1822j4QgKD/QaAdXVIH55Y/GRI0f8Nj8hIQFZWVlQq9VQq9XIzc1Fv379/Dafbl1vDRG3tXdgx+7P8c6Gbag4XOXVOZKHJGLu1Ecxf8bjiI6M8PGGREREvRebiImIiIjEjyFiIiIiIhFjiJiIiKh36WrP+/iLv3ncJhkbE40lc6bh6bnT0S866rqPY4i476mtrXW3lfqrZVgmkyE5OdkdGNZqtUhJSYFEIhF0bm+grKuAvKMh0GuIijM4EqaB2YFeo0eqq6tDSUkJjEYjjEYjiouL0djY6Lf5XcFirVbrbhzvaxcP9Ca9LUR8vPoU1r3/EdZu3YnmFs93lkqluCdfi6XzZuCB++7m1ygiIqJrYBMxERERkfgxRExEREQkYiazFdUMERMREfU6x07WYMWGbXhvy05YrFaPjg0LDcGTUx/F84uexOBBA37x6wwRi1tnZyfKyspgNBqh1+uxb98+vwQGIyIikJ2d7Q4JjhkzBpGRkYLP7Y2k1g6EnDkAthH7jnlgFhzB1794gq5UW1vrbirW6/UoLCyEyWTyy2y5XI5hw4ZBrVa7W4s1Gg2Cgvg1qSfoDSFip9OJf+zT4+21W/DF19/Cm7e4IlUqzHx8Ip6dPwtJg28TYEsiIiLxYIiYiIiISPwYIiYiIiISMTYRExER9W619Y1Ys2UHlr+3GS1tbR4dq5DLMXHCr/Hy0/OhyUx3f5whYnG5vGXYaDSipKQEVg+D555iy/CtYxux7ziCo2AemBXoNXo1h8OBqqoqGI1Gd7i4tLQUFovFL/NDQ0ORkZFxRbCYn1MCoyeHiFva2vDhX77En9/bjCPHTnh1jpTkoVg08wnMnTYZYaFsxCYiIuoOhoiJiIiIxI8hYiIiIiIRY4iYiIhIHFrb2rFpxyd4bcVanK/3PHg4NleDl5+ehwfH3cMQcS8WqJZhlUoFjUbjbhnW6XSIimLr661gG7HvmAZkwRnCv4++ZrPZUFlZiYKCAnewuKqqCk6n0y/zIyIiMHLkSPfnnDFjxiA+Pt4vs/uynhgiPnLsBFZt/gAbtu9CR6fnjdkymQwT7rkTz8yfiV/fOUaADYmIiMStK0Q8PKk/5AwRExEREYkSQ8REREREImYyW1HNEDEREZFoWKxW7Pz0S7z61mpUnaj2+PjsjDQ8PW8W7vztDMRGsYGvp2PLsLgpG49C3nou0Gv0avbweFji0wK9Rp/R1taGiooKd1OxXq9HTU2N3+YnJCS4m4rVajW0Wi2io6P9Nr8v6CkhYqfTiS++/hbvrNuKv/9QAG/exoqPjcHsJx7B4tlTMXjQAAG2JCIi6hvYRExEREQkfgwRExEREYkYm4iJiIjEqStc819/XoWi0nKPj09MGoJFCxdgzpw5UCqVAmxInrq89VOv12P//v1oaPC8ddpT4eHhSE9Ph06nQ15eHkN5fiRx2hFypggSuyXQq/RKLqkcptvz4JKxVT2Qamtr3U3FRqMRRUVFaGpq8tv8hIQE9wUParUaWVlZCA4O9tt8sQl0iLi+sQmbdnyMVZu249TZ816dQ5OZjgXTH8P0yQ8hhH8XiIiIbhmbiImIiIjEjyFiIiIiIhFjEzEREZH47Ss04LUVa/H5V994fGxcXByefPJJLF68GJGRkb5fjq6rK3hXWFiIgoIClJaWwmIRPkyalJSEvLw8ZGVlQafTISMjA1Ip3wgOFHlHI5R1BwO9Rq9kiU2BPYLtoj3R1S3qRqMRZrPZL7PlcjmGDRvmDhTrdDqMGjUKMpnML/N7u0CFiA1lFXhv24fY9tGnMHnxdyVIocBD4+/FM/NnYmyuRoANiYiI+i42ERMRERGJH0PERERERCJmMttQfbaBIWIiIqI+wFhxGH9esxEf7P4cdrvDo2NVKhWmTp2KZ599Fv379xdow77r8pbh0tJSFBQU4NSpU4LPvbplOC8vDzExMYLPJc8o6yog7xC+dVpMHMFRMA/MCvQa1E12ux3Hjh2D0Wh0txaXlJTAarX6ZX5YWBhGjRrlDhar1WqkpKRAIpH4ZX5v4s8QsdVmw6d7/o63127B/iKDV+cYEB+HGY9NxNNzp2NQ/wQfb0hEREQAm4iJiIiI+gKGiImIiIhErNNsRQ2biImIiPqUkzWnsXzdFqzb9pHHbX5BQUGYNGkSXnzxRSQnJwu0ofixZZg8IXE6EHy2GFJbZ6BX6RVcsiCYbhsNlywo0KvQLejs7ERZWdkVweKjR4/CX29XREREYOTIke6LLHJychAXF+eX2T2ZP0LEtfWN2PLhbqxYvw1na+u8OocmMx1L583AlEkPQCGX+3hDIiIiuhybiImIiIjEjyFiIiIiIhEzma2oZoiYiIioT6pvbMKqTduxYv1WNF1s8ehYqVSKcePG4cUXX0ROTo5AG4qD3W5HRUWFOyys1+tRU1Mj+NyuZs2uAFxubi769esn+FwShtTajuCzBkhczkCv0rNJpDANUMMZHBnoTUgAra2tqKyshNFohF6vx48//oj6+nq/zU9ISHA3FavVauh0OkRFRfltfk8gZIjYUFaBt9dtwY7dX8Bmt3t8fLBSicm/HY8XFj+JjJEpPt+PiIiIro0hYiIiIiLxY4iYiIiISMTYRExERETtHZ3YsH0X3li1HmfOe974p9VqsWzZMowfP563fgdQV1eHkpISv7cMJyQkQKfTQavVsmVYpOTtdVDWHwr0Gj2aNXY4bBGDAr0G+VFXs7vRaITRaERhYSGam5v9MlsmkyE5ORlqtdodLs7OzoZSqfTL/EDwdYjYYrVi56df4s+rN6Ks8ohX5xiSeDsWTH8Mc6dNRr/ovhXqJiIi6gm6QsTDE/tDLudrUCIiIiIxYoiYiIiISMRMZhuqzzYwRExERESw2mzY8Zcv8NqKtTh09LjHx48aNQpPPfUUHn30Ucj7yK3D7XY7jh07Br1ej4KCAhiNRhw54l0IyhOhoaHIyMhwN2Hm5+cjNjZW8LkUeIrmagQ1Vwd6jR7JFjEI1tjhgV6DeoDq6mro9Xp3uNhfF3MAgEKhwNChQ92fn7VaLUaMGCGaizp8FSI+WXMa7237EOvf/wgXmi96fLxEIsG9d+gwf8bjePg390Emk93SPkREROQ9d4g4qT/kbCImIiIiEiWGiImIiIhEjE3EREREdDWrw4Vtew9g7ZoVKCws9Pj4xMRELFq0CLNmzUJISIgAGwZOfX09DAYDjEYj9Ho99Ho9zGaz4HMvbxlWq9XQaDQICgoSfC71TEEXjkHRcibQawScC0BX97k9vD8s8amBXId6sK4LProCxXq9HuXl5XA6nX6ZHx4ejvT09Csai1NTe+ff11sNEe8rNOCddVuw+69fwW53eHy8KjwMT0x6AM/MnYG0lGSvdiAiIiLf6goRj0jqDxlDxERERESixBAxERERkYiZzFZUM0RMREREl7G7JDhrj0K0KggFBQVYvnw59u7dC0+/RRQbG4u5c+di4cKFiI6OFmhb4bBlmHoyZeNRyFvPBXqNHsEeGgtLQjogkdz8wUQ/6ejoQHl5uTtYbDQacfToUY+/1nkrMjISWVlZ7otDRo8e3Ss+13sTIm5r78CO3Z/j7fVbUXnkmFdzk4ckYu7UR7Fg5hOIilB5dQ4iIiISBkPEREREROLHEDERERGRiLGJmIiIiK52eYi4S2VlJd5++2188sknsNlsHp0vLCwM06dPx9KlSzFo0CBfr+szDQ0NKC4udrcMFxYWwmQyCT6XLcPkFZcLygtVfT5IbA+PhyUuFZAwrEC3rqWlBaWlpe4LR4qLi9HY2Oi3+QkJCe6mYp1Oh9zcXISGhvptfnd4EiI+drIG67fvwtqtO9Hc4nlzsVQqxT35WiydNwMP3Hc3JLxQgIiIqEfqChEPT+oPOUPERERERKLEEDERERGRiLGJmIiIiK52rRBxl9OnT2PDhg3YsGEDWls9CwQpFAo8/PDDePbZZwN+G3eHw4Gqqip3YLigoMAvDZQKhQJpaWnQarXQ6XQYO3Ys4uLiBJ1J4qa4eApBTScCvUZA2KIGwxozNNBrkMjV1ta6m4q7vmZcvHjRL7NlMhmSk5OhVqvd4eLs7GwolUq/zL+Wm4WInU4n/rFPj7fXbsEXX3/r1dfVSJUKMx+fiGfnz0LS4NtudWUiIiISGJuIiYiIiMSPIWIiIiIiEWMTMREREV3tRiHiLq2trdi+fTveeust1NXVeXR+iUSC+++/H88++yy0Wu2trtstra2tKCkpcbdLFhQUoKWlRfC5Xa2SWq0WWq024OEvEid5RwOC6g9B4nIGehX/kEhgiUmGPbLnNpuTeF1+EUpXuLi0tBQWi8Uv8xUKBYYOHXpFg/2IESMglfonsHO9EHFLWxs279iN5eu2oPrUGa/OrU5PxeJZUzDt0YcQGhLsi3WJiIjIDxgiJiIiIhI/hoiJiIiIRIwhYiIiIrpad0LEXSwWC3bv3o3XX38dJ0543oaqVquxaNEiTJ48GTKZzJt1f6EntAxnZWVhzJgxGDx4sKAzibrILG0Iqq+E1GYK9CqC2wsXdwAAIABJREFUcsmVMMeNhDMkKtCrELnZbDYcP378iq87VVVVcDr9E+xXqVRIS0tzNxZrtVokJSUJMuvqEPGRYyewavMH2LB9Fzo6Pf/8I5PJMOGeO/HM/Jn49Z1jfL0uERER+UFXiHh4Un/IGSImIiIiEiWGiImIiIhEjCFiIiIiuponIeIuTqcTe/fuxeuvv46SkhKPZw4ZMgQLFizAnDlzPG7qbWtrg8FgcLcM++tW82wZpp5G4nJCceE4FK1nA72KIOxhsbDGpsAlUwR6FaKbam9vx8GDB69oLD5y5Ijf5nd9jVKr1VCr1cjNzUW/fv1u+bwmiwNtHWYc3vc/eGfdVvz9hwKvLtJJiOuHWY8/jMWzp2LwoAG3vBcREREFDpuIiYiIiMSPIWIiIiIiETOZrahmiJiIiIgu402I+HIFBQVYvnw59uzZ4/Gx8fHxmDNnDpYsWYKIiIhf/HqgWoblcjnS09PdLcM6nQ6JiYmCziTylry9HsoLxwCHNdCr+IRLKoe13zDYVQwaUu9WV1eHkpISGI1GGI1GFBcXo7Gx0W/zr774Ra1WIyQkpNvHNzY2YtPmrdi4YT3OnfPuYgVNZjoWTH8M0yc/hJDgYK/OQURERD0LQ8RERERE4scQMREREZGIsYmYiIiIrnarIeIuZWVlWLlyJXbt2gWHw+HRsSqVClOnTsX8+fPR0NAAvV4PvV6PwsJCNDc339Je3cGWYertJE47FBdPQdFyBnA5L33QBUAS0LU8Zg9PgLVfMtuHSbRqa2vdTcVdX+dMJpNfZsvlcgwbNgxqtdrdWqzRaBAUdOXXf6PRiE2bNmHHjh0wm80ezwlSKPDQ+HuxbMEsjBmd7av1iYiIqIfoChEPT+oPOUPERERERKLEEDERERGRiLGJmIiIiK7mqxBxl+rqaqxevRqbN2/2KnwktK4QlU6nczczpqamBnotIp+QWjsQdOEYZCbhw/e+5AyOhDV2OBxB4YFehcivLm/c7woXl5aWwmKx+GW+QqFAWloacnNzAQCFhYUoKyvz6lwD4uMwf8bjWDJnKuL6xfhyTSIiIupB2ERMREREJH4MERMRERGJGJuIiagvcwJwOCWwOyVwuCRwugC5FJBKnJBJAIWUL4epb/J1iLhLY2Mj1q1bhzVr1uDixYs+Pbcn4uPjkZ2dDbVa7Q4OB/OW6iRyMms75BdPQ95RD/Tgb/c6gyNhjbwdjrDYQK9C1GPYbDZUVlaioKDAHSyuqqqC0+kM9GrXpMlMx9J5MzB10oOQy2WBXoeILuN0AQ7Xla+BFVIXpBJAJnFBztfAROQFNhETERERiZ880AsQERERERERecvlAtpsMrRZ5eiwS9Fpl6HDdum/zm68PxokdSFU4UCo3IkwuROhCgeilDYEy/jmKpGn2tvbkZSUhIcffhh79+7F2bNnBZ/JlmGiSxxB4XDEj4TNOhiKltOQtddD4uohAUSJFPawWNijBrN5mOgaFAoF1Go11Gq1+2NtbW2oqKhwNxXr9XrU1NQEbEdlUBAee2gCXlj8JDJGpgRsDyK6dLFsi0WOdpsMnTYZOuxSdNhkMNklcEFy0+ODZU6EKpwIkTsQJnciTOFElNKGIAaMiYiIiIiI+iw2ERMRERGJmMlsQ/XZBjYRE5GotFjlaDLL0WyWo9kqh9158zdKPRUidyBGaUd0sB2xIXYopT0kiEXkA75oIu7o6EB5eTn0ej30ej0OHDiACxcu+HDLa4uLi4NGo3G3DOfl5SEkJETwuUS9jcTpgKyzEfL2OshMzf5vJ5ZI4FBGwq5KgCMsDi4puyyIblVtba27qdhoNPrta2+XAfFxyM/TYGyuBprMdGgy0xDCpn8iwblcQLNVjiazAs1mOVqscjgE+LIernAgWmlHTLAd/YJtvHMPEbl1NRGPSOoPGZuIiYiIiESJIWIiIiIiEes0W1FztpEhYiLq9dptMpzvVOB8hxImu3/fsJAAiFbaMDDMhvhQK99MpV7PmxBxbW0t9Ho9CgoKoNfrUV5e7rfbrIeFhWHcuHFYtmwZMjMzIZH4/sIBIlFz2CDvvACZ6SJklouQ2MyCjHHJlXCERMGhjIQjLBYumfcXKhBR93QFiwsLC1FQUACj0QizWZh/41eTy2UYPjQJOZnp0GSkIz9PA3V6KmQymV/mE4ldi1WOcx0K1HUGweIQ4DWwC7hecbEUQGyIFf3DbIgPsUEm4Wtgor6MIWIiIiIi8WOImIiIiEjE2ERMRL2Z0wWc71Cipi0Ibbae0WAolQBxITYMiTAjMsge6HWIvHKzEHFnZyfKyspgNBqh1+uxb98+NDY2+nnLX4qNjcXcuXOxcOFCREdHB3odol5LYjdDZm6B1NoBic0Eqc0Eia0TElc3LwyQSOFUhMApD4ErKBRORSicIZFwytkKThRIBQUFWL16NT777DO/XehztfCwUGSmpUKTmQZNZjpyMtIxcsQwXgBE1E12pwRn2pU41e7/i2evRy51ISHUiiEqC8IUjkCvQ0QB0BUiHp7UH3KGiImIiIhEiSFiIiIiIhFjEzER9UZ2pwRnO5Sobg2G2dFzAwdRSgeGRJgQH2IL9CpEHrk6RHx5y7DRaERJSQmsVqugO0ilUoSHh6OtrQ2efmsqLCwM06dPx9KlSzFo0CCBNiTqeyQOG+C0Q+pywOWw/xQqdsElkUEik8MpkQFSGVwyBa5bXUhEftXe3o5du3ZhzZo1OHz4cKDXuaZIlQrpqcORn6fB2Nxs5GZlIiGuX6DXIupRLA4pTrcrcapNCZuz536NjQuxIVFlQb9gvgYm6kvcIeLEBMjlvOMAERERkRgxRExEREQkYmwiJqLexOkCqltDcLJNCXsPfuP0aiqFHakxJsQo2UxMPV9HpwnF5Yfwj9ITKDcW+61lWKVSQaPRQKvVQq1WQ6fTISoqCqdOncLKlSuxZcsWmEwmj84ZFBSESZMm4bnnnkNKSopAmxMREfU8J06cwNatW7Fp0yZcvHjR4+OlUikyMzORkZGB1tZW/Pjjj6ivrxdg02sbEB8HTWb6Tz/SkJ+Xg+jICL/NJ+opbE4JjreG4HSrEoHpD/dOjPLSa2CVgq+BifoCNhETERERiR9DxEREREQixiZiIuot6k0KHG4OgcneextN4kJsGBndiRB5b3r7l8TuXF099heVYF9hMQxllThQWg6rTdjmMJlMhuTkZHdYWKvVIiUl5Ya3Mr9w4QLWrl2LtWvXoqmpyaN5EokE999/P5577jnk5eXd6vpEREQ9ktPpxPfff4/Vq1dj7969Hjf5A0BERASmTJmCJUuWYPDgwVf8Wm1tLQoPGFBcXIKTlQb8eKAETRdbfLX+TQ1JvB35udnQZFwKF+eo0xGsVPptPpG/ne0IQtXFEFgcvTOQJwEwIMyKlCgTgmR8DUwkZl0h4hFJ/SFjiJiIiIhIlBgiJiIiIhIxhoiJqKczOySoaApHo0ke6FV8QiYBhkaaMERlxg3ykkSCsNntKK88gn2FBuwvMuB7/QHUNVwQfG54eDjS09Oh0+mQl5cHrVaL6Ohor87V2dmJDz/8EG+//TZOnjzp8fFarRbLli3D+PHjbxhaJiIi6i1aW1uxfft2rF69GjU1NV6dIzMzE3PmzMHjjz+OkJCQ6z7OZHGgw2TF0OBWAMDJmtP4ocgAQ1kFDGWVKCmvhMls9moHT8nlMgwfmoSczHTk52owNleD1OFDIZUyvES9W7tVhvKmMLRae+8FtJdTSF1IiTJhULgl0KsQkUAYIiYiIiISP4aIiYiIiESMIWIi6snqOhWobAqD1Sm+oF9kkB3q2A62EpOgztXVw1BW8VPTsAHFxoOwWK2Cz01KSkJeXh6ysrKg0+mQkZHh80CP0+nE3r178dprr6G0tNTj40eOHIlnnnkGjzzyCBQKhU93IyIi8oeqqiqsX78eW7duRWdnp8fHy2Qy3HfffVi0aBHuuuuubh1zdYj4ana7A0ePn0RxeYX7OYix4jAcDofH+3lDFR6GjJEp0GSmXWorzkhHWkqyX2YT+cKZ9iAcbg6FwyW+18AJoTakxXQgSMq3nYnEpitEPDypP+QMERMRERGJEkPERERERCJmMltRzRAxEfUwDpcEh5tDcaY9KNCrCEohdWFkTCcGhAof6iTxu7xl2FBege/1xag5fVbwuVe3DOfl5SEmJkbwuZcrKCjA8uXLsWfPHo+PjY+Px5w5c7BkyRJEREQIsB0REZHvOBwO/O1vf8OaNWvw7bffenWOuLg4TJs2DfPmzcOgQYM8OvZmIeJrae/ohLHi8KW24vIKFJdV4HDVCfjrraeoCBVy1KMwNlcDTWYa8rLViI/173MVopuxOqQ42BSKBpO4L24LkTkxql8HYoLtgV6FiHyITcRERERE4scQMREREZGImcw2VJ9tYIiYiHoMi1MKQ324aG7d2h2DVWakRpsgvq4pEtLVLcOGsgqYLcLfItgfLcPeKisrw8qVK7Fr1y6PGw9VKhWmTp2K5557DgkJCQJtSERE5J3GxkZs27YN69evx5kzZ7w6h1qtxuzZszFlyhQolUqvzuFNiPhaWtracPBQFfYXGbCv0ICi0jLUNzbd0jk9MSA+DprMdGgy05Gfp4EuJwthoSF+m090uXabDIaGcJjsPeM5tdAkEiA1yoTBKnOgVyEiH2GImIiIiEj8GCImIiIiErFOsxU1bCImoh6i3SaDoT4cJkffe8Ohf6gVGf06IGWSmK7BbnegrPKwu2X4h0IDqk95FyDyRFhYGEaNGuVuGc7NzUW/fv0En3urTp48iTVr1mDTpk2weBisViqVmDhxIl566SUMGzZMoA2JiIi6x2g0YtOmTdixYwfMZs8Dd0qlEhMmTMDixYuRl5d3y/v4KkR8LV0XSBnKKn+6UMqA5hbfz7kWmUyGEcOSkJOZDk3GpXDx6KxRUAaJ+84oFHgXzAqUNoTB7up7LwSTVBaMiO7kxbREIsAQMREREZH4MURMREREJGIMERNRT9GX3zztEqW0IzuuHUFSvgzv687XN6DYeBCGskp3Q58/WoYHxMchP08Dba4GwzV3I1+n6TEtw95oaGjA+vXrsXr1arS0tHh0rFQqxbhx4/Dyyy8jOztboA2JiIh+yWq14ssvv8Tq1auh1+u9OkdCQgJmz56NefPmITY21me7CRkivprD4cCRYydRXF5xRbjYH8+JAEAhlyN5aCLy83IwNjcbORnpSB0+tFc/N6Ke5WxHECovhMEZ6EUCKCHUhsx+7byYlqiXY4iYiIiISPwYIiYiIiISMZPZimqGiIkowJosChTXh8PJV59QKRzITWiDgkHiPsNud+Do8ZOXwsJFBhSXVeDQ0eOCzw0LDYE6fSQ0mWnIz8vBXWNyEdcv5tJOLgnO2qMQrRJH+157ezu2bduGt99+G+fPn/f4eK1Wi2XLlmHChAkCbEdERHRJXV0dPvjgA7z33ntefb0CALVajUWLFuHRRx+FXC738Yb+DRFfi81uR9XxahSXV2B/UQn2FRbjyLGTcDr9E8NUhYchY2QKNJlp0GSmIycjHWkpyX6ZTeJytiMIFRfCwFd9QL9gGzRxDBIT9WYMERMRERGJH0PERERERCLGJmIiCrSLFjkO1IfD0YcbiK8WpbRjdHw7ZBK+HBej2vpGHDCWu1uG9xeVwOTF7ck91dUyPDZXA01mOnKzMxCkUFzzsWILEXexWq345JNP8Oabb6Kqqsrj4zMzM7F48WJMnjwZMplMgA2JiKgvMhqNWLVqFT755BPYbDaPj1cqlZg4cSKWLl2K9PR0ATb8WaBDxNfS1t6Bssojl9qKyyv8dkFWlwHxcdBkpv/0Iw26nCzExkT7bT71PrWdQSi7EAa++/qz/qFWZPbrgITfFiDqlbpCxMOT+kPOEDERERGRKDFETERERCRiDBETUSC12eQoqguHzcl3Cq8Wo7QhJ55tTL1dT2kZ/pUuF/GxMd0+Xqwh4i5OpxN79+7Fm2++iQMHDnh8fFJSEhYuXIjZs2cjODhYgA2JiEjsLBYLdu/ejXfffRcHDx706hxDhgzBzJkzMWvWLERH+ye02hNDxNdysbUNxcaD2FdogKGsAoUlZWi40OS3+V3B4q4LuLIz0hAawucMBDSa5ShpUPEuPNcwKMyK9H4d4Etgot6HIWIiIiIi8WOImIiIiEjEGCImokAxO6QoqFXB4uCbC9czMMyKjH783Nyb1DVcQFFpmbtl+McDJeg09ayW4e4Qe4j4cgUFBVi+fDn27t0LT78FFhsbi7lz52LRokWIiooSaEMiIhKT6upqbN68GVu2bEFTk+ehVolEgl/96leYPXs2HnzwQb834/eWEPG1nKurv9RW/NPztILiUnR0mvwyWy6XYfjQJORkpkOTke6T52vU+7TZ5NDXquDgu67XlRxpwrBI4V8/EZFvdYWIRyT1h4whYiIiIiJRYoiYiIiISMQYIiaiQHBBgsI6FS5a/Bt66I3Sojtxu8oS6DXoGhwOB44cO4ni8grsLyrBvsJiHK464XEQ1VMKuRwZaSkYm5uN/Lwc3KkdjYS4fj6d0ZdCxF0qKirwzjvv4OOPP4bdbvfo2PDwcEybNg3PPPMMBg4cKNCGRETUW7lcLnz33XfYtGkTPvvsMzgcDo/PoVKp8Mgjj2DRokVISUkRYMvu6c0h4qtd/lyuK1xcbDwIi9Xql/mXP6fTZKYjJyMdI0cMg0TCHlYxsjkl+LFWBZOdr4FvRAJAE9eO2BBboFchIg+wiZiIiIhI/BgiJiIiIhIxhoiJKBAONYfgVBtv59sdEriQm9COaKVnoUbyvZa2Nhwo/fm22PsKi3GxtU3wuVffDnt01igog4QN9/bFEHGXU6dOYeXKldiyZQtMJs/aCYOCgjBp0iQ8//zzGDFihEAbEhFRb9He3o5du3ZhzZo1OHz4sFfnGDZsGObNm4cZM2YgLCzMxxt6Tkwh4mux2e2oOl6N/UUG7CsyoLisAkeOnYTT6fTL/AhVOEaljoAmMw35eTm4Iy8H/eNj/TKbhFXaGI66TjZPd4dC6sKY/q0Ikfvn3x0R3To2ERMRERGJH0PERERERCLGEDER+VttZxCMjYEPQPQmwTIXxg5ogULKl+f+0hNahjWZ6bhTOxpJtw8SdOa19OUQcZfGxkasW7cOa9eu9fh281KpFOPGjcPzzz+P3NxcgTYkIqKe6sSJE9i6dSs2btyIlpYWj4+XSqW48847sXDhQowfP75HNdOKPUR8La1t7Sg/dPRSW3F5BfYVleBkzWm/ze+6oOzSjzSMGZ2NftFRfptPt+5kazCOXgwJ9Bq9SkSQA7r+bZCAr4GJegM2ERMRERGJH0PERERERCLGEDER+ZPNKcEP5yNgdfANBU8NCrdgVExnoNcQrda2dhSVlrtbhvcXGdDcInw45uqW4Rx1OoKVSsHn3gxDxD/r6OjA1q1b8e677+LMmTMeH6/VarFs2bIeFwIjIiLfcjqd+P7777F69Wrs3bvXqwuPIiIiMGXKFCxZsgSDBw8WYMtb1xdDxNdyrq7+Uqi4rBKGsgroDUY0NjX7bf6A+Dj388eucHFIMO/00hN12qTYVxsJJ99p9djwSBOGRpoDvQYRdYM7RJyYALlcFuh1iIiIiEgADBETERERiRhDxMBf//49Xvr3P6KzsxPj7/0VVv7xfwd6pT5h+yef4Z11W2F3OH7xa6EhwYiJikR0VCTSU5Jx91gt1OmpkEoZPO3tDl4IxdmOwAcke6vR8e3oF2wL9Bq9XqBahuVyGTLTUn9uGc7LQdLg2wSd6S2GiH/JZrPh448/xvLly726JX1aWhqWLl2KRx55BAoFb2VNRCQWra2t2L59O1avXo2amhqvzpGZmYk5c+bg8ccfR0hIz24rZYj4+rqCxZeeXxpQerASnSb/BCDlchmGD01CTmY6NBmXWovzNJlQyOV+mU/XV1QXjiYLn/t5QyoBxvZvQZjCGehViOgm2ERMREREJH4MERMRERGJGEPEwBurNuB3//EaACB1+FCUf/NZgDfqG7S/eQyGsopuP35Q/wS89NQ8zJs+mQ1LvVSTWY6ielWg1+jVQuUO5A9ohZRlph5pa+9AWeUR7C8yYF+hAT8eKEHTRc9vLe6pntoy3B0MEV+fy+XCd999h9WrV2PPnj0eH3/77bdjyZIlmDlzJkJDQwXYkIiI/KG8vBwbNmzAzp07YTKZPD5eoVDgn/7pnzB79mzcddddAmwoDIaIu89ud+Do8UsXrnW1Fh8oLYfV5p+LAsPDQpGZlgpNZho0menIyUjHyBHDeGcEPzrTHoSKprBAr9GrxQTbkRvfFug1iOgmukLEI5L6Q8YQMREREZEoMURMREREJGImsw3VZxsYImaI+Lq+/Pt3WPTi72GxWjF32mS8+r9e9Ml5Nfc9jPJDRwAAIcHBCFb+HFRrbe+A4xoNxQAwLGkwdm98F6nDh/pkj+54cMZCFBrKEBkZgT0frMPQxNv9NlssXAD2nY9Ah423NLxVvKXrzZ2sOY0figzuJrjSg4fgdArbXtXV/pafl4OxudnIyUhHWkqyoDOFxBBx9xiNRqxatQq7du267tet6+nXrx/mzZuHBQsWICYmRqANiYjIlxwOB/72t79hzZo1+Pbbb706R1xcHKZNm4Z58+Zh0KBBPt5QeAwR3xqb3Y7yyiPYV2iAobwCxWUVfrkjRpdIlQrpqcN/usgtG7lZmUiI6+eX2X2N3SXBd2cjYXMytH2r1LEd6B9qDfQaRHQDbCImIiIiEj/e64iIiIhIxFzg9WJ0YyeqT+N8fQMAoPTgIUFm/H/PL8ErSxdc8bGmiy04evwk9n6zDxs/2IXT52oBAMerT+GO307F5++vgVajFmSfqxnKKtHc0ormllacq61niNgLtR1BDBD7SE1bMAarLJBL+fkb+GXLcEFxKS40XxR8bv/4WORkjrqsaTibLel9kFqtxsqVK/HKK69gzZo12LRpEywWS7eOvXDhAv70pz/hrbfewsSJE/Hyyy9j6FD/XSBDRETd19DQgPfffx/r16/HmTNnvDqHWq3G7NmzMWXKFCh7yZ0JyPcUcjk0menQZKa7P9ba1o7yQ0d/ugDOgB8Ki1Fb3yjI/Ja2NuwvMmB/kcH9sa67Z1z6kYaxuRrEREUKMr8vqWlTMkDsI8dbgpEQagX/NIl6Pv47JSIiIhIvhoiJiIiIiMjvYqIiocvJgi4nCy89NQ///vrbeGPVBgCX3vicsvA56P+6C/GxbG/s6Vwu4Hgrw5W+YnVKcKpdiaERfbONmC3D1BMNGTIEr776Kp5//nls2LABq1evRktLS7eOtVgs2LlzJz766COMGzcOr7zyCrKysgTemIiIusNoNGLTpk3YsWMHzGbPn3splUpMmDABS5YsQW5urgAbkhhEqMKRn6dBfp4Gz8yfCQA4V1cPQ1kFDGWVMJRVCHqh3Pn6Bnz+1Tf4/Ktv3B8bkng78nOzocm4FC7OUacjmOH3brM7Jajha2CfabfJUNsZhAFsIyYiIiIiIgoYhoiJiIiIiCigQkOC8cffv4zYmGj863+9AQA4c74Or/yfP2Lj8j8GeDu6mdpOthD7WnVrMG4Pt0Ah8jbi9o5OGCsOu1uG9QYjGpuaBZ+bENcPo9UZ7pbhMaOzERrCEADdXHx8PH73u9/hqaeewvvvv4/ly5ejtra2W8c6nU7s2bMHe/bsgVarxbJlyzBhwgSBNyYioqtZrVZ8+eWXWLVqFQoLC706R0JCAmbPno158+YhNjbWxxtSXzAwIR4Dx8XjwXH3uD92rq4e+4tKsK+wGIaySpSUV8LkRbi9O07WnMbJmtPY+tGnAH6+qC4nMx35uRqMzdUgdfhQSKW8Zf21sIXY9463BKM/24iJiIiIiIgChiFiIiIiIhGT8Nvv3Xbw8FEcPnYSacOHXdFAeersefzPnr/jWHUNwkJDMWJoIn47/teIjoy44flMZjO+2V8Il8uFX+lyER4W6v61Hw+UYF+hAWdr6xATFYn0lOF4YNzdUAYF3fCcx07WoPzQUUSownHXmDzI5dcPbrpcLuwrNKCu8QJShiVhVOoI969ZrFb8eKAEDocTR46fdH/8QvNFfP39j1ecZ+SIYRiYEH/DvXzlpafm4dsfC7HnHz8AAHb85Qv8+yvPIvG2gdc9xmqzQV9sREl5Jc7V1cNssSBSpUJaSjLuydddt8m46kQ1Tp09f+kcVpv748VlB2Gx/tx+E6xUIj9Pc81z2O0OFJYYYSi7NLuj04RIVThShw/D3fl5fvtzC7TqNoYvfc3mlOBcRxASVZZAr+JTlwcj/NUyLJPJMGLYlYGIkSOGQSLh10fynkqlwqJFizBnzhzs3r0bb7zxBo4dO9bt4/V6PaZPn47MzEwsXrwYkydPhkzGizGIiIRUV1eHjRs3Yv369WhsbPTqHFqtFosWLcIDDzwAuZxvrZBvDUyIx+QHx2Pyg+MBXHq9efT4SRSXV7jv0mGsOAyHw+Hz2Xa7A4eOHseho8fdweLwsFBkpqVCk5l2qa04I53PowE4AZzia2Cf67DJ0GBSID7EdvMHExERERERkc9JXC6XuKuNiIiIiPowk9mK6rONCJXaMUjZEeh1AuKNVRvwu/94DQCQOnwoyr/57JqPi0/TobmlFQMT4lFj+AbNLa146d/+G1t3ffqLkFtYaAj+819ewNNzp1937o6/fIEZT70EAHjn1T9g0awpKCotx5JX/g3GisO/eHxsTDRW/Pe/4ZEH7r/uOdN/9QCO/hT63bX+HTw0/t7rPvbg4aPI/vUkAIBCLkdnTZn719Zu3Yklv/vf1z32cuPvuQOfbV3TrcdeTnPfwyg/dAQA8J//8jxeWbqgW8cZKw5j9P2PuH/++xeexh9efPoXj6s+dQavvbsO73/8P2jv6LzmuYIUCsyf8Tj++PuXfnFr1iGj78FNxFZdAAAgAElEQVSZ83Xd2umH/9kOrUbt/vnZ2jq8/u46bNn5F7S0tV3zGLlchpmPTcKb/+dfERYa0q05vVG7TYZ9528cqCfvhAc5kN+/NdBreK2j04TSg4d+CjwY8O2PRWi40CT43EiVCqOzRmFsrgaazDTcoR2NqAiV4HN7G7tLgrP2KESrbnzxCnWP0+nE3r178cYbb6C4uNjj44cMGYIFCxZgzpw5UPJW4kREPmU0GrFq1Sp88sknsNk8D6cplUpMnDgRS5cuRXp6ugAb9iwmiwMdJiuGBvfe56Fi1nUnD0NZBQzlFSguq8DhqhPw19t8UREq5Kh/fq6dl62+7oW7YlVrCoKxISzQa4hSQqgNWbHtgV6DiK7hhDkCDpcEw5P6Qy5jSz0RERGRGPFyeSIiIiJR69sNMZ5wOi+96eZwOnCi5jTuf/xJ1Jw5d83HdnSa8Nzv/xM2uw3PLZxznfP9HDx2OBxYtWk7nv/Df8Fuv3ZrUGNTM55Y+Bw2vPXfmDH5oW6dszu/n0u/pytD0J40B/m7ZUidnorsjDSUlFcCAL79sRDAlSHiisNVyP/tFHR0mm54LqvNhnc3bMOpM+fw8YZ3vP69XH7cyZrTyB0/+brh4S52uwMbtu/CyZoz+OsHa0XbMHm6nQFEobRbZWi1yhAR5PumMSFcffvlA6XlsHoR1PEEW4app5BKpZgwYQImTJiAgoICLF++HHv37u12oOfkyZP413/9V7z55pt48sknsXjxYkRGRgq8NRGReFksFuzevRsrVqxARUWFV+cYMmQIZs6ciVmzZiE6OtrHGxJ5JzwsFPl5mivultPS1oaDh6qwv8iAfYUGHDCWo67hgiDzL7a24evvf7ziDkYD4uOgyUz/6Yf4L+I718bXwEKp75TD6pAgSMbuK6Keit9tISIiIhIvhoiJiIiIRMwFfuPdU+0dnbj3kVk4W1sHZVAQFs+eiokTfo2oSBW+2VeI//vmu2i62AIA+MMfl+Oxh36DQf0TbnjOtds+crfyJt42EC8sfhL5eTlwOp3Y848f8OryVeg0mQEAS175N/xqTC4GDxog2O/x4Qfuh0QigdPpxDf7C7HjL18AuNTU/Oz8WVc8dnRWhmB7XM+dutHuEHGhoQx2uwNy+c8h3APGg+joNEEqleL+u/Mx87FJuGtMHhLi+sHhcKCk/BD+440V+OLrbwEAn/3tH9jzjx8w4d473edY9+dXcaL6FADglf94DW3tl5q6X1wyF8lJg92PCwpSIDsjzf3z0orDaGlrg0Qiwb136DDzsUm45w4tBibEw+l0ovzQUbz61irs+nwvAOCb/Xp89NkePDHxnwT60wocJ4DaDjZmCulMuxJpMddu2g6kq1uGvysoQn2j8C3DEapw5GZluJvP8vNyEB3JJmzqWXQ6HXQ6HQ4ePIgVK1bg448/ht1u79axDQ0N+NOf/oR3330X06ZNw7JlyzBggHDPB4iIxKa6uhqbN2/Gli1b0NTk+XMTqVSKO++8E7Nnz8aDDz4o2gsBSVwiVSp3sPjln66/PVdXf6mtuKzS/Zy9uUWYdunz9Q34/Ktv8PlX3wC48kI/TcalcPHorFFQBvX+8K3ZIUGjRRHoNUTLBQnOdwQhMcIS6FWI6Dp4g2siIiIi8WKImIiIiIjoMh2dJnR0mjCofwI+2bjiigBpxsgUaHPUuOO3U+FyuWAym/Hhp19et424S1eA+KHx92Lj8j9CFf7zrS+zM9KgG63GhCnz4XA4YLZY8Kd33sM7r/5BkN8fAMRERWLutMkAAIvV5g4R3zagP+bPeFywud2lTktx/7/ZYsGF5otIiOvn/lhuVgZmPTYJzy6cjczLHgtcesNydNYofLzhHdzx0FQcKD0IAPjwf/56RYj43jt0uPcOHQDgD39a7g4RPzjuHtyhzbnublnpqZgx+SE8/eQMjM4adcWvSaVSqNNTsX31m7j/8bn4Zr8eALBLpCHiCyYFrE52kAiprjMII2M6A970wpZhIs+NGjUKK1euxD//8z9j1apV2LJlC0ymGzfod2lvb8eaNWuwceNGTJo0CS+88AKGDx8u8MZERL2Ty+XCd999h02bNuGzzz676R1brkWlUuGRRx7BokWLkJKScvMDiHq4gQnxGDguHg+Ou8f9sZM1p/FDkeGKcLHZ4vuwpsPhwKGjx3Ho6HFs/ehTAIBCLkfy0ETk5+VgbG42cjLSkTp8KKRSqc/nC6muIwjMzwnrfCdDxEQ9Gb8nQ0RERCReDBETEREREV0lrl8Mvt61CcMua6TtkpediV/fOQZffbcfAPDjgVI8t/Dm55w44dfYsebP12yzunusFtMefhBbPvoLAODjz/firf/7v/ps81VMdNQVP2+6KkSclpKMdX/+rxueQyaTYfojD7lDxF1B7ls1JPF2bHjrv2/4GIlEgpmPT3SHiMsqfTO7p2k08+Wk0KxOCdqsMkQEeR6G8ZbNbkd55RHsKzRgf5EB3+sPCHY75MupwsOQMTIF+XkajM3NxthcDWKiIgWfSyS0xMREvPrqq3jxxRexbt06vPfee2hubu7WsVarFTt37sRHH32EcePG4YUXXsDo0aMF3piIqHdob2/Hrl27sGbNGhw+fNircwwbNgzz5s3DjBkzEBYWdvMDiHqxIYm3Y0ji7Zg5eSKAS8/7q45Xo7i8wn3B4JFjJ+F0On0+22a3u4PFa7fuBPDz839NZho0menIyUhHWkqyz2f7EluIhddqk8PmlEAhZVqbiIiIiIjIn/iuLxERERHRVVa//h/XDBB3GXdXvjtEfOxkzU3Pl3jbQGxZ8doNQ8HTJz/kDhE3XGhC5dFjyBjZN1uwQkNCrvi5t+1ISYMHuf+/qfniLe3kqSG33xaw2f5ywcw3UP3hglkhaIi461bHl4IDBhQbD8JitQo2r8uQxNuRn5sNTUY68vM0yBo1stc1kRF5IjY2Fr/73e+wdOlSbN26FStWrMDZs2e7dazT6cSePXuwZ88eaLVaLFu2DOPHj2cLFBH1ScePH8e2bduwceNGtLS0eHy8VCrFnXfeiYULF/JzKfVpCrkcaSnJSEtJdgeL29o7UFZ55FJbcXkFissqcOjocUHmt7V3YH/RpQsXuwyIj4MmM/2nH2nQ5WQhNiZakPmecgK4aOFbqkJzuYALFgX6hwj/mpSIiIiIiIh+xle8RERERERXubz19lr6x8e5/7+to/Om54uJjkJIcPANH5OblXHFzyuPHu+zIeK29o4rfh4dGeHVef4fe/cdHlWBrw/8nZ6eSZ1JLzQBDYpoUBexseIKoiAgHSUYQQRdt9y7v+337nV19aogUgQkdFGB64oFy4qsCoJIQlGkpCeTPqnTZ35/4BnTgMww9eT9PE+eTCZzzvkSUubMec971FE/LWc2W65oJpe3HR3507Ytvt22LxhtErRb+mdTtq/VG+TIcu9HoIfOLcNHj5/EgUPfoLS8byHGK9G9ZfimUdchrlvjOFF/ER4ejvz8fDzyyCPYtWsXXn75ZZw+3ffG+kOHDmHWrFkYPnw4Hn/8cUyZMgVyOV/eIyJxs9vtOHDgANasWYN9+/bB4XC9oTI6OhrTp0/HokWLkJ5+8RNGifqzyIhw3HLjSNxy40jnffqWVnxTeOLCPkTRSXz9bRHqGhq9sv3q2jrs/fgz7P34M+d9QrD4wr7ESFx3zTCEhV769RVv0BvlsNp50oEvNBgYIiYiIiIiIvI1HmUgIiIiEjEe3vCO+Nifwm8WDzV2RkVGIDwsFO0dBgBAXb13DsoFA31zS5eP1eroiz7W4XCg6NRpfFN4AmdLytDU3IL29g5YLBbUN3q/Afjk92dw+NhxnC0pQ0OTHh0dHTCbLWhubfP6tv2pkS3EPqM3K2B3AFI3fqF3bxk+WnTS7WZvV7BlmOjyFAoFpk+fjmnTpuHDDz/E8uXLcejQoT4vf/LkSSxevBh///vf8dhjj2Hu3LkI7dbkT0QU7FpaWrB9+3asXr0aZWVlbq0jJycH8+fPx7Rp0/h7ksgN6qhI3DnmJtw55ibnfcJ+xtGiU/jy8FEc/OaY87UMT+seLJbJZBg8IBPX5wzHyGsutBaPuvZqqJRKr2xf0GjiPrCvNBp5wjJRoHL9NC4iIiIiChYMERMRERGJGF/Y8w5vheHi42LR3nGhFbStDw3HYnXy9Fnn7ejISERHRvR4jMVqxauvb8VLazaiorrGl+PBZrNh3dY38fyqDSgpq/DptgNFG1uIfcbuADqsMkQobJd8nNVqQ9Gp750tw//++qhPvj8jwsOQM+wqZ8twIF1ymCgYSCQSjB8/HuPHj8fBgwexfPlyl1o2y8rK8Lvf/Q4vvPACFixYgIULFyI2NtbLUxMReVdRURE2btyInTt3wmBwPZioVCpxzz33YN68eRg7dqwXJiTq35I1iUgel4gJ424HcGEf+fTZYnxz/KQzXPxN4QmYPHTSdWc2mw3f/XAO3/1wDlveegcAoJDLcc2wIbj5huswMmc4rr9mOIYOHgCJxHOn1nMf2HcMVhlsDglkEr6qSURERERE5CsMERMRERGJmIRdxEHFZrU6b4eGqvw4iX8dPlbkvH3zDdf1OPDXYTBi4px8fP7VYed9UZERGJiVgWRNIkJUFxqI6hv1+OzLvrc69oXZYsGDjzyB9z/93HlfRHgYBmZlIEWrQWjIhf+35tY2fLT/C49uO5C08wCqT7X1EiKurq3DN4UnnO1fX3x91Cctw0mJCc5LCbNlmMizRo8ejdGjR+P8+fN47bXXUFBQAFMff64bGhrw3HPP4ZVXXsHs2bPx+OOPIzU11csTExF5js1mw0cffYS1a9di//79bq0jISEBM2fOxIIFC5CSkuLhCYnoYmQyGYYNGYhhQwZizoOTAFw48ffMuZIL+yqHj+KbopM4fbYYdrvd49u3WK0/hpdPOu+LiozA1VcNxsicYRiZMxxjbrwemenuPzdqs3Cfx1ccADosUkQqL30iLRH5QR9PdiUiIiKi4MMQMREREZGIOdhFHDRsNht0dfXOj2Oioy75eEunwLGYlFVW46sjx5wf33LjyB6P+d3/vOAMEEdGhOOl//5/mPHABCjkXXdv/n3oG3w22bMh4r+9uMoZIA4NCcHzf/4t5k1/oMelU49/d1rUIWIeQPWtFqMDjWVnuxyA/+6Hc17fbnhYKEYMH4qROcNwy43XY+xNNyAhjg2nRN6WnZ2NZ555Bk899RRef/11rF69Gi0tLX1atqOjA2vXrsXrr7+OBx54AEuXLsXQoUO9PDERkfvq6uqwbds2rF+/HpWVlW6tY8SIEZg3bx4eeughqFT992RMokCikMudweK82dMAAK1t7Sg6dfpC4Pf4Sa/u17S0tuHLw0fx5eGjzvuSEhMwMmf4j2/DcNOo6xAXo77suhwOCQw8kdan2iwyhoiJApEHG96JiIiIKLAwRExEREREFABKK6pgtf50gGTwgKwejwnpdEC8vqHRJ3P52suvFcBmu/B1UMjlmDnlvi6fb+8wYOOOXc6PV/79T5jxwASfzGa12rBm0w7nx8//+bd4dM50n2w7kNgdgMHGELEvOOx2/OeSB/HDqaMw+6BleGBWBm66/lrkXj8CN426DsOHDIRMxoPlRP6SmJiI3/72t1i8eDG2bduGl19+GTU1NX1a1mKxYOfOndi5cydyc3OxdOlSjB8/3ssTExH1XWFhIQoKCrBjx44+t653plKpMH78eCxatAg33HCDFyYkIk+LjAjHLTeO7HKycFVN7Y8twqdwtOgkDh0tRH1jk1e2X11bh70ff4a9H3/mvK/zlVaEcHFoSEiX5QxWCTzfn0yXwqsfEQUmRoiJiIiIxIshYiIiIiIiL6us1qGmrgGahLiLPmbvR585bysVCuQMu6rHY9TRkc7bVTV1l9zmoW8K+zSbVPrTy7/tHYY+LeMtBw4ewcoNW50fz3hgAtKStV0ec760rMuck8bfdcXb7fw16DBc/GtQqatBQ5Pe+fHEu++44m0HI5NdCoeDhw18QSKVwtDR5pUAcfeW4VtH34DEeLYMEwWiyMhI5OfnY/78+dizZw9eeOEFnDvX99a+Q4cOYdasWRgxYgTy8/Px4IMP8gQBIvILk8mEDz74AKtXr8bXX3/t1jq0Wi3mzp2LvLw8xMVdfP+KiIJDsiYRyeMSMWHc7c77hGDxl4e/xRdfH8WxE6fQYTB6ZfvVtXV4690P8da7HwIA5HIZBmVn4vqc4Rh5zYXW4oHDrvPKtunijHa+5kAUiHjNQyIiIiLxYoiYiIiIiMjLausbMXFOPj5683VER0b2+LzBaMSKDVucH999+88QFhrS43EDszLw70PfAADe+ucH+OtvlkIq7dkIu/fjz7Ds9//dp9nCw0KdtyurdX1axhve+2Q/Zi/+lbOFWJMQh7/+x7IejzObLV0+bmlt6/VrBQD7v+pbMCE0tPPX4OINjxZL1223tbUDiQm9b/vLw33adjCy8WCeTw29ehTOnT5+xevp3rB1w3XXQKlQeGBCIvIVlUqF6dOnY+rUqdi3bx+ef/55fPvtt31evrCwEIsXL8Y//vEPLFy4EPPnz4eq01UOiIi8paamBhs3bsSGDRtQX1/v1jpyc3ORn5+Pe++9F3I5D2sQiVn3YLHVasOJ73/AkWPH8fWx4zhy7AS+O3O2y9WcPMVqteG7H87hux/OYctb7wAA5HI5Bl41Av+z8m0olXzu5At83YEoMPEnk4iIiEi8eA1aIiIiIhHjC3uB49vjpzDmvpk4W1za5X6L1YrHfv1HFJeWO+97bN6MXtdx1603O2+fKynr0toLAA6HA2s3v4GpC5bCYrX2aa6MtBTn7bLKanxTeKJPy3mCvqUV7370L9w35zFMmrsIrW3tAC40MW9d9QJStJoey2RlpHVpT9y26589HmOz2fDnf6zAn/+xok9zZKb+9DXY/d5HF31cSpKmy2VNt77dc9sOhwPPv7oev/zTM33adjCysYXYp4YMH3n5B3WjkMsxMmc4liyYje1rXkTFsQMo+3Y/tq95EU/kzcEtN45kgJgoiEmlUowfPx4ff/wx9u7di7vvvtul5YuLi/G73/0OI0aMwLPPPovm5mYvTUpE/V1hYSEWLVqEnJwcPPfccy4HiFUqFaZNm4YDBw7gvffew6RJkxggJuqH5HIZrr16KPJmT8Pa5/8LRz/ejZZz3+LQ+2/if//yn5j94H0YOngAJBLv7KtarVbU6ioYIPYhK193ICIiIiIi8im+4kZEREQkYrzEWGAICw2B0WTGdz+cw4jb78O0Sfdg5DXD0dTcgp3vvI/TZ887H/vAL8bh57f9rNf13Hf3HchIS0FpeSUA4Jd/egafHPgKd/xsNNo6OvB/H3yCo0UnAQA/y70eZ86XoKau4ZKzjRpxDSLCw9DW3gEAmPzwEsycMhHaxHh8dfhbhIeFYf1L/3NF//5XX9+Gt/fuc35sMBrRpG9GbX0j7HZ7l8emaDXYvuZ/cdOo3i8XGquOxi/uvBX/3PcvAMDvn3kRutp6TBh3G2LUUSg69QNWbtiCw8cuNLcqFQqYuzUId3fbLTfisy8PAQDe//RzTH74cfwsdxQa9c1496N/YdOK55AzbAhCQ0IwZcLPnW1Ef1+xFo36Zky+dxziY2Nw8vRZrC7Y7myLVimVMJnNbnzFApuVjUA+pU3JuOxjVEolNAnxGJSdgWuvHorbbsnFkOxMpKcmdwndE5H4jB49GqNHj8bx48fx6quvYteuXbD28USiuro6PPfcc1i1ahVmzJiBZcuWQavVenliCmQSmwWwWyFx2ACHHRL7hYZHh0QGSKRwSGVwSOWAjCei0MWZTCbs2bMHK1euxMmTJ91aR1ZWFubMmYO5c+ciJibGwxMSkRgIJ06OzBkOs8WC+sYmnCsuw+cHD+PYie/w3ZlzKKuogsFo8sj2EhKTPbIe6hurnR1YREREREREviRxOBzMlhARERGJVIfRjNLKeoRJrUhRtft7HL/439Wv47f/9Q8AwFWDsnH8s3d7fVz8Vblobm0FAHzx7g7ceF3ORdf58edf4p4ZeQCA1CQNio/8q8djtu9+F3OX/AYAcN01w/Drx/PwyLL/hNF08QNYt9w4Eu9uWYuI8LCLPubAwSO4d9ajMBiNF33MhHG3Y8urz2PE7RNRWlEFqVQKU/nFG4b/639X4q8vrOz1c2NGj8Knb2+66LIXM+rnk1F48vs+Pz4qMgKPzpmOXz72MBLiYi/52NKKKtx630xU1dRe9DEKuRyvPPNHrHx9K4pOnUZSYgLKvt3f62PrG5sw4vaJqK1v7PXzH76xAXf8bDQAQFdbjzGTZqKkrOKi25bJZHj2D7/C/33wCQ4cPILwsFDoz3xzyX9TMKk1KPFtXbi/x+g3ThUdxm/y73NrWaVCgZRkLZISE5CsSUBWRhqy01ORlZGGpMQEZGWkdmnXpv7D6pCg0qpGTKTS36OQh5WUlGDNmjXYtGkTjJd4rtAblUqFSZMm4emnn8bAgQO9NCEFAonVBJlRD4m5HVKLAVKrARKz4UJ4uA8cEikcijDYFaEX3ivDYFNFwaEI9fLkFMiKi4uxefNmbNq0CU1NTS4vL5VKMWbMGMybNw8TJkzgiVB+YjDZ0G4wIzukxd+jEAG4cBKyrqYOVTV1qK6tQ3FpOapqarvcV1pe2eMEZU/LGHAVVm7p+doPeUekwoqbk1r9PQYR/ei8MQo2hwSDMrWQyxjyJyIiIhIjNhETERERiRj7QoGE+FhIpVLY7XZo4uMv+rjYWDWaW1uhVCgQHRlxyXXGREdBLpfBarUh/jKBV8HUieMxfPBAPPmHv+GzL79G53P5UrQaLH54Jp567GEoLnN53jGjR2H/ni146o//gy8Pf9tlPQOzMvDbJQsxb/oDkEgkUEdHobSiCvGx6kuu8/dPLYZUKsXzr653NhIDF9pNp9zr2iXSBdMn/QJVutpe2xBVKiXU0VGIi1Fj1IhrcMuNI3HHmNGIjozs07ozUpNx8IM38bu/vYCd//d+l6ZhuVyG8bffiv/53S8xdPAAbN+9FwAQF3vxBrP42Bh8/GYBHv3VH3Dwm2NdPjd08ABce/VQ58faxHh8tfcN/L9nXsS2t//ZJRQuk8lw55ib8Lf/fArXXj0UBw4eubDtmEt//YONFN49OEtd1erK3V7WbLGguLQcxaUXX0dMdFSPcHGSNhHZ6akYmJWBqMv8PiSiwJKZmYlnnnkGTz/9NNavX4+1a9dCr9f3aVmTyYSdO3firbfewrhx4/D000/j+uuv9/LE5BM2C+QdDZAZ9JCZmiGxGK5odRKHHRJzG6Tmti73O+Qq2ENjYA2Jhi0sDg4ZT1QQO4fDgc8//xwFBQV49913YbP1LYjeWWRkJCZPnoz8/HwMGTLEC1MSUaBqam5Bta4W1bV1zmDw+bIK533nS8qgbwmMIGltdTkcdjskUobnfIEZRaLAxGMNREREROLFJmIiIiIiEWMT8QVGkwlms+WSYTibzYaWtnaEhYZApbx84MFoMsFgNCE6MgLSXg4idW8i/vqDt5yfK6usxg/nimG12pCekoSrBmX3uo7LqdTV4FxxGVra2jAgIx1XDcqGRPLTy7nCvykyPBxy+eWbvMwWC05+fwaN+mZEhIfh6qsGIzwssBvlOgxGFJ78DnUNTYiLUeOqQdldQrt2ux3NrW2IigjvU5tZRbUOxaUVsFityEpLQVZG2kUfazSZUHjye9TWN0IdFYkhA7ORGP9TqNzhcEDf0trnr3+w0JvkOFTTt8A3Xbk3Ny1Hwapn/Lb9mOgoaDUJSNYkdgkbZ6enOu+n4MMm4v6jvb0dW7ZswSuvvIKqqiqXl8/NzcXSpUtx9913d3mOQYFP4rBB2lYPRXstZIYmwOHjk4AkEthC1LBGaGALj4dDyi4LMWltbcWuXbuwZs0anD592q11DBgwAAsWLMDs2bMRHs6rXAQKNhGTpzQ1t3RpDT5fVoHqmlpU11wIDJdXVnc5iTkY/PWl7RiZe5u/x+gX4kOtuD4hMALkRMQmYiIiIqL+gCFiIiIiIhEzGM0oYYjYLy4VIiYKZm1mGb7QRfl7jH5j5bO/wft7Nvt7jIsKUamczcXdw8XZ6anISEtx6yQJ8i6GiPsfs9mM3bt34+WXX3Yr8Hf11Vdj8eLFmDJlCuSXuWoC+ZfU0gGFvhyythpIfB0cvgiHRApbRAIsUWmwq9hwH8zOnTuHrVu3YuPGjWhubnZ5ealUijFjxuDRRx/lyQkBiiFiupwOgxEVVdWoqqlFRVUNKqt1qKqpQ3llFapq6lBVXYOa+gbY7YHxN8hTpFIp8pb9BfdNy/P3KP2CNsyMEfF8HZMoUAgh4sGZWsgYIiYiIiISJb7qT0RERCRqPChLRJ4lk/I8VF8Kj4xGcmo66muqYbZY/D1OD0aTCcWl5SguLQcOfNXj8yqlEumpyUhPSXK+z0hLQUZKMtJTk5GSpIGCgUQir1MqlZg+fTqmTp2Kffv24eWXX8bXX3/d5+VPnDiBxYsX49lnn0V+fj7mzp2L0NDAvlpBfyMzt0GuL4e8vRYIsM4IicMOeWsN5K01sIdEwxydBlt4vL/Hoj6y2+04cOAA1qxZg3379sGdTpLo6GhMnz4dixYtQnp6uhemJCJPMBiNztZgoUG4S5Owrha6unq3fg8EK01CPObMmIHr7slHtDrO3+P0G3zdgSgw8SeTiIiISLzYRExEREQkYh1GM0rZROwXbCImsbI5gE/KY3jgwIeEFibhksDCAfzq2jrnx2eLS9HS2ubvUd0SEx3lbDHOykhDUmKCs914UHYmIiN4iXNPYxMxAcDBgwexfPlyt0KB8fHxeOSRR/Doo48iJibGSxNSX0jN7VA2nIXM0OTvUVxiD1HDFDcAdlWkv0ehi2hpacH27duxevVqlJWVubWOnJwczJ8/H8Cqa6gAACAASURBVNOmTeOJB0GCTcTi1dTc0mUfoqqmrtPtWlRW1wTt/kRv5DIZHA4HbG42Io/MGY4lC2Zjxv0TYHQo8UU1r8bjS9nRBgyKNvp7DCL6EZuIiYiIiMSPdT9EREREIsYeYiLyNJkECJHbYbDyoIGvhCsuHPiOiY5CTM5wjMwZ3uvjugcDzpdVdAkIlJRVBGRrWFNzC5qKTuJo0clePy+EjDuHi4XQsVaTgGRNoo8nJhKH0aNHY/To0Th16hRWrFiB3bt3w9LHxvP6+no899xzWLlyJWbNmoUlS5YgJSXFyxNTZxK7FQp9GRTNFYDjx4CUA0GzAyA16hFaeRTWiESY4wbCIVP4eyT6UVFRETZu3IidO3fCYDC4vLxSqcQ999yDefPmYezYsV6YkIg6M1ssqG9s6tIWXF1bh+qaWlT/eF9FZTUsVqu/R/WYEJXKuV+QpElAkiYRSYkJMJpMOHDoCD7a/yWsbvx7Q1QqPDjxbvzysYdxzdAhzvvDYINE4oDDESR/ZEUgXO5e+JuIiIiIiIjcwyZiIiIiIhFjE7H/sImYxOxobQTqjAz7+EpOfDuSwsxXvB6jyYRqXW2PcLEQOC6rqILNZvPAxL7VOUTQPVycnZ6KjLQUSKUMvXfGJmLqTXl5OV599VVs2bIFHR0dLi2rUCjwwAMPYNmyZbjqqqu8NCEJ5O11UNb9AIm9b6HvQOeQymGOGwhrpNbfo/RbFosF7733HgoKCrB//3631pGQkICZM2ciLy8PycnJHp6QfIVNxIHFYDRCV1PXozW4832l5ZWwu9m2G4hioqOcz+WFEwmTNQnO+wZkpSM68qcWe5PZjJ3vvI+X1mxE0anTbm0zKyMNC2dNxSMzH0RcjLrXxxyoikYHT6T1mZu0LYhSBt++KZFYCU3EgzK0kMv5u5CIiIhIjBgiJiIiIhIxg9GCkso6hoj94MvDRzF3yW/Q3mHApHvuwurn/uLvkYg85nRTGEpaVf4eo9+4OakVkQrvN4eZLRZUVul6hIuFsEJpeSU6DMF3SVmlQoGUZK0zgCAEjYX3aSnJkMtl/h7TpxgipktpaWnB9u3b8fLLL6OmpsalZSUSCX7+859j2bJlyM3N9dKE/ZfEYYei4RwULZX+HsUrrOHxMMcPYSuxD9XV1WHbtm1Yv349Kivd+74aMWIE8vPzMXnyZCgU/L8LdgwR+07nq4gIweDOTcLnS8qgb2n195geo1QoEBejRpI2scsVRjqf/JeakgSFvG8XUC0uLcdrW9/Ehm1voaFJ7/I8EokEd/xsNPJmT8MD99wFmezS+wPf1oWj1sDnzr5yZ6oecikPXxMFCmeIOFMLuYwhYiIiIiIxYoiYiIiISMTYRExE3lDZrsKJhjB/j9EvSODAnWl6yALkyrlNzS09wsVC4OFscSlaWtv8PaJbYqKjuoSLOwcbBmVnIjIi3N8jehRDxNQXJpMJe/bswfPPP4/z58+7vHxubi7y8/MxceJEtoF7gMzcBmXNSUgtBn+P4lUOeQiMCVfBHtp7EyR5RmFhIQoKCrBjxw6YTCaXl1epVBg/fjwWLVqEG264wQsTkr8wROwZwnPmLuHgmlpU11wIDJdXVqOt3bXW/0AmXBmk80l7wvNp4b701OTLBnX74ouvj+KV9Zux+/2P3bqKSmREOKbffy+WLpiDoYMH9Hm5M80hON8c6vL2yHUhcjvGJjf7ewwi6kQIEQ/O1ELGEDERERGRKDFETERERCRiBqMZJQwRE5GHGaxSfF4V7e8x+oUYlRU3aoKngaxzo1rnsLHQqqarq0cwvgwhhIw7h4uF0LHQnhZMGCImV9jtduzbtw/PP/88vv32W5eXz8rKwsKFCzF//nyoVGyxd4e8vR7K2lOQOMRzufpLkkhgihsIa1SKvycRFZPJhA8++ACrV6/G119/7dY6tFot5s6di7y8PMTFxXl4QgoEDBFfmtFkQrWu1nnljs7Pe4X7yiqq3Aq3BqqY6Cjn890kTQKSNF0bhH3xXLi1rR1v7NmLFRu24NTps26tY1B2Jh5+aDIWzpkOdVSky8s3GBU4Uhvh1rbJNcnhZlwTx9cwiQIJQ8RERERE4scQMREREZGIsYmYiLzl86ooGKxX3iRFlzYw2oAB0UZ/j+ExQvDipybjui6B42ANXQjta72Fi7PTU5GRlhJQTawMEZO7Dh48iOXLl+PDDz90ednExETMnz8fixYtQlRUlBemEydFczmUDecB9L+XcM3qdFhis/09RtCrqanBxo0bsWHDBtTX17u1DqFZ/N5774VcLvfwhBRI+nOI2GA0OluDhQbhLk3CQXxC3MV0P1Gue5NwemoyIsL9dwWas8Wl2LD9bazbshNNza5/T0qlUtx+Sy6WLJiNe++6DRKJ+5d3sTuATytiYBPPf3/AyolrR1K42d9jEFEnQoh4UKYWcoaIiYiIiESJIWIiIiIiEWMTMRF5y8nGMFS0sVHS23I1rVCrrP4ew2fMFgsqq3Q9wsXC5aBLyyvRYQi+ULVSoUBKsrZLMKNz4DgtJRlyue9C+QwR05UqKirCqlWr8Pbbb7sc/I+MjMSMGTOwbNkyaLVaL00oBg4o689C0VLp70H8yhqhgSlhCCBhWMFVBw8exNq1a7F3715Yra4/lwgPD8eDDz6IvLw8DBs2zAsTUiASa4i4+9UyOj/XrKqpRWV1DVpa2/w9pseolErEqqOdJ7kJJ7cJ4eBkTYLPn3/2ld1ux7++OIQV6zbjvU/2uxXajo6MxJxpk7Bs4Txkpnmu1f5IbQQajAqPrY96d1tKM1SyfnL1BaIgwSZiIiIiIvFjiJiIiIhIxNhETETeUtOhwLF6Xs7Vm+QSB+5IbYZEwt32zpqaW3qEi4WGuLPFpUEbABGa4IRwsdAIl52eikHZmYiMCPfYthgiJk8pLi7G2rVrsWnTJhiNrgX8VSoVJk2ahF/96lcYMGCAlyYMXqr6HyBvqfL3GAHBGh4PU+Jw4AoaJPsLk8mEPXv2YOXKlTh58qRb68jKysKcOXMwd+5cxMTEeHhCCnTBFiI2Wyyob2zq0hZcXVuH6ppaVP94X0VlNSxuBOkDVecrYCRpEpCkSezyvFGrSUBSYsIVte76Q3NrKza9sQfL129GSVmFW+u49uqhyJ8zHTOn3Iew0BAPTwgUt4TgB32ox9dLP4lUWHFzUqu/xyCibhgiJiIiIhI/hoiJiIiIRIwhYiLyFpsD2F+phsUeXAeng0lKhAlXx3b4e4yg071pTggbB/tlqLtfbrpzk7HQLtdXDBGTp9XX12P9+vVYu3Yt9Hq9S8tKpVKMGzcOv/rVrzBy5EgvTRhclA3noGgu9/cYAcUaqYUp4Sp/jxGwiouLsXnzZmzatAlNTU0uLy+VSjFmzBjMmzcPEyZMgEwWeO2k5BuBFCI2GI3Q1dT1aA3ufF9peSXsdvE0lsZER/XaGizcNyArHdGRkf4e06NOnz2P1Zt24PXtb6O9w+Dy8jKZDONvH4Mn8ubgzjE3eWHCnxisUhyoikbw7UkEj8FqA7Kigu/KM0RiJ4SIB2VqIWeImIiIiEiUGCImIiIiEjGGiInIm042hqOijSFEb8nVtECtsvl7DNExmkyo1tV2ajKu6xI4Lquogs0WfF/3zq103cPF2empyEhLgVR64WAfQ8TkLW1tbdi6dStWrFiB6upql5fPzc3F0qVLMX78eC9MFxyUTSVQNJX4e4yAZIlKgTl+kL/HCBh2ux0HDhxAQUEB3n33Xbf+dkVGRmLy5Ml47LHHMHjwYC9MScHGVyHizid9db6qhHDf+ZIy6FvE00aqVCgQF6NGkrZna7DwXC01JQkKudzfo/qEzWbD+59+jlfWb8EnB75yax2ahDjMnfYAFs2fibRkrYcnvLjDNRFoNCl8tr3+RCIBxiQ3I1QmnhMDiMSCTcRERERE4scQMREREZGIGYxmlDBETERe0myW46BOXE1YgSJMbseY5GZ/j9EvmS0WVFbpeoSLhfa70vJKdBiCrx1LqVAgJVmL7PRUaBITEJmYjiGDspGZmYmMjAykpqZC3k+CK+R9ZrMZu3fvxksvvYQffvjB5eWvueYaLFq0CFOmTOlX35fythqoar/z9xgBzRw3EJboVH+P4Vetra3YtWsX1qxZg9OnT7u1joEDB+KRRx7BnDlzEBYW5uEJKZh5IkTc1NzSpTX4fFkFqmtqUV1zITBcXlmNtnbxXG1DOJFLaA3ufOUI4b701GQ2fAOorW9EwRu7sLpgO8oqXT/ZCABG5gzHwllTMXvqJISoVB6e8PKq2pU43hDu8+32BwkhFoxMbPP3GETUC4aIiYiIiMSPIWIiIiIiEWMTMRF527+ro9Bu4QFxT+NlXAObEI7pHC4WQjJni0vR0hqcB7/VajUyMjKQmZnpDBdrNBokJSVhwIABiIiI8PeIFGTsdjv27duHF198EUeOHHF5+czMTDz66KOYN28eQkJCvDBh4JCa2xBSeRQSB9v3LkkihSFpBOwh0f6exOfOnTuHdevWYevWrWhvd33fTiqVYty4ccjPz8ett94KiUTihSkp2F0qRCxczUE40UpoDe58ZYdgvaLDxcRERznbgpM0CUjSdG0QFt7TpR0tOonXtr6JrW+9A4PR9X0clVKJiT+/HUsXzsVNo67zwoR9Z3MAn1WoYXXwd6injUhohzbU7O8xiKgXQoh4UKYWcoaIiYiIiESJIWIiIiIiEWMTMRF5W2WbCicawyABwJ1Lz5BLHRiT1AyljF/RYNX5Et2dw8adL9MdjISQsVarhVar7RE4VqvV/h6RAtjBgwexfPly7Nu3D66+HBkfH49HHnkEjz76KGJiYrw0of9I7DaEVH4DqUU8zZze5JApYEi9AQ6Z0t+jeJ3dbseBAwewZs0at352ACA6OhrTp0/H4sWLkZaW5oUpSQyMRiN0Oh1+OFuMsvIK2BrLujYJ62qhq6t363swUMVER/XaGizcl56ajIhwNnW7y2yx4J0PP8WKdZvx5eGjbq0jKTEBebOnYdH8GUiIi/XwhO77QR+K4hZxn9zkayE/XomH0USiwMQmYiIiIiLxY4iYiIiISMTYREyB6Ph3p1FZXYvxd4zx9yjkAQ5IcKAqCgYrDyJ4SnaUEYPUBn+PQV4kNPn91GRc1yVwHKwtfiqVCklJSc5wcffAcXp6OqRS/q7o706ePIlXXnkFu3btgtVqdWnZ8PBwzJo1C0888QSSk5O9NKHvqWpOQt4enCcX+IstRA1j8rX+HsNrmpubsWPHDqxevRplZWVurSMnJwfz58/HtGnTEBoa6uEJKZjo9XrodDrU1NSgpKSkx+2qqiq0trb6e0yPUSmViFVHI0nbtTVYCAcnaxKQlpIMuZxXU/GG6to6bHnz/7Byw1ZU6mrcWsfInOFYsmA2Ztw/ISD/n8x2CQ5URcNqZxuxp1wT147kcLYQEwUqNhETERERiR9DxEREREQixhAxBaL3PtmPSXMXIWfYEPznsscw5d6f83LKQY5txJ4jlzpwa3IzFFJ+Jfszs8WCyipdj3Cx8L6ishoWF8OXgaBzyFij0fQIHKempkIul/t7TPKRsrIyrFq1Cps3b4bB4NqJE0qlEvfffz+efPJJDBkyxEsT+oa8vR6qmhP+HiMomeKHwBqV5O8xPKqoqAgbN27Ezp07Xf65AC78bNxzzz2YN28exo4d64UJKZCYzWY0Njb2CAdXV1ejpqYGpaWlqKyshMVi8feoHhOiUjnDwUmaBCRpEp1NwkJgOCkxgfuXfnC06CRWrN+MN/a859bz1BCVCg9OvBu/fOxhXDM08P+2n2kOxflmthF7Qpjchp8ltUIi4T4wXd57n+xHeFgoxt50o79H6VcYIiYiIiISP4aIiYiIiETMYLSgpLKOIWIKKEKIWMAwcfBjG7HnsIWY+qqpuaVLuLjzJcfPnC9Ba1tw/t1Xq9XOYLEQLhYCxwMHDkR4eLi/RyQPa2howLp167Bu3To0Nja6tKxUKsW4cePw5JNP4sYbgy9IILFbEVpxGBKryd+jBCWHVA5D2o1wyJT+HuWKmM1mvP/++ygoKMD+/fvdWkdiYiJmzJiBvLw8UbV092dGoxE6na7XBmHhfVlZGex2u79H9ZiY6KheW4OF+wZkpSM6MtLfY1InRpMJb/7zA7y0ZiOKTp12ax3ZGWnImzUVC2ZNRaw62sMTeg/biD3n6rh2pLCFmPro2RVr8fu/v4SbbxiJXz++ABPG3e7vkfoFIUQ8OFMLGUPERERERKLEEDERERGRiLGJmAJR9xCxgGHi4FZnVOBobYS/xwhqoXI7bta2QM4WYvIAIWTcOVwshI6rdLXQ1db5e0S3CCFjrVYLrVbbJXCcmZmJ6OjgCZ9QVx0dHdi8eTNeffVVVFRUuLx8bm4uli5dirvvvjtonkeo6n+AvKXK32MENWtEIkyJw/w9hlvq6uqwbds2rF+/HpWVlW6tY8SIEcjPz8fkyZOhUCg8PCF5i16v7xII1ul0KC0t7XJbr9f7e0yPUSoUiItRI0nbszU4WXPhdmpKEhS8GkHQKC4tx2tb38SGbW+hocn171WJRII7fjYaebOn4YF77oJMJvPClN5X0qrC6aYwf48R1KKVVuRqWhEkT90oAAghYgHDxL7BEDERERGR+DFETERERCRibCKmQHSxELGAYeLgVVgXDp0huNsA/em6hHYkhrKBibzP6pDgfHsojG0NKC0tRUlJCUpLS7tc/jxY2w1VKhWSkpKc4eLugeP09HRIpTzoGcjsdjv27duH5557DoWFhS4vP2zYMCxZsiTgQ5VScztCK44A4EuzV8qQdC3soWp/j9FnhYWFKCgowI4dO2Ayud5CrVKpMH78eCxevBijRo3ywoR0JfR6fY+/qcJtnU6HiooKtLeLZ988RKVyhoOTNQnOBuHO96WnJgdtSJR+4nA48Om/D2Ldlp3Y/f7HsNlsLq8jKjIC0yb9AksXzMHQwQO8MKVvOQAc0kWi2cwAvDskEgdu0rQiUun69xL1X91DxAKGib1LCBEPytRCzhAxERERkSgxRExEREQkYmwipkB0uRCxgGHi4GOyS/FFVRQsvKSry7RhZoyI5+9p8g2rQ4JKqxoxkRcP/ZvNZlRVVXW5jHrnwHFlZSUsFosPp/aMziFjjUbTI3CcmpoKOZsQA8bBgwexfPlyfPjhhy4vm5aWhocffhgPP/wwoqKivDDdlVHVnIS8PTgbwQONLUQNY/K1/h7jkkwmEz744AOsWrUKhw8fdmsdWq0Wc+fORV5eHuLi4jw8IV2OyWRCdXV1lwZh4e+jcLu8vNytYGWgiomOcrYFJ2kSkKTp2iAsvCdxa21rxxt79mLFhi04dfqsW+sYlJ2JRfNm4OEZUxARLq7m3lazDF/VRMLh4D6wq7KjjRgUbfD3GBRkLhYiFjBM7B3OEHGGBnI5TwwiIiIiEiOGiImIiIhEjE3EFIj6GiIWMEwcXCrbVDjRKK4Dw96mlDpwc1ILVLLga32l4NSXEHFfCG2LJSUlXUJUJSUlOHfuHNra2jw0sW+p1WpnsFgIFwuB44EDByI8PNzfI/Y7RUVFWLVqFd5++22XA3pRUVF46KGH8OSTT0Kj0XhpQtewhdjzjMnXwhYSeG3EOp0OBQUF2LBhA+rr691aR25uLvLz83HvvffyJAcvMRqN0Ol0KC0thU6nc751DgnX1tZCTIdShL91Qlu/RqOBVqtFUko6IqNjcUt2lOjCnuSas8Wl2LD9bby2+Q3oW1pdXl4qleL2W3KxZMFs3HvXbaLelz/THIrzzSH+HiOohCvsuEnbDJl4vy3ISy4XIhYwTOxZbCImIiIiEj+GiImIiIhEjE3EFIhcDRELGCYOHicawlDZroIEjEddjgTAyIQ2xIcGX6MrBS9PhYgvp7dLuncPHAej7sGrzoHjzMxMREdH+3tE0SouLsbatWtRUFAAk8nk0rIqlQqTJk3Cr3/9a2RnZ3tpwj7OwhZij7OHRMOQfJ2/x3A6ePAg1q5di71798Jqtbq8fHh4OB588EHk5eVh2LBhXpiw/9Dr9b22Bgu3q6qq0NrqekAyUKlUKqjVami1WmRmZjrDwZ1vX6p132Cyod1gRnZIi48np0Bgt9vxry8OYcW6zXjvk/1uBeejIyMxZ9okLFs4D5lpKV6YMvA4HBIcqYtAo5EnevSFXOpArqYVEQrxNLeT7/Q1RCxgmNgzhBDx4EwtZAwRExEREYkSQ8REREREIsYQMQUid0PEAoaJA5/NARzSRaLVwoOolzNIbUB2lNHfY1A/46sQ8eUIl4YXwsXdA8dlZWWw24OvoVulUiEpKckZLu4eOE5PT4dUygOvV6Kurg4bNmzAmjVr0Nzc7NKyUqkU48aNw69//Wtcd53vQ6cSixFh5YfA02w8z5g6CjZlhN+2bzKZsGfPHrzyyis4deqUW+vIysrCnDlzMHfuXMTExHh4QnExm81obGzsEQ7u/HeksrISFot4TtTq/PdFaMjvHhLWaDRXtI/EEHH/1Nzaik1v7MHy9ZtRUlbh1jquvXoo8udMx8wp9yEstP+18ppsUhzURcJo43O8y8mJb0dSmNnfY1CQcjVELGCY+MowRExEREQkfgwRExEREYkYQ8QUiK40RCxgmDiwGaxSHNRFwWzn/013QkNzYqgF1yW0+Xsc6ocCJUR8OWazGVVVVV1aIzsHjisqKtxq+PS33kJgnQPHl2qIpK7a2tqwdetWrFixAtXV1S4vn5ubi6VLl2L8+PFemK53iqYSKJtKfLa9/sQSlQJz/CCfb7e4uBibN2/Gpk2b0NTU5PLyUqkUY8aMwbx58zBhwgTIZDIvTBlcjEYjdDpdrw3CwvtgPdHkYtRqda+twcLfiaysLERFRXl9DoaI+5fCk99j9aYd2Pb2O+gwuH5io0Iux6TxdyJv9jTcOeYmL0wYXJrNcnyti4R4fjN5XmakCUNiOvw9BgUxd0PEAoaJ3SOEiAdlaiFniJiIiIhIlBgiJiIiIhIxg9GMEoaIKcB4KkQsYJg4cOlNchypjYDNwf+X7qKVVoxKbINcyl1y8r1gCRH3hV6vdwaLu1+m/ty5c2hrC76gvkKhQGxsrDNIJoSLhSDZwIEDER4e7u8xA4rZbMbu3bvx4osv4syZMy4vn5OTg8ceewwPPvig1wOcYeWHILEYvLqN/saBH0/QkSlgSL8JDon3gw12ux0HDhxAQUEB3n33Xdhsrl+SPTIyEpMnT8Zjjz2GwYMHe2HKwKTX67sEgnU6HUpLS7vc1uv1/h7TY5RKJWJiYpyN9EIrfefbKSkpUCgU/h4VAEPE/YHNZsP7n36OV9ZvwScHvnJrHZqEOMyd9gAWzZ+JtGSthycMblXtSpxoCOf1BnqRGGrGtfEdkEj41SH3XWmIWMAwsWvYRExEREQkfgwRExEREYmYwWhBSWUdQ8QUUDwdIhYwTByY6g0KfFsXwTamTiKUNtyY2AoFA8TkJ2IKEV+OEDLufHn77oHjYKRWq53txZ2bK4W36Ohof4/oF3a7Hfv27cOLL76II0eOuLx8ZmYmHn30UcybNw8hIZ6/FLvM0ISQ6kKPr5d+YkocBmtEotfW39rail27dmHNmjU4ffq0W+sYOHAgHnnkEcyZMwdhYWEentC/evudK9zW6XSoqKhAe7t49kuFZvmLNQhrtVqkpaUFVbs0Q8TiVVPXgE07d2N1wXaUVbre3g8AI3OGY+GsqZg9dRJCVCoPTyge5W0qnGr88fe7cKZLPxcXYsHIhDZI+bWgK+SpELGAYeK+YYiYiIiISPwYIiYiIiISsQ6jGaVsIqYA460QsYBh4sBT06FAYUM4HGwkRqjchlxtG1RSxqrJf/pTiPhyTCYTqqurneHi7uG3srIy2O3B9/MqBNuEoHH3wHF6ejqkUnEf/D148CCWL1+Offv2wdWXP+Pj4/HII48gPz8farXaYzOp6k9D3uJecIv6xhoeD5Pmao+v99y5c1i3bh22bt3qVghWKpVi3LhxyM/Px6233hp0z1GF35WdG4SF1nfhdnl5uVuNzIFKrVZ3CQQLv1OF28LnxIYhYvE5WnQSr219E1vfegcGo9Hl5VVKJSb+/HYse3QeRl9/rRcmFKfS1hB83xTq7zECAq/CQ57k6RCxgGHiS2OImIiIiEj8GCImIiIiEjGGiL3ruVdew7fHT/l7jKBTXVuHL74+6vXt3HhdDv7wy8cx/o4xXt8WXZ6uQ4njDeGw9+M90AiFDSMT2hAqD75AIokLQ8R9ZzabUVVV1SUw1zlwXFFRAavV6u8xXdY5ZNw5HCcEjlNTUyGXy/09pkecOHECK1euxK5du1z+v4qIiMDMmTPxxBNPIDk5+YpnCSs/BInFcMXroYtzSOXoyLgF8EBI126348CBA1izZo1bYXQAiI6OxvTp07F48WKkpaVd8UzeYDQaodPpUFpaCp1O53zrHBKura11698fqIQ2d61W26U1WDjZIi0tDeHh4f4e0y8YIhYHs8WCdz78FMtf24Svjnzr1jqSEhOQN3saFs2fgYS4WA9P2D+UtIbgh6ZQiOe3p+tiVVZcl9gGuaQ/fxXIk7wVIhYwTNw7hoiJiIiIxI8hYiIiIiIRMxjNKGGI2GsmzV2E9z7Z7+8x6DLYTBw4mkxyHKuLgNne//4f4kIsGBHfDgXblygAMETsWXq93hksFsLFQgjv3LlzaGtr8/eILlMoFIiNjXWG6oRwsRA4HjRoEMLCwvw9pkvKysqwatUqbN68GQaDa0FepVKJ+++/H0899RQGDx7s1valVgNCyw65tSy5xpAyEnZVlNvLNzc3Y8eOHVi9ejXKysrcWkdOTg7mz5+P6dOnIyQkxO1ZrpRer++1NVi4XVVVhdbWVr/N52kqlQpqtbpLILj7bTGdJOENDBEHt+raOry2eSdWF2xHXUOjW+u4OoVsHAAAIABJREFU+YaReCJvDu4ffxfkcpmHJ+x/+vPJtMnhZgyPawfjhr2b8/iv3f457c9KyitxrsS952euGDN6FP749OO47eZcr28rGDBETERERCR+DBETERERiRibiL2LIeLgwjBxYDBYZThSG4EOa/856JASbsYwHjylAMIQsW8JIePq6mrU1NT0CBzr9Xp/j+gWocmze1BPeIuOjvb3iL2qr6/H+vXr8dprr6GpqcmlZaVSKcaNG4ennnoKN9xwg0vLylsqoao/49Iy5B5LbBbM6gyXlysqKsLGjRuxc+dOl4PmwIWw+T333IN58+Zh7NixLi/vCrPZjMbGxh7h4M6/ZyorK2GxWLw6hy/11qDePSSs0Wj4PP8KMUQcnI4WncSK9Zvxxp73YHHjCgkhKhUenHg3fvnYw7hm6BAvTNi/NZvlOFoXAbOt//x+So80YmgMr75wKdk33IHyKp2/x6DLYDPxBUKIeFCmFnKGiImIiIhEiSFiIiIiIhFjiNi7GCIOTgwT+5/ZLsHJhjDUGsQdYJRKgCFqA9Ijjf4ehagLhogDi9FohE6nc4aLuweOy8rKYLfb/T2myzoH/oQm486B44yMDL/+HW5vb8eWLVvw6quvoqKiwuXlc3NzsXTpUtx99919+neoak9B3lbrzqjkIluIGsbka/v0WLPZjPfffx8FBQXYv9+95/WJiYmYMWMG8vLykJyc7NY6OhN+J/TWICy8D9bfCxejVqt7bQ0WwsJZWVmIinK/XZr6jiHi4GE0mfDmPz/Ai6s34vh3p91aR3ZGGvJmTcWCWVMRqw7Mk3/EwmCVoqghHHqTuJvQFVIHhse2QxMmnpNYvIUh4uDS38PEDBETERERiR9DxEREREQixhCxdzFEHNwYJva/ynYlvmsMg80hvq9/uMKGEfEdiFS43gRG5G0MEQcXs9mMqqoqlJaWOoOFnQPHFRUVsLrROuhvvbWKdg4cp6amQi73ftDGYrFg165dWL58Ob7//nuXlx82bBiWLFmCKVOmXHLe0IrDkJr5fNwXHDIFOjJuueRj6urqsG3bNqxfvx6VlZVubWfEiBHIz8/H5MmToVAo+rSMXq/vEggWfp473w7WdvLeKJVKxMTEQKvVOt8yMjK63E5JSenz14+8jyHiwFdcWo7Xtr6JDdveQkOT678vpFIpbr8lF3mzp+GBe+6CTCbzwpTUG4dDgnMtITjfEgIxHpmNVVlxTXwbQmQi/Md5AUPEwam/homFEPHgTC1kDBETERERiRJDxEREREQixhCxdzFELA4ME/tXu0WGooZwtJiD+OC1A8CP3zoSCZAWYcQQtQFSfjtRgGKIWHz0er0zWCyEi4VQ4tmzZ9HeHnzPAxUKBWJjY53NpEK4WAgcDxo0CGFhYR7bnsPhwIcffoi1a9e61UiblpaGRYsWYc6cOT3ncjgQXnIAcIinOTbQdWT+DA5pz1B3YWEhCgoKsGPHDphMJpfXq1KpMH78eCxevBijRo3q8jnh57Bzk7hwW6fToaKiIih/Fi9GOBHgYg3CWq0WaWlpDCgGGYaIA5PD4cCn/z6IdVt2Yvf7H8Nms7m8jqjICEyb9AssXTAHQwcP8MKU1FdNJjmON4TBYBXH70epBBgQZUBWtBHcBe47hoiDW38LE7OJmIiIiEj8GCImIiIiEjGGiL2LIWJxufG6HCz/2+9x/Yir/T1Kv1TZrsQZfShMtuA9GBETYsXQGAPbhyngMUTc//QWbuwcOA7W5lO1Wu1sL+4cZMzMzERWVhaioqLcWm9hYSFWr16Nt99+2+WgVlxcHBYsWICFCxciNjYWACC1GBBafsitWcg9huSRsIdc+P83mUz44IMPsGrVKhw+fNit9SUkJGDcuHHIzc1Fe3s7ampqUFJS4mwVLi8vdyvUF6jUanWXQHD31nDhcyQ+DBEHlta2dryxZy+Wr9+M734459Y6BmVnYtG8GXh4xhREhHvu5Bu6Mg5IUNaqwtnmEFjtwRu9TQi1YGhMB0LlPFHKVQwRi0N/CROziZiIiIhI/BgiJiIiIhIxhoi9iyFi8chIS8F/LFmI+Q9NgVwujjagYGSxS3CuJRRlLUo4gqjDKFRuxyC1AUlhZn+PQtQnDBFTd0ajETqdzhku7h44Lisrg90efOEQoSlVCBp3DxxnZGRc8ioExcXFWLt2LQoKClxurQ0LC8PUqVOxZMkSDNJEIaTmxJX+c8gFpoQhqGiXoKCgAOvXr0dDQ4Nb61EoFLBarRDTS+hC+F6r1XZpDRZ+NtLS0hAeHu7vMclPGCIODGfOl+D1Hbvw2uY3oG9pdXl5qVSK22/JxZIFs3HvXbfxijsBzGiT4Iw+DFXtwfW8PEJpw9AYA2JVFn+PErQYIhaXMaNHoWDFc0hLFudJVmwiJiIiIhI/hoiJiIiIRIwhYu9iiDj4MTwcmEw2KcrbVChrVcESwK1MoXIbMiLNSIswQhq4YxL1wBAxucpkMqG6uhqlpaXQ6XQ9AscVFRWwWoOvhb1zyLhz26oQOE5LS4NMJkNtbS1ef/11rFmzBs3NzS5tQyqV4rZbRuO/Ft6P64fy8vG+8OWx77Bi9378c9+/gvL70l0qlQpqtbpLILj77dTUVMjlcn+PSgGMIWL/sdvt+NcXh7Bi3Wa898l+t05eUEdFYvbUSVi2cB4y01K8MCV5S4dVhtJWJSraQmAP4KO2UUob0iONSA4zg9n0K8MQsXjcfMNI/OU3T+C2m3P9PYrXOEPEGRq+fkpEREQkUnzFkIiIiIiI+h2GhwObSmbHwGgDMiKNKG8NQXmbCkZb4ByhjFFZkRllQkKoOYj6komI3KdSqZCZmYnMzMyLPkav1zuDxUK4WAgcnz17Fu3tgXdCm8lkcs7bG4VCgdjYWGcQ86GHHkJ5eTm++OKLPoeJ7XY7Pj3wJf7176/w7JPzsHTmRA/+C6i7Gb/9B3Z/etDfY3icWq1GUlISUlJSoNVqkZycjOTkZGcwWKPRIDY21t9jEpEbmltbsemNPXh53SaUlle6tY5rrx6K/DnTMXPKfQgLDfHwhOQLYfILzb5ZUUaUtoSgsj1wTqiVSID4EAuyIo2ICek/J+cQXU5/CA/3wLMHiIiIiESLIWIiIiIiIuo3GB4OLgqpA9nRBmRFG9BkkqOqXYnaDqVfDqZGKG1ICrUgKdyEULnd59snIgp0arUaarUaI0aM6PXzNTU1KC8vR0VFRZf3wltrq+uXa/c2i8WCmpoa1NTUoLCw8IrXd9foaz0wFV3Knbkjgi5ErFare20NFtqxs7KyEBUV5e8xicjDjp34Dms2v4Ftb7+DDoPR5eWVCgXuu/sO5M2ehjvH3OSFCckfQmQODIkxYFCMAfUGJXTtCtQaFLA5fL8PrFZZkRRmgSbMDJWM+8BEgn4ZHv4RI8RERERE4sUQMREREZGISfjSHhEAhoeDnQRArMqKWJUV9tgONBgVaDQo0GiSo9UigxtX+r0sucSBmBArYkOsiFdZEKG0eX4jRET9iEajgUajwahRo3r9vNFohE6nc7YZl5aWorq6GjU1NSgtLUVZWRns9uANsNwwfBCGZaf5ewzRm/mLsVj27GuwBcD3ilKpRExMDLRarfMtIyOjy+2UlBQoFAp/j0pEPmKz2fD+p5/jlfVb8MmBr9xahyYhDnOnPYBF82ciLVnr4QkpUEgBJIaakRhqhs0hQZ1RgUaDHE0mOdos3nlNQymzI1ZlRYzKioRQC0+eJeqmP4eHBV54+Y2IiIiIAgRDxEREREQi5uBLe9TPMTwsPlIACSEWJIRYAABWuwRNZjlaTXK0W6XosErRYZXBbOvbSRQSiQMhMjvCFXaEyW2IUNgRrbQiUmHjVRqJiHwoJCQEmZmZyMzMxNixY3t83mQyobq6GqWlpdDpdD0CxxUVFbBaA/cS2z+UVsLhcEDCPy5eJZfJIJNJvR4iVqlUSEpKumiDsFarRVpaGmQyPv8kIqCmrgGbdu7Gqo3bUF6lc2sdI3OGY+GsqZg9dRJCVCoPT0iBTCZxQBtqhjbUDAAw2yTOMHG7VXZhH9gi6/MVe6QAQhV2hMutCJM7EK6wIkZlQ7iCJ84S9Ybh4Z9wT4aIiIhIvBgiJiIiIiJy019/uwxLF8719xhB5+tvi/DHZ1/26jYGZKbjd08+hpkPTGR4WOTkUkeXULHAapfAYpfA7pDAapfA6pDA4XBAKr3QMiyXAjKpAwqpHVI/zU5ERH2nUqmcIeOL0ev1zmCxEC4WAsdnz55Fe3u77wbuPltrO/L/uhJr/7TEbzP0B+t27YPZcmVhcrVa3SUQnJSUhIyMDOdt4XNERJdztOgkXtv6Jra8+X8wmkwuL69SKjHx57dj2aPzMPr6a70wIQUjpcwBTZgFGvS+D2xzXHiz2i/sA8skwr6vA1IJoJTaecIsUR8wPExERERE/QlDxEREREREbhox/Cp/jxCUTGaz19bN5mESyKUOyKVsYyci6k/UajXUajVGjBjR6+eFkPF3332Ho0ePorCwEOfPn4der4fdy821ALDt/c/xp0UzkJIY5/Vt9UdmixXPbdzl0jLx8fG47777cO+99zrbg8PDw700IRH1ByazGf/c9y8sf20TvjryrVvrSNYkYsGsqVj88EzEx8Z4eEISK+4DB5d3Nq+G2Wy5/AOpi4Kde/Dq61u9uo1xY2/BH59+nCdvEBEREVG/whAxERERkYhJeJEx6icYHiYiIqLe6PV6HD16FN98843zfUNDg8/nUMjleOuF/2CA2IuUCjn2vvJH/ObFjfjkUGGflqmvr8eGDRtw7Ngx/P73v8dVV/EkQSJyT3VtHV7bvBOrC7ajrqHRrXXcfMNIPJE3B/ePv4v7tUQid/VVg/09QlD6aP8XXls3m4eJiIiIqD9jiJiIiIhI1NhAQuLG8DAREREJrFYrzp49i8LCQhw6dAgHDx7EmTNnfNIyfCmJ8XH4ePWfMTgj2a9z9AfDB6Rj7yt/xL9LWvGnl17DF1/0LWhy9OhRTJ48Gbm5ufjDH/6Am266ycuTEpFYHC06iRXrN2PHnr2wWm0uLx+iUuHBiXfj6UWPMFRIROQHDA/3HY80EBEREYkXQ8REREREosYmYhInhoeJiIhIp9Ph2LFjztDwoUOHYDQa/T1WF4MGDcKeLeswQFrv71H6lRtuvBHvvDMR+/fvx5///GcUFRX1ablDhw5hwoQJGDt2LP7yl7/gmmuu8fKkRBSMjCYT3vznB3hx9UYc/+60W+vIzkhD3qypWDBrKmLV0R6ekIiILofhYdfxSAMRERGReDFETERERCRiDvYDkMgwPExERNQ/tbW14cSJE87A8Jdffom6ujqfbFsikcDhcP15dU5ODt58800kRIcD5QwR+5JDEQYAGDt2LD799FO88847+Nvf/oZz5871afn9+/fjjjvuwMSJE/GHP/wBWVlZ3hyXiILE+dJyrNv6JtZvfRON+maXl5dKpbj9llzkzZ6GB+65CzIZ92mJiHyN4WH3ubNPRERERETBgSFiIiIiIiIKeAwPExER9R82mw1nzpxBYWEhjh07hkOHDuH48eOw2+1e37ZCoUB2dja0Wu3/Z+/Oo6OqzzeAP7Mnk4VAQhIQJeyQQFZIAoi01kptK7SyCSEisilKQVxZAho2xYUGXMISNbIpixWoLbU/20ZEM0BCFgISlgQwkBCykWX2md8fSCpUwkwyd5ab53NOz+mB73vfF4GQmfvMe1FYWIjq6upW3SwfNmwYtm3bBn9/f1hhhVUihcQq/Px0nUXh3fz/JRIJxowZg4cffhj79+/Hq6++ivPnz9/5GhYL9u7di7/97W+YPHkyXnzxRYSGhgo5NhG5IavVin99k43NW3fiL3//P5jNZruv4e/niwljfos/TU/GgL69BJiSiIjuhOHhtpNIuIuYiIiISKwYIiYiIiIiIrfF8DAREZH4lZeXIy8vr3nL8OHDh6HVap3SOyQkBImJiUhISEBUVBRkMhmWLVuGrKysVl/zwQcfxIcffggvL68ff0QCq1INib7BMUPTz7MCkABWuQpW6f++7S2VSjFmzBg89NBD2LFjB1avXm3TNmuj0YjMzEzs3LkTycnJeO655xAUFCTAL4CI3Mm1+gbs3Ps3rMvYgpPFtm0xv1WfnmF4auokTJs0Fr4+agdPSEREtmB4mIiIiIjozhgiJiIiIiIit8PwMBERkTg1NjaisLCwectwdnY2Lly44JTefn5+CA8PR2JiIuLj4zF48ODmMGh5eTnWrFmDLVu2tGnj8dixY/Huu+9CoVDc9ONWpS/AELGwflyMZlH6tHhMqVRi6tSpGD9+PDZt2oS0tDTU1dXd8fJarRYbN27Etm3bMGPGDDz77LPw8/NzxORE5EZOnyvFh598hk1bPkXttXq766VSKX45PAHPTJ+C3z3wC25tJCJyEYaHiYiIiIhsxxAxERERERG5DYaHiYiIxMNsNuP06dPNgWGNRoPjx4+36lHw9pLL5ejVq9dNW4b79ev3P2Eug8GADz/8EKtXr0Z9vf1hsZ+aNm0a1qxZA6lU+j8/Z/LqAFl9eZuuT7YxewXYdE6tVmPevHl47LHHsH79emzYsAE6ne6OdY2NjUhLS8PWrVvx9NNP48knn4RKpWrr2ETkQhaLBf8+pMH6zVvwt6+yYLVa7b5GgL8fpowfg3kzpyLs7rsEmJKIiGzB8DARERERkf0YIiYiIiISMe67IU/B8DAREZHnKy8vR15eHvLz85Gfnw+NRoPa2lqn9A4JCUF0dDQSEhKQkJCA6OhoeHl5tVhz4MABLF68GKWlpW3uP2/ePCxduvS2P2/27tTmHmQbe/9bd+zYEUuXLsXMmTOxbt06ZGZmQq/X37GuqqoKqampyMjIwHPPPYekpCTI5Xy7nciT1NXX4+NPP0fa5o9x/mJZq64RMygcs6ZMwOSxo6H2bvnfHSIiEg7Dw8Kz/yM2REREROQp+K4mERERkYjxjT1ydwwPExEReaampiYUFBQ0bxnOz8/HqVOnnNLb19cXERERiIqKQmJiIoYPH46goCCb6wsKCrBkyRIcOnSozbNIJBIsW7YMc+fObfGcVa6CReENqVHb5p7UApkCFpVPq0q7dOmC1atXY86cOVi7di22bt1q09bssrIyLFiwAO+99x4WLFiA8ePH/+w2aiJyH3nHT2LDlk+xfc8+NGnvvIH8VkqFAqNH3Y8ZUybgVyOGCjAhERHZiuFhIiIiIqK2Y4iYiIiISMQk3EVMborhYSIiIs9SWloKjUbTHBg+duwYDAaD4H3lcjl69erVHBhOSEhA3759WxXSrK6uxhtvvIGMjAybwqF3IpPJ8NZbbyE5Odmm82bvTpAaW7fpkmxj8u6Etj6P5e6778bbb7+N2bNn4/XXX8e+fftgtd7545lnzpzBnDlzsH79erzwwgsYM2ZMm+YgIscymkzYe+ArbN66E18d/K5V1wjpHIjHJvwRc6ZNRrcuoQ6ekIiI7MHwsAvY8D0xEREREXkmidWWd0CJiIiIyCM16Qw4X3YVaqkJd6kaXT0OEQDgWn0D1N7eDA8TEbmIySpBmSkAHf2Urh6F3NSVK1eQm5uL/Px85Ofn4/Dhw6ipqXFK75CQEERHRzeHhuPj4+Ht7d2maxqNRnzwwQd47bXXcO3aNYfMqVQqkZ6ebldQVKqrg/elYw7pTz9PFzIQZh/bt1LbIicnB8uXL8fBgwftqhsyZAhSUlIwfPhwh85DJCSt3oxGrQE9vRzztdIdVFRW4eOdf8H7H23HxUvlrbpGbGQEnpk+BY/+4XdQyLmbh4jIVV5fvxF/++prhoed7JzOH2arBH3CQiGX8YkbRERERGLEEDERERGRiDFETERERLdiiJh+ymg04sSJE8jOzm7eMnzq1Cmn9Pbx8cHAgQObA8PDhg1D586dHdojKysLCxcutOvXJJVKYbFYbvvzarUamZmZuP/+++2ex/viYUiNTXbX0Z1ZZQo03TMUkAgTbMjKykJqairy8vLsqhs5ciReeeUVREZGCjIXkSOJKUScW1CETdt2YeuuvdDp9XbXq5RKPPzgLzFv1lQkxkULMCEREdmrsUkLH3XbPmBI9rsRIu4bFgoZQ8REREREosQQMREREZGIMURMREREt2KIuH0rLS2FRqNpDgzn5eVB34pwlb1kMhl69+6NqKgoREdHIzExEYMGDYJUKsxN6DNnzmDJkiX45z//aXNNSEgIrl69CrPZfNszHTp0wCeffIL4+PhWzaWovQBl9blW1VLLjAH3wNCpp+B9srKykJKSgqKiIptrJBIJRo8ejcWLF6NXr14CTkfUNp4eItYbDNj/5b+xbtPH+O5o6za/dw0JxvSk8ZgzbTKCOnV08IRERESeh5uIiYiIiMSPIWIiIiIiEWOImIiIiG7FEHH7ce3aNRw7dgzZ2dnIz8/HkSNHUF1d7ZTeISEhiI6Obt4yHB8fD29v4beG1dbWYt26dXj//fdhMBhsqgkICMDQoUNx4MABtPRWaefOnbF7924MHDiw1fNJzAaoL3wH8C1Zh9PeHQ+LQu2UXhaLBfv378fy5ctRUlJic51UKsXDDz+MZcuWoXv37gJOSNQ6nhoivnylEpu27ER65g5UVrXu37lhQ2Ixd0Yy/vCbByCXyxw8IRERkefiJmIiIiIi8WOImIiIiEjEtDoDShkiJiIiop9giFicjEYjzp49C41G0xwaLi4ubjEU6yg+Pj4YOHDgTVuGnR2QNJlM2LZtG1atWoWrV6/aVCOVSjFu3Djcc889ePPNN1s8e88992DPnj3o2bPtm25Vld9DXl/e5uvQf5nVgdCFDnJ6X6PRiO3bt+P1119HRUWFzXVKpRKTJk3Cyy+/jODgYAEnJLKPp4WIDx3OxTsZW/D5gf+DyXT7LfK34+ujxqN//D2enjYZA/v3FWBCIiIiz8cQMREREZH4MURMREREJGLcRExERES3YohYHMrLy28KDOfl5UGv1wveVyaToXfv3s2B4aioKMTFxUGhUAje+3a+/vprLF68GCdOnLC5ZsSIEVixYgV27NiB9PT0Fs/27dsXe/bsQdeuXds6KgBAYtRC/cNhbiN2IN1dcTCr/FzWX6vVYuPGjVi3bh1qa2ttrlOr1Zg5cybmzZuHDh06CDghkW08IUSs0+uxa/8BrE3/CIUnT7XqGj27340ZSeMxPWk8OgXw7x4REVFLGCImIiIiEj+GiImIiIhEjCFiIiIiuhVDxJ6nvr4eRUVF0Gg00Gg0OHr0KKqqqpzSOyQkpDksHBUVhcTERAQEBDil952cO3cOK1aswN69e22u6dGjB1JSUvD73/8e8+bNw44dO1o8Hx0djZ07dyIwMLCt496E24gdx6QOhN4FW4h/TkNDAzIyMrB27VrU19fbXNexY0fMnTsXs2fPhpeXl4ATErXMnUPE585fxOZtu5CxbReqa+vsrpdKpfjl8ATMmDIBf3zoAchkMgGmJCIiEp8bIeI+YaGQM0RMREREJEoMERMRERGJmFZnQClDxERERPQTDBG7N5PJhDNnzty0Zbi4uBjOeAtPrVZj0KBBN20Z7t+/v+B97dXY2Ih33nkHaWlpNm9fVqvVeOaZZzB//nwAwMyZM/HFF1+0WDN8+HBs27YNfn6O33B7fRvxEcBqcfi12xcJtHfFwuLCLcQ/p6qqCu+++y7S09Pt2hDepUsXzJ07F48//jhUKpWAExL9PHcLEVssFvz7kAabt+7EX/7+fzCbzXZfw9/PFxPG/BbzZjyG/n16CjAlERGRuHETMREREZH4MURMREREJGLcRExERES3YojYvZSXlyMvLw+HDx9GdnY28vLy7AodtkVYWBji4+ObA8OxsbFQKt33z4XFYsGuXbuwbNkyVFZW2lQjlUoxbtw4pKamonPnzmhsbERycjKysrJarPvNb36DjIwMQbfCKqrPQVl7AYAVgESwPuLz3/9eJv+u0Af1de04Lfjhhx/w9ttvY9u2bTCZTDbX3X333Xj22WcxZcoUbkslp3KXEPG1+gbs3Ps3rMvYgpPFZ1t1jb69euDJxx7FE5PHwUft7eAJiYiI2g9uIiYiIiISP4aIiYiIiESMm4iJiIjoVgwRu059fT2Kioqg0Wig0WiQk5ODq1evOqV3cHAwYmJiEBUVhaioKCQkJKBjx45O6e0Ihw4dwuLFi1FYWGhzTVxcHFavXo24uDgAQE1NDSZOnIicnJwW6yZMmID169dDLpe3aeY7slrg/cNRSI1NwvYRKatMCe3d8bBKBf59coDTp09j9erV2Ldvn11bxfv164eXXnoJo0ePhkTCoDkJz9Uh4tPnSvHeR9vx0SefoaHR/q+NUqkUD91/H+bOSMb99yby7w0REZEDcBMxERERkfgxRExEREQkYlqdEaVllQwRExERUTOGiJ3DZDLhzJkzyM/Ph0ajQXZ2Nk6fPg2LxSJ4b4VCgfDwcCQkJDRvGe7Xr59HhqnKysqwYsUK7Nq1y+bwZdeuXbFkyRJMmDCh+ddcUVGBsWPH4uTJky3WTp8+Ha+99hqkUufcHJfpauF1Kc8pvcRGHxIBk09nV49hlxMnTuDNN9/E3r177aqLi4tDSkoKRowYIdBkRNe5IkRssVjw70MarN+8BX/7KsuuoP0NAf5+mDJ+DObPehzdu3UVYEoiIqL2i5uIiYiIiMSPIWIiIiIiEWvSGXCem4iJiIjoJxgiFkZ5eTny8vKaQ8MajQY6nc4pvUNCQpCYmIiEhARERUUhJiYGKpXKKb2F0tTUhPXr1yMtLQ16vd6mGm9vb8ydOxfz5s2Dl5dX84+XlpZi7NixKC0tbbF+3rx5WLp0aVvGbhXV1WLIr11yel9PZvIJgj5koKvHaDWNRoMVK1bg22+/tatu5MiRWLp0KaKjowWajNo7Z4aIa6/VY8vOz5G2+WOcv1jWqmvEDArHrCm6xyLTAAAgAElEQVQTMHnsaKi9ve5cQERERHbjJmIiIiIi8WOImIiIiEjEtDoDShkiJiIiop9giLjtGhoacPz48ebA8LfffovKykqn9Pb390dMTExzYHjIkCEIDAx0Sm9nsFqt2LdvH5YuXYoffvjBphqJRILRo0cjNTUV3bp1u+nnTp48iXHjxqG8vLzF+tTUVMyZM6dNs7eWxGqBqiwXMkODS/p7GovCG7q74mCVyl09SptlZWXhlVdeQUFBgV11I0eORGpqKgYO9NwgNbknZ4SI846fxIYtn2L7nn1o0tr/YRulQoHRo+7HjCkT8KsRQwWYkIiIiH6KIWIiIiIi8WOImIiIiEjEuImYiIiIbsUQsX3MZjNOnz6N/Px85OXlQaPRoLCwEBaLRfDeCoUCPXv2vGnLcL9+/SCRSATv7QrHjh3DokWLcPjwYZtroqOjsXr1asTHx//Pz+Xk5GDixImoqam5bb1MJsPatWuRlJTUqpkdRWLUwvtSLiRmo0vncHdWiQy6u2JhUfq4ehSHsVgs2L9/P1asWIFz587ZXCeVSvHwww8jJSUFPXr0EHBCak+EChEbjEbs+8e/sHnrTnx18LtWXSM0OAjJ4/+AOdMmo1uXUIfOR0RERLd3I0Tcp3so5HKGiImIiIjEiCFiIiIiIhHT6owoLatkiJiIiIiaMUTcsvLycuTl5TVvGT58+DC0Wq1TeoeEhNwUGI6JiYFKpXJKb1e6fPkyUlNTsWvXLtj6VmVoaChefPFFJCcnQyr93xvZ//znPzFt2rQWf+9UKhU2btyI3//+962e3ZFkTdXwKi8EwLdrb0cfPAAm3xBXjyEIo9GI7du344033sDly5dtrlMoFJg8eTJeeuklhISI878NOY+jQ8QVlVX4eOdf8P5H23Hx0u03wrckNjICz0yfgkf/8Dso5J6/gZyIiMjTNIeIw0Ih5yZiIiIiIlFiiJiIiIhIxLiJmIiIiG7FEPF/NTY2orCwsHnLcHZ2Ni5cuOCU3n5+fggPD0diYiLi4+MxePBgBAUFOaW3u9DpdNiwYQPefvttNDQ02FTj5eWF2bNnY8GCBfD19f3ZM5999hnmzJkDo/H2W33VajW2bNmCX/ziF60ZXTDy+nKoKr939RhuydipJwwB97h6DMEZDAbs2LEDq1evRmVlpc113t7emDVrFv70pz8hICBAwAlJzBwVIs4tKMKmbbuwddde6PR6u+tVSiUefvCXmD/7cSTERrVpFiIiImqbGyHivmGhkDFETERERCRKDBETERERiZhWZ0ApQ8RERET0E+01RGw2m3H69OnmwLBGo8Hx48dhNpsF7y2Xy9GrV6+btgz369cPEolE8N7u6sCBA1i4cKFdoe1Ro0Zh9erV6N69+23PfPjhh3jxxRdhsVhueyYgIACffvopBg8ebNfMzqKovQBl9TlXj+FWjAH3wNCpp6vHcKrGxkZs3rwZf/7zn3Htmu2BTl9fX0yfPh3PPvss/Pz8BJyQxKgtIWK9wYD9X/4baRszkZ2T16r+XUOCMT1pPOZMm4ygTh1bdQ0iIiJyLIaIiYiIiMSPIWIiIiIiEeMmYiIiIrpVewkRl5eXIy8vD/n5+cjPz4dGo0Ftba1TeoeEhCA6OhoJCQlISEhAdHQ0vLy8nNLb3RUUFGDRokX47rvvbK6JjIzEypUrMWzYsBbPpaWlYfny5Wjp7c6QkBDs3r0b4eHhNvd3BUV1CZS15109hlsw+d8FfVAfV4/hMtXV1XjnnXewYcMG6HQ6m+sCAwPx9NNP48knn4RKpRJwQhKT1oSIL1Vcweatu5CeuQOVVdWt6jtsSCzmzkjGH37zAORyWauuQURERMK4ESLuExYKOUPERERERKLEEDERERGRiHETMREREd1KjCHipqYmFBQUNG8Zzs/Px6lTp5zS29fXFxEREYiKikJiYiKGDx+OoKAgp/T2JFVVVXjzzTeRkZFh8/bnTp064fnnn8eMGTMgk90+VGa1WpGamop169a1eL3u3btjz5496NGjh12zu4qy9jwU1SWuHsOljB26wRDYC0D73dp9w6VLl/Dmm29i27ZtMJlMNtd169YNCxYsQFJSEuRyuYATkhjYEyI+dDgX72RswecH/g8mk/1b/X191Hj0j7/H09MmY2D/vq0Zl4iIiJyAm4iJiIiIxI8hYiIiIiIR4yZiIiIiupUYQsSlpaXQaDTNgeFjx47BYDAI3lcul6NXr17NgeGEhAT07dsXUilvpN6O0WjEBx98gNWrV6O+vt6mGoVCgWnTpmHhwoXw9/dv8azZbMbzzz+Pjz/+uMVz/fv3x549exAaGmrz7O5AVl8Or6vFgNXi6lGcSyKBIbA3jP53uXoSt3PhwgX8+c9/xtatW20O5ANAnz59sHDhQowePRoSCUPZ9PPuFCLW6fXYtf8A3n7/Qxz/vrhVPXqF3YPpk8dhetJ4dAro0JZxiYiIyAkYIiYiIiISP4aIiYiIiESMIWIiIiK6laeFiK9cuYLc3Fzk5+cjPz8fhw8fRk1NjVN6h4SEIDo6ujk0HB8fD29vb6f0FoMDBw5gyZIlKCmxfZvuqFGjsHLlSpu2BRsMBjz11FP4/PPPWzwXGxuLTz/9FJ06dbJ5Dnci1dXBu+I4YDa6ehSnsEpkMISEw6QOdPUobu3777/HmjVrsHfvXrvqwsPD8fzzz2PMmDECTUae7HYh4nPnL2Lztl3I2LYL1bV1dl9XKpXil8MTMGPKBPzxoQda3C5PRERE7uVGiLhPWCjkDBETERERiRJDxEREREQixhAxERER3cqdQ8RGoxEnTpxAdnZ285bhU6dOOaW3j48PBg4c2BwYHjZsGDp37uyU3mJTXFyMJUuW4KuvvrK5pk+fPlixYgUeeOABm85rtVpMnTr1jj1GjBiBrVu3wtfX1+ZZ3JHEqIXXlZOQ6n9+O6hYWJS+0AcPgEXp4+pRPMbRo0exfPlyfPPNN3bVJSQkYMmSJRg2bJhAk5En+mmI2GKx4N+HNNi8dSf+8vf/s2vz9Q3+fr6YMOa3mDfjMfTv01OAiYmIiEho3ERMREREJH4MERMRERGJmFZnQClDxERERPQT7hQiLi0thUajaQ4M5+XlQa/XC95XJpOhd+/eiIqKQnR0NBITEzFo0CBIpbwh2hY1NTVYs2YNMjIybA6bdezYES+88AKmT58OuVxuU01dXR0mTZoEjUbT4rmHHnoIGRkZUKlUNl3X7VmtUNSeh7L2PCDCt3RN/l1hCOwNq4R/D1sjKysLr776KvLz8+2qGzlyJF555RVERkYKNBl5Eq3ejIrKKhw+8CnWZWzByeKzrbpO31498ORjj+KJyePgo+YGfyIiIk/GEDERERGR+DFETERERCRi3ERMREREt3JViPjatWs4duwYsrOzkZ+fjyNHjqC6utopvUNCQhAdHd28ZTg+Ph7e3gw1OYrRaMT27duxcuVKVFVV2VQjl8uRlJSExYsXIzAw0OZelZWVGD9+PAoLC1s8N3HiRKxbt87mYLInkWprobp6ClKj1tWjOIRV7gV9UF+Y1Z1cPYrHs1qt+Mc//oFVq1ahqKjI5jqJRILRo0djyZIl6NmT22Lbq7NnzyJ9wyZ8smM7mprsf/9AKpXiofvvw9wZybj/3kRIJBIBpiQiIiJnuxEi7hMWCjlDxERERESixBAxERERkYhxEzERERHdyhkhYqPRiLNnz0Kj0TSHhouLi+GMt6F8fHwwcODAm7YMd+/eXfC+7VVWVhYWLVqE77//3uaakSNHYuXKlRgwYIBdvS5evIhHHnkE586da/HcrFmzsGrVKnEH2KwWKK5dgqKmBBKLbVuf3YIVwI+/LVaJFKYO3WDs2B1WicylY4mNxWLB/v37kZqaitLSUpvrFAoFJk+ejBdeeAFdunQRbkByGxaLBQcPHsSGDRvw5Zdfturf6QB/P0wZPwbzZz2O7t26CjAlERERuRI3ERMRERGJH0PERERERCLGTcRERER0KyFCxOXl5TcFhvPy8qDX6x12/duRyWTo3bt3c2A4KioKcXFxUCgUgvdu786ePYuUlBT84x//sLmmV69eWLx4McaMGWN3v9OnT2Ps2LEoKytr8dy8efOwdOlSu6/vqSRmA5TV5yBvqAA86G1ek09nGAJ7wSr3cvUoomYwGLBjxw689tpruHLlis11SqUSkyZNwsKFC9G5c2cBJyRXqaurwyeffIL09HRcuHChVdeIGRSOWVMmIGncaHh78e8yERGRWHETMREREZH4MURMREREJGIMERNRe2W0SGCySGCySmG2AGarBGYrIJMACqkFMgkglVihklkgFfGiSqKf09YQcX19PYqKiqDRaKDRaHD06FFUVVU5eMqfFxIS0hwWjoqKQmJiIgICApzSm66rra3FunXr8P7778NgMNhU06FDB8ybNw9PPvkkVCqV3T3z8/MxYcIEXL169bZnJBIJVq5cidmzZ9t9fTGQGLVQ1P0Aef1lSKyW//7ETzb/upxECpNPZxgD7oFF6ePqadqVpqYmbNq0CWlpaairq7O5zsfHBzNmzMD8+fPh7+8v4ITkLAUFBfjoo4+wc+dOaLVau+uVCgVGj7ofM6ZMwK9GDBVgQiJqLYNZArP1+utgsxUwW6WwWAGZ1Aq5xAq51Prja2BAAt4aJiLbMURMREREJH4MERMRERGJmFZnRGlZJUPERCRaRosENXoF6o1SNBllaDRK0WSSwWixLTElAeAlt0AtN0Mtt8BHYUGAygR/hRkSCV8ukzjZEyI2mUw4c+bMTVuGi4uLW/W4c3up1WoMGjTopi3D/fv3F7wv/TyLxYJdu3Zh6dKlLYZ5f0oqlWLcuHFYvnw5goKCWtX30KFDSEpKQn19/W3PyOVypKWl4dFHH21VDzGRWIyQ1/4ARf1lSMy3hLxdFSiWKWD0DYWxQzdY5faHyMlxampqsHHjRrz33ntoaGiwua5Tp0545plnMHv2bHhx46zHMRgM+Pvf/47MzExkZWW16hqhwUFIHv8HzJk2Gd26hDp4QiKyh94iRY1OjnqDDE0mKRpNMmhNUphsfQ0sscJbZoFaYYGP3Nz8GthXYXabzx0RkXu5ESLuGxYKGUPERERERKLEEDERERGRiHETMRGJjdkKXNUqUK2Xo0anQINRJsgOJbnUigCVGR2VJgR5G+CvNAvQhcg1WgoRl5eXIy8vD4cPH0Z2djby8vKg1+udMldYWBji4+ObA8OxsbFQKlu3LZkc6+DBg1i8eDGKiopsrrn33nuxcuVKDBw4sNV9//GPf+CJJ56ATqe77RmVSoXNmzfjt7/9bav7iJMVMl0d5PUVkDVWQmIxObe7VAazOggm3xCYvTsCEsaS3MnVq1fx3nvvIT093a6v8V27dsXzzz+PpKQkyOVyASckR6isrMT27duRkZGBsrKyVl0jNjICz0yfgkf/8Dso+HtO5BImqwRXmv77GrjJJEyATyG1oqPKiE5eJnT2NkItt9y5iIjaBYaIiYiIiMSPIWIiIiIiEeMmYiISA6sVqNLLUd6oQoVWYfOGJUdSKyzoqtaji48RajkDxeTZboSI5dCjqKgIGo0GGo0GOTk5Nm+Ybavg4GDExMQgKioKUVFRSEhIQMeOHZ3Sm2xXUlKC5cuXY+/evTbX3HXXXVi8eDEmTpzYpt67d+/GM888A6PReNsz/v7+2L59O4YOHdqmXqJntUCmq4VUWwu5rg5SfT1gdXAwSCKBWekLi3dHmL06wOLdEVYJAwbu7uLFi1i7di22bt0Ks9n272/uuecezJ8/H1OmTIFMJhNwQmqN/Px8ZGZm4pNPPmnVB4GUSiVGP/hLzJ/9OBJiowSYkIjuxGIFKrUKXG5SoVKrgMUFd3L9lWZ08dEjVG2Al4y3konasxsh4j5hoZAzRExEREQkSgwRExEREYkYNxETkSczWCS4WK/CxQYV9Gb3uUkRoDIhzE+HYLWRj3slj2EymVF8tgQ5hUU4dPgYsg7n4dzZM7BYhN8wplAoEB4ejoSEhOYtw/369YOEm0ndVlNTE9avX4+0tDSbA2hqtRrPPPMM5s+fD5VK1ab+GRkZePnll1v88xkUFIRdu3YhMjKyTb3aI4nVAqn+GqSGRkgMTZCatJAatZCYdNc/udNyNawKFSxyb1iValjk3rAo1bCoOsAqZZjUUxUXF+O1117Dvn37YM/tgv79++PFF1/EmDFjBJyObKHX63HgwAG8//77OHLkSKuuERoaislJyZgwKRlxXbh1mMgVtCYpzjd4oaxeCZPVPb5XlgAI9DYizE+PQK/bf7iLiMSrOUTcPQRyOb/nJyIiIhIjhoiJiIiIRIybiInIE2lNUpTWq1DWoILZTW6c/hxvuQXd/fTo5quDzH3HpHbqUsUV5BYU4dsjx3DocC6OFZ6AVqdzSu+QkBAkJiYiISEBUVFRiImJaXOolJzDYrFg165deOWVV3DlyhWbaiQSCcaPH49XX30VwcHBbZ4hLS0NqampLZ7p1q0b9uzZg969e7e5H91MYrXAajFBYjFDYjFBIpHAIpEBMjkgkcIqYWhAzHJzc7FixQpkZWXZVTd48GCkpKTg3nvvFWgyup3y8nJkZmYiIyMDVVVVrbpGQkICZs+ejd/97ncwmiVo1BrQ0+uagyclopbUG2UoveaFy40KWN34o6p+SjO6++nQVW2ERMLby0TtBTcRExEREYkfQ8REREREIsZNxETkSYwWCU7XeuOHRiWsbhwevpWXzIo+AU3o6mNw9SjUTtU3NKLgxKkfQ8O5OKg5iorK1gWJ7OXv74+YmJjmwPCQIUMQGBjolN7kWDk5OVi0aBGOHj1qc01sbCxWrVqFIUOGtLm/1WrFsmXL8O6777Z4rnfv3vjss89w1113tbknEf287OxsrFixAt99951ddSNHjsSyZcsQFRUl0GR0Q3Z2NjZu3IgvvvgCJpPJ7nofHx+MGzcOM2fOxIABA5p/XKs3M0RM5ERakxTFtd4ob1K6ehS7+CjM6B/QhCBv+7/+EJHnuREi7hsWChlDxERERESixBAxERERkYgxRExEnsAK4FKjEsW1ahjMnhMevpW/0owBHZsQoOKNVBKO2WzGqTMlyCksat40nHf8JCwWi+C9FQoFevbsedOW4X79+kEi8dy/twRcunQJy5cvx65du2Dr24RdunRBSkoKJkyY4JDff7PZjAULFmDr1q0tnouMjMSuXbsQFBTU5p5EdGdZWVlYtmwZCgsLba6RSCR48MEHsXjxYkRERAg4XfvT2NiI3bt3Y/PmzThx4kSrrtGjRw8kJydj6tSpCAgI+J+fZ4iYyDnMVuBCvRfOXfOCyeK530sHehkxoKMWPgqzq0chIgExRExEREQkfgwRExEREYkYQ8RE5O4ajDIUVPmg3iCOx6NLAHTz1aNfRy1kfLwrOcCliivILShCbsEJfHskF98dPYYmrc4pvUNCQm4KDMfExEClUjmlNwlPq9Vi3bp1WLduHXQ62/5MeXt7Y9asWXjuuefg4+PjkDkMBgNmz56Nffv2tXhu2LBh2LZtG/z9/R3Sl4hsY7FYsH//fixfvhwlJSU210mlUjz88MNYunQpwsLChBuwHSgpKcGWLVvw8ccfo6amxu56qVSKESNGYNasWRg1alSLH/5giJhIeNV6OQqrfKAziSOIJ5UAPf216OmvAz9bSCRON0LEfcJCIWeImIiIiEiUGCImIiIiEjGtzoBShoiJyE390KDE9zVqmK3iu9Poo7AgKrABfkpuZCLbNTQ2Ib/o++uh4cIiHNTk4PzFMqf09vPzQ3h4OBITExEfH4/Bgwdz26tIWa1W7Nu3D8uWLcPFixdtqpFIJBg9ejReffVV3H333Q6bpampCY899hj+/e9/t3juwQcfxIcffggvLy+H9SYi+xiNRmzfvh1r1qxBeXm5zXVKpRKTJk3Cyy+/jODgYAEnFBeLxYKDBw8iMzMTf/3rX2E22/89pZ+fHx555BE8+eST6Nu3r001DBETCcdqleDstevbh8V4Z7aD0oSooCZ4y/kamEhsuImYiIiISPwYIiYiIiISMa3OiNKySoaIicitGMxSHK9So1KncPUogpJKgD4BTQjz07t6FHJDZrMZp86UIKewCLkFRfj2yDHkF33fqpCQveRyGcJ69MLwYUObtwz369evxc2EJA55eXlYtGgRNBqNzTVRUVFYtWoVEhMTHTpLbW0tHn30URw5cqTFc2PHjsW7774LhULc/2YQeQqtVouPP/4Yb7/9Nq5evWpznVqtxsyZMzFv3jx06NBBwAk9W319PT777DOkp6ejuLi4Vdfo3bs3nnjiCSQnJ0OtVttVyxAxkTCaTDIUVKlRp5e7ehRBySVWhAc2oYva4OpRiMiBGCImIiIiEj+GiImIiIhErElnwHluIiYiN9JolOFopa9oHt1qi1C1AYMCGyFlPrNdu1Rx5fqG4YITP4aGc1FT55yATpfgzoiNjMDw+FgMGxKLyEERqJaHoqOf0in9yfXKy8uxZs0abNmyBRaLxaaakJAQvPTSS0hOToZU6tiv2VeuXMG4ceNQVFTU4rlp06ZhzZo1Du9PRG3X2NiIzZs3Y+3ataivr7e5rmPHjpg5cyaefvpp+Pr6CjihZzlz5gwyMjKwbds2NDba/9pdKpXi17/+NWbPno377ruv1R8MYoiYyPFq9XIcq/SFwdJ+XhDe46dD/45atJ9fMZG4MURMREREJH4MERMRERGJGEPEROROqvVy5FX6wtiObp7e0MnLhOigBiikfAneHjQ2aZF3/OT10HBhEQ4dOYaS8xed0tvP1weDBvRDbGQ4hsfH4b7EIQgO6nTTGZNVgjJTAEPE7YDBYMCHH36IVatWoaGhwaYapVKJxx9/HIsWLYKfn5/DZzp//jzGjh2LkpKSFs/NmzcPS5cudXh/InKsqqoqvPvuu0hPT4deb/vTF4KCgjBnzhw8+eSTUKlUAk7oviwWC7788kts3LgRX3/9NVpzqyYoKAhJSUmYNm0a7r777jbPxBAxkWNdblTieLUPLO3wZWAXHwMGduKHaYnEgCFiIiIiIvFjiJiIiIhIxLQ6A0oZIiYiN9Ceb57e4KMwI65zA7zltm0BJc9Rcv4ivjmS27xp+GheIQxGo+B95XIZ+vQMQ1xkBIYPub5luH+fnnfc2soQcftw4MABLFq0COfPn7e5ZtSoUVi1ahXCwsIEmenUqVMYO3YsLl++fNszEokEy5Ytw9y5cwWZgYiEUVZWhrfeegvbtm2DyWSyua5bt25YsGABpkyZAplMJuCE7qOurg6ffPIJ3n//fVy82LoPGUVFRWHq1KmYOHEivLy8HDYbQ8REjlNyzQvFtd6uHsOlOnqZEMMP0xJ5PIaIiYiIiMSPIWIiIiIiEeMmYiJyBxVNCuRX+YKvPgFvuQVDgusZJPZg5Veu4mh+IXILTiC3oAjfHT2G6to6p/TuEtwZsZERiI2MwPD4WAwdHAO1t/3BIYaIxa2goACLFy/Gt99+a3NN3759sXLlStx///2CzXXs2DFMnDgRVVVVtz0jk8nw5ptv4rHHHhNsDiIS1pkzZ/DWW29h9+7dsFhs/36nb9++ePnllzF69GhIJOJcW1lQUICPPvoIO3fuhFartbteqVTioYcewtSpUzFy5EgBJmSImMhRztV543Sd4wL+nqyD0oTBwQ2QM0hM5LFuhIj7hIVCzhAxERERkSgxRExEREQkYgwRE5GrXdEqkVephhXiDIO0ho/CjPjgeihlfDnu7owmEwpPnMKhw7nILSxCTkERThafdUpvP18fDBrQD7GR4RgeH4cRCYMR0jnQIddmiFicqqur8cYbbyAjIwNms9mmmk6dOuH555/HjBkzBN0A+s033yApKQkNDQ23PaNUKpGeno4xY8YINgcROc/JkyfxxhtvYO/evXbVxcbGYsmSJYKFZJ3NYDDg73//OzIzM5GVldWqawQHB2PSpEmYMWMGunbt6uAJb8YQMVHbXaj3wsma9r2B+FadVCbEBtdDxrcFiDwSQ8RERERE4scQMREREZGIMURMRK5UpVMgt9IXFr7q/B9+SjOGBNfzsa5upuT8RXxzJBe5BUXILTiBnPzj0BsMgveVyWTo2ysMcZERiB10fctw9MABkEqFuTnHELG4GI1GfPDBB3jttddw7ZptoS+FQoFp06Zh4cKF8Pf3F3S+AwcO4IknnoBer7/tGbVajczMTEE3IRORaxw+fBgrVqzAoUOH7KpLSEhASkoKhg4dKtBkwrpy5Qp27NiBzZs349KlS626RlRUFGbPno1HHnkECoXCwRP+PIaIidqmrFGF41VqV4/hljp7GRET3AgJ+BqYyNPcCBH3DQuFjCFiIiIiIlFiiJiIiIhIxBgiJiJXaTLJ8N1lP5isXDV0O4FeRsR1boBIn9jt9urq63E07/j1LcMFRcjOyUNVTa1TencJ7ozYyAjERl4PDA8dHAO1t/Med8wQsXhkZWVh4cKFOHXqlM01I0eOxOrVq9GvXz8BJ7tu586dmDt3Lkwm023PdOjQAZ988gni4+MFn4eIXCcrKwuvvPIKCgoK7KobOXIkXn31VQwaNEigyRwrPz8f6enp+Mtf/gKj0Wh3vUqlwpgxYzBnzhyX/JoZIiZqvWq9HEev+MLK18C3dbevHuGdmlw9BhHZiZuIiYiIiMSPIWIiIiIiEWOImIhcwWyVILvCDw0GmatHcXu9OujQu4PW1WOIntFkQuGJU9cDw4VFyCkowvenz8EZb4n4+qgRGd4fsZHhiI2MwIj4OITd003wvi1hiNjznT59GikpKfjnP/9pc03v3r2xYsUK/PrXvxZwsv/atGkTFi1aBIvFctsznTt3xu7duzFw4ECnzERErmW1WrFv3z6sXLkSZ8+etblOKpXi4YcfRkpKCnr06CHghK2j1+tx4MABvKtIjtQAACAASURBVPfeezh69GirrhEaGorHHnsMM2bMQGBgoIMntB1DxEStozNLkF3uD72Z4bo7GRTYiK4+wj/thYgch5uIiYiIiMSPIWIiIiIiEWOImIhcobDKB5caGU60VXRQA0LU9m+qo9u7VHEF3x45hkOHc5BbcAK5BUXQ6fWC95XJZOjbKwxxkRGIHXR903B8bCQUcrngve3BELHnqqmpwZo1a/DBBx+0uN33pwICAvCnP/0JTz31FJRK5/yep6WlITU1tcUz99xzD/bs2YOePXs6ZSYich8WiwX79+/Hq6++ivPnz9tcp1AoMHnyZLz44osIDQ0VcELblJeXIzMzExkZGaiqqmrVNRISEjB79mz87ne/g9wNvl9giJjIflZIcKTCFzV61/8d9gRSCZAQcg3+SrOrRyEiG3ETMREREZH4MURMREREJGIMERORs11sUOFEtdrVY3gUhdSKYV3q4CXjy/PWqKuvx/GTp/HtkVwcOpwLTW4+rlbXOKV3l+DOiI2M+PF/4RgeH4eOHfyd0rstGCL2PCaTCdu2bcOqVatw9epVm2rkcjmSkpKwaNEiBAUFCTzhdVarFUuWLEF6enqL5/r27Ys9e/aga9euTpmLiNyTwWDAjh07sHr1alRWVtpc5+3tjeTkZDz33HNO+/r2U9nZ2di4cSO++OILmz/Q8VO+vr4YO3YsZs6ciQEDBggwYesxRExkv1M1apTWq1w9hkdRy80Y1qUeMglfAxN5guYQcfcQyOV86hgRERGRGDFETERERCRiDBETkTPpzBIcutwBJovE1aN4nBC1EdFBDa4ew+2ZTGYUny25Hhg+koucgiJ8f/ocnPHWho/aG1ERAxAbGY7YyAjEDYpAeL/egvcVAkPEnuXrr7/GokWLcPLkSZtrRowYgVWrViE8PFzAyW5mNpsxb9487Nixo8Vz0dHR2LlzJwIDA500GRG5u6amJmzatAlpaWmoq6uzuc7HxwczZszAs88+Cz8/PwEnBBobG7F7925s3rwZJ06caNU1evTogeTkZEydOhUBAQEOntAxGCImss81gwzZFf7gnVb7hfnr0C9A6+oxiMgG3ERMREREJH4MERMRERGJGEPERORMeVd9UdGkcPUYHis6qAEhaqOrx3ArlyquILegCN8eOYZDh3ORW1AEnV7vlN49ut+N4UNiEDvo+qbhITGDoFSI4883Q8Se4dy5c1ixYgX27t1rc02PHj2QkpKCMWPGCDjZ/9Lr9Zg5cya++OKLFs8NHz4c27ZtEzzsR0SeqaamBuvXr8eGDRug0+lsrgsMDMTTTz+NJ598EiqVY7eBlpSUYMuWLfj4449RU2P/kw6kUilGjBiBWbNmYdSoUZBI3PvDdgwRE9nOapUgu8IP1wzcytkaEokViSH18FeaXT0KEd3BjRBx37BQyBgiJiIiIhIlhoiJiIiIREyrM6K0rJIhYiISXEWTAnlXfV09hkdTSS0Y3vUaFNL2+TL9Wn0DCk8WX98yfDgXR/IKcOVqtVN6hwYHIS5yIGIjIxAbGY5hQ2LRKaCDU3q7AkPE7q2urg5paWlIT0+H3sbQvI+PD55++mnMnz/f4QG6O2lsbERycjKysrJaPPeb3/wGGRkZ8PLyctJkROSpLl++jHXr1iEzM9Pmr4MAcNddd+G5555DUlIS5HJ5q/tbLBYcPHgQmZmZ+Otf/wqz2f6Am5+fHx555BE89dRT6NOnT6tncTaGiIlsV3LNC8W13q4ew6P5KUwYGtoAiaR9vgYm8hTcRExEREQkfgwRExEREYkYNxETkTNYAHxzqQO0Jt5IaKse/jr0bQePdDWZzCg+W4KcwhtbhnNw6kwJLBaL4L0VcjkGhffDsCExiI2MQNygCAzo28vtNwM6EkPE7slisWDXrl1YtmwZKisrbaqRSqUYN24cUlNT0blzZ4En/F81NTWYOHEicnJyWjw3fvx4vPPOO20K9RFR+3Px4kWsXbsWW7dutSvI27t3byxYsADjx4+HVGr796f19fX47LPPkJ6ejuLi4taMjN69e+OJJ55AcnIy1Gp1q67hSgwRE9nGYJbi60vXQ3XUNgM7NeEuX+c8bYaIWoebiImIiIjEjyFiIiIiIhFjiJiInOGHehWKajwvJOGO5FIrRnSpg1ImrpfqlyquILfgRmA4F8cKT0Brx2PK26JLcGcMj4/FsCGxiI2MwODogVAp23d4liFi93Po0CEsWrQIx48ft7lm+PDhWLlyJQYNGiTgZLdXUVGBsWPH4uTJky2emz59Ol577TW7gnxERD916tQpvP7669i3bx/suZ0xYMAAvPDCCxgzZkyL586cOYOMjAxs3boVTU1Nds8nlUrx61//GrNnz8Z9993n0R9MYoiYyDanar1Reo1PV3AEL7kF93W9BgnE9RqYSEwYIiYiIiISP4aIiYiIiESMIWIiEpoVEhy85M8txA7k6duI6xsaUXDi1I+h4Vwc1BxFRWWVU3p38PPD4OiBPwaGwzF0cAwCOwY4pbcnYYjYfZSVlWHFihXYuXOnzTVdu3bFkiVLMGHCBJcF1UpLSzF27FiUlpa2eG7evHlYunSpc4YiItHLycnB8uXLcfDgQbvqhgwZgpSUFAwfPrz5xywWC7788kts3LgRX3/9tV3h5BuCgoKQlJSEadOm4e6777a73h0xREx0ZwaLBAcvdYDJ4rkfGHA3EZ0a0c3X4OoxiOg2GCImIiIiEj+GiImIiIhETKszorSskiFiIhLMxQYVTlRzC7EjySRW3Nf1GpQyi6tHuSOz2YxTZ0qQU1jUvGk47/hJWCzCz66Qy9G7Z3cMj4/DsCExiBsUgQF9e3n09j9nYYjY9ZqamrB+/XqkpaVBr7ft8c3e3t6YO3cu5s+fD5VKJfCEt3fy5EmMGzcO5eXltz0jkUiQmpqKOXPmOHEyImovsrKykJqairy8PLvqRo4cieeeew7Hjx/H+++/j4sXL7aqf1RUFKZOnYqJEyfCy0tcm0gZIia6s1M13iitF9fffVfzlltwb9c6MJpI5J4YIiYiIiISP4aIiYiIiERMqzOglJuIiUhA31zugEYjbyA4Wp8ALXr661w9xv+4VHEFuQVFyC04gW+P5OK7o8fQpHXOnF2CO2N4fOyPW4YjEBcVAS8XBik9GUPErmO1WrFv3z6kpKSgrKzMphqJRILRo0cjNTUV3bp1E3jCluXk5GDixImoqam57RmZTIa1a9ciKSnJiZMRUXuUlZWFlJQUFBUVCd5LqVTioYcewtSpUzFy5EjB+7kKQ8RELTNbJfhPGbcQCyEyqBFd1NxGTOSOboSI+4SFQs4QMREREZEoyV09ABEREREJiTc1iEg4tXoZA8QC+aFB5fIQcUNjE/KLvr8eGi4swkFNDs5ftC302Fb+fr4Y2L/vj6HhGCTERqFzYCen9CYSyrFjx7Bw4UIcOXLE5pqYmBisWrUK8fHxAk5mm6+//hpTpkxBY+PtP5imUqmwYcMGPPzww06cjIjaq5EjR+I///kP9u/fj+XLl6OkpMThPYKDgzFp0iTMnDkTXbp0cfj1icizlDcpGCAWyKVGFUPERG6OX/2IiIiIxIshYiIiIiIRs4IPnSAi4fzQyC2wQtGapKjRy9FRZXJKP7PZjFNnSpBTWITcgiJ8e+QY8o6fhMViEby3XC5Dn55hGB4fh2FDYhA3KAID+vaCRMLbUyQOly9fRmpqKnbt2gVbHwgWGhqKF198EcnJyZBKXf9hjc8++wxz5syB0Wi87Rm1Wo0tW7bgF7/4hfMGI6J2TyqVYsyYMfjtb3+L7du34/XXX0dFRUWbrxsVFYXZs2fjkUcegUKhcMCkRCQGl/gaWDBVWjm0Zim8ZcK/BiWi1uEDromIiIjEiyFiIiIiIiIispvZKkFFk9LVY4haWYNSsBDxpYor1zcMF5xAbkERDh3OQe21ekF63apLcGfERkb8uGU4FrGR4fD28nJKbyJn0mq12LhxI956660Wt/f+lJeXF2bPno0FCxbA19dX4Alt89FHH+GFF15o8UMFAQEB+PTTTzF48GAnTkZE9F8KhQLR0dG499578fnnn8NsNtt9DZlMhtGjR2P+/PkYOHCgAFMSkSfTmqSo1vG2qlCsAC43qNCzg9bVoxDRbfDD3kRERETixVe7REREREREZLdKHR/jKrSKJiUiOmkhkbRt00tjkxZ5x09eDw0XFuHQkWMoOX/RQVO2zM/XB4MG9ENsZDiGx8fhvsQhCA7q5JTeRK504MABLFy4EBcuXLC5ZtSoUVi9ejW6d+8u4GT2SUtLw/Lly1vcOBUSEoLdu3cjPDzciZMREV2n1+tx4MABvPfeezh69GibrmU2m/Gf//wHgwYNQu/eveHFDzkR0U+U80O0gitvUjBETERERERE5AIMERMREREREZHdqrR8rLPQTFYJ6gwyBNi5jbjk/EV8cyS3edPw0bxCGIxGgab8L7lchj49wxAXGYHhQ65vGe7fpyekUqngvYncRX5+PhYtWoTs7GybayIjI7Fq1SoMHTpUwMnsY7VakZqainXr1rV4rnv37tizZw969OjhpMmIiK4rLy9HZmYmMjIyUFVV5bDr1tTUIDU1FZs2bcLcuXPx+OOPQ6VSOez6ROS5rmp5S1Vo9UYZ9BYpVNLbPwGDiIiIiIiIHI+veImIiIiIiMhuVXyMq1NU6eQthojLr1zF0fxC5BacQG5BEb47egzVtXVOma1LcGfERkYgNjICw+NjMXRwDNTe3NhH7VNFRQVef/11bN26FWaz2aaawMBAPPfcc5gxYwZkMpnAE9rObDbj+eefx8cff9ziuf79+2PPnj0IDQ110mREREB2djY2btyIL774AiaTfR+0ssfly5exaNEivP/++3j22WcxZcoUt/paTUTOZbYCtQZ+kNYZqrRydPUxuHoMIiIiIiKidoV3fYmIiIhETOLqAYhIlLQmGbQmbpd1hqs6JXp10AEAjCYTCk+cwqHDucgtLEJOQRFOFp91yhx+vj4YNKAfYiPDMTw+DiMSBiOkc6BTehO5M4PBgA8//BCrV69GfX29TTUKhQLTpk3DokWL4OfnJ/CE9jEYDHjqqafw+eeft3guJiYGO3fuRKdOnZw0GRG1Z42Njdi9ezc2bdqEkydPtuoaPXv2xJQpU3Dvvffi3Xffxb59+2C1Wu9Yd/HiRSxYsAAbNmzASy+9hNGjR0Mi4SttovamRieH5c5fMsgBqnUKhoiJ3BS/DBIRERGJl8RqyztlREREROSRmnQGnC+7CrXUhLtUja4eh4hEoqxBhePValePIXpWqxX/+vunaDx/GIdz83D8+2KYTLZtOG0LuVyGiH59kBAbhfiYSMTHRKJf7x6QShkcFwuTVYIyUwA6+ildPYpHO3DgABYvXozS0lKba0aNGoWVK1eiR48ewg3WSlqtFlOnTsVXX33V4rkRI0Zg69at8PX1ddJkRNRelZSUYMuWLcjMzERtba3d9VKpFCNGjMCsWbMwatSom8K/J06cwJtvvom9e/fadc24uDikpKRgxIgRds/jCbR6Mxq1BvT0uubqUYjcyuk6b5yr41NXnMFbbsF9XZ3zdB0iss05nT/MVgn6hIVCLuN7Q0RERERixBAxERERkYhpdUaUllUyRExEDnWqRo3SepWrx2gXpo9NQMWlC4L26BLcGbGREYiNjMDw+FgMHRwDtTdvkIsZQ8RtU1xcjMWLF+Nf//qXzTV9+vTBihUr8MADDwg4WevV1dVh0qRJ0Gg0LZ576KGHkJGRAZWK/wYQkTAsFgsOHjyIDRs24Msvv7RpW/Ct/P398cc//hFPPfUU+vTp0+JZjUaDFStW4Ntvv7Wrx8iRI7F06VJER0fbPZ87Y4iY6Ocdq/TBFS2/d3aWX3WrhVzK29dE7qI5RNw9BHK5zNXjEBEREZEA5K4egIiIiIiEY+VDxohIAA0mbh1xln4RsQ4NEfv6qBEZ3h+xkeGIjYzAiPg4hN3TzWHXJxKzmpoarFmzBhkZGTCbbdsK3rFjR7zwwguYPn065HL3fBuusrIS48ePR2FhYYvnJk6ciHXr1rntr4OIPFt9fT0+++wzpKeno7i4uFXX6NOnD6ZNm4bk5GSo1bY9NSMhIQH79+9HVlYWXnnlFRQUFNhUl5WVhV/96lcYOXIkUlNTMXDgwFbNTESeocHI0JwzNZmk8FcK/xQeIrLTT57qQERERETiwnf9iYiIiIiIyC68geo8/SJi8fU/P29VrUwmQ99eYYiLjEDsoOubhuNjI6FgAJDILkajER988AFef/111NXZ9mhlhUKByZMnY/HixQgMDBR4wta7ePEixo4di7Nnz7Z4btas/2fvzsObqvO2gd/ZuzctbZO0pS1lX6SAjoAO8D4vo4w6MzwPRUARkEWKIwqiouyyFBAdFDd2nCrIKKKjjjPKo+OL6AAiSFVEAelO0n3Pvrx/QGoLtKQlyUlO7891eVnS8zvnK6ZplvvcZzbWrl0LCT80JiIvO3fuHHbu3Indu3fDaDS2e71UKsVtt92GrKwsjBw5ssOPU6NGjcJnn32GDz/8EGvWrMH58+c9Wnfw4EH813/9F/74xz9i2bJl6NatW4eOT0SBywnA5OCJtP7UYJMxREwUgPhqkIiIiEi8+MkhEREREREReczhAixsIvab3v0He7ytLiEeQwb2v/RPP9x6842IiY7y4XRE4nfw4EEsXrwYP/30k8drRo0ahezsbPTt29eHk12/s2fPIjMzEyUlJW1uN2/ePCxfvtxPUxFRZ+B0OnHgwAFs27YNX3zxBVyu9l9BJy4uDpMnT8aMGTOQnOydqypIpVKMHTsWd955J9588008++yz0Ov111zndDrx/vvv45///CfuvfdePPnkk9BoNF6ZiYiEZ7TJ4HIxOudPjXaeuEwUiHjNQyIiIiLxkrg68g4dEREREQUFo9mKgpIKhEntSFI1Cj0OEYmAyS7FFxeihR6j07DZrLh7dA/YbbYWt4eHhSKjf18MGdgPQwb2x4039Ee/3j0EmpKCjd0lQYldjZhIpdCjBKxz585h2bJlOHDggMdrunfvjtWrV2PMmDE+nMw7cnNzMWHCBFRUVLS6jUQiQXZ2NrKysvw4GRGJWUVFBfbs2YPXXnsNRUVFHdpHRkYGpk2bhokTJyIkJMTLE7ZktVqxd+9erFu3DuXl5R6vCw0NxezZs/HII49ArVb7cELvM1kcaDRZkR5SJ/QoRAGhrKIKPxVVoTZyIJRKldDjdBpJERYMiG1/Oz0R+cZ5cxQcLgl6pWkhk7FYgIiIiEiMGCImIiIiEjGT2Yp8hoiJyIsarDJ8ZWC7rb80NtRh4m29AQAyqRTq6CikpSSjV/c0JOu0SE9JRrfUrtAlxCO1axLCw0IFnpiCAUPEraupqcGLL76IzZs3w2q1erQmOjoa8+bNw5w5c6BSBX645KuvvsLkyZNRX1/f6jZyuRybNm3CpEmT/DgZEYlVbm4ucnJy8NZbb8FsNrd7vVKpxB133IGsrCwMHTrUBxO2rbGxETt27MALL7yAujrPw7URERGYOXMmHn30UURGRvpwQu9hiJg6k+raOuQVFOFCaRkMpeW4UFoOfVl5023FFwyob7j4XtpLr3+Kbj37Czxx56ENsyIjju9jEgUKhoiJiIiIxI8hYiIiIiIRYxMxEXlbjUWOo6XBEYIQg/xzP2LulNEebx8THdUUKtZpE5pCxukpydBq4qFLiIdEwkvxdnYMEV/J6XRi3759WL58eZvtvM1JpVKMHz8eq1evRlxcnI8n9I5PPvkEM2bMaDPEp1KpsGPHDtx5551+nIyIxMZqteJf//oXcnJycPDgwQ7tIyEhAffccw8eeOAB6HQ6L0/YflVVVXj55ZexdevWdoWhu3TpgoceeigoTjZhiJjEwGK1orK6BobScpwvLIbeUNYsHHwxKFxUcgF2u8PjfT79l9246RbPX5fR9YkLtePG+NZPeCMi/2KImIiIiEj85EIPQERERERERMHD7hR6gs6lrLSkXdtX19ah+rtTrX4/RKVqChfrNPHQaRJatBmnpSQjLNS3lwYnCjSHDh3CkiVLcOpU6z87l/vtb3+LtWvXon//4Gmke+eddzB37lzYbLZWtwkPD8fu3bsxcuRIP05GgUDitENiMwMuOyQuJyROB+B0AHABUjlcEhlcEikglcEpDwFkCqFHpgBVVlaGvXv3YseOHbhw4UKH9pGRkYGsrCyMGzcOCkXg3NdiY2OxfPlyzJo1C8899xz27NkDu91+zXWVlZVYtWoVdu3ahQULFmDy5MmQy/nRDFFHmMzmpnDwrw3CZS0Cw4byCni7P6miTO/V/VHb+L4DUWBiMx0RERGRePGdKiIiIiIRY9ckEXmbE2wc8adyQ/tCxNditliQV1CEvIKiVrdxtxm724sTNQlX/JlIDPLy8rB69Wq8//77Hq9JTk7G4sWLMXHiRB9O5n07d+7EU089Baez9URGXFwc9u3bh4EDB/pxMvI7lxNSSz1k5lpIrUZI7UZIbSbA0Xq4/Kq7kcrhVITCpQyDSxEOe0gUnKooQMLnCZ1Vbm4utmzZgvfee6/NkxVao1KpMHbsWDz00EMYMGCADyb0nsTERGzcuBHz58/HCy+8gN27d8PhuHajaXFxMRYsWIDNmzdj0aJF+NOf/sQrRBA1U11bd9XWYPdtv+QVorZemHbaynKGiP3JwRAxUUDisxYiIiIi8WKImIiIiEjE2A5ARN4mk/CRxZ/K29lE7A3uNuMTrTQat9VmnJ6SjOQkHRRs16MAZjQa8dJLL2HTpk2wWCwerQkLC8PcuXMxf/78gL8U/eU2bdqEVatWtblNcnIy9u/fjx49evhpKvInqbURcmMFpKYaSM21kLiuP5kjcdohs9QDlothLgUAl0QKV0gU7CFqOMPj4FBGXPdxKLBZLBb8/e9/x+bNm/H99993aB9paWmYOnUqpkyZgtjYWC9P6FspKSnYuHEjZs+ejQ0bNnh8UsrZs2cxY8YM9OvXD48//jjGjh3r40mJhGW12VBRVX1la3BpGfSXvi4u0cPmQbO3UCrLDUKP0KnIpIwqEgUiviNIREREJF78VI+IiIhIxPiWOxF5m1zKjwz8ydtNxN7ANmMKVk6nE/v27cOKFStQXl7u0RqJRIK7774bK1euREJCcN1vXS4XVqxYgVdeeaXN7Xr06IH9+/cjOTnZT5ORP0hsZigayyBrKIXU2uifY7qckJhqoDTVANX5cCrC4IhIgD0iAU5FmF9mIP8wGAzIycnBzp07UVlZ2aF9DB06FFlZWbjrrrsgD/KTj/r06YNdu3bhm2++werVq/Hll196tO7HH3/EjBkzMHToUCxduhS33HKLjycl8j6zxQK9oaypNfhig3DZpcDwxdsKiy941NYdyCrKLgg9Qqcil7KKmCgQ8bMGIiIiIvGSuFwufgJMREREJFImsw35JeUIk9qRpPJPeICIxK3BJsNX+iihx+g0Cs7/hPLC0whpPI+iC3oUFF1AYckFFF8woKqmVujxOiwqMgJdk3RIS05CcqIWKUk6JCfqkJqciJTkROgS4iGXy4QeU7TsLglK7GrERCqFHsVvjh8/jkWLFuH48eMerxkyZAjWrVuHm266yYeT+YbD4cCCBQuwe/fuNrcbOHAg9u3bh7i4OD9NRr4mM1VBUVMEmala6FFacIZEw6ZOgT0sFowfBK8jR45g27Zt+Oijj2DvQGNoREQEMjMzMXv2bPTp08cHEwaGgwcPYuXKlcjNzW3XulGjRuHpp5/GwIEDfTTZtZksDjSarEgPqRNsBgocZRVV0JeWoVhvwAV9GS6UlqGwRN90W4m+FHX1DUKP6TVKhQI6TTySdFokaROg0yYgJUmH8JhE2GL6I71nf6FH7DR0YVYMjOP7mESB4rw5Cg6XBD3TtJDLpEKPQ0REREQ+wBAxERERkYgZzVYUlFQwRExEXmOyS/HFhWihx+hUYlV2/EZTf8Xt7tav84XFLS4L7G7/KigqgdFkFmBi72irzTg9LQXqqEihRwxanSlEfOHCBaxevRr79u2Dp2+BJSYmYunSpZgwYQIkkuALO1qtVmRlZeGDDz5oc7vhw4fjzTffRFQUTwwJei4nZA3lUNYVQWoJ7DCXUxEGm7or7BEaQMIAQjBoaGjA/v37sX37dpw+fbpD+0hPT8d9992HadOmQa1We3nCwORyufDJJ59g7dq1OHXqlMfrJBIJ/vSnP2Hp0qVIT0/34YRXxxBx51FdW3fV1mD3bcUXDKhvEM/7SCEqFXTaBOgS4pGoiW/x+sJ9W0pyImSyK09krLIocKw0QoCpO6+kCAsGxBqFHoOILnGHiHulaSFjiJiIiIhIlBgiJiIiIhIxk9mKfIaIiciLnAA+LVLD5Qq+YF2wSgy34oYuHXsMd4cDzhcWQ28oawoGNP9zsHIHAdJTklt8+O8OGndNSmSbcSs6Q4jYZDLhxRdfxIsvvgiz2bMwfWhoKGbPno3HHnsM4eHhPp7QN4xGI6ZOnYrPP/+8ze1uv/12vPbaawgJCfHTZOQrMlMVlBXnILUFV9DGpQiFNTYd9vB4oUehVuTl5eGNN95ATk4Oampq2r1eKpVixIgRmD17NsaMGROUJ2V4g9PpxIcffohVq1YhPz/f43UKhQL33nsvnnjiCeh0Ot8NeBmGiIOfxWpFZXVN0wmGzV8DuIPCRSUXYLc7hB7Va5q/LtBp4qHTJLQ4EVGriYcuIb7Dj0NGmxSH9DyR1p+6R5vRI9ok9BhEdAlDxERERETixxAxERERkYixiZiIfOHQhSgY7Qxn+ktPtQnpUb5pFG6rzfh8YXHQBwyatxm7g8bugEFnbjMWc4jY5XLhgw8+wPLly1FcXOzRGnfr48qVK9G1a1cfT+g7NTU1mDRpEo4dO9bmdpmZmXjllVegUCj8Q4ff+wAAIABJREFUNBn5gtRmgrLyHGTGyku3SAAE39u8jhA1rHE94VQGZ3BfbJxOJw4dOoStW7fiwIEDHje4NxcVFYVJkyZhzpw5SE1N9cGUwclqtWLv3r1Yv349ysrKPF6nVCpxzz33YNGiRYiP933oniHiwGYym5uer//aIFzWIjBsKK/o0M9uoHI/n3c/j29+4qAuIR5dk3SIjPDt7xCXS4JPi9VwiuevNeANjGuELswq9BhEdIk7RNwzVQu5nCFiIiIiIjFiiJiIiIhIxExmG/JLyhkiJiKv+rY8HGUm8YUPA9WguAZowmyCHb8ztxm3dknjYCfWEPHJkyexaNEifP311x6vycjIwNq1azFs2DAfTuZ7ZWVlGD9+PE6dOtXmdtOnT8eGDRsglfKD36DlckFZWwRFdT7gcgo9jXdIJLBFp8AakwpIeN8UQn19Pd59911s3rwZZ8+e7dA+evbsienTp2PKlCkICwvz8oTiYTQasX37dmzatAm1tbUerwsPD8esWbMwf/58REVF+Ww+hoiFU11bd9XWYPdtv+QVora+XugxvUalVCJWHd30XLx5a3DipSbhQLqyyJf6KDTaAmOWzuAWXT0iFXahxyCiS5pCxGlayNlETERERCRKDBETERERiRibiInIF87UhCKvLkToMTqN3+rqEK4I3Dbg5o1ozQMPYmgzVsjliIuNuSJo7P5z924piI4MvjZjsYWIDQYDNmzYgDfeeANOp2ehSq1Wi4ULF2LKlClBH6gtLCzEuHHjkJeX1+Z28+bNw/Lly/00FfmCxG5BSPlpSE01Qo/iEw5lBKyafnAqGED1l3PnzmHnzp3YvXs3jEZju9dLpVLcdtttyMrKwsiRIyGRSHwwpThVV1dj27ZtePXVV9HQ0ODxutjYWMydOxdZWVkICfH+83GGiL3ParOhoqr6ytbg0jLoL31dXKKHzS6ewKT7RL3LW4ObB4a18XFB9RzsZEUESo28ioM/SACM7loDmYQfXxMFCneIuFeaFjKGiImIiIhEiSFiIiIiIhEzma3IZ4iYiLzsQqMS31fysuP+IJUAo7tWI9g/ommrzfh8fiFq6oK3Ve3yNuPmTWqB2mYslhCx2WzG1q1bsXHjRo8DWEqlEvfffz8WL16MyCAMgF/u559/RmZmJvR6favbSCQSrFixAg8//LAfJyNvkzeWQ1n+MyRO8YTMrsYlkcEa1wP2SJ3Qo4iW0+nEgQMHsG3bNnzxxRfoyMcDcXFxmDx5MmbMmIHk5GQfTNl5VFRU4NVXX8WWLVtgsVg8XpeYmIjHH38ckydPhlwu99o8DBG3j9ligd5Q1uIkOndQ2H1bYfEFOBzBeULd1cRERzU9121+JY+m579pKVBHBf9zrMv9UhuCc7WhQo/RKYTJHRiRyMcgokDCEDERERGR+DFETERERCRibCImIl8wO6Q4WBIt9BidQpcQG25K8LydLlh15jbjHt1SERUZ4deZxBAi/vjjj7F48WIUFBR4vGbMmDFYu3Yt0tLSfDeYH3377beYOHEiKisrW91GJpPhueeew9SpU/04GXmborYYyspzQo/hV7aoJFjjeuBiHyF5Q0VFBfbs2YPXXnsNRUVFHdpHRkYGpk2bhokTJ/qkBbczKyoqwvPPP4/du3e3K3CakpKC+fPn47777vPKSUsMEf+qurau6eS3Fg3Cl25z/1ssmj9nvbw1OFFz8bbUrkkID+ucQdpqsxxfl4kvHB2IkiMs6B/b/nZ8IvIdd4i4Z5oWcoaIiYiIiESJIWIiIiIiEWMTMRH5ypf6KDTaAqtdVYx6qU3oFmUWeoyA0LzNuHnL2/nCYvySV4ja+uBtM7680c3XbcbBHCL+7rvvsGTJEvznP//xeM3AgQOxZs0a3HrrrT6czL++/PJLTJ48uc0GZqVSiS1btmDs2LF+nIy8yuWEquIM5PUGoScRhD08DtaEfnBJGFS4Hrm5ucjJycFbb70Fs7n9zymUSiXuuOMOZGVlYejQoT6YkJo7c+YM1q9fjw8++KBdLdF9+vTBwoULr/sxv7OEiN3PKy9vDXbfVnzBgPoG8byH4r5yxuWtwc2bhAPx6hmBxAng82I17E6e3OJrg+IaoAmzCT0GETXDJmIiIiIi8WOImIiIiEjE2ERMRL5yujoUhfVsoPO14do6RCmDs4HX367VZhzMl5JWKhToEqNu0WbcPGjcMz0NkRHhHu8vGEPEVVVVePbZZ7Fz506P/z/Gxsbi8ccfx6xZs0QVivn4448xY8aMNi97HxoaipycHIwePdqPk5E3SVwOqAw/QGaqFnoUQTlVUTBpbwBkCqFHCSpWqxX/+te/kJOTg4MHD3ZoHxqNBpMmTcIDDzwAnU7n5QnpWk6cOIE1a9a0+//fTTfdhGXLluG3v/1th44b7CFii9WKyuqaK1qDmz83DOYrXFyNOyCcnpIMnSYeOk3LBmGtJh66hHhIJAy/Xq8TZREoN/P3kS9JJMB/JdVAIeVH10SBhCFiIiIiIvFjiJiIiIhIxBgiJiJfKTcrcKIsQugxRE0pc+H/JNXwQu5eYrPbUV5ZdVnQuPO0Gad2TYJUevHDvmAKEdtsNuzatQvr169HXZ1ngSaFQoHp06dj0aJFiIqK8vGE/vX222/j4Ycfht1ub3Wb6Oho7N27l42hwczlREjpD5AZq4SeJCA4VREw6wbBJZULPUrAKysrw969e7F9+3bo9foO7SMjIwNZWVkYN24cFAqG5YR25MgRrFmzBocPH27XulGjRmHFihXIyMho17pADhE3P2Hs1wbhshaBYUN5RbsanANdTHRUU1tw8yZh921dk3TtOpGMrk9BfQh+qg4VegxRi1baMUwbvK/JiMTKHSLumaaFnCFiIiIiIlFiiJiIiIhIxBgiJiJfcQI4WKKG1cGIq6+kRJrRN8Yk9BidSnVtXYvGuvOFxdCXlkF/KZwS7G3GSYla6BLiodUkIL5rD/TumQ6NRgOdTofu3bsjIiKwTgz4+OOPsXTpUuTl5Xm8ZtSoUVi3bh169+7tw8mEsX37dixevBhOp7PVbeLj4/HOO+9gwIABfpyMvMrlREjpKciMlUJPElCcIWqYdQPhkjC0cDW5ubnYsmUL3nvvPdhs7b8EvEqlwtixY/HQQw/x8SNAHTx4ECtWrMD333/v8RqJRILbb78dS5YsQf/+/T1aI1SI+PLnYO7WYPdtwX6y1+VUSiVi1dFNDcLNW4PdJ4B1TUqEXC6eKymIgcUhxcELUXC5+BrYV/rGmJASaRZ6DCK6DJuIiYiIiMSPIWIiIiIiETOZrchniJiIfOSnmjAU1KmEHkO0btHWIVIZnIFVsbLabKioqm7RZtz8Utnn8gpQV98g9JgdplarodFooNVqkZaWhtTUVKSlpTXdlpKS0tRm7Etnz57F0qVL8emnn3q8pkePHlizZg1uu+02H04mnE2bNmHVqlVtbtO1a1e8++67SE9P99NU5H0uqEp/hLyxXOhBApIjNBZm7QCAQWIAgMViwd///ne8+uqr+OGHHzq0j7S0NEydOhVTpkxBbGyslyckb3M6nfjwww+xevXqdp1gI5VK8cc//hHLly9HWlpam9t6O0Tc/LlTi9bgZidpFZfoYWujYT/YhKhUV20Nbh4Y1sbH+eU5FXnfifIIlJvY0u4LUgCjkmqglPFja6JAwxAxERERkfgxRExEREQkYmwiJiJfarDK8JUhSugxRClC4cCtusC7jDRdm5jbjFUqFXQ63RVBY3ebcY8ePRAe3vFLaldXV2PDhg3YtWsX7B6GidRqNRYuXIiZM2dCLpd3+NiByuVyYenSpdiyZUub2/Xq1Qv79+9HYmKinyYjX1BU5UFZUyD0GAHNHp0ES5eeQo8hKL1ej9dffx07d+5EZWXHGquHDh2KrKws/OEPf4BMxqbTYGOz2fDmm29iw4YNMBgMHq9TKpW455578NRTTyEhIeGq27QnRGy2WKA3lDW1Bl9sEC67FBi+eFswP++5mpjoqKa2YHc4OFET/2uDcFoK1FGRQo9JPlRqVOBkRWBdvUMstKFWZMTzvUuiQOQOEfdM00LOEDERERGRKDFETERERCRibCImIl87bIhCnZXhE2/jZVzFy2qzoeSCoUXgpnmb8dnz+ahvCN7f2Wq1GqmpqdBqtdBqtR61GdvtduzZswfZ2dkeB+LkcjkmT56MxYsXIy4uzhf/KYJzOByYN28e9u7d2+Z2gwYNwttvv40uXbr4aTLyBVljBUJKTwHgW7XXYknoC3uERugx/O7IkSPYtm0bPvroI49PtGguIiICmZmZmD17Nvr06eODCcnfTCYTXn/9dWzcuBEVFRUerwsLC8MDDzyAefPmITo6uuU+L4WIYyy/Pjdp0SB86Tb3v8VCIZcjLjamqUG4eWtwoubibaldkxAeFir0qCQwFyT4fyVRsDoYovO2IQkNiA+xCT0GEV0Fm4iJiIiIxI8hYiIiIiIRYxMxEfma3qjEdxUdbx6lKymlLoxIrIVcypfrndXV2owvtvtdDB4XFJXA6XQKPWaHXN5mLJVKcfjw4XY1KY4cORLZ2dno16+fDycVlsViwQMPPICPPvqoze1uvfVW7NmzB5GRbD0MZlK7CSHFxyFxtj8Y2hm5JFJYkobAoRR/E2RDQwP279+P7du34/Tp0x3aR3p6Ou677z5MmzYNarXayxNSIGhsbMSOHTvw/PPPo76+3uN1ERERuPXWW9G3b19UV1cjPz8fer0BJSUlaGxs8OHE/hWiUjWFg5u3BjdvEk5JTmQrN3nsfF0IztYwUO5NEQoHbtHVQSL0IER0VWwiJiIiIhI/hoiJiIiIRIwhYiLyNReA/+ij0GCTXfwDP/W7br3UJnSLYgsxte5abcZnfslDQ6NR6DG9LjExEfPmzcPMmTMhkYj3waaxsRFTpkzBwYMH29zu97//PXbu3ImQkBA/TUY+4XIhpOQ4ZFbxBPb8wakIhTn5N3BJxBliyMvLwxtvvIGcnBzU1NS0e71UKsWIESMwe/ZsjBkzRtSPmfQrvV6P559/Hm+88QasVqvQ4/iFOyCcnpIMnSYeOk3LBmGtJh66hHj+DJBX2Z0SHNJHw+rg/cpbBsU1QBPGFmKiQMUQMREREZH4MURMREREJGImsw35JeUMERORTxmMSuSyjdgrlDIXRujYQkzXr7q27lJ78a+XIG9qMy4tR0Fx8LcZp6amQqPRNH2dlpYGjUaD1NRUhIYGZztcdXU1Jk6ciOPHj7e53d13342XXnoJCoXCT5ORryhqiqCs+kXoMYKSTZ0Ca2y60GN4jdPpxKFDh7B161YcOHAAHXnbPioqCpMmTcKcOXOQmprqgylJKGazGQaDAQUFBTAYDE3/lJaWIj8/HwaDAWVlZR263wSqmOioprbg5k3C7tu6JukQGcHXICSM87WhOFvLE7m8IVLhwHC2EBMFNHeIuFeaFjKGiImIiIhESS70AERERETkOy6I5wNEIgpcmjArIhQhF9uI6bp0izQzQExeERMdhZiB/TEE/a/4nt0lQZ4xDKb6ihYBpIKCgqYgUnFxMRobA/MEJIvFgvz8fOTn57e6jVqtRmpqKrRaLbRabVPI2B001mg0AddKWFpaiszMTJw+fbrN7WbOnIn169dDKuWHt8FOYjNDUZ0v9BhBS1FbBHt4PJyqSKFHuS51dXV47733sHnzZpw9e7ZD++jZsyemT5+OKVOmICwszMsTkq/V1NRcEQguLS1tCgrn5eWhrq5O6DG9RqVUIlYd3dQg3Lw1OPFSk3DXpETI5XxtQYErJdKMgnoVrM7Aej4ZjLpHmxggJiIiIiIiEhhDxEREREQiJuHb8ETkBxIA/WKM+LosuEM8QgtTOJESaRZ6DOoklEolNJdCta2pqalBQUEB9Ho9SktLW4SM3X8O1MbDmpoa1NTUIDc396rfD7Q24/z8fGRmZrYZjAaAefPmYfny5f4ZinxOVfEzJC6H0GMEL5cLyoozMCcOAQLspABPnD17Frt27cLu3bthNBrbvV4mk+F3v/sdsrKyMGrUKB9MSNfLarWiqqoKpaWlLX6XNv+6pKQENptN6FG9JkSlumprcPPAsDY+jifCUNCTS13oFWPCD5U8ceN6xIXaoQkTz2MgkdgF5qt/IiIiIvIGhoiJiIiIRIxNxETkLzEhdiRHWFHcoBR6lKDVP7YR0uDLQJGIqdVqqNVqZGRkXPX7FosFer2+xaXVmweNCwsLYTKZ/Dy1Z9rTZuwOFmu12hZtxlqt1iuznD59GuPHj4fBYGh1G4lEglWrVuHPf/6zV45JwpMZqyAzVQs9RtCTWeohayiFI9I7P4++5nQ6ceDAAWzbtg1ffPFFh07EiIuLw+TJkzFjxgwkJyf7YEryhPt3YGsNwqWlpSgqKoLDIZ4TBWKio5ragt3h4ERN/K8NwmkpUEfxpELqPJLCLdA3KlBpVgg9SlCSSVzoF9P+k2iISEABehIxEREREV0/hoiJiIiIRIxNxETkT73URpSb5LA42CzWXskRVsSq7EKPQdQuKpWqKVTbnNFoxEsvvYRNmzYJM5iXXE+bcWpqKpKTkyGXt/3W2/HjxzFx4kRUV7ceJpXJZHj++ecxefLk6/rvocCirM4XegTRUFYXwBShCeg24oqKCuzZswe7du1CcXFxh/aRkZGBadOmYeLEiQgJCfHyhNRcTU1Ni0Cw+yQZ99fu73U2Qwb2xzPLnkBG/z5Cj0IUMPrFmvAfvQIO5urarUe0GaFy8ZxoQdQpBPDzbSIiIiK6PhJXoF53koiIiIium9FsRUFJBcKkdiSpGoUeh4g6gVKjAicrIoQeI6iEyp0Yrq2DQsqX5+QfdpcEJXY1YiK92xzucrnw9ttv4+mnn0ZZWZlHayQSCUaPHo0JEybAbrcHVZuxJ9pqM87Ly8MjjzyCxsbWn6OpVCps3boVf/zjH/04NfmazFiJEMP3Qo8hKpaEvrBHaIQe4wq5ubnIycnBW2+9BbPZ3O71SqUSd9xxB7KysjB06FAfTNj51NTUoKCgAHq9vkVrsPv3TklJCRoaGoQe02vcJ7y4fwe5/52amopz587hzTffREFBgcf7k0qlGHfnbViz6FF0T0vx4eREwSO/PgQ/V4cKPUZQiVbZMTShARIJXwMTBYPz5ig4XBL0StNCJmNxABEREZEYMURMREREJGIMEROREH6uDkN+vUroMYKCVALcnFCPaLYQkx/5IkR84sQJLF68GMeOHfN4zeDBg7F27VrcfPPNbW7nDnw1v1R8fn5+05/Lysogxre3QkNDkZOTg9GjRws9CnlZSMlxyCz1Qo8hKk55KExdbw6IdjSr1Yp//etf2Lp1K44ePdqhfWg0GkybNg0zZ85EXFyclycUJ4vFgurq6haB4Mu/Li4uht0unudcrTXiu7/WaDTQaDSQtPFz4XQ68eGHH2LlypXtChMr5HJMmzQOyxb8GYmaBG/85xAFtZMVESg1KoQeIygopC4M19YhVO4UehQi8hBDxERERETixxAxERERkYgxRExEQnC5JDhWHoFqs1zoUQJe/9hGJEdYhR6DOhlvhoj1ej1WrVqFffv2eRzk1el0WLZsGSZMmNBmsMlTFosFer2+xaXm3aHjgoIClJSUwGazXfdxhNJWm3FaWhqio6OFHpHaQWapR0jJcaHHECWz9gY4wroIdvyysjLs3bsX27dvh16v79A+MjIykJWVhXHjxkGhYBjNzWw2Nz22ux/nLw8Ji+2EEvdjv1arbdEg7P5dkJycjIgI7139w2q1Yu/evVi3bh3Ky8s9XhcWGoIZ947HokfmICEu1mvzEAUbu0uCw/pIGO0yoUcJaBIJcGN8A7qEBO9zc6LOyB0i7pmmhZwhYiIiIiJRYoiYiIiISMRMZivyGSImIgFYHFIcMUTC7OCHC61JCrdgQBej0GNQJ+SNELHJZMK2bdvwl7/8BY2Nnj3HCAkJQVZWFhYsWODV4JMnrtVmXFpa6td5vKl5E+XlQePU1FQkJydDLudJHYFCVXEG8roLQo8hSvbweFg0/f1+3NzcXGzZsgXvvfdeh05YUKlUGDt2LObOnYv+/f0/v9Bqamqu2hrsDgrn5eWhrq5O6DG9RqVSQa1WtwgEu4PCWq1W8Mftyup6bNu2DTu2vISaOs8b0yPCw/Dg/ffiqYdnIyrSv7/jiQJFg02GI4ZIOFzCt+IHqp7RZqRHm4Qeg4jaiU3EREREROLHEDERERGRiJnMNuSXlDNETESCaLDJ8HVpJGxOfoh6uS4hNgyJb4CUfzUkgOsJEbtcLnzwwQd4+umnUVhY6PG6MWPGYP369UhJSWn3Mf2heZvx5UHjgoICFBcXw263Cz1mhzVvM748aNytWzdERUUJPWKnIHE5EVrwH0icwXtfCmgSKRpThgGy629ZvxaLxYK///3vePXVV/HDDz90aB9paWmYOnUqpkyZgthY8TW4Wq1WVFVVobS0FHq9HqWlpSgoKGjxdbA3xV/OfVLH5a3Bzb9OSEiAVBq44RuTxYFGkxVqcxGee3UnXt65Gyaz2eP1cbExWDBnOh6eNQUhKpUPJyUKTJVmBU6UR8DJT16vkBhuxQ1d+N4kUTBiiJiIiIhI/BgiJiIiIhIxo9mKAjYRE5GAaq1yfFMWATuDxE1iVHbcmNAAmYQvx0kYHQ0R5+bmYvHixThy5IjHawYOHIi1a9di+PDh7R0z4LTVZlxQUICamhqhR+ywy9uMU1NTW7Ridu3aFTIZL899veQNpVCVnRZ6DFGzdukBW3Syz/afn5+P119/HW+88QaqqqravV4ikWDkyJGYNm0a/vCHPwTtz5X7xIvWGoRLS0tRVFQEh8Mh9Kheo1arrxoO1mg00Ol0SEtLQ3R0tNBjXjd3iDg95GL7c4mhFM+9uhPb33gbFqvV4/10TdRi8bw5uH9SJuTy4LyfE3VUqVGB3MpwuNhI3ER3KUDMvxGi4MQQMREREZH4MURMREREJGIMERNRIKiyyHG8LJJtTAAiFXb8RtMAhZR/GSSc9oaIS0tL8cwzz+CNN96A0+n0aI1Go8GTTz6J++67L2hDcu1lNpthMBhaBI31ej0+/vhjlJeXCz3edVEoFIiNjW0Kz7HNuGNUpT9A3lgh9Bii5gxVw6Qb5PX9HjlyBNu2bcNHH33UoVbyiIgIZGZmYvbs2ejTp4/X5/OmmpqaFoFg9+Oa+2v398Si+eNb85Mn3F9rNBqkpKQgLCxM6FH94vIQsVtB8QWsf2kbXtu7v13h8F7du+GpR2Zj8rg/BnQDM5G3XWhU4ofKcPBVH5AQasOg+EZI+LdBFLQYIiYiIiISP4aIiYiIiETMZLYinyFiIgoAVRY5TpZHwNaJG4ljVHYMjmeAmITnaYjYarXitddew7p161BfX+/RvhUKBaZPn47FixcjMjLSG+MGLZPJhGnTpuGzzz5rc7u4uDjodDoUFhaitrbWT9N53+UtnWwzvozLhbCCryBxtj+ASu0gkcKYditckuu/rzU0NGD//v3Ytm0bfvrppw7tIz09Hffddx/uv//+gGipdTeq6/X6Fq3B7hMfSkpK0NDQIPSYXuNuWW/eGnx5k3Cnf2y6TGshYrfTZ37Bqr+8jP0fHUB7Plrq36cnlj76Z4z/wxhvjUoU8C40KnGqMhyenYInTrowKwZ0aYS0874NQCQKDBETERERiR9DxEREREQixiZiIgokDTYZTpRHwGSXQgJ0qh4iXbgVA2L54SkFBk9CxB9//DGWLFmC/Px8j/c7ZswYZGdno1u3bl6YMrjV1tbinnvuwdGjR9vc7o477sDOnTuhUqkAXL3N2B3wKygoQHFxcYdaUAOBUqlETExMizbj1NRUaDQa6HQ6pKenizp4LrXUIbTkhNBjdApm7Q1whHXp8Prz589j9+7dyMnJQU1NTbvXS6VSjBgxArNnz8aYMWMgkfj+l7/FYkF1dXWLQPDlXwfz48fVuAPCzR9Hmn+t0Wig0Wj88vcvJtcKEbt9/e13WLrueXz+Vdu/5y437MZBWLNoPkYNv/l6xiQKGp35ZNpuUWb0UpuEHoOIvMAdIu6ZpoWcIWIiIiIiUWKImIiIiEjEGCImokBjcUhxojwCddbO0/iWEmlGnxgTOt/HxhSo2goRnzlzBkuWLMG///1vj/fXq1cvrFmzBqNHj/bmmEGrvLwcd999N77//vs2t5s4cSJefPFFyOVyj/dts9lQWVnZFA68PCyYl5eHurq2g1+BTMxtxsqaAiiq8oQeo1OwRSfD2qVHu9Y4nU4cOnQIW7duxYED7WtYdYuKisKkSZMwZ84cpKamtnt9a5qfXGAwGJr+aR4SLisr69DMgUqtVrf4+b+8QTg5ORkRERFCjylKnoaI3T47dBhL1j2P47k/tOs4o0cMx7olj2HwDf06MiZRUDHaZTheFg6jPTifw7SXRAL0jTGia4RF6FGIyEsYIiYiIiISP4aIiYiIiESMIWIiCkQOF/BzdRiKGlRCj+JTCqkL/WMboQmzCT0KUQtXCxFXVVXh2Wefxc6dO+FwODzaT0xMDJ544gnMmjUraIOd3lZUVITMzEz88ssvbW43e/ZsrF271icNmZe3GRcUFECv16O0tBQFBQUoKiry+P9xoFEqlUhMTLwiaOxuHu3evXvABgtDDN9BZqwSeoxOwaGKhDnpRo+2raurw969e7F161YUFBR06Hg33HADpk+fjgkTJiA0NLRda2tqaq7aGuwOCgf7iQGXU6lUUKvVLQLB7qCw+2SB5OTkdp1cQd7V3hCx22eHDmPhqg347sefPV4jkUiQedftWPXkPPRMT2vnpETBxeqU4MeqcJQaFUKP4lMhcicyujRArQrO55pEdHXuEHGvNC1kDBETERERiRJDxEREREQixhAxEQWyCpMcP1SFw+IQ3wcQsSo7bohrQIiML7kp8DQPEdtsNuz6VuwKAAAgAElEQVTatQvr16/3OKimUChw7733YsmSJejSpYuPpw0eZ8+eRWZmJkpKStrcbt68eVi+fLmfprpSZ2wzbh5WTElJgVTq/987YYVHILGb/X7czsglkcHYbUSb25w9exa7du3C7t27YTQa230MmUyG3/3ud8jKysKoUaOu+L7VakVVVRVKS0tbhPibf11SUgKbTTwnGqlUKuh0uitag5t/nZCQIMjPH3muoyFi4GKj97v//F8sWbsR5wuKPF4nlUox7s7bsG7JY0hLSW73cYmCSUmjEqerwuBwie86NdpQK/p1MUIh5WtgIrFhEzERERGR+DFETERERCRiDBETUaAzO6T4sSoM5SZxNDLJJC50jzYjLcoM8X0sTGLhDhF/d+IwFi9ejJ9++snjtaNGjcLatWvRp08fH04YfHJzczFhwgRUVFS0uo1EIkF2djaysrL8OFnHXN6O2pnajHv06IHw8HCvHlPiciIs7xAAvg3rL8aU4XDJW17xwOl04sCBA9i2bRu++OILdORt8fj4eEyYMAF33XUXXC7XVRuES0tLg/pn5GouD+e7v3b/3KSlpSE6OlroMckLridE7Gaz25Hzt3ex6i+vQF9W7vE6pUKBqRP/BysemwttQlyHj08U6BptMnxfGYZaqzha15VSF3rFGJEUbhV6FCLyETYRExEREYkfQ8REREREIsYQMREFi0qzAj9Vh6LBJhN6lA6LD7Whb4wRoXKn0KMQtenHc/mYv3IjPv/3px6v6d69O1avXo0xY8b4cLLg9NVXX2Hy5Mmor69vdRu5XI5NmzZh0qRJfpzMd5q3rLrbjAsKCmAwGGAwGHD+/Pk2/z4CnVqtRmpqKrRaLbRa7XW3GcusDQgp/saHE9PlzLqBcITGAgAqKiqwZ88e7Nq1C8XFxR3aX1RUFKKiomC1WlFWVubNUQWlUCgQGxvbdF9339/dX2s0GqSkpCAsLEzoUclPvBEidjOazHhl1248+8oOVNd6vr/wsFD8efpkLJz7ANRRkdc9B1GgMhiVOFMTCpM9OAN5EokLSeE29FQboWT7MJGosYmYiIiISPwYIiYiIiISMYaIiSiYOAEU1ofgfG0IbM7g6fGNUjrQJ8aIGJVd6FGI2lRdW4dnX9mBTdtyYLXZPFqjVqvxyCOP4MEHH4RSqfTxhMHnk08+wYwZM2A2m1vdRqVSYceOHbjzzjv9OJnwrtVmXFhYCKczOE+6UKlU0Ol0V7QZu4PGXbt2bdFmLG8og6rsRwEn7nyscT3xTV4FcnJy8NZbb7X5MypWl99Pr9Yk3LVrV8hkwXsCF3mfN0PEbvUNjdiSsxfrX9qGuvoGj9fFqqPx+J9nYu7M+xAaEuK1eYgCid0pwfm6EBTWh8ARRJ/WdgmxoU+MCREK8bTuE1HrmkLEqRrI5XzuSERERCRGDBETERERiRhDxEQUjOxOCUoaVSioU8HkCNyGE7XKgW5RJiSEehbGJBKK3e7AX/+2H8s3vIjyyiqP1kilUowfPx6rV69GXBwvKX4177zzDubOnQtbG4Hs8PBw7N69GyNHjvTjZMHBYrGgpKQEJSUlKC4uRlFREYqLi1FcXIySkhIUFRXBYrEIPWaHaTQaJCcnQ6PRIDZMif+5pS/uGnGT0GOJntVmx4PZm/Hx4ZOorKoRehyf6dKlC7RaLZKSkqDT6aDT6ZCUlASNRtN0W3R0tNBjUhDyRYjYraKqGhu3vIaXdrwBczse35O0Gjz24AzMnjoRKp7QRCJldUhQ2BCConoVrAF6Qq0EQFyoDelRZqh5Ai1Rp8ImYiIiIiLxY4iYiIiISMQYIiaiYOYEYGhUoqA+BHXWwGg6kUoATagVaVFmRCnZukSB7/OvjmLB8nX44aczHq8ZMWIEsrOz0b9/fx9OFtx27tyJp556qs0m3ZiYGLz11lu48cYb/TiZuFytzTg/P7/ptmBqM55z9x14YeEsoccQvbHzsvHJf04IPcZ1UavVSE1NhVarvWqDcHJyMiIiIoQek0TKlyFit8ISPda9uBV//dt+2O2eP59OTU7EUw/PxvR7MtmgTaJld0pQ0qBEYWMIjLbACOrJJS5ow23oFmVCmDw4nncRkXe5Q8S90rSQMURMREREJEoMERMRERGJmMlsQ35JOUPERBT0jDYp9EYlLhhVfv8wVSJxoUuIHdowKzShNsilfBlNge+X/EIsXfc83vnHJx6v6datG5YtW4axY8f6cLLgt2nTJqxatarNbZKTk7F//3706NHDT1N1TlarFRcuXLgiaGwwGGAwGHDu3Dk0NgbGc+AVc+7BUzPHIzC7BcVj78dfYPqyTUKPcVUqlQpqtbpFINgdFNZqtUhNTUVycjLkcrnQo1In5o8QsdvP587j6Wdfwv6PDqA9H1P17dUdyx+bi8y7bodEwkdVEq86qwz6RhUMRgXMfr5Cj0wCxIdYoQ23Ij7UBil/1Ig6NTYRExEREYkfQ8REREREIsYmYiISo3qbHFUmGaosclRbFLD54HKv4QonYlQ2xKrs6BJig1LGl84UHBoajdi45TVseHk7LFarR2vCwsIwd+5czJ8/HyqVyscTBi+Xy4UVK1bglVdeaXO7Hj16YP/+/UhOTvbTZNSWmpoaFBQUQK/Xo7S0VLA247n3/AHPLZju8+N0dlabHerfToLT6d/f2yqVCjqd7orW4OZfJyQkQCpl6IICmz9DxG4//HQG2c9vbteJTwBw8+CBWLPoUfzXrUN9NBlRYHABqLXIUWVWoNoqR41FBruXXwNLAEQoHYhV2RCjsqNLiJ0nzxJREzYRExEREYkfQ8REREREIsYQMRGJnQtAg02GeqsMjXYpjDYZGu0ymOxSjz5YVUmdCFM6ESZ3IFx+8d9qlQMqGS/TSsHF6XRiz7sfYtGa51BaXunRGqlUivHjx2PlypVISEjw8YTBzeFwYMGCBdi9e3eb2w0cOBD79u1DXFycnyaj62WxWKDX669oM/7pp59QWFiIiooK2Gy26z5O9646nHr3ZS9MTG1pNFkQN2pyu1pNryUiIgI6nQ6JiYktwsEajQY6nQ5paWmIjo722vGIhCREiNjtP8dOYOn6F3DoyDftWjd6xHBkL3oUN2YM8NFkRIHF5ZKgziZDvVV66bWvDI02KYx2Ga51Do0EQMil171hcifCFA5EyJ2IVtmhYGiYiFrBEDERERGR+PHaaERERERERBS0JAAiFQ5EKhxX/b7NKYHdJYHTCThcEiikLkglgEziYrMSicYXh49hwYp1yD31k8drMgYNwYZn1uGmm27y4WTiYLVakZWVhQ8++KDN7YYPH44333wTUVFRfpqMvEGlUiE2NrYpOJybm4tjx46hqqrKq8f5pUiPQydOYcSQ/l7dL7X04psfejVADAANDQ04f/48pFIpNBoN1Go1evfujcGDB7O9nciLbvnNEPx7/+v47NBhPLXmOZz84bRH6z47dBifHTqM0SOGY8PyhRjYr7ePJyUSlkTiQrTSjmjlld9zuQC7SwK7UwKnSwKnC5BLXZBJXZBJXJB5/yI+REREREREJAJsIiYiIiISMZPZhvyScjYRExERiVCx3oBl61/Anv2eh+aSdRo8/eSjGDV2KmKjGH67FqPRiKlTp+Lzzz9vc7vbb78dr732GkJCQvw0GXWU3W7HuXPncPToURw5cgS5ubk4c+aM14OnV/P7W4fg7y8s8flxOiurzY5ud85CZU29X46nUCiQnp6OYcOGYejQocjIyECvXr0glbKdjYKXkE3EzTmdTrz7z//FsvUv4FxegcfrpFIpxt15G7IXL0B6alcfTkhERNR5sImYiIiISPwYIiYiIiISMZPZivySCoaIiYiIRMRoMuO5V3fi2Vd2wGyxeLQmLDQEjz04E088NBMKVShK7GrERF6lvoya1NTUYNKkSTh27Fib22VmZuKVV16BQqHw02TUHnl5efjmm29w4sQJHD9+HN9//z2sVqtfZ5DLZJgw5rfY9OQDiAwL9euxO5vzxaV48oW/4qND38DpdPr9+Gq1GoMHD8bgwYMxZMgQDB48GFqt1u9zEHVUoISI3Wx2O3L+9i7WPL8ZJYZSj9cp5HJMmzQOyx97CLqEeB9OSEREJH7uEHHPNC3kDBETERERiRJDxEREREQixiZiIiIi8XC5XNj/0QE8uWoDCkv0Hq2RSCTIvOt2rF/2BFKTEwFcvMQxQ8RtKysrw/jx43Hq1Kk2t5s+fTo2bNjA5tEA0dDQgB9++AG5ubk4evQovvrqK1RUVAg605gxY/DsssfQS+Wfdly66FStDM9sexPvvPOOIGHi5jQaDQYNGoSMjAxkZGTgN7/5Dbp06SLoTEStCbQQsZvVZsPrb72Hp597CaXllR6vCwsNwUMz7sMTD81CTHSUDyckIiISLzYRExEREYkfQ8REREREImY0W1HAJmIiIqKg983JH7BgxToc/uZbj9fcmDEAG1c+hVt+M6TF7QwRt62wsBDjxo1DXl5em9vNmzcPy5cv99NUdDmHw4GzZ882BYaPHDmCs2fPCh4YdRs4cCCys7Nxyy23QGquRegFz3926fpZtDfAHtYFp0+fxrPPPov3339f6JFacAeLhw4diqFDhyIjIwOhoWypJuEFaojYraHRiM1/fRPPvLQdtfWen5wRGRGOOdPuwVMPz0ZUZIQPJyQiIhKfpibiVA3kcpnQ4xARERGRDzBETERERCRiDBETEREFtwulZVi98VXsetPzNs1ETQKWLfgzZtw7/qoNuQwRt+7nn39GZmYm9PrWm54lEglWrFiBhx9+2I+TkcFgwMmTJ5tCw19//TVMJpPQY10hNjYWjz/+OGbNmgWZ7NIH7A4bwgu+EnawTsbUdSicil9DuceOHcPq1avx1VeB+f9BLpeje/fuyMjIaGotHjJkCJRKPk6TfwV6iNitsroGf9m8Cy/v3A2T2ezxurjYGCyYMx0Pz5qCEJXKhxMSERGJB5uIiYiIiMSPIWIiIiIiEWOImIiIKDiZzGa8vHM31r24FfUNnv0OVyoUmD11IlYtnIfIiPBWt2OI+Oq+/fZbTJw4EZWVrV8mXSaT4bnnnsPUqVP9OFnnYzQa8d133yE3NxcnT57E0aNHUVBQ4JdjR0dHIyMjAwqFAocPH4bRaPRonUKhwPTp07Fo0SJERUVd8f2w/K8gcdq8PS5djUSKxrQRgERyxbcOHjyIp59+Gt999127dpmUlITY2FicOXMGFovFW5O2KSwsDDfccEOLYHHv3r0hucp/F5G3BEuI2K1Yb0D2C1vw17/th93u8HhdSpIOix7Jwv2TMtmoSEREdA0MERMRERGJH0PERERERCLGEDEREVHw+cf/fo5Hl69DfmGxx2vu+t3/wQurFyMtJfma2zJEfKUvv/wSkydPRkNDQ6vbKJVKbN68Gf/93//tx8k6h/z8fBw9erSpafjbb7+F1Wr1+XEVCgX69euHoUOHNoU08/PzsXTpUuTl5Xm8n1GjRmHdunXo3bt3q9uE6k9Caqrxxth0DU5lOEzJv2n1+y6XCx988AGys7Pxyy+/eLxfqVSKu+66CxMmTEBRUVHT/fXs2bMeN8Vfr6ioKPTt2xcZGRkYNmwYhg8fjoSEBL8cmzqHYAsRu+UXleCZl7fjtb374XB4Hibu3SMdTz/xMDLvup0BfSIiolYwRExEREQkfgwRExEREYkYQ8RERETB49vvf8SCFevw5dHjHq8ZNKAvNq5chBHDbvJ4DUPELX388ceYMWNGm+2ioaGhyMnJwejRo/04mTjV1tbi5MmTOHLkCHJzc/H111+jurraL8fWaDQYNmwYhg4dioyMDAwePBiqS5ezP3v2LJYuXYpPP/3U4/316NEDa9aswW233XbNbZVVv0BRU9Th2clz9ggtLAl9rrmd0+nEhx9+iJUrV7ar6VqhUODee+/FwoULodVqUV9fj1OnTgnSnA1cvF+7Q/AZGRkYOnQoYmJi/HZ8EpdgDRG7/fjzOaze+Are+ccn7Vo3oE8vLHn0QYz/wxgfTUZERBS8GCImIiIiEj+GiImIiIhEzGS2Ip8hYiIiooBWUVWN7Bc2Y/Nf93rcntclRo0l8x/En6ffC5msfZfhZoj4V2+//TYefvhh2O32VreJjo7G3r17MXToUD9OJg42mw0//vgjjhw50tTaeubMGfjj7cjIyEj069cPw4YNw80334ybbroJcXFxV2xXXV2NDRs2YNeuXW3eD5pTq9VYuHAhZs6cCblc7tEamakKIfrv2vXfQB1jSegLe4TG4+2tViv27t2L9evXo6yszON1SqUS99xzDxYvXnzFfctgMDTd53Nzc3Hs2DFUVVV5vO/rdXlgftCgQQgJCfHb8Sl4BXuI2O3oiVwsXfcC/t9/jrZr3S2/GYI1T81v18lZREREYucOEfdM00LOEDERERGRKDFETERERCRibCImIiIKXDa7HVv+uhdPP/cS6uobPFqjkMuRNW0Snn7iYURHRnbouAwRX7Rjxw4sWrQITqez1W3i4+PxzjvvYMCAAX6cLHgZDAYcPXq0qWX45MmTbTY8e4tcLkf37t2RkZHRFJzs1asXpNLWP+C22+3Ys2cPsrOzUVlZ6fFxJk+efNXQ6LVIXE6E5n8Jiav1+xt5hzH1Frhk7X98MxqN2L59OzZt2oTa2lqP14WHh2PWrFl49NFHEdnG47I7WPz11183/YyYzeZ2z9kRzX9GBg0ahGHDhmHAgAHtPgmFxE8sIWK3zw4dxuK1G3Hiu1PtWjd6xHCsX/o4Bg3o66PJiIiIggdDxERERETixxAxERERkYiZzDbkl5QzRExERBRg/vG/n+OxFetxvqDI4zWjRwzH86sWo2+v7td1bIaIgU2bNmHVqlVtbtO1a1e8++67SE9P99NUwaW+vh6nTp3C0aNHcfToURw/fhwVFRV+ObZGo8GgQYNahIbb07J68OBBLFmyBKdPn/Z4zciRI5GdnY1+/fp1ZGQAQIg+FzJTdYfX07U5VREwJV1fg2h1dTVeeuklbN26tV0h3y5duuChhx7CnDlzoFKprrm93W7HuXPnmgL3ubm5+Pbbb2G1Wq9nfI+Fh4djwIABTcHijIwM9O7dGxKJxC/Hp8AkthAxALhcLnz06f/D8mdexPenf/Z4nUQiQeZdt2P1U/PRo1uqDyckIiIKbE0h4lQN5HKehEZEREQkRgwRExEREYkYm4iJiIgCy8/nzuPxlc/g438f8nhN7x7peHbFQtzxf0d6ZYbOHCJ2uVxYunQptmzZ0uZ2vXr1wv79+5GYmOinyQJb87Cju2n47NmzbbY4e0vzoOOwYcMwfPhwJCQkdGhfv/zyC7Kzs/H+++97vCY9PR1Lly7F2LFjO3TM5hS1xVBWnrvu/VDrrOpU2GK7eWVfFRUVePXVV7Fly5Z2NWonJibi8ccfx+TJkyGXy9t1TKPRiO+++65FsPjMmTPw11v4UVFR6Nu3L4YNG4abb74ZN954I+Lj4/1ybAoMYgwRuzmdTrz7z//F4rUbkdeOk7gUcjmmTRqHpY8+iCStxocTEhERBSY2ERMRERGJH0PERERERCLGEDEREVFgqKqpxeqNr2BLzl7Y7Q6P1sSqo7H00T/jwfvv9WrbT2cNETscDsybNw979+5tc7uMjAzs27cPXbp08dNkgcdgMDQFGN1Nw+1pZO0omUyGHj16NDWjDhs2DDfccAOk0uv7oLq2thabNm1qVxg0PDwcDz30EObPn+9Rq6wnJE4bwgoOAy7fh687K1PXm+FUhHl1n0VFRXj++eexe/duOByePX4DQI8ePbBgwQLcfffd13Ufrqurw48//tj083j48GGUlZV1eH/t1bz52x3mV6vVfjs++ZeYQ8RuVpsNr7/1Hlb+5WUYyjxv0FcqFJg68X/w9OMPQxPfeZ8jEBFR5+MOEfdK00LGEDERERGRKDFETERERCRiDBETEREJy2a3I+dv72LZM5tQUVXt0Rq5XIb7J2Vi1cJHEN8l1uszdcYQscViwezZs/GPf/yjze1uvfVW7NmzB5GRkX6aTHiNjY34/vvvBQko+jqc6HQ6sW/fPixfvhwVFZ4FxaRSKcaPH49Vq1b5pIFVVfoD5I2eh9bIc85QNUy6QT7b/88//4xnnnkGH3zwQbuagfv27YsnnnjCK23Wbs2D/rm5ufj6669RXe3Z75jrdXnYPyMjA4MHD/Za2J6E1RlCxG6NRhNefW0PNry8HTV19R6viwgPw4P334snH34A0Z3o+QIREXVebCImIiIiEj+GiImIiIhEjCFiIiIi4Xx26DAee3o9Tv101uM1//e3w7Bx5SL079PTZ3N1thBxY2MjpkyZgoMHD7a53e9//3vs/P/s3XlclXXeP/7X2VgOuyJLpiIqKMgui1Jj37u7mk27Jy0rnbLSMtPcFxZxAQG3DC3TSrO7zG7L5h6tfjVN94zlAii74IIL7qDIvp7194fBpKN4HeA6h3Pxej4ePuYxj7ne5/MewYvrcF6f92f7dtjZ2ZmpM/PT6/UoLS1FQUEB8vPzkZWVhaKiIhgM4k/GValUCAgIQHR0dHvwcPjw4aKtd/DgQSQkJOD48eOCa2JjY5GamoqRI0eK1pei8SbsKopEe/3erLXfcOicvERfJycnBykpKfjpp59MqouMjMSyZcsQGxsrSl9lZWXIyspqDxfn5+cLnrzdVSqVCr6+vu2bAaKjo+Hn59flKeJkfr0pRNymqqYW72z/FG+/vxP1DcJ/b9LXzRULXn8Zs16ZAnsJPzsQERFxEjERERGR9DFETERERCRhzS0alDFETEREZFal58qwaOVafPP3fwquGTp4EJKXzsXEPz4hXmO/6E0h4urqakyaNAk5OTkdXvf0009j8+bNUKlUZurMPCoqKpCXl9c+rTQrKws1NTVmWdvT07M9TGjOSaVXrlxBSkoK9uzZI7imf//+SEhIwKRJk0Ts7BdGI9SXsiDTtYi/Vi9ilCvRPGg0jDKF2dbMzMxEcnIyMjMzTaobO3Ysli9fjpCQEJE6u0Wn0+HMmTMW2TQAAI6OjggMDLxtYrGYGweoe/TGEHGbGzersHHbTmz64L/RqtEIrnvQ2xMJc1/H1GcnQKk03z2IiIjIXBgiJiIiIpI+hoiJiIiIJIyTiImIiMynpq4ea9/5wKTwiauzExbPmo43p78AWxvzhHp7S4i4oqICEyZMwIkTJzq87pVXXkF6errVT8zUarUoKSlBZmZm+yTSU6dOmWVtZ2dnhIWFtQeGIyMj0bdvX7Os3aapqQmbN29GRkaG4OmrarUas2bNwty5c80ScG6jrLsK28rTAIwAZGZbV8q0fQZD4zrIImsfOHAASUlJJk29lslkGD9+PBISEjBkyBARu7tdY2MjioqK2oPFBQUFOH36NMz1EYGLiwtCQ0Pb7xWjRo2Cu7u7WdYmYXpziLjNxSvXkLZpGz7avRd6vV5w3aAB/bF01nS89NwEKBQMExMRkXQwRExEREQkfQwRExEREUkYQ8RERETiMxgM2PXVfixNXofrlVWCauRyOZ5/6o9IT1wEz37mDVv2hhBxWVkZJk6ciPPnz3d43Zw5c5CUlGSmrrpXeXk5srKykJmZ2R4IFBqe7QqlUokhQ4bcNmXY398fMpllwrBGoxF79uzBihUrcP36dUE1bQHOVatW4cEHHxS5w7swGqC+fBQybbP515YihQpNA6JhlCst1oLBYMD+/fuRnJx83/vOr8nlcowbNw7Lly/HoEGWCUHX1tYiPz+//V6Sk5ODyspKs63v6enZPqk4JiYGkZGRUKvVZlufbscQ8b+cLD2Hles3Y+83fzMpaB/gPxTL5r9hltMliIiIzKEtRDzMxwtKhoiJiIiIJIkhYiIiIiIJa27RoIwhYiIiItH883AW5ielo+iE8ImvY0dH4a1VcQgO8Bexs3uTeoj4xIkTmDhxIsrLy+95jUwmw6pVqzBz5kwzdtZ5dXV1yMvLaw/5HTt2DDdv3jTL2m0Bv+joaERHRyM0NBR2dnZmWft+cnNzER8fj6NHjwquCQsLQ1paGiIjI0Xs7P6UdddgW2meSdFSp+kzGFoLTSG+k1arxWeffYY1a9agoqJCcJ2NjQ2ee+45LF26FB4eHiJ2KEx5eXn7pOKCggJkZWWhpqbGLGsrFAoMHToUISEh7eHisLAws04L780YIv53R/OLsCz9bfz48xGT6qLDQ5ASNxePjIkWqTMiIiLz4CRiIiIiIuljiJiIiIhIwjiJmIiISBwXr1zD8rUZ+PTLfYJrBjzghZVL5uDPE58UsbP7k3KIODc3F8888wyqq6vveY1CocDGjRsxefJkM3YmnE6nw5kzZ26bMnz69GmTpiB2lqOjIwIDA9sngsbGxsLd3V30dU117do1rFq1Cl988YXgvxdvb28sW7YMzzzzjMWmJt/GaID95WOQa5ss3YlVMypt0TwgCkaZwtKt3Ka5uRnvv/8+Nm3aZFL4Vq1WY/r06ZgzZw5cXFxE7NA0er0epaWl7VPPzTn9HABUKhV8fX1vm4Du5+cHuZwhlu7GEPG9HcrORWL6RhzMyjGp7tGHRyM1fj7CgwNF6oyIiEhcnERMREREJH0MERMRERFJGCcRExERda/GpmZseG8H1r37IVoEhqcc1PaYP+NlLJ41DXY9YJKiVEPEP/30E6ZMmYLGxns/89ja2mLbtm0YN26cGTvrWNvEz+zs7PbQcEtLi+jr3jntMyYmBkFBQT06lNcWzNywYUOHX+dfs7Ozw2uvvYYFCxbAwcFB5A5NI2+pgf3VfEu3YdVavUZCp+55Qfc2DQ0N2L59OzZu3Ij6+nrBdW5ubpg9ezZee+21HjP5+05arRZnz55tn1ScmZmJ0tJSGAwGs6zv5OSEgICA9ntYdHQ0fHx8zLK2lDFEfH8//nwES5LXoaD4pOAamUyG3z86FslL5zaDxpgAACAASURBVCBohGVOoiAiIuosTiImIiIikj6GiImIiIgkrLlFi7IrNxgiJiIi6iKj0YhP9+5D/OoNKL9eKahGJpNh8oRxSE1YAG+PfiJ3KJwUQ8Tffvstpk2b1uFUTLVajU8++QSPPPKI+Rq7Q0NDA44fP94eujt06BAqK4V9P3WVp6cnQkNDERISgpCQEIwePbpHTTrtiNFoxL59+7B8+XJcunRJcN0TTzyB9PR0DBw4UMTuusa28jSUdVct3YZV0jn0Q6undUz2vHnzJt59911s3brVpOm97u7umDlzJmbMmAHbHrAJ5X5+fY9rm1h86tQps61/530uMjISffv2Ndv6UsAQsTAGgwFfffsDEtM24mzZRcF1crkcT/3+MaTGz8fgQQNE7JCIiKj7cBIxERERkfQxRExEREQkYU0tGlzgJGIiIqIuOZpfhHnLUpGVWyC4ZlToSGxcFY+YiFARO+scqYWId+7ciUWLFnU4/dLV1RWff/45IiMjzdaXXq9HaWlpe5guKysLRUVFZpnSqVarERQUJIkJnQUFBYiPj0dmZqbgmuDgYKSmpmL06NEidtY9ZAYd7C8fhUwnPFhKgFGuRPODkTAqe36w9teuXLmCDRs2YNeuXdDpdILrBgwYgHnz5mHKlClQKBQidtj9KioqkJeXh4KCAhQUFCAnJ8dsmyeAfwWLo6OjER0djZCQENjb25ttfWvDELFptDodPv78KyS/tQVXK64LrrNRqfDCpD9h+YJZ8PLoudPUiYiIAE4iJiIiIuoNGCImIiIikrDmFg3KGCImIiLqlMvXyrEs/W3s2rsfQn990t/LE8lxczFlwnjIZDKRO+wcKYWIMzIykJyc3OHXx8PDA3v37kVAQICovZSXl7dP3iwoKEBmZiZqa2tFXbONj48PoqKi2idwhoeHw8bGur++FRUVWLNmDT755BPBwWtPT08sWbLE6oKWipYa2F0rAPhrWsFaPQKgc/SwdBudVlpairS0NOzbt0/wzxcA8Pf3x5IlSzB+fM/9GSPEr++XWVlZyM7ORnNzs1nWViqVGDJkSPsmC6ncM7sLQ8Sd09Tcgu27vkD65m24XlkluM5BbY+ZL03G4lnT4ersJGKHREREnccQMREREZH0MURMREREJGGcRExERGS6puYWvLvjU6RmbEVDY5OgGrW9Hd54eQri58yAo4Na5A67RgohYqPRiOTkZGRkZHR43aBBg7B3714MHjy4W9dvampCYWHhbVOGL1y40K1r3IuzszPCwsLaJ2pGRUWhT58+ZlnbHDQaDT766COkpaWhvr5eUI2NjQ2mTp2K+Ph4ODlZZwhLVXMRNlXnLN2GVdC6DoSmj6+l2+gWJSUlWL9+Pf7617+aVBcREYHExET85je/Eakz87pzcnvbf7a2mmdCt0qlQkBAAKKjo9uDxf7+/lYd1O4shoi7pqGxCe/t/Azpm99HXX2D4Lo+ri544+UpmPfaVDg5OojYIRERkenaQsTDBnlBqWSImIiIiEiKGCImIiIikrDmFi3KrtxgiJiIiEgAo9GIvd/8DUuT1+HC5auC6/7wn4/g7ZQE+AzoL2J33cfaQ8R6vR6LFi3Cxx9/3OF1/v7+2Lt3L7y9vbu8ZllZGbKystrDbXl5edBoNF1+3ftRqVTw9fVFTExMe2hYysG27777DgkJCSgrKxNc88QTTyA1NRU+Pj6i9WUuthXFUDbesHQbPZrezhUt3iGAxP4NZGdnIyUlBYcOHTKpLjo6GsuWLcPo0aNF6sxytFotSkpKkJmZ2X7vLS0tFTyZvKucnJwQEBCAkJAQxMTEYPTo0fDwsN7p10IxRNw9Kquq8dbWj7D5w0/QYkIYvl/fPpj32lS8Of0F2HI6NhER9RDtIWIfLyg5iZiIiIhIkhgiJiIiIpIwTiImIiISJrewGPOS0nD4aK7gmvDgQLy1Mg6xUeEidtb9rDlErNFo8Prrr+N///d/O7wuLCwMe/bs6dSE3rq6OuTl5SEzMxMFBQU4evQoqqqEH03eFZ6enrcFhsPCwmBra2uWtS3p9OnTSEhIwP/93/8JrvHz80NKSgoeffRRETszL5lBB7ur+ZBrhE+v7E2MKns09w+HUa6ydCuiOXDgAFasWIHCwkKT6saOHYtVq1Zh5MiRInXWM9TX16O4uNgiU+CBW/fotknFUpwEDzBE3N0uXS1HasZW7Px8L3Q6veC6gf29Effma3jpuQlQKBQidkhERHR/bSFiPx8vKBgiJiIiIpIkhoiJiIiIJKy5RYMyhoiJiIju6WrFdSS/tQU7PvtS8HRDb49+SFrwhtUGO6w1RNzc3IwXX3wRP/74Y4fXPfTQQ9i1axccHR3v+5parRZnz55FVlZWe2j49OnTMMevyxwdHREYGIiYmBhERUVh1KhRcHd3F33dnqSqqgrr1q3D9u3bodcLC1e5ublh0aJFmDZtmlX++7svvQb2V/Mh1zZZupMexai0RbN3KIwqe0u3Ijqj0Yh9+/YhJSUF586dE1wnl8sxbtw4LFu2DIMHDxaxw56lvLy8fVJxQUEBjh07hps3b5pt/Ts3f4SGhsLOzs5s63c3hojFcfrseaRt2obPvvrapGnaw4f5YvnC2Zjwh8clewoBERH1fAwRExEREUkfQ8REREREEsZJxERERHen0Wqx7ePPsWL9ZtTVC5v6aaNS4dUXJmHlojfh7HT/gGpPZY0h4traWjz//PPIzMzs8Lrf/e532L59+z2n95aXl98WGM7Pz0erCceMd5ZSqcSQIUMQEhLSHjbz8/ODXN47P4DVarXYsWMH0tPTUVcnLKimUqnw/PPPIyEhAX379hW5Q8uS6Vphfy0fMm2zpVvpEYxyFVr6h8GgUlu6FbPSarX46quvkJ6ejosXLwqua/u3snjxYnh5eYnYYc/VFizOzs5uv9+3tLSYZe1f3+9DQ0MRExODkSNHWs2mB4aIxVV8shQpG7fgy6+/N6kuMjQIyUvn4tGHR4vUGRER0b21hYiH+XhByRAxERERkSQxRExEREQkYZxETERE9O++/uEfmL88HecvXBJc84f/fAQbV8Vh8KABInZmHtYWIr5x4waefvppFBUVdXjdpEmTsGnTJiiVSgD/OvY+KysLWVlZyMnJQWVlpTlavu3I+7ZJw/b20p+gKsSBAwcQFxeHU6dOCa4ZO3YsUlNTMXz4cBE761lk2mbYXyuATPdL8NEIoDcOoVTYoNkrGAZb69240VUajQa7d+9GWloabty4IbjO3t4er776Kt588024urqK2GHPp9PpcObMmfbNIwUFBcjLy4NGozHL+g4ODhg5cmR7sDgkJAT+/v49crIsQ8TmkZmTj8S0t3HgSLZJdWMiw7E6bh4eio4QqTMiIqJ/x0nERERERNLHEDERERGRhHESMRER0b/kHz+BBSvS8dORo4Jrhg/zxYYVS/H4Iw+J2Jl5WVOI+NKlS5gwYQLOnj3b4XXTp0/Hiy++iMLCwvZJw6WlpSYdGd5Zd4bDRo8ejYEDB4q+rrU5c+YMEhMT8cMPPwiuGTJkCFJSUvD444+L2FnPJdNrYHutEAqNsGnpUmNQqdHiFQSjigF8AGhsbMSHH36It99+W/AEbwBwdHTEK6+8gnnz5sHJyUnEDq1LU1MTCgsLbwsWnz59Gub6uMTZ2RkjRoxo32gSERGBfv36mWXtjjBEbF4//nwEcas3IK+oxKS6Rx8ejTXLFiEksPdsriEiIsthiJiIiIhI+hgiJiIiIpIwhoiJiIiAm9U1SNm4Be/t3A29Xi+opo+rCxLnzcTMl563miPIhbKWEHFpaSkmTJiAK1eudHjdgAEDUFlZiebmZtF7UigUGDp06G3TJCMiIqBSqURf21rV1NRg06ZNeO+99wRP/XR1dcWbb76J119/HTY2Pfv7VGwyox42FSVQNt20dCtmZbBzQbPnSEDBf1t3qqqqwjvvvINt27ahpaVFcF3fvn3xxhtvYMaMGbC1tRWxQ+tVV1eHkpISFBQUICsrC0eOHMH169fNtv6vp9i3TbI39xRphojNz2g0Yu83f0PSmgyUnisTXCeXy/HU7x9DStw8DPHh5iUiIhJPW4h4mI8XlAwRExEREUkSQ8REREREEsYQMRER9WZanQ5bd+7GyvXvoLa+XlCNSqnEay8+i+ULZ8PVWZoTG60hRFxQUIBnnnkGlZWVFu3Dw8MDYWFhFg10WSudToddu3YhNTVV8NdRLpdj4sSJSE5Ohru7u8gdWhGjETbV56CquWTpTsxC5+yN1r7DABkDCh25evUqNm/ejJ07dwoO6ANA//79sWDBAkyePBlKpVLEDqWhvLy8fVJxQUEBsrOzUV1dbZa177ZxJSwsTNQQOEPElmMwGPDVtz8gbvUGlF28LLhOpVTixWefwrL5M/GAp4eIHRIRUW/FScRERERE0scQMREREZGENbdoUMYQMRER9UI//nwE85JSceL0WcE1jz48Gm+tjEOA/1ARO7O8nhwi1uv12LNnDxYuXGjShM3uoFKpEBAQgOjo6Paw1vDhPCa8M3766SckJCSgpET48ewPP/wwVq9ejcDAQBE7s26K5irYXj8JmV54YNSaGBUqaNz9oHPoZ+lWrMrFixfx9ttv49NPPxU8bR8Ahg0bhri4OIwfPx4ymUzEDqWnrKwMWVlZt4WLzfUzS6VSwdfXt31jS3R0NPz8/CCXd0+ghyFiy9Notfjv//kLVqzfjIobwqfQq+3t8PLzExH35gx4uPcRsUMiIuptGCImIiIikj6GiImIiIgkjJOIiYiotzl99jwWrliD/+//fhJc4zdkMNYtX4zfPzpWxM56jp4UIr5+/Tpyc3PbQ1gHDx5EY6N5nlk8PT3bA1jmmO7YG5w7dw4pKSn461//Krhm8ODBWLZsGZ588kkRO5MQvRa2N05C2SQ8WGYN9HauaPUYAaOS/wY76+TJk1i7di327dsHU37lHxAQgIULF/LfYBfodDqcOXMGBQUFyM/PR1ZWFo4fP25SqLsrHB0dERgYeNvE4s5ugmGIuOdobGrGlo92Ye07H6CmTtiJGgDg6KDG61Ofx9LZr8LZyVHEDomIqLdoCxEP8/GCkiFiIiIiIkliiJiIiIhIwjiJmIiIeovq2jqs2vAOtn68GzqdsNCOm4szFr0xDXNefRE2KpXIHfYclgoRa7ValJSUIDMzs31646lTp8yytpOTEwICAhATE4OoqChERkaib9++Zlm7N2hsbMQ777yDjIwMtLa2CqpRq9WYNWsW5s6dy/B2JygbrsOm6hxkOvNO7O5uRoUKmj6+0Dl5AeA03O5w7NgxpKSk4OeffzapLioqComJiYiNjRWps96lsbERRUVF7cHigoICnD592qSAd1e4uLggNDS0faPMqFGj4O7uft86hoh7nqqaWqzfsh3vbP8UzSZMvHbv44b5M17C7Gl/hh1/zhIRURdwEjERERGR9DFETERERCRhnERMRERSp9PpsfPzvUhauwk3blYJqlEqFZj67ASsWvwm+vXtfcc9mytEXF5ejqysLGRmZraHqIQGTLtCqVRiyJAhtx317u/vD5mMAcXuZjAY8MUXX2D58uW4ceOGoBq5XI6JEydi5cqV8PDwELlDaZMZDVDWXoaq+gJkRvNMPO02Mjm0Tt7Q9hkMo1xp6W4k6cCBA1i1ahXy8/NNqhs7dixWrFiB4OBgkTrrvWpra3HixAlkZWUhKysLOTk5qKysNNv6np6e7ZOKY2JiEBkZCbVafds1DBH3XFfKK7B+y3Z88MketGo0gusGPOCF+DkzMPXZCVAqFSJ2SEREUsVJxERERETSxxAxERERkYQxRExERFL2fwczsWB5Oo6fPC245v/FRmPDyqUIGuEvYmc9mxgh4vr6ehQXF7cHo44dO4abN2922+t3pC0UFR0djejoaISGhsLOzs4sa/dmhw4dQkJCAoqKigTXREREIDU1FaNGjRKxs95HpmuBquYSlPXXIDMaLN3Ofcigc/KC1m0gDEp7SzcjeUajEd9//z1SU1NRXFwsuE4mk2H8+PFITEyEr6+viB1SeXl5+6TigoICZGVloaamxixrKxQKDB06FCEhIe3h4hGBIdDqwRBxD3bh8lWkb34fH+3eC71e+AYSvyGDsfTNVzH5qXGQyxkAIyIi4RgiJiIiIpI+hoiJiIiIJKy5RYuyKzcYIiaiXkVvlKFZJ4dWL4PeCOiMcugNMhhhhFwGKGRGKOWAUm6EjdwAO4UBHFBqXc6cv4Bl6W/jy6+/F1wzxGcgUuLmYeIfnxCxM+vQ1RCxTqfDmTNn2sNOmZmZZjui3cHBASNHjmyfojhmzBj069dP9HXpX65cuYKUlBR88cUXgr/mDzzwABITE/HMM89wIrSY9FrY1F2Bqu4qoBc+pdIcjHIldM79oXXpD6NC3Cno9O8MBgP279+PVatWoaysTHCdSqXCn/70JyxduhSDBg0Sr0Fqp9frUVpa2j7B35yT/AFAqVLBZ9BgPBITijGRYYgICsTwYb4MnfZAJ06fxaoN72DvN38z6RkscPgwJM6byWdiidEaZGjRK6A13Ho/rDfIoPtlX5FCBsjb3gPLjLBRGmCv6OmbjoioJ2kLEfv5eEHBEDERERGRJDFETERERCRhnERMRFLXoFWgulWJOo0STVo5mnQKtOhNC6jJAdirDHBQ6qBWGuBqq4ObrQ42Cr5d7mkaGpvw1taPsPadDwQf4+ygtsf8GS9jyezpsLVhcA0wPUTcNiUxOzsbmZmZKCgoQEtLi8hd3mJnZ4cnnngC0dHRiImJQVBQEINMFtLc3IxNmzYhIyNDcJjN3t4es2fPxpw5czgd2oxkRgMUjTegbLwBRVMVYKnpxDIZ9HZu0Dl6QO/QD0a5wjJ9UDuNRoPdu3djzZo1qKioEFxnY2OD5557DnFxcdy4YQFarRZnz569bfNOaWkpDAbz/Nt2cnRA0Ah/hAcHIDw4EA9FhmPwoAFmWZvuLzuvEIlpG/GPQ1km1cVEhCIlbi7Gjo4SqTMSg9EoQ51GgWqNAvUaJZp0t94Da0x8D6yQAWqlHmqVAQ4qHVxt9XCz0UEp53tgIvp3DBETERERSR9DxEREREQSxknERCQ1LXo5rjfZoKpVieoWJTQG8SZaOqj06GOrg7u9Du52Gsg5PNNiDAYDdn21H3Ep61Fx46agGrlcjuef+iPSExfBs19fkTu0Lh2FiBsbG1FUVNQeVDp8+DBu3LhhgS6ByMhI7NmzB87OzhZZn24xGo3Yt28fkpKScPnyZUE1MpkM48ePx8qVKzFgAINmliTTa6ForISyqRLylhrIDPqOC4wAuvDzzihTwGDnAr2DO3SO/WCUqzr/YiSapqYmfPDBB8jIyEBtba3gOgcHB0ybNg1z587lvdnCGhoacPz48dsmFp86dcps63t79EN4cOAvfwIQExEK9z5uZluf/t2PPx9BQtpG5BQcN6nu0YdHIy1hAcKCAkTqjLqqSadARZMKVa1K1LQqoRPpPbBMBjip9HCz1cFDrYWbjZYn9hARgH+FiIf5eEHJEDERERGRJDFETERERCRhnERMRFKgNchwvckGVxttUN2qhCXexKrkRnioNfBWa9HHlh+mmtOBI9lYsDwdBcUnBddEhQVjY3I8osKCRezMerWFiJ3VituOTM/KykJRUZHZJht25LHHHsPOnTs5vdbC8vLyEB8fj+zsbME1oaGhSE1NRXR0tIidUacYjVBoGiBvqYG8uQZybRPkutbOTyqWyWBU2sGgUkNv5wK9vSsMNk7gD0nrUV1djffffx9btmxBQ0OD4Lo+ffpg1qxZeO2113if7kEqKiqQl5eHgoICFBQUICcnB5WVlWZbvy1YHBsVjjGR4QgLCoDant8f5vbjz0eweNVaFJYID5XLZDJM+MPjWLVkDob5+ojXHAnWopejokmFa002qG1VWqQHW7kBXg4aeDto4WKjs0gPRNQztIeIB3lCqeTpIkRERERSxBAxERERkYRxEjERWbMGrQJldba41mQLQw9652qvMGCgcwsedNDwuFcRXbpajqQ1b2PX3v0Q+quLB709sWrpXEyZMB4yhtj+zbXrN5BTcBzHCktwpOA0co5lmzSBsit8fHwQGhqK3NxcXLx4scNrn3rqKWzZsgUqFSeYWsq1a9ewbt06fPLJJ4JD5V5eXli8eDH+/Oc/Qy7ndCqrYTRArmuFTNsEma7l1qRigx4yox4yowEwGmGUK2CUyQG5EkaZAlDZwaCyh0FpB8j4tZaCyspKbNmyBVu3bkVra6vgugceeACzZs3CSy+9BBubf59uT5ZXXl7ePqk4KysL2dnZaG5uNsvaSqUCw3x9EBEciPCgW1OLI8OCYMOf76IzGAz46tsfkJD6Fs5duCS4Ti6X46nfP4a0hAXwGfigiB3SvdS0KlFWb4frTSqLbJ69FweVHoOdWuHt0MoTeoh6IU4iJiIiIpI+hoiJiIiIJIyTiInIGlW1KFFWZ4cbLT07YKCUGTHAqRUDnVphp7D85FapaGxqxob3dmDdux+iRWCQSW1vhwWvv4JFb7wCe05EBHDr7zH/+AnkFhYjt6gYOYXFOHH6rFnWdnZ2RlhYGKKjoxESEoKoqCjodDpMnDgRxcXFHda+9NJLWLt2LUOoFtLS0oJt27bhrbfeEjyV1MbGBlOnTkVCQgIcHR1F7pCIxHT58mW89dZb+PTTT6HX6wXXDRw4EHPnzsWUKVOgUHA6XU+m1+tvO4Wg7T9NCY93hUqpRFCAP8ZEhiE8OBARQYEY4TeEm79EotXp8PHnX2HVhndx7foNwXU2KhVemPQnLF8wC14e7iJ2SABgBHCj2Qbn6+xQ09qz76G2cgMGObfiQcdWqLihlqjXaAsR+/l4QcEQMREREZEkMURMREREJGEMERORNWnUynGyRo3K5p4dHr6TQmaEj3MrBju3QCHjW+zOMhqN2PvN37Bk1VpcvHJNUE3b0ctrkhZjYH9vkTvs2c5fuISDR3NvhYYLS3AsvwgarVb0dZVKJYYMGYKYmJj20LC/v/9tYaCLFy/iqaeewvnz5zt8rTlz5iApKUnslukevvvuO8TFxd13UvSvPfHEE0hLS8OgQYNE7IyIzO306dNIT0/Hvn37BJ8GAADDhw/H4sWLMX48TwSwJlqtFmfPnkVWVhYOHT6CgvwCnDt3RvAk+q5ydnLEyOF+CA8OQGxUBB6KimBwtZs1Nbfg3R2fYt27H6K6tk5wnYPaHjNfmozFs6bD1dlJxA57r1qNEieq7VHbqrR0KyZRyY0Y5tKMBx01kPE9MJHkMURMREREJH0MERMRERFJGEPERGQNdEYZztbY40K9DYyw3sCJvdKAYa7N8FZrLN2K1TmWfxzzl6fhyLE8wTURISOxcVUcRo8KE7Gznqm2vh7H8o/jUPat0HBmTj5uVteYZW1PT0+EhoYiOjoa0dHRCAsLg62t7T2vP3XqFCZMmIBr1+4dDJfJZFi+fDlmz54tRst0H4WFhYiPj8eRI0cE1wQHB2P16tUYM2aMiJ0RkaXl5uZi/fr1+P77702qGzVqFBITE/Hwww+L1BmJpblVj8ZmDdy1V1F04nT7iQYHs3NRdvGy2frw9uiH8ODAX/4EYPSoMPR1czXb+lJV39CIrR/vRvrm91FXL+zEAQDo4+qChTNfwaxXpvDUj27SopejtMYeVxttLN1Klziq9BjRpxl9bMXfvEhEltMWIh7m4wUlQ8REREREksQQMREREZGENbdoUMYQMRH1YDeaVSiuUqNVb8UfQhiBX2ef+9ppMbJvI+wUfLt9P1fKK5CYthG79u4XPOnwAU8PLJs/Ey8/PxFyuRV/3wik0+lx+ux5HD6ai0NHc5FTWIyTpedMmgzZWY6OjggMDERISAhiYmIQGxsLd3fhkwHz8vIwadIk3Lx5857XKBQKrF+/Hi+88EJ3tEwmuHnzJtavX4/t27dDr9cLqunTpw8WLlyIadOmQaHo2cdtE1H3ycrKQkpKCg4fPmxS3dixY5GUlITQ0FCROqPu1hYi9rX792m1Vyuut594kFtYjKzcAlRWVZutN2+PfoiNCseYyPD2cDEDrZ1TWVWNt7Z+hM0ffoKW1lbBdf29PLHg9Zfx6guTYGtj3eFXS7rcYINTNWroDNa7gfZODzhoMKJPE5ScSkwkSZxETERERCR9DBETERERSVhzixZlV24wRExEPY7BCJyqscfFeml+8K+SGzHCrQneDpxKfDfNLS14Z/unSNu0DfUNwn4+2dvZYdYrUxD35mtwcnQQuUPLaQvoHD6a1z5p2JRwR2cpFAoMHTq0PTAcHR0NPz+/Tge1Dx48iMmTJ6Oh4d5T7mxsbPDee+/hv/7rvzrbNnWCVqvFjh07kJaWhvr6ekE1KpUKL730EuLi4uDs7Cxyh0TUUx04cADLly9HUVGR4BqZTIbHH38cCQkJCAwMFLE76g4dhYjv5s7nlvzjJWhqbhG5y1uUSgWG+fogIjgQ4UGBiI0KR0jgcG5yMcHFK9eQtmkbdn6+FzqdsA1FADDowQewdPareOm5Cfz7NoHWIMOJKjWuNUkzgG2vNCCoTyPc7HSWboWIuhlDxERERETSxxAxERERkYQ1tWhwgZOIiaiHadAqkF/pgEat9D9w7u/YihFuTVBIZ8hUl339wz8wd1kqLly6IrjmD//5CN5OjofPwAdF7Mz86hsaUVhy6pfwTS5+yjyK65VVZlnbw8MTYWGh7aHhqKgo2Nvbd8trf/fdd3j55ZfR2kH42d7eHh9//DEeffTRblmThPnuu++QmJiI8+fPC64ZO3Ys0tLS4O/vL2JnRGQtDAYD9u/fj+TkZJPuJXK5HOPGjUNSUhJ8fHzEa5C6xNQQ8Z3aTlDIKSpun1p8LL8IGq22mzu9O0cHNYIDhiM8OADhwYGICArECL8hkMn4MN6RkOYbegAAIABJREFUU2fOYcW6zdj7zd9MOu1ihN8QJC2YhQl/eJx/x/dR1apCUaUaLdZ8Ao8AMhng69yCIS7N4HcEkXQwRExEREQkfQwRExEREUkYQ8RE1NPcbFEhv9JBUke33o+LjQ7h/RphozBYuhWLyisqwfzlaTiYlSO4JiwoABtWLMXDMaNE7Mw89Ho9Tp25Faq5Na0vB6fOnIfBIP73hYPaHiGBI9oDNaMjR0H1wEi4OXX/FLQ9e/Zg9uzZ0OnuPYHMxcUFu3fvRnR0dLevT3dXWlqKhIQE/Pjjj4Jrhg0bhuTkZDz22GMidkZE1kqr1eKzzz7D2rVrUV5eLrjOxsYGzz33HJYsWQJPT08RO6TO6GqI+G4am5qRf/zErVBxUTFyCotxsvScSWHVrnBxckLg8GGIjQrHmMgwRIYGw7NfX7OsbW2OnzyN1Rvfw5dff29SXVRYMFLi5uH/xfLZ7m6uNNqi+KY9jL0oVuup1iKobyMUMn4ETSQFDBETERERSR9DxEREREQS1tyiQRlDxETUQ1xusEFJtRpGY+/58LSNvVKPUf0aoFb1viDxtes3sGrDu/ho917o9cKOSe7r5oqEua9j5kvPW+0RyW3He+cWluDw0VwcOZZntuO9Bw8agNjIMIQHBSI8OBCRYUGwUana/3edUYYrOtduDxF/+OGHiIuL6zAY3a9fP3zxxRcICgrq1rXp7qqrq7F27Vrs2LGjw2D3r7m5uWHRokV45ZVXoFQqRe6QiKxda2srPv/8c6SmpqKyslJwnVqtxvTp0zFnzhy4uLiI2CGZQowQ8d3U1tfj+InS9tMYDmbnoPy68O+frvL26Ifw4MBf/gQgNioCbi7OZlu/pzt8NBeJ6W/j58xjJtU9+vBorI6bh4iQkSJ1Zn1Ka+xxrs7O0m1YBDfTEkkHQ8RERERE0scQMREREZGEcRIxEfUUvfnD0zYquRHh/RrgaissyGfttDodtu7cjRXrN6OuvkFQjUqpxGsvPosVi2bDxclJ5A67z50T9g5m56Ls4mWzrO3q7ISIkJEYExmO8OAAjIkMRx/XjsNYYoSIMzIysGrVqg6vGTBgAL766iv4+vp227p0d20TQlevXo2bN28KqlEqlZg8eTLi4+Ph7u4ucodEJDWNjY348MMPsXHjRtTX1wuuc3Nzw/Tp0/HGG2/A0dFRxA5JCHOFiO/m1xuwcguLceRYHqpqas22/p2bsCJCAmFna2u29XuiH38+gqUp65F//IRJdY8+PBprkxYjOMBfpM56PqNRhuNValxt7P6TP6yJvdKAUR4NUCuFbSYlop6pLUQ8zMcLSoaIiYiIiCSJIWIiIiIiCWOImIh6gjM19jjbywPEbZRyIyI96uFsI+0PUb/+4R9YsDwd5y5cElzzh/98BG+tioPvoAEidtY9zl+4hINHc9uDLsfyi6DRakVfV6VUIijAH2Miw26FW4ICMcJvCGQy06Z7d2eI2Gg0IjExEVu3bu3wOj8/P+zduxcPPPBAl9ekjh04cADx8fE4efKk4Jrf/OY3SE1NxYgRI0TsjIh6g5s3b+Ldd9/F1q1b0draKrjO3d0dM2fOxIwZM2Dby4OblmTJEPHdXK24jsNH83AoOwe5hSXIKypBc4t5TnZQKhUY5uuDiOBAxEaGY0xkOIYP84Vc3rvCUwaDAV99+wOWpb+NM+cvCK6Ty+V46vePYXX8fKt4vu9ux6vUuNLAexkA2CkMiPKsh72SE4mJrBVDxERERETSxxAxERERkYQxRExElna+zg6na+wt3UaPYvNLkNhRgkHik6XnsHBlOr7/x0HBNf5DfbF++RL89j8eFrGzzqupq0dOwXEcys41+1Q8b49+iI0K/2XKcPdNxOuuELFer8fcuXPx2WefdXhdSEgI9uzZw+m2Ijt79iyWLVuG77//XnCNr68vEhMT8eSTT4rYGRH1RleuXMGGDRuwa9cu6HTCT2F48MEHMX/+fEyZMgUKhULEDuluelqI+E46nR6nz55HTlExcguLcfhoHgqKT0KvN89ztaODGsEBwxEeHNC+oSvAf6hZ1rY0rU6Hjz//Cikb38OV8grBdSqlEi8++xSSFrwBb49+InbYcxRXOeByQ++eQHwntVKPKK8G2MoZJCayRm0hYj8fLygYIiYiIiKSJIaIiYiIiCSMIWIisqRLDbYoqVJbuo0eyVZuQLRXA+wlcqxrVU0tkt96F+/t3C04xNHH1QWJ82bi9anPQ6nsGSEhrU6HopJTtwLDRcXIKSzGydJzMMevTpydHDFyuN8voeEwRIeHoF/fPqKs1R0h4tbWVrz66qv4+uuvO7wuNjYWu3btgpOTU6fXoo7V1tYiIyMD7733HjQajaAaFxcXzJkzhxM/iUh0Z86cwYYNG/Dll1/CYBAeHvPz88PSpUsxfvx4kyfuU+f19BDx3TQ0NqGg+OStEyLM/PwGAK7OTogIGfnLpq8ARIWFwMNdnGe4nkCj1eK//+cvWLF+Mypu3BRcp7a3wxsvT8GiN6bBzcVZxA4t62S1Ghfq+Wx1N44qPaI866GS82NpImvDScRERERE0scQMREREZGEMURMRJZS1arEseuOMBoZ+rgXB5UBMZ51UFrxh6htE8mWrclAZVW1oBqlUoGpz05A8pI5cO/jJnKHHbvziOzcwmK0mHD0emdZ+njsroaIGxsb8ec//xkHDhzo8Lrf/va32L59O+zs7Dq1DnXMYDDgiy++QFJSEiorKwXVyOVyTJw4EatWrUK/fr1jGiAR9QwnTpzAunXr8Ne//tWkurCwMCxcuBC//e1vReqMfs0aQ8R3U1tfj+MnSnH4aC4OZefiWEGRSYHXrvL26Ifw4ECEBwciNiocMRGhcFBL63SWhsYmvLfzM6zZ/AFq6+sF1zk5OmDGi89h6exX4ezkKGKH5ne10QZFNx0s3UaP1tdOi4h+DeDeECLrwknERERERNLHEDERERGRhDFETESW0KyXI7PcGRo9Pxm8H2+1BsHu1nl//vHnI5i/PA0lp84Irnn04dHYsGIpAocPE7Gzu6urb0DRidPtYZLsvELcuFlllrXvDJKMiQyDvQWDtV0JEVdXV2PSpEnIycnp8Lqnn34amzdvhkql6myb1IGDBw8iPj4excXFgmtiY2ORmpqKkSNHitgZEVHHjh49iuTkZBw6dMikuujoaCQmJmLMmDEidUaAdELEd3O14vqtacW/bBw7fDQX1bXm+f+pUCjgN+TWBrLwoFvPhKNCR8LWpvOnQvQUN6trsOG9HXhn+6dobmkRXOfexw3zZ7yE2dP+DDsJnIpQp1Egq8IZBn7iel++zi0Y5tps6TaIyAScRExEREQkfQwRExEREUkYQ8REZG5GyJBd4YSaVoWlW7Eaw92aMMhJ/Om33aX0XBkWrVyLb/7+T8E1w3x9sGrJHEz84xPiNfYrOp0ep8+eR05Rcfuk4VNnzpt0jHpnOTqoERwwHOHBAYiNisBDURHw8nAXfV1TdDZEXFFRgYkTJ6KkpKTD61555RWkp6ebbbJyb3L+/HkkJyebNMmzf//+SEhIwKRJk0TsjIjINAcOHMCKFStQWFhoUt3YsWOxcuVKBAUFidRZ7yblEPGd9Ho9Tp259bz463CxOU6lAACVUomhvoMQGxWBMZFhiAgKNOvJFN3t8rVyrH57K3Z+vhc6nV5w3cD+3oh78zVMfXYClErrfA+pNchwpNwZzTrr/NpZQqh7AzzVWku3QUQCtYeIB3la7b2aiIiIiDrGEDERERGRhDFETETmdqpajbJ6658kZU4ymRExnvVwthH+YbslVNfWYd27HyLj/Y+h0Qr7wNfV2QmLZ03Hm9NfEHXS2q8nyx0+movDR/NMmoTWWXdOlYuNCkfoyBE9PvzRmRBxWVkZJk6ciPPnz3d43Zw5c5CUlNTVFukOTU1N2Lx5MzIyMtAqMNykVqsxa9YszJ07F7YSmPBHRNJjNBqxb98+rF69GmfPnhVcJ5fLMW7cOCxbtgyDBw8WscPepzeFiO9Gq9Oh9GyZRTaiAYCTowOCRvgjPDgA4cGBiAgKRID/ULOs3V3KLl3Bmnc+wEe790KvF/7+xn+oL1Ysmo0Jf3gcMpl1nWiTX+mIiiaevmEKldyIMd51sFOY598WEXUNJxETERERSR9DxEREREQSxhAxEZlTnUaBzApn8F2m6Zxt9IjxrIdM1vP+8gwGA3Z9tR9Lk9fhemWVoBq5XI7nn/oj1ixbDA/3Pt3aT0NjEwqKT7YfQ30wOwfl1yu7dY178fboh/DgwF/+3Jo07ObibJa1u5OpIeKTJ09iwoQJKC8vv+c1MpkMq1atwsyZM7urTcKtgN2ePXuwYsUKXL9+XVCNTCbD008/jRUrVsDT01PkDomIus5gMGD//v1YuXIlLly4ILhOpVLh+eefx+LFi+Hl5SVih71Hbw8R3019QyMKS07d2rBWVIycwmKcOC089N5Vdz5/xkSEwr2Pm9nW76ySU2eQ/Na7+PLr702qGzncDwnzXjfbCSZdVd5sg4IbDpZuwyp5qrUIdW+wdBtEJEBbiNjPxwsKhoiJiIiIJIkhYiIiIiIJa27RouzKDYaIiUh0RqMMmRVOqNPwWMPO8ndrho+T+NNzTfGPQ1lYsDwdRSdOCa55ZEw0NqxciuAA/y6vf+cx04eP5iH/+AmzTINTKZUICvDHmMgwq50Edy+mhIhzc3MxadIkVFXdO0CuUCiwceNGTJ48uTvb7PVyc3MRFxeHY8eOCa4JCwtDWloaIiMjReyMiEgcGo0Gu3fvRnp6uuCNEwBgY2OD5557DvHx8XB3dxexQ+ljiFiYmrp65BQcx6HsXOQWFiM7rxA3bgrbbNcd2oLFsVHhGBMZjrCgAKjt7cy2vimycguQmPY2/nk4y6S6MZHhSFk6Fw/HjBKps67TGWU4dNUFLXrrmpzck4S6N8BTLeyUGyKyHE4iJiIiIpI+hoiJiIiIJIyTiInIXM7X2eF0jb2l27BqCpkRsd51sFda/kjXs2UXkZi20aTJYQMe8MLKJXPw54lPdnrda9dvIKfgOHILS9onDVfXmifE4u3Rrz2IER4ciFGhI2FrI2xSr7URGiL+6aefMGXKFDQ23vsZwtbWFtu2bcO4ceO6u81e6+rVq0hOTsYXX3wBob+28/b2xrJly/DMM89Y3RHgRER3ampqwgcffICMjAzU1tYKrnNwcMC0adMwb948ODk5idihdDFE3HlXK67fmlZcWILDR3ORmZOPxqZms6ytVCowzNcHEcGBCA+6NbU4MiwINiqVWdYX4sefjyA+9S3kFhabVPfow6ORnrgQoSNHiNRZ5xVXOeBygzTfL5iLncKIWO9aKOX8qJqoJ+MkYiIiIiLpY4iYiIiISMIYIiYic9AaZPjpqgt0BgbXusrbQYPgvpa7Xzc2NWPDezuw7t0P0dLaKqjGQW2P+TNexuJZ02Bnayt4La1Oh6KSU7cmuJn5aGgXJyeMCh35S2DYeo6F7i5CQsTffvstpk2bhtYOvg/UajU++eQTPPLIIyJ02fs0Nzfj/fffx4YNGzoMbv+avb09Xn31VSxYsAAODjxKm4ikpbq6Gps3b8a2bdvQ0iL8tIa+ffvijTfewIwZM2BrwrMJMUTcne48USO3sAQ5BcfRqtGYZf27naoxwm+IRTcbGY1GfPP3fyJpzSaTTjqRyWSY8IfHkbx0LoYOHiRih8I1ahU4dM0Z/IC164a4tGCoi3kC90TUOQwRExEREUkfQ8REREREEsYQMRGZQ2mtHc7Vcgpxd5DJgFivOjio9GZd12AwYNdX+xG/egPKr1cKqpHJZJg8YRzSEhbCy+P+R4dfrbiOw0fzcCg7x6whirbJbLFRERgTGdYjAhSWdr8Q8eeff445c+ZAp9Pd8zVcXV3x+eefIzIyUqw2ew2j0Yh9+/Zh+fLluHTpkuC6J554Aunp6Rg4cKCI3RERWV5lZSW2bNmCrVu3dri55U4PPPAAFi5ciMmTJ0OpVIrYoXQwRCwurU6H0rNlOHw0F4eO5iKnsBinzpyHwWCek0icnRwxcrgfwoMDEBsVgYeiIgQ9x3c3g8GAr779AfGpb+H8BeHPPiqlEi8++xQS572O/l6eInZ4fwWVDihv4hTi7qCUG/GbB2qh4jRioh6LIWIiIiIi6WOImIiIiEjCmlu0KLtygyFiIhKNxiDDz5xC3K281RoEu5vvnp2dV4j5SWnIyi0QXBMZGoS3VsUhJiL0rv97bX09juUfvzVluLAYWbkFqKyq7q6WO+Tt0Q/hwYGIjQpvnzRsb2dnlrWtRUch4oyMDCQnJ6OjXxd5eHjgyy+/RGBgoJht9gr5+fmIj49HVlaW4JqQkBCkpqYiJiZGxM6IiHqeS5cuYePGjfj000+h1wvfcDV06FDMnz8fTz/9NORyBl86whCx+dXVN6DoxOlb04qLinHoaJ5Jwdquant2vvUnAKNHhaGvm6tZ1tZotfjv//kLVm54R/BGRgCwUanwwqQ/YcXC2fDs11fEDu+uQavAYU4h7la+zi0Y5sppxEQ9FUPERERERNLHEDERERGRhDW3aFDGScREJCJOIe5+MgBjvOvgKPI04svXyrEs/W3s2ru/w8Dor/X38kRy3FxMmTC+fZKvTqfH6bPnb5uodrL0nODX7AonRwcEjfBvn6b2m5hIeLj3EX1da3e3ELHRaERycjIyMjI6rB00aBD27t2LwYMHi92mpJWXl2Pt2rX45JNPBE8f9PT0xJIlSzBlyhQoFAqROyQi6rlOnTqFNWvWYN++fSY9b4wYMQKLFi3Ck08+KWJ31o0h4p7hasX1W6HiwhKzb8gDbgWL/7UhL1D0TXmNTc3Y8tEurH3nA9TU1Quuc3RQ4/Wpz2PJ7OlwcXISrb87cQpx9+M0YqKerS1EPMzHC0qGiImIiIgkiSFiIiIiIgnjJGIiEpMBwIErrtDoOYW4uw10asUItyZRXrupuQXrt2zH+i3b0dzSIqhGbW+HN16egvg5M1DX0IDcwmIcPpqHQ9m5yCsqEfw6XaFQKOA3xAcRwYEID7o1aTh05AhOFOyEO0PEer0eixYtwscff9xhnb+/P/bu3Qtvb29ztClJGo0GH330EVJTU9HQ0CCoxsbGBlOnTkV8fDyczBiQISLq6XJycpCSkoKffvrJpLrIyEgsW7YMsbGxInVmvRgi7rnagsVtz+D5x0vQ1Cz+MzgAKJUKDPP913N4eHAgosKDoVIqu3WdqppavLP9U7z9/k7UNwj/HVZfN1cseP1lzHpliugnkLQa5DhwxRlGI98Dd7fhbs0Y5GSe72kiMg0nERMRERFJH0PERERERBLW1KLBBU4iJiKRlDfboOCGg6XbkCSV3IhH+tdA3o2fTRuNRuz95m9YmrwOFy5fFVQjk8kwdnQUHo6OwInSs/gp8yiuV1Z1X1MduPNo5YeiR8HVmQHK7vDrELFGo8HMmTPxl7/8pcOasLAw7NmzB336cNJzZ3333XeIj4/HhQsXBNc88cQTSE1NhY+Pj3iNERFZuczMTCQnJyMzM9OkurFjx2L58uUICQkRqTPrwxCx9Wg7DSSnqLh9avGx/CJotFqzrO/ooEZwwHCEBwcgPDgQEUGBGOE3pP20kq64cbMKG7ftxKYP/hutGo3guge9PZEw93VMfXYClEpxTm04X2eH0zU8iUcMjio9Yr157yHqidonEQ/yFO3+SkRERESWxRAxERERkYQxRExEYsq54YjKZpWl25CsYPdGeKuFf2jekZyC45i/PB2Hj+YKrlHb26OltRUGg6FbeuiIg9oeIYEj2kMID0WGY/CgAaKv21u1hYjtlHpMnToVf//73zu8/qGHHsKuXbvg6Ohopg6lpbCwEAkJCTh8+LDgGj8/P6xevRr/8R//IWJnRETScuDAASQlJeH48eOCa2QyGcaPH4+EhAQMGTJExO6sA0PE1k2r06Go5BQOZecit6gYOYXFOFl6Dub6GNDFyQmBw4chNiocYyLDEBkaDM9+fTv9ehevXEPapm34aPde6PV6wXWDBvTH0lnT8dJzE6BQdG/Y7eA1FzRqOYVTLKO96uBsI/xrTUTmwUnERERERNLHEDERERGRhDFETERiadHL8NNVV/AdpXjc7XSI8Kjv0mtcrbiO5Le2YMdnX5olDCzU4EEDEBsZ1n4ccmRYEGxUDKSbi84ow4kqOWa++uJ9pzb+7ne/w/bt22Fra2um7qSjqqoK69atw/bt2wUHX9zc3LBo0SJMmzat20MvRES9gcFgwP79+5GcnIzz588LrpPL5Rg3bhySkpJ69fR3hoilp66+AUUnTiO3sBiHj+biYHYOyq9Xmm39O08XGRMZjj6uLia9xsnSc1i5fjP2fvM3kwLRAf5DsWz+G5j4xydMbfuuqluVyK7gyShiGuDYioA+TZZug4juwBAxERERkfQxRExEREQkYQwRE5FYLtfborhabek2JE0GI/7jwVoo5aa/bddotdj28edYvm4T6hsse/93cXLCqNCRGBMZjvDgAIweFYa+bq4W7am3u3q9Cr+d/BpOlBR3eN0zzzyDzZs3Q6lUmqkzadBqtdixYwfS09NRVycshKVSqfDSSy9h6dKlcHExLVhDRET/TqvV4rPPPsOaNWtQUVEhuM7GxgbPPfccli5dCg8PDxE77JkYIu4drlZcR25hMXILS5BbWIzMnHzcrK4x2/p3biiMCAmEnYANa0fzi7As/W38+PMRk9aLDg9BStxcPDImurMtAwBOVdujrN6uS69BHbNTGDG2v/m+F4lIGIaIiYiIiKSPIWIiIiIiCWOImIjEkl/piIomTo4VW1i/RnjYa0yq+fqHf2B2fDIuXy0Xqat7UymVGOo7CLFRERgTGYaIoECM8BsCmUxm9l7o7i5cvorfPTcNpefKOrxu+vTpSEtL49fORAcOHEBcXBxOnToluGbs2LFITU3F8OHDReyMiKh3am5uxvvvv49NmzahpkZ4ME2tVmP69OmYM2dOr9rcwRBx73W14joOH83Doewc5BaWIK+oBM0tLWZZW6lUYJivDyKCAxEbGY4xkeEYPswXcvndg2qHsnORmL4RB7NyTFrn0YdHIzV+PsKDAzvV5+FrzqjXKgAjAD4ii+Yh7zo4qISd4kFE5sEQMREREZH0MURMREREJGHNLRqUMURMRN3MaAT+ccUVWgM/ORXbQKdWjHDr+DjX2vp6HMs/jr1ff4+93/wNVWacIubt0Q+xUeG/TBkWPkWMLOPUmXP43XPTcOk+AfM5c+YgKSnJTF1Jw5kzZ5CYmIgffvhBcM3QoUORnJyMxx9/XMTOiIgIABoaGrB9+3Zs3LgR9fX1guvc3Nwwe/ZsvPbaa7Czk/4EUoaIqY1Op8fps+eRU1SM3MJiHD6ah4Lik9DrzRPudHRQIzhgOMKDA269zwgKRID/0Nuu+fHnI1iSvA4FxScFv65MJsPvHx2L5KVzEDTCX3Bdq16Of17pPRsKLGm4WzMGOZknwE5EwrSFiIf5eEHJEDERERGRJDFETERERCRhnERMRGKo1SiRWe5k6TZ6BbXKgIe9a9v/u1anQ+nZMhw+motDR3ORU1iMk6XnYI639k6ODgga4f9LaDgM0eEh6Ne3j+jrUvfILSzGH6e8hhs3q+55jUwmQ0pKCmbMmGHGzqxbTU0N1qxZgx07dkCn0wmqcXV1xZtvvonXX38dNjY2IndIRES/dvPmTbz77rvYunUrWltbBde5u7tj5syZmDFjBmwlvGGKIWLqSENjEwqKTyK3sBi5RcVmfS8CAK7OTogIGfnLBsYARIWFwL2PK7769gckpm3E2bKLgl9LLpfjqd8/htT4+Rg8aMB9r7/aaIOimw5daZ8E6menRbhHg6XbIKJfYYiYiIiISPoYIiYiIiKSsOYWLcqu3GCImIi61YU6W5ysUVu6jV6hqrIcssv/RNaxW8cK5xYWo8WEwEtnmXqkMPVsP2cew39NnYm6+nt/GK9UKpGRkYFnn33WjJ1ZL51Oh127diE1NRWVlZWCapTK/5+9O4/Tsd7/OP6+7mX2YYxtbNkiZalI0kalVIoOjogQarJkmUJGlibNiExJSIkUoaIUJaWSIyVURLTIElnHMma7515+f5Rz+p1jxjWae5lrXs/H4/yj72fu93EO3fd9va/P5VD37t2VnJysChUq+DkhAKAw+/fv15QpU7RgwQLTN4FIUo0aNTRs2DD16NFDdrvdjwmDgxIxiupkZqa+/+GnP25y3LBZG7/bqkNHjgXs9atUqqimTRrqskYXK+PECb39/kc6eNjcezNJCnM61fPuf2jcw4OUUKng92fbM6K077R1byAIJU6bTzdWD9zTdQCc279LxDUry+Gw3vsfAAAAUCIGAACwNDYRA/CHbRnR+u002zMDocftjXXiuPmL4OfrzMX3pk0a6porm6rlFZcrKtL6j+wuDVZ8/Jm6JSYpJ7fgRwKHh4frpZdeUrt27QKYrOT6/PPPNXr0aG3fvt30zHXXXacnn3xSDRs29GMyAEBR/fTTT0pLS9O7775bpG2qF110kUaOHKn27dvLMAw/JgwsSsQoDgcOHf5jW/GfN0F+8fVmHT8ZmP9P2e12VYgvp5OnMot082V0VKQG3NddIwbdr7gy//vUna8PxSojz1GcUVGI1tVOKtzuDXYMAH9iEzEAAID1USIGAACwMErEAPxhw6FYHecCakA8/si9+nrdx8X6M2Oio9TkkgZq2uQSNW3SUNe1uEK1alQr1tdAaFj49nL1HZqs/EI2LEZHR2v+/Pm6/vrrA5isZNq1a5cmTJigZcuWmZ6pXbu2xowZow4dOvgxGQDg79q+fbuefvrpIv0dL0nNmjXTY489Zpl/j1Iihj94PB7t/PlXbdq67f+ViwPxhJWiio8rq4F9emhYYm/FxkT/+9c/+62s8rwU5wKleeXaOLRdAAAgAElEQVRMxYeb3xIPwL/OlIjr10qQnRIxAACAJVEiBgAAsDBKxAD84dPf4uTyWmfjWihbNOcZzX9p0nnP22w21a9bS1dc2khNG/+xafjKpk3kdFACt7pZry7S4NET5PUWvMGrXLlyWrx4sZo1axbAZCVPVlaWnn/+eU2dOlV5JssuUVFRGjRokIYOHarwcB59DQAlxYYNGzRhwgStW7euSHMtWrTQmDFj1LJlSz8lCwxKxAiUfLdbP/2yW5u2btMXX3+jdRs2aefPvxb63jWQKpaP17DE3hp8f0/ZHOH65Le4YEcqVS6Jz1aNmNArmQOlFZuIAQAArI8SMQAAgIVRIgZQ3PK9BhdQA2jT+k80Lql7kWYMw9DljS/RkPt76rabWqlc2TJ+SodQNXn6bCWnphd6plKlylq6dIkuvvjiAKUqebxer958802NGzdOR44cMTVjs9nUuXNnpaSkqGLFin5OCADwlzVr1mj8+PHasmVLkeZatWqllJQUNWrUyE/J/IsSMYIp83SWtmzf+ce24q3btGnLNv3w4y9BzXRBtSoaOmCALmx9n2w2e1CzlCY1Y3PVoFxOsGMA+BObiAEAAKyPEjEAAICF5eS6tJsSMYBilOO26/MDlFID4buNa/XClNHat/sn0zM3XnuVpjz+qBo1qO/HZAhVPp9Pj054WukvzC30XO0LamjO/DfVpGG9ACUredatW6fRo0dr69atpmeaNWumtLQ0NjsDgEX4fD69++67mjBhgnbt2mV6zmaz6c4779SYMWNUu3ZtPyYsfpSIEWoOHj6qjd9t1cZvv9fX327Vxm+3KuPEyYDniC9fSYmPpOqa1u0C/tqlUbVolxqV53tMIFRQIgYAALA+SsQAAAAWxiZiAMUt02XXFwcpEQdCWnI/rft0hamzF9auqSceHarOd7T1cyqEKo/Ho/4jx2vuwiWFnru88SVa9tqLcsXVVbnYsAClKzn279+vCRMm6M0335TZr8yqVq2qxx57TF26dJFhGH5OCAAItPz8fC1dulQTJ07U3r17Tc85nU7dc889GjFihBISEvyYsPhQIkZJcODQ4T+2FW/Zri++3qwvN32rrGz/b629/ua7NCJlpt9fB1LlqHxdVuF0sGMA+BMlYgAAAOujRAwAAGBhlIgBFLfjuQ5tOBwb7BilwqEDe9W/2/VyufIKPBMTHaVhifdp5EP3KzyMQmhp5crPV8+Bw7VkxapCz13bopnemTdD0TFltN8dR4n4L7KzszVt2jRNnTpVeXkF/5n7q8jISD300EMaMmSIIiIi/JwQABBsLpdLCxcuVFpamo4cOWJ6LjIyUg888IAGDx6suLg4Pyb8+ygRoyTyeDza+fOv2rR127/LxZu++155LlexvYZhGJq5aK2qX1C32H4mClY+Il9XVKJEDISKMyXierUS5KBEDAAAYEmUiAEAACwsJ9el3ZSIARSjI7lObT4cE+wYpca8mWl689Xn/ufXbTab7ul4hyY+NlyVK5YPQjKEiqzsHP2z32B9tGZdoeduu/F6LXrxWUVFRsjtMygR/+nMo+rHjh2r3377zdSMYRhq3769UlJSVL16dT8nBACEmqysLM2ePVvPPvusTp0yX7aNiYlR3759NWzYMMXGhuZNeZSIYRX5brd++mW3vvh6s9Z9vVmbtmzTzp9/ldfrPa+fV7d+I02d91Exp0RByoa7dVXlzGDHAPAnNhEDAABYHyViAAAAC2MTMYDidjjHqW+OUCIOlNycLCV2uUbHjh76969d37K50h8fpUsbNghiMoSC4ydPqUPP/lq/8ZtCz93d4XbNfW6inA6HJFEi/tM333yj5ORkbdiwwfTMZZddprS0NF155ZV+TAYAKAkyMjL0/PPPa9asWcrNzTU9V758eQ0cOFAPPvigwsPD/Ziw6CgRw8oyT2dpy/adf2wr3rpN677+Rr/u2WdqdvCoKbql/T1+TogzYsM8ujqBv4eAUMEmYgAAAOujRAwAAGBhbCIGUNwy8hz6+lBobk6zqs9XLtakx4eqRtUEPT5yiHp0ai/DMIIdC0F28PBR3X7P/dr6w85Czz1w792aljpGNtt/LvSV9hLx77//rpSUFL355psy+7VYQkKCRowYoXvvvff//V4CAHDgwAFNmzZNr7zyilwul+m5atWq6eGHH1b37t3l+PNGn2CjRIzS5sChw3+Uirds1+Yt2/TV5u90NOP4/5x79b1vFF8hIQgJS6f4cLeas4kYCBlsIgYAALA+SsQAAAAWlpObr937j1AiBlBsTrnsWn+wTLBjlCqR9nz99Nlcde/cXhEhtq0OwbF7337d2rWvftm9t9Bzwwf2U2py0v/8emktEefm5mrWrFlKT0/X6dOnTc1EREQoMTFRSUlJiolhCzsAoGB79+7Vs88+q/nz58vj8Zieq1evnkaNGqX27YN/oxglYuA/xeLPv9yot9//SD7ZNH3xV8GOVapUinTp8op8jwmECjYRAwAAWB8lYgAAAAvLznVpD5uIARSjbLdNaw+UDXaMUqVsmFtXJbCFCX/44cdfdFu3ftp/8FCBZwzDUGpykh4Z0Pes/7w0lohXrlypUaNGae/ewovXf9W2bVulpaWpZs2afkwGALCaHTt2aNKkSXr33XdNb7yXpEsuuUSPPPKIOnTo4Md0haNEDPyvwzkOfXOEp/EEUtVolxqX53tMIFSwiRgAAMD6eJcHAABgYTzsHkBxs/MXS8A5+eSOP2389nvd2KlnoQViu92umU+NL7BAXNps2bJFd9xxh7p37266QNykSRO99957ev311ykQAwCKrEGDBpozZ45Wrlyp6667zvTc9u3b1adPH912221at26dHxMCKIowG7uYAs1u8HsOAAAAAIHEpUgAAAAL4yt3AMUt3O6Vg4uoARXpMP84bFjXmvUbdMvd9+loxvECz4Q5nXpt+mT17f7PACYLTYcOHVJSUpLatGmj9evXm5qJj49XamqqPv74Y1199dV+TggAsLorrrhC77zzjpYuXarLLrvM9NyGDRvUvn17dezYUVu2bPFjQgBmRDr4/Bto0U4+AwOhiOdbAwAAWBclYgAAAAsz2EUMwA+iHN5gRyhVYriAWuq9t+pT3dE9UZmnC36kb1RkhJbOna5/3nlrAJOFnvz8fM2aNUstWrTQvHnz5PGc+8+P0+nUAw88oE2bNikxMVF2uz0ASQEApUWrVq308ccfa8GCBWrYsKHpuTVr1ujGG29U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c/H4WTxM9fLhLM6o6u4Q/eclpaTC0tzslYR6M7OyoacngrFYXOnnqmy37j7AqYgLMDAwQN/uneFgZ1PVXfpPO3YmAvcePIa9nS26tGsNC3Ozqu4SlVK+RIRn+Vaobm5U1V0hIiKi10hWTgEysnLhbpxa1V0hIiKi18SDbAsUSESo5+oIfX0O7iciIiLSRQwRExEREemwrOxcPGKImIiIiOQwRExERETKMERMRERExTFETERERKT7+C6PiIiISIdxtBgREREREREREREREZUHS9MRERER6S6GiImIiIh0mAiiqu4CERERERERERERERG9yXirgYiIiEhnMURMREREpMMkrEVMRERERERERERERETlwAwxERERke5iiJiIiIhIh/GLPSIiIiIiIiIiIiIiIiIiIiJShiFiIiIiIh3GOsRERERERERERERERFQevNdAREREpLsYIiYiIiLSYaxETERERERERERERERE5cF7DURERES6iyFiIiIiIh3G6gBEREREREREREREREREREREpAxDxERERERERERERERERERERESkFAuWEBEREekuhoiJiIiIiIiIiIiIiIiIiIiISClRVXeAiIiIiCoNQ8REREREOoxf7BERERERERERERERERERERGRMgwRExEREekwTjFGRERERERERERERETlwXsNRERERLqLIWIiIiIiHcZKxEREREREREREREREVB6810BERESkuxgiJiIiItJhrA5ARERERERERERERETlwXsNRERERLqLIWIiIiIiIiIiIiIiIiIiIiIiIiIiIqL/GIaIiYiIiHSYiJOMERERERERERERERFROfBOAxEREZHuYoiYiIiISIdJOMkYERERERERERERERERERERESnBEDERERGRDmMlYiIiIiIiIiIiIiIiKg+WKyEiIiLSXQwRExEREekwViImIiIiIiIiIiIiIqJykfBeAxEREZGuYoiYiIiISIexEjEREREREREREREREZWLiPcaiIiIiHQVQ8REREREOoyViImIiIiIiIiIiIiIqDwYISYiIiLSXQwRExERERERERERERERERERERERERER/ccwRExERERERERERERERERERERESnHOQyIiIiLdxRAxERERkQ7jFGNERERERERERERERFQevNdAREREpLsYIiYiIiLSafxqj4iIiIiIiIiIiIiIiIiIiIhKYoiYiIiISIdJOMkYERERERERERERERERERERESnBEDEREREREREREREREREREREREREREdF/DEPERERERDpMVNUdICIiIiIiIiIiIiIiIiIiIqLXEkPERERERDpMUtUdICIiIiIiIiIiIiKiNxrvNRARERHpLoaIiYiIiIiIiIiIiIiIiIiIiIiIiIiI/mMYIiYiIiIiIiIiIiIiIiIiIiIipURV3QEiIiIiqjQMERMRERERERERERERERERERGRUpKq7gARERERVRqGiImIiIiIiIiIiIiIiIiIiIhIKVYiJiIiItJdBlXdASIiIiKqfNkSfTzOMavqbhAREdFrQCIRQaRf1b0gIiKi11GBRMTvD4iIiEhQIJHGh1mJmIiIiEh3MURMRERE9B9QKBEhV8K0EBEREb2UX4jYpGzUc3OEvh4nqiIiIvqvy8zKRWxSPAAgt5DfHxAREVExEsaIiYiIiHSVSCLhuz0iIiIiXSWRSJCXX6BiI2RzkMkvq2oDkfSLQtHLZU21ByQARMXalTiP3HaV59K23y+PpepatD6Oija8fl4/r5/Xz+sHr1/3rt/QUB8ikTY7EhERkS5T/P5At9///Nff//H6NbTh9fP6ef28fl4/lF2/kSHr0xERERHpqv8DbsV8kaj4s50AAAAASUVORK5CYII=" + } + }, + "cell_type": "markdown", + "id": "9b1f9027", + "metadata": {}, + "source": [ + "![qae_fig1_wide.png](attachment:qae_fig1_wide.png)\n", + "Figure 1: Example of a Classical Autoencoder which includes the input, bottleneck and output layer." + ] + }, + { + "cell_type": "markdown", + "id": "d6c4123a", + "metadata": {}, + "source": [ + "The first layer is called the Input Layer (1) and is the layer of which we input our data of length $n$. \n", + "\n", + "The input data then passes through an encoder and travels to the next layer, which has less nodes or is reduced in dimensions and is known as the Bottleneck Layer (2). The input layer is compressed through this process. Common CAEs may have several layers.\n", + "\n", + "The final layer is called the Output Layer (3). Here the compressed data is reconstructed to its original size, $n$, from the compressed data through the process of a decoder. \n", + "\n", + "By passing our input data through a CAE, we are therefore able to reduce the dimensionality of our input data, as seen in the bottleneck layer, while retaining as much information as possible from the input data. Because of this feature, common uses of CAE are Image Denoising, Anomaly Detection and Facial Recognition devices. For more information on classical autoencoders, see [1]." + ] + }, + { + "cell_type": "markdown", + "id": "a1ff37d8", + "metadata": {}, + "source": [ + "## 2. The Quantum Autoencoder " + ] + }, + { + "cell_type": "markdown", + "id": "66031d83", + "metadata": {}, + "source": [ + "We can also define a quantum counterpart to the CAE, the Quantum Autoencoder. Much like the CAE, the Quantum Autoencoder aims to reduce the dimensionality of the input of the neural network, in this case a quantum state. A pictorial representation of this can be seen in Figure 2." + ] + }, + { + "attachments": { + "qae_fig2_wide.png": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAD80AAAPoCAYAAADuzY63AAAACXBIWXMAAA1FAAANRQFR8cSoAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAIABJREFUeJzs3XlAVGX7//EPCCq44pZo5vKoT7nlnktuuGWZe6aZuJVauWRapmVZZmqmPYpZmZqWhGbuu0LgnvuSuCbuoiiCCLIIzO+PfvaV5hyWmQHE3q+/9LrPuc41AzPMOXOu+3ayWCwWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAzlndwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANiKpnkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQI5F0zwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIMeiaR4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAkGPRNA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAyLFomgcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5Fg0zQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAciya5gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAORZN8wAAAAAAAAAAAAAAAAAAAAAAAAAAAACAHIumeQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAjkXTPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgx6JpHgAAAAAAAAAAAAAAAAAAAAAAAAAAAACQY9E0DwAAAAAAAAAAAAAAAAAAAAAAAAAAAADIsWiaBwAAAAAAAAAAAAAAAAAAAAAAAAAAAADkWDTNAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAByLJrmAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5Fk3zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAci6Z5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAECORdM8AAAAAAAAAAAAAAAAAAAAAAAAAAAAACDHomkeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBj0TQPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMixaJoHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAORYNM0DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIsl+wuAAAAAAAAAAAAAAAAAAAAZEx8fLzmzJmj48ePKyoqSkWKFNELL7yg5557LrtLs4nFYtEPP/yg/fv3KyoqSh4eHmrSpIm6d++e3aUBAAAAAAAAAHIAJ4vFYsnuIgAAAAAAAAAAAAAAAAAAQPpNmzZNo0aNShErVKiQIiMjs6ki+4SEhOg///mPVTwgIEBeXl7ZUBEAAAAAAAAAICdxzu4CAAAAAAAAAAAAAAAAAABA+t27d08zZ860infr1i0bqnGMChUqqG7dulbxKVOmZEM1AAAAAAAAAICchqZ5AAAAAAAAAAAAAAAAAABykIULF+rixYtW8WHDhmVDNY7z1ltvWcU2b96s/fv3Z0M1AAAAAAAAAICcxMlisViyuwgAAAAAAAAAAABkrtu3bys8PFy5c+fWY489JldX1+wuyS4PPh5PT0/lypUru0sCAAAAgCyRnJysKlWq6NSpUyniLVu2lL+/v935k5KStH//fu3bt08nTpzQhQsXFBsbq+joaHl4eKhIkSJ67LHHVL9+fTVp0kSPP/643ce8Ly4uTmXLllVYWFiKeLdu3bR06VKHHScr3b17V7///ruOHj2qkJAQXbx4UTExMYqOjpYk5c+fX25ubipfvrzKlSunmjVrql69esqfP382Vw7kXImJiQoODlZoaKgsFosee+wxVatWTblz587u0gAAAAAAAJCJXLK7AAAAAAAAAAAAAGSepKQktWjRQtu3b/87VqRIEfn7+6tWrVrZWJnt+vfvrwULFuj+3ND58+fXokWL1LFjx2yuDPjL5cuXFRYWJicnJz322GMqVapUdpeEf6Fr167p2rVrSkpKUvHixfXEE09kd0kAAMBBNm7caNUwL0nDhw+3K29gYKAWLFigVatW6fbt2+ner1atWhoxYoRefvlluxtS8+bNq9dff10TJ05MEV+5cqUuXbqkMmXK2JU/q9y+fVu//PKLfH19tWvXLt27dy9D+7u4uKhx48Z6+eWX1bNnTxUuXDiTKgUePXFxcapUqZIuX76cIl6sWDGdOHFCxYoVy6bKAAAAAAAAkNmcs7sAAAAAAAAAAAAAZJ5ly5alaJiXpFu3buXolbWio6P/bpi///8xY8YoOTk5G6sCJIvFolq1aqlMmTKqU6eOateurdKlS8vLyyu7S8O/TPv27eXp6alatWqpbt26Klu2rKpWrZrhZi0AAPBw+uabb6xinp6eateunU351q9fr4YNG8rLy0s//vhjhhrmJenQoUPy9vZW9erVdfDg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aO3atalOTgIAAAAAAB5u3D0KAAAAALBidlOU2Qrsj6KaNWsqICDAKr5r164c2zSflu+//15vvPGGTY2zkvTHH3+oVatWCgoKcvjNevv371f79u11/fp1m3MsW7ZM4eHhWr9+vdzc3BxYXdZJTk62q+E7tbyPsh9++EFvvPGG4WQgtvr6669148YN09U1pL/eRypXrqzTp09bjfn6+trdNB8bG6tVq1YZjnXr1i3N/a9fv64OHTpo7969dtUh/bXS4IsvvigfHx+98cYbdud70Pjx49PdnGSxWBQfH0/TPIB/pT///NPwxngnJydVqFAhGyqytnz5ctOxNm3aOOQYZhMEBAcHOyR/drly5Yp69uxp2DzboEEDvfTSSzbl9fb21rlz5wzH3N3d9fnnn2vQoEHKmzevaY5Zs2Zp1qxZ+vDDDw1/B5OSkvTqq6/q5MmTpg2JDRs21IkTJ6ziRYsW1a1bt6zi+/bts+ucw9vbWz/99JNV/NNPP3X4Zxlb3blzR927dzf8DFuwYEH5+Piod+/ecnJySjHm5OSkMmXKqF+/furXr59++eUX9evXz6pp+969e3rttdd05MgRubq62lznsmXLDH8vO3furKlTpxq+Ji9fvqzBgwdr3bp1hjlnz56td999V48//niGahk+fLjpyuhvvfWWJk2aZNjMVKhQIbVr107t2rXTqFGj1L17d/3xxx9W202dOlXdu3dP97WR5ORk9evXz3Slz//85z+aO3eumjdvbjj+8ccf6/Lly3+vUvjgpGuOmMTNiMVi0aBBg7R69WrD8X9Tw7wkw8buZs2aacCAAerSpYvppHz//e9/1aJFC33wwQfy8fHRyJEjDa+1zJkzRx988IHp6oV9+vQxbJqPiYnRypUr02xwN7N7927DVSfz5cunzp07p7rvu+++q4MHDxqOvf7665o6daphc0nBggXVtm1btW3bViNHjtTLL7+sQ4cOWW03c+ZM9ejRQ88880w6H401i8WiV155xWoCjBIlSujTTz/VK6+8ogIFCshisejo0aNas2aNNm/erO7du9t8TADITFFRUaZ/+x19Hd5sIrbU5M2bV/369VPLli3VrFmzTL0uZ/Z4U1sB3pFSa0a3dTIbW6V2PEdeB/836ty5s2bNmmXz/oMHDzZsmk9OTtb69evVr18/e8rDv4irq6uefPJJHTlyxGos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PmHChGhqaoqampoEUgEAAAAAAAAkxzUbAAAAfKqampq49tpr8+arVq2K5557LoFExfX444/nFeYjIq677roE0gCV5t577y04P/jggxXmARiw6urq+Ou//uu8+UsvvRTLly9PIFFx3H333Xmzww47LC688MIE0gDA7rVx48aYO3duwbOZM2cqzAMAAAAAAAAVSWkeAACAz+TP/uzPYvz48Xnz7373uwmkKa4777wzb7b//vvH5ZdfnkAaoJJs3LgxfvGLXxQ88xoEQLFcfPHFce6550ZVVdVvZmPHjo22trYEUw1MJpPZ4e/jx4+PO+64I6qr/egLgPL37LPPRiqVypvX1NTE1772td0fCAAAAAAAAGAI8PHiAAAAfCaNjY1xww035N1SOXfu3Pjggw9i6tSpCSUbmLfffjuef/75vPmtt94adXV1CSQCKsl9991XsOhQVVUVM2fOTCARAOWouro6Hnvssdi+fXts3LgxRo4cGePGjYthw4YlHa3fHn300ejo6IiWlpaora2NiRMn7vChAABQzk477bS46qqrYtWqVdHV1RUNDQ1xyCGHxFe/+tU48sgjk44HAAAAAAAAkIiqXC6XSzoEAAAApWHbtm0xderUaGlp2WH+T//0T3HrrbcmlGpgbrrppvi3f/u3HWb77rtvrF69Ourr6xNKVXna2tpi7NixefNRo0ZFe3t7Aolg95g2bVq89957efMvfOELsWDBggQSAQAAAAAAAAAAAEDpcdM8AAAAn9kee+wRP/3pT+O2226L9evXR1VVVUyaNCm++MUvJh2t384444xYvnx5bN68OSIipkyZEjfffLPC/G42fPjwqKuri97e3h3mhYr0UC46OjpizZo1efPa2tq4+eabE0gEAAAAAAAAAAAAAKXJTfMAAADAkPDWW2/Fr371q2htbY3q6uoYN25cnHPOOTFlypSko8GgWbx4cSxYsCBaWlqisbExJkyYEKeddlrst99+SUcDAAAAAAAAAAAAgJKhNA8AAAAAAAAAAAAAAAAAAEDJqk46AAAAAAAAAAAAAAAAAAAAAPSX0jwAAAAAAAAAAAAAAAAAAAAlS2keAAAAAAAAAAAAAAAAAACAkqU0DwAAAAAAAAAAAAAAAAAAQMlSmgcAAAAAAAAAAAAAAAAAAKBkKc0DAAAAAAAAAAAAAAAAAABQspTmAQAAAAAA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BTo0b7FYNG7cOK97M2fOVEVFRUD9AQAAAAAAAAAAAABoiBiaBwAAAAAAAACgAbBFRuvsC672u373trWa9eCVyjnyq4GpAlNWWqx5T92ktd9+UKPnzjj3ckXYIg1KBQAIhby8PJ97kZGB/xmfkJDgcy/QoXlJysjI8Lq+f/9+vf322wH3BwAAAAAAAAAAAACgoWFoHgAAAAAAAACABmLghRMUE2v3u/7A3q166p6LajyUHgp7d/6sp++9SBtXr6jRc9aICJ09bLxBqQAAoVJaWupzLxg3zdtsNp97lZWVKi8vD6h/ly5ddPrpp3vde/rppwPqDQAAAAAAAAAAAABAQ8TQPAAAAAAAAAAADURcfKIGjbiuRs+UOAr06ozb9e9HJ+jXzI0GJfNffu5hvfn8FM2YepmOHNhd4+d7nTlCSaktgp4LABBaFRUVPveCcdN8dT2Ki4sDPsPXbfOrV6/W119/HXB/AAAAAAAAAAAAAAAaEobmAQAAAAAAAABoQIaMmqgmLdrV+LltG77V0/derBf+cZ02/PiJnM5KA9J553I5tWPjKr028w49evMgrVrxllwuZ437REXHavi4uwxICAAItRMNzVdWBv53VHVD88G4zX7s2LGKiIjwujd9+vSA+wMAAAAAAAAAAAAA0JDYzA4AAAAAAAAAQHK73Tr//PMlSfHx8VWGcKxWqxITE6vUx8bGKiYmpspacnJyla9jYmIUGxtbZS0pKUkWi+WPr6OiohQfH1+lplGjRlWGdyIjI2W326vU2O32KoNEERERatSoUbW/TwDms0VG64qJj+nZhzPkdrtr/PyWdV9py7qvFGdPUvtufdXx5P7q2P0MNU/vGLSMjsI8Hc7aqX07N2j39nXauv4bFRflBdx38EV/5ZZ5AAgTJxpqLy8vD7j/sf9mPp7VavX4d3ZttGjRQoMHD9Ynn3zisbd48WLt3LlT7du3D/ic2rr00ktVUFAgqfp/7x//GeJY3j67/M5msykhIcFn38TERFmt3u8CiIuLU3R0tNc9b59hjnX856JjHf957FjePj8VOGr+Ih8AAAAAAAAAAAAAQPAxNA8AAAAAAADUAZWVlfr000/NjmEIb8P7x6+FsibU559ogAgwS/tufTX44on67P3na92juChPG374rzb88F9JUmRUjJJSWygxpamSUluosuLEA4t52Qf05vNT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FxUVadmyZRo4cKDhbLNmzVJpafmXwI4ZM0b+/vzsDQAAAACAsyjNAwAAAACgX07X/u0b+yt7670ZHn74YY0dO7bcmr+/v1Onr5stICBAs2fP1ksvvaRdu3apUaNGiouLU+PGjZ3a57nnntNzzz130XnCw8O1bNkyHTp0SPv27ZOPj4/at2/v1InnlZ0e0adPHyUnJ5/7QExqaqoOHz6s06dPy2azqWnTpkpISDD8AQ5ntWvXTl988YUyMjK0a9cu5efnKzQ0VO3atavynr6+vvrggw/04osvavfu3XJ3d1diYqLCwsKczhEWFqbp06fr9ddf165du5Samiqbzabo6Gi1aNHC8IdHqjJgwAANGDBA2dnZWrRokYYNG+aSfQEA5fkHhsrTy6fKckxZWan270pRwiWX1VAy8xw7uNPQnF9AsNw9vExOAwAAANSs4NBmCg5tprZdrqzwtaLCfJWUFKm4sEAlxf9/0qbNJh+/AEmSj28j2Wy2mowLAADqocLCQm3atKnCelJSkry8rP/7uL179+rYsWMV1lu1amV4jyuuuKLCWmZmplatWqXLL7/c8D6XXXZZhUL2vHnzdMMNN1R5bWlpqaZOnarHHnvsXKk8PT1dqamp531uGhkZqejoaB05cqTc+uzZs/XUU09Vec/PPvtMd9xxh37++WdJ0mOPPaahQ4cqICCg0vmQkBB16dJFKSkp59YKCwu1efNmQy8pmD59uhYtWlRuLTAwUDNnzjT8cgKp8tJ8jx49DF9/8uTJCmsdOnQo9+uSkhINHz5cH374oZ5//nlNmjTJ0N6zZs0q92sPD48Knx8AAAAAAADGUJoHAAAAAEDStddea9m9jZ4AXhtEREQoIiLC6hjnxMTEOHXKwlmFhYVav359hfU+ffqU+3XTpk3VtGnTauerrpCQEPXq1ata10ZGRioyMtIlOdzd3dW+fXu1b9/eJfudT0BAgG6//XZT7wEADZnNZlNIk2idOLKnytk9W9fUi9L87i0VX45TmeAw1/w7EwAAAKgrPL185OnlI/kFWh0FAADUY5s2bapwMrhU+cncVli+fHml61FRUYb36NChg8LDwyuUqd977z2nSvPDhw/XjBkzyq29//77uvXWW3X99def97qNGzdq7NixWrdu3bm1pKQkLVmypMrnuUOHDtWUKVPKrb300ku66aab1LFjx0qvyczM1EMPPaR333333FpsbKyWLl163sL8WePHj9edd95Zbm369OlVluY//fRTPfDAA+XWvLy8NGfOHCUkJFzw2l9zOBxau3ZthXVnfj9mZmZWWPv17/Hc3Fzdeuut+vTTTyVJ8+fP1wMPPFDli/J37NihH3/8sdza0KFDFR0dbTgbAAAAAAD4H9ccCwYAAAAAAFCHpKSkqKCgoNxaRESEUx+uAACgLmkWm2hobuOqxSorLTU5jbkK8rK1f1dK1YOSGlOaBwAAAAAAAFzu10XuX3PmZG+zOBwOvf322xe9j81m09VXX11hfebMmeVOVa/K1Vdfra5du5ZbKysr06BBgzR69GgtWbJEW7du1datW/Xll1/qhRdeUO/evZWUlFTun/PAgQO1cuVKQy9AHzduXIUyd05Ojnr37q0nn3xSq1ev1vbt27Vy5UrNnDlT99xzj2JiYsoV5i+55BKtXr3a0PPV4cOHq0uXLuXW3nnnHc2ePbvS+bKyMr388su6+eabyxXT/f399eGHH6p///5V3vPXdu3apYyMjHJrNpvNqd+P4eHhFdYmTZqkTz75RNOmTVP7qIq9yAAAIABJREFU9u3PFeZ79eqlFStWVFmYl355ycJvTZgwwXAuAAAAAABQHifNAwAAAACABmf16tUV1i67rO6fqgsAwPnEt+mqH75bVOVcVsZJbd/4lTokX1MDqczx/dcLVFJc8RSryjSNbGlyGgAAAAAAAKDh+f777ytdt7o0X1BQoCeffFKbNm2q9OvPPfecXnnlFYWEhBja7/rrr9f7779fbq24uFj9+/fX888/r9tuu03+/v4X3MNms+n9999XcnKysrOzz62XlJTo3XffLVdUr4yvr6/+/ve/a/z48bLZbIZyx8XF6YUXXtD48ePLrWdnZ+uZZ57RM888c8HrR48eralTp1Z5wvxZ7u7uWrhwoXr06KHU1FRJvxTjR4wYodmzZ2vIkCGKj49XYWGhtm7dqnfffVfbt28vt0e7du30wQcfqEOHDobu+WuVPRtOSEhQcHCw4T369++vf//73+XWvvjiC33xxRfl1m644QbNnTtXfn5+Ve7pcDg0d+7ccmu9e/dWt27dDOcCAAAAAADlcdI8AAAAAABocFatWlVhrXv37hYkAQCgZsQnJhueXTrvFZWV1c3T5ktLivXd0oon85xPTOtOJqYBAAAA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99Zbb8Wjjz5a8FixpfklS5YUnHelNP/ggw/mzU444YROr7M7GzZsiKuvvjq+973vxZtvvln0dWvXro0//OEP8Yc//CGuuuqq+Pa3vx2XXnpplzKsWbMmrrnmmliwYEG89dZbez2/paUl7rnnnrjnnnviq1/9anzrW9+KM888s0vvvWrVqmhpaYlNmzbt8bzd/Ux01q9//etYtGjRHs8ZOnRoUT8rzzzzTNTW1sazzz4bLS0tRb3/+vXrd3vs8MMPj6uuuiouuOCCSKfTRa3XVccee2yPrg8AAAAAAAAAXaU0DwAAAAAAAJS8hx9+uGABubKyMo488sii1uiu0vy2bdsKrnXyySd3ap3duemmm+LjH/94vPLKKx3m5eXlcfrpp8ekSZOisbExtm/fHo8//nj88pe/jNdee63gWtOmTetyhksvvTQ2bNjQYV5ZWRmnnnpqHHnkkXHQQQdFNpuNVatWxe9+97u48847o729PSIiXnzxxTj77LPjmmuuiU9+8pOdfv/bb789tmzZEpdffnn86Ec/2u157xTTs9mufzW+adOm+MhHPrLb42VlZbF48eI466yziiqtT5w4MZ588sl44YUX4qSTTopnnnmm4Hm5XC6qq6sjIqK1tTU2btxY8LzHH3885s2bF4sWLYrFixdHfX19EX9XXXPLLbfs9lhPF/YBAAAAAAAAYE+U5gEAAAAAAICSd//99xecT548OTKZTFFrFCq6Dxo0KA455JBOZbn33ntj69atHWb9+/ePd7/73Z1aZ1etra1x5ZVXxrXXXtthnslk4pOf/GRceeWVMXDgwLzrvv71r8cll1wSP/vZzzrMq6qqin6gwDu2b98eH//4x2PhwoUd5qlUKj760Y/GF77whYIZrrzyyrj77rvj3HPPjbVr10ZERFtbW3zqU5+KkSNHxnnnndepHBER/fr1i49//ON7LM03NzfH888/H4ceemin13/HZz/72XjxxRd3e/yCCy6Ic845p9Prjho1Ki688ML44he/mHfsL3/5SxxzzDEdZi0tLfH000/HXXfdFQsXLoxHH320w/Hf/e53ceaZZ8Zdd93VIwX2lpaW+OlPf7rb42effXa3vycAAAAAAAAAFMuj3gEAAAAAAICSt2zZsoLzqVOnFnX9li1b4rHHHsubz5o1K1KpVKey/OQnP8mbXXDBBVFeXt6pdXa2bdu2eO9735tXmG9sbIy//OUv8d///d8Fy+oRb+/+fsMNN+QVx2fMmNGpHdibm5vj/PPPzyvMDxo0KG699db45je/udsMERHHH398/Pa3v817iMH8+fNj1apVRefYWb9+/fZ6ztNPP92ltSPefgDC9ddfv8dz5s+f3+X1C+WvqKgo+HObzWZjwoQJcdlll8WDDz4Yn/zkJ/PO+fOf/7zXvF31xz/+MV599dWCx2bNmhVNTU098r4AAAAAAAAAUAyleQAAAAAAAKDkPf744wXnkyZNKur6Bx54IJqbm/PmM2fO7FSObdu25e3oHhFx8cUXd2qdnbW2tsa8efPilltu6TAfOXJk3H333UVlrKioiMsuu6zDbNasWUVnaGtriwsvvDBuvvnmDvOGhob44x//GKecckpR60yfPj0uueSSDrONGzfGddddV3SWna1Zs6bD6+OOOy7vnBUrVnRp7e3bt8f8+fOjra1tt+fU1tbuU1l89erVebMZM2bs9QELmUwmvva1r+XtRh8R8b3vfa/Lefbkxhtv3O2xT3ziEz3yngAAAAAAAABQLKV5AAAAAAAAoOS98sorBecjRowo6volS5YUnHe2EP0///M/sX79+g6z4447rtPl+51dccUV8Ytf/KLDrLKyMm655ZYYO3Zs0evsWpLvTGn+q1/9atx0000dZrlcLn7zm9/E5MmTi14nIuKDH/xg3uw73/lObNu2rVPrREQsX768w+v/+I//yDunq6X5r3zlK/HEE09EREQqlYrTTjst75w5c+ZENpvt0voREX/9618LrlmMVCoVl156ad78kUce2e1/D121efPm+N///d+Cx0aPHh1nn312t74fAAAAAAAAAHSW0jwAAAAAAABQ0lpaWmLt2rUFjw0bNqyoNQqV5jOZTMyYMaPoHK2trfGVr3wlb16oyF2sX/ziF7FgwYK8+cKFC2PSpEmdWmvSpEmRSqUi4u3CdbEPBFi6dGlcffXVefPPf/7zBXc635tCO6lv2LAh7r///k6v9eijj+749YABA+KYY46JXC7X4ZyulOafeOKJDv8uL7nkkhgwYEDeeSeccEKn135He3t7PPzww3nz2bNnF73G1KlTC86ff/75rsYq6Oabb44333yz4LErrrhinx4cAAAAAAAAAADdwTfXAAAAAAAAQEl74403oq2treCxoUOHFrVGodL84YcfHtXV1UXn+Pa3v51X0J47d24cf/zxRa+xs5dffrngTuKnnnpqXHTRRZ1er6amJu68885obm6OXC4XAwcO3Os1LS0t8cEPfjCam5s7zI8++uj47Gc/2+kMEW/vUH/IIYfs2MX9Hffcc0/Ru6y/Y+nSpTt+ffjhh0cul4sxY8bEU089tWPe2dJ8W1tbzJ8/f8fO90OGDIlrrrkmJkyYkHduVx4a8I4nn3wy1q9f32GWTqc7tWZdXV3B+a7r7qsbb7yx4LympiY+9KEPdet7AQAAAAAAAEBXKM0DAAAAAAAAJa2uri5SqVS0t7fnHWttbd3r9S+88EKsWrUqb96Z8vLKlSvjM5/5TIdZeXl5fOMb3yh6jV197nOfi3Xr1nWYlZWVxXXXXdflNTtb4P/e974Xy5cvz5t/+ctf3qfdxevr6/NmK1eu7NQab731Voed5o844oiIiBg3blyH0vzzzz8f27dvj7KysqLWvf766+Pee+/d8fqb3/xmrFy5Ml5//fUO55WVle12p/di3HfffXmzI444ouA/m93Z3e7vgwcP7nKuXa1Zsyb++Mc/Fjz2L//yL7st7gMAAAAAAADA/pROOgAAAAAAAADAvsjlctHQ0FDw2Jo1a/Z6/c67le9s5syZRb1/c3NzXHLJJbFp06YO869+9as7ityd9dhjj8WiRYvy5hdeeGGMHz++S2t21ubNm+Pqq6/Om8+ZMydOOeWUfVq7UOF+11L63tx///3R3Ny84/XkyZMj4u3S/M5aW1vjueeeK2rNl156Ka666qodr88444w477zz4vbbb887d8qUKVFRUdGpzDsrVJqfM2dOp9ZYvXp1wfmwYcO6lKmQxYsXR0tLS948k8nERz/60W57HwAAAAAAAADYF0rzAAAAAAAAQMnb3Y7f999//16vXbJkScF5U1PTXq9tb2+PD33oQ3HXXXd1mP/DP/xDXHHFFXu9fneuvvrqaGtr6zBLp9Px6U9/ustrdtaPf/zjePXVV/Pmn/jEJ/Z57c2bNxc125NdS+dTpkyJiCj4UIEVK1YUtebll18eGzdujIiI2traWLBgQURE/OlPf8o7d9asWZ3Ku6udd7N/x+zZszu1RqGf74EDB8aQIUO6nGtXN954Y8H52WefHQcffHC3vQ8AAAAAAAAA7AuleQAAAAAAAKDknX766QXnv/rVr/Z6baHSfP/+/fe6o3tLS0v867/+a96O8JMmTYqf/exnkU537evYl19+OX7961/nzU899dT9tst8ROwojO9s+PDhceaZZ+7z2m+88UberKqqqlNr7Fw6z+VyMWnSpIjI32k+orjS/E033dThn/tXvvKVGDFiRLS1tRUsuO9Laf6NN96I5cuX5807u9P8//3f/+XN3v3ud3f5Z29XTz/99G4fPNEdD08AAAAAAAAAgO6iNA8AAAAAAACUvPe///1RV1eXN//d734X99xzz26v2759ezz00EN58xkzZkQqldrtdevWrYvTTz89vv3tb3eYH3zwwfH73/8+GhoaOpG+o+9///vR0tKSN/+nf/qnLq/ZWUuXLo3HHnssb37hhRdGNpvdp7Xb29vjpZdeypsX+ve3pzV23ml+4sSJUVFRERFdK82vW7currjiih2vZ8+eHZdddllERDzxxBOxfv36vGuampqKzrurJUuWRFtbW4fZqFGjYtSoUUWv8ac//SmvzJ9KpeLyyy/vcq5d/fjHP4729va8+fTp0+OYY47ptvcBAAAAAAAAgH2lNA8AAAAAAACUvEGDBsXnP//5vHl7e3u8733vi6eeeqrgdY888khs3bo1b767XcTb29tj0aJFMXHixPj973/f4djkyZPjjjvuiMbGxi78Hfz/brzxxrxZXV1dt+zwXqxf/epXBefnnHPOPq/96quvxrZt2/LmI0eOLHqNFStWxNq1a3e8njJlyo5fNzY2Rk1NTd75e3LllVfGq6++GhER5eXl8d3vfnfHbu3Lli3LO3/48OGdKrjvaufC/zs6s8v866+/HhdffHHefP78+TFz5swu59rV4sWLC84/9alPddt7AAAAAAAAAEB3UJoHAAAAAAAAeoV/+7d/i3PPPTdv/sorr8S0adPiW9/6Vl5Ze8mSJQXX2nUX8S1btsT3v//9OOqoo+Liiy+O1157rcPx8847L/7yl7/E6NGj9+nv4bnnnitY8D/55JN37KS+P9x88815sxEjRsT06dP3ee2//e1vBecHHXRQ0WvsWjo/+uijd/w6lUrF2LFjOxzfU2n+jjvuiB/+8Ic7Xl911VUxceLEHa/vv//+vGt291CFYhUqzc+ePbuoax9//PE49tiu2+UKAAARRElEQVRjY+XKlR3mY8aMiWuuuWafcu1s6dKlBX8WR4wYEWeffXa3vQ8A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" + } + }, + "cell_type": "markdown", + "id": "31f6a05e", + "metadata": {}, + "source": [ + "![qae_fig2_wide.png](attachment:qae_fig2_wide.png)\n", + "Figure 2: Pictorial Representation of a Quantum Autoencoder. Here one can see the similarities with the CAE, with the circuit having an input state, bottleneck state and an output state." + ] + }, + { + "cell_type": "markdown", + "id": "1110c76f", + "metadata": {}, + "source": [ + " \n", + "\n", + "Much like its classical counterpart, our circuit contains three layers. We first input our state $|\\psi>$ (which contains $n$ qubits), of which we wish to compress. This is our input layer (1). \n", + "\n", + "We then apply our parametrized circuit on our input state, which will act as our encoder and 'compresses' our quantum state, reducing the dimensionality of our state to $n-k$ qubits. Our new compressed state is of the form $|\\psi_{comp}> \\otimes |0>^{\\otimes k}$, where $|\\psi_{comp}>$ contains $n-k$ qubits. \n", + "\n", + "This parametrized circuit will depend on a set of parameters, which will be the nodes of our Quantum Autoencoder. Throughout the training process, these parameters will be updated to optimize the loss function. \n", + "\n", + "We disregard the remaining $k$ qubits for the remainder of the circuit. This is our bottleneck layer (2) and our input state is now compressed. \n", + "\n", + "The final layer consists of the addition of $k$ qubits (all in the state $|0\\rangle$) and applying another parametrized circuit between the compressed state and the new qubits. This parametrized circuit acts as our decoder and reconstructs the input state from the compressed state using the new qubits. After the decoder, we retain the original state as the state travels to the output layer (3)." + ] + }, + { + "cell_type": "markdown", + "id": "38ef78c0", + "metadata": {}, + "source": [ + "## 3. Components of a Quantum Autoencoder" + ] + }, + { + "cell_type": "markdown", + "id": "1f4aae55", + "metadata": {}, + "source": [ + "Before building our Quantum Autoencoder, we must note a few subtleties.\n", + "\n", + "We first note that we cannot introduce or disregard qubits in the middle of a Quantum Circuit when implementing an autoencoder using Qiskit. \n", + "\n", + "Because of this we must include our reference state as well as our auxiliary qubits (whose role will be described in later sections) at the beginning of the circuit. \n", + "\n", + "Therefore our input state will consist of our input state, reference state and one auxiliary qubit, as well as a classical register to perform measurements (which will be described in the next section). A pictorial representation of this can be seen in Figure 3. " + ] + }, + { + "attachments": { + "qae_fig3_wide.png": { + "image/png": "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xv777x9//etfY+jQoZkYkUbkuuuui9/97nfRo0ePdV7Pzc2Nvn37xqRJk+Kkk06q5+kAAAAAAIDGKLehBwAAAAAAgEyYNWtWDB8+PGpqamq9Rk5OTuy1117Rt2/f6NatW7Rt2zays7Nj+fLlsXTp0vj888/j5ZdfjjfeeCPKyso2ul55efkGr2dnZ8fIkSNj5MiRsWLFivjss8+ipKQksrOzo1mzZrHTTjtFkyZNav31sHnJzs6Oc845J84555w17pecnJxo1qxZdOzY0f0CAAAAAAAkImQCAAAAAMBmp6amJk4//fRYuXJlrfoLCwvjnHPOifPOOy/atWu30frS0tJ49NFH4+67746XXnppvXUFBQUpz9C8efP1nlAB/8n9AgAAAAAApEN2Qw8AAAAAAADpds8998TLL79cq95+/frFjBkz4vrrr08pYBLxr/DISSedFFOmTImpU6fGvvvuu866Fi1a1GomAAAAAAAAqA9CJgAAAAAAbFbKyspi9OjRteo966yz4vnnn48ddtih1vvvu+++8eqrr8Ztt90WRUVFa1xz0gQAAAAAAACbMiETAAAAAAA2K3feeWd88cUXifvOOOOMuOWWWyInJ6fOM2RlZcUZZ5wRH3zwQQwaNCgiIrp27Rq77757ndcGAAAAAACATMlt6AEAAAAAgPT4+uuvIyKiVatWifrKy8vjxRdfjKlTp8b7778fixYtipKSkmjatGkUFxdHx44do1evXtGvX7/YZZddMjF6RERUVFTEypUro2nTplFYWJiod9myZfHss8/G9OnTY8aMGbF48eLVX0PLli2jY8eO0aNHj+jfv3906dIlQ19BxKpVq2L58uUREVFcXBzZ2Zn7Oz8lJSVRXl4eeXl50bx584zt09hUV1fHuHHjEvftt99+8bvf/S6ysrLSOk/79u3j8ccfj9mzZ8c222wTTZo0SdRfVVUVy5Yti4j03lOlpaVRVlYWBQUFkZ+fn1LP3/72t3jiiSdi+vTp8dVXX0VBQUFsv/320bt37zj88MOjV69eaZlt7ty58frrr8f7778fn3322erPpMrKyiguLo62bdtG586dY7/99ot999035fk3JlPf63X57vufm5sbLVq0SNu69fk1AAAAAAAAm6esmpqamoYeAgAAAAA2R3/605/ihBNOSLn+/vvvjxNPPDHl+unTp8eYMWPizTffjEWLFq1xrW3btrHPPvvEuHHjYscdd1xn/5w5c2L8+PExceLE1cGIjendu3f8/Oc/j5NOOiktDy//6U9/it/97nfxzjvvRElJyerX8/LyomvXrnHYYYfF1VdfHXl5eevsf+utt2Ls2LHx+OOPR0VFRUp79urVKy688MIYMmRInU+sWLRoUVx++eXxxhtvxKxZs6K8vHyN64WFhdGtW7c44IADYvTo0XV6mHzy5Mlx4403xnvvvRfz5s2L//zRbtu2baNnz55x2mmnxeDBg9e7zjPPPBO/+tWvoqysbI3XZ82alfJ90KFDh2jduvUGa3bZZZe48847E4cq6uq5556LQw89NFFPYWFhvPvuu7HTTjtlaKrUrVixIsaOHRuTJ0+Of/7zn2v9OxUWFkafPn3i0EMPjVGjRqUcsKiqqorRo0fHk08+GR9++OEa75cmTZpE9+7dY/jw4XHeeeet1fvBBx/E2WefHa+88soG9xgzZkxceeWVKc3znz777LO466674pFHHomZM2em3FdQUBD77bdfnHrqqXHMMcdEbm7qf1vrq6++issvvzxef/31mDlz5lrf64KCgujWrVvst99+MWbMmGjZsmXKa/+nl19+OcaNGxfvvvtuzJs3L6qrq9e4/r3vfS969eoVQ4cOjaFDh6a87vLly2Ps2LHx4osvbvB+GTBgQPz85z9f7/2yePHiGD58eCxcuHCt1z///POUZikuLo5OnTptsKaoqChuuumm6NmzZ0prAgAAAAAA9U/IBAAAAAAyJNMhk379+sWUKVM2WDNkyJB44IEH1njt22+/jTFjxsSECROisrIy5f3+3W677Rb3339/dOvWrVb9ERErV66MVq1abXSGZ599Nvr377/Ga/PmzYuLLrooHnroobXCFqnq06dP3HXXXdG7d+9a9UdEXHLJJXHdddelVPvrX/86Lrnkklrvtf3228e8efM2WpednR2LFi2Krbfeep3Xd9ppp/jkk09qPUcS9957bwwbNqxe9vrOcccdFw8//HCinssuuyyuueaaDE2UzOjRo2PMmDEp1f7mN7+JCy64IKXaV155JQ444ICN1s2cOTN23nnn1f/95z//OU455ZRYuXLlRnvbtWsXX3zxRUrzfOezzz6Liy++OB555JGoqqpK1Pufdthhh7jooovizDPPTCkEd/XVV6ccirn66qvj8ssvr/VsXbt2TSk8k5WVFXPnzo3vf//7Ka17xRVXpHzvbugzKMlnWV0NGDAgnn766XrZCwAAAAAASM456QAAAADQSH399deJa15//fX4wQ9+EOPHj691wCTiXyeI7L777vHcc8/Veo3ly5enNMPSpUvX+O8HH3wwevToEQ8++GCtAyYREf/4xz9i7733XiuEk0Qq/wbfSfWUkPX5z+/D+lRXV8eKFSvWeW3+/Pn1FjCJiPj73/9eb3tFRJSVlcVTTz2VqKdZs2YxatSoDE2U3Pz58zNSm+r98+9199xzTwwZMiSlgElExIIFC2LVqlUp1dbU1MS4ceOie/fu8dBDD9U5YBIRMXfu3Bg5cmT069cvFixYsNH6JO/fxYsX12W0lL//NTU1iT4rktwDX3311XqvvfrqqymvU1f1/bkAAAAAAAAkI2QCAAAAAFuI22+/Pfr27Rtz585Ny3orV66MI488Ml577bW0rLcxNTU1MWrUqBgyZEgsW7YsLWuWlZXFSSedFBMnTkzLepu6VB90T5e6Ppif1JQpU6KkpCRRz5AhQ2KrrbbK0ESN18MPPxwjRoyI6urqlHuqq6tT+v6XlpbG0UcfHRdccEGUlpbWZcx1evnll+O4445L+7qbs/r8bFi6dGlaQkUAAAAAAEBmCJkAAAAAwBbg0ksvjTPPPDPlUwZSVV5eHscee+wG/0J+OlRWVsbQoUNj/PjxaV+7pqYmTj311Hr9S/4NJWkAo66+/fbbet3v6aefTtxz8sknZ2CSxu3111+PoUOHJgqYfGdjpxOVlJTEwIED44knnqjteCmZOnVqzJo1K6N7bE4yEfZZn5qamrQFBQEAAAAAgPQTMgEAAACAzdxFF10U1157bcbWX7BgQVx44YUZW/+7Uw/uv//+jO2xatWqOPHEEzf7B5/z8/Prdb+mTZvW637Tpk1LVN+6devYZ599MjRN47R06dIYPHhwlJWV1ap/Q8GU6urqOPnkk2PKlCm1HS+R2bNn18s+m4PN/bMBAAAAAABInZAJAAAAAGzGXnrppfjNb36T8X0mTpwYH330UUbWPv/882PSpEkZWfvfzZs3L8aMGZPxfRpSUVFRve5XXFxcb3tVVlbGe++9l6hnr732itzc3AxN1Didd955MW/evFr3byiscP3118djjz1W67WTWrp0ab3t1djV52dDXl5eFBYW1tt+AAAAAABAMkImAAAAALAZq+1pBElVVVXFxIkTM7L2N998k5F112XChAl1esB+U7fDDjtEy5Yt622/nj171tteM2bMiPLy8kQ9vXv3ztA0jdecOXPq1F9QULDO12fMmFHvIa6SkpJ63a8x69WrV73tVZ+fCwAAAAAAQHJCJgAAAABAtG7dOrbddtvIzq79jwwffPDBqKmpSeNUqSsuLo4DDjggDjvssNhzzz03eJrChlRUVMSNN96Y5uk2HdnZ2TF8+PB62atFixZx3HHH1cteERGzZ89O3CNkkl5t2rRZ78kwo0aNShwCiojo2rVrXHHFFTFx4sR47rnn4i9/+UvcddddMWLEiNh+++032Lu+wAtrGzZsWOTk5NTLXqeeemq97AMAAAAAANTOun/bAwAAAABs9lq1ahU/+9nPYujQodGhQ4eIiKisrIxnnnkmrr322pg2bVqi9T799NP45z//GbvttlsGpl23/fbbLy677LI4+OCD13hAetmyZTFhwoT45S9/mfjB9okTJ8Z1110XeXl56R53kzBu3Lg47bTTorS0dI3XTz/99HjrrbdSWuOqq66Kn/zkJxus2XHHHWOrrbaq9ZxJzZ8/P3GPkElybdu2jX333Teys7Njzpw58e6770ZVVVVEROy6667r7Hn11VfjueeeS7RPmzZt4vbbb49Bgwat8/qpp54a1dXV8de//jXGjBkTb7/99lo1RUVFifbcku27777x+eefx4IFC9Z4/ZFHHonrrrsu5TVuuummDda0bNkydtppp1rPCQAAAAAAZJ6QCQAAAABsgQ4++OCYOHFibLPNNmu8npeXF0cccUQMHDgwRo0aFTfffHOidd955516CZlkZ2fH9ddfH+eff35kZWWtdb2oqCguvfTS2GOPPeKoo46KFStWpLz2kiVLYvLkyTFgwIB0jrzJyMrKiu7du6/1eosWLVJeo0OHDtGnT590jlVn8+bNS9yz7bbbZmCSzVPbtm3jhhtuiCFDhqwR6Prmm2/ir3/9a3zwwQcxbNiwdfYmPR1o++23j7/97W/Rrl27DdZlZ2fHoEGD4ogjjohbbrklLr744igpKVl9vWfPnon23dJtt912sd12263x2htvvJFyf3Fx8Sb3uQAAAAAAACSX3dADAAAAAAD1a8SIEfH000+vFTD5dzk5OTF+/Pj48Y9/nGjtGTNm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x6OPPhrTpk2LRx55JG3rb+qaNGkS++yzT8r1VVVVceWVV9Zpz/fffz/22GOPaN++fSxbtmyDtUnfv/fdd1+i+hdeeCFOPPHEqKqqStS3KWnRokXKtQsXLqyXzyoAAAAAACCzhEwAAAAAgEajrKwsDjvssHjyySdT7jnzzDNjwYIFifb5yU9+klJd165dE617yy23xCeffJJy7VFHHRWVlZWJ9qitoqKilGtfeumlqKmpyeA0dVPboMLKlStj0KBBccUVV0RFRUWt96+oqIg777wzunbtGuPGjVvj3/Cjjz6q9bqNUf/+/RPVP/jgg7UK4tTU1MTvf//72GOPPeLNN9+M+fPnxwsvvLDBni5duiTa46677ooPP/wwpdq77747Bg4cGGVlZYn22NQk+VxYuXJlvPnmmxmcBgAAAAAAqA9CJgAAAABAo1JSUhJHH3103HbbbRusq6qqijPOOCMefvjhROu3a9cu9txzz5Rqd95558jKykp57dLS0jj00ENj7ty5661ZuXJljBw5Ms4555x6PQGhuLg45dq5c+du0idy7L///jFgwIBa9VZVVcU111wT3bp1i7vvvjuWL1+ecu/cuXPjl7/8ZXTq1ClOP/30dZ74srHTNTY3xx9/fGRnp/6riOrq6jj55JMTBclmz54dAwYMiJEjR0Zpaenq1zcWCNlpp50iLy8v5X0qKipiwIAB8fHHH6+3prS0NEaNGhWnnXZavQXEMinJ50JExA033JChSQAAAAAAgPoiZAIAAAAANDqrVq2Ks846Kw455JB45ZVXorq6eo3r06ZNi4MOOijuuOOOxGufcsopKT8U36xZs+jUqVOi9WfPnh29evWKa665JmbMmBHl5eUREfHxxx/Hb3/72+jWrVv8/ve/Tzx3XSX9OkaMGBEPP/zwWkGYuXPnxtixY+OYY46JTz/9NJ0jJnLLLbdEs2bNat3/ySefxGmnnRZt27aNQw45JK688sr44x//GJMnT45XX301nn/++fjzn/8cEyZMiNNOOy169eoVHTt2jKuuuirmzZu33nX/PQSxJfj+978fhx56aKKesrKyOOKII+KUU06Jd955Z5011dXVMX369Bg+fHjssssu8dxzz61V8+23325wn7y8vOjevXui2ebOnRu77rprjB49Ot57773VJ5V88skncfPNN0f37t1j/PjxidbclCX9XHjkkUfiZz/72Vrf+xUrVsRDDz0Uxx9/fDz++OPpHBEAAAAAAEiz3IYeAAAAAACgtl544YV44YUXYuutt47OnTtHdnZ2zJkzJxYuXFir9Zo2bRqnn356op6f/vSnce211ybqWbZsWVxxxRVxxRVXRERETk5OvZ5asi677bZbovpvv/02jjvuuNXf+6ysrFiwYMEawZLdd989Lr744nSPmpIdd9wxrr322jjvvPPqtE5paenq+ywdkpx8s7n4xS+eSY4fAAAgAElEQVR+EU8//XTivnvvvTfuvffe6NChQ3Tp0iXatm0bFRUV8eWXX8Z7770Xixcv3mB/KoGeY445Zr1BlvVZsWJFjBkzJsaMGRMRm8b7N1O222672GabbRJ9pt50001x6623Rvfu3aNly5axePHi+Pjjj1cH6mbOnBlHHXVUpkYGAAAAAADqSMgEAAAAAGj0lixZEkuWLKnzOmeccUa0b98+Uc/xxx+fOGTynzaFB9R79+5dq4flN/S9nzlzZjpGq7Vzzz033nzzzfjjH//YoHP8u7qcrtJY9e3bNw477LBaBU0iIj777LP47LPPEvelciLRkCFD4sorr6zFVP9nU3j/ZlKfPn3iqaeeStRTUVERb7/99jqvzZo1Kx1jAQAAAAAAGbLx37AAAAAAAGwB2rRpU6uHzXv16hV77713BiZaW3FxcUbXPuSQQ9K65tKlS9O6Xm3ccccd0bdv34YeY7Vtt922oUdoEDfffHO9B2yaN2++0ZpOnTrFj3/843qYJrPv30w69thj07peSUnJ6lNNAAAAAACATY+QCQAAAACwxcvKyorf//730bp161r133TTTSmdmlAX/fv3j9GjR2d0jxEjRqR1vZKSkrSuVxv5+fnxzDPPxMEHH9zQo0RExG677dbQIzSInXbaKW677bZ63bNdu3Yp1Y0fPz5yczN78PsBBxwQ1113XUb3yJRjjz02WrZsmdY1V65cmdb1AAAAAACA9BEyAQAAAAAahUMPPTRja1988cVxzDHH1Lp/9913j+HDh6dxojUdeeSR8cQTT0R+fn7G9oiIOPzww6Nbt25pW6+goCBta9VFYWFhPPnkk3HmmWc26By77bZbDBw4sEFnaEgnnXRSXH755fW236677ppSXc+ePeOss87K2Bz9+/ePp556qt5PckmXwsLCGDlyZFrX3FQ+GwAAAAAAgLUJmQAAAAAAjcLEiRPjoosuSvu6I0eOjF/96ld1Xuemm26KPn36pGGiNf3sZz+LRx99NOMBk4iIvLy8uPvuu6NJkyZpWa9t27ZpWScdmjZtGrfeems88MADsfXWW9f7/ocddlhMmjQpbd/bxurqq6+O0aNHR1ZWVkb3+clPfhJ77bVXyvVjx46NffbZJ+1znH766TFp0qRGGzD5zqWXXho9evRIy1pFRUVCJgAAAAAAsAkTMgEAAAAAGoWsrKy4/vrr47bbboumTZvWeb28vLwYO3ZsTJgwIS0PvDdr1iyef/75tD2o3qpVq3jkkUdi/PjxkZOTk5Y1U7H33nvHfffdF7m5uXVeq3fv3mmYKL2GDBkSM2fOjJEjR0ZeXl7G99thhx3iD3/4Qzz11FOx7bbbZny/xuCqq66Kxx57LNq0aZP2tXNzc+OKK66IRx99NLKzU/8VSH5+fjz99NNx4IEHpmWOoqKi+K//+q+4/fbb0/JeamjfnQa044471nmtTfFzAQAAAAAA+D9CJgAAAACQIUkfxt1+++0T1W+33XYZqf1Pbdu2TTnkUJd9UnXGGWfEP//5zzqFOfbYY4947bXX4sILL0zjZBFbbbVVTJkyJX7xi1/UOsCQlZUVw4YNiw8//DCOOeaYNa6l8lB+bm5ubLXVVrXa+ztDhgyJ//7v/47OnTvXeo3WrVvHscceW6c5MmWrrbaKCRMmxKeffhq/+MUvonXr1mnfY88994z77rsvZs2aFUOHDk25L0kQJUltkvdmfYRhBg0aFB9++GGcd955aTnVIj8/P0499dR4++2345e//GWt3n/FxcXxwgsvxJVXXlnrE2eysrLihBNOiBkzZsQJJ5ywxrXvfe97KfUnOWmnPv9dO3ToEG+88UYcffTRtQ7mZWVlxRlnnFGnOQAAAAAAgMzKGT169OiGHgIAAAAANkft27ePffbZJ7Kzs6Ompiays7MjJycnysvLo7i4OLbaaqvo2LFj9O/fP8aMGROHHHJIovX79esX1dXVkZeXF1lZWZGdnR2VlZVRWFgYrVq1iu9///txwAEHxGWXXRZHHHFErR8KLiwsjH333TcqKytX75OdnR3l5eXRqlWr2HrrraNr164xcODAuPnmm1N+QHrFihUxbty4lOe46KKLorCwMCL+9bD28OHDo127djFnzpxYsmTJRvtzc3Pj4IMPjnHjxsVvfvObaNeuXcp7J5GTkxMHHXRQDB48OMrKymL27NlRUVGx0b6ioqI4+eST4/7774/TTjstmjdvvlZN586do0WLFlFeXh5VVVUREVFZWRktW7Zc/e99ww03RI8ePer8deywww5x9tlnR5cuXWL+/PmxcOHCqKmp2Whfu3bt4uSTT46HHnoo2rZtW+c5MqmoqCgOOuigGDVqVPTt2zeaN28eZWVlsWTJkpS+1n/XqlWr6NevX5x99tlxyy23xEUXXRS9e/dOfArNHnvsEYWFhZGbmxtZWVlRU1MT1dXVkZubG8XFxdG+ffvYc88948wzz4xzzz035VMy2rVrF127dl295nenfFRVVUXLli2jTZs20aNHjzj66KPjhhtuiOLi4kRz10ZBQUEMGDAgRowYEW3bto1vvvkm5fss4l+nB/Xr1y/OOuusuO+++2LIkCF1Ph0lOzs7fvSjH8WJJ54YFRUVMXv27CgvL99oX/PmzeOEE06IiRMnxllnnRVFRUVr1ey4447RqlWr1e/frKysqKioiFatWkX79u1j//33j2uvvTb69OmT8rx77rlnFBQURG5u7ur/16zrfjnrrLPinHPOqfOpKs2aNYvBgwfHEUccEd988018/vnnKX2+FRYWRv/+/ePOO++Mww8/vE4zAAAAAAAAmZVVk/Q3ZQAAAAAAabBw4cJEf1l/8eLF6w2wvP/++zFlypR47733YuHChVFaWhoFBQVRXFwcO++8c/Ts2TMOPPDAaNmyZbrGT1lZWVlMmzYt/v73v68OxCxbtizy8vKiVatW0a1bt9h9993jwAMPjKZNm9b7fKlavnx5/O1vf4uPPvooli5dGl9//XWUl5dHy5Yto7i4OLp06RK9evWq0+knm4ply5bFe++9F5988knMnTs3lixZEqWlpbFs2bJo0qRJ5OfnR6tWrWK77baLjh07xs477xydO3eudZCL//Ptt9/GtGnT4qOPPopPP/00lixZEuXl5bFq1aooLCyMNm3aRMeOHaN3796x55571vrEkVRVVFTEG2+8EdOmTYs5c+bE4sWLV79/W7ZsGV27do0f/vCH0a9fv8jPz8/oLJuiqqqqeOedd2L69OmxePHi+Prrr2P58uVRWFgYLVq0iA4dOkSvXr2iR48eW+T3BwAAAAAAGiMhEwAAAACgQaQzZAIAAAAA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TZs2LdcH4K9fv67Bgwfriy++cGhtk8mkXr166bPPPpO7u3u246ZMmaLBgwfb1FasWKH27dvneo2/7N69W6+//ro2bNjg0PiAgAANGTJEr7/+eo47r1y8eFFTpkzRF198ocuXLzvcj8Vi0YABAzRp0iSHgwVLlizR008/bVP79NNP8y1I5eXlZROucHV1VVqacztMde3aVYsWLbKpOfrZkP7ceeLbb7/ViBEjdOrUKYfmeHl5afjw4Ro6dKjTO1WkpqZqxIgR+ve//20Ied2OLVu2qEmTJob6wIED9emnn9rUDh8+rMqVK+e65v/93/+pf//+Dr/fKleurHnz5ql27dpZtcuXL6tIkSK6k8eAnn76acO9vVVmZqa++eYbjRw5UtHR0Q6t6+vrq5EjR2rw4MG3/dnw9fVVQkKCJGn//v3q0KGDzpw5Y3duq1attGbNGoeuAwAAAAAwcinoBgAAAAAAAAAAAAAAuNW6desMARMXFxc999xzBdSRYz799FOFhYVpxowZTu/ukJSUpKFDh6pv374Oz4mLi1Pjxo01Z84ch0Ig0p8Pic+cOTPXh7Dj4+PVpEkTzZw50+G1rVar5syZo5UrV+Y6zpFadubOnatHHnnE4YCJJF29elWjRo1Sy5YtlZKSYnfMypUrVbVqVU2cONGpgIkkpaen6+OPP9bjjz+uGzduODX3fnLo0CFD7SEHd0ZLTU1VRESEunfv7nDARPrzs/HWW2+pRYsWio+Pd3heXFycGjVqpI8++ihPAiaSnLq+I+/piRMn6qmnnnLq/RYVFWUI28XHx99RwERSVogjO8nJyercubN69erlcMBEkq5du6bhw4erTZs2hh1aspPda/nll1/UpEmTbAMmUu6vAwAAAACQswfrq2wAAAAAAAAAAAAAAA+EzZs3G2rVqlVTyZIlC6Abx8TExOiVV14xhGMkyd3dXWFhYSpcuLBcXV0VFxenffv22X3getasWWrQoIEiIyNzvWa3bt303//+16ZmNpvVuHFj1a5dW+7u7kpNTdWvv/6qbdu22YQfzp49m+Pazz33nPbt22dTc3FxUaNGjRQeHp619v79+7Vt2zabHTFyW/tOzJo1S3379s32IfSgoCD5+fkpJibG7sPmmzZt0tdff203zPPiiy8qNjbWUDebzapataqKFSsmb29vxcXF6cCBA4qJibG7/htvvKFJkybdxqu7t/322286ePCgod60adNc56ampqp9+/Zat26d4VxgYKCaNWumEiVKKDMzU2fPntWWLVsM92Lbtm1q2bKlfvrppxx3ypH+DP107txZe/futam7uLioXr16qlevnjw9PRUXF6etW7faDc/cytXVVdWrV891nKO+++47uzszlS5dWs2aNVORIkUkSSdPntTmzZt14cKFrDG3hjxCQ0Pl7e3tdLjtZhUqVMj23PXr19WmTRv99NNPhnNBQUFq1qyZQkNDlZGRoTNnzmjLli26evWqzbgNGzaoTZs22rhxY467CWXn8uXLevLJJ3Xt2rUcx5nNZqfXBgAAAAD8DyETAAAAAAAAAAAAAMA9Z//+/YZanTp1CqATx12+fNkmYOLu7rwz94gAACAASURBVK4OHTqoV69eatmypdzc3GzGp6ena8mSJRo8eLDNw+OSNG7cOPXq1SvHh6XXrFlj2I2kdu3aWrhwod2HxS9duqRvvvlGkydP1vnz5xUYGJjt2hs3btSKFStsamFhYVq0aJEqVapk97XPnTtXkydPVnR0dI5r34nffvtNgwYNMgRMgoOD9dZbb6lr164KDg7Oqh85ckRz587VJ598YrMDxe+//25Y22q12twHFxcXNW/eXD179lSnTp3k4+NjGL9u3Tq98sorhoDCtGnTNGzYMJte7ncZGRl69dVXDfWmTZvmGE74yxtvvGEImAQEBGjixInq1auXITSSnp6uOXPm6PXXX1dcXFxW/ZdfftHbb7+td999N8frzZo1S1u2bLGplS9fXgsWLFDdunUN47///nv16tXLZkeRwoULa8mSJVn3PigoSGXKlMn1tTrCarVqyJAhNu9lNzc3TZ8+XT179pSLi4vN+IyMDK1Zs0ZTp07Vjz/+qICAAJvzXl5e2r59u44cOZJVmzVrln788UebcR999JGKFy9u6MdsNqtFixbZ9jtkyBBDwCQoKEiTJk1Sjx495OrqanPuxo0bmjlzpoYPH24TCtm6dasmTpyoUaNGZXstezIzMxUREWGzg4mnp6d69+6tunXrKi0tTTt27NB3332nKlWqOLU2AAAAAMAWIRMAAAAAAAAAAAAAwD0nKirKUKtdu3YBdOK4IkWKyGKxyMXFRX369NGoUaNUtGjRbMdbLBZFRESobt26Cg8Pt/nW/1OnTmn9+vVq1apVtvPnz59vc+zt7a0VK1YoNDTU7viQkBC99tpr6t+/vxYvXqx27do5vLanp6dWrlyZ7U4ywcHBGjx4sPr166fFixerU6dO2a59J1544QUlJyfb1MLCwvTjjz9m7fpws0qVKmncuHF67bXX9NZbb2natGmyWq3y8PAwjDWZTAoNDVV0dLSeeuopjRs3zm6g5ubxLVu21LZt21SvXj0dO3Ys61xKSormz5+vl19++Q5e7b0jISFB/fr1MwQWzGazJkyYkOv8zZs3a8qUKTa1okWLav369apatardORaLRX369FHdunXVtGlTm5DQpEmT1Ldv32wDH5mZmRo/frxNLTAwUBs3bsz2Pdy2bVutWbNGDRs2VGpqqiTpypUrWrx4saZNm5bra3TWL7/8YvOekaQxY8bo+eeftzvebDarbdu2atu2rXbs2KGMjAzDmLCwMIWFhWUdb9y40TCmdevWqly5slO9rl69WjNmzLCplSxZUhs2bMg2YOTq6qoBAwaoTp06at68uc0OK+PGjVNkZKSKFSvmcA/Xr1/Xhg0bso7DwsK0ZMkSVaxYMasWGRkpq9Wa7S5HAAAAAADHuOQ+BAAAAAAAAAAAAACAuycpKUmxsbGGeqlSpQqgG8cFBgZq27ZtOnPmjKZNm5ZjwORm5cuX19ChQw31nTt35jhvz549NsfNmjXLNmByMy8vL/Xs2VO+vr4Or92kSZNsH86/maenp/75z3/K398/17HO2rJli3bt2mVTCwwM1KpVq+wGTG4WEBCgjz/+WP/5z3/08MMPq23btnbHrVmzRsePH892x5bs1n7vvfcM9dzu370uPT1dv/76q8aPH69KlSppwYIFhjHvv/++GjRokOta48ePV2ZmZtaxyWTS/Pnzsw2Y3Ozhhx/W+++/b+ht9uzZ2c7ZtWuXoqOjbWqvv/56ru/hWrVqGUIes2fPtgm45JXdu3cbat27d3dobsOGDfXII4/kdUvZGjdunE1ww2w2a9GiRQ7tYFO/fn1D4CctLU1fffXVbfdTtmxZrV692iZg8heTyWTYBQYAAAAA4Bz+rwoAAAAAAAAAAAAAcE+5dOmS3Xp+BBfyWr169RQSEuL0vCeeeMJQO3jwYI5zbg3i+Pj4OH3dglj7dt26E4YkjRgxQiVKlHB4jc6dO2vfvn2qX7++3fNVq1ZVuXLlnO6tXbt2cnNzs6nldv/uBenp6SpfvrzhV+HCheXh4aFatWrpzTff1IULF2zmubu769///rdeffXVXK9x+PBhrV+/3qb25JNPqlmzZg73+cILLxhCW/ZCL3/Ztm2boRYREeHQtTp37mxznJycrB07djg01xn2gnT3wufsVnv37tX27dttaj169HAoXPSXfv36qVChQja1W3dLcpSXl5dWrVrl1C4oAAAAAADnEDIBAAAAAAAAAAAAANxTkpOT7db9/Pzucid3z0MPPSSLxWJTi4uLy3HOraGbXbt2KT09PU/6sbd2Wlpanqx9O27cuKE1a9bY1Nzc3NS3b98C6siWm5ubYVeH3O7fvcBqterEiROGXzExMcrIyLA7p3nz5tq1a5f69+/v0DXmz59vswuG9GfowBkWi0UdO3a0qR0/fjzbQNrFixdtjn18fFS6dGmHrmVvd45Tp0452KnjAgICDLVbwxz3gnnz5hlqzt4/Dw8Pw+5Bv/32mxISEpzu5/3331eVKlWcngcAAAAAcBwhEwAAAAAAAAAAAADAPSW7MIOHh8dd7uTuMZvNhhBNfHx8jnOqV69uc3zixAmNHDkyT/qpUaOGzfHZs2c1bNgwQ1jgbtm3b5+SkpJsas2aNbundre5NTSQ2/2731SpUkU7d+7UunXrFBYW5vC8rVu32hx7e3urSZMmTl+/du3ahtru3bvtjr127ZrNsaenp8PXMZvNhlpmZqbD8x116+dXkl599VWdP38+z691J269f4UKFVK9evWcXqdWrVo2x5mZmdq7d69Ta7Rs2VIDBgxw+toAAAAAAOcQMgEAAAAAAAAAAAAA3FN8fHzs1m99cPxBc+tOJrk92N61a1dD7f3331fnzp115MiRO+rF3tpTp05Vhw4ddPjw4Tta+3bY2+GhTp06d72PnLi6utoc50cwoSAdPnxYEyZM0OXLlx2ec+PGDe3atcumVqlSJbm5uTl9/eDgYEPtwoULdscGBgbaHMfFxSk1NdWh65w4ccJQCwkJcWiuMx555BEVL17cpnb8+HHVqVNHCxYsuCfeP0lJSdq3b59NrVq1anJxcf5xI2fuX3aeeOIJmUwmp68NAAAAAHCOJfchAAAAAAAAAAAAAADcPbfuCPGXhISEu9xJ3ktISNCVK1eUmJioGzdu2JxLT093aq0nn3xSjz76qLZs2WJTX758uVauXKmuXbtq4MCBatiwodN9dujQQS1atNC6dets6qtWrdIPP/ygp59+Wi+99JIaN27s9Nq349SpU4Za1apV78q1b5acnKwLFy4oKSlJKSkpNufuxxCUxWKxCSRlZmbqypUr+vnnn/XNN99oz549NuOXL1+uU6dOaePGjdl+Tm929uxZww40iYmJeu+995zu1V5wKjY21u7YSpUq2Rynp6dr69atat68ea7X+eGHH3JdLy9YLBZNnjxZERERNvXz58+re/fuGjt2rIYMGaKIiAh5e3vn+fUd8ccffxj+nIqLi7ut+3fgwAFDLbv7BwAAAAAoWIRMAAAAAAAAAAAAAAD3FH9/f5lMJlmtVpt6XFxcAXV0ezIzM7V7926tWrVKW7du1aFDh5z+5v6cmEwmLV68WI899piioqJszmVkZGj+/PmaP3++atSooQEDBqhnz57y9PR0eP1vv/1WTZs21cGDB23qmZmZWrhwoRYuXKiqVavqX//6l3r27JmvD8JfvXrVUCtcuHC+Xe8vv/32m77//ntt3LhRhw8f1qlTpwzvy/uZyWRSuXLlbGoVKlRQgwYNNGjQIM2cOVMvvfSS0tLSss7/+uuveu6557RixYpc17f3mT169KiGDx9+583rz9CPPS1btpTFYrEJbk2YMEHNmjXLcReOc+fOadasWTa1kiVLqnr16nnS7626du2q3377TePGjTOci4qKUu/evfXqq6/q2Wef1csvv5wvYZec2Lt/Bw8ezPf7BwAAAAAoWM7vXwkAAAAAAAAAAADgb8Vkkh6u4K+ihTwKuhX8TVgsFvn6+hrqhw4dKoBunGe1WrVw4ULVqFFD9evX19ixY7Vhw4Y8DZj8JSQkRNu3b9dTTz2V7ZgDBw6of//+KlWqlMaOHavr1687tHZQUJC2bt1q2GnhZocOHdK//vUvlS5dWqNHj1ZiYqLTr8ER9kImPj4++XItSdqwYYOaNGmi6tWra9iwYfrhhx908uTJBypgkhuTyaS+ffvqm2++kclksjm3cuVKLVmyJNc18jsYVqRIEbv10NBQdevWzaa2fv16DRw40LAzx1/Onz+vTp06Gd5r/fr1y5tmszF27FjNmTNH/v7+ds8nJCTos88+U9WqVdWpUyf9+uuv+drPzQrq/gEAAAAAChYhEwAAAAAAAAAAAAA5slqlX4/H60JsSkG3gr+RW3dXkKR9+/YVQCfOSUxM1FNPPaWIiIi7FooJDAzU4sWLtWnTJrVt29YQCPjLlStXNHr0aFWrVk27d+92aG1/f38tWLBAP/30kzp06JDt2jExMRo7dqyqVKminTt33vZryU5SUpKhltOOFLcrIyNDr732mpo3b66tW7fm+fr3o2eeeUaRkZGG+tChQ212CrHn5h1Q8pLZbNajjz6aYwDqgw8+UEhIiE3ts88+U+XKlfX2229rxYoVWr9+vZYsWaJXXnlFlStXNnwuypUrp8GDB+fLa7hZr169dPToUY0cOVKFChWyOyYzM1PfffedwsPDNXr0aGVmZuZ7X/l1/ywWi1q0aKEuXbrky/oAAAAAgDtjKegGAAAAAAAAAAAAAAC4VVhYmOEb+3fv3i2r1Zpt0KGgZWRkqEOHDtq0aZPhXIkSJdSuXTvVrl1bZcqUkZ+fn1xdXW3GtGrVSrGxsbd9/ccee0yPPfaYDh06pBkzZuibb76xuxPBqVOn1KxZM23ZskW1atVyaO1HHnlEjzzyiKKiojRjxgx9/fXXdns9e/asmjdvrk2bNqlu3bq3/VpuZW9nG0d3ZHHGgAED9PnnnxvqhQoVUtu2bVW/fn1VqFBBfn5+cnd3txnTt29f7d27N897uheMHz9e8+bNU3Jyclbt5MmTWrJkSY5Bj4CAAEPt8ccf1+rVq/Olz5udOXPG7s46J06c0JgxY3KdHxQUpFWrVsnT0zMfujMKCQnR+PHjNXz4cM2bN08zZ87Unj17DOMyMjI0duxYxcfHa8qUKfnak73dVbp06aL/+7//y9frAgAAAAAKFjuZAAAAAAAAAAAAAADuOU2aNDHUzp07py1bthRAN46ZPHmyIWDi7e2tzz//XCdPntT06dPVt29ftWrVSg0aNFCdOnVsflksefM9kVWrVtXUqVMVHR2tTz/9VKVLlzaMSUxMVI8ePXLdieJWlStX1kcffaTo6GjNmDFDZcuWNYxJSkpSjx498nQXBHsPu9sL0NyJFStWGAImLi4uGj16tM6cOaNvvvlGAwcOVOvWrdWoUSPD/bMXhHlQFClSRL169TLUP/jggxzn2QuZXLt2La/aylZSUpKefvppmx1wnAmn1atXTzt37lTlypXzo70c+fj46MUXX9Tu3bu1c+dOdezY0W7vU6dO1bp16/K1l4K6fwAAAACAgkXIBAAAAAAAAAAAAABwz2nZsqXdB6u/+uqrAugmdxkZGfrkk09sai4uLvruu+/Up08fmc3mu96Tp6enBgwYoGPHjmnUqFGG84cOHdLKlStva20PDw/17dtXR48e1dixYw336ujRo1q2bNltrW1PoUKFDLWoqKg8W1+S3V0hpk2bpjFjxsjLyytPr3U/eu211wzv4z179ujnn3/Odk5ISIihdvbs2Tzv7VZTpkzRH3/8kXVct25d7d+/X08//bTc3NzszrFYLHr00Ue1aNEibd++XRUqVMj3PnNTv359LV++XNu2bVOJEiUM59977718vX5B3T8AAAAAQMHKm69BAQAAAAAAAAAAAAAHhRb2UNFCHlnHLibJy8P2R5feHma53PTQupurSW6u/3u42STJxzP7h/bd3cxyteT+rfU+Hhbl9uX2FrOLPNzy5/v7XC15s7aX+90PMOS30qVLq3Hjxtq6datN/dtvv9WoUaNUrly5AurMvl27dhkevm7btq3+8Y9/FFBH/+Pq6qpx48YpJSXFsPPE6tWr1blz59te22Kx6M0331Rqaqreeecdw9rPPPPMba99s7CwMENt3759ebK29OeuKLfuQlO+fHn169cvz65xvytfvrzatGljCCZNnz5d9evXtzsnKChIZcuWtQl8nDlzRlevXrW7S0ZesFqt+uKLL2xqH330kWrUqKFFixYpMTFR+/bt0+nTp3X9+nX5+/srNDRUtWrVko+PT770dKcaNmyotWvXqlatWkpJScmqb9q0SSkpKfLw8Mhhti2r1erw2FKlSikkJESXLl3Kqh07dkzJycny9PR0eB0AAAAAwP2FkAkAAAAAAACAfOPv76+0IkUKug0AQDZ8/fwKugX8DRX2d9NHA2uokK/9b5IHbvbiiy8aQibJycl66aWXtGrVqgLqyr5Tp04Zao0aNSqATrI3YsQIQ8gkr3YlGDZsmCZMmKDMzMw8X1uSwsPDDbU1a9YoMTExT4IBp0+ftuld+vPBfnu76fydRUZGGkImCxcu1IcffqjAwEC7cxo0aGATMrFarfrhhx/UrVu3fOkxJiZGJ06csKlVqVIl6999fHzUpEmTfLl2fqpcubKeeOIJLViwIKuWnp6uCxcuqEyZMnbnuLgYQ4zx8fFOXbdBgwb67rvvbK65du1adezY0al1AAAAAAD3D0ImAAAAAAAAAPJNxUqVVLFSpYJuAwAA3COKFHLX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4ps2bXLqxI+pU6dq27ZtdrHw8PBcTzIoDbp37+7wAQTOSktL05NPPqn169e7vEdmZqYGDBiQb7NSVlZW9v8PHjzYMB4ZGelS/pyNLRaLRX379nVpr6sSExMdNkl07969UPs68sADDxhily5d0sGDB92eqyglJiaqW7dumj59ulNNX1fFxcWpT58+hvdmYQUHBxd6j7Jly7qhEgAAAADA9YImEwAAAAAAAJRYP/30U64377j6VNWcTzi+1tdff63ExESX9u3du7cCAgIM8Y8++sil/QAAAAAY2Ww2Q6NImzZtFBISYpjrqMlk/vz5htM9Sqpbb71Vzz//vCH+0ksv6fz587muO3HihF577TW7WIUKFfTee++5vcbikpKSoj/++MMu5uXlpR49emj27Nnas2ePLly4oKSkJJ08eVIrV67U4MGDDQ8myMzM1KhRo+yaQApi4sSJhlM/qlevrm7duqljx44KCgqSJJUvXz57/OGHHzbcwP/nn39qx44dBcq9detWQzPGfffdp2rVqhVon5z27t1rOB3FbDbrtttuK9S+joSFhclqtRrif/75p9tzFaX+/fsbvg/uvvtuvffee1q2bJnmz5+vCRMmqGrVqoa1ly9fVs+ePXX58mW31TN48GCFh4frkUceyX6ZTCa7OZUqVbIbv/Y1evRotW3b1m31AAAAAABKP+OndwAAAAAAAKCE+Pzzzx3Gb7rpJtWpU8elPRs1aqSbbrpJf/31l2EsMTFRK1eudPgU5PwEBASoe/fumjdvnl08MjJSkydPdnhzCQAAAICCiY6O1oEDB+xiuTWSN2zYUM2bN7c7NSA2NlZr1qwpklMaisLEiRO1YMEC/f3339mx2NhYvfLKK/rss88crhkzZowSEhLsYv/v//0/VapUqUhrLUpWq1VWq1UZGRkqX768XnzxRY0cOdLh1+Tv769q1aqpS5cu6tevn3r27GnXWLR//36tW7dODz74YIFqOH/+vKZMmZJ9HRAQoClTpujpp5+W2Xzl+Z5paWn6/vvvVbt27ex5vr6+6tevn2bMmGG3X2RkpG6//Xan8+c8xUS6cjpNYcXExBhiISEh8vf3L/TeOXl7e6tOnTrav3+/XfzMmTNuz1WUTp06lf3/tWvX1uzZs9WuXTvDvH/+858aPny44ffu2LFj+uCDDzRu3Di31BMSEqI5c+bYxaxW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rdq1axtiv//+u9N5jx8/rv79+zs9P6d///vf2rdvn11szJgxatKkiSSpUqVKmjx5smHdxIkTdfToUZfzlgQnT540xKpUqeKBStyrd+/ehuaJuXPnymazaf78+XbxChUqqHPnzkVWS61atfTQQw8Z4kuWLNHq1asLvf/YsWN1+PBhQ/yVV15xan1h339nzpxRr169nJ6fn0cffVQnTpxwen5mZqbdSUNXdezY0W015eTn52d3fe7cuSLLBQAAAAC4/tBkAgAAAAAAgBIlIyMjz/H8TjpxVn5NJgEBAW7J06lTJ1WuXNnhWFRUlHbu3OmWPAAAAKVBlfI++n+jmqhcUN4/iwFJSUlavHixXczX11c9evQo9N4DBw40xNavX5/nSQc333yzITZ37tx8m+SlKzd3d+rUSceOHStYof9n9+7deuedd+xi1atX1+uvv24Xe+KJJ9SiRQu7WGJiop5++mmX8pYU/v7+htiZM2ecXr9y5Urt3r3bnSW5RWBgoPr06WMXO3LkiFavXq2VK1faxfv27eu2Uz1z8+qrr8qc45gnm82mQYMGaceOHS7tabPZNGnSJH388ceGsd69ezt9Eomj99/ChQudOp0jLi5OXbp00cGDB53K5YwjR46oU6dOio2NdWr+nDlzDPkDAgIcNry5S84GptOnT7vtYRoAAAAAgOsfTSYAAAAAAAAoUXx9ffMcd1eTSVZWVp7j7moysVqteuSRR3Id/+ijj9ySBwAAoCQzmaQHWlbWp/9oqhoV/fJfgBvekiVLlJiYaBfr1KmTypQpU+i97733XsNJGBkZGZo7d26ua1q3bm04GeDIkSN6991388z1119/qXXr1tq7d69LtWZmZuqxxx4zNLP85z//UVBQkF3MbDZr2rRphkaB5cuXa9GiRS7lLwlCQkIMsaioKCUlJeW7dvHixerVq1eJvbl+6NChhtgTTzxhaJ4IDw8v8lqaNWumxx9/3BCPi4tT+/btFRkZWaD9zpw5o27dumnChAmGsUqVKjlsPMlN8+bNFRwcbNjf0ek91zp06JDatGmj7du3O53LWXv27FHr1q31119/5Tlv3759eu655wzxvn37GhpB3Ck0NNTuOjk52S2n0gAAAAAAbgw0mQAAAAAAAKBE8fX1lcViyXXcXU0m+e3jzps9Bg0alOtYZGRknk9MBgAAKK28rWaF1QpUvw41NGtsM43t30CBflZPl4VSIiIiwhDr16+fW/a2WCwO93KU86oyZcqoa9euhvj48eP1n//8x9DEnpaWpo8//litW7e2O8HAZDIVqNZPPvlE0dHRdrEOHTpowIABDue3bNnSYaPAs88+q/j4+ALlLinq1aun+vXr28ViY2M1atSoXE/CTEtL00svvaTevXu77TNkUWjfvr1q165tFzt+/Ljddb169dS6detiqefdd99VkyZNDPGEhASFh4fr7rvv1ty5c3X+/Plc99i9e7deffVVNW7cWKtWrTKMm81mLVy4UNWqVXO6Ll9fX4enfkyZMkWTJk0yfB9kZGTos88+0x133KH//ve/2fGCvv/yc+DAAbVu3VoffvihUlJSDONr1qxR27ZtdenSJbt4YGCg3njjDbfWktMtt9xiiE2ePNlQS0ZGhjZt2pTvgzgAAAAAADcW/hYXAAAAAAAAJY6fn5/hqcVXuesGofyeZOuuk0ykK089btCggfbv3++wjk8//VSvv/662/IBAICSw5WmCj8fi6yWvG+E9fEyy8ua9/PkvK0m+Xgbm3dNJinA12p3HehrX2egn+XKwP8J8LXIfE1Jfj4WWSwmmU0mBfhe+X8/b4u8rGYF+VtVPshbZQL4p0i45vTp01q/fr1dzN/fX927d3dbjoEDBxpOFdy+fbv+/PNPNWrUyOGaCRMmaMmSJXY3tGdlZWns2LGaOnWqHnzwQVWuXFmxsbFatWqVjh49are+Z8+eSk9P14oVK5yq8ejRoxo/frxdzMvLS1OnTs1z3eTJk7Vo0SKdO3cuO3bixAmNHz++QKdHlCTPPPOMnn32WbvY119/rT179mj06NFq3ry5/Pz8dOzYMf3yyy+aMWOGTp48mT3Xx8enRJ5mYjKZNGTIkDwbDgYNGuT25ojc+Pv7a82aNWrfvr1dc9RVmzZt0qZNm2Q2mxUSEqLatWsrICBA6enpSkhI0F9//aW4uLg8c2RlZenDDz/ULbfconLlyjld2/jx4zV37ly730ebzaYJEyZoxowZ6tSpk6pVq6YLFy5ozZo1OnTokN36Bx98UMHBwfr222+dzulI27ZtdeLECf3999+SpIsXL+q5557T22+/rc6dO6t69eo6e/astmzZoh07djjc44033lDNmjULVUd+evXqpVmzZtnFtm7dqrCwMHXt2lUVK1bUyZMnFRUVpXPnzunHH39U+/bti7QmAAAAAEDpwd/sAgAAAAAAoMTx9/e/rppMJKl///6aNGmSw7Fp06bp5Zdflp+fn1tzAgCAK/x8LFo65U75++R+WhqAkmPevHmGkwm6devm1p/RW7VqpXr16hlupI+IiNCUKVMcrrnlllv0yiuvOPy5/siRI/rss89yzTdgwAB9/fXX6t+/v9M1jho1yvC56Lnnnsu1Ceaq8uXL66233tKIESPs4tOmTdPgwYPVqlUrp2soKZ566inNmzdPmzdvtotv377d8HXmVKdOHb333nsOT8IoCYYMGaJJkybJZrM5HA8PDy/WemrUqKHNmzerb9+++vHHHx3OycrK0uHDh3X48GGXcnz33Xfatm2bvvnmG911111Oralfv74mTZqkl156yTB24sQJff7557mu7dGjh+bNm6cnn3zSpXqvFRISonnz5un++++3OyXl1KlT+uKLL/JdP3r0aD3//POFriM/DzzwgG6//XZDo8vZs2f15ZdfGubndToNAAAAAODGk/fjjQAAAAAAAAAPyOvmsYSEBLfkyK9Zxd1NJoMGDcp17Ny5c1q2bJlb8wEAgP8xmUSDCVCKLFiwwBDr16+fW3OYTCYNHDjQEF+0aFGe6/71r38V6AZxPz8/vf/++4qIiJDV6vwzIOfPn6+VK1faxWrWrKkJEyY4tX748OGGm/ezsrL0xBNPKCsry+k6SgovLy+tWLFCbdq0KdC6rl276pdfflFYWFgRVVZ49erV09133+1w7M4771SDBg2KuSKpUqVK2rBhgz755BNVrly5UHvddttt6tChgyF+5MgRtW/fXm+88YZSUlKc2mvs2LF69dVXnT7ZxcfHR2+++aYWLlwoHx+fAtWdlxo1aujnn39W7969nV5jtVo1btw4wwlKRcVisWj27NmqVKmSU/OdnQcAAAAAuDHQZAIAAAAAAIASJ68Gj7Nnz7olx+XLl3Mdq1ixoltvQJGkhg0bqkWLFrmOX7x40a35AAAAgNLq9OnTdtf169dXly5d3J5n6NChhs8eJ0+eVGZmZq5rTCaT3nvvPa1Zs0a33nprrvN8fX01YMAA/fHHH3ruuedkNl/5p/mcN3JXq1bN4fr58+fbXXt5eWnq1KkKDAzM82u6ts7p06cb5u/du1fHjx83zA8MDDTMrVGjRr55qlSpYnft7++vsmXL5rnG399fQUFBBc5Vvnx5bdy4UR9//LHq16+f59w777xTixcv1ooVK1StWjWVL19e3t7eBcpXpUoVu2YGk8mk6tWr57vOFf/85z8dNiHl9bCComY2mzVq1CgdPnxYn332me699155eXk5tdbPz0/9+vXT8uXLtWPHDq1du1ZDhw41zMvIyNDEiRPVsGFDzZkzx6kGqEmTJumHH35Q8+bNc53j7e2tPn36aNu2bfrnP/8pi+VKo6mz779r5bamQoUKWrhwoebMmaPatWvnut7Ly0udO3dWdHS0Jk+enP1ngTNyvr8CAwMVHBzs9PpbbrlFmzdvVvfu3fOc1717d6dPlAEAAAAA3BhMttzOXAUAAAAAAACcMGfOHA0ZMsQQnzBhgv71r3+5tOcDDzygdevWORzr1q2bli9f7tK+1/rqq680fPhwh2PNmzfX1q1bC50jp8aNG+vPP/90OPbpp5/qiSeecHtOAAAAoLRJSUnRwYMHlZKSIl9fXzVs2LBAp4AURHx8vA4fPqz09HRJV5rDnW3kkKSYmBj9+OOPOn36tM6fP68qVaqobt266tSpk8qVK2eYn5WVpZiYGF2+fFllypTJ9ZSKzMxMHTx4UAkJCbJYLAoNDXW4X34SExP1999/Ky0tTT4+PgoNDTU0eFyVlJSk/fv3KzMzU2XLllW9evWcyvH333/rwoULMpvNatCggVO/fpcvX9a+ffuUmZmp4ODgfJtGcsrKytKePXu0efNmHT9+XHFxcapYsaJq1aqle+65x2HtcXFxOnz4sKxWqxo0aCBfX99885w9e1bHjh2TJIWEhBTZaQ+ZmZmqU6dOdi7pSnPCyZMnVbFixSLJ6Yrk5GRt27ZN+/fv15EjR3T58mVdunRJwcHBCg4OVuXKldWiRQs1adLE0JBis9n07rvvaty4cdnvt5waNmyoZ555RiNHjnTqwQ8HDx7U999/r1OnTik2NlaVK1dW3bp1df/99zv8vbLZbIqJiVFSUpICAwMVFhaW76koNptNBw4cUHx8vIKCglS/fn1Do0hmZqY2b96sXbt26fjx40pOTlb16tVVq1Yt3X///apQoUK+X0teX+PFixdlNpsVFhbm8qmrx48f16ZNm3T06FFduHBBZcqUUf369dW6dWvVqlXL5foAAAAAANcnmkwAAAAAAABQKEXRZDJixAh98cUXDsdatWql6Ohol/a91jvvvKOXX37Z4Vjv3r21cOHCQue41tatW9WyZctcx5cuXaqHHnrIrTkBAAAAACXfypUr1a1bN7vYQw89pKVLl3qooqKzefNmDR8+XDExMbnOadGihaKjowt06gcAAAAAAHAfPpEDAAAAAACgxAkNDc117OzZs27JcebMmVzHmjRp4pYc14qMjMx1rHbt2urSpYvbcwIAAAAASr6ZM2caYuHh4R6opOi1bt1au3fv1gcffJDrqTdbt27V8ePHi7kyAAAAAABwFU0mAAAAAAAAKHEaN26c69jJkyeVnp5e6BynT5/OdezWW28t9P7XyszM1Lx583Idf/bZZ2W1Wt2aEwAAAABQ8p0+fVqrVq2yi5UpU8Zwssn1xMvLS88++6x27typHj16yGQyGeYkJiZ6oDIAAAAAACDRZAIAAAAAAIASKK8mk7S0NMXExBQ6x4EDB3Ida9GiRaH3v9b69etzbWoJCgrS8OHD3ZoPAAAAAFA6zJo1y/Aghb59+8rPz89DFRWfunXravHixdq1a5fCw8OzH75gNptVrVo1D1cHAAAAAMCNiyYTAAAAAAAAlDhhYWEqW7ZsruN79uwp1P5ZWVnau3evw7F69eopJCSkUPvnFBkZmevYY489puDgYLfmAwAAAACUfDabTV999ZUhPnjw4OIvxoOaNGmiOXPm6MSJE5o7d65mzpypcuXKebosAAAAAABuWFZPFwAAAAAAAADkZDabddddd2nVqlUOxwvbZHLgwAElJSU5HOvQoUOh9s7p8uXLWrJkicMxi8Wi0aNHuzUfAAAAAKB0iIqK0sGDB+1ioaGhatu2rYcq8qzKlSurf//+ni4DAAAAAIAbHieZAAAAAAAAoETq2LFjrmO///57ofbetWtXrmO9evUq1N45LV26VAkJCQ7Hevfurbp167o1HwAAAACgdJg5c6YhFh4eLrOZWzkAAAAAAIDn8DcTAAAAAAAAKJF69uyZ69jGjRsVHx/v8t7r1q1zGC9fvrzuu+8+l/d1JDIyMtex559/3q25AAAAAAClw5kzZ7Rs2TJDfMCAAR6oBgAAAAAA4H9oMgEAAAAAAECJVLduXbVo0cLhWFpamtauXevSvllZWVq+fLnDsWHDhsnLy8ulfR05d+6coqKiHI61bNlSd955p9tyAQAAAABKjw0bNig9Pd0u1q5dOzVu3NhDFQEAAAAAAFxh9XQBAAAAAAAAQG6eeuopjRgxwuHY4sWL9cgjjxR4z99//12nTp0yxC0Wi55++ukC75eX+fPnG24aumrs2LFuzQUAAAAAKD0eeughzZo1SydOnJCPj4/q1q2rrl27erosAAAAAAAAmkwAAAAAAABQcg0YMEDjx4/X6dOnDWOLFi3SyZMnVb169QLt+cEHHziMDxs2THXq1HGpztxERkY6jIeGhqpnz55uzQUAAAAAKD0CAwNzfagCAAAAAACAJ5k9XQAAAAAAAACQGz8/P73++usOx9LS0nIdy8327dv17bffGuJBQUGaNGmSCxXm7uDBg4qOjnY4NmbMGFmtPP8FAAAAAAAAAAAAAFCy0GQCAAAAAACAEm3EiBG64447HI59/vnnioqKcmqf9PR0jRkzRjabzTD28ccfq1q1aoWqM6eIiAiHuYKCgnhaLQAAAAAAAAAAAACgRKLJBAAAAAAAACWa1WpVRESEgoODDWNZWVnq37+/fv/99zz3yMzM1GOPPaZffvnFMPboo49q6NChbqv3qrlz5zqMjxw50uHXAgAAAAAAAAAAAACAp9FkAgAAAAAAgBKvfv36Wrp0qXx9fQ1jcXFxat++vaZMmaL4+HjD+NatW9WhQwfNnj3bMPbwww9rxowZbq/3999/V0xMjCFusVj09NNPuz0fAAAAAAAAAAAAAADuYPV0AQAAAAAAAIAz2rdvr3Xr1qlXr146d+6c3VhKSorGjx+vyZMnq1WrVqpVq5aSk5O1e/duh80ekjR69Gh98MEHslrd/1dkkZGRDuM9ezyOccIAACAASURBVPZU3bp13Z4PAAAAAAAAAAAAAAB3oMkEAAAAAAAApUbbtm21Y8cOjRkzRt99951h/PLly/rxxx/z3CMkJERTp05V9+7di6TGjIwMffvttw7Hnn/++SLJCQAAAAAAAAAAAACAO5g9XQAAAAAAAABQEDVq1NCiRYsUHR2tgQMHqkyZMvmuMZvNatOmjb788kvt37+/yBpMJGndunU6ffq0Id6iRQvdddddRZYXAAAAAAAAAAAAAIDC4iQTAAAAAAAAlEqtWrVSZGSk0tPTFR0drb179+rw4cO6ePGisrKyFBQUpEqVKqlx48Zq1aqVKleuXCx1RUZGOoy/+OKLxZIfAAAAAAAAAAAAAABX0WQCAAAAAACAUs3Ly0tt27ZV27ZtPV2KkpKStHTpUkO8Zs2a6tWrlwcqAgAAAAAAAAAAAADAeWZPFwAAAAAAAABcL5YsWaLExERD/LnnnpOXl5cHKgIAAAAAAAAAAAAAwHk0mQAAAAAAAABuEhkZaYgFBQVpxIgRHqgGAAAAAAAAAAAAAICCockEAAAAAAAAcINz585p3bp1hvijjz6qsmXLeqAiAAAAAAAAAAAAAAAKhiYTAAAAAAAAwA3mzp2rjIwMu5jFYtEzzzzjoYoAAAAAAAAAAAAAACgYmkwAAAAAAAAAN4iMjDTEevTooXr16nmgGgAAAAAAAAAAAAAACo4mEwAAAAAAAKCQDhw4oC1bthjizz//vAeqAQAAAAAAAAAAAADANTSZAAAAAAAAAIUUEREhm81mF2vRooXatGnjoYoAAAAAAAAAAAAAACg4mkwAAAAAAACAQpo7d64h9sILL3igEgAAAAAAAAAAAAAAXEeTCQAAAAAAAFAIv/32m/bt22cXq1Gjhnr37u2higAAAAAAAAAAAAAAcA1NJgAAAAAAAEAhREZGGmLPPvusvLy8PFANAAAAAAAAAAAAAACuo8kEAAAAAAAAcFFGRoYWLFhgFwsICNCIESM8VBEAAAAAAAAAAAAAAK6jyQQAAAAAAABwUVRUlM6cOWMXGzFihMqXL++higAAAAAAAAAAAAAAcB1NJgAAAAAAAICLIiMj7a7NZrPGjBnjoWoAAAAAAAAAAAAAACgcq6cLAAAAAAAAAEqrxx57TF5eXlq8eLHi4+P10EMPqV69ep4uCwAAAAAAAAAAAAAAl5hsNpvN00UAAAAAAACg9Nq/f79++OEHQ7x58+Zq3ry5ByoqfsnJyVq2bJkaNmyopk2berocAAAAAAAAAAAAAABcQpMJAAAAAAAAAAAAAAAAAAAAAAAAZPZ0AQAAAAAAAAAAAAAAAAAAAAAAAPA8mkwAAAAAAAAAAAAAAAAAAAAAAABAkwkAAAAAAAAAAAAAAAAAAAAAAABoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIBoMgEAAAAAAAAAAAAAAAAAAAAAAIAkq6cLAAAAAAAAAK4HmZmZSk9Pl6+vr6dLAQDguhcRdUyxl9KyrwP9LJLJZDfHy2qSr5fxeWsBvlaZrgl7W83y8TLL18ciq9mkIH+rLGaT/Hws8va6MubnY5HFbDLsBQAAAAAAAADA9YYmEwAAAAAAABTK3Llz9eijjxri48eP16uvvuqBiopPVlaWfv31Vy1YsEALFizQE088oYkTJ3q6LAAArns/7zqvQ6eSij1voJ9VVsuVBhQfL7O8rGb5/18zSqCfRYF+VgX6WRXkn+O/flYF+l/5r7+vpdjrBgAAAAAAAADAWTSZAAAAAAAAoFAyMjKUkpJiiKenp3ugmisuX74sb29vWf8/e/cdHlWZv3/8TptUEkgQSOjggiKKFDUsTZAAi9KUVRRRqmUVVkBARRQEEV0ERFGQpkAABSlSREBRaSpSpElReksgYHqbzPz+4Ee+DGcmmUkmTALv13Xlys7nOed5PmcyDG449zy+Rfvrr86dO2vFihW5jz/55BO98sor8vf3L9J1AQCAZ6SkmyVJf6cU/L9zvL29LodOAn1VKuhyMCU02E9lQvxUtrS/ypTyU7n///2WMH/5m4y7sQAAAAAAAAAAUFQImQAAAAAAAKBEO378uJYvX67vvvtOe/bs0YkTJ5STkyNJMplMqlatmu644w61bNlSDz30kKpXr+62tdu2bWsTMomLi1NsbKzdnV0AAAAkyWKxKjE1W4mpzgVVggJ8VDbMpPBSJpUN81dEmEkRoabc75ER/govZSrirgEAAAAAAAAANwsvq9Vq9XQTAAAAAAAAKLnmzp2rp556ylB/4403NGrUqCJb9/fff9fIkSP19ddfy2KxOHWOt7e32rdvrzfffFONGjUqdA8XL15UZGSksrKycmt169bV7t275eXlVej5AQCAfc+O36UjZ1M93Uax4W/yVmR4gKLKBuR+r3RLoKpWCFJEKAEUAAAAAAAAAIDz2MkEAAAAAAAAJUp2drZeffVVffDBBzKbzS6da7FYtHLlSq1evVovvvii/ve//8lkKviNl+Hh4WrTpo1WrlyZW9u7d6/WrVunNm3aFHheAAAAV2RmWXTsXJqOnUszjIUE+qpq+cuBk2oVgvWPSsG6tWKwAkw+HugUAAAAAAAAAFDcETIBAAAAAABAiZGUlKROnTrphx9+MIxVq1ZNvXv3VnR0tMLDw3Xp0iVt3bpVs2fP1tGjR22OtVgsmjx5snbt2qWvv/5aYWFhBe6pe/fuNiETSZo4cSIhEwAAUCykpJu171iy9h1Lzq15e3upSrlA1aocotqVQ1Tv1jBVLR/kwS4BAAAAAAAAAMUFIRMAAAAAAACUCKmpqXrwwQe1adMmw9jQoUM1ZswY+fn52dRbt26tIUOG6NVXX9WkSZMM5/3000/q2LGj1qxZo8DAwAL11alTJ4WFhSkxMTG39u2332r//v2qU6dOgeYEAAAoShaLNXfnk7Xb4iVJ4aVMuvsfYbr71jDdV6eMwksVfLc3AAAAAAAAAEDJ5e3pBgAAAAAAAABnPPfcc3YDJqNHj9a7775rCJhcERAQoIkTJ+qVV16xO/7TTz9p0KBBBe4rMDBQnTp1sqlZrVa7oRYAAIDi6mJylr7fcV4TvvxT3UZt00sf7dHSjWd0MTnL060BAAAAAAAAAK4jQiYAAAAAAAAo9ubOnat58+YZ6u3atdPw4cOdmmPMmDFq2rSp3bGpU6dqzZo1Be6ve/fuhtqcOXMUFxdX4DkBAAA8xWqV9h1N0sfLjuqJt37Tu/MP62R8uqfbAgAAAAAAAABcB4RMAAAAAAAAUKz9/fffevnllw11Pz8/ffDBB/Ly8nJqHh8fH02cONHh+ODBg2U2mwvUY+vWrVWxYkWbWmZmpqZNm1ag+QAAAIqLHItV67fHq897OzRm7kEdO5fm6ZYAAAAAAAAAAEWIkAkAAAAAAACKtXHjxik+Pt5Q79Kli2rVquXSXI0aNVKbNm3sju3fv19ffPFFgXr09vbWv//9b0N9ypQpysjIKNCcAAAAxYnVKv2464L+M/F3rf45TlarpzsCAAAAAAAAABQFQiYAAAAAAAAothITE/XJJ5/YHevVq1eB5uzZs6fDscmTJxdoTknq3r27oRYfH6/58+cXeE4AAIDiJtts0cRFf+q9BYdlziFpAgAAAAAAAAA3Gl9PNwAAAAAAAAA48tlnnykpKclQDwoK0v3331+gOTt27KigoCClpaUZxn799Vft27dPd9xxh8vzNmrUSHXq1NH+/ftt6hMnTlSvXr3k5eVVoH5LokuXLikhIcHTbQAAXBQZGang4GBPt4ESYv32eKWkm/V6j9ryN/G5dgAAAAAAAABwoyBkAgAAAAAAgGJrzpw5dustW7ZUQEBAgeYMDg5W06ZNtXbtWrvjixcvLlDIRJK6deumN954w6a2d+9erV+/XjExMQWasyT6+OOP9frrr3u6DQCAi5YsWaIuXbp4ug2UID/vv6h3FxzSiKdu002UpwUAAAAAAACAGxofKwQAAAAAAIBi6eDBg9qxY4fdsdatWxdq7rx2QVm5cmWB533qqafs7lgyceLEAs8JAABQnG3cnaDvd573dBsAAAAAAAAAADchZAIAAAAAAIBi6ZtvvnE4Vrdu3ULN3bRpU4djO3fuVFJSUoHmrVq1qho3bmyor1mzRvv37y/QnAAAAMXdzJXHlJlt8XQbAAAAAAAAAAA3IGQCAAAAAACAYmnt2rUOx2677bZCzX3HHXc4HMvJydGWLVsKPHf37t0NNavVqkmTJhV4TgAAgOLsfGKWtu676Ok2AAAAAAAAAABuQMgEAAAAAAAAxY7FYtHmzZvtjoWEhKhixYqFmj88PFyRkZEOx3fv3l3gubt16yaTyWSoz5kzR3FxcQWeFwAAoDj7YecFT7cAAAAAAAAAAHADQiYAAAAAAAAodg4dOqSkpCS7Y7feequ8vLwKvUbt2rUdju3du7fA84aHh6tNmzaGemZmpqZNm1bgeQEAwP8pW9qksBA/hQT62nwFmHw83dpN68CJZE+3AAAAAAAAAABwA19PNwAAAAAAAABca/v27Q7HbrnlFresUalSJYdjhw8fLtTc3bt318qVKw31KVOmaOjQoQoICCjU/AAA3Oze7lvHpeNT0s2GWkaWRdlmi6ySUtPNyjZblZGVo8zsy/XUjBzlWKxKTTfLnGNVepZFmVk5yjZblZZpVk6OVSkZOco2W5SSblZKmlnJ6TnKyMpx01WWLBeTs5RttsjPl8+4AwAAAAAAAICSjJAJAAAAAAAAip28Qh7XI2Ry4sSJQs3duXNnhYWFKTEx0aYeHx+vBQsWqFevXoWaHwAAuCYk0PhPYiGBRbOWOceq5DSzUtLN//c9N4Ry1ff/P56Ymq0Lf2cpLbNkh1OsVuliUrbKh/t7uhUAAAAAAAAAQCEQMgEAAAAAAECxc+TIEYdjERERblkjKirK4di5c+eUnZ0tPz+/As0dEBCgTp06ac6cOYaxCRMmqGfPnvLy8irQ3AAAoHjz9fFSmVJ+KlPKtf+OyDJblJCYpYSkLF1Muvw9ISlbCYlZupicpYTELJ1PzFRaRvENo+RYrZ5uAQAAAAAAAABQSIRMAAAAAAAAUOwcO3bM4Zi7QialS5d2OGaxWJSUlFSotbp37243ZLJ3716tX79eMTExBZ4bAADceEy+3oqMCFBkRECex6Wkm3X+7yydSUjX2YRMnU3IyP06dzFD5hyCHgAAAAAAAACAgiNkAgAAAAAAgGLn/PnzDseCg4PdskZoaGie42lpaYUKmbRu3VoVK1bU6dOnDWMTJ04kZAIAAAokJNBXIYG+qh4ZZBgz51h16ny6TsSl6Xhcuo7Hpemv06k6fSFdbDICAAAAAAAAAHAGIRMAAAAAAAAUOwkJCQ7HTCaTW9YICwvLczw1NbVQ83t7e+vRRx/VxIkTDWNr1qzR/v37VadOnUKtAQAAcDVfHy9VqxCkahVsAyipGTk6fCpFh0+laN+xZO3+K1HJaWYPdQkAAAAAAAAAKM68Pd0AAAAAAAAAcK1Lly45HHNXyCQkJCTP8ZSUlEKv0b17d7t1q9WqDz74oNDzAwAAOCM4wEd33xqmf99fUSN73qav3rpPnwy6W23uKefp1gAAAAAAAAAAxQwhEwAAAAAAABQrZrNZZrPjT9Z2V8jEz88vz/G0tLRCr9GwYUPdcccddsc+//xzxcXFFXoNAAAAV3l5SbdWDFa9mnnv7AYAAAAAAAAAuPkQMgEAAAAAAECxkp2dned4fuEQZ+U3T2pqqlvW6datm916Zmampk2b5pY1AAAAAAAAAAAAAABwB0ImAAAAAAAAKFaysrLyHLdarW5ZJ7+Qia+vr1vW6dGjh7y8vOyOTZkyRRkZGW5ZBwAAAAAAAAAAAACAwiJkAgAAAAAAgGLF2zvvX1llZma6ZZ38QiTBwcFuWadq1apq3Lix3bH4+HgtWLDALesAAAAAAAAAAAAAAFBYhEwAAAAAAABQrAQFBeU5nt9OJ87Kb56QkBC3rCNJ3bt3dzg2YcIEt+3OAgAAAAAAAAAAAABAYRAyAQAAAAAAQLHi4+Mjf39/h+PXK2Tirp1MJKlbt24ymUx2x/bu3av169e7bS0AAAAAAAAAAAAAAArK19MNAAAAAAAAANcKCgpSZmam3TF3hUwczX+FO0Mm4eHhatOmjVauXGl3fOLEiYqJiXHbep7WqVMnVa1a1dNtAABc1KhRI0+3AAAAAAAAAAAAPIyQCQAAAAAAAIqd4OBgXbp0ye5YfuEQZ+U3T1BQkFvWuaJ79+4OQyZr1qzR/v37VadOHbeu6Sl169ZV3bp1Pd0GAAAAAAAAAAAAAMBF3p5uAAAAAAAAALhWXgGPhIQEt6yR144oJpNJISEhblnnik6dOik0NNTumNVq1aZNm9y6HgAAAAAAAAAAAAAAriJkAgAAAAAAgGKndOnSDsfi4+PdsoajnVIkqVKlSvL2du+vzgIDA3Xfffc5HLdarW5dDwAAAAAAAAAAAAAAVxEyAQAAAAAAQLFTqVIlh2PuCpmcPXvW4VjVqlXdssbVkpOTtXnzZofjXl5ebl8TAAAAAAAAAAAAAABXEDIBAAAAAABAsVO5cmWHY3FxcW5ZI6+wyj/+8Q+3rHG1JUuWKC0tze6Yj4+PHnjgAbevCQAAAAAAAAAAAACAKwiZAAAAAAAAoNjJK+ThrpBJXvPcddddblnjarGxsQ7HOnfurJo1a7p9TQAAAAAAAAAAAAAAXEHIBAAAAAAAAMVO3bp1HY5duHBBFy5cKPQap0+fdjhWr169Qs9/tbNnz+r77793OD5w4EC3rgcAAAAAAAAAAAAAQEEQMgEAAAAAAECxc+edd8rLy8vh+J49ewq9xr59++zWAwIC1KhRo0LPf7UFCxYoJyfH7lijRo3UpEkTt64HAAAAAAAAAAAAAEBBEDIBAAAAAABAsRMeHq7bbrvN4fjevXsLNX9SUpKOHTtmd6xx48YKCAgo1PzXio2NdTg2ePBgt64FAAAAAAAAAAAAAEBBETIBAAAAAABAsdS8eXOHY4XdyWTPnj2yWq12x9q1a1eoua914MAB7dixw+5YxYoV9cgjj7h1PQAAAAAAAAAAAAAACoqQCQAAAAAAAIql9u3bOxz77rvvCjX3tm3b7Na9vLzUtWvXQs19rXnz5jkc++9//ys/Pz+3rgcAAAAAAAAAAAAAQEERMgEAAAAAAECx1KZNG5UqVcru2JEjR7R3794Cz/3111/brUdHR6tGjRoFnvdaVqtVCxYssDtWqlQp9evXz21rAQAAAAAAAAAAAABQWIRMAAAAAAAAUCwFBAToscceczjuKCiSn4sXL2rjxo12xwYMGFCgOR3ZsmWLjhw5YnesV69eKl26tFvXAwAAAAAAAAAAAACgMAiZAAAAAAAAoNh64YUXHI7FxsbKarW6POfixYtlNpsN9WrVqumRRx5xeb68xMbG2q17e3u7PdACAAAAAAAAAAAAAEBhETIBAAAAAABAsXX33XerY8eOdsf279/v8m4mmZmZevvtt+2OjR07Vn5+fi736Eh2drYWLVpkd6xz586qWbOm29YCAAAAAAAAAAAAAMAdCJkAAAAAAACgWBs3bpxMJpPdsSFDhigtLc3puaZMmaITJ04Y6i1btlS3bt0K3KM933zzjS5cuGB3bODAgW5dCwAAAAAAAAAAAAAAdyBkAgAAAAAAgGLt9ttv16hRo+yOHT58WM8884wsFku+8+zYsUMjRoww1CMiIjRnzhx5eXkVuterxcbG2q03bNhQTZs2detaAAAAAAAAAAAAAAC4AyETAAAAAAAAFHtDhw5Vp06d7I7FxsaqR48eSk5Odnj+hg0b1KZNG8OuJ4GBgVq2bJkqVark1n6TkpK0YsUKu2ODBw9261oAAAAAAAAAAAAAALgLIRMAAAAAAAAUe97e3lq4cKHatm1rd3z+/Pm67bbbNGbMGG3dulWnTp3S4cOHtXTpUnXt2lUPPPCAEhISbM4JDQ3VsmXLimRXka+++krp6emGesWKFdW1a1e3rwcAAAAAAAAAAAAAgDv4eroBAAAAAAAAwBkBAQFauXKlhg4dqg8++EAWi8Vm/MyZMxoxYoRGjBiR71z16tXT/PnzVadOnSLpNTY21m59wIAB8vPzK5I1AQAAANy4cnJytHPnTh0/flwJCQkqU6aMKleurAYNGshkMnm6PQAAbBw8eFC//vqr0tPTValSJT3wwAPy9/f3dFsAAAAAnETIBAAAAAAAACWGr6+vJkyYoEcffVSvvvqqfvjhB5fOr1SpkgYPHqwXX3xRvr5F86uxM2fO2O0rKChIffv2LZI1AQAAANyY4uPjNXbsWH3++ef6+++/DePBwcHq1auXJk+eLC8vLw90CACArZUrV6pjx46yWq25tT59+mjGjBke7AoAAACAKwiZAAAAAAAAoMSJjo7Whg0btHv3bi1ZskTr16/Xvn37DDddmUwm1apVS9HR0erYsaPatWtX5DuJLFiwQDk5OYZ6nz59FB4eXqRrAwAAALhx7N27V23bttWZM2ccHpOamqqPPvpI/fr101133XUduwMAwL5JkybZBEwk5fl3GQAAAIDih5AJAAAAAAAASqy77rpLd911l0aOHClJSkxM1KVLl2SxWBQaGqqwsLAiD5VcKzY21lDz9vbWgAEDrmsfAAAAwI0iMzNTq1ev1vnz5x0e4+Pjo9DQUJlMJpUpU0bly5fXrbfeKh8fn+vYqfskJyfrwQcfdPqm3Pj4+CLuCABQUiQmJmrdunW6ePGiw2O8vb0VFham4OBglS5dWnXq1FHp0qULvbbZbNaWLVsM9WrVqhV6bgAAAADXDyETAAAAAAAA3DDCwsIUFhbmsfX/+OMP7dy501Dv2LGjbr31Vg90BAAAAJR8HTp00Lp161w+LzQ0VE2aNNHjjz+url27KjAwsAi6KxrvvPOOTpw4Yag3btxY9957r6xWqw4dOqSNGzcqNTVVZcqU8UCXAIDi5vDhw2rSpEmewUxHqlatqg4dOujpp59Wo0aNCrT+gQMHlJ6ebqi3adOmQPMBAAAA8AxvTzcAAAAAAAAA3Cjmzp1rtz5w4MDr3AkAAABwY8jOztb3339foHOTkpL0zTff6KmnnlK1atU0e/ZsWa1WN3fofjk5Ofr8888N9enTp2vLli2aNGmSPvjgA33zzTc6d+6cVq1apfr163ugUwBAcfPJJ58UKGAiScePH9dHH32ke++9Vz169FBqaqrLc+zYscNQq1Chgtq1a1egngAAAAB4BiETAAAAAAAAwA2sVqsWLlxoqDds2FDNmzf3QEcAAABAyZedna2cnJxCzxMfH6/evXurR48eysrKckNnRWf79u06c+aMTS0mJkZ9+/Y1HBsSEqL27dvL25t/+gcASFu2bCn0HFarVfPmzVNMTIwyMzNdOvfrr7821N544w0FBAQUui8AAAAA14+vpxsAAAAAAAAAbgSbNm3S0aNHDfVBgwZ5oBsAAIDrb/dfiQoL9lNwgI+nW8ENzt/fX82aNTPUMzMz9ffff+vQoUMOb4qNjY2VyWTSrFmzirrNAtuzZ4+h1qVLFw90AgAoScxms3bv3m1TCw0NVdu2be0ef+nSJR08eFAnT560O75161a98847GjlypFPrL168WF999ZVNrXnz5urXr59T5wMAAAAoPgiZAAAAAAAAAG4QGxtrqFWsWFFdu3b1QDcAAADX3/tf/KmJi/7SrRWDVa9mmG6rWkq1K4WofLi/p1vDDSY8PFzr1q1zOG42m7V161ZNnjxZX331laxWq8347Nmz1blzZ3Xs2LGoWy2QP//801CrUaOGBzoBAJQk+/btU3p6uk2tefPm+vLLL/M8b+/evXr99de1fPlyw9jUqVM1YsQI+fjkHSI+d+6cnn/+eZtahQoVtGDBAvn6cnsaAAAAUNLwX/EAAAAAAABAIWVlZWnx4sWGev/+/WUymTzQEQAAgGdYLFYdOpmiQydTcmthwX6qVTlENSKDVKV8kKpWCFLlcoEK8mfHExQNX19fNWvWTM2aNdP8+fPVo0cPWSwWm2PGjh1bbEMmSUlJhlpERIQHOgEAlCQ7duww1Bo0aJDveXXr1tXSpUv19NNPa+7cuTZjcXFx+uOPP1S3bt0853jmmWd04cKF3MdBQUH6+uuvFRUV5WT3AAAAAIoTQiYAAAAAAABAIa1evVoJCQk2taCgIPXt29dDHQEAABQfianZ2nbgkrYduGRTL1/GX1FlAxQVEajIsgGKjAhQVMTl78EBBFDgHk888YR++eUXTZ482ab+yy+/6Pjx46pataqHOnMsJSXFUCtTpowHOgEAlCTbt2831Bo2bOjUuV5eXnrzzTcNIRNJOnPmTJ4hk1mzZmnFihW5j729vRUbG6t77rnHqbUBAAAAFD+ETAAAAAAAAIBCio2NNdR69+7Npw0DAADkIe5SpuIuZWrn4UTDmMnXWyFBvooINSkyIkARoX6KCDUpPNSU+/2W0v6EUeCUWsft7wAAIABJREFUl156SVOmTFFOTo5N/aefflKPHj081JVjZrPZUPP15Z/2AQB5sxcycWYnkytq1qwpf39/ZWZm2tS9vb0dnnP8+HENHDjQpvb++++rc+fOTq8LAAAAoPjhN1EAAAAAAABAISQlJWnVqlU2NS8vL7344ose6ggAAMA5edwv6HFZZosuJmXpYlKWDp8y7upwRXCAj8qG+Ss81E9hwX4KCfJVqUBfhQT6qlSQ8XupQF8FEUy56VSvXl01atTQ4cOHbeqnTp1yy/xms1kWi0Umk8kt810vaWlpCgoKuu7rpqenKzAw0C1zeeoapP8LA91oASBPPqfOSE1NVXBw8HVbLyUlRSEhIddlret9bddLTk6OzGaz/P39Pd3KDc1sNuv333+3qZUvX16VKlVyaY7s7GxDvVy5cnaPt1gs6tWrl5KSknJr/fv310svveT0mgAAAACKpxvrtx0AAAAAAADAdbZo0SKlp6fb1Dp27KjatWt7qCMAAADnBAeU/H8qTM3IUWpGmo7HOX+Ot7fXVUEUH4UE+ioowFeB/t7y9fZWSKCPvL29FBzgIz9fb/mbvBVo8pGvj5eCA33lc/WYn7cCTD7y8/VScICvvLyK7lpROFWrVjWETBITjbvo5MdisWjTpk1avny5vvvuO509e1bnz5+X1WpVmTJlVL58eTVp0kSdOnVSmzZtnLqpeurUqTp27Fju4127dhmOeffddxUaGmpT8/LyUrdu3VSvXr181zh48KCWLVumVatW6ciRI4qPj1d2draCg4NVrlw53XnnnerYsaM6deqksmXL5v9EXMVqtWry5MnatWuXLBaLbrvtNg0ZMiQ3fGG1WjVv3jx98skn2rNnj1JSUhQWFqaGDRvqhRde0MMPP+zUOn/++aeWLl2q1atX688//1R8fLyysrIUFBSkW265RXXr1s29hvLly7t0DZL08ccf67fffpPZbFatWrU0dOhQm+CQxWLRunXrNHPmTP322286efKkcnJyVK5cOdWsWVNdu3bVE088UaC17dm5c6dWrVqltWvX6ujRozp//nzuelWqVFHLli3Vvn17NW3atMBrnDp1SsuXL9eKFSv0xx9/KD4+XhkZGQoICNAtt9yi2rVr66GHHlLnzp1VtWpVt1yXK06cOKHPP/9cGzZs0O7du3Xx4kVZrVYFBgaqYsWKaty4sdq0aaOuXbsqICAg3/l27Nih2bNnKyEhQeXKldNzzz2n2267zeaY06dPa+bMmfrmm2+0a9cuZWRkyGQyqUKFCqpVq5Y6dOigXr16qVSpUgW+rpycHP3yyy/64Ycf9OOPP+r48eM6deqUUlNTJUlhYWGqVKmSoqOjFRMTo4cfflh+fn4FXu+KzMxMrVmzRmvWrNHmzZsVFxen8+fPKzAwUJGRkbrtttvUrl07derUSZUrVy7QGlarVb/88ouWLVumdevW6fTp0zp//rwsFovCwsJUoUIF3XvvverUqZP+9a9/FetAU0mzf/9+w++nXNnFRLr8d4XFYrGpBQUF6fbbb7d7/IcffqgNGzbkPu7QoYMmTpzo0poAAAAAiicvq9Vq9XQTAAAAAAAAKLnmzp2rp556ylB/4403NGrUKA90dH21atXK5h/UJemHH35QixYtPNQRAACAc07EpavPezs83cYNLSTQGOQJCvCRj7dtGsXfz1t+vpe3lmleL0LdWjn/qeM3urS0NMMn+0dGRurMmTMuzdOmTRutW7fOpjZ27Fi9+uqrTs+xdu1avfzyy9qzZ49Tx1erVk3jx4/XI4884vCY48ePq1q1ak73cK22bdtqzZo1Dsf//PNPDRs2TEuWLHFqvuDgYL3yyit6+eWXnbppX5Li4+MNwYrff/9dd911lzIyMtSzZ0998cUXds8tVaqUzSfg23Ps2DG98sor+vLLL+XM7Q2BgYEaMmSIhg0b5vQN7MnJyYYQz9atWxUdHS1J2rZtm3r37q29e/fmOU9YWJjeeecdPf/8806ta8/27ds1fPhwffvtt04dHx0drXHjxrn0/0Hj4uL05ptvaubMmbk7suTF19dXzz//vEaNGqUyZco4vU5Bpaam6uWXX9bMmTPt7qpwrbJly+q9995Tr1698jyuX79+mjFjRu7jwYMHa/z48ZKk7OxsjRkzRuPGjVNWVlae85QrV06zZ89W+/btnbia/5OQkKBPP/1UU6dO1YkTJ5w+LyoqShMmTNBjjz3m0npX5OTk6LPPPtPo0aN1/PjxfI/38/NTz549NXr0aJdCUxs3btTgwYO1bds2p46PiorSuHHj9OSTT8qLlGahffbZZ4Y/A8OHD9eYMWOcnmPSpEkaOHCgTa19+/aGHXwl6cKFC6pSpUpusKVJkyb69ttvb8jdeAAAAICbUTHeBBsAAAAAAAAo3s6cOaOffvrJptagQQMCJgAAoESoXC5Q4aGm/A9EgaWkmw1f8ZcydTYhw+br2Lk0HT6VosOnUnT+77xvbkbBXLuLiSRVr17dqXPNZrP69u2rtm3bOh0wkS6HI7p27aq+ffsqJyfH7jHnz593ej57Tp8+7XDss88+0x133OF0wES6fHP/iBEj1LhxY8XHxzt1zrWfen+llp6ertatWzsMmEiXwx2OnhtJWrhwoW6//XZ98cUXTgVMJCk9PV1vvfWW7r33XqfDSI6uwWq1atSoUfrnP/+Zb8BEurw7zn/+8x8NHTrUqXWvNW3aNEVHRzsdMJGkn3/+Wa1atdK7777r1PHfffedateurWnTpjkVMJEu/xn48MMPddddd+nAgQNO91YQ58+fV3R0tKZOnepUwES6fLN77969dfTo0TyPu/Y1dOXxwYMHdc899+itt97KN2AiXQ5WPfTQQxo3bpxT/UnS0qVLdfvtt+u1115zKWAiXf7dQ7du3TRy5EiXzpOklJQUde7cWX379nUqYCJdDtxMnz5d9evX144d+YdRrVarBg0apObNmzsdMJEuX9dTTz2lxx57zKnnHXnbvn27odawYUOnz7dYLJo+fbqh3qdPH7vHh4WFacGCBZo5c6bWrl2rH3/8kYAJAAAAcAMp+XtgAwAAAAAAAB4SGxtruCHq2k98BAAAKK68vKRmd0Vo+aaznm4FKFI7d+7UsWPHbGpeXl5q1qxZvudmZmbq0Ucf1ddff20Y8/PzU4MGDRQZGSmz2ayTJ09q9+7dhhvZZ86cqYyMDM2bN88wR4UKFVy7mGtUrFjRbv3999/XkCFD7AYz6tSpo+rVq8tkMik+Pl7bt29XRkaGzTG7du1SixYttHnzZoWHhxeot2effVabN2/O9zhHOxh8/PHH6t+/v90ASO3atVWzZk35+/vr/Pnz2rFjh9LS0myO2bdvn5o3b67Nmze7tBvDFVarVf3799eUKVNcPvd///uf7rjjDj399NNOnzN27FgNHz48z2O8vLzs/kwtFoteffVVdejQQXXq1HF4/pIlS/TEE08oMzPTMFa9enXVqlVLISEhunDhgnbu3GnYZebUqVNq0aKFNm7cqFq1ajl5Zc6zWCzq1KmT3UDP7bffrjp16igwMFB///23tm/frrNnbf/+Onr0qNPhsSu2bdum9u3b68KFCy6dZ7Va9dprr6lGjRp69NFH8zw2MTFRTz75pOE1ekW5cuVUtmxZ+fn56eLFizp58qTd49566y3Vr19fnTp1cqrHtLQ0tWzZUr/99pvDYxy9piTp7Nmz6tu3b55Bk5ycHD399NOKjY01jPn4+KhBgwaKioqSxWLRmTNntGvXLsPvURYtWqSMjAwtW7ZM3t58Vm5B2fs5uxIymTJlivbv329Tq1+/vjp37mz3eD8/P6dfiwAAAABKHkImAAAAAAAAQAHt3r3b5nFUVFS+N5cAAAAUJzGNyhEywQ3tys3314qJiXEY0LjaiBEjDAGTwMBADR8+XM8995wiIiJsxs6ePav//e9/mjx5ss2N1LGxsYqJiTGEDipVqqRly5YpLi4utzZz5kz9+uuvNseNHTvWsJYktWrVylBbu3at3YDJE088oTfffNMQDkhLS9OcOXM0YsQImxvtDxw4oAEDBtgNx+RnypQpmjt3rk3tvvvuU+vWreXv7689e/bo22+/VWhoqN2byn/66Se7AZOuXbvqrbfe0u23325TT09P1/z58zV8+HCb5/Kvv/7S888/79JuLlcMGTJEW7dutam1atVKgwcPVoMGDWSxWLR//37NmDHD7m4tr7zyih555BGFhITku9YPP/ygN954w1AvV66cBg0apC5duqhq1aoymUyKi4vTpk2bNH36dK1duzb3WKvVqr179zoMmRw4cEA9evQwBEweeOABjRs3To0aNbKpZ2dna/ny5Ro2bJiOHDmSW4+Pj9fTTz+tTZs2ycfHJ99rc8W8efMMz3nDhg01a9Ys3XXXXTZ1q9WqjRs3avr06Vq4cKHMZrPLuyj8/PPPmj59upKTk3NrERERevHFFxUTE6PatWsrIyNDe/fu1YcffqjVq1cbeujXr59atWqlsmXLOlzn3LlzhoDJPffco6efflodOnRQlSpVDMfPmTNHo0ePVkpKis16r776qjp27OgwnHW1QYMG2Q0eNGvWTC+88IJatGih8uXLKysrS8eOHdOqVas0efJkmx1P8tvB59133zUETEwmk15++WUNGDDAEPC6cOGCJk6cqPHjx9vsXrJixQp9+OGH+u9//5vvdcHIbDYbfkdVtmxZw2vLkbVr12rYsGE2tcDAQM2ePZvgDwAAAHCT8rI6u6csAAAAAAAAYMeXX36p5557zlAfNmyY4R+ob0THjh3TF198oVmzZqlnz552b2ADAAAozsbOO6QNO897ug38fx2bRKr/wzU83UaxkZaWZrhxPDIyUmfOnMn33IyMDPXv318zZsywqfv4+GjTpk2Kjo7O8/wff/xRrVq1sgk6REREaN26dapfv36e5y5evFjdunWzCZqUKVNGJ06cyDd00L17d82fP9+mduzYMVWtWjXP8yTp4sWLuvPOO22eH29vb02dOlX9+vXL89xDhw6pZcuWhud2w4YNuv/++x2ed+7cOUVGRjocDwgI0JQpU9SrVy+bG+MzMzOVlJSkW265xeb4pKQk1atXz2b3GS8vL02aNEkDBgzI8xqOHj2qli1b2twkL0mrVq1S+/btHZ6XmJio0qVLOxwvXbq05syZow4dOtgdnzFjhp555hlDsGfu3Ll68skn8+w5IyNDtWrVMuxe0bRpUy1ZssTw/Fzt559/1gsvvJC708RXX32lhx9+2HCc2WxWdHS0tm/fblMfOnSoxo0bl2dg4cKFC2rdurV+//13m/rUqVP17LPP5nltrnrggQf0/fff5z4uV66cDhw4oDJlyuR53sGDB7VgwQK99tprMplMDo/r27evZs6c6XD8X//6l+bNm+dw954JEybo5ZdfNvycBw4cqAkTJjic98KFCypXrpysVqsefPBBjR49Ot/3EOnyLivNmzc37DT0448/qnnz5nmeu3btWrVt29ZQHzNmjF577TWHP/OsrCzNmjVLQ4cOVXJysoKCgpSammr32J07d+q+++5TdnZ2bq1UqVJavXq1mjZtmmd/a9asUefOnW1CT0FBQTp27Fier3nYt2fPHkMQq02bNvr222/zPC87O1vvvfeeRo8ebfOzMJlMmj9/vh555JEi6RcAAABA8UfcHAAAAAAAAIXy6KOP6uLFi4avmyFgIknVqlXTsGHDdPDgQb388suebgcAAMBl/+1aU7eU9vd0G4DbxMXF6dNPP1W9evUMARNJGjVqVL4BE0l64403bAImXl5e+vLLL526Obxr16566aWXbGqXLl2yu+OFO3388ceGkMiwYcPyDZhIUq1atTRr1ixDferUqQXux8fHR7Gxserdu7fhpnZ/f3+7N5PPmDHDJmAiSQMGDMg3YCJJ1atX15w5cwxrFeYaqlevrs2bNzsMmEiXwwvdu3c31J3ZQWX+/PmGgEmNGjW0fPnyfG+2j46O1pYtWzRgwABFRETonnvusXvc0qVLDQGThx9+WO+++26+O2KULVtWCxcuVEBAgE29MM+pI9fuYvLvf/8734CJJNWuXVsjR47MM2CSnyFDhmjFihUOAybS5Z1BevXqZah/+umnhp1Krla2bFl99dVX2rVrl1auXOnUe4h0ebeTa99HJGnz5s35nvvuu+8aai+++KKGDx+e58/cZDLpueee02+//abo6Gi7uyVdMWrUKJuAiSR99tln+QZMJKldu3YaMWKETe3Krkpw3bV/viXJz89PixYtMnwtWLBAkydPVr9+/RQZGanXX3/dJmBSrlw5rVixgoAJAAAAcJNjJxMAAAAAAAAAAADgJvfn6VQN+WSvUtLNnm7lpsdOJrbs7WTi7++vZs2a2dQsFosuXbqk8+fP69SpU3bn8vHx0dtvv+1UIH737t2qV6+eTe3xxx837DCSl4sXLyoqKsrm5t0WLVrohx9+yPO8gu5kYjabVb16dZvrj4qK0pEjR+Tv73yQrGnTpjY3sfv7++v8+fMqVaqU3ePz2snk/fff16BBg5xe22KxqFatWvrrr79ya2XLltXx48cVFBTk9DwxMTFav3597mNfX1+dO3dOERERdo93tJNJhQoVtGXLFlWvXj3fNffu3as777zTplalShXDripXs1qtqlevnvbs2WNTX7Rokbp27Zrvms5q0aKFfvrpp9zH/v7+Onr0aJ470Fyrd+/emj17tk1tz549qlu3rlt6TE5OVmhoqE3tzTff1MiRI90yv+R4J5P8diK5WkJCgipXrqz09HSb+tKlS9W5c2e39Hm133//XXfffbdN7bHHHtPChQtdOqdcuXI6fPiw4TkuqGPHjunWW2+12a2pXbt2+uabb5yeIy0tTVFRUUpMTMyt1atXT7t27XJLjzeTAQMG6MMPPyzUHCaTSb1799aoUaNUrlw5N3UGAAAAoKRiJxMAAAAAAAAAAADgJndrxWCNf76uKpYN9HQrQL4yMzO1fv16m6/vv/9eO3fudBgwqV+/vjZs2OD0joufffaZofbiiy+61Gd4eLhiYmJsar/++qvhk//dZd26dYbr79evn0sBE+nyDexXy8zM1G+//eZyPw888IAGDhzo0jkbN260CZhIUq9evVwKmEjGazCbzfr5559dmqNUqVJatWqVUwETSapbt65q1qxpUzt58qSSk5MdnnP48GFDwKRatWpu3UHgyJEjNgET6fIuJq4ETCTjcypJmzZtKlRvVwsKCpKPj49NbefOnW6b35EnnnhC48ePd/r4iIgIuwGgVatWubOtXHXq1DE8LwkJCXmeY28Hnb59+7otYCJJc+fOtQmYSK6/RwYFBaljx442tT179igpKanQ/d1s7O1k4qrAwEAlJSXpyJEjbugIAAAAQElHyAQAAAAAAAAAAACAalYM1scD66nJnfY/6R8oierV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0qWLFi1alFvLyclR586dtW7dOtWpU8el9U+ePKlNmzapa9eu8vPzK9hFOGHAgAHq16+fTW3EiBGqUqWKHn/8cZfmSk5O1tq1axUdHa2KFSu6s808DRgwQN27d7epvf3226pWrZp69erl0lypqalau3atGjZsqCpVqrizTbd55plnbEImkrR+/XoNGjRIEyZMyDNokpCQoFdeeUUzZsyQJP3222+GkIl0+Tm9OmQiSbNmzVKNGjU0fPhwl/rNzMzUd999p2rVqrn85yAv06dP15IlSzR8+HC7O3HY88knnxhqzp57tfj4eDVt2lRffPGF2rVr5/C4qVOnas6cOYb6c8895/CcWrVqGWqLFi3SO++8k+eOJhkZGXr22WftrpefGjVqKCYmRt9++61N/T//+Y9q1qypZs2a5Xn+tm3b1KtXr9wddS5evKjw8HCbY8LDw/Xkk0/q008/za1ZrVZ169ZNa9asUcOGDV3q+ezZs9qwYYO6dOmiwEB29HLGjh07DDVXnvdt27Zp8ODB2rhxo2Gsc+fOLr/fAgAAALix8FtUAAAAAAAAAAAA4CaUY7F6ugW7/P28FVU2QHfWCFXL+mX1cPMoPduhml7pXkvv/6euZg1roBXvRGv52GjNHNpA/3u+rl55opae71RdT7aprM5NI/VAw1t03+1ldEe1UqpSPlDhpUwETG5yrVq1UvXq1W1qFotF06dPd3jO+PHjVaZMGZvamTNn1LhxY40dO1ZJSUl5rnnmzBnNmjVLMTExqlatmp544glt2bKl4BfhhF69ehluIM/OztaTTz6pnj176ujRo3men5KSohUrVqhnz56KjIxU165d7d7IX5S6deummJgYm1pOTo769OmjJ554QocPH87z/LS0NK1evVp9+vRRZGSkHn74YU2aNKkoWy6U7t27290FY9KkSYqJidHWrVttdqSQLt+QP2bMGNWsWTM3YCJdDoDY06xZM7s7WPw/9u49zgq6zh//e845c59hYIABREDBG6jkDbykhXfLC5DXIrfN3NT1ltt+f5XZapulrW6amrqmuV5Y1DZtM7UMsdUNKdwUNUzlIioglwEG5j5n5vz+IFmnmUGYOcwZ4Pl8PHgceL/PeX/eR0fLmXnN56qrropPf/rT8fLLL292xw+CJZdddlkMHz48Tj755Lj66qu34N1tuaeffjp+9atfxVFHHRWnnXZa/PrXv+7wvj/Q0NAQX//612P69Ont6mPGjOk0ZLMl1q9fH6ecckpcdtllsXTp0na9pUuXxiWXXBIXXXRRh9eNHTs2Lr744i7nHnTQQR1CWitXroyzzz47ampqOn3Niy++GBMnTuxWwOQDN9xwQ4dAW0NDQxx77LFx1VVXxbvvvtuul8lkYu7cuXHGGWfEoYceuilgErEx8NKZa6+9NnbZZZd2tdWrV8cnPvGJ+Na3vhVr1qzZ7I4rV66MBx54IE455ZQYMWJETJs2LZ5++umteZs7tc5uMqmpqYmZM2d2+uuXv/xl3HfffXHVVVfFxIkT49BDD+00YHLooYfGgw8+2BtvAQAA6MPcZAIAAAAAAAD0qpKiZIysKo7hg4tj2MCi2GVgUQz7y6+B/QpyvR47oEQiEeedd15861vfalf/yU9+Et/+9rejoKDjx93IkSPjnnvuidNPPz0ymf8LZa1fvz6++c1vxtVXXx2HH3547L333lFVVRWpVCrq6+vj3Xffjfnz58err77aYea6deuy/+Y+JJlMxvTp0+PAAw+M6urqTfW2tra477774r777otx48bFhAkTYtCgQdGvX7+or6+PlStXxptvvhlz586N5ubmdjPXrl27TXf+a4lEIu6///448MAD4/33399Uz2QyMWPGjJgxY0bsvffeceihh8agQYOioqIi6uvrY9WqVfHWW2/FH/7whw5hi95+D1sjmUzGj3/84zj00EM7fDP/M888E88880wMHDgwRo4cGSUlJbFixYpYuHBhu4/JD2zutpZbb7015syZE3/+85/b1Z966ql46qmnYrfddosjjjgiqqqqYsCAAVFfXx9r166NhQsXxpw5c6Kurq7d67L9sZxI/F8Q8PHHH4/HH388Ro0aFZMmTYoxY8ZEcXFxrFy5MpYsWRIzZ87sNMBw8803b/bml86MHz8+XnnllYjYGGa69dZb40c/+lGMGzcuhgwZEsuWLYu33nor0ul0h9cWFhbGXXfdtdnbifLy8uLKK6/sEER56qmnYo899oizzz47xo8fH0VFRbFw4cJ45plnOtxsM2LEiA6hkI+y//77xze+8Y3453/+53b1lpaW+O53vxvf+973Yrfddothw4ZFc3NzvP3227F69eoOc0pKSmLw4MGdnjF48OC4//7746STTmr316e+vj6uvfbauO66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TZvWoXbPPfdETU1Nt2cCAAAA205lZWW7PxcVFUV5eXmOtgEAAIC+S8gEAAAAgD7nX//1X2POnDkd6n/7t38bJ5988hbNqKysjDvvvLPTXn19fVx88cXd3u+4446L4cOHt6tt2LAh7r777m7PBAAAALad6667Lv74xz/Gb37zm3j22WdjyZIlMWjQoFyvBQAAAH2OkAkAAAAAfcp7770X1157bYd6fn5+fOc739mqWSeffHJMnDix096zzz4bTz75ZLd2TCQSceaZZ3ao33rrrZFOp7s1EwAAANh2kslkHHjggXHcccfFpEmToqqqKtcrAQAAQJ8kZAIAAABAn3LDDTdEXV1dh/rUqVM73B6yJS6//PIuezfeeONWz/vAtGnTOtSWLFkSjz76aLdnAgAAAAAAAEAuCZkAAAAA0GesWbMm7rnnnk57p59+erdmTp48OUpLSzvtPfvss/GnP/2pW3MPOeSQGDduXId6T4IrAAAAAAAAAJBLQiYAAAAA9Bn/8R//0ektJqlUKk444YRuzSwtLY0TTzyxy/7DDz/crbkREeecc06H2ty5c2P27NndngkAAAAAAAAAuSJkAgAAAECf8cADD3RaP/zww6N///7dnnv00Ud32fvZz37W7bnnnntu5OXldajfdNNN3Z4JAAAAAAAAALkiZAIAAABAn/Dee+/FH/7wh057hx9+eI9mT5o0qcve/PnzY9myZd2au9tuu8Vhhx3Wof7YY4/FokWLujUTAAAAAAAAAHJFyAQAAACAPuHXv/51l72xY8f2aPa4ceOiuLi4y/5zzz3X7dnTpk3rUGttbY3bbrut2zMBAAAAAAAAIBeETAAAAADoE5555pkue3vvvXePZicSic0GVbq6QWVLfPazn42CgoIO9bvvvjtqamq6PRcAAAAAAAAAepuQCQAAAAB9wuaCHj29ySQiYt999+2y9+qrr3Z7bmVlZRx//PEd6hs2bIi7776723MBAAAAAAAAoLcJmQAAAACQc2vWrIlFixZ12isrK4v+/fv3+Izddtuty978+fN7NHvatGmd1m+99dZIp9M9mg0AAAAAAAAAvUXIBAAAAICce+211yKTyXTaGzhwYFbO2HXXXbvsLV++PBobG7s9e8qUKdGvX78O9SVLlsSjjz7a7bkAAAAAAAAA0JuETAAAAADIua5uMYmIGDx4cFbOGD58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BgAAAGC7UFhYGJMnT44HHnig07CKTmMAACAASURBVP4vfvGLbodMfv7zn3daP+KII2LcuHHdmtmVGTNmdFovLy+P8847L6tn9VWpVGqnCNMAABsdf0hVDBtYlOs1AAAAAADIgkSuFwAAAACAD1xwwQVd9roKinyU2traLm8yufzyy7s1syu///3v48033+y093d/93dRUVGR1fMAAHKtf1l+/O2nRuZ6DQAAAAAAskTIBAAAAIA+4+Mf/3hMmDCh094rr7wSzz333FbP/PGPfxyNjY0d6vvvv3+cfvrpWz1vc6ZPn95pPZlMxsUXX5zVswAAcq28JBX/9IV9on9Zfq5XAQAAAAAgS4RMAAAAAOhTvv/973fZu+qqqyKTyWzxrPXr18f3vve9Tns33HBDJJPJrd6vK+l0Oh555JFOe6effnqMHj06a2cBAORaSVEyfnDx/rH/6H65XgUAAAAAgCwSMgEAAACgTzn66KPj7LPP7rT3/PPPx5133rnFs6655ppYvXp1h/r5558fJ554Yrd37MxvfvObWLFiRae9K664IqtnAQDk0sghxXHLZeNjt6EluV4FAAAAAIAsEzIBAAAAoM+54447YuTIkZ32rrjiinj88cc/csZdd90VN998c4f6xz72sU7rPTV9+vRO6xMmTIjDDjss6+cBAPS2VDIvTvv4sLj9igNi1BABEwAAAACAHZGQCQAAAAB9zoABA+Kpp56KgQMHdug1NTXFZz7zmfjGN74Ra9eu7dBfsWJFXHTRRXHhhRdGJpNp1xszZkw89dRTUVpamtV96+rq4r/+67867f2///f/snoWAEBvSyXz4riDq+Ke/++guPQzo6Mw35cYAQAAAAB2VKlcLwAAAAAAnRk3blz89re/jdNOOy0WL17crpdOp+P666+PW265JY444ojYY489IiLijTfeiNmzZ0dTU1OHeUcccUQ89thjUVVVlfVdH3vssaitre1QHzVqVEydOjXr5wEA9IaRQ4rjkx8bFKccPjQq+xXkeh0AAAAAAHqBkAkAAAAAfdZ+++0Xc+fOja9+9atx//33d7iZpL6+PmbOnBkzZ87sckZRUVF885vfjK997WuRn5+/TfacPn16p/XLLrssUimfggMAtg95eRG7DS2Jw/etjE8eMChGD8vu7W8AAAAAAPR9vsINAAAAQJ82cODA+Pd///e4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7rnndP/99yssrOyTqaxWq0aMGKFp06bZ1X19fXXixAmFhpb/b/XNmzfr+uuvdwgm3XXXXXr33XfLnL9hwwaNHTtWGzdulCRFRUXp8OHDTq89cuSIOnToYHcSg8lk0owZMzRs2LAyeyssLNRf/vIXLVy40K7evXv3izrtBahpRowY4fA1fdGiRbrnnntcXiMmJkZbt261q82dO1cPPvhgVbQIAAAAoAbhJBMAAAAAAAAAAACgljIaDRoV31IWM782BM67MGASHBys9evX68EHH7QLitSvX19/+ctf7AImkvTwww/r/vvv16ZNm/TZZ5+pd+/e5QZMJKlZs2b66KOPHOpr164td966descTgUZP358uQET6bcb/T/44INyAyYVMZlMmjZtmubNm+cQMJF+O90kISGhNAxxoSVLllR634rMnj3b6akdkpSbm6sXX3xRV199tV577TVlZmZesj7+8Ic/aNu2bU4DJpLUoEEDffXVV2ratKnD2IQJE8pdu0uXLhoyZIjeeecdHT58WE899VS5ARNJMhqNmjx5ssPpInl5efr222/LfzKSXn75ZYeAyaBBg7Ro0aJyAypxcXHasGGDJk6cKLPZrKioqDKvffbZZ+0CJpL09ttvlxswkSSLxaIPP/zQ4c968+bN2rJlS7lzgSuJs9Baly5dXJ6/ePFih4BJVFSUhgwZctG9AQAAAKh5+GkxAAAAAAAAAAAAUIs1a+CvxwddrQrugwdqHS8vL61YsULXXnuty3MGDBig+fPnq3v37m7t1b17d3Xo0MGuduTIEaWnp5c55+eff3aoRUdHu7VvZRgMBs2fP19PPfVUudeZTCangQlXQg2V5efnp7Vr16pHjx5lXnP69GmNGTNGTZo00dixY5WRkVGlPQwcOFArV66s8HSQoKAgTZ8+3aGemJio48ePlznPx8dHCxcu1PDhw906kcVoNOqxxx5zqO/YsaPceUlJSQ6Bp+DgYL3//vsymUwV7mswGDR69Gjt27fP6ck2knTs2DGtWLHCrhYXF6cnnniiwvWl3z7W3n77bYf6Bx984NJ8oKazWq3atWuXXS04OLjcYNeFdu3a5fD5ZjKZ9N5778lisVRZnwAAAABqDkImAAAAAAAAAAAAQC13a2x9/e2OZjKbSJoA57344ouKi4urtv26detm99hms+nUqVNlXu/sBv8TJ05U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fvjhcscnT56ss2fPatGiRXb1kpISrV27VmvXrnWr74CAALeuB2qSiw2ZHD9+XM8//7zTU4569OihZ5555qL6AwAAAFCz8VNbAAAAAAAAAAAAAFXG22JUmyaBan1VoFo1DlCLRgGKCPX2dFtAtRg3bpzOnj2rGTNmuDynXr16mj17tu644w4lJCS4NMdoNOqVV17R888/7/Q0jvIEBgZqxowZeuCBB9yadzn78MMP1aZNG02aNEkZGRmVWqN169aaO3euYmJiKt1Hly5dtGnTJt11113atWuXS3N8fX31+uuv68knn3Tp+qioKH322WcaNGiQ3Qkl5TEYDHrggQc0c+ZMhwCHq5o2bapvvvlGgwcPVmJioltz/fz8NHHixAqfo7e3txYuXKh27dppwoQJysvLq1SvkjRo0CB17ty50vOBy52zkElYWJiOHDni9Ppz584pLS1NBw8e1Nq1a7Vy5Uq7oOJ5zZs317Jly2QycZocAAAAUJsZPd0AAAAAAAAAAAAAgJpv8PWRmvLXa7T8lW56c1g7/eXmJupxTTgBE1wygYGB8vX1tatFRES4vU5ISIjdY7PZrODg4Er1dP6EkJUrV+q6666rcN+nn35a+/fv1x133CFJCg0NtVsrPDy8zPkjR47Utm3bdP/99zv8OTgTHBysYcOGad++fS4FTIxGo8OfQ3n9lKVOnToO64aFhbm9TnlMJpPGjBmjY8eOadq0aerZs6fM5opfc9NgMKhnz55auHChdu/efVEBk/OaN2+ubdu2ady4cQ4fWxeyWCy6/fbbtXv3bpcDJud1795dSUlJevTRR+Xn51fmdQaDQb169dKGDRs0b948+fv7O/zZu/N3GhkZqc2bN2vBggVq27atS9ePHj1aKSkpeuqpp2QwGCqcYzAYNGbMGCUnJ+vJJ59U3bp1XerNaDQqOjpazz77rL7//nstX76cm+RxxbLZbNq5c6dDvV+/foqKinL6ds0116h379569NFH9e9//9tpwKRDhw766quvKvW9FAAAAMCVxWCz2WyebgIAAAAAAACXn30p2Xpq+g9Vtt6rj7TRda1DK74QAAAA1WLNd6ma9PGhKlvvwzGdFRnuU2XrAa5IT0/X/v37lZubq7p166p169by9nYv2GS1WvXDDz/o119/lcFgUHR0tCIjI6ukv/3792vjxo3av3+/0tLSZLFY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zSjUnoOFOnS8RNVkxeqUqf5uBQAAAAAAAAAAAAAAaoCQCQAAAIAqjRkzxuM383/33XcqKytTcHBwpXsPHz6szMxMQ719+/Zq3rx5tfdeu3atrr/+elmtVrf6ww8/rAcffNCL7qs3cOBAn0MmOTk5GjlypLZv3y5J6tGjhxYsWKAuXbpUnPnrX//asEc6HYy49dZbVVZWpujoaL388suaOHGiTKbT33r9/PPPa/To0YZpFrm5uUpLS1NCQoJXPXXr1k0LFixQt27dKp7nN7/5jceeduzYoZtuukmlpaVq2rSp3n33Xd14440VPUlScnKyJkyYYLjv3LlzPYZMjhw5ouHDhys1NbXi/p999pni4+MlnQ6xnBtSOnbsmMdnq4ynANOVV17p1d7rrrvO7fWKFSsMa8xms5566ilFR0f71FdtJCcne6zHxcXplltuqbc+cOErszmVcaxEPx0u1k9HipV2pFhpR4tVYnX4ta+YSM/TsQAAAAAAAAAAAAAAQMNAyAQAAABAlW6//Xa98MILhukKR48e1fvvv6+HHnqo0r2VTTGpbkqIdPqb7X/3u98Z7nv77bfrz3/+sxedeyc7O9tQi46OrnJKyvHjx3X06FFJUlJSkhYtWqTIyMiK6z169DDsiYqKUlZWlsaPHy+r1aquXbtq2bJlatWqlds6i8Wi+++/3xAykU5PBqksZJKdne3W08KFCxUVFVVxvWfPnoY9EREROnHihG644QYVFxerW7du+vrrr3XJJZcY1v7mN7/RnDlztH79erf68uXL5XK53AIp0umQyZl+rr/+en322WcKCQmpuO7pPQoPD/f4bJ44HA6PE18GDRrk9RlnOzP95Ww9evSo14DJwYMHDe/vGZMnT1ZQEN+cD6OTp8qVlVP68y/r6Y/HS3XkpFVOZz2OKPFS44hAf7cAAAAAAAAAAAAAAACqQMgEAAAAQJXat2+vKVOm6LXXXjNcmz59uhITEzVgwACPeysLmVS2XjodXpk2bZrmz59vuHb77bfrww8/lNls9rL76u3du9djf+eGJs7WvXt3rVmzRs8++6zeffddNWrUyO16QUGBYU+fPn10ww036OjRo+rTp4+WLl2qZs2aeTy/bdu2HutnB1nO1aNHD61evVrPPfecx54KCwsNey677DLdcsstysjIUEJCglasWKEWLVpUeo/Ro0cbQhCF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JFS7dsOGDXryySf13//+1+0986RFixZ65plnNHHiRJ++af/aa6/Vd999V/H6xRdf1MyZMyWdDkp88MEHeuGFF5SRkVHpGa1bt9bs2bN10003VXmvCRMmKDk52eveztWmTRsdPHhQJpOpxmd4kpqaqieffFKLFy+u9n1OTEzUH//4R40dO7bKdd98841Gjx7ttm/Lli0Vrw8fPqzHHntMCxYsqPKe3bp109/+9jcNHDjQy6f5n6NHj+qvf/2rPvroI6Wnp3u1Z9CgQfrjH/+o4cOH+3y/M4qKivTnP/9Zs2bN0smTJ6tc26xZMz366KN6+OGHFR4e7vU9XC6XPvnkEz3//PPat29ftev79Omj119/XUOHDvX6HoC/HT9+XB07dtSpU6cqapdffrk2bNhQ8d+Dy5cvN3y9PvLII5o1a1a99goAAACgYan9j6sAAAAAAAAAAAAA8Itx39h2Cg8N8HcbwHmze/duDRo0SElJSfr888+9CphIUklJid577z0lJiZq8+bNla7bs2dPrfpzOBzau3dvlWusVqvuuusuDRw4UCtXrqw2+CCdnnbywAMPqH///jpy5IjX/ZSUlLi9LioqkiQdOXJEo0eP1sSJE6sMmEhSVlaWbr75Zk2ZMqXKdbV97zIzM+s8kJScnKx+/fpp4cKFXr3PW7du1bhx47Rw4cIq152ZdHPG2Z+Hc+fOVY8ePTR//vxq75mamqqkpCS9+uqr1fZ2RklJiWbMmKF27drpmWee8TpgIknr1q3TyJEj9eyzz3q952zr169Xx44d9fTTT1cbMJGknJwczZw5U71799a2bdu8ukdGRoYGDBigCRMmeBUwkaTt27dr2LBhuvvuu2Wz2bzaA/jbU0895RYwkaSXXnrJLWjXuXNnw77a/nctAAAAgAsfIRMAAAAAAAAAAAAAXottEqwpN3VQHQ8CABqEkydPasiQIVq/fn2Nzzh8+LDGjRunY8eOebzuy7SFykRGRlZ6raCgQCNHjtTcuXPlcrk8rmncuHGl+7du3aorr7xSBw8erHF/6enpGjx4sL799luf9r311lt68cUXK70eERFR454kKTAwUKGhobU642yLFy/WXXfdZQjaSFJoaKiio6Mr7XnDhg0+38/lcumJJ57QXXfdpfz8fK/32e12zZgxQ3//+9+9Wj958mS9+uqrKi8v97nHM30+88wzev/9933a9+WXX+rqq6+u9GunKmlpaRo1alS1IaIzIbJNmzZ5vB4QEFDl1+iHH36o8ePHq6yszOcegfqUmpqqDz/80K02ZswYDRs2zK3WunVrNWrUyLAXAAAAwC8bP2IIAAAAAAAAAAAAgE+G9mmqnPwy/e3rDH+3AtSp3bt3Ky8vz60WEhKi8ePHa9SoUerTp4+io6NlNpt18uRJpaSk6G9/+5thcsmxY8f05JNP6oMPPjDc44477tCOHTtktVolnf6G/BUrVritiYmJUZ8+fTz22KpVK/Xv39/jNZfLpZtvvlmrV692qwcHB2vSpEm688471b17dwUFBclut2v37t365z//qdmzZ7tNykhLS9Ntt92mtWvXymKxVPJuefbjjz8qKSlJmZmZFTWz2awbbrhBw4cPV0REhDIzM/XFF194nPjy/PPP69e//rUuueQSw7XHHntMwcHBFdM78vLytHXrVrc1HTp08LhXkoYNG6bAwECfnqcyJSUlevDBB+VwOCpqJpNJEydO1KRJk9SrV6+K9y4zM1OLFy/WRx99VBFu8GbqydkcDofuvfdeQ1CkWbNmuv3229W9e3eFhYUpIyNDH3/8scdpN5MmTdLll1+unj17VnmvNWvWGGqJiYm65ZZbNGDAALVu3VqNGzdWXl6e9uzZo6+++krz5s0zhFKmTZumm2++ucpQ0xn79u3THXfcUfF1cYbZbNaIESM0duxYtW3bVhaLRceOHdOqVav0z3/+0+3zNicnR9u2bVNSUpLHexw/flzXXHONsrOz3eotWrTQ448/rhtvvFFt27aV2WxWaWmp1q9fr3/84x/65JNP3AJbS5Ys0f/7f/9Pr7zySrXPBfjLtGnTZLfbK15bLBa99NJLhnUmk0kJCQnasWNHRS0rK0uFhYW1DvYBAAAAuHCZXJX96BIAAAAAAAD8oqVmFGrqWzvr7Lw/3dtNl3dpUmfnAQAAwP9W7zih1z8/oBKro/rFOG9m/qaThvVt5u826o3FYnH7Bv3w8PBqpxd4KyUlRQMHDpR0+qe7z5gxQxMmTKjym+RdLpd+//vf69VXX3Wrh4SEKCsrSzExMVXe0263G4IPI0aM0NKlS33uf/bs2Zo2bZpbrV27dlqyZIm6detW6b60tDQNHz5caWlpbvVZs2bpkUceqfKeSUlJhlDL2QYNGqS//OUv6t27t+HaX//6V02aNMkQuJg6dapmz55d5X0laeXKlYafyv/cc8/pD3/4Q7V7a2vevHm688473Wovv/yyZsyYUeW+5cuX6+WXX9b06dM1cuTIStf961//0s0331zp9cDAQD333HOaMmWKwsLC3K45nU698soreuqppwzTbMaOHatFixZV2WP37t2VmpqqgIAA/fa3v9WUKVOqDaZs2rRJI0eONExYmT17tqZOnVrlXofDoX79+mn79u1u9fj4eCUnJ2vw4MEe9+Xk5OiNN97Q7NmzK8Ipy5Yt0zXXXONx/fXXX2949lGjRumTTz5RkyaV/33Ft99+q5tuukmlpaUVNYvFoo0bNyoxMbHKZwP84ZtvvtHo0aPdavfcc0+l04xuvfVWff755261TZs2qV+/fuetRwAAAAANm9nfDQAAAAAAAAAAAAC4MA3p3VR/eaS3LmkZVv1i4ALQt29f3XnnnfrLX/6i/9/enYdHWd774/9MMtkTwg5hcQEMm1rcKJUel4rW9gBKbfWqX4+tVdtj9fx6arW2datWT+1lN/cerZbaQ61fq63aulVF1Arao63KIuCCAgqyhpA9mfz+oPJ1mAAJJBmQ1+u6vMLzee7nvj8ZM0RnnvfcixcvjvPOO2+7uzAkEom45pprYuLEiWn1+vr6NneE6Cpr166Niy++OK3Ws2fPmDlz5jYDJhERw4YNi4ceeigKCwvT6j//+c87vOPGh51++unx5JNPthkwiYj46le/mtFzxKaAxa7+eZl/+ctf0o779u0b3/rWt7Z73aRJk+Lxxx/fZsBke/r16xePPfZYfOc738kImERs2v3ju9/9bnzve9/LOPfggw+m7VjQlvPPPz/+4z/+I+bPnx+33XbbdgMmERHjx4+Pn/70pxn1LR+nttx3330ZAZPevXvHo48+utWAScSmx+GHP/xhzJ49O/bbb79IJBIxfPjwNsc+/PDDGQGTCRMmxB//+MdtBkwiIj7zmc/EzTffnFZraWmJ66+/fpvXQTa0tLRkhN0KCwvj+9///lavqayszKgtWLCgs1sDAAB2I0ImAAAAAAAAwA4b0q8obv7muPjKZ/eORCLb3cDOKSgoiF//+tfx9a9/PSNwsS2JRCL+/d//PaP+4osvdmZ723THHXdEbW1tWu2aa66JffbZp13Xjxw5Ms4999y02ttvvx1PPPHEDvXz9a9/PaZPnx75+fnbHHfRRRdlBHmWLVsWS5Ys2aF1u8uyZcvSjkeMGBHJZLLL1+3du3c89dRTcdRRR2137GWXXdZm6OLee+/d5nVnnnlmXH/99bHffvt1qLdTTz01evTokVZrz3PgZz/7WUbt6quvjlGjRrVr3XHjxsU//vGPeOmll2Lfffdtc8yNN96Ydpybmxt33HFHFBQUtGuNL3/5y3HwwQen1X7/+9/Hhg0b2nU9dJdbb7015s6dm1b7xje+EUOHDt3qNUImAADAloRMAAAAAAAAgB2WSrXG3U8ui7ueWBa7+MYD0KU+/vGPZ9Tee++9blv/F7/4Rdpx//7948tf/nKH5jjjjDMyak8++WSHe5k2bVpcf/31kWhH8qykpCSmTJmSUZ83b16H1+1Oubm5acfLli3r8t1XioqK4oEHHtjuzjQfyM/PbzP8dP/993d2axGxKaQ1bty4tNr777+/zd1wFi5cGLNnz06rDR48OM4666wOrV1cXJyx9geWLFkSjzzySFpt8uTJMXr06A6tseXzqba2NqN3yKbq6uq48sor02q9evWKb3/729u8buTIkRk1IRMAANizCZkAAAAAAAAAO6SmviUuuGVuTH/knahraMl2O5BVAwcOzKhVVVV1y9pLliyJN954I602efLkdu/S8IExY8ZEeXl5Wu3555/v0By5ubkxY8aMjBDGthxyyCEZtaVLl3Zo3e42ZMiQtONly5bFjBkzunTNSy+9NCZOnNihaz73uc9l1ObOnRt1dXWd1VaaioqKtONUKrXN58Gzzz6bUZs2bVqn7gozc+bMjKDLSSed1OF5Dj/88IxaR58f0JWuvvrqWLFiRVrtkksuid69e2/zurZCJvPnz+/U3gAAgN2LkAkAAAAAAADQYeuqm+Lbv5gbr765IdutwC6hqKgoo9bQ0NAta//1r3/NqLV1Q/z2JBKJGDZsWFpt8eLFHZ6jrcdiW/bdd9+MWnV1dYfm6G6f/vSnM2pnnXVW3H777V22o0mPHj06fM2wYcMyAlCpVKrLdino6PPgueeey6h96lOf6tSe2lqjo2GdiIjhw4dn1F5//fUd6gk629KlS+OGG25Iq+29995x7rnnbvfa8vLy6N+/f1rtzTff7LbfYQAAwK6n8z76AQAAAAAAANgjLH2/Lr5767xYuc7Nh7ArePHFFzNqvXr1inXr1nV4ri13P1m7du0O99VepaWlGbWampouX3dnfO5zn4uRI0fGwoULN9caGhrirLPOihtvvDEuvfTSOPHEEyMnJ/uf/Tly5MiM3Q3eeOONOPjggzt9rUQi0aHxr7zySkZt7NixndVORET87//+b9pxIpGIkpKSDj8/mpubM2o78hyDrvDtb387amtr02pXXXVVu3e0GjlyZLz//vubj1taWmLRokVxwAEHdGqfAADA7kHIBAAAAAAAAGi35pbWuPLXrwmYsEd58803Y/bs2TFv3rxYvHhxrF+/PjZs2BAtLS2bx3TV7hXtsXr16ozaSSed1Clz19bWRlNTU+Tl5XXKfG0pLCzMqKVSqS5brzPk5+fHjBkz4sgjj8wIxPzjH/+Ik046KfbZZ58488wz48wzz4yKioosdbppN4MtVVVVdWiOjRs3xjPPPBNz586N1157LZYtWxZ1dXUZN7UvWbKkQ/O2FdJoq9+dseXzo7W1NWN3lx3V0ccRusLzzz8fd999d1rtwAMPjFNPPbXdc1RWVsYzzzyTVluwYIGQCQAA7KGETAAAAAAAAIB2e/C5FbFkRe32B8JurqqqKq6//vqYMWNG2m4Vu6Ku3E0hLy9vl9iNY1d0yCGHxOOPPx7Tpk3L2CkkYlPg4tJLL40f/OAHceqpp8a3vvWt2H///bu9z/Ly8ozahg0b2nXtgw8+GDfccEM8/fTT0dDQ+eHC9evXpx3n5eW1e+eF9urK3Xg6u1fYERdccEFG0PHaa6/t0N/dlZWVGbUFCxbsdG8AAMDuScgEAAAAAAAAaJfahpaY8fjSbLcBXe43v/lNfOMb3+jS8EZnam9gYEdMmjQpcnNzu2z+3d2ECRNi3rx5cfnll8cdd9yRsbNHRERjY2NMnz497rzzzjjjjDPiZz/7WZSVlXVbj0VFRRm17e28s2TJkvjiF78Yc+bM6aq2IiIzZNJWrzujubm5zX8nneW4447rsrmhPe6555549tln02rFxcVx7733xr333tvueV5//fWM2vz583e6PwAAYPckZAIAAAAAAAC0y3Nz10TVxqZstwFd6vLLL48rr7yyzXNlZWUxZsyY2GuvvaK8vDztU+JTqVT88pe/7K4205SUlGTULrjggthvv/12at5evXrFlClTdmqOPUHv3r3jhhtuiMsuuyxuvvnmuPXWW+Pdd9/NGJdKpeL222+POXPmxMyZM6Nfv37d0l9bIYu2djf5wN///vc47rjjYvXq1RnncnNzY8SIETFq1Kjo0aNHRihk1qxZHdr5Jz8/P+rq6jYff/jPnSGZTEZBQUHaLiw5OTlxyy237PTcw4cPj2OOOWan54Ed1djYGN/73vcy6rW1tXHrrbfu9PyvvfbaTs8BAADsnoRMAAAAAAAAgHb5x+tV2W4ButQDDzwQP/jBDzLqkyZNiu985ztx5JFHRjLZ9tvszc3NWQuZtBUYOOaYY+L444/PQjd7rn79+sXll18eF198cTz00ENx3XXXxZNPPpkxbt68eXHKKafEE088EYlEosv7Wrt2bUZtayGT6urqOPnkkzMCJhUVFXHxxRfHySefvM1wzFe+8pUOhUzKy8vTgiVNTU1RX18fhYWF7Z5je3r27BkrV67cfJxKpeL000/v1DUgG6677ro2dyDpLAsXLozm5uat/t4DAAA+uvxfAAAAAAAAANAuS9/v3E+Y/yhLJCJKCpORzE1EUUFuFOTlRF4yJ4oLciM3NxGlRf/vrdrC/JzIy81Juz4nJ6K4MPPt3KL8nEjmpt+UPnxw5i4WdFxra2tceOGF0dramla/7LLL4oorrshSV+3Tq1evjNqaNWuy0AkRm3bPmDp1akydOjWee+65OP/88+P5559PGzNz5sz405/+1C07xSxevDijVlFR0ebYX/ziFxk3rY8bNy4effTR6N+/f6f3Vl5eHitWrEirLVmyJEaNGtVpa2wZMonYFLwZNGhQp60B3W3t2rVxzTXXdOkaDQ0NsWTJkhgxYkSXrgMAAOx6hEwAAAAAAACAdllX3ZTtFrrUB8GQsuJklBZ96GtRMkqLk1FWlPvPr8ko/meApKQwN5K5OVGYnxMF+TmR/88gSU5O1+9OQOeaM2dOLFq0KK12+OGHx/e///3sNNQBo0ePzqgtWLAgC52wpcMPPzyeeeaZ+PznPx8PPPBA2rnf/e53XR4yqa+vj3nz5qXVcnJy4sADD2xz/J133pl2nEgk4n/+53+6JGASETF8+PCMnU/mzZvXqSGTMWPGZKwxf/58IRN2a5dffnnGLkVTp06N0047bYfnvOqqq+KVV15Jq82fP1/IBAAA9kBCJgAAAAAAAEC7rK1uzHYLHVZalIw+PfKjT3n+pq898qN3j/zoXZYXPUrSwyQf3l2EPc+WN9ZGRJx88smRSHR/YKi+vr5D4ydMmJBRmz17dme1s1tpaGjIdgsZ8vLy4tZbb41HH300rb/58+d3aJ4NGzZ0eO1Zs2ZFbW1tWm3EiBHRo0ePjLFNTU0ZPY0dOzbGjh3b4XXb69BDD42HHnoorfboo4/GSSed1GlrTJgwIf7whz+k1WbPnh2TJk3qtDWgOy1cuDD++7//O61WWFgY119/fey99947PO9f/vKXjN+FCxYsiKlTp+7wnAAAwO7Jq6QAAAAAAADAbqlPj/yo6FMYA3oXRO+y/OhbvilA8sHXPj3yoyAvJ9ttsptYvnx5Rq2ioqLL100mk5FMJqO5uXlzbdWqVR2a42Mf+1iUlJRETU3N5tpTTz0Vy5cvj8GDB3dar7uawsLCjFpHH7vuMmDAgBg+fHhaiKO6urpDc1x11VVx5JFHxuGHH97ua375y19m1I4++ug2x65YsSJSqVRaraufA4cddlhG7d57742f//znUVxc3ClrtPV4/fa3v41LLrkkKyEy2FkXXHBBNDWl7y533nnn7VTAJCJi5MiRGTW7YgEAwJ5JyAQAAAAAAADYZfUoScbeA4pj7wHFMbR/UQzqUxgD+xTGoL6FkZ8UIKHz7Gxg4cYbb9zhtUtLS2P9+vWbj999991oaWmJ3Nzcdl2fn58fp556atx2222ba6lUKi6++OKYPn36Dve1qystLc2ovfPOO1nopH22DJUMGDCgQ9fX1tbGlClTYtasWbH//vtvd/wrr7ySsYNHRMRpp53W5vi2ngOrV69ud3+LFi2KRx99tN3jIyKOPfbY6Nu3b9o6a9eujWuvvTYuv/zyds/z2muvxZVXXhnXXXdd9OvXL+3c4YcfHpWVlbFo0aK08XfeeWd86Utf6lC/kG0zZ86MP/3pT2m1nj17xne+852dnlvIBAAA+IBXXQEAAAAAAICsSyQihvYvik8d3C++NnXfuPac/eOeK8bHvVd+PH567gHxjc8Pj88dMSgmjO0d+wwsFjCh0w0dOjSj9sADD7Tr2h//+MfxzW9+c4fX3muvvdKOq6qq4sknn+zQHOedd15G7c4774zbb799h3pqamqKqqqqHbq2u2z5uEVs2sGlq/tevXp1XHLJJfHWW2+1+5q//e1vsXTp0rRae4IiW1q7dm0cccQRMXPmzG2Oq66ujtNOOy1aWlrS6vvtt19MnDixzWv69OkTRUVFabVXXnkllixZst2+5s+fH0cffXS8++672x37YQUFBXH66adn1H/4wx+2+znwq1/9Kg499NC46667YtasWRnnc3Jy4txzz82of/Ob34wXX3yxQ/1+YMOGDdHY2LhD18KOSqVSceGFF2bUv/vd70afPn12ev62Qibz58+P1tbWnZ4bAADYvXjlFQAAAAAAAOh2OTmJqBxaGicfPTiuPntM/PGqCXHHRQfHd/9PZXz+yEExbkR59CzNy3ab7AZSqVS8+OKLHf5n+fLlafNMmjQpEolEWu2xxx6LX/3qV1tde8OGDfHFL36xzZt+O+KAAw7IqP3Xf/1X1NXVpdVSqVS8/PLLbd7we+CBB2bsUNHa2hpnn312XHjhhWk7pWxNKpWKv/71r3H22WdH//7947jjjuvgd9K9ysvLM4Im9fX1cfXVV2c8RnV1dZ32ifyPPfZYXH311TFq1Kj4z//8z3j77be3OX758uXx5S9/OaP+hS98YYfWX7duXRx//PFx+eWXZ+yOErFpR5EjjjgiXn311Yxz1157bcbP+QdycnJi0qRJabWWlpY466yzMn4WP+zOO++Mj3/84x0OmHzg/PPPj/Ly8rRaQ0NDTJ06NW666aaMoMwHZs2aFRMnToyvfOUrUVNTExGx1YDRmWeemXED/bp16+KYY46J2267batrfFhdXV3cd999MWXKlOjbt29cdtll7fn2oNNMnz49Ixg1ePDgNkOGO2LfffeN/Pz8tNrGjRszfl8CAAAffclsNwAAAAAAAADseT73LxXxtan7ZrsNPgJqa2vj0EMP7fB1RUVF8cYbb0RFRUVERFRUVMS0adPivvvuSxt35plnxuOPPx5f+tKXYsyYMZFIJOKNN96Ihx56KH75y1/GmjVrNo9NJpPR3Nzc4V5OPPHEmDFjRlrtqaeeijFjxsQJJ5wQffv2jaVLl8bDDz8cS5cujeeffz7Gjx+fMc/NN98cc+bMiddff31zrbW1NX784x/H7bffHscff3wcffTRUVFREX379o2Ghoaorq6ON954I+bMmROPP/54rF69evO1HdmpI1tOOOGEuOGGG9Jq1157bcyaNSuOOeaYyM/Pj4ULF8bDDz8cTU1NsWHDhsjNzd2pNWtrayMiorGxMa677rq44YYb4rjjjospU6bExz72sejZs2esX78+li5dGs8991xMnz49IwxyxBFHxDHHHNOhdUtLS2Pjxo2b177yyivj5ptvjhNOOCFGjBgRVVVV8corr8QjjzwSqVQq4/rJkyfHCSecsM01zjnnnHjwwQfTak888UQccsghcf7558fEiROjX79+sWzZsvj73/8et9xyS/ztb3/bPDaZTEZLS0uHdj4YPHhwXHPNNXHOOeek1WtqauK8886LK664Io477rjYZ599Ii8vL1asWBGzZs1qMzTUs2fPNtcoKSmJu+66Kz7xiU9EQ0PD5npVVVV89atfjR/+8Ifx2c9+Nj7xiU9E3759o0+fPrF+/fpYt25dvP766/HUU0/F008/HfX19Zuv3R2eH3x0bNy4MS699NKM+g9+8IMoLi7ulDWSyWQMGzYsXnvttbT6/PnzY8iQIZ2yBgAAsHsQMgEAAAAAAAC63dY+SR+6S11dXcydO3dzyCQi4ic/+UnMmjUrLTjS2toav/3tb+O3v/3tNuebMGFCTJs2LS666KIO9zJlypSorKyMRYsWpdWXLFkS1113Xcb4999/v815ysrK4s9//nNMnjw5Fi9enHZu3bp1cdddd8Vdd93V7r7KysraPTZbzjvvvLj11lvTggMRES+88EK88MILGeNramqiR48eO7Xmljdbp1KpeOSRR+KRRx5p1/UDBw6M22+/vcN/D15xxRUxe/bs+P3vf7+5tnr16rj99tu3e+348eMzgkxt+cxnPhOnnHLphOq1AAATD0lEQVRK3H333Wn1BQsWxNlnn73Na0tKSuJ3v/tdnHjiie3aGeTDvva1r8X8+fMzAkMREatWrWpX78OGDYtjjz12q+cPOuiguOeee+LUU0/dHNb5wFtvvRU33XRT3HTTTe3ueXd4fvDRce2112bsFjR69Oj4t3/7t05dZ+TIkRkhkwULFuzyO1sBAACdKyfbDQAAAAAAAABAe21tp4IdkZOT/pb5PvvsEw899FAMHDiw3XMkEok444wz4oknnoi+ffvuUB8FBQXx61//ut03rW9rncrKypgzZ05MmTJlh3r5QElJSVxyySU7NUd3qKysjJ/+9KftCmwUFBR0SjBg0qRJ2wwzbMv+++8fM2fOjBEjRnT42oKCgrj77rvjoosu6tBuLJ/97Gfj4Ycfbne4Zvr06R3++Rk9enTMnDkzJk+e3KHrPpBIJOL666+Pq666KvLz8zt8/dSpU2POnDnb/R6nTJkSzzzzTIwZM2aH+vzA0KFDM3Zega6ybt26+MlPfpJR/9GPfhTJZOd+vvCoUaMyam+++WanrgEAAOz6hEwAAAAAAAAA2G1861vf6tAN9ltTVlYW48aNy6iPHz8+Xn311Tj33HO3GUjIycmJo446Kp5++um44447ori4OPr06ZM2pl+/fu3uZ8KECfHMM8/EJz/5yW2OO/bYY+Owww7b5pjevXvHAw88EM8991xMnjw5ioqK2tVDWVlZTJo0KW655ZZYsmRJnHHGGdu9plevXmnHHfmeP9zvljdKdySw8/Wvfz3uvffeGDZs2FbH5OTkxEUXXdQpuyglk8l49NFH45577omjjjqqXT+Po0aNip///Ofx0ksvtXkTd3vl5OTENddcE08//XQceuih2xw7duzY+M1vfhN//vOfo3fv3u1eo7CwMO6///741a9+FaNHj97m2KFDh8aPfvSjePnllzf/XH54reLi4igtLW332hdffHHMmzcvTjnllO3+3BYVFcWJJ54Yzz33XNx///3t/tkbN25cvPrqqzFjxow47LDDMsJmWzNw4MA45ZRT4r777otFixbFIYcc0q7rYGfNmjUrampq0mpTp07d6TBhW9r6ubZrDwAA7HkSra2trdluAgAAAIBdz/wl1fGNG17ptPmuPntMjB/Va/sDAQDYZU3+7uxoaEx1ylxfOGpwfHXKPp0yF3ueurq6qK+v36k5CgsLt3sT+8aNG+PZZ5+NF154Id5///2oq6uLgQMHxt577x2f+cxnYujQoRnXLFy4MJYvXx5lZWVx0EEH7dCnzM+bNy+effbZWLZsWaxfvz7KyspixIgRMXHixBg5cmSH56uvr485c+bESy+9FGvXro01a9ZEXV1dFBYWRkVFRQwbNiwOOuigGD16dIcDPI2NjTF37txYu3ZtFBcXxwEHHLBDNyS/9957sXjx4mhqaoohQ4ZEZWVlhwMhzc3N8cILL8QLL7wQK1asiJqamujdu3eMHTs2jjzyyBgwYECH+2qPDRs2xOzZs2P+/PmxYsWKWLVqVeTn50evXr2isrIyDjvssNh///07NOe9994bn//859NqN954Y5x77rlptVdffTUee+yxWLp0aVRXV0dFRUVUVFTE0UcfvdO7dUREtLa2xssvvxzPPvtsvPXWW7F+/fooLS2NoUOHxvjx4+OTn/xkRkhj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" + } + }, + "cell_type": "markdown", + "id": "premium-inspector", + "metadata": {}, + "source": [ + "![qae_fig3_wide.png](attachment:qae_fig3_wide.png)\n", + "Figure 3: Pictorial Representation of input state of Quantum Autoencoder. Note that we must also include an auxiliary qubit, the reference state and classical register at the beginning of the circuit, even though they are not used until later in the circuit." + ] + }, + { + "cell_type": "markdown", + "id": "5faba1fc", + "metadata": {}, + "source": [ + "## 4. Choosing a Loss Function " + ] + }, + { + "cell_type": "markdown", + "id": "b6186d9a", + "metadata": {}, + "source": [ + "We now define our cost function, which we will use to train our Quantum Autoencoder, to return the input state. There's a bit of math involved here, so skip this section if you're not interested! \n", + "\n", + "We take the cost function as defined in [2], which tries to maximize the fidelity between the input and output state of our Quantum Autoencoder. \n", + "\n", + "We first define subsystems $A$ and $B$ to contain $n$ and $k$ qubits respectively, while $B'$ is the space which will contain our reference space. We call the subsystem $A$ our latent space, which will contain the compressed qubit state, and $B$ our trash space, which contain the qubits of which we disregard throughout compression. \n", + "\n", + "Our input state therefore $|\\psi_{AB}>$ contains $n + k$ qubits. We define the reference space $B'$ which contains the reference state $|a>_{B'}$. This space will contain the additional $k$ qubits we use in the decoder. All of these subsystems can be seen in Figure 3. \n", + "\n", + "We define the parameterized circuit as $U(\\theta)$ which we will use as our encoder. However the structure and parameters of our parametrized circuit is currently unknown to us and may vary for different input states. To determine the parameters to compress our input state, we must train our device to maximally compress the state by adjusting the values of the parameters $\\theta$. For the decoder we will use $U^{\\dagger}(\\theta)$.\n", + "\n", + "Our goal therefore is to maximize the fidelity between the input and output states, i.e.\n", + "\n", + "$$\\text{max }F(\\psi_{AB}, \\rho_{out})$$\n", + "\n", + "where\n", + "\n", + "$$\\rho_{out} = U^{\\dagger}(\\theta)_{AB'} \\text{Tr}_{B} [U(\\theta)_{AB}[\\psi_{AB} \\otimes a_{B'}]U^{\\dagger}(\\theta)_{AB}]U(\\theta)_{AB'}$$\n", + "\n", + "We can maximize this fidelity by tuning the parameters $\\theta$ in our parametrized circuit. However, this fidelity can at times be complicated to determine and may require a large amount of gates needed to calculate the fidelity between two states, i.e. the larger the number of qubits, the more gates required which results to deeper circuits. Therefore we look for alternative means of comparing the input and output states. \n", + "\n", + "As shown in [2] a simpler way of determining an optimally compressed state is to perform a swap gate between the trash state and reference state. These states usually have a smaller number of qubits and are therefore easier to compare, due to the smaller amount of gates required. As shown in [2] maximizing the fidelity of such these two states is equivalent to maximizing the fidelity of the input and output state and thus determining an optimal compression of our input circuit. \n", + "\n", + "Keeping our reference state fixed, our cost function will now be a function of the trash state and is denoted as; \n", + "\n", + "$$\\text{max }F(\\text{Tr}_{A} [ U(\\theta)_{AB}\\psi_{AB} U^{\\dagger}(\\theta)_{AB}], a_{B'})$$\n", + "\n", + "Throughout the training process, we adjust the parameters $\\theta$ in our encoder and perform a swap test (as described below) to determine the fidelity between these trash and reference states. In doing so, we must include an additional qubit, our auxiliary qubit, which will be used throughout the swap test and measured to determine the overall fidelity of the trash and reference states. This is the reason why we included both an auxiliary qubit and classical register in the previous section when initializing our circuit. " + ] + }, + { + "cell_type": "markdown", + "id": "af4f5611", + "metadata": {}, + "source": [ + "### The SWAP Test" + ] + }, + { + "cell_type": "markdown", + "id": "721636a1", + "metadata": {}, + "source": [ + "The SWAP Test is a procedure commonly used to compare two states by applying CNOT gates to each qubit (for further information see [3]). By running the circuit $M$ times, and applying the SWAP test, we then measure the auxiliary qubit. We use the number of states in the state $|1\\rangle$ to compute:\n", + "\n", + "$$S = 1 - \\frac{2}{M}L$$\n", + "\n", + "where $L$ is the count for the states in the $|1\\rangle$ state. As shown in [3], maximizing this function corresponds to the two states of which we are comparing being identical. We therefore aim to maximize this function, i.e. minimize $\\frac{2}{M}L$. This value will be therefore be our cost function." + ] + }, + { + "cell_type": "markdown", + "id": "24563883", + "metadata": {}, + "source": [ + "## 5. Building the Quantum Autoencoder Ansatz" + ] + }, + { + "cell_type": "markdown", + "id": "aa17e37a", + "metadata": {}, + "source": [ + "First, we implement IBM's Qiskit to build our Quantum Autoencoder. We first begin by importing in the necessary libraries and fixing the seed." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6497cb31", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import time\n", + "import warnings\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from IPython.display import clear_output\n", + "from qiskit import ClassicalRegister, QuantumRegister\n", + "from qiskit import QuantumCircuit\n", + "from qiskit.circuit.library import RealAmplitudes\n", + "from qiskit.quantum_info import Statevector\n", + "from qiskit_algorithms.optimizers import COBYLA\n", + "from qiskit_algorithms.utils import algorithm_globals\n", + "\n", + "from qiskit_machine_learning.circuit.library import RawFeatureVector\n", + "from qiskit_machine_learning.neural_networks import SamplerQNN\n", + "\n", + "algorithm_globals.random_seed = 42" + ] + }, + { + "cell_type": "markdown", + "id": "5793bc10", + "metadata": {}, + "source": [ + "We begin by defining our parametrized ansatz for the Quantum Autoencoder. This will be our parametrized circuit where we can tune the parameters to maximize the fidelity between the trash and reference states. \n", + "\n", + "### The Parametrized Circuit \n", + "\n", + "The parametrized circuit we will use below for our encoder is the RealAmplitude Ansatz available in Qiskit. One of the reasons why we have chosen this ansatz is because it is a 2-local circuit, the prepared quantum states will only have real amplitudes, and does not rely on full connectivity between each qubits, which is hard to implement or can lead to deep circuits. \n", + "\n", + "We define our parametrized circuit for our Encoder below, where we set the repetition parameter to `reps=5`, to increase the number of parameters in our circuit allowing greater flexibility. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "78152563", + "metadata": {}, + "outputs": [], + "source": [ + "def ansatz(num_qubits):\n", + " return RealAmplitudes(num_qubits, reps=5)" + ] + }, + { + "cell_type": "markdown", + "id": "seasonal-atmosphere", + "metadata": {}, + "source": [ + "Let's draw this ansatz with $5$ qubits and see what it looks like." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "expanded-consensus", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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5ksO1u/4nKlv3Mpvb3+fLm36nfbeyL7X8b/lf6fWXUtR2REWrpvBhf1uCMrvINIQVmXg1GNB7qFt5OxfS6fWfQLbeAvpsdww8vOb/8OTb97B9Jk/ok3zrvzs5n+zK/+rMz533YUP8ac3v8//e7wLUVHRTLr6WZoktbChxSIi1vJ2P/jkjNspLDlAlCuaRrEJPHLrWyQlNLGhxSIN4+02P3flK7wy91eUlBWyZON7vPXZNH53xyy6tu2v8wJxNCsyoGOCOJ23OfjTWz+guqaSJ2fcceK1n930Lzq17sOYgbeyZe9Kbp+aiQsX14x8wFGFDYlsVmTgnx/9km25XxIVFUN0VDT3Xf1XMtKygvlrNIiKe2GkU+s+PPfjc3cbTYhL4le3zAhCi0REgsvb/eATd30ShNaIBJ632/ylg2/n0sG31/mezgvEyazIgI4J4nTe5uDVh7fV+150VDSTx//VymaJBI0VGZhy46tWNino9FhumIuJjqO47DB3PZVNYcnBc37+xdkP8caCx2mc0CwIrRMRCTztByXS+LrNn43yIE6kDIhYm4N3Pn+a6TPvUa9ucZRIy4DL4/F47G6EnKm2ChZMt7sV3hs9GaJ9G95ERGzw6Ew4Vg5NEuA34+1uTf2ctg8E7QedwikZAOflQBlwBmUgsJSD0KcMBJYy4AxOyYEy4D313BMREREREREREXEoFfdEREREREREREQcShNqhKioWNOd0ymiYu1ugYiEE6ftA0H7QbGe03KgDIjVnJYBUA7EWsqARDplwHsq7oUol0tjFYhI5NI+UEQ5EFEGJNIpAxLplAHv6bFcERERERERERERh1JxT0RERERERERExKFU3BMREREREREREXEoFfdEREREREREREQcSsU9ERERERERERERh1JxT0RERERERERExKFU3BMREREREREREXEoFfdEREREREREREQcSsU9ERERERERERERh1JxT0RERERERERExKFU3BMREREREREREXEoFfdEREREREREREQcSsU9ERERERERERERh1JxT0RERERERERExKFU3BMREREREREREXEoFfdEREREREREREQcSsU9ERERERERERERh4qxuwFSN48H3NV2t8J7UbHgctndChEJF07bB4L2g2I9p+VAGRCrOS0DoByItZQBiXTKgPdU3AtR7mpYMN3uVnhv9GSI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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "num_qubits = 5\n", + "circ = ansatz(num_qubits)\n", + "circ.decompose().draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "c8925b02", + "metadata": {}, + "source": [ + "We now apply this Encoder to the state we wish to compress. In this example, we divide our initial $5$ qubit state into a $3$ qubit latent state ($n = 3$) and $2$ qubit trash space ($k = 2$). \n", + "\n", + "As explained in the previous section, we must also include a $2$ qubit reference space in our circuit, as well as an auxiliary qubit to perform the swap test between the reference and trash states. We will therefore have a total of $2 + 3 + 2 + 1 = 8$ qubits and $1$ classical register in our circuit.\n", + "\n", + "After initializing our state, we apply our parametrized circuit.\n", + "\n", + "Following this, we then split our initial state into the latent space (the compressed state) and trash space (the part of the state we will disregard) and perform the swap test between the reference state and the trash space. The last qubit is then measured to determine the fidelity between the reference and trash states. A pictorial representation of this is given below in Figure 4. " + ] + }, + { + "attachments": { + "qae_fig4_wide.png": { + "image/png": "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yeplypRR0aJF05w7rW7cuKHjx4/rwoULunXrlry8vJQjRw4VL15cgYGB8vDIepcOJyUl6ejRozpz5sw/Nfv7+6tcuXL8PgAAAADgtKz36QcAAAAAAAAAAADAI+eTTz7R7du3TeNvvPGGvv76a+XMmdNmnkKFCqlHjx7q0aOH/v77b40ePVo///zzPw2UHh4edl3UGxwcbNo4GR4enur5jjh8+LDOnDlj19qwsDCXN05GRESYxmxN37TX9u3bdfDgwRTHLRaL/P39de7cuRSxgwcP6q+//lLNmjXTvL8zgoKC1KlTJ7vXHz9+XGPGjNFPP/2khIQE03XLly/X1KlT1atXL1eUaVPt2rVVu3Ztp849e/asaeOkr6+v3n///bSUBgB4CPXo0UPDhg3TnTt3UsSmTZumYcOGpVsjzoQJEwyPN23aVGXKlEmXPe0RGRmpWbNmKTw8XJs3b7b5XjYwMFANGzZUx44dFRwcnK5NS0lJSdq4caNWrVqlzZs3a8eOHTanUOfIkUPVqlXTU089pWbNmql58+bpVl98fLx++eUXrVq1SuvWrTNsiJX+9569SpUqqlevnjp06KD69es7td+FCxf03Xff6eDBg7p69apy5MihQoUKqU2bNmrbtm1aHso//vrrL02fPl2nT5/WzZs35ePjo8DAQPXt21eVKlVyKNfu3bs1adIknT59Wrdv31b+/Pn17LPP6rXXXpPFYrlvbWJioiZOnKiJEyfq8OHDKXJVrFhRXbt21aBBg+Tp6enUYztx4oRmzZqlsLAwbd26VfHx8aZrS5UqpQYNGqhjx45q0aKF3N3dndrzQZGRkRo/fryOHz+umzdvKm/evKpevbree+8908+G69at05QpU7RkyRJdu3YtRTxv3rxq0KCBunfvrrZt2zr0/UlISNCcOXMUGhqqdevWKTExMcUaf39/BQcH67XXXlOtWrXsf7BpkJycrPDwcM2fP1/r1q3TkSNHTNd6enqqVq1aatKkibp3766yZcu6rI5FixZp4cKFOn/+/D+f90JCQtSiRQvTuhctWqRZs2Zp1apViouLS7HG3d1dtWrVUseOHdWzZ0/5+fk5XNfu3bs1b968FDdR2r59u+k5n376aar//uDj46O33nor05vjAQAAANhgBQAAAAAAAAAAAIBMdPbsWaunp6dVkuFXnz590pR/z5491uef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VqxYoaFDh6pVq1aqWbOmypYtqwoVKqhOnTp6+eWXNWPGDEVGRppOEr3r22+/dai2c+fO6T//+Y9hrFChQtqyZYsmTZqkRo0aydvb+764n5+fgoOD9dNPP+ncuXP6/vvv/5lU7uHh8c//fpSMGjVKGzZsSHE8R44ceuONN/TXX38pLi5O586d06ZNm/TJJ58oKChIHh4eevbZZ03zWq1Wde3aVadPnzaMe3l5aeTIkTp48KA++eQTVa1a9b5G29y5c6t27doaPny4Dh48qFGjRsnd3d0wV2RkpN577z0HH7m5YcOGadWqVSmO+/n5aeLEiTpz5ozmzJmjkSNH6t///rcWLlyos2fP6u2337bZ4LhlyxaNGTNGzz33nGEzc5UqVRQREaFDhw7p+++/18iRI/Xdd99p/fr1Onr0qJo0aWKz7k8//VS3bt1y/AFL2r9//z+NnUaeeOIJrVu3TsuXL1f37t1VrFixfxok3dzc5O/vr44dO2r69Onat2+f6e9ySfr666+1efNmp+p8kNVq1QsvvGD4O6tMmTKaO3fuP8/XqFGjNGbMGM2aNUtRUVH65ZdfbN7Qx2q1atCgQanWMHr0aCUlJclqtd73Zet335UrV1Ksf/Drxo0batSokV3fBwAAAACZw/hfYgAAAAAAAAAAAAAgg/j5+enChQuGsZMnT9q82De9BQcHmza4hYeH6/XXX3c6d3JystatW2cYa9SokYoVK6YpU6YYxsPCwtS0aVOn95ak1atXm8ZatmyZptySFBoaani8SZMmKlCgwH3HunTpojVr1pjmeemll9JcT0bz8PBQxYoVtWnTJsP4xYsXM7iih8PNmzf122+/aenSpVq3bp3N6Ud58uRRvXr1FBwcrK5duyp//vzpVtfx48c1c+ZM/f7779qyZYvp1NfHHntMdevWVYMGDdStW7dUJ7cmJSXpm2++SfE78NKlS6bnrF27Vh988EGqNTdt2lTPPfdcqusAwFG9e/c2nUA4efJktWnTJs17TJgwwfB46dKl1axZszTnt8e8efO0dOlSw5iXl5cWLFhg980mcuTIocGDB6tcuXIKCQlRQkJCijVz5szRwIEDVatWLbtyPjiZvVatWvrss88cfo+YP39+/fTTT/L19dU333xjuGbx4sU6f/68XRPg7q43eoySNHfuXFWrVs2uPD4+Purfv7969Oih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yJHFzsXa2hqHDh3C2LFji71WeeHo6IgLFy6gR48eJbpP5cqVMXjw4BLd43MwdOhQnDhxosSLGv38/DQqVK5oTExMsGHDBujqataHxtLSUssZERERERGRNrFwkoiIiIiIiIiIiIiIiIjKRFZWFgYPHozZs2ejTp06WL58OXJzc7Wy9rVr1zB79myl482bN0fjxo2LvU+rVq1gZmamcOzYsWM4deqUwrGOHTsWe+927drB0NBQ4djRo0dx8uRJhWN+fn4QCAQa7amq22Tv3r01XlddX331lcof4qvKj8re0KFDoaenp3AsOjoas2bNKuWMZInFYqUFj0URHh6udMzBwUGtNUxMTJS+v69fv/7JFJkS0afPysoKX331ldLxnj17wtrauhQz0oypqSmCg4MRGhqKevXqaXVtS0tLfPvtt4iKiiry91NbW1tcvXoVQ4YM0Xh/W1tbbN26FXv27IGpqanG67zXoEED3Lp1q1jfOT/UqVMn3L59u1hFkwAgFArx559/YunSpTAwMNBojb59++LmzZvw9fUtVi7lkbm5Ofbs2YPdu3ejdu3aWl3bxsYG33//PR4+fAg3Nzetrv25ateuHe7du4cff/xR6XdGTbVo0QKbN2/GgQMHtLpueebj44N///1Xo6JvTW9KREREREREpYOFk0RERERERERERERERERUJqKjowsKJZOTkzFp0iR88cUXCA4ORn5+vsbrnj17Fp06dVLYbfG9mTNnarz+h3R1deHj46Nw7Pz58wgLC1M41qFDh2LvbWRkhDZt2igcu3LlCnbt2qVwTFWXTFXy8/MRHBysdLykuzAB7x7z119/rXQ8KCioWK8dKlmOjo4qCzuWLVuG//znP1rbLycnB4cPH1baJfVj7u7ucHZ2xo4dOyCRSDTaUyqVYtmyZUrHlb1nPyYUCpUW5uTm5iIkJESj/IiIPmZlZaWw6ENfX19rxWHTp0+HnZ2dXNzBwUGrRfOdO3eGUCj7cziBQKCVLuPvdevWDXfv3sX+/fvRq1cvjYps9PX14eHhgQkTJuDw4cOIi4vDqlWr1C6u/1iVKlWwdetWREREoH///io7fH7IxcUFixcvxqNHj+T+fnZ3d5eb7+npqXZOzs7OOHToEO7du4fvvvsONWvWVPtc4F33zWHDhuHcuXMICwuDi4tLkc5XRiAQYPLkybh37x6GDh2q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NTW14DEbGBigbt26ahWMicVixMbGIjExEQKBADY2NqhWrRqEQt6DGADevHmDV69eISsrC6ampnB0dISJiUmp7P3o0SNcvXoVDx48QExMDJKSkpCTkwOxWAxdXV2YmZnBzs4Ozs7OcHV1hbu7OywsLLSeh1gsxq1bt3Dx4kVERUUhJiYGGRkZkEgkMDExgbm5OaytrdG8eXN4eHhoXPSpLqlUinv37uHMmTOIjo5GcnIyMjIyYGxsDGtrazRq1Aienp4lngcRERERERERERERUXnHwkkiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiL6ZPA2mURERERERERERERERERERERERERERERERERERPTJYOEkERERERERERERERERERERERERERERERERERERfTJYOElERERERERERERERERERERERERERERERERERESfDN2yToCIiEgTr169wunTp5GRkQEzMzP4+PjA3Ny8rNOiCuL27duIjIxEbm4uHBwc0KlTJ+jq8msREREREREREREREREREREREREREREREdGnQCCVSqVlnQQREVFRdezYEadOnSo4Hjp0KLZs2VJ2CVGFIZFIYGhoiLy8vILYxo0bERAQUIZZERERERERERERERERERERERERERERERGRtrC1EhERlars7GzExcUhJycHZmZmsLGxgVAoLPI6ubm5MscikUhbKX5Wbty4gaCgIKSkpMDGxgYBAQGoUaNGWadVoqRSqUzRJMDXT3kWGRmJf/75B6mpqbCzs0NAQACqV69e1mkRERERERERERERERERERERERERERERUTnGwkkiIipRIpEI+/btw4EDBxAeHo7Y2Fh82OxYR0cH9vb2aNOmDb788kv4+/vDxsamDDP+fCQlJaFt27bIyMgoiP3999949OiRRsWsJCs/Px+zZ8/GlStXCp1rZmaGypUrw8nJCS1atECbNm1gYmJSClmWb/Hx8fDy8kJWVlZB7J9//sGDBw/KMCsiIiIiIiIiIiIiIiIiIiIiIiIiIiIiKu9YOElERCVCJBJhxYoVWLJkCZKSkpTOE4vFeP78OYKCghAUFAQDAwMMGTIE06ZNQ82aNUsx48/P7du3ZYomASA6Ohrx8fGwt7cvo6w+HXv27MF///tfjc41NjZG3759ERgYiFq1amk5s4rjxo0bMkWTABAVFYWkpCRYWlqWUVZEREREREREREREREREREREREREREREVN6xnRQREWndzZs30axZM/z8888qiyYVycnJwYYNG9CoUSP89ddfJZQhAe+KVqnkvHz5UuNzMzMzsWnTJtSvXx+LFy/WYlYVS3l7jebm5iI6OhpPnz5FXl5eWadDREREREREREREREREREREREREREREREqwcJKIiLTqyJEjaNOmDe7du6d0jqGhIZycnGBrawsDAwOFczIzMzFs2DBcvny5pFL97NWvX1/u+teoUQO2trZllNGnRSqVFnuNnJwcTJs2DVOmTNFCRhVPw4YNoaenJxOrVatWmXSbfPjwIapWrYqaNWvCxcUFNjY2ePXqVannQURERERERERERERERERERERERERERESF0y3rBIiI6NMRHh6OHj16IDs7W27M3d0dw4YNw9dffw17e/uCuFgsxq1btxAWFoYtW7bg4cOHBWNSqRQXLlyAh4dHqeT/ubG1tUVYWBhCQkKQnJwMBwcHjBo1CkIh76tQUiIiIuDqUgqX6gAAIABJREFU6ioTS01NRVpaGu7cuYPQ0FDs2bNHrtPikiVL0KZNG3Tv3r000y1zjo6OOHz4MHbv3o2UlBQ4Ojpi9OjRZZJLfHw8MjIyCo5TUlLw+vVrmc8zIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiofWDhJRERa8erVK/Tq1UuuaLJKlSpYsmQJAgICIBAI5M7T0dFBkyZN0KRJE0ybNg3BwcGYMmVKQSe3nJycUsn/c9W+fXu0b9++rNP4bJiamsLc3Fwm9v64cePGGDRoEG7evIkePXrg6dOnMvNmzJiBr776SuH76FPm7e0Nb2/vsk6DiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCoQtpQiIiKtGD9+PBISEmRipqamOHHiBEaOHKlWsZdQKMSAAQNw584dDB06FABQr169EsmXqLxq1KgRDhw4AB0dHZn43bt3cenSpTLKioiIiIiIiIiIiIiIiIiIiIiIiIiIiIio4mDhJBERFduxY8fw77//ysSEQiH27NmDZs2aFXk9c3NzbNmyBc+ePUO3bt20lSZRheHm5obu3bvLxU+fPl36yRARERERERERERERERERERERERERERERVTAsnCQiomKbN2+eXGzYsGHw9vYu1rpOTk5qdarUFpFIVCH3kEqlyMnJ0fq6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NFbRCic18XG3vuzsbLlCxvesrKygqyt7T4INGzYUOwdbW1uZ42PHjuHp06fFXreorly5gszMTJnYwIEDSz2Pj1WvXl3mOC0trYwy0R4HBwf897//RVRUlFpFk+np6Th37pxMrKjPTbt27WSOpVKp0u6diYmJMsfVqlVTa4+Puzq+efOmCBkWzs7OTub4xo0bWi/O1FRYWBikUmnBsaGhIXr27FmkNT5+LRS1u6qdnR3++OOPIp1DREREREREREREREREREREREREREREVBGxcJKIiDSmqJtbeerwpg3GxsZysezsbIVzDQ0N0bp1a5nY2rVrMXPmzGJdly+//FLmWCQSwcfHBzdv3tR4TU2cP39eLvZxbmXByMhI5ljZ81ORDBw4EN9//73cY1Pm0qVLcp1I27RpU6Q9HRwc5F7vDx48UDj34wJhRd1WFfm4qLVKlSpFyLBw3t7eMl1LpVIpunXrhrNnz2p1H0182M0TANzd3WFoaFikNerUqSNzHBMTU6TX+5w5c1C1atUi7UlERERERERERERERERERERERERERERUEekWPoWIiEgxMzMzudjbt2/LIJPyY9q0aThz5oxMbOHChQgKCsL06dMxaNAgGBgYFGnNNm3awNPTU6Zw8cmTJ2jWrBn69euH6dOnw83NTSv5q3Lr1i2Z40qVKsHFxaXE9y3Mh4Vy5V1AQAAsLS0LjpOSknDu3Dk8fPhQZt7ixYtx5MgRnDp1Cubm5oWuGxkZKRcTi8WIjo4uUn6GhoYyXUUVdZUFAHt7e8TGxhYc3759G3369Cl0/YsXL8ocOzg4FCm/wri4uKBXr14ICQkpiCUkJKB9+/bo1q0bZs6cCXd3d63uqa6rV6/KHJuZmRX5+cnIyJCLJScnq30dFX1mExEREREREREREREREREREREREREREX2KWDhJREQaU1SE83FHufLs0aNHOHnyJO7du4eHDx8iMTERmZmZyM3NLZijqFBJFT8/P0yaNAm///67TDw6OhojR47Ezz//jKFDh2LMmDGoXbu2WmsKBAJs27YNrVq1wuvXrwviYrEYO3bswN9//w0vLy+MHj0avXv3hp6eXpFyVldycrLMcbVq1SAUllzzaolEgsjISISHh+P+/ft4/Pgx3r59i7S0NEgkkoJ5b968KbEctO2HH35A/fr15eLHjx/H2LFj8eTJk4LYzZs38dVXX+H06dPQ0dFRuW5iYqJcrEGDBsXOV9n7uV27djJFkNu2bcPMmTNVFgVHRUXhxIkTMrEOHToUO8ePrV27FtevX8fjx48LYlKpFKGhoQgNDUXz5s0xevRoDBw4UO2OntqQlJQkc7x//37s37+/2OumpaVpvQCViIiIiIiIiIiIiIiIiIiIiIiIiIiIqKIruWoHIiL65CnqhFfUDmqlLScnB6tXr0adOnVQp04djB07FitXrkRYWBgiIyPx4MEDREdHF/z5sFBRXUuXLsX8+fOhqyt/f4KkpCQsXboU9erVQ8+ePXH58mW11nRxcUFERAQaNmwoNyaVSnHmzBkMHDgQLi4u+O2332S6BmpLamqqzLGJiYnW9wDeXaPAwEDY2dnBw8MDkydPxoYNG3Dq1ClERkbi8ePHMs9RRSrWVebLL7/ExYsX4erqKhMPDw/H6tWrCz1fWWfI4jI2NlYYHzlypEwxZ0xMDMaMGYP8/HyF85OTkzFw4ECIxeKCWOXKldGtWzftJgzA0tIS586dQ9u2bRWOX716FaNHj4aTkxNmz55dKoW3+fn5SE9PL5G1S+p9SERERERERERERERERERERERERERERFSRsXCSiIg05ujoKBe7fv16GWSintu3b+OLL77AxIkT8ejRoxLbRyAQYObMmYiMjETv3r0VdguUSCTYu3cvWrZsiYCAAGRnZxe6bq1atXD16lWsXLkSNWrUUDjnxYsXmDp1KurWrYvjx48X96HI+LjwS19fX6vrA8C///6LWrVqYdGiRRoVrVZklpaW2L17t9x1nTVrlly3z49lZWVpPR8LCwv06dNH4VitWrXw448/ysS2bt0KDw8PbN68Gffu3cOLFy9w8+ZNrFixAg0bNkRkZKTM/MDAQFStWlXreQOAra0tTp8+jS1btsDNzU3hnKSkJMyfPx916tTBP//8UyJ5vJeVlQWpVKr1df39/RV+DhMRERERERERERERERERERERERERERF97uRbYREREampQYMGcrFnz57hzZs3JVYQpanbt2/D09MTGRkZMvFKlSqhY8eOaNasGZycnFC5cmWZ8fPnz2P58uUa7dmwYUPs3LkT0dHR+OOPP7B161YkJibKzJFKpdi0aRMeP36Mo0ePwsDAQOWaenp6mDhxIsaNG4c9e/Zg/fr1OHXqlFxR1suXL9G5c2fs3r0b3bt31yj/jxkZGckca7urZXBwMAYOHAiJRCITt7CwgK+vLxo1agQ7Ozu5PP766y8cOHBAq7mUFVdXV4wfP17mNZeeno4//vgDM2bMUHqeqampXOzBgwfQ09PTOBcHBweVr0dFnQ6vX7+OESNGFLp2jx49MHXqVI1zU4dQKMTQoUMxZMgQHD58GOvWrcOhQ4dkul4C77ph9u/fH6mpqRgzZkyJ5GJiYgKhUCjz2u7Zsyd+++03jdc0MDCAg4ODNtKjMlASXYHLMx2hUOFNBOgdHV1dCIW8pxERERERERERERERERERERERERERkTaxcJKIiDRma2uLWrVq4fHjxwUxqVSKkJAQjB07tgwzk5Wfn49+/frJFU1OnDgRc+fOhbm5udJzPy6y0oSLiwt+++03LFy4EEFBQfjll1/w8OFDmTlnz57FwoULMW/ePLXW1NXVRZ8+fdCnTx88evQIv/76K7Zt24bc3FyZ3IcNG4aHDx/Cysqq2I+jSpUqMsepqanFXvO958+fY8yYMTKFZYaGhli0aBHGjRunsrvlxYsXtZZHeTB58mSsWbMGeXl5BbFVq1bhp59+UlrIaGZmJhezsrKChYVFieR46tQpzJkzp8jnCQQCTJo0Cb/88kupFVEJBAJ06dIFXbp0wYsXL7Bs2TKsX79epkunVCrFxIkT0b59e9StW1frOQiFQpiamsq8ZwQCAVxcXLS+F1UMxw4fLusUiEhDOjo6ELIQWCEWSasm1NHh9VFBRyjke0sFHb5+VOL7Szm+t1Tje0s1If9uV4nfC1Xj+0s5vrdU43tLNf67SzVdPT0IBIKyToOIiIiIiIiIiIiIiMoRFk4SEVGxdOrUSaZwEgC2bt1argonw8LCcO/ePZnYrFmz1C5S1BZ9fX0MHToUgwcPxtKlS/Hzzz/LFAquWLECM2bMKLTr5Mdq166NjRs34ueff0bv3r1x48aNgrHU1FSsX78eM2fOLHb+H3cRffnyJdLT0+W6dGpi48aNePv2bcGxQCBASEgIunbtWuy1KxpHR0f0798ff/31V0EsISEBu3fvxoABAxSeY21tLRd78eJFiRVO/vDDDwVdTvX19XHs2DGcOXMGGzZswPPnzxXm5+/vj0mTJinsVFtaqlWrhmXLlmHq1Kno378/Tp8+XTCWl5eH33//HevWrSuRvW1sbGQKJ1+8eFEi+xARUckSi8VaubHGpyiv8ClEREREREREnw09PT2AhZwKCfB/14cUEgiF0NXlT3mU0dHRgVAoLOs0yi1dXV1eHxX42aycAO9uQkCKCfnZrJJQRwc6/OxRijf4UE2P10cpgUDAz57/Y6aiKQIRERERUWH4rZqIiIplwIABWLNmjUzs4sWLOHr0KHx9fcsoK1n79++XOTYxMUFgYGAZZfPuP6pPmTIF6enpmD9/fkH87du3uHTpEry8vDRat1atWjh27Bjc3NyQmJhYED927JhWCicbN26MnTt3FhxLpVJcu3YN7dq1K/baoaGhMsctW7b8LIsm3xs/frxM4SQArFu3TmnhpLu7u1zs5s2baNiwodZzu3btGm7dulVw3LdvX3h5ecHLywuzZs3C06dPER0djfT0dFhYWMDW1hZ16tTReh7FYWtri4MHD6JJkyYy3V9PnDhRpHXeF4+qw93dHVFRUQXHd+/ehVgs5h3iiYiIiIiIiIiIiD5BeXm8xZAqubm5ZZ0CERERERFVEN2/+YYFtkRERESkMd7qh4iIiqVVq1Zo0qSJXPzbb7+FSCQqg4zkxcbGyhzXq1cPlSpVKqNs/r9x48bJxeLi4oq1pqWlJXr16qXVNd9r1qyZXGzXrl1aWfvjLoWKXlOfkxYtWsh1Zjx37hzu3r2rcH7z5s3l7s78cTGqtty8eVPmuFq1ajLHzs7O8Pb2xtdffw0vL69yVzT5npGREYYOHSoTe/XqldL5iu7il5KSovZ+LVu2lDnOyMgocqEmEREREREREREREREREREREREREREREamHhZNERFQsAoEAc+bMkYs/evQIffr00fiOsWfOnEGTJk3w559/FjdFZGdnyxwXpUvchx3itM3ExEStWFFVrlxZ62sCQOvWrWFqaioT++uvv5CQkKD2Gjk5OTh8+LBcPCsrS+ZY3edIIpHIdAz8lAQEBMjF1q1bp3CukZERvL29ZWIHDhxAdHS01vPKyMiQOQ4NDUV6errW9ykNRXmvGBsby8Vev36t9l7+/v5y3SVXrlyp9vlEREREREREREREREREREREREREREREpD4WThIRUbF1794dfn5+cvH9+/ejW7duct0EVUlISMCYMWPQoUMH3LhxQ667nSZsbGxkju/cuYO0tLRCz/vjjz8wd+5ctfeJjY3F48eP1Z5/4cIFuZizs7NcLDw8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TUsdd/XVV8fw4cMTbvP8+fNL3MF23rx5ScHJiIjbb7895s2bl7Rb6meffVbu5/a3SvseAQAAAAAAAAAAAADszrbvHeoAsIX9998//v3vf8fNN9+ctKtgef3gBz+IN998M/70pz9FVlZWpfTVr1+/uPnmmyMtLa3E81uGJmvVqhX33XdfPPnkk5GZWb7PGbjmmmvKDF6VpE+fPjFixIgSg2OtW7eOyy+/vMJzNm/ePMaMGRMnnnhiha8tS3Z2drz88stxxRVXVCjslpaWFj179ox33nmnxB0Gn3nmmTjjjDNKvLawsDApNNmiRYsYOXJkXHnllRW7AbuQ9PT0uPjii5Pq3w2Ybqlr167x3nvvbddurfvvv3/06NFjq+dfeeWVOPvssxMChP369YuxY8fGK6+8EsOHD4+nnnoqnnjiiRg4cGDccsstkZubmxAu/taIESPi0Ucf3eZev5WVlRX/8z//s9Xn+NbUr18/hgwZEt26dStzbKdOneKWW24p17wNGzYssZ6RkRFPP/10PPDAA1GnTp0K9fqttLS0uPzyy5OC1QAAAAAAAAAAAAAAfMOOkwBUulq1asWAAQOiX79+8cwzz8SIESNi8uTJScG37+rQoUOcccYZcdZZZ8Vxxx1X5hqtWrVKON5zzz3LvGbAgAHxox/9KO666654++23o6ioKGlMnTp14rzzzovf/OY30a5du6S1mjRpstUdHA8//PCYPn16PPnkk/Hcc8/FjBkzttpLRkZGnH766XHttdfGSSedVGrfjz/+eHTv3j0effTReOONN2Lt2rVbHdu6deu4+OKLo1+/flG/fv1S543YtvsxIiIzMzMee+yxuPjii+O3v/1tjB07NjZu3Fji2AYNGsTpp58eN9xwQxx22GFbnTMnJyfGjBkTzz//fNx///3x8ccflziuefPm0adPn7jtttuiXr16xbfj888/L9dtSE9PjxYtWsSiRYuKj1u3bl3mba6odu3aRUZGRvHjvkGDBtGkSZMKz3PJJZfEI488El999VVxbcWKFaVec9BBB8XkyZOLQ4kTJ06MvLy8rY5PS0uLfffdN44//vjo1q1bdOnSpcRwa0TE1KlTo2/fvgnz3XXXXXHrrbeWeVs2bdoUTz31VFx//fUJ1z/wwANx1VVXlRh6bNWqVfz73/8uPi7t+9u/f/84/fTT45FHHom//OUvpd5PTZo0iYsuuihuuOGGaNGiRZm9f+vOO++M9u3bR//+/WP+/PlJ59PT06Nbt25x6KGHljpPv379onfv3nH//ffHiBEjYtasWaWOr1WrVhx++OFx2mmnRW5ubrRv377U8bVr14769evHypUrI+Kb5+yWz3dS55TTTiv32Pz8/Cjaxp1ddwcl7RbNN4qKitw/pSgsLIyC/9ulmGQFBQXbvKv07mDz5s0l/r8E3/Das3VFhYXFO6STrMBrc6m8Npcu32vzVhWF1+bSeG0GAAAAAAAAqL7SirybAIAdYPXq1fHJJ5/El19+GatXr46Ib4JALVu2jA4dOpS4E11Z5s+fH3l5eVGrVq0K77y2ePHieP/992Pu3LmxZs2aaNSoUbRr1y5++MMfJu2UWVhYGAsWLIjNmzdH69atIzs7u1xrLFmyJP73f/83Fi9eHIsWLYqMjIxo0KBB7LffftGxY8fi0F9F5Ofnx5QpU2LGjBnx9ddfx5o1a6J27drRrFmzOOKII2L//fev8I5723M/fmv9+vUxfvz4WLhwYSxatChq1KgRzZo1i3333TeOPPLIrYbwSjNr1qz44IMP4quvvor169dHy5YtY5999oljjz02ab7NmzfH/PnzIyMjI1q1alXmevn5+TFv3rwoKiqKhg0blitkui02bNgQixYtiqysrGjRokW5dy/d0nf7rVmzZoWCfhHffH8mTJgQCxYsiGXLlsW6deuifv360aRJk2jRokUccsgh5b4PTj311HjzzTeLj88999x49dVXK9RP//7943e/+11Cbc6cOdG2bdsSx8+bNy82b95c/Fgvj8LCwpg2bVpMmzYtFi9eHKtWrYpatWpF48aN4/DDD48DDzxwmx6X3yooKIgpU6bE1KlTY/ny5ZGdnR1t27aNo446apsCsnPnzo1JkybF0qVLY+nSpRER0axZs2jSpEm0adMmDjrooAo/fjZv3hzz5s2LiG+ConXr1q1wXwAAAAA7i4KCgigs5cP5dncFBQVRIGS/VYUFBaV+uOPuzAc0lK7AY6dUnlul8/wqnefX1hX673qp/FxYOs+t0u0Mz6/1tfaLorSsCl2TVrQ5aq3/tIo6+obnVun8P1fpCvLz/dxDlfnx+edX+P1wAADwLcFJAADKZf78+dG2bduEX3Z/9NFH0bFjxwrN869//SuOP/74hNqHH34YRx11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AAAAAAA7C8FJAHZrW+4GmZmZGeeff/42z1enTp04++yzE2qrV69O2vHwu773ve8lHG/atCnefPPNMtcqLCyMPn36xDvvvFPhPufNmxe33nprQu3ss8+OM888s/j4uuuuS+ptyJAhMXbs2Aqvl2rr169POK5IsG3mzJmV3c42a968eXTt2jWhNmTIkJg8eXLMmDGjuJaWllalwcn09PTo169fUv3pp5+OJ598cpvnveyyy2L8+PEJtXr16sX1119f5rW1atWKNm3aJNRee+21cn2vp06dGj/+8Y9j48aNFWu4BM8880xS6Hhr8vLyknapzc7OLnN3zW1Rp06dhONly5ZFfn5+pa8DAAAAAAAAAAAAALAzEJwEYLe1YcOGGDFiREKtc+fO0bRp0+2at2fPnkm1LQOa33XkkUcm1QYMGBCFhYVbvWbjxo3Ro0ePGD58+Db1+Itf/CLWrFlTfFyzZs146KGHEsZkZ2fHo48+mnTtFVdcUeoOmjujZs2aJRx//fXX8dlnn5V53ahRo+Kyyy6rqra2Sd++fROOP/3007jhhhsSaieccEK0bdu2Svv4+c9/HgceeGBS/aqrropBgwZVKJy6cuXKyM3NLXH31HvuuSdatGhRrnm2fC59/vnnSTtxbmnixInRpUuXWLFiRbn7Lcvdd98dN910U6nP4YiI/v37x5w5cxJqp512WtIutJWhSZMmCccFBQUxbty4Sl8HAAAAAAAAAAAAAGBnkJnqBgAgVf7yl7/E6tWrE2rdu3ff7nm7du0ajRo1imXLlhXX3nzzzfj666+TwksREccee2y0bt065s+fX1ybMGFCXHnllfGHP/whsrKyEsZPmzYtLrnkkpg4ceI29Td8+PAYM2ZMQu2WW26JvfbaK2nsSSedFLm5ufHSSy8V12bNmhV33nln3HXXXdu0fiocd9xxcd999yXUbrzxxnj11VcjPT35cyQKCwtj4MCB0b9//51uV76zzz47GjZsGMuXLy+uvfXWWwljevfuXeV9ZGVlxfPPPx+dOnWKvLy84vrmzZvj2muvjb/85S/x61//Oo477rhIS0srcY4NGzbEsGHD4o477oi5c+cmnc/NzY3LL7+83D117949Xn311YTaZZddFm3atIljjz02oV5QUBBPP/109OvXr0qCwPfee298+umn8fDDDyfthFlUVBQDBgyIe++9N6GekZER/fv3r/ReIqLEkOsjjzwSnTt3Tvr+bN68Oel1BwAAAKi4sa/9OTIzs6tk7vXr1pQ9CAAAAAAAAGA3JjgJwG5ry10gs7Oz49xzz93uebOzs+OCCy6IJ554ori2efPmGDZsWFx11VVJ49PT0+P666+Pfv36JdSfeOKJGDduXPTu3Tv22muvWLp0abz//vvx8ssvR0FBQfG4bt26xRtvvJEUAi3JihUr4pe//GVCbZ999okbb7xxq9fcf//98de//jVhh8r77rsvevbsGR06dChzzZ3Bj370o2jVqlUsWLCguDZ69Ojo2rVr3HrrrdGpU6eoUaNGLFq0KN5+++146KGH4qOPPioem5aWVqEdFKtSjRo1onv37vH444+XeD4nJycuuOCCHdJLx44d44UXXoiePXsmPCYjIt5+++14++23o1mzZnHEEUdE06ZNo3nz5pGenh6rVq2KGTNmxIQJE8oMLa5duzbq1q1brn7OOeec2G+//eLTTz8trq1evTp++MMfxgUXXBBdunSJ2rVrx8yZM+Pll1+O6dOnF4+rWbNmnHfeeTFkyJAK3AOJ9txzz9i4cWMsWbIkIr7ZsfRvf/tb5ObmxpFHHhkNGzaMOXPmxJAhQ2LatGlJ11922WVxxBFHbPP6pTnuuOOiTp06sXbt2uLayJEj4+STT44LL7ww6tSpE7NmzYpXXnklcnJy4sMPP6ySPgAAAGB38sf7b0t1CwAAAAAAAAC7LcFJAHZLX3/9dbz55psJtZNPPjkaNmxYKfP36NEjITgZ8U1Qs6TgZETEL37xixgyZEhCWC8iYvr06XHbbVt/g1WfPn3imWeeKXEny5LceOON8dVXXyXUHn744cjJydnqNS1btozf/OY3cd111xXX8vLy4rLLLotx48aVuGPjzqZmzZoxaNCguPDCCxMCkP/4xz/iH//4R0R8s4Pi5s2bk64966yzokaNGjFixIgd1m9Z+vbtu9Xg5Jlnnhn169ffYb1069YtateuHb169YpVq1YlnV+8eHH87W9/26a5X3rppfjoo4/ipZdeio4dO5Y5Pjs7Ox555JE4/fTTE3YKLSgoiGHDhsWwYcNKvK5OnToxZsyY+PLLL7crONmmTZv405/+FCeffHLxDrKbNm2K5557Lp577rlSr+3SpUvcf//927x2WWrXrh0XX3xxPPzwwwn1bwOu39W0adMq6wMAAAAAAAAAAAAAYEcQnARgtzRy5MikkFz37t0rbf7jjz8+2rRpE/PmzSuuffDBB/Hll19G27Ztk8ZnZWXF3/72tzjllFNi8uTJZc5fs2bNuPPOO+Paa68td3Dx3XffjWeeeSahds4558Rpp51W5rVXX311PPvss/Hxxx8X1957773405/+FD//+c/LtX6qnX/++fHwww/HddddV2JAcstaVlZW9OvXL+6+++64+OKLd1Sb5fL9738/DjjggIQdE7/Vu3fvHd7PGWecEVOnTo1+/frFK6+8sk27c2ZmZsaZZ54Zr7/+euTl5RXXP//88+jUqVPx4z0rK6vUeU455ZQYPHhwXHzxxQnzbM0RRxwRgwcPjoMPPrjMcGN57L///vHee+/FRRddFOPGjSvXNeeff34MHjy41ABzZbjzzjtj3LhxZb7GVFaAHAAAAAAAqJj3//m3mDVzapXNn7dpU5XNDQAAAACwsxGcBGC3tHTp0oTjvfbaK84999xKmz89PT2uvPLKuOWWW4prGRkZsXjx4hKDkxERjRs3jg8++CDuueeeePTRR2PJkiVJY3JycuK8886L/v37x/77719cb968eaxYsSIiIho0aBB16tRJunbEiBEJgbbmzZvHoEGDynV7MjMz449//GOccsopsX79+uL6W2+9VWJwslWrVrFgwYLi4zZt2pQ6f9OmTSM7O7s46Fa3bt1o0KBBqde0bNky4XjPPfcs83ZcddVV0alTp/jd734XY8aMiYKCgqQxNWrUiDPOOCN+/etfx8EHH1x8e75Vq1ataNy4canrfHd8eXurqNtuuy369OkThYWFxbVGjRqVKwhbFVq3bh0vv/xyTJ06NZ555pkYNWpUfPHFF2Ve1759++jevXtcfPHF0b59+3jrrbfivPPOi9WrVxePycvLi1/96lfx1FNPxYABA+K8886LtLS0rc7Zq1evOPzww+P666+PsWPHlvh9bt++fVxxxRVxzTXXFIcxmzVrFmlpacXPk7Iet3vssUfk5OTExo0bi++DiG++3++880488sgjMWjQoJg9e3bStWlpafH9738/brzxxjjvvPPKuJf+vyZNmiQ8V+rUqVPuoGPdunXj3XffjVtvvTWeeuqpEoOl9erVi1tvvbXc/QAAAAAAAJXn5ecfTnULAAAAAADVRlrRtmwJBADVwJIl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aTJiZblt9913j+nTp7fr/jX75qlUKubNmxd77713q6XJiGi1cNbY2Bjf/OY34/jjj29XaXLVnBtvvDH23XffmD9//nrnfuedd2LXXXeNX/ziF22WJiMiqqur4/zzz08r7rVHfX19nHTSSXHGGWe0qzQZsfLkyOOOOy4mTZq0zntffPHF2HnnnWPy5MntKk1GrDy5cfz48fHTn/60Xfevj1XFz/aUJiMiPvroozj//PPbvGdt78OIiKuuuiq+8IUvrLM0GbHyY+fII4+Mm266qV25Jk+eHDvvvHP86le/andpMiJWF3JPP/30ds+JiKioqIgDDjgg/vu//7vdJ+JOmzYtxo4dG3fdddc67/39738fo0ePbndpMiLimWeeib322iseeeSRds+BznDUfsOUJgEAAAAAAAAAAAAA1kNOpgMA3eP111+PV199NW1s1113jbKysjbn1dTUxJe//OWYNm1a2nh+fn6MHz8+Ro0aFQMGDIilS5fGtGnT4h//+EfU19evvu+5556L8ePHx5QpUyInJ/1Tzuc///n1ei7Z2dlrnfu9730vrrvuuhbje+21VxxwwAExdOjQqKqqin//+9/x+OOPpxXaFi1atPp5brfddh3KU1dXF0cfffQ6S6VrPv+IlSd5HnXUUfHoo4+2uPfLX/5y7LnnnlFWVhbLly+PWbNmxZNPPhnV1dWr73vjjTdi3LhxMX369CgtLe1Q7jfffDOOOuqo+OSTT9LGBw4cGJtvvnl89NFHsWTJkhbzrr322th///3bdVpjKpWKb3zjG/Hwww+3eKygoCB22GGHGDx4cFRWVsbs2bPTnltExPXXXx/nnntuDB8+fK3rT506NcaPH99i3mabbRaHH354bLXVVpGdnR0ffvhhPPXUU/H666+nZZs0aVIUFhbG2Wefvc7n0hGPP/54i4JpUVFRHH744TFmzJgoLS2NpUuXxiuvvBKPPPLI6vyffvpph/ZJJpNx5plnxm233ZY2np2dHVtttVUUFRXFBx980KK8nEqlYuLEibH99tvHIYcc0uYe5513XouSc15eXuy2226x4447Rv/+/aOmpibeeeeP1/6WAAAgAElEQVSdePHFF6O2tjbt3jvuuCP233//+Na3vrXO51NVVRVjx46Nt956q8Vj/fr1ix122CH69esXixYtitmzZ0djY+Pqx5uamuKiiy6Kk08+udX1b7/99jjjjDNalIQ/97nPxSGHHBLDhw+P+vr6mDt3bjzxxBPxwQcfrL6nrq4uvv71r8eTTz4Z48aNW+dzgQ01bFBBHLbvJpmOAQAAAAAAAAAAAADQKylOwkagvr4+zjrrrBan1Z111lnrnHvRRRe1KE0eddRR8ctf/jI23XTTFvfPmzcv/uu//iv+/ve/rx574YUX4ic/+Ulceumlafeed955cdRRR63O9cc//jG+973vpd0zffr0GDBgQNpYUVFRbLJJepnksccei5/85CdpY9tvv33ccccdse+++7bIWVNTE1dffXX86Ec/Wj22fPnyOO2002LKlCmRldX+A3kvvPDCtFLqdtttF5dddlmMGjUqlixZEk8//XQ8/fTTsdtuu7WY+9Of/rRFaXLs2LFx++23xzbbbNPi/oqKijj33HPj3nvvXT32zjvvxKRJk+LWW29td+aIiPHjx8fSpUtXXx9++OFx1VVXxS677BIRK0t5Tz75ZJx99tnx7rvvps296KKL2lWcvPnmm1uUJouKiuLKK6+M008/Pfr37796vL6+Ph566KG4+uqrV789U6lUfPLJJ2stTi5dujROPPHEtNJkQUFBXHfddTFhwoTIzs5uMefhhx+OU089NRYvXrx6bNKkSXHwwQd3uDDblu9///tpH2877bRTPPbYY7H55pu3uLeqqiruvvvuuOaaa1q81tfl6quvTivsDh48OC644IL4zne+s/pt29zcHPfff39897vfTSvJNjc3x4QJE+LNN9+MvLy8ta7f0NCQ9vYdPXp0fPvb344TTzwxBg4c2OL+RYsWxaRJk+K3v/1t2viPfvSjOPnkkyORaPvkvHPPPbdFaXKTTTaJn//85/H1r3898vPzV4+vWLEi7rzzzrjuuutWn2RaUVERTU1Nay0pv/7663HOOeeklSaHDh0at912WxxxxBEt7m9qaopf/epXccEFF6wuaDY2Nsapp54ar732WpSUlLT5XGBD9CvOie+dtF3k5TgcHgAAAAAAAAAAAABgfSRSazapgB5r9OjRMXPmzLTrGTNmtDnn3XffXV0G/Kw999wznnvuubUWjFaZMmVKjBs3Lq0Adsopp8TkyZPbLBbW19fHwQcfnLZncXFxzJ8/P/r169fqvMmTJ8fpp5+eNrZ48eJ2nYo5cuTItNP6dthhh5gyZUoMGTKkzblXX311XH755WljDz74YBx++OGtztl///1j6tSpa33s6KOPjrvvvjsKCgra3Dci4u23345ddtklGhoaVo8dcsgh8eCDD7ZaZItYWWg84YQT4r777ls9lpWVFXPmzImtt9661Xn9+/ePysrKFuN5eXnxq1/9Kk499dS1zps/f37sscceMX/+/LTxmTNnxqhRo1rdb/HixbHFFltETU3N6rHi4uJ4+umnY88992x1XiqViltvvTUmTpwYdXV1MWfOnBg5cmSL+04//fSYPHny6uucnJx49NFH4+CDD2517YiIWbNmxd577512iuJJJ50Ud999d5vz2mvevHkt3g8vvPBC7L333m3Oa2hoiAULFqy1XLnKNddcE5dddtlaH9t9993jz3/+c6vz33vvvdhnn31anIx66623xplnntnqnqNHj47c3Nz4/ve/v9aC4docddRR8Ze//CVtbMaMGTF69OhW57zwwgstSs5bbrllPP/88zFs2LBW59XX18cll1wSN954Y5SUlKz1NR4RMWbMmJg+ffrq6yFDhsTUqVNj++23b/O53HvvvXH88cenjV1//fUxceLENudtLA6a+FymI/Q5+blZcfN5o2LrTYsyHQUAAIAeomn+m5mOAPRBU+b3j9qmjv3grsKcZOw/bHkXJaK385oCaFvOsB0zHQEAAAAANjqOsYFerKamJqZPn572a+rUqfHQQw/FDTfcEIcffnhsv/32LUqT22yzTTzwwANtliYjIn72s5+llSa33XbbuOWWW9Z5GmN+fn7cfvvtaSf+VVdXxx/+8If1eJbrds8996SVJrOzs+Puu+9eZ2kyIuKSSy6JnXfeOW3s9ttvX68c48aNi3vuuaddpcmIlacxfrY0OXjw4LjrrrvaLE1GrCxJ3nLLLWkl1GQyGXfccUeHMxcUFMRjjz3WamkyImLYsGFx5ZVXthh/4okn2lz7tttuSytNRkT8/Oc/b7M0GRGRSCTiO9/5TkybNi1uuOGGtZYmFyxY0KLoePHFF6+zNBkRMWrUqLj44ovTxv70pz+lnb65Id5+++2064KCghgzZsw65+Xl5bVZmmzLwQcfHFOnTm1z/tZbbx0333xzi/G77rqrzbVnzJgR06ZNa3dpMiLiiiuuaDG25sm1a7rhhhvSrhOJRNx7771tliYjVn6++fnPfx5PPvlk3HbbbWu955lnnkkrTUZE/PKXv1xnaTIi4rjjjmtRpF7fzxHQHvl5WZGd1fbprAAAAAAAAAAAAAAAtE1xEnqxt99+O8aMGZP2a//9948jjjgiLrjggnj44Yejubk5bc5hhx0WL7zwQmy22WZtrv3+++/Ho48+mjZ28cUXR2FhYbuybbvttnHQQQeljT3yyCPtmttRv/zlL9OuDzvssNh9993bNTc7OzvOOOOMtLG//e1vaYXG9igvL4/77rsv8vPz23X/ihUrWhTWJkyY0K6yZ0TEoEGD4rjjjksb6+jbNysrK+6+++748pe/vM57jz/++CgqSj/9bPbs2W3OWbPEts0228S3v/3tdufbeeed4/zzz1/rY7fffnvU19evvi4uLo4LL7yw3WufccYZacXeurq6eOqpp9o9vy1rvnaSyWR05eHOY8aMiT/96U/t+tg85phjYtttt00b+9e//hWffPJJq3MSiY4XuHbdddcYMGBA2tj777/f6v0LFiyIBx54IG3syCOPjL322qvdex544IFxwgknrPWxNT9H7LTTTnHMMce0e+0JEyakXb/11lsxZ86cds+HjqisbopLb58dK2qaMh0FAAAAAAAAAAAAAKDXUpyEjcT+++8ff/3rX+Ohhx6KwYMHr/P+J554Iq10mZubG8cee2yH9hw3blza9b/+9a8OzW+P+fPnx6xZs9LGTjrppA6tMXbs2LTrurq6mDlzZofW+PWvf93u0mNExLPPPhsrVqxIGzvxxBM7tOeab9/XX3+9xQmPbTn77LPj6KOPbte9xcXFMWrUqLSx9957r9X7586dGx988EHa2HHHHZdWVtwQf/3rX9Ouv/rVr7Yo6rVl0003bXHaYGe9PjfddNO064aGhvjd737XKWuvKT8/Px599NEoKSlp1/2JRKLFx3EymYwXX3yxU3MlEokWp18uW7as1fufe+65FiXvjn48tKa5uTmefPLJFmt3pBD6xS9+scVrtys+n8EqC5bUx60Ptv45FgAAAAAAAAAAAACAtilOwkZg6NChcdFFF8UhhxzS7jnPPfdc2vWoUaOitLS0Q/uuebJdRUVFLFmypENrrMuaOSNWlpw6Yrvttmsx9vbbb7d7/kEHHRRHHHFEh/ZcM/fQoUPXmqMta759m5qaOnQKXkeKnhERI0aMSLuurKxs9d7nn3++xdiBBx7Yof1aU19fH9OnT08b6+j7PKLl+70j7/O27LrrrjFo0KC0sXPOOSfuvPPOTln/s/Ly8qK8vLxDc77whS+0GHvjjTc6K9Jqa55QWldX1+q9a/s47qzXy2uvvdbitdrR10tRUVEMHz48bayzXi/Qmr9Pr4jX32v98ywAAAAAAAAAAAAAAK3LyXQAYP0NHTo0TjnllNXXjY2N8f7778dTTz2VdrrbggUL4rDDDovLLrssrrrqqnatvWYxraysLObOnduhfGueqBgRsXTp0igrK+vQOm1ZM2dubm5UV1d3OGtubm40Njauvu5IwbMjJx2usmbu8vLyDmdeunRpi7HOLqZ+1prF2erq6lbvffXVV1uMff7zn++UHLNnz25RwsvNze3w2y+VSqVdd9bbLicnJyZOnBiXXnrp6rH6+vo45ZRT4pZbbonLL788Dj300MjKyszPLthhhx1ajHWkcNteHTnRcc3Xy/Dhw9fr42pt1vxYi1j5vl+fzxGf1ZUfaxARkUpF3PHY+/HzCTtnOgoAAAAAAAAAAAAAQK+jOAm92LBhw+LHP/5xi/Ha2tq48cYb44orroimpqbV41dffXUMGzYszjrrrHWuvWjRorTrJ598MkaOHLnBmds6pXB9rJmzsbExttlmmw1et7NzrmnN3K+99lqPfPt+Vn5+ftp1Mpls9d41S2WFhYUdPuGyNQsXLmwx1p7X9LosX758g9dY5cILL4x//OMf8be//S1tfNq0aXHYYYfFyJEj49vf/nacfvrpnfZ2aa/NN988srKy0t5/HXnu9fX18c9//jOmT58es2fPjnnz5kVNTU2LNT7++ON2r7lmCXiLLbZo99x1WdvrZezYsRu8bld/joCIiNfmVsacj6tjm82KMx0FAAAAAAAAAAAAAKBXycxxV0CXKiwsjEsuuST+/Oc/R3Z2dtpjkyZNig8++GCda6ztNMPOUFzcueWPrjr1rbNzrqm3vH0/qyMnCH72xNOIiJKSkk7L0Rvedrm5ufHQQw/FySefvNbH33333bj00ktjyy23jDPPPLPDpx9uiJycnCgsLEwbW9vpsGt6++234+STT45BgwbFV77ylbj00kvjnnvuieeeey5eeeWVmDt3btqv+vr6dmda8326sb1eoC0vvdU1r2EAAAAAAADg/2fvzuPsrut78b/O7Fv2PRA2i6wSkCpie2lVuPWqtVbFK1htK1StVavWVlpcrrXa6q/VroqltWKvV3FrLW5QFxaLQCABAiFlC2TPTGaSzL6c5fcHEBmyzSQzc5LJ8/l45JE5n/P9fj+vmZxMJjPndd4AAAAATGeKkzCNveIVr8gHPvCBUWu9vb15//vfv9/zRkZGMjw8POF5XvKSl0zINMin6+/vn9DrJcmiRYvyqle9asKv+3R9fX0Tfs2zzjor559//oRf92A8s4jX0NAwYdeejD/zurq6XH755RN6zaamplxzzTW54YYb9jnhcGBgIJ/73Ody+umn5+Mf/3gqlcqEZtiXZ04Pravb9wDqSqWSP/uzP8sZZ5yRf/3Xf52Ux+6R9niZMWNG3vCGN0z4dWFvbn9AcRIAAAAAAAAAAAAAYLz23ZQApoUrrrgiV199dTZv3rx77Wtf+1o+9rGP5aSTTtrrOfX19Wlubs7AwMDutZe//OX527/924PO0dDQkGOOOWZcUwvHYubMmaNut7S0ZPXq1Qd9vUKhkGOOOWZCi1t7M3PmzGzdunX37ec+97n52te+dtDXq6ury7HHHpuamsOjD9/S0jLq9kSW7Z75Z54k//zP/5xf/uVfPuhrzp07N7Nnzz6EVPt20UUX5aKLLsqKFSvy2c9+Ntdee+0eZb6hoaFceeWV2bBhQz772c9OSo6n6+3tHXV71qxZ+zz2Pe95T/7mb/5mj/UTTzwxF154YU4//fQsWLBgj78zV155ZR566KEx5Znqx8tPf/rTLFy48KCvuXjx4j0yw2R5cENviqVK6mon9t9PAAAAAAAAAAAAAIDpTHESprmmpqa8+93vzh/90R/tXiuVSvnrv/7r/RYhZ8+ePao4mWSfRctqembZbWBgICeccMJhUyDcl2fmLhaLh+XH92A9s4jX29ubYrG438mGY7W3gmNra+th//F73vOel+c973n59Kc/nauuuiqf+tSn0t7ePuqYq666KhdddFFe/epXT1qOzs7OPSbK7qs4+d3vfneP0uTSpUtz1VVX5Vd/9Vf3u8+nPvWpMRcnn7n/zp07x3TeWOzt8TJ37tzD/vECTxkplrO1azDHLmiudhQAAAAAAAAAAAAAgCPG4d0sAibEW9/61j2KSddcc80eU+eebtGiRaNub9y4cVKyHapn5qxUKtm0aVOV0ozdkfLxPVjz5s0bdbtYLObhhx+ekGvvbVLgkfTxmzVrVt7//vdn3bp1ueyyy/a4/5Of/OSk7v/AAw/ssXbyySfv9dhPf/rTo27PmjUrP/nJTw5YmhyvZz5eHnzwwZTL5Qm59pH+eIEk6ekvVjsCAAAAAAAAAAAAAMARRXESjgIzZ87MG9/4xlFr3d3d+fKXv7zPc37+539+1O21a9fuMaXucPDMnEly7733ViHJ+Dwzd1dX17Qqcy1fvnyPtbvuumtCrn366aentbV11NqR8Gf+TC0tLbn66qv3KCHecccd6e7unrR9b7zxxj3WzjnnnD3Went786Mf/WjU2uWXX54TTzxxwjOdffbZo2739fVl7dq1E3Lt5z3veXusHYmPF45uw8WJKRIDAAAAAAAAAAAAABwtFCfhKLG3yXZXXXXVPo9/wQteMOr20NBQvv/97094rkN13nnn7bH2rW99qwpJxueZH9/kyMg9VnsrtH7961+fkGvX1dXl3HPPHbX2ve99LyMjIxNy/alUKBTyu7/7u6PWKpVKtm7dOqbz+/r68m//9m/j2vOb3/zmqNt1dXV57nOfu8dxmzZt2mPq494KlhPhmX+eSfK1r31tQq596qmn7jFxdzr9XQMAAAAAAAAAAAAAAPakOAlHibPPPnuPMtvKlStzxx137PX4l770pamvrx+19jd/8zeTlu9gLV68OM9//vNHrV177bVjLp5Vyy/+4i9mzpw5o9Y+85nPHJHlv7059dRTc8IJJ4xa+/a3v501a9aM+RqlUinf/va39yjvJckrX/nKUbc7Ojry//7f/zuorNXW1ta2x9ozJ2ruS7lczqWXXpqbb755TMf/4Ac/yKpVq0atXXjhhXs8FpOkv79/r/uNxa5du7Jly5YxHZskL3nJS/b4fPO5z30uPT09Y75Gb29vfvCDH+yxXlNTk1e84hWj1m6++eY9Pg4cnPo6X0oCAAAAAAAAAAAAAHD4qat2AGDqXHbZZbnzzjtHrV111VV7FA+T5Jhjjsmv//qv56tf/erutR/96Ef5zGc+k7e//e2TnnU83vGOd+RNb3rT7tvd3d15y1vekm9+85upqzs8P821tLTkzW9+c/7qr/5q99qaNWvyoQ99KH/+539exWQTo6amJpdddlk++MEP7l4rFot5y1vekh/84Adpamra7/kbN27MG97whtx888257bbb9pgs+uY3vzkf+tCHRpX73ve+9+WCCy7IiSeeOLHvzDitXr06ixcvzoIFC8Z0/K233jrqdktLSxYtWjTm/QYHB/OKV7wiX/3qV/PSl750n8f19vbu9e/ub/zGb+z1+L1luPXWW/PGN75xv3l27tyZl770pXn88ccPkPxnFi9enFe+8pX5xje+sXtty5Ytee9735urr776gOffddddueSSS/Loo4+mu7s7LS0to+5/xzvekS996Uu7b5fL5Vx22WW56aabMmPGjDHnZE/f/cT5e6z1D5ZSrlR23y6Xk77B4qhjiqVKBodLGRwuZ7hYTt9AMUMj5QyN/Ozt4WIlvf3FDBefWO8dKGb4yd+7+4vp7htJsVR55vYAAAAAAAAAAAAAAGDiJBxNLrnkkj0KRddee2127ty51+OvuOKKPabAveMd78jHPvaxDA8PH3C/SqWSW265JZdffnnOPvvsvU6wmwive93rcsopp4xau+666/LqV796zFPv1q1blw9/+MNZvnx5brzxxklIuad3vetdmTlz5qi1v/iLv8jv//7vp7e3d0zXWLlyZd71rnflOc95TjZu3DgZMQ/a7/zO72T27Nmj1v7rv/4rv/Zrv7bPP5eBgYH85V/+ZZYvX757iuLepofOmTMnv/d7vzdqbfv27fkf/+N/5JZbbhlTvt7e3vzLv/xLLrroorzvfe8b0zljcckll+SEE07IlVdemR07duz32AcffDCf/OQnR629/OUvH3fht6enJ7/6q7+aT3ziExkaGtrj/vb29vzKr/xKHnrooVHrp59+el73utft9ZpLly7NSSedNGrtmmuuyerVq/eZ4957780LX/jC3H777ePKnyR/8Ad/kJqa0V+W/NM//VN+93d/N319fXs9p6OjI+9973vzwhe+MA899FBKpVI6Ojr2OO4FL3hBLrzwwlFrq1atykte8pI8+OCDY8q3bdu2/NVf/VXOO++8fOELXxjbO3WUammqTVtz3e5fM1vrsmRe06hfyxY25+Rj2/Kck2bm3GfPzgXL5+ein1+YV5y/OP/7xcfmTb9yXC5/+fF598XPyh9dcnI++KZT8om3npFPv+M5ufoPz8m1H35evvfJF+ZbH39B/vXKc/N3v788H/ud03PFpc/O2191Yn7jomV55S8syS+dPT9nPWtWls5vMh0TAAAAAAAAAAAAAOAocniOYgMmxaxZs3LxxRfnmmuu2b3W39+fL37xi3nXu961x/HnnHNOPvrRj+aKK67YvVapVPKBD3wgn//85/P6178+L3rRi7JkyZLMmDEj3d3d2bZtWzZt2pSbbrop119/fTZt2rT73PXr1+fUU0+d8PersbExX/7yl3P++eePKo1dd911+fGPf5xLLrkkF110UU4++eTMnTs3AwMD6ejoyLZt27JixYpcf/31ueeee1J5ckLanXfemV/+5V+e8JzPdNxxx+Wzn/1s3vCGN4xa/9u//dt89atfzaWXXpqXvOQlWbZsWWbNmpXe3t50dHRk06ZN+a//+q9cf/31eeSRR3af98ADD+TYY4+d9NxjtWjRonzyk5/MW97yllHrN9xwQ0455ZS84hWvyAte8IIsXLgwO3bsyL333ptvfetbe5Qqm5ub93r9j370o/nhD3+YlStX7l7btGlTLrjggvzP//k/88pXvjLnnntu5s2bl8bGxmzdujXt7e15+OGHc/311+emm27KwMBAkiemlE6Uzs7O9Pf35+Mf/3g+/elP5+KLL85rX/vanHnmmZk9e3Z6enqybt26fP3rX88XvvCFUSXZmpqacZU4nyoalsvlFIvFXHHFFfnMZz6T3/7t385pp52W3t7erFq1Ktdcc80eZdxCoZC/+7u/26Mc/XS//du/PWpq6MDAQH7pl34pf/qnf5pXv/rVWbp0afr7+3P//ffn85//fL7whS9kcHBw9/UrlbFPAzz//PPztre9LZ/5zGdGrV911VX593//97zqVa/KmWeemXnz5qWjoyO33XZbrrvuuvT09Iw6/pnl8Kdcc801Wb58ebZv3757bcWKFTnzzDPzmte8Jv/rf/2vnH766VmwYEFGRkbS3t6ejo6O3Hvvvfn+97+f22+/PaVSKUly9tln57d+67fG/L4xeVoaa9PSWJvFc8d2fFf3cNp3Dqd951A6dg5lW9fQ7rfbdwxlZ+/I5AYGAAAAAAAAAAAAAGBKKE7CUebyyy8fVZxMkquvvnqvxckk+cM//MOsX79+jzLTo48+mo9//OP5+Mc/Pua9m5qaxh94jM4555x86Utfyhvf+MbdZbjkiamCV199da6++uoxX2sycz7TpZdemnXr1uWDH/zgqJLZ1q1b86lPfSqf+tSnxnytqcw9VpdffnnuvPPO/OM//uOo9Z6ennz5y1/Ol7/85f2ef8IJJ+T888/f632NjY355je/mZe97GVZs2bNqPtuuOGG3HDDDWPOOZEfu8WLF++ekjkwMJAvfvGL+eIXvzimc//4j/84z3/+88e8V2tra/75n/85b3zjG3eXhtevX5+PfOQjBzz3r//6r/PiF794v8e8973vzZe+9KWsXbt299qOHTvyzne+M+985ztTX1+fkZE9i2Zz5szJhz/84bz73e8e8/uSJJ/85CezZs2aPaa+bt26NVddddUBz7/wwguzYMGCvd63dOnSfOtb38qv/dqvjSpPjoyM5Ctf+Uq+8pWvjDnn4fh3jbGZO7Mhc2c25NTj2vZ6/8BQKRs7BrKxYyDrtw1kQ8dAHt3cl03bB1Muj70IDAAAAAAAAAAAAABAddVUOwAwtX7hF35hj6mP9913X1avXr3X42tqavIP//AP+Yd/+IfMnDnzoPYsFAr5rd/6rZxwwgkHdf5YveY1r8mNN96YZz/72Qd9jeXLl+fVr371BKY6sCuvvDLXXnvtPgtfY/Gyl70s55133gSmmhiFQiFXXXVVPvShD+13suHevPSlL82tt96aGTNm7POY448/Prfeemte85rXpFAoHFTG2bNn5z3vec9Bnbs3V1555T6nZO5LfX19PvrRj+bP/uzPxr3fxRdfnBtuuCHHHHPMmI5vaWnJZz/72X2WpZ957Pe///19TordW2nynHPOyS233JILLrhgTHmerrW1Nd/97ndz6aWXjuu8mpqavPWtb81//Md/7Pe4F77whbn99tsP6e/K8ccfnze/+c0HfT6Ht+bG2px8bFtedM6C/OZLj8sH3nhKPv/+5+ZbHzsvf/POs/LOV5+Ul5y7IAtmN1Y7KgAAAAAAAAAAAAAA+6E4CUeQk046adTtk08+edzXKBQKueKKK1JT87O//rW1taMmsO3N29/+9qxbty5XXnnlmPZtbm7O+eefn4985CNZu3Zt/uVf/uWA5xx77LGpra3dfXvhwoVpaWk54HlP9/znPz/3339/vvCFL+T8889PXd3+B+vW1NTktNNOy9ve9rb8+Mc/zsqVK7N06dL9nvPMgtpxxx03rox7c/HFF2fdunX5xCc+kTPPPPOAJcD6+vqce+65ueKKK3L33XfnO9/5ThoaGsacu1AojDv3M48f6/mFQiEf+chHsnr16rz+9a9PW9veJ70lSVtbW3791389N998c773ve9lyZIlB7z+rFmz8vWvfz133HFHLr744syePfuA5yxevDivetWr8sUvfjGPP1TsHJ0AACAASURBVP54XvWqV43pfRmL1772tbn//vvzB3/wBwcsM7a0tOQ3f/M3s2rVqnzgAx846D0vuOCC3HfffXnb2962z49va2trLrnkkqxevTpve9vbxnzt448/PitXrsyf/umf7vfP47TTTsvf//3fZ8WKFTnjjDMyf/78UZMZly1bNqb9mpub86UvfSk33XRTLrroov0+rhcsWJDLLrss999/f6666qoxFVZPOumk3Hbbbbnuuuty4YUXjml65EknnZQ3velNue666/Lggw9m+fLlY3pfmD6aGmpz+gkz8spfWJIrLn123n/p+P/9BQAAAAAAAAAAAABg6hQqlUql2iGAsevo6EhPT09mzpyZ+fPnH/R1du3alc7OziRPlI/2N9VvbzZu3JgVK1aks7MzHR0dqVQqWbx4cebPn59ly5blzDPPHPeEwSTp7u7O9u3bUygUsmzZsgMWHw+kp6cnt956a7Zu3ZrOzs709/dnzpw5WbRoURYvXpyzzjrroCZpbty4McPDw2lpacnixYsPKePetLe35/bbb09HR0c6OzszNDSUhQsXZuHChVm6dGnOOuusMRW+nq5cLmf9+vUpl8uZPXt25s6dO+5cTz3+6urqsmzZsoOa8jg0NJRbb70169evz7Zt25IkS5YsyQknnJDzzjvvgAXQAymVSlm1alUeeuihdHZ2ZufOnWlra8v8+fOzYMGCnHbaaRNSdh2rxx57LHfffXe2bNmSzs7ONDQ0ZP78+Tn99NNzzjnnpLFx7JPrPvaxj40qWM6YMSPd3d2jjunt7c0Pf/jDPP744+np6cmSJUtyzDHH5IILLhj3JMxnKpVKWb16dVauXJnt27enVCrl2GOPzfLly3PWWWftcXxvb2/a29vT3Nw8phLs3nR3d+cnP/lJtmzZkq1bt6alpSWLFi3KqaeemrPPPntUCfxgDA4O5vbbb8+GDRvS2dmZnp6ezJo1K/Pnz8+SJUty5plnHtLnWqanex7Zlfd95r4p2+8v335mlj9r1pTtBwAAwOGluPmBakcApqGbN8/KQHF8319trivngqW7JikRRzqPKYD9q1t6WrUjAAAAAMBRR3ESAI4QYylOApNPcRIAAICppDgJTAYlN8ZruFxIQ82+n1owGY+pA+0JcCRRnAQAAACAqXdoY5oA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AAAAAAAAAAAAAAAAAAAIcFeMSdaH32SqzOFsfDJOOHa7XZMnT/Y4hW/KlCm66aablJqaqj179uiTTz5RSUmJgoKCaucUFBTU/jo8PFzTpk3TTTfdpFGjRslkMnnt85///Ec33HCDMjIyascOHjyof/zjH7r55pvrzbdw4ULl5eXVXlutVq1YsULjx4/3mvvss8/q3//+tx599FGtXbtWSUlJvn8gJKWlpdX+OiwsTHfeeafuv/9+dezYUdJPH6slS5bo97//vUpKSmrnFhUV6dFHH9UzzzzTpP0aM2vWLD3//PMeRTtJevnll7Vq1So9+eSTmjx5cqvuKUl33323srKyaq9TU1N1//336+abb64tuVZUVOj111/X7NmzVVxcXDvXbrfrrrvu0tq1a+t9flFRkUdpcvTo0brllls0adIk2Ww2r/lHjx7VjBkz9PHHH9eOud1uPf74440WJ10ul2644Qav0mTPnj2VlpamCy+80KMQnJeXp0WLFiktLU25ubmSfipe1mfVqlWaN2+ex1iPHj30yiuvaMyYMV7zHQ6H/vznP2vevHm1ReXS0lLddNNNWrt2rUJCqGMB7UFQ41MAAAAAAAAAAAAAAAAAAAAAAICRYmxmTTyraQUznDiKiop05MgRSVJQUJBeffVVvfvuu7rooos0cOBAXXHFFXr55Zf17rvveqwbNmyYoqKidNddd2nfvn165ZVXNHr06DpLk5I0fvx4ffbZZwoNDfUYf+eddxrMt3z5co/r3/72t3WWJmvyX3DBBfr666+1d+9epaamNvjs+iQlJenrr7/WwoULa0uT0k8nIt55551asWKFR4m05nVUV1c3a7/6REVF6c0336yzTHfo0CFNmTJFY8aM0cqVK1t135+XJidMmKDNmzfrrrvu8jgZNCwsTNOnT9eXX34pq9Xqsf7bb7/VJ598Uu/zU1NT1blzZ5133nlavXq1vvrqK91www11liYlKSUlRe+//75GjhzpMb569Wrl5OQ0+Fr++c9/6t///rfH2JAhQ7RhwwZdfPHFHqVJ6acTKOfMmaMDBw7o2muvlSTFxsbW+eyKigrddNNNHie19uzZU2vWrKmzNClJFotFjzzyiJ544gmP8fXr13t9rgMIXBQnAQAAAAAAAAAAAAAAAAAAAABoBy45q5OsluDGJ+KEtmDBAt14440+zb3oootUWFioZ599VsnJyT6tOfXUU3X55Zd7jK1fv96jePZzLpdLe/fu9RgbPXq0T3v16NHDp3m/1L17d3333XcaNmxYvXPOO+88XX311R5jOTk52rhxY7P2bMj48eO1dOlSr8JpjTVr1ujCCy/U6aefrmXLltX7sWyO6667Tp999pni4uLqnXPaaad5nbgoSa+//nq9a0JDQ5Wenq5Vq1Zp7NixPmUJCQnRAw884DHmdru1fv36BtctXLjQ49pisej9999XVFRUg+siIyP1xhtv6L333tOTTz5Z55x3331X6enptdcmk0mvv/66Tyedzpo1S0OHDvUYW7x4caPrAAQGipMAAAAAAAAAAAAAAAAAAAAAALQDiTFh6pVS92lvODlceeWV+s1vftOkNfWdLtmQXxblCgoKVFRUVOdcp9Mpp9PpMdbapzr+XEJCgj7//HOfTqq8+eabvcZ27Njhj1i68sortXr16gbLoJs2bdKUKVM0dOjQBk979NVFF12kl19+2etExrrccccdiomJ8Rj77LPPVFFRUe+a5nzunHPOOV7rDh06VO/8zZs3a926dR5jt912m7p16+bznpMnT9avfvWrOu8999xzHtcXXHCBzjzzTJ+eGxQUpBkzZniMrV69WmVlZT5nA2AcipMAAAAAAAAAAAAAAAAAAAAAALQD764+qs376i6v4cSXnJzsVQLzl7pKifUVJ81msxISEjzGXnrpJb/kkqQXX3xRvXr18mnuyJEjFRTkWZ05cOCAP2JJks466yxt2bJFjz32mKKjo+udt2nTJl1yySUaN25cs/MkJSXpvffek9ls9ml+RESELr30Uo+xkpISbdu2rVn71yc6Otrrtdf3uSNJ//3vf73GfnlSaHPl5eXp+++/9xi75pprmvSMc845x+O6urpaGzZsaHE2AP5HcRIAAAAAAAAAAAAAAAAAAAAAgABXVFalN/9z1OgYMNAjjzyi+Pj4NtnLarV6jZWXl9c7f9y4cR7Xy5cv1x133CGHw9Hq2Tp06ODz3IiICCUlJXmMlZSUtHYkD1arVXPmzNH+/fv1u9/9TjZb/afEfvHFFzr99NO1evXqJu8TGxtb5+9TQ84++2yvsZ07dzZ578ZERER4XDf0efDNN994XEdHR2vEiBGtkmPt2rVyu90eY6NGjWrSM3r06OF1oufu3btbnA2A/1GcBAAAAAAA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v21x4cKFioyMLDEo5kj4riRZWVkqLCwscfzo0aO67rrr9OabbzoUmpSkmJgYDRs2TE899ZQcuRvs0jkXnt977z116dKlzNCkJB08eFD9+vUrce7lvEfS+dshK8vEiRP18MMPO9zT77//rv/+97/lOsNisaioqEiTJk3SzTffXGZoUpJiY2PVv39/rVy50qEzXn75ZXXq1ElLlixxODQpnQ8/jh8/Xs8++6zDayTpxIkT6tmzp15//XWHQpOStGnTJnXr1k1r164tc+6bb76pHj16OByalKRvvvlGnTt3LtcaABXH/3oCAAAAAADAFcFisWjT6gVa9/lbKiosKHuBk+Vml/4XNQEAAAAAAAAAAACgokLqmFzdApzsueee05kzZ6xqBoNBbdq0UceOHVWzZk0VFhYqLi5O27Zt09mzZ63m7t27V0888YTee+89m73bt2+vTZs2VaivNm3ayN3dfhTl0KFD6tevn00vwcHBGjx4sJo1ayZvb2/Fx8dry5Yt2rt3r9W8OXPmyNvbWzNnzix3X6+++qqmTp1qVTMajWratKk8PDwUHR1tdTOodD6QN3z4cB0+fFheXl5WY40aNVJgYKDS0ip202v79u0rtO5SCxcu1DvvvGNVCwwM1ODBg9WxY0eZTCYlJydr9+7dWrduXXEgMSEhoVzn5OXlafjw4TY3kbq7u6tZs2by9PTUyZMnlZmZaTVeVFSk+++/X2FhYercuXOJ+6empmratGkym81WdZPJpM6dO6tFixby9/dXZmamjh07pl27dtn8vF566SX16dNHN910U5mvJyEhQREREXZDx7Vq1VLLli3l4+OjhIQE/fbbbyoqKioez8nJ0TPPPKN//etfJe4/a9YsTZ8+3aYeHh6uG264QfXr11dWVpaOHz+utWvXWv080tLSdPPNN2vHjh0O32wJoGIITgIAAAAAAKDaM5uLtGzuk9q3/VtXt1IiB/7oJQAAAAAAAAAAAABUSKtGNVzdApzs4sBeo0aNNGbMGI0aNUpNmjSxmZuXl6c333xT06ZNswqAffTRR3ruuedUr149q/mzZ8/WhAkTip/fffddvf7668XPfn5+OnjwoN2+goOD7dZzc3M1YsQIq9Ckm5ubnn/+ef3nP/+Rp6enzZotW7bovvvuU2xsbHHt//2//6eBAweqW7duds+xZ+PGjfrss8+KnwMC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" + } + }, + "cell_type": "markdown", + "id": "bound-blond", + "metadata": {}, + "source": [ + "![qae_fig4_wide.png](attachment:qae_fig4_wide.png)" + ] + }, + { + "cell_type": "markdown", + "id": "31edf744", + "metadata": {}, + "source": [ + "Figure 4: Example of a Quantum Autoencoder in the training process. We use the swap test to determine the fidelity between the trash and reference space. " + ] + }, + { + "cell_type": "markdown", + "id": "d24d20fb", + "metadata": {}, + "source": [ + "We define a function below to implement the above circuit configuration to the $5$ qubit domain wall state $|00111\\rangle$ and plot an example below. Here qubits $5$ and $6$ are the reference state, $0, 1, 2, 3, 4$ are the initial state we wish to compress and qubit $7$ is our auxiliary qubit which is used in the swap test. We also include a classical register to measure the results of qubit $7$ in the swap test. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "1d415550", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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rXvhYzabyz/WdN8zb59YX1zdPev9nBeqZYuWF82IjcLSrFrtdyIn1ZDn29bczGWXCpx5q87zKd/WveCieQzs7fvA1t8DpaWl1RYF99xzT/kVBW+//XatLw85V6lx2tq1a/X777/r0ksv1TXXXKN27dopISGhyuO1aNHigkZs1JbDFhsDBgxQfHy8YmNjNXDgQIWHh0uSNm/erNGjRys9vWz226ioqGqPsWfPHm3ZskUvvvjiBWWp7XAaAAAAnJu1Q693796t+fPna8iQITWeY2PatGm1iXZBCoulKYvq/bQXZO++fWpwkby6yM+SNr5j/X5XDAtR8rRk2wcywLb/SRlJNZ8F1GQyydNX+nbT0otm8lB7+z6w9fdAbm5utTfCuOqqq8r/XtvL5WpSakhlpdd7771X/rr4yiuvrLbY2LdvnyG303bY273GxMSoadOmOnTokCIiItS5c2eFhYWpZ8+eatu2ra655hpJ555f44MPPpDJZNKoUaPqKzYAAADqUHh4uDZu3Fj+phcck6eP5G/lVBkmF6ll57rJY4SgqFrs08Ux74jiiLp16yZJOnLkiA4cOGD1/jUtNU77+eefK537YuKwxUZQUJA2bNigoUOHymw268CBA/Lz89PcuXO1YsUK7d27V1L1xYbFYtFHH32kfv36qVWrVvUZHQAAAHXE3d1dfn5+cnd3NzoK6lhYP8nNXPPt210lNaj/N5rrTLNQqVm7mm/fOKCs2MDFLzg4WE2bNpUkbd261er9rS01JGnbtm3lf+/atavV56xrF8lgsbrRoUMHLV++vNLynJwcHThwQC4uLurUqVOV+37//fdKSkrSs8863r2OAQAAnNXBgwc1Y8YMPfHEE07x5lVQx36a+KHlnNucb7298vKTuo6Qti+Vis4zn2PbPlKr2k+pd1EyuUidhkq7lkvp+8+9beMWUtRNkqtH/WSrT474PeDn51f+94MHrbuvb21KDUnKyspSVlaWfHx81KRJE+sC1wOHLjaqs3v3blksFoWHh1c7adQHH3wgT09PjRgxop7TAQAAoK5kZ2dr3bp1euihh4yOgnrQOEDqdZeUvENK2SWdyv1rnclFuiRMCrpMahJkWMQ65eoudblBOvJ72WOQedbNThr5l339LTqWbQv7kJCQoKuvvlqenp46fPhwjfdzc3PTI488YnWpcdott9yi0tJS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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def auto_encoder_circuit(num_latent, num_trash):\n", + " qr = QuantumRegister(num_latent + 2 * num_trash + 1, \"q\")\n", + " cr = ClassicalRegister(1, \"c\")\n", + " circuit = QuantumCircuit(qr, cr)\n", + " circuit.compose(ansatz(num_latent + num_trash), range(0, num_latent + num_trash), inplace=True)\n", + " circuit.barrier()\n", + " auxiliary_qubit = num_latent + 2 * num_trash\n", + " # swap test\n", + " circuit.h(auxiliary_qubit)\n", + " for i in range(num_trash):\n", + " circuit.cswap(auxiliary_qubit, num_latent + i, num_latent + num_trash + i)\n", + "\n", + " circuit.h(auxiliary_qubit)\n", + " circuit.measure(auxiliary_qubit, cr[0])\n", + " return circuit\n", + "\n", + "\n", + "num_latent = 3\n", + "num_trash = 2\n", + "circuit = auto_encoder_circuit(num_latent, num_trash)\n", + "circuit.draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "2c0bc911", + "metadata": {}, + "source": [ + "In order to reconstruct the original input state, we must apply the adjoint of our parametrized circuit after the swap test. However, during training, we are only interested in the trash state and the reference state. We can therefore exclude the gates following compression until we wish to reconstruct our initial input. \n", + "\n", + "After building our Quantum Autoencoder, the next step is to train our Quantum Autoencoder to compress the state and maximize the cost function and determine the parameters $\\theta$. " + ] + }, + { + "cell_type": "markdown", + "id": "7a578973", + "metadata": {}, + "source": [ + "## 6. A Simple Example: The Domain Wall Autoencoder" + ] + }, + { + "cell_type": "markdown", + "id": "bc886404", + "metadata": {}, + "source": [ + "Let's first begin with a simple example, a state known as the Domain Wall, which for $5$ qubits is given by $|00111\\rangle$. Here we will try and compress this state from $5$ qubits to $3$ qubits, with the remaining qubits in the trash space, in the state $|00\\rangle$. We can create a function to build the domain wall state below." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2787d73c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def domain_wall(circuit, a, b):\n", + " # Here we place the Domain Wall to qubits a - b in our circuit\n", + " for i in np.arange(int(b / 2), int(b)):\n", + " circuit.x(i)\n", + " return circuit\n", + "\n", + "\n", + "domain_wall_circuit = domain_wall(QuantumCircuit(5), 0, 5)\n", + "domain_wall_circuit.draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "dcc66776", + "metadata": {}, + "source": [ + "Now let's train our Autoencoder to compress this state from 5 qubits to 3 qubits (qubits 0,1 and 2), with the remaining qubits in the trash space (qubits 3 and 4) being in the |00> state. " + ] + }, + { + "cell_type": "markdown", + "id": "4a8442b1", + "metadata": {}, + "source": [ + "We create a circuit to be used in the loss function, as described in Section 4, which determines the fidelity between the two states below using the swap test for our particular AutoEncoder function. For further information on the swap test, see [1]. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "602efbb0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ae = auto_encoder_circuit(num_latent, num_trash)\n", + "qc = QuantumCircuit(num_latent + 2 * num_trash + 1, 1)\n", + "qc = qc.compose(domain_wall_circuit, range(num_latent + num_trash))\n", + "qc = qc.compose(ae)\n", + "qc.draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "reasonable-distributor", + "metadata": {}, + "source": [ + "Then, we create a quantum neural network and pass the circuit as a parameter. We note that this network must take an interpret function, which determines how we map the output of the network to the output shape. Since we measure only one qubit, the output of the network is a bit string either $0$ or $1$, so the output shape is $2$, the number of possible outcomes. Then, we introduce an identity mapping. The output of the network is a vector of probabilities of getting interpret-mapped bit strings. Thus, we get probabilities of getting $0$ or $1$ and this is exactly what we are looking for. In the cost function we make use of the probability of getting $1$ and penalize the outcomes that lead to $1$, therefore maximizing the fidelity between the trash space and the reference space." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "varying-township", + "metadata": {}, + "outputs": [], + "source": [ + "# Here we define our interpret for our SamplerQNN\n", + "def identity_interpret(x):\n", + " return x\n", + "\n", + "\n", + "qnn = SamplerQNN(\n", + " circuit=qc,\n", + " input_params=[],\n", + " weight_params=ae.parameters,\n", + " interpret=identity_interpret,\n", + " output_shape=2,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "fa0fea32", + "metadata": {}, + "source": [ + "Next we create our cost function. As described in the previous section, our aim is to minimize $\\frac{2}{M}L$, which is the twice the probability of getting the final qubit in the $|1\\rangle$ state. We therefore wish to minimize the of getting a $|1\\rangle$ on qubit 7.\n", + "\n", + "The cost function will also plot out the objective value at each cost function evaluation." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "28abf03b", + "metadata": {}, + "outputs": [], + "source": [ + "def cost_func_domain(params_values):\n", + " probabilities = qnn.forward([], params_values)\n", + " # we pick a probability of getting 1 as the output of the network\n", + " cost = np.sum(probabilities[:, 1])\n", + "\n", + " # plotting part\n", + " clear_output(wait=True)\n", + " objective_func_vals.append(cost)\n", + " plt.title(\"Objective function value against iteration\")\n", + " plt.xlabel(\"Iteration\")\n", + " plt.ylabel(\"Objective function value\")\n", + " plt.plot(range(len(objective_func_vals)), objective_func_vals)\n", + " plt.show()\n", + " return cost" + ] + }, + { + "cell_type": "markdown", + "id": "c97545c2", + "metadata": {}, + "source": [ + "Now we will train our Autoencoder to reduce the dimension of the Hilbert space from $5$ qubits to $3$, while leaving the trash space in the state $|00\\rangle$. We initially set the parameters $\\theta$ to random values and tune these parameters to minimize our cost function through the use of the COBYLA optimizer. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "71344086", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAIjCAYAAACgdyAGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAADrZ0lEQVR4nOzdeXhU9b0/8PeZfctKNoIpgbCJilgQqhVXFFzqruj1VsS1rdSFqtVaUXBB0YuUXpVbrYpaFev6a22xLUrdEBdE6oICskMC2ZOZZNbz+2Pme+bMzJktmclkkvfreXhKJicz30yi9XM+myTLsgwiIiIiIiIiygu6XB+AiIiIiIiIiFLHQJ6IiIiIiIgojzCQJyIiIiIiIsojDOSJiIiIiIiI8ggDeSIiIiIiIqI8wkCeiIiIiIiIKI8wkCciIiIiIiLKIwzkiYiIiIiIiPIIA3kiIiIiIiKiPMJAnohoALvrrrsgSRIaGxuTXltbW4vLLrss+4eK8vTTT0OSJGzfvr3PX/uTTz7B0UcfDbvdDkmSsGHDhj4/Qypy9bPJtFz+rHNJkiTcdddduT4GgPz8GYh/jxERURgDeSKiPPPVV1/hv//7vzFs2DCYzWZUV1fjkksuwVdffZXroyV033334fXXX8/1MRRerxcXXHABmpub8fDDD+PZZ5/F8OHDc3aeDz/8EHfddRdaW1tzdgbKP3v37sVdd93Vq5tQjz76KJ5++umMnaknXC4X7rrrLqxZsyan5yAiyheSLMtyrg9BRESpefXVV3HxxRejtLQUV1xxBUaMGIHt27fjj3/8I5qamvDiiy/inHPOUa6/6667sGDBAhw4cABlZWUJn9vtdkOn08FoNGbl7A6HA+eff35MwOD3++H1emE2m/s067Zp0yYcfPDBePzxx3HllVf22evG89BDD+Hmm2/Gtm3bUFtbG/G5bP9s+srTTz+NOXPmaH6PA1l3dzcMBgMMBkPGn/vTTz/FkUceiaeeeiqlqg2tf94OPfRQlJWV5TSIbmxsRHl5Oe68886Y6gWfzwefzweLxZKbwxER9UOZ/38UIiLKiq1bt+KnP/0pRo4ciXfffRfl5eXK566//npMmzYNP/3pT7Fx40aMHDky7ec3m82ZPG7K9Ho99Hp9n7/u/v37AQDFxcV9/trpytXPhjKjPwWgffXPm8/nQyAQgMlk6vVzZesmCBFRPmNpPRFRnnjwwQfhcrnwhz/8ISKIB4CysjL83//9H5xOJxYvXhzztY2NjbjwwgtRWFiIIUOG4Prrr0d3d3fENVp92K2trbjhhhtQU1MDs9mMUaNG4YEHHkAgEIi4LhAI4He/+x0OO+wwWCwWlJeXY+bMmfj0008BBHuEnU4nVqxYAUmSIEmS8lrRPbtnnHFG3BsRRx11FCZPnhzx2HPPPYdJkybBarWitLQUF110EXbt2pXwvbzssstw3HHHAQAuuOACSJKE448/HgBw/PHHK3+P/hp1Fnn79u2QJAkPPfQQ/vCHP6Curg5msxlHHnkkPvnkk5iv37RpEy688EKUl5fDarVi7NixuP322wEEKyduvvlmAMCIESOU90i8J1o/m++//x4XXHABSktLYbPZ8KMf/QhvvvlmxDVr1qyBJEl46aWXcO+99+Kggw6CxWLBSSedhC1btiR8j15++WVIkoR///vfMZ/7v//7P0iShC+//BIAsHHjRlx22WUYOXIkLBYLqqqqcPnll6OpqSnhawDx+8d78/uo5Y033sDpp5+O6upqmM1m1NXV4e6774bf74+59pFHHsHIkSNhtVoxZcoUvPfeezG/Fx6PB/Pnz8ekSZNQVFQEu92OadOm4Z133kn6PYqe7y1btuCyyy5DcXExioqKMGfOHLhcroiv/ec//4ljjjkGxcXFcDgcGDt2LH7zm98ACP58jzzySADAnDlzlN+bRGXy0f+81dbW4quvvsK///1v5evV32cq77n6n4WlS5cq/yx8/fXXKb1P27dvV/6dtmDBAuUc4j3T6pH3+Xy4++67ldeqra3Fb37zG7jd7ojramtrccYZZ+D999/HlClTYLFYMHLkSDzzzDNx3yMionzA25tERHniL3/5C2prazFt2jTNzx977LGora2NCeYA4MILL0RtbS0WLVqEjz76CMuWLUNLS0vC/5h1uVw47rjjsGfPHlxzzTX4wQ9+gA8//BC33XYb9u3bh6VLlyrXXnHFFXj66adx6qmn4sorr4TP58N7772Hjz76CJMnT8azzz6LK6+8ElOmTMHVV18NAKirq9N83VmzZuHSSy/FJ598ogQpALBjxw589NFHePDBB5XH7r33Xtxxxx248MILceWVV+LAgQP4/e9/j2OPPRaff/553Gz7Nddcg2HDhuG+++7DddddhyOP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AbW1tRg/fnyPzqpl+vTpKC0txcqVK7Fy5UpMmTIl4qaQyHZG/wySTZEX6urqYnqt//CHP8Rk5FP9fdSidUaPx4NHH3004rrJkydjyJAhePzxxyOe709/+lNMGbbWc65bty7iZ9Jbzc3NMY+JafhizVo6vzfxxPtnszfvuZDq+2Sz2ZTnTea0004DEPs7tmTJEgDBjQtERAMdM/JERHli9OjRWLFiBS655BIcdthhuOKKKzBixAhs374df/zjH9HY2IgXXnhBc63btm3bcOaZZ2LmzJlYu3YtnnvuOfzXf/0XDj/88Livd/PNN+P//b//hzPOOENZ1eR0OvGf//wHL7/8MrZv346ysjKccMIJ+OlPf4ply5Zh8+bNSjn1e++9hxNOOAFz584FAEyaNAn/+te/sGTJElRXV2PEiBGafd7CaaedhoKCAtx0003Q6/U477zzIj5fV1eHe+65B7fddpuyIqygoADbtm3Da6+9hquvvho33XRT2u/z5ZdfjiVLlmDGjBm44oorsH//fixfvhyHHHJITG91qpYtW4ZjjjkGP/zhD3H11VcrP7c333wTGzZsABB8fwDg9ttvx0UXXQSj0Yif/OQnSqCmduutt+KFF17Aqaeeiuuuuw6lpaVYsWIFtm3bhldeeSWj/dNGoxHnnnsuXnzxRTidTjz00EMRny8sLMSxxx6LxYsXw+v1YtiwYfjHP/4Rk+2O58orr8TPfvYznHfeeTj55JPxxRdf4K233lJW8Amp/j5qOfroo1FSUoLZs2fjuuuugyRJePbZZ2NuPphMJtx111345S9/iRNPPBEXXnghtm/fjqeffhp1dXURWeMzzjgDr776Ks455xycfvrp2LZtG5YvX47x48ejs7Mzpe89mYULF+Ldd9/F6aefjuHDh2P//v149NFHcdBBBylVOXV1dSguLsby5ctRUFAAu92OqVOnptV/PmnSJDz22GO45557MGrUKFRUVODEE0/s1XsupPo+Wa1WjB8/HitXrsSYMWNQWlqKQw89VHO2xOGHH47Zs2fjD3/4g9I28fHHH2PFihU4++yzI6opiIgGrD6ekk9ERL20ceNG+eKLL5aHDh0qG41GuaqqSr744os1V4mJtU1ff/21fP7558sFBQVySUmJPHfuXLmrqyvi2uh1X7IcXGl22223yaNGjZJNJpNcVlYmH3300fJDDz0kezwe5Tqfzyc/+OCD8rhx42STySSXl5fLp556qvzZZ58p12zatEk+9thjZavVKgNQXktrHZZwySWXyADk6dOnx30/XnnlFfmYY46R7Xa7bLfb5XHjxsnXXnut/O233yZ8H+Otn5NlWX7uuefkkSNHyiaTSZ44caL81ltvxV0/9+CDD8Z8PTTWaH355ZfyOeecIxcXF8sWi0UeO3asfMcdd0Rcc/fdd8vDhg2TdTpdxHui9bPZunWrfP755yvPN2XKFPmvf/1rSt+jOHuqK8v++c9/ygBkSZLkXbt2xXx+9+7dyvdWVFQkX3DBBfLevXtj3getn7Xf75d//etfy2VlZbLNZpNnzJghb9mypVe/j1o++OAD+Uc/+pFstVrl6upq+ZZbbpHfeustGYD8zjvvRFy7bNkyefjw4bLZbJanTJkif/DBB/KkSZPkmTNnKtcEAgH5vvvuU6474ogj5L/+9a8xvyeyHH/9XPRauej3Z/Xq1fJZZ50lV1dXyyaTSa6urpYvvvjimHVwb7zxhjx+/HjZYDAk/blq/Qzq6+vl008/XS4oKIhZs5fKe57on4V03qcPP/xQnjRpkmwymSLes+j1c7Isy16vV16wYIE8YsQI2Wg0yjU1NfJtt92mrBIUhg8fLp9++ukx54q3ZpKIKF9IssxJH0REBNTU1GDGjBl44okncn0Uon4lEAigvLwc5557Lh5//PFcH4eIiIg98kREBHi9XjQ1NSUtkyUa6Lq7u2NK7p955hk0Nzfj+OOPz82hiIiIorBHnohokHvrrbfw4osvoqurS9kVTjRYffTRR7jxxhtxwQUXYMiQIVi/fj3++Mc/4tBDD41Yf0hERJRLDOSJiAa5+++/H1u2bMG9996Lk08+OdfHIcqp2tpa1NTUYNmyZcpKxUsvvRT3338/TCZTro9HREQEAGCPPBEREREREVEeYY88ERERERERUR5hIE9ERERERESUR9gjryEQCGDv3r0oKCiAJEm5Pg4RERERERENcLIso6OjA9XV1dDpEufcGchr2Lt3L2pqanJ9DCIiIiIiIhpkdu3ahYMOOijhNQzkNRQUFAAIvoGFhYU5Pg0RERERERENdO3t7aipqVHi0UQYyGsQ5fSFhYUM5ImIiIiIiKjPpNLezWF3RERERERERHmEgTwRERERERFRHmEgT0RERERERJRHGMgTERERERER5REG8kRERERERER5hIE8ERERERERUR5hIE9ERERERESURxjIExEREREREeURBvJEREREREREeYSBPBEREREREVEeYSBPRERERERElEcYyBMRERERERHlEQbyRERERERERHmEgTwRERERERFRHmEgT0RERERERJRHGMgTERERERER5REG8oNEICDj850tcHl8uT4KERERERER9QID+UHA6w/gV3/+Auc8+iHuefObXB+HiIiIiIiIesGQ6wNQdrk8Pvz8ufX493cHAABb93fm+ERERERERETUGwzkB7AWpwdznv4EG3a1Ko+1ury5OxARERERERH1GkvrB6g9rV04f/mH2LCrFUVWI+4++1AAQLPLk+OTERERERERUW8wkB+AvmvowPmPfYitB5wYWmTByz87CieOqwAAtLo8kGU5xyckIiIiIiKinmJp/QCzp7ULF/3hIzQ7Pagrt+PZK6aiutiqTKv3+mU4PX44zPzRExERERER5SNm5AcQjy+Aa/+0Hs1OD8YPLcTLPzsa1cVWAIDVqIfJEPxxtzhZXk9ERERERJSvGMgPIPf97RulJ/7/fjoJJXaT8jlJklBiMwLgwDsiIiIiIqJ8xkB+gHhz4z48/eF2AMCSCw9HTakt5poSWzCwb+HAOyIiIiIiorzVLwL5Rx55BLW1tbBYLJg6dSo+/vjjlL7uxRdfhCRJOPvssyMel2UZ8+fPx9ChQ2G1WjF9+nRs3rw5CyfvH7Ye6MQtL38BAPjZcXU46eBKzesYyBMREREREeW/nAfyK1euxLx583DnnXdi/fr1OPzwwzFjxgzs378/4ddt374dN910E6ZNmxbzucWLF2PZsmVYvnw51q1bB7vdjhkzZqC7uztb30bOdHn8+MVz6+H0+DFlRCluOmVM3GtL7CytJyIiIiIiync5D+SXLFmCq666CnPmzMH48eOxfPly2Gw2PPnkk3G/xu/345JLLsGCBQswcuTIiM/JsoylS5fit7/9Lc466yxMmDABzzzzDPbu3YvXX39d8/ncbjfa29sj/uSLO974Et82dKDMYcb/XnwEDPr4P9JiZuSJiIiIiIjyXk4DeY/Hg88++wzTp09XHtPpdJg+fTrWrl0b9+sWLlyIiooKXHHFFTGf27ZtG+rr6yOes6ioCFOnTo37nIsWLUJRUZHyp6amphffVd956ZNdePmz3dBJwLKLJ6Ki0JLweg67IyIiIiIiyn85DeQbGxvh9/tRWRnZ011ZWYn6+nrNr3n//ffxxz/+EY8//rjm58XXpfOct912G9ra2pQ/u3btSvdb6XNunx9L//UdAOBXp4zF0XVlSb9G9Mg3c/0cERERERFR3jLk+gDp6OjowE9/+lM8/vjjKCtLHrimymw2w2w2Z+z5+oLZoMcrvzgaz6zdgZ8fV5fS17C0noiIiIiIKP/lNJAvKyuDXq9HQ0NDxOMNDQ2oqqqKuX7r1q3Yvn07fvKTnyiPBQIBAIDBYMC3336rfF1DQwOGDh0a8ZwTJ07MwneRO0OLrPj1zHEpX8/SeiIiIiIiovyX09J6k8mESZMmYfXq1cpjgUAAq1evxlFHHRVz/bhx4/Cf//wHGzZsUP6ceeaZOOGEE7BhwwbU1NRgxIgRqKqqinjO9vZ2rFu3TvM5BxNm5ImIiIiIiPJfzkvr582bh9mzZ2Py5MmYMmUKli5dCqfTiTlz5gAALr30UgwbNgyLFi2CxWLBoYceGvH1xcXFABDx+A033IB77rkHo0ePxogRI3DHHXeguro6Zt/8YMOMPBERERERUf7LeSA/a9YsHDhwAPPnz0d9fT0mTpyIVatWKcPqdu7cCZ0uvcKBW265BU6nE1dffTVaW1txzDHHYNWqVbBYEk91H+hK7cGMfKfbB48vAJMh59sHiYiIiIiIKE2SLMtyrg/R37S3t6OoqAhtbW0oLCzM9XEyJhCQMer2vyEgAx/ffhIqCgb3jQ0iIiIiIqL+Ip04lCnZQUSnk1BkZXk9ERERERFRPmMgP8iIXfIt3CVPRERERESUlxjIDzLFoYF3nFxPRERERESUnxjIDzJKRp6l9URERERERHmJgfwgw13yRERERERE+Y2B/CDDXfJERERERET5jYH8IFNi57A7IiIiIiKifMZAfpAJD7tjRp6IiIiIiCgfMZAfZEpDPfKt7JEnIiIiIiLKSwzkBxkOuyMiIiIiIspvDOQHmRI7h90RERERERHlMwbyg0yJKiMfCMg5Pg0RERERERGli4H8ICOG3QVkoKPbl+PTEBERERERUboYyA8yZoMeNpMeAPvkiYiIiIiI8hED+UGohAPviIiIiIiI8hYD+UFIlNdz4B0REREREVH+YSA/CDEjT0RERERElL8YyA9CJXYRyDMjT0RERERElG8YyA9CJUppPTPyRERERERE+YaB/CBUzNJ6IiIiIiKivMVAfhASGXmW1hMREREREeUfBvKDkDLszsmMPBERERERUb5hID8IFTMjT0RERERElLcYyA9CIiPPYXdERERERET5h4H8IMQ98kRERERERPmLgfwgVGwPltZ3ewPo9vpzfBoiIiIiIiJKBwP5QajAbIBBJwFgVp6IiIiIiCjfMJAfhCRJCu+Sd3LgHRERERERUT5hID9IiV3yHHhHRERERESUXxjID1LhgXfMyBMREREREeUTBvKDlNgl38yMPBERERERUV5hID9IKbvknQzkiYiIiIiI8gkD+UFKrKBjaT0REREREVF+YSA/SCkZeZbWExERERER5RUG8oOUmFrPPfJERERERET5hYH8IMWp9URERERERPmJgfwgVWJnaT0REREREVE+YiA/SIVL65mRJyIiIiIiyicM5Aep4lBpfXu3Fz5/IMenISIiIiIiolQxkB+kiq3BjLwsA21dzMoTERERERHlCwbyg5RBr0OBxQCA5fVERERERET5hIH8IMZd8kRERERERPmnXwTyjzzyCGpra2GxWDB16lR8/PHHca999dVXMXnyZBQXF8Nut2PixIl49tlnI6657LLLIElSxJ+ZM2dm+9vIOxx4l3s+fwAL//I13t7UkOujEBERERFRnjDk+gArV67EvHnzsHz5ckydOhVLly7FjBkz8O2336KioiLm+tLSUtx+++0YN24cTCYT/vrXv2LOnDmoqKjAjBkzlOtmzpyJp556SvnYbDb3yfeTT4qVXfLMyOfKx9ub8eQH27D2+yacOK4y18chIiIiIqI8kPOM/JIlS3DVVVdhzpw5GD9+PJYvXw6bzYYnn3xS8/rjjz8e55xzDg4++GDU1dXh+uuvx4QJE/D+++9HXGc2m1FVVaX8KSkp6YtvJ6+Ucpd8zrU4g9UQTrcvxychIiIiIqJ8kdNA3uPx4LPPPsP06dOVx3Q6HaZPn461a9cm/XpZlrF69Wp8++23OPbYYyM+t2bNGlRUVGDs2LH4+c9/jqamprjP43a70d7eHvFnMChmaX3OtXcH3/turz/HJyEiIiIionyR09L6xsZG+P1+VFZGlhRXVlZi06ZNcb+ura0Nw4YNg9vthl6vx6OPPoqTTz5Z+fzMmTNx7rnnYsSIEdi6dSt+85vf4NRTT8Xa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6quvIiMjA/fccw/KyspQVlaGxMRE1NbW4rLLLsPYsWOxa9curFu3DhUVFbjpppvsvv7999+HRqPB1q1bsXLlSgCAQqHAa6+9hkOHDuH999/Hxo0b8eijjwIApk6dildeeQVBQUHy93v44Yc7rMtsNmP27NmoqanB5s2bsX79epw8eRI333yz3XUnTpzA119/jbVr12Lt2rXYvHkznn/++bP00yIiIuq/WFpPRER0nggODoZGo4Gfnx9iYmLk59944w2MHTsWf//73+Xn3nvvPSQmJuLo0aMYMmQIAGDw4MF44YUX7N7T9rx9SkoK/va3v+Hee+/FW2+9BY1Gg+DgYAiCYPf92svKysLBgweRn5+PxMREAMAHH3yAESNGYOfOnZg4cSIAS8C/atUqBAYGAgDmz5+PrKwsPPfcc937wRAREXkZZuSJiIjOc/v378fPP/+MgIAA+ZGWlgbAkgWXjB8/vsPXbtiwAZdffjni4+MRGBiI+fPno7q6Gk1NTR5//7y8PCQmJspBPAAMHz4cISEhyMvLk59LSUmRg3gAiI2NRWVlZac+KxER0bmAGXkiIqLzXENDA2bOnInly5d3eC02Nlb+vb+/v91rBQUFuOaaa3DffffhueeeQ1hYGLZs2YIFCxZAr9fDz8+vR9epVqvt/iwIAsxmc49+DyIiIm/AQJ6IiOg8otFoYDKZ7J4bN24cvvzyS6SkpECl8vyfBrt374bZbMZLL70EhcJS5Pf555+7/X7tDRs2DMXFxSguLpaz8rm5uaitrcXw4cM9Xg8REdH5gqX1RERE55GUlBRkZ2ejoKAAVVVVMJvNWLRoEWpqajB37lzs3LkTJ06cwE8//YQ777zTZRA+aNAgGAwGvP766zh58iQ+/PBDuQme7fdraGhAVlYWqqqqHJbcZ2ZmIj09HfPmzcOePXuwY8cO3Hbbbbj44osxYcKEHv8ZEBEReTsG8kREROeRhx9+GEqlEsOHD0dkZCSKiooQFxeHrVu3wmQy4corr0R6ejqWLFmCkJAQOdPuyOjRo7FixQosX74cI0eOxMcff4xly5bZXTN16lTce++9uPnmmxEZGdmhWR5gKZH/5ptvEBoaiosuugiZmZkYMGAAVq9e3eOfn4iI6FwgiKIo9vUiiIiIiIiIiMgzzMgTEREREREReREG8kRERERERERehIE8ERERERERkRdhIE9ERERERETkRRjIExEREREREXkRBvJEREREREREXoSBPBEREREREZEXYSBPRERERERE5EUYyBMRERERERF5EQbyRERERERERF6EgTwRERERERGRF/n/EdF5dBq8a7gAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fit in 18.48 seconds\n" + ] + } + ], + "source": [ + "opt = COBYLA(maxiter=150)\n", + "initial_point = algorithm_globals.random.random(ae.num_parameters)\n", + "\n", + "objective_func_vals = []\n", + "# make the plot nicer\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "start = time.time()\n", + "opt_result = opt.minimize(cost_func_domain, initial_point)\n", + "elapsed = time.time() - start\n", + "\n", + "print(f\"Fit in {elapsed:0.2f} seconds\")" + ] + }, + { + "cell_type": "markdown", + "id": "0242ad6d", + "metadata": {}, + "source": [ + "Looks like it has converged! After training our Quantum Autoencoder, let's build it and see how well it compresses the state! \n", + "\n", + "To do this, we first apply our Autoencoder to a $5$ qubit Domain Wall state. After applying this state, the compressed state should be of the form $|00\\rangle$. Therefore resetting the last two qubits should not effect our over all state. \n", + "\n", + "After resetting we apply our decoder (the hermitian conjugate of our encoder) and compare it to the initial state by determining the fidelity. If our fidelity is one, then our Autoencoder has encoded all the information of the domain wall efficiently into a smaller set of qubits and when decoding, we retain the original state! " + ] + }, + { + "cell_type": "markdown", + "id": "4c88b086", + "metadata": {}, + "source": [ + "Let's first apply our circuit to the Domain Wall State, using the parameters we obtained when training our Quantum Autoencoder. (Note we have included barriers in our circuit below, however these are not necessary for the implementation of the Quantum Autoencoder and are used to determine between different sections of our circuit). " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "749338a0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test_qc = QuantumCircuit(num_latent + num_trash)\n", + "test_qc = test_qc.compose(domain_wall_circuit)\n", + "ansatz_qc = ansatz(num_latent + num_trash)\n", + "test_qc = test_qc.compose(ansatz_qc)\n", + "test_qc.barrier()\n", + "test_qc.reset(4)\n", + "test_qc.reset(3)\n", + "test_qc.barrier()\n", + "test_qc = test_qc.compose(ansatz_qc.inverse())\n", + "\n", + "test_qc.draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "grand-canal", + "metadata": {}, + "source": [ + "Now we assign the parameter values obtained in the training." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "shaped-marina", + "metadata": {}, + "outputs": [], + "source": [ + "test_qc = test_qc.assign_parameters(opt_result.x)" + ] + }, + { + "cell_type": "markdown", + "id": "8dce4200", + "metadata": {}, + "source": [ + "Now let's get the statevectors of our Domain Wall state and output circuit and calculate the fidelity! " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "756cfa05", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fidelity of our Output State with our Input State: 0.9832814006314854\n" + ] + } + ], + "source": [ + "domain_wall_state = Statevector(domain_wall_circuit).data\n", + "output_state = Statevector(test_qc).data\n", + "\n", + "fidelity = np.sqrt(np.dot(domain_wall_state.conj(), output_state) ** 2)\n", + "print(\"Fidelity of our Output State with our Input State: \", fidelity.real)" + ] + }, + { + "cell_type": "markdown", + "id": "618128d3", + "metadata": {}, + "source": [ + "As you can see our fidelity is quite high and our Autoencoder has thus compressed our dataset while retaining all the information from the input state!\n", + "\n", + "Now we will see if we can apply such a Quantum Autoencoder to more complicated datasets containing noise, such as images of the numbers zero and one. " + ] + }, + { + "cell_type": "markdown", + "id": "0b5be665", + "metadata": {}, + "source": [ + "## 7. A Quantum Autoencoder for Digital Compression" + ] + }, + { + "cell_type": "markdown", + "id": "4f6f37a6", + "metadata": {}, + "source": [ + "One can also apply a Quantum Autoencoder to more complicated examples, such as a set of handwritten digits in order to compress the dataset. Below, we will show that we can indeed train an Quantum Autoencoder to compress such an example, giving us the ability to store data more efficiently on a Quantum Computer. \n", + "\n", + "For this tutorial, we will build a Quantum Autoencoder for a noisy dataset containing zeros and ones, which can be seen below. \n", + "\n", + "Each image contains $32$ pixels of which can be encoded into $5$ qubits by Amplitude Encoding. This can be done using Qiskit Machine Learning's `RawFeatureVector` feature map. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "41d40622", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAIQCAYAAACbsjvQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAc5klEQVR4nO3de3BUhd3/8c8mMQtIEm4JkCaAiiIRgsptMGLRRJmMoNhHQcUxYutUCVbK0Eumo8A4uGhrR0oRwbZQLCkictMpYkACj0o0wNCC4iUFNIokgrAJKSyQPc8fvx/bphCSb9jds4T3a+bMuCfn7PluJO85e3I5HsdxHAFAM8W5PQCACwvRAGBCNACYEA0AJkQDgAnRAGBCNACYEA0AJkQDgAnRiFGlpaXyeDxavnx5k9s+9NBD6tWrV1iO6/F4NH369LA8F1onohFFHo+nWUtpaanbo8aEuro6Pf3008rOzla7du2UkpKi4cOHa/HixeK3H9yT4PYAF5NXXnmlwePFixerpKTkjPV9+/bV7t27m/28L7/8soLBYFhmPHbsmBIS3P9nUVVVpdzcXO3evVv33nuvJk2apOPHj+v1119XQUGB/va3v2nJkiWKj493e9SLjwPXFBYWOo39L9i4caMjyXnttdeiPFVsGDlypBMXF+esXr36jI9NnTrVkeTMmjXLhcnA25MYFwwGNXPmTGVkZKhNmzbKzc1VRUVFg23Odk1j6dKlGjhwoJKSkpScnKz+/ftr9uzZTR7vv69p1NbWavLkyerVq5e8Xq/S0tJ06623avv27ed8ni+++EITJ05Unz591LZtW3Xu3Fn33HOP9u3b1+QMZWVlWrdunR566CHdcccdZ3zc5/Ppyiuv1LPPPqtjx45Jkvbt2yePx6Pf/OY3WrBgga644gp5vV4NHjxY5eXlZzzHJ598orvvvludOnVSmzZtNGjQIK1Zs6bJ2cDbk5g3a9YsxcXFaerUqfL7/Xruuec0fvx4ffDBB43uU1JSovvuu0+5ubl69tlnJUm7d+/We++9pyeeeMJ0/EcffVTLly/XpEmTlJWVpUOHDundd9/V7t27df311ze6X3l5ud5//33de++9ysjI0L59+zRv3jyNGDFCH3/8sdq1a9fovm+88YYk6cEHHzzrxxMSEnT//fdrxowZeu+995SXlxf6WHFxsWpra/XjH/9YHo9Hzz33nH7wgx9oz549uuSSSyRJH330kXJycvS9731Pv/zlL3XppZdq2bJlGjNmjF5//XXdddddps/RRcftU52LWXPenvTt29cJBAKh9bNnz3YkOTt37gytKygocHr27Bl6/MQTTzjJycnOqVOnzDNJcqZNmxZ6nJKS4hQWFpqf51//+tcZ67Zs2eJIchYvXnzOfceMGeNIcg4fPtzoNitWrHAkOb/73e8cx3GcvXv3OpKczp07O999911ou9WrVzuSnDfeeCO0Ljc31+nfv79z/Pjx0LpgMOjccMMNzpVXXtncl3jR4u1JjJswYYISExNDj4cPHy5J2rNnT6P7dOjQQXV1dSopKTnv43fo0EEffPCB9u/fb9qvbdu2of8+efKkDh06pN69e6tDhw5NvrWpra2VJCUlJTW6zemP1dTUNFg/btw4dezYMfT4vz9f3333nd555x2NHTtWtbW1OnjwoA4ePKhDhw5p5MiR+vzzz/X1118bXunFh2jEuB49ejR4fPoL4vDhw43uM3HiRF111VXKz89XRkaGHn74Yb311lstOv5zzz2nXbt2KTMzU0OGDNH06dPPGazTjh07pqeeekqZmZnyer3q0qWLUlNTdeTIEfn9/nPuezoIp+NxNo2FpanPV0VFhRzH0ZNPPqnU1NQGy7Rp0yRJ1dXVTb6+ixnRiHGNfUvROcfPKaSlpWnHjh1as2aN7rjjDm3cuFH5+fkqKCgwH3/s2LHas2eP5syZo/T0dP3617/WNddco7Vr155zv8cff1wzZ87U2LFjtWzZMr399tsqKSlR586dm/z2cN++fSVJ//jHPxrd5vTHsrKyGqxv6vN1+thTp05VSUnJWZfevXufc76LHRdCW6nExESNHj1ao0ePVjAY1MSJEzV//nw9+eST5i+K7t27a+LEiZo4caKqq6t1/fXXa+bMmcrPz290n+XLl6ugoEDPP/98aN3x48d15MiRJo83atQo+Xw+LV68WDfddNMZH6+vr1dxcbE6duyonJwc02u5/PLLJUmXXHJJgwuoaD7ONFqhQ4cONXgcFxen7OxsSVIgEGj289TX15/xViItLU3p6elNPk98fPwZZ0Nz5sxRfX19k8e94YYblJeXp4ULF+rNN9884+O/+tWv9Nlnn+nnP/95g2snzZGWlqYRI0Zo/vz5+uabb874+Lfffmt6vosR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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def zero_idx(j, i):\n", + " # Index for zero pixels\n", + " return [\n", + " [i, j],\n", + " [i - 1, j - 1],\n", + " [i - 1, j + 1],\n", + " [i - 2, j - 1],\n", + " [i - 2, j + 1],\n", + " [i - 3, j - 1],\n", + " [i - 3, j + 1],\n", + " [i - 4, j - 1],\n", + " [i - 4, j + 1],\n", + " [i - 5, j],\n", + " ]\n", + "\n", + "\n", + "def one_idx(i, j):\n", + " # Index for one pixels\n", + " return [[i, j - 1], [i, j - 2], [i, j - 3], [i, j - 4], [i, j - 5], [i - 1, j - 4], [i, j]]\n", + "\n", + "\n", + "def get_dataset_digits(num, draw=True):\n", + " # Create Dataset containing zero and one\n", + " train_images = []\n", + " train_labels = []\n", + " for i in range(int(num / 2)):\n", + " # First we introduce background noise\n", + " empty = np.array([algorithm_globals.random.uniform(0, 0.1) for i in range(32)]).reshape(\n", + " 8, 4\n", + " )\n", + "\n", + " # Now we insert the pixels for the one\n", + " for i, j in one_idx(2, 6):\n", + " empty[j][i] = algorithm_globals.random.uniform(0.9, 1)\n", + " train_images.append(empty)\n", + " train_labels.append(1)\n", + " if draw:\n", + " plt.title(\"This is a One\")\n", + " plt.imshow(train_images[-1])\n", + " plt.show()\n", + "\n", + " for i in range(int(num / 2)):\n", + " empty = np.array([algorithm_globals.random.uniform(0, 0.1) for i in range(32)]).reshape(\n", + " 8, 4\n", + " )\n", + "\n", + " # Now we insert the pixels for the zero\n", + " for k, j in zero_idx(2, 6):\n", + " empty[k][j] = algorithm_globals.random.uniform(0.9, 1)\n", + "\n", + " train_images.append(empty)\n", + " train_labels.append(0)\n", + " if draw:\n", + " plt.imshow(train_images[-1])\n", + " plt.title(\"This is a Zero\")\n", + " plt.show()\n", + "\n", + " train_images = np.array(train_images)\n", + " train_images = train_images.reshape(len(train_images), 32)\n", + "\n", + " for i in range(len(train_images)):\n", + " sum_sq = np.sum(train_images[i] ** 2)\n", + " train_images[i] = train_images[i] / np.sqrt(sum_sq)\n", + "\n", + " return train_images, train_labels\n", + "\n", + "\n", + "train_images, __ = get_dataset_digits(2)" + ] + }, + { + "cell_type": "markdown", + "id": "646f12b6", + "metadata": {}, + "source": [ + "After encoding our image into $5$ qubits, we begin to train our Quantum Autoencoder to compress this state into $3$ qubits.\n", + "\n", + "We repeat the steps in the previous example and write a cost function, again based on the Swap Test between the trash and latent space. We can also use the same Autoencoder function as given in the previous example, as the input state and trash space contain the same amount of qubits. \n", + "\n", + "Let's input one of our digits and see our circuit for the Autoencoder below. " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "a11ec8f3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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m/McffTRaWhoaPN4AAAAANidc889d6+vra+vT5LMmzcvzz333F6Pu/3221uZiv3V9857Kn17D0x9fX0GDz6m1HE61OVfuitjhp6w4/ELrz+ac7//FyVMBL83YMCAPP30020a2ylLngEDBmTlypV59tlnc+yxx+50rr6+PpdffnmSZNy4cSm8r6atr6/P8uXL861vfSuzZs3KkCFDctttt+XP//zPc8ghh+Skk05qU56GhoYsX7687S8IAAAAAHZjw4YNe33tpk2bdnxtzTifa3Ue2/djampqqqif68kT/zKjBh+/07HRQ0/Ikf0n5f979s4SpYLi6JQlz0knnZRFixZl1qxZOfnkkzNixIgkyVNPPZVzzjknK1asSJJMmDBhp3HNzc1Zt25d7rjjjnzxi19Mknz2s5/NwoUL853vfKfNJc+AAQPa/FoAAAAAYE969uy519fW1NTs+NqacYMGDWp1LvZPXbp02fG1Un6ux486I+d97nupKuy8c0mXqi654is/yUEH9c2vF99bonSwzb50CIWWlpY9bDlVvurq6jJhwoS8++67qa6uzpFHHplNmzZlyZIlmTp1apqbm/PAAw/klltu2Wn/nU996lP5zW9+k7Vr16ZXr147jl922WW5/fbb8+6775bi5QAAAADAbi1evHivr926dWvWrl2b3r17p2vXrns97sgjj2xLNPZDj9+UbF6XdO+VnPD1Uqdpf2++mCy8//ePu3RNmrYmVV2T5q2/O1hIxkxNBo4uSUTYZ1Uffkn5GTx4cB5//PGceuqpqampyeuvv56+ffvm5ptvzty5c/PSSy8lScaPH7/TuDFjxuzxntunswIAAABAOeratWv69u3bqoIHytUfFjxD/ijp0m3b99XdksETfneiJVnwq6R+YUcnhOLolCVPkowaNSq//OUvs3bt2qxduza/+c1vcsEFF2T9+vV5/fXXU1VVlbFjx+405rTTTkuSPPjggzuONTc356GHHsoxx1TWRmQAAAAAdC5vvPFGLrzwwrzxxhuljgLtancFz4jJyfbt2QuFZORnFT10Dp1yT54PsmDBgrS0tGTEiBG7rD06bdq0nHDCCbngggvy7rvvZujQobn11luzYMGCPPTQQyVKDAAAAAD7bu3atXnkkUfyjW98o9RRoN18WMGz3faiJ0nq5mdH0ZNYuo3yUnElzwsvvJBk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xRdfnLq6ulx00UW5/vrrdxQ8SXLFFVdk/PjxaWxszLBhw3LAAQeUMCkAAAAAtK/a2tocf/zxqa2tLXUU2llLS7Jg3p4LnvdbvyJ57p7Ot3zZO68kL87bfcHzfi1N28qwFa92TC6Kq1Ao5J//+Z93FDzNzc254YYbMn78+Nx11127LXh25+WXX86FF16YT3/603n11W3/GLYXPHV1dfttwZN04pJn0aJFufvuu9OvX79ce+21u71m4sSJSZLx48fvODZp0qQUCoXd/vn617/eIdkBAAAAoNiGDRuWW2+9NcOGDSt1lA7XuGVDNq5dsds/ndG7rydvv7T3169/N3njmXaL0+Gam5PF/55kb/cdatl2/YcVQuWss74HLr300vzVX/1VkmTLli358pe/nEsvvTQbN25s0/1effXVNDU17XSsuro6a9as2ees7aXTLtd21113pbm5OWeffXZ69eq122u2r833/pLnn/7pn3b5gc2dOzczZ87M5z/fOTafAgAAAKDyNDU1ZePGjenRo8eO31CvFE/OuTpPzrm61DE6TN381o9Z/tvko59KqjrBP40VrySb17ZuzKY1ybuvJf0Ob59MpdYZ3wMjR47MzJkzk2ybwXPWWWfl3nvvbfP9Bg4cmEceeSTDhw9PkmzatCk1NTUZMGBAbrjhhh1l0v6m05Y8Dz/8cJJk8uTJe7ymrq4uyc4lz+jRo3e57pprrskhhxySKVOmFDklAAAAAHSMxYsX54wzzsg999yTMWPGlDpOhxo7+YIM/+Sf7fbcL757cgenaV9bNrRt6bEt65P3lib9Plb8TB2tfkHbxr25oPOWPJ3xPTB79uzU1NQkSb7//e8XpeAZOXJkkm0zes4666w8+OCD6dOnT84999z867/+ax544IGiZC+mTlvyLF26NEly2GGH7fZ8Y2NjnnjiiSQ7lzx/6J133sn999+fCy+8MNXVbfvrOvroo9PQ0NCmsQAAAACwJ+eee+5eX1tfX58kmTdvXp577rm9Hnf77be3MtW+69K1R06fuRcbyuylAwcMz9CxJxXtfrszYvjwNG1t2xJRxTS436jM/IuH2jT2b74xI4++cGeRE3W8b581L8P6j2v1uF//x7M55cIvtEOi1qv090Bz8wevnXfiiSfmuOOOS5K89NJLueqqq9r8XLsreLbvwTN9+vTMnj07SfKtb33r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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "num_latent = 3\n", + "num_trash = 2\n", + "\n", + "fm = RawFeatureVector(2 ** (num_latent + num_trash))\n", + "\n", + "ae = auto_encoder_circuit(num_latent, num_trash)\n", + "\n", + "qc = QuantumCircuit(num_latent + 2 * num_trash + 1, 1)\n", + "qc = qc.compose(fm, range(num_latent + num_trash))\n", + "qc = qc.compose(ae)\n", + "\n", + "qc.draw(\"mpl\")" + ] + }, + { + "cell_type": "markdown", + "id": "effd4db6", + "metadata": {}, + "source": [ + "Again, we can see the swap test being performed on the qubits $3$, $4$, $5$ and $6$, which will determine the value of our cost function." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "301b80ad", + "metadata": {}, + "outputs": [], + "source": [ + "def identity_interpret(x):\n", + " return x\n", + "\n", + "\n", + "qnn = SamplerQNN(\n", + " circuit=qc,\n", + " input_params=fm.parameters,\n", + " weight_params=ae.parameters,\n", + " interpret=identity_interpret,\n", + " output_shape=2,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "inner-second", + "metadata": {}, + "source": [ + "We build our cost function, based on the swap test between the reference and trash space for the digit dataset. To do this, we again use Qiskit Machine Learning's CircuitQNN network and use the same interpret function as we are measuring the probability of getting the final qubit in the $|1\\rangle$ state." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "frequent-negotiation", + "metadata": {}, + "outputs": [], + "source": [ + "def cost_func_digits(params_values):\n", + " probabilities = qnn.forward(train_images, params_values)\n", + " cost = np.sum(probabilities[:, 1]) / train_images.shape[0]\n", + "\n", + " # plotting part\n", + " clear_output(wait=True)\n", + " objective_func_vals.append(cost)\n", + " plt.title(\"Objective function value against iteration\")\n", + " plt.xlabel(\"Iteration\")\n", + " plt.ylabel(\"Objective function value\")\n", + " plt.plot(range(len(objective_func_vals)), objective_func_vals)\n", + " plt.show()\n", + "\n", + " return cost" + ] + }, + { + "cell_type": "markdown", + "id": "d868874b", + "metadata": {}, + "source": [ + "Since model training may take a long time we have already pre-trained the model for some iterations and saved the pre-trained weights. We'll continue training from that point by setting `initial_point` to a vector of pre-trained weights." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "cd34af70", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"12_qae_initial_point.json\", \"r\") as f:\n", + " initial_point = json.load(f)" + ] + }, + { + "cell_type": "markdown", + "id": "a99a0c03", + "metadata": {}, + "source": [ + "By minimizing this cost function, we can thus determine the required parameters to compress our noisy images. Let's see if we can encode our images! " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a2e4b67e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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DTfgoosuwrRp0zBixIiMr0U2jzzyCLq7u/HDH/4QkiThpptuwkknnYQvvvhCKYVfuXIlDj30UHi9Xpx//vloaWnB2rVr8a9//QvXX389TjrpJHz++ef429/+httuu01pg0i9YCNs27YNBx98MPr6+nDRRRdh6NCheOihh3DCCSfg8ccfT2qvAIAbb7wRLpcLP/3pT7Fz507cdNNNOP300/HWW29lfF7HHXccamtr8fe//1256CEsXrwYe+65J/baay8A8WDziy++wNy5czFy5Eh8/PHHuOeee/Dxxx9j2bJljrRMmPk86nnwwQdRW1uL+fPno7a2Fi+++CKuvPJKdHV1JX2m/vCHP2DevHk49NBDcckll2D9+vWYPXs2mpqaMGbMGOW4rq4u3HfffTjttNNw3nnnobu7G3/6058wa9YsvP3229hvv/1yPqdTTz0V48ePx8KFC7F8+XLcd999GD58OH7zm98AiM/DOP7447HPPvvg2muvhd/vx5o1a/DGG28AAPbYYw9ce+21uPLKK3H++ecr/204+OCDDb+ut99+O3784x+jtrZWubAkfhfMvuYPPPAABgYGcP7558Pv92PIkCGGXqdhw4bhD3/4A370ox/hxBNPxEknnQQA2GeffTKe97nnnouHHnoI3/ve93DppZfirbfewsKFC/Hpp5/iySefTDp2zZo1+N73vodzzjkHZ555Ju6//36cddZZmDp1Kvbcc0/DrxUR0aAiExHRoNfZ2SkDkL/73e9mPe6EE06QAchdXV2yLMvyVVddJQOQTzjhhKTj/vd//1cGIH/wwQfKbePGjZPPPPNM5evrrrtOrqmpkT///POkn73ssstkt9stb9iwQZZlWX7xxRdlAPJFF12Udj6xWEz5e01NTdL9Cw888IAMQF63bp0sy7K8c+dO2e/3y5deemnScTfddJMsSZL85ZdfyrIsy+vXr5fdbrd8/fXXJx334Ycfyh6PJ+32VC+99JIMQH7ssceSbp8xY4Y8Y8aMtOPPPPNMedy4ccrX69atkwHIQ4cOlTs6OpTbn376aRmA/K9//Uu57bDDDpPr6uqUcxe0r8/NN9+c9Dpopb43P/nJT2QA8muvvabc1t3dLY8fP15uaWmRo9Fo0nPcY4895GAwqBx7xx13yADkDz/8UP/FSTjttNPk4cOHy5FIRLlty5Ytssvlkq+99lrltr6+vrSf/dvf/iYDkF999VXlttT3WpZlGYB81VVX5XzORj+Pmeid4w9/+EO5urpaHhgYkGVZloPBoDx06FB52rRpcjgcVo578MEHZQBJn4tIJJL0msqyLO/YsUMeMWKEfPbZZyfdnvocxe9l6nEnnniiPHToUOXr2267TQYgb9++PePzeuedd2QA8gMPPJDxGC2992DPPffU/cwbfc3F70J9fb3c2tqadKzR12n79u0ZPwvi9RJWrFghA5DPPffcpON++tOfygDkF198Ublt3LhxaZ/D1tZW3f/GEBGVEpbWExGVgO7ubgBAXV1d1uPE97u6upJuv/DCC5O+/vGPfwwAePbZZzPe12OPPYZDDz0UTU1NaGtrU/7MnDkT0WgUr776KgDgH//4ByRJwlVXXZV2H1YysfX19TjmmGPw97//HbJmHuvixYvxjW98A1/72tcAxAf/xWIxnHrqqUnnN3LkSOy66666Jc75MGfOHDQ1NSlfi6zoF198AQDYvn07Xn31VZx99tnKuQtWM9XPPvssDjzwQBxyyCHKbbW1tTj//POxfv16fPLJJ0nHz507N6lXOfUcM5kzZw5aW1uThqA9/vjjiMVimDNnjnJbVVWV8veBgQG0tbXhG9/4BgBg+fLl5p+gDqOfx0y059jd3Y22tjYceuih6Ovrw6pVqwDEB8e1t7fjvPPOS+rJPv3005PeYyDeay5e01gsho6ODkQiERxwwAGGn/MFF1yQ9PWhhx6K9vZ25fdXVJQ8/fTThtoHnGb2NT/55JPTqkiceJ1Sif9uzZ8/P+n2Sy+9FADSqpKmTJmSVMk0bNgw7L777jk//0REgxlL64mISoAI0EVAn0mmgH/XXXdN+nrixIlwuVxZd0mvXr0aK1euzFjeLYbFrV27FqNGjcKQIUOynpsZc+bMwVNPPYWlS5fi4IMPxtq1a/Hee+8llfKuXr0asiynPTehUBPeU4NzEfDt2LEDgBosizJ0J3z55Zc46KCD0m7fY489lO9rHy/XOWZy9NFHo6GhAYsXL8aRRx4JIH5BZb/99sNuu+2mHNfR0YFrrrkGjz76qPK5EHbu3GnimWVm9POYyccff4xf/epXePHFF9MudIlz/PLLLwEAkyZNSvq+x+PRnbL/0EMP4be//S1WrVqFcDis3D5+/PiczwfI/r7U19djzpw5uO+++3Duuefisssuw5FHHomTTjoJ3/ve9+By5T8XY/Y1z/S87b5Oqb788ku4XK6092nkyJFobGxU3kch9XUG4q91rs8/EdFgxkCeiKgENDQ0YJdddsHKlSuzHrdy5UqMHj0a9fX1WY8zkgmOxWL49re/jZ/97Ge639cGck77zne+g+rqavz973/HwQcfjL///e9wuVw45ZRTks5PkiT8+9//1p3CXVtba+mxJUlKqgQQ9IaiAcg4AVzvPorF6jn6/X7Mnj0bTz75JO666y5s27YNb7zxBm644Yak40499VS8+eabWLBgAfbbbz/U1tYiFovh6KOPtpxJTn297XweOzs7MWPGDNTX1+Paa6/FxIkTEQgEsHz5cvz85z+3dI5/+ctfcNZZZ2H27NlYsGABhg8fDrfbjYULF2Lt2rWG7iPX+1JVVYVXX30VL730Ep555hk899xzWLx4Mb71rW/hP//5T96nz5t9zbVVD4ITr1MmRitaSuF3lIjILAbyREQl4vjjj8e9996L119/PamkWnjttdewfv16/PCHP0z73urVq5OyX2vWrEEsFsu6y3vixIno6enBzJkzs57XxIkT8fzzz6OjoyNrVt5MGXlNTQ2OP/54PPbYY7j11luxePFiHHrooRg1alTS48qyjPHjxzt6UaGpqUm35DY1y2eUmMAvJrxnYub1GTduHD777LO020WJ+Lhx40ycYXZz5szBQw89hCVLluDTTz+FLMtJZfU7duzAkiVLcM011+DKK69Ubl+9erWh+29qakJnZ2fSbaFQCFu2bEm6zejnUc/LL7+M9vZ2PPHEEzjssMOU29etW5d0nHjd1qxZgyOOOEK5PRKJYP369UnD1x5//HFMmDABTzzxRNJ7p9diYofL5cKRRx6JI488ErfeeituuOEG/PKXv8RLL72EmTNnOjJIMNN92HnNBaOvk9nPfywWw+rVq5UqFCA+BLKzs9PRzz8R0WDFHnkiohKxYMECVFVV4Yc//GHaWq+Ojg5ccMEFqK6uVtaYaS1atCjp69/97ncAgGOOOSbj45166qlYunQpnn/++bTvdXZ2IhKJAIj3xcqyjGuuuSbtOG3Gq6amJi1gy2bOnDnYvHkz7rvvPnzwwQdJwSMAnHTSSXC73bjmmmvSMmuyLBtafaZn4sSJWLVqFbZv367c9sEHHyiTws0aNmwYDjvsMNx///3YsGFD2nkKNTU1AGDoNTr22GPx9ttvY+nSpcptvb29uOeee9DS0oIpU6ZYOlc9M2fOxJAhQ7B48WIsXrwYBx54YNJFIZHtTH0Pck2RFyZOnJjWa33PPfekZeSNfh716J1jKBTCXXfdlXTcAQccgKFDh+Lee+9Nur+//vWvaWXYevf51ltvJb0ndnV0dKTdJqbhizVrZj43mWT63bTzmgtGX6fq6mrlfnM59thjAaR/xm699VYA8Y0LRETljhl5IqISseuuu+Khhx7C6aefjr333hvnnHMOxo8fj/Xr1+NPf/oT2tra8Le//U13rdu6detwwgkn4Oijj8bSpUvxl7/8Bf/v//0/7Lvvvhkfb8GCBfjnP/+J448/XlnV1Nvbiw8//BCPP/441q9fj+bmZhxxxBH4wQ9+gDvvvBOrV69Wyqlfe+01HHHEEZg3bx4AYOrUqfjvf/+LW2+9FaNGjcL48eN1+7yFY489FnV1dfjpT38Kt9uNk08+Oen7EydOxK9//Wtcfvnlyoqwuro6rFu3Dk8++STOP/98/PSnPzX9Op999tm49dZbMWvWLJxzzjlobW3F3XffjT333DOtt9qoO++8E4cccgi+/vWv4/zzz1fet2eeeQYrVqwAEH99AOCXv/wlvv/978Pr9eI73/mOEqhpXXbZZfjb3/6GY445BhdddBGGDBmChx56COvWrcM//vEPR/unvV4vTjrpJDz66KPo7e3FLbfckvT9+vp6HHbYYbjpppsQDocxevRo/Oc//0nLdmdy7rnn4oILLsDJJ5+Mb3/72/jggw/w/PPPKyv4BKOfRz0HH3wwmpqacOaZZ+Kiiy6CJEn485//nHbxwefz4eqrr8aPf/xjfOtb38Kpp56K9evX48EHH8TEiROTssbHH388nnjiCZx44ok47rjjsG7dOtx9992YMmUKenp6DD33XK699lq8+uqrOO644zBu3Di0trbirrvuwpgxY5SqnIkTJ6KxsRF333036urqUFNTg4MOOshU//nUqVPxhz/8Ab/+9a8xadIkDB8+HN/61rdsveaC0depqqoKU6ZMweLFi7HbbrthyJAh2GuvvXRnS+y7774488wzcc899yhtE2+//TYeeughzJ49O6magoiobBV4Sj4REdm0cuVK+bTTTpN32WUX2ev1yiNHjpRPO+003VViYm3TJ598In/ve9+T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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fit in 40.59 seconds\n" + ] + } + ], + "source": [ + "opt = COBYLA(maxiter=150)\n", + "\n", + "objective_func_vals = []\n", + "# make the plot nicer\n", + "plt.rcParams[\"figure.figsize\"] = (12, 6)\n", + "\n", + "start = time.time()\n", + "opt_result = opt.minimize(fun=cost_func_digits, x0=initial_point)\n", + "elapsed = time.time() - start\n", + "print(f\"Fit in {elapsed:0.2f} seconds\")" + ] + }, + { + "cell_type": "markdown", + "id": "0c92af0a", + "metadata": {}, + "source": [ + "Looks like it has converged!\n", + "\n", + "Now let's build our Encoder and Decoder using the parameters obtained from the training period. After applying this circuit to our new dataset, we can then compare our input and output data and see if we were able to retain the images efficiently throughout the compression! " + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "8d847b99", + "metadata": { + "tags": [ + "nbsphinx-thumbnail" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAIQCAYAAAAl90lVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAqFUlEQVR4nO3de5zVdZ348fdhcA73kbsiIzfTJAIVlWUVRFNZV00tLc3aUaktQ814ZMXu4yGQm9BaiZXhZVswXC+rK1p20TSQUlHU9f7wVqBYKmoyw0VHYL6/P/rxWSdA5wxzzhnmPJ+Px3nkOXznfN+jwfu8OJfJZVmWBQAAQER0KvcAAABA+yEQAACARCAAAACJQAAAABKBAAAAJAIBAABIBAIAAJAIBAAAIBEIAABAIhAAAIBEILRDCxYsiFwuFw899FC5R4mIiA0bNsTMmTNjyZIlLTp+yZIlkcvl0iWfz8fAgQNj0qRJcfHFF8frr7/e6lmefvrpmDlzZqxcubLV9wEApfTUU0/FZz/72dhjjz0in8/HoEGD4vTTT4+nnnpqh+734osvjltvvbVthvwA9913X8ycOTPWrFnTouPPOOOMZo8FevToEcOHD4+TTz45/ud//ieamppaPct1110Xc+fObfXX88EEAh9ow4YNMWvWrBYHwhbnnXdeLFy4MK666qq44IILok+fPjFjxozYd99947e//W2rZnn66adj1qxZAgGAncItt9wSBxxwQNx9991x5plnxo9//OOYMmVKLF68OA444IBYtGhRq++71IEwa9asFgdCREQ+n4+FCxfGwoUL49JLL43PfOYz8fzzz8fJJ58cH/vYx6KhoaFVswiE4utc7gHouCZMmBAnn3xys9see+yxOProo+OTn/xkPP3007H77ruXaToAKK4//OEP8bnPfS6GDx8eS5cujf79+6df+8pXvhITJkyIz33uc/H444/H8OHDyzhpcXTu3Dk++9nPNrvt3/7t32LOnDkxffr0+MIXvhA33nhjmabj/XgGYSdxxhlnRI8ePeJPf/pTnHjiidGjR4/o379/fO1rX4vNmzen41auXBm5XC6++93vxqWXXhpDhgyJrl27xmGHHRZPPvlks/ucNGlSTJo0aZvnGjp0aLq/LX+gzZo1Kz1VOHPmzFZ9H2PGjIm5c+fGmjVr4kc/+lG6/cUXX4wvf/nLsc8++0TXrl2jb9++ccoppzR7pmDBggVxyimnRETE4YcfnmbZ8szGbbfdFscee2wMGjQo8vl8jBgxIi666KJm/34AoFQuueSS2LBhQ1x11VXN4iAiol+/fnHllVfG+vXr49///d/T7e/dwe81c+bMyOVy6Xoul4v169fHNddck/bhGWec0ezYZ555Jj71qU9Fr169om/fvvGVr3wl3nnnnXQfWx4zLFiwYKvzvXfXz5w5My644IKIiBg2bFg6X2ufzf/mN78ZRx99dNx0003x3HPPpdtbsscnTZoUv/jFL+LFF19Mc2z59/Xuu+/GhRdeGGPHjo2ampro3r17TJgwIRYvXtyqOSuZZxB2Ips3b47JkyfHuHHj4rvf/W7cdddd8b3vfS9GjBgRZ599drNjf/rTn8batWtj6tSp8c4778Rll10WRxxxRDzxxBMxcODAFp+zf//+MW/evDj77LPjpJNOik984hMRETF69OhWfx8nn3xyTJkyJe6888749re/HRERy5cvj/vuuy9OPfXUGDx4cKxcuTLmzZsXkyZNiqeffjq6desWEydOjPPOOy9+8IMfxL/8y7/EvvvuGxGR/nfBggXRo0ePmDZtWvTo0SN++9vfxoUXXhgNDQ1xySWXtHpeAGiNn//85zF06NCYMGHCNn994sSJMXTo0PjFL35R8H0vXLgwPv/5z8fBBx8c//zP/xwRESNGjGh2zKc+9akYOnRozJ49O5YtWxY/+MEP4q233oqf/vSnBZ3rE5/4RDz33HNx/fXXx6WXXhr9+vWLiNgqegrxuc99Lu688874zW9+E3vvvXdEtGyP/+u//mvU19fHyy+/HJdeemlERPTo0SMiIhoaGuI//uM/4rTTTosvfOELsXbt2vjJT34SkydPjgcffDD222+/Vs9bcTLanfnz52cRkS1fvjzdVldXl0VE9q1vfavZsfvvv382duzYdH3FihVZRGRdu3bNXn755XT7Aw88kEVE9tWvfjXddthhh2WHHXbYVuevq6vLhgwZkq6//vrrWURkM2bMaNH8ixcvziIiu+mmm7Z7zJgxY7LevXun6xs2bNjqmPvvvz+LiOynP/1puu2mm27KIiJbvHjxVsdv6z6++MUvZt26dcveeeedFs0OAG1hzZo1WURkJ5xwwvse9/GPfzyLiKyhoSHLsq138BYzZszI/vZhW/fu3bO6urrtHvvxj3+82e1f/vKXs4jIHnvssSzL/u8xw/z587e6j7/d+5dcckkWEdmKFSve9/vZoq6uLuvevft2f/1///d/t3pc0tI9fuyxx27z39GmTZuyxsbGZre99dZb2cCBA7OzzjqrRXPzV15itJP50pe+1Oz6hAkT4o9//ONWx5144omxxx57pOsHH3xwjBs3Ln75y18WfcaW6NGjR6xduzZd79q1a/rnjRs3xptvvhl77bVX7LrrrvHII4+06D7fex9r166NN954IyZMmBAbNmyIZ555pu2GB4APsGXH9ezZ832P2/LrrX3D7vuZOnVqs+vnnntuRES7eCyw5W/9t/dYoDV7vKqqKqqrqyMioqmpKf7yl7/Epk2b4sADD2zxYwn+SiDsRLp06bLV03m9e/eOt956a6tjP/ShD2112957791uPv1n3bp1zf7QfPvtt+PCCy+M2trayOfz0a9fv+jfv3+sWbMm6uvrW3SfTz31VJx00klRU1MTvXr1iv79+6c3R7X0PgCgLWzZce99ALwtLQ2J1vjbxwIjRoyITp06tYvHAuvWrYuI5t93W+zxa665JkaPHh1dunSJvn37Rv/+/eMXv/iFxwEF8h6EnUhVVVWb3l8ul4ssy7a6vdhv6t24cWM899xzMWrUqHTbueeeG/Pnz4/zzz8/xo8fHzU1NZHL5eLUU09t0Wclr1mzJg477LDo1atXfOtb34oRI0ZEly5d4pFHHolvfOMbO/R5ywBQqJqamth9993j8ccff9/jHn/88dhjjz2iV69eERHN3oj8Xm2xm//2vot5rg+y5YNT9tprr4homz1+7bXXxhlnnBEnnnhiXHDBBTFgwICoqqqK2bNnxx/+8Ieifj8djUDooJ5//vmtbnvuueeafTJC7969t/nypBdffLHZ9e39AdJaN998c7z99tsxefLkZrfV1dXF9773vXTbO++8s9XnLW9vliVLlsSbb74Zt9xyS0ycODHdvmLFijadHQBa6rjjjourr746fv/738ehhx661a//7ne/i5UrV8YXv/jFdFvv3r23+bMG/nY3R3zwfn7++edj2LBh6foLL7wQTU1N6bFA7969IyK2Ol9rzlWohQsXRi6Xi6OOOioiCtvj25vl5ptvjuHDh8ctt9zS7JgZM2a06eyVwEuMOqhbb701/vSnP6XrDz74YDzwwANx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zz5b7rHa1Lx582L06NHpB6aMHz8+fvWrX5V7LIB2r6Pv+ojK2PeVsOsjdo5936ED4cYbb4xp06bFjBkz4pFHHokxY8bE5MmTY/Xq1eUerc2sX78+xowZE5dffnm5Rymqe+65J6ZOnRrLli2L3/zmN7Fx48Y4+uijY/369eUerc0MHjw45syZEw8//HA89NBDccQRR8QJJ5wQTz31VLlHA2i3KmHXR1TGvq+EXR+xc+z7Dv0xp+PGjYuDDjoofvSjH0VERFNTU9TW1sa5554b3/zmN8s8XdvL5XKxaNGiOPHEE8s9StG9/vrrMWDAgLjnnnti4sSJ5R6naPr06ROXXHJJTJkypdyjALRLlbbrIypn31fKro9of/u+wz6D8O6778bDDz8cRx55ZLqtU6dOceSRR8b9999fxsloC/X19RHx199QHdHmzZvjhhtuiPXr18f48ePLPQ5Au2TXd2wdfddHtN9937ncAxTLG2+8EZs3b46BAwc2u33gwIHxzDPPlGkq2kJTU1Ocf/75ccghh8SoUaPKPU6beuKJJ2L8+PHxzjvvRI8ePWLRokUxcuTIco8F0C7Z9R1XR971Ee1/33fYQKDjmjp1ajz55JPx+9//vtyjtLl99tknHn300aivr4+bb7456urq4p577mlXf2gAQLF15F0f0f73fYcNhH79+kVVVVW89tprzW5/7bXXYrfddivTVOyoc845J26//fZYunRpDB48uNzjtLnq6urYa6+9IiJi7NixsXz58rjsssviyiuvLPNkAO2PXd8xdfRdH9H+932HfQ9CdXV1jB07Nu6+++50W1NTU9x9993t6jVetEyWZXHOOefEokWL4re//W0MGzas3COVRFNTUzQ2NpZ7DIB2ya7vWCp110e0v33fYZ9BiIiYNm1a1NXVxYEHHhgHH3xwzJ07N9avXx9nnnlmuUdrM+vWrYsXXnghXV+xYkU8+uij0adPn9hzzz3LOFnbmjp1alx33XVx2223Rc+ePePVV1+NiIiampro2rVrmadrG9OnT49jjjkm9txzz1i7dm1cd911sWTJkrjjjjvKPRpAu1UJuz6iMvZ9Jez6iJ1k32cd3A9/+MNszz33zKqrq7ODDz44W7ZsWblHalOLFy/OImKrS11dXblHa1Pb+h4jIps/f365R2szZ511VjZkyJCsuro669+/f/axj30su/POO8s9FkC719F3fZZVxr6vhF2fZTvHvu/QPwcBAAAoTId9DwIAAFA4gQAAACQCAQAASAQCAACQCAQAACARCAAAQCIQAACARCAAAACJQAAAABKBAAAAJAIBAABIBAIAAJD8Py4BGNOgRjPIAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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pUtWU1Ozy2M//vGPN7r9q1/9ahYR2cMPP5xl2f8+Zli4cOEO9/G3e//iiy/OIiJbs2bNe34/29XU1GRdunTZ5Z//z//8zw6PS5q6x4877rid/nf09ttvZ/X19Y1ue/3117N+/fplZ5xxRpPm5h1eYrSH+cpXvtLo+oQJE+KPf/zjDsdNnTo19tlnn3T9sMMOi3HjxsV///d/F33GpujatWts2LAhXe/UqVP6z2+99Va89tprsd9++8UHPvCBePDBB5t0n+++jw0bNsSrr74aEyZMiM2bN8eTTz7ZcsMDwPvYvuO6dev2nsdt//PmvmH3vcyYMaPR9bPPPjsiolU8Ftj+U/9dPRZozh5v3759VFVVRUREQ0ND/PWvf4233347xo4d2+THErxDIOxBOnbsuMPTeT169IjXX399h2P333//HW474IADWs2n/2zcuLHRP5pvvvlmnH/++TFo0KDI5/PRu3fv6NOnT7zxxhtRW1vbpPt8/PHH48QTT4zq6uro3r179OnTJ705qqn3AQAtYfuOe/cD4J1pakg0x98+Fhg+fHi0a9euVTwW2LhxY0Q0/r5bYo9fc801MWrUqOjYsWP06tUr+vTpE7/85S89DiiQ9yDsQdq3b9+i95fL5SLLsh1uL/abet966614+umnY+TIkem2s88+OxYuXBjnnntujB8/PqqrqyOXy8Upp5zSpM9KfuONN+LII4+M7t27x3e+850YPnx4dOzYMR588MH41re+tVuftwwAhaquro7+/fvHI4888p7HPfLII7HPPvtE9+7dIyIavRH53VpiN//tfRfzXO9n+wen7LfffhHRMnv8uuuui9NPPz2mTp0a5513XvTt2zfat28f8+bNi+eee66o309bIxDaqGeeeWaH255++ulGn4zQo0ePnb486fnnn290fVf/gDTXTTfdFG+++WZMnjy50W01NTXx/e9/P922ZcuWHT5veVezrFixIl577bW4+eabY+LEien2NWvWtOjsANBUxx9/fFx11VXx+9//Po444ogd/vx3v/tdrF27Nr785S+n23r06LHT3zXwt7s54v338zPPPBNDhw5N15999tloaGhIjwV69OgREbHD+ZpzrkItXrw4crlcfOxjH4uIwvb4rma56aabYtiwYXHzzTc3Omb27NktOnsl8BKjNuqWW26JP//5z+n6fffdF/fee29MmTIl3TZ8+PB48sknG/1m44cffjj+8Ic/NLqvzp07R8SO/4A0x8MPPxznnntu9OjRo9FrI9u3b7/Dsxk//vGPd/gpRpcuXXY6y/ZnV959H1u3bo2f/vSnuz0zADTHeeedF506dYovf/nL8dprrzX6s7/+9a/xla98JTp37pw+QjTind1cW1vb6JmHv/zlLzv9hWpdunR5z9182WWXNbr+4x//OCIiPRbo3r179O7dO1auXNnouJ3tzl3t3+aYP39+3H777fGZz3wmvQyqkD3epUuXnb5kaGf3ce+998Y999yz2zNXGs8gtFH77bdfHHHEEXHmmWdGfX19XHrppdGrV6/45je/mY4544wz4gc/+EFMnjw5pk+fHuvXr4/LL788PvzhDzd6s1SnTp1ixIgRsWTJkjjggAOiZ8+eMXLkyEYvEdqZ3/3ud7Fly5bYtm1bvPbaa/GHP/whbrvttqiuro6lS5fG3nvvnY49/vjjY/HixVFdXR0jRoyIe+65J+64447o1atXo/s86KCDon379vHd7343amtrI5/Px9FHHx1///d/Hz169Iiampo455xzIpfLxeLFi3f6EioAKIX9998/rrnmmjjttNPiIx/5SEyfPj2GDh0aa9eujauvvjpeffXV+NnPftbo40lPOeWU+Na3vhUnnnhinHPOObF58+ZYsGBBHHDAATu80XbMmDFxxx13xA9+8IMYMGBADB06NMaNG5f+fM2aNfHxj388/uEf/iHuueeeuO666+Kzn/1sjB49Oh3zxS9+MebPnx9f/OIXY+zYsbFy5cpGv5vg3eeKeOdjRk855ZTYa6+94oQTTkjhsDNvv/12XHfddRHxzqsCnn/++bjtttvikUceiaOOOiquvPLKdGwhe3zMmDGxZMmSmDlzZhx66KHRtWvXOOGEE+L444+Pm2++OU488cQ47rjjYs2aNXH55ZfHiBEj0nseaKIyfoISu7Crjznd2ceF/e3Hnm3/yLKLL744+/73v58NGjQoy+fz2YQJE9LHmr3bddddlw0bNiyrqqrKDjrooGzZsmU7/Yi1u+++OxszZkxWVVX1vh95uv1jTrdf9tprr6xPnz7ZxIkTswsvvDBbv379Dl/z+uuvZ9OmTct69+6dde3aNZs8eXL25JNPZoMHD97hI9yuuuqqbNiwYVn79u0bfeTpH/7wh+zv/u7v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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Test\n", + "test_qc = QuantumCircuit(num_latent + num_trash)\n", + "test_qc = test_qc.compose(fm)\n", + "ansatz_qc = ansatz(num_latent + num_trash)\n", + "test_qc = test_qc.compose(ansatz_qc)\n", + "test_qc.barrier()\n", + "test_qc.reset(4)\n", + "test_qc.reset(3)\n", + "test_qc.barrier()\n", + "test_qc = test_qc.compose(ansatz_qc.inverse())\n", + "\n", + "# sample new images\n", + "test_images, test_labels = get_dataset_digits(2, draw=False)\n", + "for image, label in zip(test_images, test_labels):\n", + " original_qc = fm.assign_parameters(image)\n", + " original_sv = Statevector(original_qc).data\n", + " original_sv = np.reshape(np.abs(original_sv) ** 2, (8, 4))\n", + "\n", + " param_values = np.concatenate((image, opt_result.x))\n", + " output_qc = test_qc.assign_parameters(param_values)\n", + " output_sv = Statevector(output_qc).data\n", + " output_sv = np.reshape(np.abs(output_sv) ** 2, (8, 4))\n", + "\n", + " fig, (ax1, ax2) = plt.subplots(1, 2)\n", + " ax1.imshow(original_sv)\n", + " ax1.set_title(\"Input Data\")\n", + " ax2.imshow(output_sv)\n", + " ax2.set_title(\"Output Data\")\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "8ecfe78e", + "metadata": {}, + "source": [ + "It looks like our Quantum Autoencoder can be trained to encode digits as well! Now it's your turn to build your own Quantum Autoencoder and come up with ideas and datasets to compress!" + ] + }, + { + "cell_type": "markdown", + "id": "ae71d1a3", + "metadata": {}, + "source": [ + "## 8. Applications of a Quantum Autoencoder" + ] + }, + { + "cell_type": "markdown", + "id": "9c076968", + "metadata": {}, + "source": [ + "Quantum Autoencoder's can be used for various different applications, including\n", + "\n", + "1. Digital Compression: where information can be encoded into a smaller amount of qubits. This can be hugely beneficial for near term quantum devices, as smaller systems of qubits are less prone to noise.\n", + "2. Denoising: where one can use Quantum Autoencoder to extract relevant features from the initial quantum state or encoded data, while neglecting any additional noise.\n", + "3. Quantum Chemistry: in which a Quantum Autoencoder can be used as an ansatz for systems, such as the Hubbard Model. This is commonly used to describe electron-electron interactions in molecules. " + ] + }, + { + "cell_type": "markdown", + "id": "bfd1eb3c", + "metadata": {}, + "source": [ + "## 9. References" + ] + }, + { + "cell_type": "markdown", + "id": "c44364ae", + "metadata": {}, + "source": [ + "1. A wikipedia page on Autoencoder: https://en.wikipedia.org/wiki/Autoencoder\n", + "\n", + "2. Romero, Jonathan, Jonathan P. Olson, and Alan Aspuru-Guzik. \"Quantum autoencoders for efficient compression of quantum data.\" Quantum Science and Technology 2.4 (2017): 045001.\n", + "\n", + "3. Swap Test Algorithm: https://en.wikipedia.org/wiki/Swap_test" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "aab7dbd0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Version Information

Qiskit SoftwareVersion
qiskit-terra0.22.2
qiskit-aer0.11.1
qiskit-machine-learning0.6.0
System information
Python version3.8.13
Python compilerClang 12.0.0
Python builddefault, Oct 19 2022 17:54:22
OSDarwin
CPUs10
Memory (Gb)64.0
Thu Nov 10 23:26:05 2022 GMT
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "

This code is a part of Qiskit

© Copyright IBM 2017, 2022.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import qiskit.tools.jupyter\n", + "\n", + "%qiskit_version_table\n", + "%qiskit_copyright" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/_sources/tutorials/index.rst.txt b/_sources/tutorials/index.rst.txt new file mode 100644 index 000000000..66447d659 --- /dev/null +++ b/_sources/tutorials/index.rst.txt @@ -0,0 +1,15 @@ +########################## +Machine Learning Tutorials +########################## + + +.. nbgallery:: + :glob: + + * + + +.. Hiding - Indices and tables + :ref:`genindex` + :ref:`modindex` + :ref:`search` diff --git a/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css b/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css new file mode 100644 index 000000000..eb19f698a --- /dev/null +++ b/_sphinx_design_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/_sphinx_design_static/design-tabs.js b/_sphinx_design_static/design-tabs.js new file mode 100644 index 000000000..36b38cf0d --- /dev/null +++ b/_sphinx_design_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_static/_sphinx_javascript_frameworks_compat.js b/_static/_sphinx_javascript_frameworks_compat.js new file mode 100644 index 000000000..81415803e --- /dev/null +++ b/_static/_sphinx_javascript_frameworks_compat.js @@ -0,0 +1,123 @@ +/* Compatability shim for jQuery and underscores.js. + * + * Copyright Sphinx contributors + * Released under the two clause BSD licence + */ + +/** + * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL + */ +jQuery.urldecode = function(x) { + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 000000000..cfc60b86c --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,921 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/debug.css b/_static/debug.css new file mode 100644 index 000000000..74d4aec33 --- /dev/null +++ b/_static/debug.css @@ -0,0 +1,69 @@ +/* + This CSS file should be overridden by the theme authors. It's + meant for debugging and developing the skeleton that this theme provides. +*/ +body { + font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji"; + background: lavender; +} +.sb-announcement { + background: rgb(131, 131, 131); +} +.sb-announcement__inner { + background: black; + color: white; +} +.sb-header { + background: lightskyblue; +} +.sb-header__inner { + background: royalblue; + color: white; +} +.sb-header-secondary { + background: lightcyan; +} +.sb-header-secondary__inner { + background: cornflowerblue; + color: white; +} +.sb-sidebar-primary { + background: lightgreen; +} +.sb-main { + background: blanchedalmond; +} +.sb-main__inner { + background: antiquewhite; +} +.sb-header-article { + background: lightsteelblue; +} +.sb-article-container { + background: snow; +} +.sb-article-main { + background: white; +} +.sb-footer-article { + background: lightpink; +} +.sb-sidebar-secondary { + background: lightgoldenrodyellow; +} +.sb-footer-content { + background: plum; +} +.sb-footer-content__inner { + background: palevioletred; +} +.sb-footer { + background: pink; +} +.sb-footer__inner { + background: salmon; +} +.sb-article { + background: white; +} diff --git a/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css b/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css new file mode 100644 index 000000000..eb19f698a --- /dev/null +++ b/_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative}details.sd-dropdown .sd-summary-title{font-weight:700;padding-right:3em !important;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary{list-style:none;padding:1em}details.sd-dropdown summary .sd-octicon.no-title{vertical-align:middle}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown summary::-webkit-details-marker{display:none}details.sd-dropdown summary:focus{outline:none}details.sd-dropdown .sd-summary-icon{margin-right:.5em}details.sd-dropdown .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary:hover .sd-summary-up svg,details.sd-dropdown summary:hover .sd-summary-down svg{opacity:1;transform:scale(1.1)}details.sd-dropdown .sd-summary-up svg,details.sd-dropdown .sd-summary-down svg{display:block;opacity:.6}details.sd-dropdown .sd-summary-up,details.sd-dropdown .sd-summary-down{pointer-events:none;position:absolute;right:1em;top:1em}details.sd-dropdown[open]>.sd-summary-title .sd-summary-down{visibility:hidden}details.sd-dropdown:not([open])>.sd-summary-title .sd-summary-up{visibility:hidden}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem} diff --git a/_static/design-tabs.js b/_static/design-tabs.js new file mode 100644 index 000000000..36b38cf0d --- /dev/null +++ b/_static/design-tabs.js @@ -0,0 +1,27 @@ +var sd_labels_by_text = {}; + +function ready() { + const li = document.getElementsByClassName("sd-tab-label"); + for (const label of li) { + syncId = label.getAttribute("data-sync-id"); + if (syncId) { + label.onclick = onLabelClick; + if (!sd_labels_by_text[syncId]) { + sd_labels_by_text[syncId] = []; + } + sd_labels_by_text[syncId].push(label); + } + } +} + +function onLabelClick() { + // Activate other inputs with the same sync id. + syncId = this.getAttribute("data-sync-id"); + for (label of sd_labels_by_text[syncId]) { + if (label === this) continue; + label.previousElementSibling.checked = true; + } + window.localStorage.setItem("sphinx-design-last-tab", syncId); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 000000000..d06a71d75 --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 000000000..e15b7333d --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '0.7.1', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 000000000..a858a410e Binary files /dev/null and b/_static/file.png differ diff --git a/_static/images/ecosystem-logo.svg b/_static/images/ecosystem-logo.svg new file mode 100644 index 000000000..51b02dd2d --- /dev/null +++ b/_static/images/ecosystem-logo.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/images/logo.png b/_static/images/logo.png new file mode 100644 index 000000000..769ddee14 Binary files /dev/null and b/_static/images/logo.png differ diff --git a/_static/jquery.js b/_static/jquery.js new file mode 100644 index 000000000..c4c6022f2 --- /dev/null +++ b/_static/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0=0;o--)(s=e[o])&&(r=(a<3?s(r):a>3?s(t,i,r):s(t,i))||r);return a>3&&r&&Object.defineProperty(t,i,r),r}function i(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)} +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const n=window,s=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),r=new WeakMap;let o=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(s&&void 0===e){const i=void 0!==t&&1===t.length;i&&(e=r.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&r.set(t,e))}return e}toString(){return this.cssText}};const d=s?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new o("string"==typeof e?e:e+"",void 0,a))(t)})(e):e +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */;var l;const c=window,h=c.trustedTypes,u=h?h.emptyScript:"",p=c.reactiveElementPolyfillSupport,v={toAttribute(e,t){switch(t){case Boolean:e=e?u:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},m=(e,t)=>t!==e&&(t==t||e==e),b={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:m};let f=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,i)=>{const n=this._$Ep(i,t);void 0!==n&&(this._$Ev.set(n,i),e.push(n))})),e}static createProperty(e,t=b){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const i="symbol"==typeof e?Symbol():"__"+e,n=this.getPropertyDescriptor(e,i,t);void 0!==n&&Object.defineProperty(this.prototype,e,n)}}static getPropertyDescriptor(e,t,i){return{get(){return this[t]},set(n){const s=this[e];this[t]=n,this.requestUpdate(e,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||b}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const i of t)this.createProperty(i,e[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(d(e))}else void 0!==e&&t.push(d(e));return t}static _$Ep(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}u(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,i;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(i=e.hostConnected)||void 0===i||i.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{s?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const i=document.createElement("style"),s=n.litNonce;void 0!==s&&i.setAttribute("nonce",s),i.textContent=t.cssText,e.appendChild(i)}))})(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$EO(e,t,i=b){var n;const s=this.constructor._$Ep(e,i);if(void 0!==s&&!0===i.reflect){const a=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:v).toAttribute(t,i.type);this._$El=e,null==a?this.removeAttribute(s):this.setAttribute(s,a),this._$El=null}}_$AK(e,t){var i;const n=this.constructor,s=n._$Ev.get(e);if(void 0!==s&&this._$El!==s){const e=n.getPropertyOptions(s),a="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(i=e.converter)||void 0===i?void 0:i.fromAttribute)?e.converter:v;this._$El=s,this[s]=a.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,i){let n=!0;void 0!==e&&(((i=i||this.constructor.getPropertyOptions(e)).hasChanged||m)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===i.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const i=this._$AL;try{t=this.shouldUpdate(i),t?(this.willUpdate(i),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(i)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(i)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}; +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +var g;f.finalized=!0,f.elementProperties=new Map,f.elementStyles=[],f.shadowRootOptions={mode:"open"},null==p||p({ReactiveElement:f}),(null!==(l=c.reactiveElementVersions)&&void 0!==l?l:c.reactiveElementVersions=[]).push("1.6.1");const x=window,_=x.trustedTypes,y=_?_.createPolicy("lit-html",{createHTML:e=>e}):void 0,k=`lit$${(Math.random()+"").slice(9)}$`,w="?"+k,$=`<${w}>`,S=document,A=(e="")=>S.createComment(e),z=e=>null===e||"object"!=typeof e&&"function"!=typeof e,C=Array.isArray,E=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,P=/-->/g,q=/>/g,M=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),T=/'/g,N=/"/g,O=/^(?:script|style|textarea|title)$/i,R=(e=>(t,...i)=>({_$litType$:e,strings:t,values:i}))(1),I=Symbol.for("lit-noChange"),U=Symbol.for("lit-nothing"),H=new WeakMap,j=S.createTreeWalker(S,129,null,!1),L=(e,t)=>{const i=e.length-1,n=[];let s,a=2===t?"":"",r=E;for(let t=0;t"===d[0]?(r=null!=s?s:E,l=-1):void 0===d[1]?l=-2:(l=r.lastIndex-d[2].length,o=d[1],r=void 0===d[3]?M:'"'===d[3]?N:T):r===N||r===T?r=M:r===P||r===q?r=E:(r=M,s=void 0);const h=r===M&&e[t+1].startsWith("/>")?" ":"";a+=r===E?i+$:l>=0?(n.push(o),i.slice(0,l)+"$lit$"+i.slice(l)+k+h):i+k+(-2===l?(n.push(void 0),t):h)}const o=a+(e[i]||"")+(2===t?"":"");if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==y?y.createHTML(o):o,n]};class V{constructor({strings:e,_$litType$:t},i){let n;this.parts=[];let s=0,a=0;const r=e.length-1,o=this.parts,[d,l]=L(e,t);if(this.el=V.createElement(d,i),j.currentNode=this.el.content,2===t){const e=this.el.content,t=e.firstChild;t.remove(),e.append(...t.childNodes)}for(;null!==(n=j.nextNode())&&o.length0){n.textContent=_?_.emptyScript:"";for(let i=0;iC(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]))(e)?this.k(e):this.g(e)}O(e,t=this._$AB){return this._$AA.parentNode.insertBefore(e,t)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}g(e){this._$AH!==U&&z(this._$AH)?this._$AA.nextSibling.data=e:this.T(S.createTextNode(e)),this._$AH=e}$(e){var t;const{values:i,_$litType$:n}=e,s="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=V.createElement(n.h,this.options)),n);if((null===(t=this._$AH)||void 0===t?void 0:t._$AD)===s)this._$AH.p(i);else{const e=new D(s,this),t=e.v(this.options);e.p(i),this.T(t),this._$AH=e}}_$AC(e){let t=H.get(e.strings);return void 0===t&&H.set(e.strings,t=new V(e)),t}k(e){C(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,n=0;for(const s of e)n===t.length?t.push(i=new F(this.O(A()),this.O(A()),this,this.options)):i=t[n],i._$AI(s),n++;n2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=U}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,i,n){const s=this.strings;let a=!1;if(void 0===s)e=B(this,e,t,0),a=!z(e)||e!==this._$AH&&e!==I,a&&(this._$AH=e);else{const n=e;let r,o;for(e=s[0],r=0;r{var n,s;const a=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:t;let r=a._$litPart$;if(void 0===r){const e=null!==(s=null==i?void 0:i.renderBefore)&&void 0!==s?s:null;a._$litPart$=r=new F(t.insertBefore(A(),e),e,void 0,null!=i?i:{})}return r._$AI(e),r})(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return I}}te.finalized=!0,te._$litElement$=!0,null===(K=globalThis.litElementHydrateSupport)||void 0===K||K.call(globalThis,{LitElement:te});const ie=globalThis.litElementPolyfillSupport;null==ie||ie({LitElement:te}),(null!==(ee=globalThis.litElementVersions)&&void 0!==ee?ee:globalThis.litElementVersions=[]).push("3.2.2"); +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const ne=e=>t=>"function"==typeof t?((e,t)=>(customElements.define(e,t),t))(e,t):((e,t)=>{const{kind:i,elements:n}=t;return{kind:i,elements:n,finisher(t){customElements.define(e,t)}}})(e,t) +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */,se=(e,t)=>"method"===t.kind&&t.descriptor&&!("value"in t.descriptor)?{...t,finisher(i){i.createProperty(t.key,e)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher(i){i.createProperty(t.key,e)}};function ae(e){return(t,i)=>void 0!==i?((e,t,i)=>{t.constructor.createProperty(i,e)})(e,t,i):se(e,t) +/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */}var re;null===(re=window.HTMLSlotElement)||void 0===re||re.prototype.assignedElements; +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const oe=e=>null!=e?e:U;function de(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i=0;a--){var r=t[e.placement];r.splice(r.indexOf(e.key),1);var o=this.fromElementDescriptor(e),d=this.toElementFinisherExtras((0,s[a])(o)||o);e=d.element,this.addElementPlacement(e,t),d.finisher&&n.push(d.finisher);var l=d.extras;if(l){for(var c=0;c=0;n--){var s=this.fromClassDescriptor(e),a=this.toClassDescriptor((0,t[n])(s)||s);if(void 0!==a.finisher&&i.push(a.finisher),void 0!==a.elements){e=a.elements;for(var r=0;r(...t)=>{const i=e(...t);return _e.set(i,!0),i},ke=e=>"function"==typeof e&&_e.has(e),we="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,$e=(e,t,i=null)=>{for(;t!==i;){const i=t.nextSibling;e.removeChild(t),t=i}},Se={},Ae={},ze=`{{lit-${String(Math.random()).slice(2)}}}`,Ce=`\x3c!--${ze}--\x3e`,Ee=new RegExp(`${ze}|${Ce}`),Pe="$lit$";class qe{constructor(e,t){this.parts=[],this.element=t;const i=[],n=[],s=document.createTreeWalker(t.content,133,null,!1);let a=0,r=-1,o=0;const{strings:d,values:{length:l}}=e;for(;o0;){const t=d[o],i=Oe.exec(t)[2],n=i.toLowerCase()+Pe,s=e.getAttribute(n);e.removeAttribute(n);const a=s.split(Ee);this.parts.push({type:"attribute",index:r,name:i,strings:a}),o+=a.length-1}}"TEMPLATE"===e.tagName&&(n.push(e),s.currentNode=e.content)}else if(3===e.nodeType){const t=e.data;if(t.indexOf(ze)>=0){const n=e.parentNode,s=t.split(Ee),a=s.length-1;for(let t=0;t{const i=e.length-t.length;return i>=0&&e.slice(i)===t},Te=e=>-1!==e.index,Ne=()=>document.createComment(""),Oe=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +class Re{constructor(e,t,i){this.__parts=[],this.template=e,this.processor=t,this.options=i}update(e){let t=0;for(const i of this.__parts)void 0!==i&&i.setValue(e[t]),t++;for(const e of this.__parts)void 0!==e&&e.commit()}_clone(){const e=we?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),t=[],i=this.template.parts,n=document.createTreeWalker(e,133,null,!1);let s,a=0,r=0,o=n.nextNode();for(;ae}),Ue=` ${ze} `;class He{constructor(e,t,i,n){this.strings=e,this.values=t,this.type=i,this.processor=n}getHTML(){const e=this.strings.length-1;let t="",i=!1;for(let n=0;n-1||i)&&-1===e.indexOf("--\x3e",s+1);const a=Oe.exec(e);t+=null===a?e+(i?Ue:Ce):e.substr(0,a.index)+a[1]+a[2]+Pe+a[3]+ze}return t+=this.strings[e],t}getTemplateElement(){const e=document.createElement("template");let t=this.getHTML();return void 0!==Ie&&(t=Ie.createHTML(t)),e.innerHTML=t,e}}class je extends He{getHTML(){return`${super.getHTML()}`}getTemplateElement(){const e=super.getTemplateElement(),t=e.content,i=t.firstChild;return t.removeChild(i),((e,t,i=null,n=null)=>{for(;t!==i;){const i=t.nextSibling;e.insertBefore(t,n),t=i}})(t,i.firstChild),e}} +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */const Le=e=>null===e||!("object"==typeof e||"function"==typeof e),Ve=e=>Array.isArray(e)||!(!e||!e[Symbol.iterator]);class Be{constructor(e,t,i){this.dirty=!0,this.element=e,this.name=t,this.strings=i,this.parts=[];for(let e=0;e{try{const e={get capture(){return Ye=!0,!1}};window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){}})();class Qe{constructor(e,t,i){this.value=void 0,this.__pendingValue=void 0,this.element=e,this.eventName=t,this.eventContext=i,this.__boundHandleEvent=e=>this.handleEvent(e)}setValue(e){this.__pendingValue=e}commit(){for(;ke(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=Se,e(this)}if(this.__pendingValue===Se)return;const e=this.__pendingValue,t=this.value,i=null==e||null!=t&&(e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive),n=null!=e&&(null==t||i);i&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),n&&(this.__options=Je(e),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=e,this.__pendingValue=Se}handleEvent(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}const Je=e=>e&&(Ye?{capture:e.capture,passive:e.passive,once:e.once}:e.capture) +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */;const Ze=new class{handleAttributeExpressions(e,t,i,n){const s=t[0];if("."===s){return new We(e,t.slice(1),i).parts}if("@"===s)return[new Qe(e,t.slice(1),n.eventContext)];if("?"===s)return[new Xe(e,t.slice(1),i)];return new Be(e,t,i).parts}handleTextExpression(e){return new Fe(e)}}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */function Ke(e){let t=et.get(e.type);void 0===t&&(t={stringsArray:new WeakMap,keyString:new Map},et.set(e.type,t));let i=t.stringsArray.get(e.strings);if(void 0!==i)return i;const n=e.strings.join(ze);return i=t.keyString.get(n),void 0===i&&(i=new qe(e,e.getTemplateElement()),t.keyString.set(n,i)),t.stringsArray.set(e.strings,i),i}const et=new Map,tt=new WeakMap; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");const it=(e,...t)=>new He(e,t,"html",Ze),nt=(e,...t)=>new je(e,t,"svg",Ze) +/** + * @license + * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */;class st{constructor(e){this.classes=new Set,this.changed=!1,this.element=e;const t=(e.getAttribute("class")||"").split(/\s+/);for(const e of t)this.classes.add(e)}add(e){this.classes.add(e),this.changed=!0}remove(e){this.classes.delete(e),this.changed=!0}commit(){if(this.changed){let e="";this.classes.forEach((t=>e+=t+" ")),this.element.setAttribute("class",e)}}}const at=new WeakMap,rt=ye((e=>t=>{if(!(t instanceof De)||t instanceof Ge||"class"!==t.committer.name||t.committer.parts.length>1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");const{committer:i}=t,{element:n}=i;let s=at.get(t);void 0===s&&(n.setAttribute("class",i.strings.join(" ")),at.set(t,s=new Set));const a=n.classList||new st(n);s.forEach((t=>{t in e||(a.remove(t),s.delete(t))}));for(const t in e){const i=e[t];i!=s.has(t)&&(i?(a.add(t),s.add(t)):(a.remove(t),s.delete(t)))}"function"==typeof a.commit&&a.commit()})),ot=133;function dt(e,t){const{element:{content:i},parts:n}=e,s=document.createTreeWalker(i,ot,null,!1);let a=ct(n),r=n[a],o=-1,d=0;const l=[];let c=null;for(;s.nextNode();){o++;const e=s.currentNode;for(e.previousSibling===c&&(c=null),t.has(e)&&(l.push(e),null===c&&(c=e)),null!==c&&d++;void 0!==r&&r.index===o;)r.index=null!==c?-1:r.index-d,a=ct(n,a),r=n[a]}l.forEach((e=>e.parentNode.removeChild(e)))}const lt=e=>{let t=11===e.nodeType?0:1;const i=document.createTreeWalker(e,ot,null,!1);for(;i.nextNode();)t++;return t},ct=(e,t=-1)=>{for(let i=t+1;i`${e}--${t}`;let ut=!0;void 0===window.ShadyCSS?ut=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),ut=!1);const pt=e=>t=>{const i=ht(t.type,e);let n=et.get(i);void 0===n&&(n={stringsArray:new WeakMap,keyString:new Map},et.set(i,n));let s=n.stringsArray.get(t.strings);if(void 0!==s)return s;const a=t.strings.join(ze);if(s=n.keyString.get(a),void 0===s){const i=t.getTemplateElement();ut&&window.ShadyCSS.prepareTemplateDom(i,e),s=new qe(t,i),n.keyString.set(a,s)}return n.stringsArray.set(t.strings,s),s},vt=["html","svg"],mt=new Set,bt=(e,t,i)=>{mt.add(e);const n=i?i.element:document.createElement("template"),s=t.querySelectorAll("style"),{length:a}=s;if(0===a)return void window.ShadyCSS.prepareTemplateStyles(n,e);const r=document.createElement("style");for(let e=0;e{vt.forEach((t=>{const i=et.get(ht(t,e));void 0!==i&&i.keyString.forEach((e=>{const{element:{content:t}}=e,i=new Set;Array.from(t.querySelectorAll("style")).forEach((e=>{i.add(e)})),dt(e,i)}))}))})(e);const o=n.content;i?function(e,t,i=null){const{element:{content:n},parts:s}=e;if(null==i)return void n.appendChild(t);const a=document.createTreeWalker(n,ot,null,!1);let r=ct(s),o=0,d=-1;for(;a.nextNode();)for(d++,a.currentNode===i&&(o=lt(t),i.parentNode.insertBefore(t,i));-1!==r&&s[r].index===d;){if(o>0){for(;-1!==r;)s[r].index+=o,r=ct(s,r);return}r=ct(s,r)}}(i,r,o.firstChild):o.insertBefore(r,o.firstChild),window.ShadyCSS.prepareTemplateStyles(n,e);const d=o.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==d)t.insertBefore(d.cloneNode(!0),t.firstChild);else if(i){o.insertBefore(r,o.firstChild);const e=new Set;e.add(r),dt(i,e)}};window.JSCompiler_renameProperty=(e,t)=>e;const ft={toAttribute(e,t){switch(t){case Boolean:return e?"":null;case Object:case Array:return null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){switch(t){case Boolean:return null!==e;case Number:return null===e?null:Number(e);case Object:case Array:return JSON.parse(e)}return e}},gt=(e,t)=>t!==e&&(t==t||e==e),xt={attribute:!0,type:String,converter:ft,reflect:!1,hasChanged:gt},_t="finalized";class yt extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();const e=[];return this._classProperties.forEach(((t,i)=>{const n=this._attributeNameForProperty(i,t);void 0!==n&&(this._attributeToPropertyMap.set(n,i),e.push(n))})),e}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const e=Object.getPrototypeOf(this)._classProperties;void 0!==e&&e.forEach(((e,t)=>this._classProperties.set(t,e)))}}static createProperty(e,t=xt){if(this._ensureClassProperties(),this._classProperties.set(e,t),t.noAccessor||this.prototype.hasOwnProperty(e))return;const i="symbol"==typeof e?Symbol():`__${e}`,n=this.getPropertyDescriptor(e,i,t);void 0!==n&&Object.defineProperty(this.prototype,e,n)}static getPropertyDescriptor(e,t,i){return{get(){return this[t]},set(n){const s=this[e];this[t]=n,this.requestUpdateInternal(e,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this._classProperties&&this._classProperties.get(e)||xt}static finalize(){const e=Object.getPrototypeOf(this);if(e.hasOwnProperty(_t)||e.finalize(),this[_t]=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const e=this.properties,t=[...Object.getOwnPropertyNames(e),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e):[]];for(const i of t)this.createProperty(i,e[i])}}static _attributeNameForProperty(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}static _valueHasChanged(e,t,i=gt){return i(e,t)}static _propertyValueFromAttribute(e,t){const i=t.type,n=t.converter||ft,s="function"==typeof n?n:n.fromAttribute;return s?s(e,i):e}static _propertyValueToAttribute(e,t){if(void 0===t.reflect)return;const i=t.type,n=t.converter;return(n&&n.toAttribute||ft.toAttribute)(e,i)}initialize(){this._updateState=0,this._updatePromise=new Promise((e=>this._enableUpdatingResolver=e)),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach(((e,t)=>{if(this.hasOwnProperty(t)){const e=this[t];delete this[t],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(t,e)}}))}_applyInstanceProperties(){this._instanceProperties.forEach(((e,t)=>this[t]=e)),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(e,t,i){t!==i&&this._attributeToProperty(e,i)}_propertyToAttribute(e,t,i=xt){const n=this.constructor,s=n._attributeNameForProperty(e,i);if(void 0!==s){const e=n._propertyValueToAttribute(t,i);if(void 0===e)return;this._updateState=8|this._updateState,null==e?this.removeAttribute(s):this.setAttribute(s,e),this._updateState=-9&this._updateState}}_attributeToProperty(e,t){if(8&this._updateState)return;const i=this.constructor,n=i._attributeToPropertyMap.get(e);if(void 0!==n){const e=i.getPropertyOptions(n);this._updateState=16|this._updateState,this[n]=i._propertyValueFromAttribute(t,e),this._updateState=-17&this._updateState}}requestUpdateInternal(e,t,i){let n=!0;if(void 0!==e){const s=this.constructor;i=i||s.getPropertyOptions(e),s._valueHasChanged(this[e],t,i.hasChanged)?(this._changedProperties.has(e)||this._changedProperties.set(e,t),!0!==i.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(e,i))):n=!1}!this._hasRequestedUpdate&&n&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(e,t){return this.requestUpdateInternal(e,t),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(e){}const e=this.performUpdate();return null!=e&&await e,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){if(!this._hasRequestedUpdate)return;this._instanceProperties&&this._applyInstanceProperties();let e=!1;const t=this._changedProperties;try{e=this.shouldUpdate(t),e?this.update(t):this._markUpdated()}catch(t){throw e=!1,this._markUpdated(),t}e&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(t)),this.updated(t))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}shouldUpdate(e){return!0}update(e){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(((e,t)=>this._propertyToAttribute(t,this[t],e))),this._reflectingProperties=void 0),this._markUpdated()}updated(e){}firstUpdated(e){}}yt[_t]=!0; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +const kt=e=>t=>"function"==typeof t?((e,t)=>(window.customElements.define(e,t),t))(e,t):((e,t)=>{const{kind:i,elements:n}=t;return{kind:i,elements:n,finisher(t){window.customElements.define(e,t)}}})(e,t),wt=(e,t)=>"method"===t.kind&&t.descriptor&&!("value"in t.descriptor)?Object.assign(Object.assign({},t),{finisher(i){i.createProperty(t.key,e)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher(i){i.createProperty(t.key,e)}},$t=(e,t,i)=>{t.constructor.createProperty(i,e)};function St(e){return(t,i)=>void 0!==i?$t(e,t,i):wt(e,t)}function At(e,t){return(i,n)=>{const s={get(){return this.renderRoot.querySelector(e)},enumerable:!0,configurable:!0};if(t){const t=void 0!==n?n:i.key,a="symbol"==typeof t?Symbol():`__${t}`;s.get=function(){return void 0===this[a]&&(this[a]=this.renderRoot.querySelector(e)),this[a]}}return void 0!==n?zt(s,i,n):Ct(s,i)}}const zt=(e,t,i)=>{Object.defineProperty(t,i,e)},Ct=(e,t)=>({kind:"method",placement:"prototype",key:t.key,descriptor:e}) +/** + @license + Copyright (c) 2019 The Polymer Project Authors. All rights reserved. + This code may only be used under the BSD style license found at + http://polymer.github.io/LICENSE.txt The complete set of authors may be found at + http://polymer.github.io/AUTHORS.txt The complete set of contributors may be + found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as + part of the polymer project is also subject to an additional IP rights grant + found at http://polymer.github.io/PATENTS.txt + */,Et=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Pt=Symbol();class qt{constructor(e,t){if(t!==Pt)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e}get styleSheet(){return void 0===this._styleSheet&&(Et?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}const Mt=(e,...t)=>{const i=t.reduce(((t,i,n)=>t+(e=>{if(e instanceof qt)return e.cssText;if("number"==typeof e)return e;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${e}. Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security.`)})(i)+e[n+1]),e[0]);return new qt(i,Pt)}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +(window.litElementVersions||(window.litElementVersions=[])).push("2.5.1");const Tt={};class Nt extends yt{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const e=this.getStyles();if(Array.isArray(e)){const t=(e,i)=>e.reduceRight(((e,i)=>Array.isArray(i)?t(i,e):(e.add(i),e)),i),i=t(e,new Set),n=[];i.forEach((e=>n.unshift(e))),this._styles=n}else this._styles=void 0===e?[]:[e];this._styles=this._styles.map((e=>{if(e instanceof CSSStyleSheet&&!Et){const t=Array.prototype.slice.call(e.cssRules).reduce(((e,t)=>e+t.cssText),"");return new qt(String(t),Pt)}return e}))}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow(this.constructor.shadowRootOptions)}adoptStyles(){const e=this.constructor._styles;0!==e.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Et?this.renderRoot.adoptedStyleSheets=e.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(e.map((e=>e.cssText)),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(e){const t=this.render();super.update(e),t!==Tt&&this.constructor.render(t,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach((e=>{const t=document.createElement("style");t.textContent=e.cssText,this.renderRoot.appendChild(t)})))}render(){return Tt}}Nt.finalized=!0,Nt.render=(e,t,i)=>{if(!i||"object"!=typeof i||!i.scopeName)throw new Error("The `scopeName` option is required.");const n=i.scopeName,s=tt.has(t),a=ut&&11===t.nodeType&&!!t.host,r=a&&!mt.has(n),o=r?document.createDocumentFragment():t;if(((e,t,i)=>{let n=tt.get(t);void 0===n&&($e(t,t.firstChild),tt.set(t,n=new Fe(Object.assign({templateFactory:Ke},i))),n.appendInto(t)),n.setValue(e),n.commit()})(e,o,Object.assign({templateFactory:pt(n)},i)),r){const e=tt.get(o);tt.delete(o);const i=e.value instanceof Re?e.value.template:void 0;bt(n,o,i),$e(t,t.firstChild),t.appendChild(o),tt.set(t,e)}!s&&a&&window.ShadyCSS.styleElement(t.host)},Nt.shadowRootOptions={mode:"open"}; +/** + * @license + * + * Copyright IBM Corp. 2019, 2022 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */ +const{prefix:Ot}=xe,Rt=`\n a[href], area[href], input:not([disabled]):not([tabindex='-1']),\n button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']),\n textarea:not([disabled]):not([tabindex='-1']),\n iframe, object, embed, *[tabindex]:not([tabindex='-1']), *[contenteditable=true],\n ${Ot}-accordion-item,\n ${Ot}-btn,\n ${Ot}-breadcrumb-link,\n ${Ot}-checkbox,\n ${Ot}-code-snippet,\n ${Ot}-combo-box,\n ${Ot}-content-switcher-item,\n ${Ot}-copy-button,\n ${Ot}-table-header-row,\n ${Ot}-table-row,\n ${Ot}-table-toolbar-search,\n ${Ot}-date-picker-input,\n ${Ot}-dropdown,\n ${Ot}-input,\n ${Ot}-link,\n ${Ot}-number-input,\n ${Ot}-modal,\n ${Ot}-modal-close-button,\n ${Ot}-multi-select,\n ${Ot}-inline-notification,\n ${Ot}-toast-notification,\n ${Ot}-overflow-menu,\n ${Ot}-overflow-menu-item,\n ${Ot}-page-sizes-select,\n ${Ot}-pages-select,\n ${Ot}-progress-step,\n ${Ot}-radio-button,\n ${Ot}-search,\n ${Ot}-slider,\n ${Ot}-slider-input,\n ${Ot}-structured-list,\n ${Ot}-tab,\n ${Ot}-filter-tag,\n ${Ot}-textarea,\n ${Ot}-clickable-tile,\n ${Ot}-expandable-tile,\n ${Ot}-radio-tile,\n ${Ot}-selectable-tile,\n ${Ot}-toggle,\n ${Ot}-tooltip,\n ${Ot}-tooltip-definition,\n ${Ot}-tooltip-icon,\n ${Ot}-header-menu,\n ${Ot}-header-menu-button,\n ${Ot}-header-menu-item,\n ${Ot}-header-name,\n ${Ot}-header-nav-item,\n ${Ot}-side-nav-link,\n ${Ot}-side-nav-menu,\n ${Ot}-side-nav-menu-item\n` +/** + * @license + * + * Copyright IBM Corp. 2019, 2022 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */,It=e=>class extends e{focus(){if(this.shadowRoot.delegatesFocus)super.focus();else{const e=this.shadowRoot.querySelector(Rt)||this.querySelector(Rt);e?e.focus():super.focus()}}} +/** + * @license + * + * Copyright IBM Corp. 2019, 2020 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */;var Ut=Mt(["a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{padding:0;border:0;margin:0;font:inherit;font-size:100%;vertical-align:baseline}button,input,select,textarea{border-radius:0;font-family:inherit}input[type=text]::-ms-clear{display:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}body{line-height:1}sup{vertical-align:super}sub{vertical-align:sub}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::after,blockquote::before,q::after,q::before{content:\"\"}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}button{margin:0}html{font-size:100%}body{font-weight:400;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}code{font-family:'IBM Plex Mono',Menlo,'DejaVu Sans Mono','Bitstream Vera Sans Mono',Courier,monospace}strong{font-weight:600}@media screen and (-ms-high-contrast:active){svg{fill:ButtonText}}h1{font-size:var(--cds-productive-heading-06-font-size,2.625rem);font-weight:var(--cds-productive-heading-06-font-weight,300);line-height:var(--cds-productive-heading-06-line-height,1.199);letter-spacing:var(--cds-productive-heading-06-letter-spacing,0)}h2{font-size:var(--cds-productive-heading-05-font-size,2rem);font-weight:var(--cds-productive-heading-05-font-weight,300);line-height:var(--cds-productive-heading-05-line-height,1.25);letter-spacing:var(--cds-productive-heading-05-letter-spacing,0)}h3{font-size:var(--cds-productive-heading-04-font-size,1.75rem);font-weight:var(--cds-productive-heading-04-font-weight,400);line-height:var(--cds-productive-heading-04-line-height,1.28572);letter-spacing:var(--cds-productive-heading-04-letter-spacing,0)}h4{font-size:var(--cds-productive-heading-03-font-size,1.25rem);font-weight:var(--cds-productive-heading-03-font-weight,400);line-height:var(--cds-productive-heading-03-line-height,1.4);letter-spacing:var(--cds-productive-heading-03-letter-spacing,0)}h5{font-size:var(--cds-productive-heading-02-font-size,1rem);font-weight:var(--cds-productive-heading-02-font-weight,600);line-height:var(--cds-productive-heading-02-line-height,1.375);letter-spacing:var(--cds-productive-heading-02-letter-spacing,0)}h6{font-size:var(--cds-productive-heading-01-font-size,.875rem);font-weight:var(--cds-productive-heading-01-font-weight,600);line-height:var(--cds-productive-heading-01-line-height,1.28572);letter-spacing:var(--cds-productive-heading-01-letter-spacing,.16px)}p{font-size:var(--cds-body-long-02-font-size,1rem);font-weight:var(--cds-body-long-02-font-weight,400);line-height:var(--cds-body-long-02-line-height,1.5);letter-spacing:var(--cds-body-long-02-letter-spacing,0)}a{color:#0f62fe}em{font-style:italic}.bx--assistive-text,.bx--visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);visibility:inherit;white-space:nowrap}.bx--body{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;font-size:var(--cds-body-short-01-font-size,.875rem);font-weight:var(--cds-body-short-01-font-weight,400);line-height:var(--cds-body-short-01-line-height,1.28572);letter-spacing:var(--cds-body-short-01-letter-spacing,.16px);background-color:var(--cds-ui-background,#fff);color:var(--cds-text-01,#161616);line-height:1}.bx--body *,.bx--body ::after,.bx--body ::before{box-sizing:inherit}@keyframes skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}100%{opacity:.3;transform:scaleX(0);transform-origin:left}}.bx--text-truncate--end{display:inline-block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap}.bx--text-truncate--front{display:inline-block;overflow:hidden;width:100%;direction:rtl;text-overflow:ellipsis;white-space:nowrap}.bx--side-nav,:host(bx-side-nav){position:fixed;z-index:8000;top:0;bottom:0;left:0;overflow:hidden;width:3rem;max-width:16rem;background-color:#fff;color:#525252;transition:width .11s cubic-bezier(.2,0,1,.9);will-change:width}.bx--side-nav--ux,:host(bx-side-nav){top:var(--cds-spacing-09,3rem);width:16rem}@media (max-width:65.98rem){.bx--side-nav--ux,:host(bx-side-nav){width:0}}.bx--side-nav--rail{width:3rem}.bx--side-nav--hidden{width:0}.bx--side-nav--expanded,.bx--side-nav--rail:not(.bx--side-nav--fixed):hover:host(bx-side-nav),.bx--side-nav.bx--side-nav--rail:not(.bx--side-nav--fixed):hover,:host(bx-side-nav[collapse-mode][expanded]),:host(bx-side-nav[expanded]){width:16rem}.bx--side-nav__overlay{position:fixed;top:3rem;left:0;width:0;height:0;background-color:transparent;opacity:0;transition:opacity 240ms cubic-bezier(.2,0,.38,.9),background-color 240ms cubic-bezier(.2,0,.38,.9)}@media (max-width:65.98rem){.bx--side-nav__overlay-active{width:100vw;height:100vh;background-color:var(--cds-overlay-01,rgba(22,22,22,.5));opacity:1;transition:opacity 240ms cubic-bezier(.2,0,.38,.9),background-color 240ms cubic-bezier(.2,0,.38,.9)}}.bx--header~.bx--side-nav,.bx--header~:host(bx-side-nav){top:3rem;height:calc(100% - 48px)}.bx--side-nav--fixed{width:16rem}.bx--side-nav--collapsed{width:16rem;transform:translateX(-16rem)}.bx--side-nav__navigation,:host(bx-side-nav){display:flex;height:100%;flex-direction:column}.bx--side-nav__header{display:flex;width:100%;max-width:100%;height:3rem;border-bottom:1px solid #393939}.bx--side-nav--expanded .bx--side-nav__header,.bx--side-nav--fixed .bx--side-nav__header,.bx--side-nav:hover .bx--side-nav__header,:host(bx-side-nav[expanded]) .bx--side-nav__header,:hover:host(bx-side-nav) .bx--side-nav__header{height:auto}.bx--side-nav--ux .bx--side-nav__header,:host(bx-side-nav) .bx--side-nav__header{height:auto}.bx--side-nav__details{display:flex;min-width:0;flex:1;flex-direction:column;padding-right:1rem;opacity:0;visibility:hidden}.bx--side-nav--expanded .bx--side-nav__details,.bx--side-nav--fixed .bx--side-nav__details,.bx--side-nav:hover .bx--side-nav__details,:host(bx-side-nav[expanded]) .bx--side-nav__details,:hover:host(bx-side-nav) .bx--side-nav__details{visibility:inherit;opacity:1}.bx--side-nav--ux .bx--side-nav__details,:host(bx-side-nav) .bx--side-nav__details{opacity:1;visibility:inherit}.bx--side-nav__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1rem;font-size:.875rem;font-weight:600;letter-spacing:.1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bx--side-nav__select,.bx--side-nav__title{padding-left:.5rem}.bx--side-nav__switcher{position:relative;display:flex;align-items:center;justify-content:space-between}.bx--side-nav__switcher-chevron{position:absolute;top:0;right:.5rem;bottom:0;display:flex;align-items:center;fill:#525252}.bx--side-nav__select{outline:2px solid transparent;outline-offset:-2px;min-width:0;height:2rem;flex:1 1 0%;padding-right:2rem;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#161616;border-radius:0;color:#f4f4f4;cursor:pointer;font-size:.75rem;transition:outline 110ms}.bx--side-nav__select:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.bx--side-nav__select:focus{outline-style:dotted}}.bx--side-nav__footer{width:100%;flex:0 0 3rem;background-color:#fff}.bx--side-nav__toggle{outline:2px solid transparent;outline-offset:-2px;box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;width:100%;height:100%;padding-left:1rem;text-align:left;transition:outline 110ms}.bx--side-nav__toggle *,.bx--side-nav__toggle ::after,.bx--side-nav__toggle ::before{box-sizing:inherit}.bx--side-nav__toggle::-moz-focus-inner{border:0}.bx--side-nav__toggle:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.bx--side-nav__toggle:focus{outline-style:dotted}}.bx--side-nav__items,:host(bx-side-nav-items){overflow:hidden;flex:1 1 0%;padding:1rem 0 0}.bx--side-nav--expanded .bx--side-nav__items,.bx--side-nav--expanded :host(bx-side-nav-items),.bx--side-nav--fixed .bx--side-nav__items,.bx--side-nav--fixed :host(bx-side-nav-items),.bx--side-nav:hover .bx--side-nav__items,.bx--side-nav:hover :host(bx-side-nav-items),:host(bx-side-nav[expanded]) .bx--side-nav__items,:host(bx-side-nav[expanded]) :host(bx-side-nav-items),:hover:host(bx-side-nav) .bx--side-nav__items,:hover:host(bx-side-nav) :host(bx-side-nav-items){overflow-y:auto}.bx--side-nav--ux .bx--side-nav__items,.bx--side-nav--ux :host(bx-side-nav-items),:host(bx-side-nav) .bx--side-nav__items,:host(bx-side-nav) :host(bx-side-nav-items){overflow-y:auto}.bx--side-nav__item,:host(bx-side-nav-link),:host(bx-side-nav-menu){overflow:hidden;width:auto;height:auto}.bx--side-nav--ux .bx--side-nav__item,.bx--side-nav--ux :host(bx-side-nav-link),.bx--side-nav--ux :host(bx-side-nav-menu),:host(bx-side-nav) .bx--side-nav__item,:host(bx-side-nav) :host(bx-side-nav-link),:host(bx-side-nav) :host(bx-side-nav-menu){width:auto;height:auto}.bx--side-nav .bx--header__menu-title[aria-expanded=true]:hover,.bx--side-nav a.bx--header__menu-item:hover,.bx--side-nav__item:not(.bx--side-nav__item--active):hover .bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__submenu:hover,.bx--side-nav__item:not(.bx--side-nav__item--active):hover :not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__submenu:hover,.bx--side-nav__item:not(.bx--side-nav__item--active):hover :not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__submenu:hover,.bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__link:hover,.bx--side-nav__menu a.bx--side-nav__link:not(.bx--side-nav__link--current):not([aria-current=page]):hover,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]:hover,:host(bx-side-nav) a.bx--header__menu-item:hover,:not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__link:hover,:not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__link:hover,:not(.bx--side-nav__item--active):hover:host(bx-side-nav-link) .bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__submenu:hover,:not(.bx--side-nav__item--active):hover:host(bx-side-nav-link) :not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__submenu:hover,:not(.bx--side-nav__item--active):hover:host(bx-side-nav-link) :not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__submenu:hover,:not(.bx--side-nav__item--active):hover:host(bx-side-nav-menu) .bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__submenu:hover,:not(.bx--side-nav__item--active):hover:host(bx-side-nav-menu) :not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__submenu:hover,:not(.bx--side-nav__item--active):hover:host(bx-side-nav-menu) :not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__submenu:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav__item:not(.bx--side-nav__item--active) .bx--side-nav__menu-item>.bx--side-nav__link:hover>span,.bx--side-nav__item:not(.bx--side-nav__item--active) :host(bx-side-nav-menu-item)>.bx--side-nav__link:hover>span,.bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-link) .bx--side-nav__menu-item>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-link) :host(bx-side-nav-menu-item)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-menu) .bx--side-nav__menu-item>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-menu) :host(bx-side-nav-menu-item)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__link:hover>span{color:#161616}.bx--side-nav__item--large{height:3rem}.bx--side-nav__divider,:host(bx-side-nav-divider){height:1px;margin:var(--cds-spacing-03,.5rem) var(--cds-spacing-05,1rem);background-color:#e0e0e0}.bx--side-nav__submenu{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;width:100%;font-size:var(--cds-productive-heading-01-font-size,.875rem);font-weight:var(--cds-productive-heading-01-font-weight,600);line-height:var(--cds-productive-heading-01-line-height,1.28572);letter-spacing:var(--cds-productive-heading-01-letter-spacing,.16px);outline:2px solid transparent;outline-offset:-2px;display:flex;height:2rem;align-items:center;padding:0 1rem;color:#525252;transition:color 110ms,background-color 110ms,outline 110ms;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bx--side-nav__submenu *,.bx--side-nav__submenu ::after,.bx--side-nav__submenu ::before{box-sizing:inherit}.bx--side-nav__submenu::-moz-focus-inner{border:0}.bx--side-nav__submenu:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav__submenu:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.bx--side-nav__submenu:focus{outline-style:dotted}}.bx--side-nav__submenu-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.bx--side-nav__icon.bx--side-nav__submenu-chevron{display:flex;flex:1;justify-content:flex-end}.bx--side-nav__submenu-chevron>svg{width:1rem;height:1rem;transition:transform 110ms}.bx--side-nav__submenu[aria-expanded=true] .bx--side-nav__submenu-chevron>svg{transform:rotate(180deg)}.bx--side-nav__item--large .bx--side-nav__submenu{height:3rem}.bx--side-nav__item--active .bx--side-nav__submenu:hover,:host(bx-side-nav-menu[active]) .bx--side-nav__submenu:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav__item--active .bx--side-nav__submenu[aria-expanded=false],:host(bx-side-nav-menu[active]) .bx--side-nav__submenu[aria-expanded=false]{position:relative;background-color:#e5e5e5;color:#161616}.bx--side-nav__item--active .bx--side-nav__submenu[aria-expanded=false]::before,:host(bx-side-nav-menu[active]) .bx--side-nav__submenu[aria-expanded=false]::before{position:absolute;top:0;bottom:0;left:0;width:4px;background-color:#0f62fe;content:\"\"}.bx--side-nav__item--active .bx--side-nav__submenu-title,:host(bx-side-nav-menu[active]) .bx--side-nav__submenu-title{color:#161616;font-weight:600}.bx--side-nav__menu{display:block;max-height:0;visibility:hidden}.bx--side-nav__submenu[aria-expanded=true]+.bx--side-nav__menu{max-height:93.75rem;visibility:inherit}.bx--side-nav__menu a.bx--side-nav__link{height:2rem;min-height:2rem;padding-left:2rem;font-weight:400}.bx--side-nav__item--icon:host(bx-side-nav-link) a.bx--side-nav__link,.bx--side-nav__item--icon:host(bx-side-nav-menu) a.bx--side-nav__link,.bx--side-nav__item.bx--side-nav__item--icon a.bx--side-nav__link,:host(bx-side-nav-menu):host(bx-side-nav-menu[has-icon]) a.bx--side-nav__link{padding-left:4.5rem}.bx--side-nav__menu a.bx--side-nav__link--current,.bx--side-nav__menu a.bx--side-nav__link[aria-current=page],a.bx--side-nav__link--current{background-color:#e0e0e0}.bx--side-nav__menu a.bx--side-nav__link--current>span,.bx--side-nav__menu a.bx--side-nav__link[aria-current=page]>span,a.bx--side-nav__link--current>span{color:#161616;font-weight:600}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu,.bx--side-nav a.bx--header__menu-item,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu,:host(bx-side-nav) a.bx--header__menu-item,a.bx--side-nav__link{outline:2px solid transparent;outline-offset:-2px;font-size:var(--cds-productive-heading-01-font-size,.875rem);font-weight:var(--cds-productive-heading-01-font-weight,600);line-height:var(--cds-productive-heading-01-line-height,1.28572);letter-spacing:var(--cds-productive-heading-01-letter-spacing,.16px);position:relative;display:flex;min-height:2rem;align-items:center;padding:0 1rem;text-decoration:none;transition:color 110ms,background-color 110ms,outline 110ms}.bx--side-nav__item--large a.bx--side-nav__link{height:3rem}.bx--side-nav a.bx--header__menu-item .bx--text-truncate-end,:host(bx-side-nav) a.bx--header__menu-item .bx--text-truncate-end,a.bx--side-nav__link>.bx--side-nav__link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#525252;font-size:.875rem;letter-spacing:.1px;line-height:1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bx--side-nav a.bx--header__menu-item:focus,:host(bx-side-nav) a.bx--header__menu-item:focus,a.bx--side-nav__link:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.bx--side-nav a.bx--header__menu-item:focus,:host(bx-side-nav) a.bx--header__menu-item:focus,a.bx--side-nav__link:focus{outline-style:dotted}}a.bx--side-nav__link--current,a.bx--side-nav__link[aria-current=page]{background-color:#e5e5e5;font-weight:600}a.bx--side-nav__link--current .bx--side-nav__link-text,a.bx--side-nav__link[aria-current=page] .bx--side-nav__link-text{color:#161616}a.bx--side-nav__link--current::before,a.bx--side-nav__link[aria-current=page]::before{position:absolute;top:0;bottom:0;left:0;width:4px;background-color:#0f62fe;content:\"\"}.bx--side-nav__icon{display:flex;flex:0 0 1rem;align-items:center;justify-content:center}.bx--side-nav__icon:not(.bx--side-nav__submenu-chevron){margin-right:1.5rem}.bx--side-nav__icon>svg{width:1rem;height:1rem;fill:#525252}.bx--side-nav__icon>svg.bx--side-nav-collapse-icon{display:none}.bx--side-nav--expanded .bx--side-nav__icon>svg.bx--side-nav-expand-icon,:host(bx-side-nav[expanded]) .bx--side-nav__icon>svg.bx--side-nav-expand-icon{display:none}.bx--side-nav--expanded .bx--side-nav__icon>svg.bx--side-nav-collapse-icon,:host(bx-side-nav[expanded]) .bx--side-nav__icon>svg.bx--side-nav-collapse-icon{display:block}.bx--side-nav--fixed .bx--side-nav__submenu,.bx--side-nav--fixed a.bx--side-nav__link{padding-left:1rem}.bx--side-nav--fixed .bx--side-nav__item:not(.bx--side-nav__item--icon) .bx--side-nav__menu a.bx--side-nav__link,.bx--side-nav--fixed :not(.bx--side-nav__item--icon):host(bx-side-nav-link) .bx--side-nav__menu a.bx--side-nav__link,.bx--side-nav--fixed :not(.bx--side-nav__item--icon):host(bx-side-nav-menu) .bx--side-nav__menu a.bx--side-nav__link{padding-left:2rem}@media (max-width:65.98rem){.bx--side-nav .bx--header__nav,:host(bx-side-nav) .bx--header__nav{display:block}}.bx--side-nav__header-navigation{display:none}@media (max-width:65.98rem){.bx--side-nav__header-navigation{position:relative;display:block;margin-bottom:2rem}}.bx--side-nav__header-divider::after{position:absolute;bottom:-1rem;left:1rem;width:calc(100% - 32px);height:.0625rem;background:#e0e0e0;content:\"\"}.bx--side-nav a.bx--header__menu-item,:host(bx-side-nav) a.bx--header__menu-item{justify-content:space-between;color:#525252;white-space:nowrap}.bx--side-nav a.bx--header__menu-item[aria-expanded=true],:host(bx-side-nav) a.bx--header__menu-item[aria-expanded=true]{background-color:transparent}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu{bottom:inherit;width:100%;padding:0;background-color:transparent;box-shadow:none;transform:none}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu li,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu li{width:100%}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item{padding-left:4.25rem;font-weight:400}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item:hover,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav .bx--header__menu a.bx--header__menu-item,:host(bx-side-nav) .bx--header__menu a.bx--header__menu-item{height:inherit}.bx--side-nav .bx--header__menu-arrow,.bx--side-nav a.bx--header__menu-item:focus .bx--header__menu-arrow,.bx--side-nav a.bx--header__menu-item:hover .bx--header__menu-arrow,:host(bx-side-nav) .bx--header__menu-arrow{fill:#525252}@media screen and (-ms-high-contrast:active),(forced-colors:active){.bx--side-nav .bx--header__menu-arrow,.bx--side-nav a.bx--header__menu-item:focus .bx--header__menu-arrow,.bx--side-nav a.bx--header__menu-item:hover .bx--header__menu-arrow,.bx--side-nav__icon>svg,:host(bx-side-nav) .bx--header__menu-arrow{fill:ButtonText}}:host(bx-side-nav){top:0}:host(bx-side-nav[collapse-mode=fixed]){width:16rem}:host(bx-side-nav[collapse-mode=rail]){width:3rem}:host(bx-side-nav[collapse-mode=rail]):hover{width:16rem}:host(bx-side-nav[collapse-mode][usage-mode=header-nav]),:host(bx-side-nav[usage-mode=header-nav]){width:0}@media (max-width:65.98rem){:host(bx-side-nav[collapse-mode][expanded][usage-mode=header-nav]),:host(bx-side-nav[expanded][usage-mode=header-nav]){width:16rem}}:host(bx-side-nav-link){display:block;outline:0;width:auto;height:auto}:host(bx-side-nav-link) .bx--side-nav__icon{color:#525252}:host(bx-side-nav-link) .bx--side-nav__icon[hidden]{display:none}:host(bx-side-nav-divider){display:block}:host(bx-side-nav-menu){display:block;outline:0;width:auto;height:auto}:host(bx-side-nav-menu) .bx--side-nav__icon[hidden]{display:none}:host(bx-side-nav-menu[active]){background-color:#e5e5e5;color:#161616;position:relative}:host(bx-side-nav-menu[active])::before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:4px;background-color:#0f62fe}:host(bx-side-nav-menu[active][expanded]){background-color:inherit;color:inherit;position:inherit}:host(bx-side-nav-menu[active][expanded])::before{content:none}:host(bx-side-nav-menu-item){display:block;outline:0;width:auto;height:auto}:host(bx-side-nav-menu-item) a.bx--side-nav__link{height:2rem;min-height:2rem;padding-left:2rem;font-weight:400}:host(bx-side-nav-menu-item[parent-has-icon]) a.bx--side-nav__link{padding-left:4.5rem}:host(bx-side-nav-item) .bx--side-nav__link:hover,:host(bx-side-nav-menu) .bx--side-nav__submenu:hover,:host(bx-side-nav-menu-item) .bx--side-nav__link:hover{background-color:#e5e5e5;color:#161616}"]);let Ht,jt=e=>e;const{prefix:Lt}=xe;function Vt(e){return Vt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Vt(e)}function Bt(){return Bt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,i){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Vt(e)););return e}(e,t);if(n){var s=Object.getOwnPropertyDescriptor(n,t);return s.get?s.get.call(arguments.length<3?e:i):s.value}},Bt.apply(this,arguments)} +/** + * @license + * + * Copyright IBM Corp. 2019, 2020 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */ue([kt(`${Lt}-side-nav-menu-item`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"active",value:()=>!1},{kind:"field",decorators:[St()],key:"href",value:()=>""},{kind:"field",decorators:[St()],key:"title",value:void 0},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"shouldUpdate",value:function(e){if(e.has("active")&&this.active){const{selectorMenu:e}=this.constructor,t=this.closest(e);t&&(t.active=!0)}return!0}},{kind:"method",key:"render",value:function(){const{active:e,href:t,title:i}=this,n=rt({[`${Lt}--side-nav__link`]:!0,[`${Lt}--side-nav__link--current`]:e});return it(Ht||(Ht=jt` ${0} `),n,t,Lt,i)}},{kind:"get",static:!0,key:"selectorMenu",value:function(){return`${Lt}-side-nav-menu`}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),It(Nt));var Dt=Mt([".bx--text-truncate--end{display:inline-block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap}.bx--text-truncate--front{display:inline-block;overflow:hidden;width:100%;direction:rtl;text-overflow:ellipsis;white-space:nowrap}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{padding:0;border:0;margin:0;font:inherit;font-size:100%;vertical-align:baseline}button,input,select,textarea{border-radius:0;font-family:inherit}input[type=text]::-ms-clear{display:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}body{line-height:1}sup{vertical-align:super}sub{vertical-align:sub}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::after,blockquote::before,q::after,q::before{content:\"\"}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}button{margin:0}html{font-size:100%}body{font-weight:400;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}code{font-family:'IBM Plex Mono',Menlo,'DejaVu Sans Mono','Bitstream Vera Sans Mono',Courier,monospace}strong{font-weight:600}@media screen and (-ms-high-contrast:active){svg{fill:ButtonText}}h1{font-size:var(--cds-productive-heading-06-font-size,2.625rem);font-weight:var(--cds-productive-heading-06-font-weight,300);line-height:var(--cds-productive-heading-06-line-height,1.199);letter-spacing:var(--cds-productive-heading-06-letter-spacing,0)}h2{font-size:var(--cds-productive-heading-05-font-size,2rem);font-weight:var(--cds-productive-heading-05-font-weight,300);line-height:var(--cds-productive-heading-05-line-height,1.25);letter-spacing:var(--cds-productive-heading-05-letter-spacing,0)}h3{font-size:var(--cds-productive-heading-04-font-size,1.75rem);font-weight:var(--cds-productive-heading-04-font-weight,400);line-height:var(--cds-productive-heading-04-line-height,1.28572);letter-spacing:var(--cds-productive-heading-04-letter-spacing,0)}h4{font-size:var(--cds-productive-heading-03-font-size,1.25rem);font-weight:var(--cds-productive-heading-03-font-weight,400);line-height:var(--cds-productive-heading-03-line-height,1.4);letter-spacing:var(--cds-productive-heading-03-letter-spacing,0)}h5{font-size:var(--cds-productive-heading-02-font-size,1rem);font-weight:var(--cds-productive-heading-02-font-weight,600);line-height:var(--cds-productive-heading-02-line-height,1.375);letter-spacing:var(--cds-productive-heading-02-letter-spacing,0)}h6{font-size:var(--cds-productive-heading-01-font-size,.875rem);font-weight:var(--cds-productive-heading-01-font-weight,600);line-height:var(--cds-productive-heading-01-line-height,1.28572);letter-spacing:var(--cds-productive-heading-01-letter-spacing,.16px)}p{font-size:var(--cds-body-long-02-font-size,1rem);font-weight:var(--cds-body-long-02-font-weight,400);line-height:var(--cds-body-long-02-line-height,1.5);letter-spacing:var(--cds-body-long-02-letter-spacing,0)}a{color:#0f62fe}em{font-style:italic}@keyframes skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}100%{opacity:.3;transform:scaleX(0);transform-origin:left}}.bx--header,:host(bx-header){position:fixed;z-index:8000;top:0;right:0;left:0;display:flex;height:3rem;align-items:center;border-bottom:1px solid #393939;background-color:#161616}.bx--header__action{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;cursor:pointer;width:100%;width:3rem;height:3rem;border:.0625rem solid transparent;transition:background-color 110ms,border-color 110ms}.bx--header__action *,.bx--header__action ::after,.bx--header__action ::before{box-sizing:inherit}.bx--header__action::-moz-focus-inner{border:0}.bx--header__action--active>svg.bx--navigation-menu-panel-expand-icon,.bx--header__action>svg.bx--navigation-menu-panel-collapse-icon{display:none}.bx--header__action--active>svg.bx--navigation-menu-panel-collapse-icon{display:inline}.bx--header__action:hover{background-color:#353535}.bx--header__action--active{border-right:1px solid #393939;border-bottom:1px solid #161616;border-left:1px solid #393939}.bx--header__action:focus{border-color:#fff;outline:0}.bx--header__action:active{background-color:#393939}.bx--header__action.bx--btn--icon-only.bx--tooltip__trigger{justify-content:center}.bx--header__action>svg{fill:#fff}.bx--header__menu-trigger>svg{fill:#f4f4f4}.bx--header__menu-trigger:hover{fill:#2c2c2c}.bx--header__menu-toggle{display:flex;align-items:center;justify-content:center}@media (min-width:66rem){.bx--header__menu-toggle__hidden{display:none}}a.bx--header__name{font-size:var(--cds-body-short-01-font-size,.875rem);font-weight:var(--cds-body-short-01-font-weight,400);line-height:var(--cds-body-short-01-line-height,1.28572);letter-spacing:var(--cds-body-short-01-letter-spacing,.16px);display:flex;height:100%;align-items:center;padding:0 2rem 0 1rem;border:.125rem solid transparent;font-weight:600;letter-spacing:.1px;line-height:1.25rem;outline:0;text-decoration:none;transition:border-color 110ms;-webkit-user-select:none;-moz-user-select:none;user-select:none}a.bx--header__name:focus{border-color:#fff}.bx--header__name--prefix{font-weight:400}a.bx--header__name,a.bx--header__name:hover{color:#f4f4f4}.bx--header__menu-toggle:not(.bx--header__menu-toggle__hidden)~.bx--header__name{padding-left:.5rem}.bx--header__nav,:host(bx-header-nav){position:relative;display:none;height:100%;padding-left:1rem}@media (min-width:66rem){.bx--header__nav,:host(bx-header-nav){display:block}}.bx--header__nav::before,:host(bx-header-nav)::before{position:absolute;top:50%;left:0;display:block;width:.0625rem;height:1.5rem;background-color:#393939;content:\"\";transform:translateY(-50%)}.bx--header__menu-bar{display:flex;height:100%;padding:0;margin:0;list-style:none}a.bx--header__menu-item{position:relative;display:flex;height:100%;align-items:center;padding:0 1rem;border:2px solid transparent;color:#c6c6c6;font-size:.875rem;font-weight:400;letter-spacing:0;line-height:1.125rem;text-decoration:none;transition:background-color 110ms,border-color 110ms,color 110ms;-webkit-user-select:none;-moz-user-select:none;user-select:none}a.bx--header__menu-item:hover{background-color:#2c2c2c;color:#f4f4f4}.bx--header__action:active,a.bx--header__menu-item:active{background-color:#393939;color:#f4f4f4}a.bx--header__menu-item:focus{border-color:#fff;color:#f4f4f4;outline:0}a.bx--header__menu-item:active>svg,a.bx--header__menu-item:focus>svg,a.bx--header__menu-item:hover>svg{fill:#f4f4f4}.bx--header__menu-item--current::after,a.bx--header__menu-item[aria-current=page]::after{position:absolute;top:0;right:0;bottom:-2px;left:0;width:100%;border-bottom:3px solid var(--cds-inverse-support-04,#4589ff);content:\"\"}.bx--header__menu-item--current:focus::after,a.bx--header__menu-item[aria-current=page]:focus::after{border:0}a.bx--header__menu-item.bx--header__menu-item--current:focus,a.bx--header__menu-item[aria-current=page]:focus{border:2px solid #fff}.bx--header__submenu,:host(bx-header-menu){position:relative}.bx--header__submenu--current::after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border-bottom:3px solid var(--cds-border-interactive,#0f62fe);content:\"\"}.bx--header__submenu--current:focus{border:2px solid var(--cds-focus,#0f62fe)}.bx--header__submenu--current:focus::after{border:0}.bx--header__menu-title[aria-haspopup=true]{position:relative}.bx--header__menu-title[aria-expanded=true]{z-index:8001;background-color:#262626;color:#fff}.bx--header__menu-title[aria-expanded=true]>.bx--header__menu-arrow{transform:rotate(180deg)}.bx--header__menu{display:none;padding:0;margin:0;list-style:none}.bx--header__menu-title[aria-expanded=true]+.bx--header__menu{position:absolute;z-index:8000;bottom:0;left:0;display:flex;width:12.5rem;flex-direction:column;background-color:#262626;box-shadow:0 4px 8px 0 rgba(0,0,0,.5);transform:translateY(100%)}.bx--header__menu-title[aria-expanded=true]+.bx--header__menu .bx--header__menu-item:hover{background-color:#353535}.bx--header__menu-title[aria-expanded=true]+.bx--header__menu .bx--header__menu-item:active{background-color:#393939}.bx--header__menu .bx--header__menu-item{height:3rem}.bx--header__menu .bx--header__menu-item:hover{background-color:#262626;color:#f4f4f4}.bx--header__menu-arrow{margin-left:.5rem;fill:#c6c6c6;transition:transform 110ms,fill 110ms}.bx--header__global{display:flex;height:100%;flex:1 1 0%;justify-content:flex-end}.bx--skip-to-content{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);visibility:inherit;white-space:nowrap}.bx--skip-to-content:focus{z-index:9999;top:0;left:0;display:flex;width:auto;height:3rem;align-items:center;padding:0 1rem;border:4px solid #0f62fe;background-color:#161616;clip:auto;color:#f4f4f4;outline:0}:host(bx-header-nav) .bx-ce--header__divider{position:absolute;left:0;top:50%;transform:translateY(-50%);height:1.5rem;width:.0625rem;background-color:#393939}:host(bx-header-nav-item){outline:0}:host(bx-header-menu){outline:0}:host(bx-header-menu-item){outline:0}:host(bx-header-menu-item) a.bx--header__menu-item{height:3rem}:host(bx-header-menu-item) a.bx--header__menu-item:hover{background-color:#353535;color:#f4f4f4}:host(bx-header-menu-item) a.bx--header__menu-item:active{background-color:#393939}:host(bx-header-menu-button){display:content;outline:0}@media (min-width:66rem){:host(bx-header-menu-button){display:none}}:host(bx-header-menu-button[collapse-mode=fixed]){display:none}@media (min-width:66rem){:host(bx-header-menu-button[collapse-mode=rail]){display:block}}:host(bx-header-name){display:content;height:100%}"]);let Ft,Xt=e=>e;const{prefix:Wt}=xe;function Gt(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n `))}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),Nt);const Qt=/^((document|window|parentRoot|shadowRoot):)?([\w-]+)$/,Jt=e=>{class t extends e{constructor(...e){super(...e),Yt(this,"_handles",new Set)}connectedCallback(){super.connectedCallback();const e=this.constructor._hostListeners;Object.keys(e).forEach((t=>{Object.keys(e[t]).forEach((i=>{var n;const s=Qt.exec(i);if(!s)throw new Error(`Could not parse the event name: ${t}`);const[,,a,r]=s,o={document:this.ownerDocument,window:this.ownerDocument.defaultView,parentRoot:this.getRootNode(),shadowRoot:this.shadowRoot}[a]||this,{options:d}=e[t][i];this._handles.add(Gt(o,null!==(n=this.constructor[r])&&void 0!==n?n:r,this[t],d))}))}))}disconnectedCallback(){this._handles.forEach((e=>{e.release(),this._handles.delete(e)})),super.disconnectedCallback()}}return Yt(t,"_hostListeners",{}),t};function Zt(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function Kt(e){for(var t=1;t{const s=i._hostListeners;if(!s)throw new Error("The method `@HostListener()` is defined on has to be of a class that has `HostListerMixin`.");s[n]||(s[n]={}),s[n][e]={options:t}},ti=(e,t)=>(i,n)=>void 0!==n?ei(e,t,i.constructor,n):((e,t,i)=>{const{kind:n,key:s,placement:a}=i;if(!("method"===n&&"prototype"===a||"field"===n&&"own"===a))throw new Error("`@HostListener()` must be defined on instance methods, but you may have defined it on static, field, etc.");return Kt(Kt({},i),{},{finisher(i){ei(e,t,i,s)}})})(e,t,i) +/** + * @license + * + * Copyright IBM Corp. 2019, 2022 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */,ii=(e,t,i)=>Array.prototype.forEach.call(e,t,i) +/** + * @license + * + * Copyright IBM Corp. 2020 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */;let ni,si;!function(e){e.FIXED="fixed",e.RAIL="rail",e.RESPONSIVE="responsive"}(ni||(ni={})),function(e){e.REGULAR="",e.HEADER_NAV="header-nav"}(si||(si={}));let ai,ri=e=>e;const{prefix:oi}=xe;ue([kt(`${oi}-side-nav`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:"_hovered",value:()=>!1},{kind:"field",key:"_hTransition",value:()=>null},{kind:"field",key:"_transitionPromise",value:()=>Promise.resolve()},{kind:"get",key:"_updateAndTransitionPromise",value:function(){return this.updateComplete.then((()=>this._transitionPromise))}},{kind:"method",key:"_cleanHTransition",value:function(){this._hTransition&&(this._hTransition=this._hTransition.release())}},{kind:"field",decorators:[ti("parentRoot:eventButtonToggle")],key:"_handleButtonToggle",value(){return async e=>{var t;(this.expanded=e.detail.active,this.expanded)&&(await this._updateAndTransitionPromise,this.expanded&&(null===(t=this.querySelector(this.constructor.selectorNavItems))||void 0===t||t.focus()))}}},{kind:"method",key:"_updatedSideNavMenuForceCollapsedState",value:function(){const{expanded:e,_hovered:t}=this;ii(this.querySelectorAll(this.constructor.selectorMenu),(i=>{i.forceCollapsed=!e&&!t}))}},{kind:"method",decorators:[ti("mouseover")],key:"_handleMouseover",value:function(){this._hovered=!0,this._updatedSideNavMenuForceCollapsedState()}},{kind:"method",decorators:[ti("mouseout")],key:"_handleMouseout",value:function(){this._hovered=!1,this._updatedSideNavMenuForceCollapsedState()}},{kind:"field",decorators:[St({reflect:!0,attribute:"collapse-mode"})],key:"collapseMode",value:()=>ni.RESPONSIVE},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"expanded",value:()=>!1},{kind:"field",decorators:[St({reflect:!0,attribute:"usage-mode"})],key:"usageMode",value:()=>si.REGULAR},{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","navigation"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"disconnectedCallback",value:function(){this._cleanHTransition(),Bt(Vt(i.prototype),"disconnectedCallback",this).call(this)}},{kind:"method",key:"shouldUpdate",value:function(e){return e.has("expanded")&&(this._transitionPromise=new Promise((e=>{this._cleanHTransition(),this._hTransition=Gt(this,"transitionend",(()=>{this._cleanHTransition(),e()}))}))),!0}},{kind:"method",key:"updated",value:function(e){if(e.has("collapseMode")||e.has("usageMode")){const{collapseMode:e,usageMode:t}=this;e!==ni.FIXED&&e!==ni.RAIL||t!==si.HEADER_NAV||console.warn("Fixed/rail modes of side nav cannot be used with header nav mode.")}const t=this.getRootNode();e.has("collapseMode")&&ii(t.querySelectorAll(this.constructor.selectorButtonToggle),(e=>{e.collapseMode=this.collapseMode})),e.has("expanded")&&(this._updatedSideNavMenuForceCollapsedState(),ii(t.querySelectorAll(this.constructor.selectorButtonToggle),(e=>{e.active=this.expanded}))),e.has("usageMode")&&ii(t.querySelectorAll(this.constructor.selectorButtonToggle),(e=>{e.usageMode=this.usageMode}))}},{kind:"method",key:"render",value:function(){return it(ai||(ai=ri` `))}},{kind:"get",static:!0,key:"selectorButtonToggle",value:function(){return`${oi}-header-menu-button`}},{kind:"get",static:!0,key:"selectorNavItems",value:function(){return`${oi}-side-nav-menu, ${oi}-side-nav-menu-item, ${oi}-side-nav-link`}},{kind:"get",static:!0,key:"selectorMenu",value:function(){return`${oi}-side-nav-menu`}},{kind:"get",static:!0,key:"eventButtonToggle",value:function(){return`${oi}-header-menu-button-toggled`}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),Jt(Nt));const{prefix:di}=xe;ue([kt(`${di}-side-nav-divider`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","separator"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),Nt); +/** + * @license + * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +const li=new WeakMap,ci=ye((e=>t=>{const i=li.get(t);if(void 0===e&&t instanceof De){if(void 0!==i||!li.has(t)){const e=t.committer.name;t.committer.element.removeAttribute(e)}}else e!==i&&t.setValue(e);li.set(t,e)}));let hi,ui,pi=e=>e;const{prefix:vi}=xe;ue([kt(`${vi}-header-name`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[St()],key:"href",value:void 0},{kind:"field",decorators:[St()],key:"prefix",value:void 0},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"render",value:function(){const{href:e,prefix:t}=this,i=t?it(hi||(hi=pi` ${0} `),vi,t):void 0;return it(ui||(ui=pi` ${0}  `),vi,ci(e),i)}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),It(Nt));let mi,bi=e=>e;const{prefix:fi}=xe;ue([kt(`${fi}-header-nav`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[St({attribute:"menu-bar-label"})],key:"menuBarLabel",value:void 0},{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","navigation"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"render",value:function(){const{menuBarLabel:e}=this;return it(mi||(mi=bi`
`),fi,fi,e)}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),Nt);let gi,xi=e=>e;const{prefix:_i}=xe;ue([kt(`${_i}-side-nav-link`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[At("#title-icon-container")],key:"_titleIconContainerNode",value:void 0},{kind:"method",key:"_handleSlotChangeTitleIcon",value:function({target:e}){var t;null===(t=this._titleIconContainerNode)||void 0===t||t.toggleAttribute("hidden",0===e.assignedNodes().length)}},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"active",value:()=>!1},{kind:"field",decorators:[St()],key:"href",value:()=>""},{kind:"field",decorators:[St()],key:"title",value:void 0},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","listitem"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"render",value:function(){const{active:e,href:t,title:i,_handleSlotChangeTitleIcon:n}=this,s=rt({[`${_i}--side-nav__link`]:!0,[`${_i}--side-nav__link--current`]:e});return it(gi||(gi=xi` ${0} `),s,t,_i,n,_i,i)}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),It(Nt)); +/** + * @license + * + * Copyright IBM Corp. 2019, 2022 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */ +const yi=new WeakMap,ki=ye((e=>t=>{if(!(t instanceof Ge)||".."!==t.committer.name||t.committer.parts.length>1)throw new Error("The `spread` directive must be used in with `...` name and must be the only part in the attribute.");const{committer:i}=t,{element:n}=i,s=yi.get(t);s&&Object.keys(s).forEach((t=>{t in e||n.removeAttribute(t)})),Object.keys(e).forEach((t=>{const i=e[t];s&&Object.is(i,s[t])||void 0===i||n.setAttribute(t,i)})),yi.set(t,e)}));let wi,$i=e=>e;const{prefix:Si}=xe;let Ai,zi=ue([kt(`${Si}-header-menu`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[At("a")],key:"_trigger",value:void 0},{kind:"method",key:"_handleClick",value:function(){this._handleUserInitiatedToggle()}},{kind:"method",key:"_handleKeydownTrigger",value:function({key:e}){"Esc"!==e&&"Escape"!==e||this._handleUserInitiatedToggle(!1)}},{kind:"method",key:"_handleUserInitiatedToggle",value:function(e=!this.expanded){this.expanded=e,e||this._trigger.focus()}},{kind:"method",decorators:[ti("focusout")],key:"_handleBlur",value:function({relatedTarget:e}){this.contains(e)||(this.expanded=!1)}},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"expanded",value:()=>!1},{kind:"field",decorators:[St({attribute:"trigger-content"})],key:"triggerContent",value:()=>""},{kind:"field",decorators:[St({attribute:"menu-label"})],key:"menuLabel",value:void 0},{kind:"method",key:"createRenderRoot",value:function(){return this.attachShadow({mode:"open",delegatesFocus:!0})}},{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","listitem"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"updated",value:function(e){if(e.has("expanded")){const{selectorItem:e}=this.constructor,{expanded:t}=this;ii(this.querySelectorAll(e),(e=>{e.tabIndex=t?0:-1}))}}},{kind:"method",key:"render",value:function(){const{expanded:e,triggerContent:t,menuLabel:i,_handleClick:n,_handleKeydownTrigger:s}=this;return it(wi||(wi=$i` ${0}${0}
`),Si,Si,String(Boolean(e)),n,s,t,(({children:e,...t}={})=>nt``)({part:"trigger-icon",class:`${Si}--header__menu-arrow`}),Si,ci(i))}},{kind:"get",static:!0,key:"selectorItem",value:function(){return`${Si}-header-menu-item`}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),Jt(It(Nt))),Ci=e=>e;const{prefix:Ei}=xe;let Pi=ue([kt(`${Ei}-header-nav-item`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[St()],key:"href",value:void 0},{kind:"field",decorators:[St()],key:"title",value:void 0},{kind:"field",decorators:[St({reflect:!0})],key:"role",value:()=>"listitem"},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"render",value:function(){const{href:e,title:t}=this;return it(Ai||(Ai=Ci` ${0} `),Ei,ci(e),Ei,t)}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),It(Nt));const{prefix:qi}=xe;ue([kt(`${qi}-header-menu-item`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[]}}),Pi);let Mi,Ti=e=>e;const{prefix:Ni}=xe;ue([kt(`${Ni}-side-nav-items`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","list"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"render",value:function(){return it(Mi||(Mi=Ti` `))}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),Nt); +/** + * @license + * + * Copyright IBM Corp. 2019, 2020 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */ +const Oi=({children:e,...t}={})=>nt`` +/** + * @license + * + * Copyright IBM Corp. 2019, 2020 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */,Ri=({children:e,...t}={})=>nt`` +/** + * @license + * + * Copyright IBM Corp. 2019, 2022 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */;let Ii,Ui=e=>e;const{prefix:Hi}=xe;let ji=ue([kt(`${Hi}-header-menu-button`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"method",key:"_handleClick",value:function(){const e=!this.active;this.active=e,this.dispatchEvent(new CustomEvent(this.constructor.eventToggle,{bubbles:!0,cancelable:!0,composed:!0,detail:{active:e}}))}},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"active",value:()=>!1},{kind:"field",decorators:[St({attribute:"button-label-active"})],key:"buttonLabelActive",value:()=>"Close navigation menu"},{kind:"field",decorators:[St({attribute:"button-label-inactive"})],key:"buttonLabelInactive",value:()=>"Open navigation menu"},{kind:"field",decorators:[St({reflect:!0,attribute:"collapse-mode"})],key:"collapseMode",value:()=>ni.RESPONSIVE},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"disabled",value:()=>!1},{kind:"field",decorators:[St({reflect:!0,attribute:"usage-mode"})],key:"usageMode",value:()=>si.REGULAR},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"render",value:function(){const{active:e,buttonLabelActive:t,buttonLabelInactive:i,disabled:n,_handleClick:s}=this,a=e?t:i,r=rt({[`${Hi}--header__action`]:!0,[`${Hi}--header__menu-trigger`]:!0,[`${Hi}--header__menu-toggle`]:!0,[`${Hi}--header__action--active`]:e});return it(Ii||(Ii=Ui` `),r,n,ci(null!=(o=a)?o:void 0),s,(e?Oi:Ri)({slot:"toggle-icon"}));var o}},{kind:"get",static:!0,key:"eventToggle",value:function(){return`${Hi}-header-menu-button-toggled`}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),It(Nt)); +/** + * @license + * + * Copyright IBM Corp. 2019, 2020 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */let Li,Vi=e=>e;const{prefix:Bi}=xe;ue([kt(`${Bi}-side-nav-menu`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:"_hasIcon",value:()=>!1},{kind:"field",decorators:[At("#title-icon-container")],key:"_titleIconContainerNode",value:void 0},{kind:"method",key:"_handleUserInitiatedToggle",value:function(e=!this.expanded){const{eventBeforeToggle:t,eventToggle:i}=this.constructor,n={bubbles:!0,cancelable:!0,composed:!0,detail:{expanded:e}};this.dispatchEvent(new CustomEvent(t,n))&&(this.expanded=e,this.dispatchEvent(new CustomEvent(i,n)))}},{kind:"method",key:"_handleClickExpando",value:function(){this._handleUserInitiatedToggle()}},{kind:"method",key:"_handleSlotChange",value:function({target:e}){const{_hasIcon:t}=this;ii(e.assignedNodes(),(e=>{e.nodeType===Node.ELEMENT_NODE&&e.toggleAttribute(this.constructor.attribItemHasIcon,t)}))}},{kind:"method",key:"_handleSlotChangeTitleIcon",value:function({target:e}){var t;const i=this.constructor,n=e.assignedNodes().length>0;this._hasIcon=n,null===(t=this._titleIconContainerNode)||void 0===t||t.toggleAttribute("hidden",!n),ii(this.querySelectorAll(i.selectorItem),(e=>{e.toggleAttribute(i.attribItemHasIcon,n)}))}},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"active",value:()=>!1},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"expanded",value:()=>!1},{kind:"field",decorators:[St({type:Boolean,reflect:!0,attribute:"force-collapsed"})],key:"forceCollapsed",value:()=>!1},{kind:"field",decorators:[St()],key:"title",value:()=>""},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","listitem"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"updated",value:function(e){if(e.has("expanded")){const{selectorItem:e}=this.constructor,{expanded:t}=this;ii(this.querySelectorAll(e),(e=>{e.tabIndex=t?0:-1}))}}},{kind:"method",key:"render",value:function(){const{expanded:e,forceCollapsed:t,title:i,_handleClickExpando:n,_handleSlotChange:s,_handleSlotChangeTitleIcon:a}=this;return it(Li||(Li=Vi`
`),String(Boolean(e&&!t)),Bi,n,Bi,a,Bi,i,Bi,Bi,Bi,(({children:e,...t}={})=>nt``)({part:"expando-icon"}),Bi,s)}},{kind:"field",static:!0,key:"attribItemHasIcon",value:()=>"parent-has-icon"},{kind:"get",static:!0,key:"selectorItem",value:function(){return`${Bi}-side-nav-menu-item`}},{kind:"get",static:!0,key:"eventBeforeToggle",value:function(){return`${Bi}-side-nav-menu-beingtoggled`}},{kind:"get",static:!0,key:"eventToggle",value:function(){return`${Bi}-side-nav-menu-toggled`}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),It(Nt));const Di=((e,...t)=>{const i=1===e.length?e[0]:t.reduce(((t,i,n)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[n+1]),e[0]);return new o(i,e,a)})`.bx--text-truncate--end{display:inline-block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap}.bx--text-truncate--front{display:inline-block;overflow:hidden;width:100%;direction:rtl;text-overflow:ellipsis;white-space:nowrap}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{padding:0;border:0;margin:0;font:inherit;font-size:100%;vertical-align:baseline}button,select,input,textarea{border-radius:0;font-family:inherit}input[type=text]::-ms-clear{display:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}body{line-height:1}sup{vertical-align:super}sub{vertical-align:sub}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:""}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}button{margin:0}html{font-size:100%}body{font-weight:400;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}code{font-family:'IBM Plex Mono','Menlo','DejaVu Sans Mono','Bitstream Vera Sans Mono',Courier,monospace}strong{font-weight:600}@media screen and (-ms-high-contrast:active){svg{fill:ButtonText}}h1{font-size:2rem;font-weight:300;line-height:1.199;letter-spacing:0}h2{font-size:2rem;font-weight:400;line-height:1.25;letter-spacing:0}h3{font-size:1.75rem;font-weight:400;line-height:1.29;letter-spacing:0}h4{font-size:1.25rem;font-weight:400;line-height:1.4;letter-spacing:0}h5{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0}h6{font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px}p{font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}a{color:#0f62fe}em{font-style:italic}@keyframes skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}100%{opacity:.3;transform:scaleX(0);transform-origin:left}}.bx--header,:host(bx-header){position:fixed;z-index:8000;top:0;right:0;left:0;display:flex;height:3rem;align-items:center;border-bottom:1px solid #393939;background-color:#161616}.bx--header__action{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;appearance:none;background:0;cursor:pointer;width:100%;width:3rem;height:3rem;border:.0625rem solid transparent;transition:background-color 110ms,border-color 110ms}.bx--header__action *,.bx--header__action *::before,.bx--header__action *::after{box-sizing:inherit}.bx--header__action::-moz-focus-inner{border:0}.bx--header__action>svg.bx--navigation-menu-panel-collapse-icon,.bx--header__action--active>svg.bx--navigation-menu-panel-expand-icon{display:none}.bx--header__action--active>svg.bx--navigation-menu-panel-collapse-icon{display:inline}.bx--header__action:hover{background-color:#353535}.bx--header__action--active{border-right:1px solid #393939;border-bottom:1px solid #161616;border-left:1px solid #393939}.bx--header__action:focus{border-color:#fff;outline:0}.bx--header__action:active{background-color:#393939}.bx--header__action.bx--btn--icon-only.bx--tooltip__trigger{justify-content:center}.bx--header__action>svg{fill:#fff}.bx--header__menu-trigger>svg{fill:#f4f4f4}.bx--header__menu-trigger:hover{fill:#2c2c2c}.bx--header__menu-toggle{display:flex;align-items:center;justify-content:center}@media(min-width:66rem){.bx--header__menu-toggle__hidden{display:none}}a.bx--header__name{font-size:.875rem;font-weight:400;line-height:1.29;letter-spacing:.16px;display:flex;height:100%;align-items:center;padding:0 2rem 0 1rem;border:.125rem solid transparent;font-weight:600;letter-spacing:.1px;line-height:1.25rem;outline:0;text-decoration:none;transition:border-color 110ms;user-select:none}a.bx--header__name:focus{border-color:#fff}.bx--header__name--prefix{font-weight:400}a.bx--header__name,a.bx--header__name:hover{color:#f4f4f4}.bx--header__menu-toggle:not(.bx--header__menu-toggle__hidden) ~ .bx--header__name{padding-left:.5rem}.bx--header__nav,:host(bx-header-nav){position:relative;display:none;height:100%;padding-left:1rem}@media(min-width:66rem){.bx--header__nav,:host(bx-header-nav){display:block}}.bx--header__nav::before{position:absolute;top:50%;left:0;display:block;width:.0625rem;height:1.5rem;background-color:#393939;content:"";transform:translateY(-50%)}.bx--header__menu-bar{display:flex;height:100%;padding:0;margin:0;list-style:none}a.bx--header__menu-item{position:relative;display:flex;height:100%;align-items:center;padding:0 1rem;border:2px solid transparent;color:#c6c6c6;font-size:.875rem;font-weight:400;letter-spacing:0;line-height:1.125rem;text-decoration:none;transition:background-color 110ms,border-color 110ms,color 110ms;user-select:none}a.bx--header__menu-item:hover{background-color:#2c2c2c;color:#f4f4f4}.bx--header__action:active,a.bx--header__menu-item:active{background-color:#393939;color:#f4f4f4}a.bx--header__menu-item:focus{border-color:#fff;color:#f4f4f4;outline:0}a.bx--header__menu-item:hover>svg,a.bx--header__menu-item:active>svg,a.bx--header__menu-item:focus>svg{fill:#f4f4f4}a.bx--header__menu-item[aria-current=page]::after,.bx--header__menu-item--current::after{position:absolute;top:0;right:0;bottom:-2px;left:0;width:100%;border-bottom:3px solid #4589ff;content:""}a.bx--header__menu-item[aria-current=page]:focus::after,.bx--header__menu-item--current:focus::after{border:0}a.bx--header__menu-item[aria-current=page]:focus,a.bx--header__menu-item.bx--header__menu-item--current:focus{border:2px solid #fff}.bx--header__submenu,:host(bx-header-menu),:host(qiskit-header-menu-mega),:host(qiskit-header-menu){position:relative}.bx--header__submenu--current::after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border-bottom:3px solid #0f62fe;content:""}.bx--header__submenu--current:focus{border:2px solid #0f62fe}.bx--header__submenu--current:focus::after{border:0}.bx--header__menu-title[aria-haspopup=true]{position:relative}.bx--header__menu-title[aria-expanded=true]{z-index:8001;background-color:#262626;color:#fff}.bx--header__menu-title[aria-expanded=true]>.bx--header__menu-arrow{transform:rotate(180deg)}.bx--header__menu{display:none;padding:0;margin:0;list-style:none}.bx--header__menu-title[aria-expanded=true]+.bx--header__menu{position:absolute;z-index:8000;bottom:0;left:0;display:flex;width:12.5rem;flex-direction:column;background-color:#262626;box-shadow:0 4px 8px 0 rgba(0,0,0,0.5);transform:translateY(100%)}.bx--header__menu-title[aria-expanded=true]+.bx--header__menu .bx--header__menu-item:hover{background-color:#353535}.bx--header__menu-title[aria-expanded=true]+.bx--header__menu .bx--header__menu-item:active{background-color:#393939}.bx--header__menu .bx--header__menu-item{height:3rem}.bx--header__menu .bx--header__menu-item:hover{background-color:#262626;color:#f4f4f4}.bx--header__menu-arrow{margin-left:.5rem;fill:#c6c6c6;transition:transform 110ms,fill 110ms}.bx--header__global{display:flex;height:100%;flex:1 1 0%;justify-content:flex-end}.bx--skip-to-content{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);visibility:inherit;white-space:nowrap}.bx--skip-to-content:focus{z-index:9999;top:0;left:0;display:flex;width:auto;height:3rem;align-items:center;padding:0 1rem;border:4px solid #0f62fe;background-color:#161616;clip:auto;color:#f4f4f4;outline:0}:host(bx-header-nav) .bx-ce--header__divider{position:absolute;left:0;top:50%;transform:translateY(-50%);height:1.5rem;width:.0625rem;background-color:#393939}:host(bx-header-nav-item){outline:0}:host(bx-header-menu),:host(qiskit-header-menu-mega),:host(qiskit-header-menu){outline:0}:host(bx-header-menu-item){outline:0}:host(bx-header-menu-item) a.bx--header__menu-item{height:3rem}:host(bx-header-menu-item) a.bx--header__menu-item:hover{background-color:#353535;color:#f4f4f4}:host(bx-header-menu-item) a.bx--header__menu-item:active{background-color:#393939}:host(bx-header-menu-button),:host(qiskit-header-menu-button){display:content;outline:0}@media(min-width:66rem){:host(bx-header-menu-button),:host(qiskit-header-menu-button){display:none}}:host(bx-header-menu-button[collapse-mode=fixed]){display:none}@media(min-width:66rem){:host(bx-header-menu-button[collapse-mode=rail]){display:block}}:host(bx-header-name){display:content;height:100%}.bx--assistive-text,.bx--visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);visibility:inherit;white-space:nowrap}.bx--body{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;font-size:.875rem;font-weight:400;line-height:1.29;letter-spacing:.16px;background-color:#fff;color:#161616;line-height:1}.bx--body *,.bx--body *::before,.bx--body *::after{box-sizing:inherit}.bx--side-nav,:host(bx-side-nav){position:fixed;z-index:8000;top:0;bottom:0;left:0;overflow:hidden;width:3rem;max-width:16rem;background-color:#fff;color:#525252;transition:width .11s cubic-bezier(0.2,0,1,0.9);will-change:width}.bx--side-nav--ux,:host(bx-side-nav){top:3rem;width:16rem}@media(max-width:65.98rem){.bx--side-nav--ux,:host(bx-side-nav){width:0}}.bx--side-nav--rail{width:3rem}.bx--side-nav--hidden{width:0}.bx--side-nav.bx--side-nav--rail:not(.bx--side-nav--fixed):hover,.bx--side-nav--expanded,:host(bx-side-nav[expanded]),:host(bx-side-nav[collapse-mode][expanded]){width:16rem}.bx--side-nav__overlay{position:fixed;top:3rem;left:0;width:0;height:0;background-color:transparent;opacity:0;transition:opacity 240ms cubic-bezier(0.2,0,0.38,0.9),background-color 240ms cubic-bezier(0.2,0,0.38,0.9)}@media(max-width:65.98rem){.bx--side-nav__overlay-active{width:100vw;height:100vh;background-color:rgba(22,22,22,0.5);opacity:1;transition:opacity 240ms cubic-bezier(0.2,0,0.38,0.9),background-color 240ms cubic-bezier(0.2,0,0.38,0.9)}}.bx--header ~ .bx--side-nav,.bx--header ~ :host(bx-side-nav),:host(bx-header) ~ .bx--side-nav,:host(bx-header) ~ :host(bx-side-nav){top:3rem;height:calc(100% - 48px)}.bx--side-nav--fixed{width:16rem}.bx--side-nav--collapsed{width:16rem;transform:translateX(-16rem)}.bx--side-nav__navigation,:host(bx-side-nav){display:flex;height:100%;flex-direction:column}.bx--side-nav__header{display:flex;width:100%;max-width:100%;height:3rem;border-bottom:1px solid #393939}.bx--side-nav:hover .bx--side-nav__header,.bx--side-nav--fixed .bx--side-nav__header,.bx--side-nav--expanded .bx--side-nav__header,:host(bx-side-nav[expanded]) .bx--side-nav__header{height:auto}.bx--side-nav--ux .bx--side-nav__header,:host(bx-side-nav) .bx--side-nav__header{height:auto}.bx--side-nav__details{display:flex;min-width:0;flex:1;flex-direction:column;padding-right:1rem;opacity:0;visibility:hidden}.bx--side-nav:hover .bx--side-nav__details,.bx--side-nav--fixed .bx--side-nav__details,.bx--side-nav--expanded .bx--side-nav__details,:host(bx-side-nav[expanded]) .bx--side-nav__details{visibility:inherit;opacity:1}.bx--side-nav--ux .bx--side-nav__details,:host(bx-side-nav) .bx--side-nav__details{opacity:1;visibility:inherit}.bx--side-nav__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1rem;font-size:.875rem;font-weight:600;letter-spacing:.1px;user-select:none}.bx--side-nav__title,.bx--side-nav__select{padding-left:.5rem}.bx--side-nav__switcher{position:relative;display:flex;align-items:center;justify-content:space-between}.bx--side-nav__switcher-chevron{position:absolute;top:0;right:.5rem;bottom:0;display:flex;align-items:center;fill:#525252}.bx--side-nav__select{outline:2px solid transparent;outline-offset:-2px;min-width:0;height:2rem;flex:1 1 0%;padding-right:2rem;border:0;appearance:none;background-color:#161616;border-radius:0;color:#f4f4f4;cursor:pointer;font-size:.75rem;transition:outline 110ms}.bx--side-nav__select:focus{outline:2px solid #0f62fe;outline-offset:-2px}@media screen and (prefers-contrast){.bx--side-nav__select:focus{outline-style:dotted}}.bx--side-nav__footer{width:100%;flex:0 0 3rem;background-color:#fff}.bx--side-nav__toggle{outline:2px solid transparent;outline-offset:-2px;box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;appearance:none;background:0;cursor:pointer;width:100%;height:100%;padding-left:1rem;text-align:left;transition:outline 110ms}.bx--side-nav__toggle *,.bx--side-nav__toggle *::before,.bx--side-nav__toggle *::after{box-sizing:inherit}.bx--side-nav__toggle::-moz-focus-inner{border:0}.bx--side-nav__toggle:focus{outline:2px solid #0f62fe;outline-offset:-2px}@media screen and (prefers-contrast){.bx--side-nav__toggle:focus{outline-style:dotted}}.bx--side-nav__items,:host(bx-side-nav-items){overflow:hidden;flex:1 1 0%;padding:1rem 0 0}.bx--side-nav:hover .bx--side-nav__items,.bx--side-nav:hover :host(bx-side-nav-items),.bx--side-nav--fixed .bx--side-nav__items,.bx--side-nav--fixed :host(bx-side-nav-items),.bx--side-nav--expanded .bx--side-nav__items,.bx--side-nav--expanded :host(bx-side-nav-items),:host(bx-side-nav[expanded]) .bx--side-nav__items,:host(bx-side-nav[expanded]) :host(bx-side-nav-items){overflow-y:auto}.bx--side-nav--ux .bx--side-nav__items,.bx--side-nav--ux :host(bx-side-nav-items),:host(bx-side-nav) .bx--side-nav__items,:host(bx-side-nav) :host(bx-side-nav-items){overflow-y:auto}.bx--side-nav__item,:host(bx-side-nav-menu),:host(bx-side-nav-link){overflow:hidden;width:auto;height:auto}.bx--side-nav--ux .bx--side-nav__item,.bx--side-nav--ux :host(bx-side-nav-menu),.bx--side-nav--ux :host(bx-side-nav-link),:host(bx-side-nav) .bx--side-nav__item,:host(bx-side-nav) :host(bx-side-nav-menu),:host(bx-side-nav) :host(bx-side-nav-link){width:auto;height:auto}.bx--side-nav__item:not(.bx--side-nav__item--active):hover .bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__submenu:hover,.bx--side-nav__item:not(.bx--side-nav__item--active):hover :not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__submenu:hover,.bx--side-nav__item:not(.bx--side-nav__item--active):hover :not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__submenu:hover,.bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__link:hover,:not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__link:hover,:not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__link:hover,.bx--side-nav__menu a.bx--side-nav__link:not(.bx--side-nav__link--current):not([aria-current=page]):hover,.bx--side-nav a.bx--header__menu-item:hover,:host(bx-side-nav) a.bx--header__menu-item:hover,.bx--side-nav .bx--header__menu-title[aria-expanded=true]:hover,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav__item:not(.bx--side-nav__item--active)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-menu)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-link)>.bx--side-nav__link:hover>span,.bx--side-nav__item:not(.bx--side-nav__item--active) .bx--side-nav__menu-item>.bx--side-nav__link:hover>span,.bx--side-nav__item:not(.bx--side-nav__item--active) :host(bx-side-nav-menu-item)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-menu) .bx--side-nav__menu-item>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-menu) :host(bx-side-nav-menu-item)>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-link) .bx--side-nav__menu-item>.bx--side-nav__link:hover>span,:not(.bx--side-nav__item--active):host(bx-side-nav-link) :host(bx-side-nav-menu-item)>.bx--side-nav__link:hover>span{color:#161616}.bx--side-nav__item--large{height:3rem}.bx--side-nav__divider,:host(bx-side-nav-divider){height:1px;margin:.5rem 1rem;background-color:#e0e0e0}.bx--side-nav__submenu{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline;display:inline-block;padding:0;border:0;appearance:none;background:0;cursor:pointer;width:100%;font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px;outline:2px solid transparent;outline-offset:-2px;display:flex;height:2rem;align-items:center;padding:0 1rem;color:#525252;transition:color 110ms,background-color 110ms,outline 110ms;user-select:none}.bx--side-nav__submenu *,.bx--side-nav__submenu *::before,.bx--side-nav__submenu *::after{box-sizing:inherit}.bx--side-nav__submenu::-moz-focus-inner{border:0}.bx--side-nav__submenu:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav__submenu:focus{outline:2px solid #0f62fe;outline-offset:-2px}@media screen and (prefers-contrast){.bx--side-nav__submenu:focus{outline-style:dotted}}.bx--side-nav__submenu-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.bx--side-nav__icon.bx--side-nav__submenu-chevron{display:flex;flex:1;justify-content:flex-end}.bx--side-nav__submenu-chevron>svg{width:1rem;height:1rem;transition:transform 110ms}.bx--side-nav__submenu[aria-expanded=true] .bx--side-nav__submenu-chevron>svg{transform:rotate(180deg)}.bx--side-nav__item--large .bx--side-nav__submenu{height:3rem}.bx--side-nav__item--active .bx--side-nav__submenu:hover,:host(bx-side-nav-menu[active]) .bx--side-nav__submenu:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav__item--active .bx--side-nav__submenu[aria-expanded=false],:host(bx-side-nav-menu[active]) .bx--side-nav__submenu[aria-expanded=false]{position:relative;background-color:#e5e5e5;color:#161616}.bx--side-nav__item--active .bx--side-nav__submenu[aria-expanded=false]::before,:host(bx-side-nav-menu[active]) .bx--side-nav__submenu[aria-expanded=false]::before{position:absolute;top:0;bottom:0;left:0;width:4px;background-color:#0f62fe;content:""}.bx--side-nav__item--active .bx--side-nav__submenu-title,:host(bx-side-nav-menu[active]) .bx--side-nav__submenu-title{color:#161616;font-weight:600}.bx--side-nav__menu{display:block;max-height:0;visibility:hidden}.bx--side-nav__submenu[aria-expanded=true]+.bx--side-nav__menu{max-height:93.75rem;visibility:inherit}.bx--side-nav__menu a.bx--side-nav__link{height:2rem;min-height:2rem;padding-left:2rem;font-weight:400}.bx--side-nav__item.bx--side-nav__item--icon a.bx--side-nav__link{padding-left:4.5rem}.bx--side-nav__menu a.bx--side-nav__link--current,.bx--side-nav__menu a.bx--side-nav__link[aria-current=page],a.bx--side-nav__link--current{background-color:#e0e0e0}.bx--side-nav__menu a.bx--side-nav__link--current>span,.bx--side-nav__menu a.bx--side-nav__link[aria-current=page]>span,a.bx--side-nav__link--current>span{color:#161616;font-weight:600}a.bx--side-nav__link,.bx--side-nav a.bx--header__menu-item,:host(bx-side-nav) a.bx--header__menu-item,.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu{outline:2px solid transparent;outline-offset:-2px;font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px;position:relative;display:flex;min-height:2rem;align-items:center;padding:0 1rem;text-decoration:none;transition:color 110ms,background-color 110ms,outline 110ms}.bx--side-nav__item--large a.bx--side-nav__link{height:3rem}a.bx--side-nav__link>.bx--side-nav__link-text,.bx--side-nav a.bx--header__menu-item .bx--text-truncate-end,:host(bx-side-nav) a.bx--header__menu-item .bx--text-truncate-end{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#525252;font-size:.875rem;letter-spacing:.1px;line-height:1.25rem;user-select:none}a.bx--side-nav__link:focus,.bx--side-nav a.bx--header__menu-item:focus,:host(bx-side-nav) a.bx--header__menu-item:focus{outline:2px solid #0f62fe;outline-offset:-2px}@media screen and (prefers-contrast){a.bx--side-nav__link:focus,.bx--side-nav a.bx--header__menu-item:focus,:host(bx-side-nav) a.bx--header__menu-item:focus{outline-style:dotted}}a.bx--side-nav__link[aria-current=page],a.bx--side-nav__link--current{background-color:#e5e5e5;font-weight:600}a.bx--side-nav__link[aria-current=page] .bx--side-nav__link-text,a.bx--side-nav__link--current .bx--side-nav__link-text{color:#161616}a.bx--side-nav__link[aria-current=page]::before,a.bx--side-nav__link--current::before{position:absolute;top:0;bottom:0;left:0;width:4px;background-color:#0f62fe;content:""}.bx--side-nav__icon{display:flex;flex:0 0 1rem;align-items:center;justify-content:center}.bx--side-nav__icon:not(.bx--side-nav__submenu-chevron){margin-right:1.5rem}.bx--side-nav__icon>svg{width:1rem;height:1rem;fill:#525252}.bx--side-nav__icon>svg.bx--side-nav-collapse-icon{display:none}.bx--side-nav--expanded .bx--side-nav__icon>svg.bx--side-nav-expand-icon,:host(bx-side-nav[expanded]) .bx--side-nav__icon>svg.bx--side-nav-expand-icon{display:none}.bx--side-nav--expanded .bx--side-nav__icon>svg.bx--side-nav-collapse-icon,:host(bx-side-nav[expanded]) .bx--side-nav__icon>svg.bx--side-nav-collapse-icon{display:block}.bx--side-nav--fixed a.bx--side-nav__link,.bx--side-nav--fixed .bx--side-nav__submenu{padding-left:1rem}.bx--side-nav--fixed .bx--side-nav__item:not(.bx--side-nav__item--icon) .bx--side-nav__menu a.bx--side-nav__link,.bx--side-nav--fixed :not(.bx--side-nav__item--icon):host(bx-side-nav-menu) .bx--side-nav__menu a.bx--side-nav__link,.bx--side-nav--fixed :not(.bx--side-nav__item--icon):host(bx-side-nav-link) .bx--side-nav__menu a.bx--side-nav__link{padding-left:2rem}@media(max-width:65.98rem){.bx--side-nav .bx--header__nav,:host(bx-side-nav) .bx--header__nav,.bx--side-nav:host(bx-header-nav),:host(bx-side-nav):host(bx-header-nav){display:block}}.bx--side-nav__header-navigation{display:none}@media(max-width:65.98rem){.bx--side-nav__header-navigation{position:relative;display:block;margin-bottom:2rem}}.bx--side-nav__header-divider::after{position:absolute;bottom:-1rem;left:1rem;width:calc(100% - 32px);height:.0625rem;background:#e0e0e0;content:""}.bx--side-nav a.bx--header__menu-item,:host(bx-side-nav) a.bx--header__menu-item{justify-content:space-between;color:#525252;white-space:nowrap}.bx--side-nav a.bx--header__menu-item[aria-expanded=true],:host(bx-side-nav) a.bx--header__menu-item[aria-expanded=true]{background-color:transparent}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu{bottom:inherit;width:100%;padding:0;background-color:transparent;box-shadow:none;transform:none}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu li,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu li{width:100%}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item{padding-left:4.25rem;font-weight:400}.bx--side-nav .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item:hover,:host(bx-side-nav) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu a.bx--header__menu-item:hover{background-color:#e5e5e5;color:#161616}.bx--side-nav .bx--header__menu a.bx--header__menu-item,:host(bx-side-nav) .bx--header__menu a.bx--header__menu-item{height:inherit}.bx--side-nav a.bx--header__menu-item:hover .bx--header__menu-arrow,.bx--side-nav a.bx--header__menu-item:focus .bx--header__menu-arrow,.bx--side-nav .bx--header__menu-arrow,:host(bx-side-nav) .bx--header__menu-arrow{fill:#525252}@media screen and (-ms-high-contrast:active),(forced-colors:active){.bx--side-nav__icon>svg,.bx--side-nav a.bx--header__menu-item:hover .bx--header__menu-arrow,.bx--side-nav a.bx--header__menu-item:focus .bx--header__menu-arrow,.bx--side-nav .bx--header__menu-arrow,:host(bx-side-nav) .bx--header__menu-arrow{fill:ButtonText}}:host(bx-side-nav){top:0}:host(bx-side-nav[collapse-mode=fixed]){width:16rem}:host(bx-side-nav[collapse-mode=rail]){width:3rem}:host(bx-side-nav[collapse-mode=rail]):hover{width:16rem}:host(bx-side-nav[usage-mode=header-nav]),:host(bx-side-nav[collapse-mode][usage-mode=header-nav]){width:0}@media(max-width:65.98rem){:host(bx-side-nav[expanded][usage-mode=header-nav]),:host(bx-side-nav[collapse-mode][expanded][usage-mode=header-nav]){width:16rem}}:host(bx-side-nav-link){display:block;outline:0;width:auto;height:auto}:host(bx-side-nav-link) .bx--side-nav__icon{color:#525252}:host(bx-side-nav-link) .bx--side-nav__icon[hidden]{display:none}:host(bx-side-nav-divider){display:block}:host(bx-side-nav-menu){display:block;outline:0;width:auto;height:auto}:host(bx-side-nav-menu) .bx--side-nav__icon[hidden]{display:none}:host(bx-side-nav-menu[active]){background-color:#e5e5e5;color:#161616;position:relative}:host(bx-side-nav-menu[active])::before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background-color:#0f62fe}:host(bx-side-nav-menu[active][expanded]){background-color:inherit;color:inherit;position:inherit}:host(bx-side-nav-menu[active][expanded])::before{content:none}:host(bx-side-nav-menu-item){display:block;outline:0;width:auto;height:auto}:host(bx-side-nav-menu-item) a.bx--side-nav__link{height:2rem;min-height:2rem;padding-left:2rem;font-weight:400}:host(bx-side-nav-menu-item[parent-has-icon]) a.bx--side-nav__link{padding-left:4.5rem}:host(bx-side-nav-item) .bx--side-nav__link:hover,:host(bx-side-nav-menu) .bx--side-nav__submenu:hover,:host(bx-side-nav-menu-item) .bx--side-nav__link:hover{background-color:#e5e5e5;color:#161616}:host{--cds-interactive-01:#0f62fe;--cds-interactive-02:#393939;--cds-interactive-03:#0f62fe;--cds-interactive-04:#0f62fe;--cds-ui-background:#fff;--cds-ui-01:#f4f4f4;--cds-ui-02:#fff;--cds-ui-03:#e0e0e0;--cds-ui-04:#8d8d8d;--cds-ui-05:#161616;--cds-text-01:#161616;--cds-text-02:#525252;--cds-text-03:#a8a8a8;--cds-text-04:#fff;--cds-text-05:#6f6f6f;--cds-text-error:#da1e28;--cds-icon-01:#161616;--cds-icon-02:#525252;--cds-icon-03:#fff;--cds-link-01:#0f62fe;--cds-link-02:#0043ce;--cds-inverse-link:#78a9ff;--cds-field-01:#f4f4f4;--cds-field-02:#fff;--cds-inverse-01:#fff;--cds-inverse-02:#393939;--cds-support-01:#da1e28;--cds-support-02:#198038;--cds-support-03:#f1c21b;--cds-support-04:#0043ce;--cds-inverse-support-01:#fa4d56;--cds-inverse-support-02:#42be65;--cds-inverse-support-03:#f1c21b;--cds-inverse-support-04:#4589ff;--cds-overlay-01:rgba(22,22,22,0.5);--cds-danger-01:#da1e28;--cds-danger-02:#da1e28;--cds-focus:#0f62fe;--cds-inverse-focus-ui:#fff;--cds-hover-primary:#0353e9;--cds-active-primary:#002d9c;--cds-hover-primary-text:#0043ce;--cds-hover-secondary:#4c4c4c;--cds-active-secondary:#6f6f6f;--cds-hover-tertiary:#0353e9;--cds-active-tertiary:#002d9c;--cds-hover-ui:#e5e5e5;--cds-hover-light-ui:#e5e5e5;--cds-hover-selected-ui:#cacaca;--cds-active-ui:#c6c6c6;--cds-active-light-ui:#c6c6c6;--cds-selected-ui:#e0e0e0;--cds-selected-light-ui:#e0e0e0;--cds-inverse-hover-ui:#4c4c4c;--cds-hover-danger:#b81921;--cds-active-danger:#750e13;--cds-hover-row:#e5e5e5;--cds-visited-link:#8a3ffc;--cds-disabled-01:#f4f4f4;--cds-disabled-02:#c6c6c6;--cds-disabled-03:#8d8d8d;--cds-highlight:#d0e2ff;--cds-decorative-01:#e0e0e0;--cds-button-separator:#e0e0e0;--cds-skeleton-01:#e5e5e5;--cds-skeleton-02:#c6c6c6;--cds-background:#fff;--cds-layer:#f4f4f4;--cds-layer-accent:#e0e0e0;--cds-layer-accent-hover:#d1d1d1;--cds-layer-accent-active:#a8a8a8;--cds-field:#f4f4f4;--cds-background-inverse:#393939;--cds-background-brand:#0f62fe;--cds-interactive:#0f62fe;--cds-border-subtle:#e0e0e0;--cds-border-strong:#8d8d8d;--cds-border-inverse:#161616;--cds-border-interactive:#0f62fe;--cds-text-primary:#161616;--cds-text-secondary:#525252;--cds-text-placeholder:#a8a8a8;--cds-text-helper:#6f6f6f;--cds-text-on-color:#fff;--cds-text-inverse:#fff;--cds-link-primary:#0f62fe;--cds-link-secondary:#0043ce;--cds-link-visited:#8a3ffc;--cds-link-inverse:#78a9ff;--cds-icon-primary:#161616;--cds-icon-secondary:#525252;--cds-icon-on-color:#fff;--cds-icon-inverse:#fff;--cds-support-error:#da1e28;--cds-support-success:#198038;--cds-support-warning:#f1c21b;--cds-support-info:#0043ce;--cds-support-error-inverse:#fa4d56;--cds-support-success-inverse:#42be65;--cds-support-warning-inverse:#f1c21b;--cds-support-info-inverse:#4589ff;--cds-overlay:rgba(22,22,22,0.5);--cds-toggle-off:#8d8d8d;--cds-shadow:rgba(0,0,0,0.3);--cds-button-primary:#0f62fe;--cds-button-secondary:#393939;--cds-button-tertiary:#0f62fe;--cds-button-danger-primary:#da1e28;--cds-button-danger-secondary:#da1e28;--cds-background-active:#c6c6c6;--cds-layer-active:#c6c6c6;--cds-button-danger-active:#750e13;--cds-button-primary-active:#002d9c;--cds-button-secondary-active:#6f6f6f;--cds-button-tertiary-active:#002d9c;--cds-focus-inset:#fff;--cds-focus-inverse:#fff;--cds-background-hover:#e5e5e5;--cds-layer-hover:#e5e5e5;--cds-field-hover:#e5e5e5;--cds-background-inverse-hover:#4c4c4c;--cds-link-primary-hover:#0043ce;--cds-button-danger-hover:#b81921;--cds-button-primary-hover:#0353e9;--cds-button-secondary-hover:#4c4c4c;--cds-button-tertiary-hover:#0353e9;--cds-background-selected:#e0e0e0;--cds-background-selected-hover:#cacaca;--cds-layer-selected:#e0e0e0;--cds-layer-selected-hover:#cacaca;--cds-layer-selected-inverse:#161616;--cds-border-subtle-selected:#c6c6c6;--cds-border-disabled:#f4f4f4;--cds-text-disabled:#c6c6c6;--cds-button-disabled:#c6c6c6;--cds-icon-disabled:#c6c6c6;--cds-text-on-color-disabled:#8d8d8d;--cds-icon-on-color-disabled:#8d8d8d;--cds-layer-selected-disabled:#8d8d8d;--cds-skeleton-background:#e5e5e5;--cds-skeleton-element:#c6c6c6;--cds-brand-01:#0f62fe;--cds-brand-02:#393939;--cds-brand-03:#0f62fe;--cds-active-01:#c6c6c6;--cds-hover-field:#e5e5e5;--cds-danger:#da1e28;--cds-caption-01-font-size:.75rem;--cds-caption-01-font-weight:400;--cds-caption-01-line-height:1.33333;--cds-caption-01-letter-spacing:.32px;--cds-caption-02-font-size:.875rem;--cds-caption-02-font-weight:400;--cds-caption-02-line-height:1.28572;--cds-caption-02-letter-spacing:.32px;--cds-label-01-font-size:.75rem;--cds-label-01-font-weight:400;--cds-label-01-line-height:1.33333;--cds-label-01-letter-spacing:.32px;--cds-label-02-font-size:.875rem;--cds-label-02-font-weight:400;--cds-label-02-line-height:1.28572;--cds-label-02-letter-spacing:.16px;--cds-helper-text-01-font-size:.75rem;--cds-helper-text-01-line-height:1.33333;--cds-helper-text-01-letter-spacing:.32px;--cds-helper-text-02-font-size:.875rem;--cds-helper-text-02-line-height:1.28572;--cds-helper-text-02-letter-spacing:.16px;--cds-body-short-01-font-size:.875rem;--cds-body-short-01-font-weight:400;--cds-body-short-01-line-height:1.28572;--cds-body-short-01-letter-spacing:.16px;--cds-body-long-01-font-size:.875rem;--cds-body-long-01-font-weight:400;--cds-body-long-01-line-height:1.42857;--cds-body-long-01-letter-spacing:.16px;--cds-body-short-02-font-size:1rem;--cds-body-short-02-font-weight:400;--cds-body-short-02-line-height:1.375;--cds-body-short-02-letter-spacing:0;--cds-body-long-02-font-size:1rem;--cds-body-long-02-font-weight:400;--cds-body-long-02-line-height:1.5;--cds-body-long-02-letter-spacing:0;--cds-code-01-font-family:'IBM Plex Mono','Menlo','DejaVu Sans Mono','Bitstream Vera Sans Mono',Courier,monospace;--cds-code-01-font-size:.75rem;--cds-code-01-font-weight:400;--cds-code-01-line-height:1.33333;--cds-code-01-letter-spacing:.32px;--cds-code-02-font-family:'IBM Plex Mono','Menlo','DejaVu Sans Mono','Bitstream Vera Sans Mono',Courier,monospace;--cds-code-02-font-size:.875rem;--cds-code-02-font-weight:400;--cds-code-02-line-height:1.42857;--cds-code-02-letter-spacing:.32px;--cds-heading-01-font-size:.875rem;--cds-heading-01-font-weight:600;--cds-heading-01-line-height:1.42857;--cds-heading-01-letter-spacing:.16px;--cds-productive-heading-01-font-size:.875rem;--cds-productive-heading-01-font-weight:600;--cds-productive-heading-01-line-height:1.28572;--cds-productive-heading-01-letter-spacing:.16px;--cds-heading-02-font-size:1rem;--cds-heading-02-font-weight:600;--cds-heading-02-line-height:1.5;--cds-heading-02-letter-spacing:0;--cds-productive-heading-02-font-size:1rem;--cds-productive-heading-02-font-weight:600;--cds-productive-heading-02-line-height:1.375;--cds-productive-heading-02-letter-spacing:0;--cds-productive-heading-03-font-size:1.25rem;--cds-productive-heading-03-font-weight:400;--cds-productive-heading-03-line-height:1.4;--cds-productive-heading-03-letter-spacing:0;--cds-productive-heading-04-font-size:1.75rem;--cds-productive-heading-04-font-weight:400;--cds-productive-heading-04-line-height:1.28572;--cds-productive-heading-04-letter-spacing:0;--cds-productive-heading-05-font-size:2rem;--cds-productive-heading-05-font-weight:300;--cds-productive-heading-05-line-height:1.25;--cds-productive-heading-05-letter-spacing:0;--cds-productive-heading-06-font-size:2.625rem;--cds-productive-heading-06-font-weight:300;--cds-productive-heading-06-line-height:1.199;--cds-productive-heading-06-letter-spacing:0;--cds-productive-heading-07-font-size:3.375rem;--cds-productive-heading-07-font-weight:300;--cds-productive-heading-07-line-height:1.199;--cds-productive-heading-07-letter-spacing:0;--cds-expressive-heading-01-font-size:.875rem;--cds-expressive-heading-01-font-weight:600;--cds-expressive-heading-01-line-height:1.25;--cds-expressive-heading-01-letter-spacing:.16px;--cds-expressive-heading-02-font-size:1rem;--cds-expressive-heading-02-font-weight:600;--cds-expressive-heading-02-line-height:1.5;--cds-expressive-heading-02-letter-spacing:0;--cds-expressive-heading-03-font-size:1.25rem;--cds-expressive-heading-03-font-weight:400;--cds-expressive-heading-03-line-height:1.4;--cds-expressive-heading-03-letter-spacing:0;--cds-expressive-heading-04-font-size:1.75rem;--cds-expressive-heading-04-font-weight:400;--cds-expressive-heading-04-line-height:1.28572;--cds-expressive-heading-04-letter-spacing:0;--cds-expressive-heading-05-font-size:2rem;--cds-expressive-heading-05-font-weight:300;--cds-expressive-heading-05-line-height:1.25;--cds-expressive-heading-05-letter-spacing:0;--cds-expressive-heading-06-font-size:2rem;--cds-expressive-heading-06-font-weight:600;--cds-expressive-heading-06-line-height:1.25;--cds-expressive-heading-06-letter-spacing:0;--cds-expressive-paragraph-01-font-size:1.5rem;--cds-expressive-paragraph-01-font-weight:300;--cds-expressive-paragraph-01-line-height:1.334;--cds-expressive-paragraph-01-letter-spacing:0;--cds-quotation-01-font-family:'IBM Plex Serif','Georgia',Times,serif;--cds-quotation-01-font-size:1.25rem;--cds-quotation-01-font-weight:400;--cds-quotation-01-line-height:1.3;--cds-quotation-01-letter-spacing:0;--cds-quotation-02-font-family:'IBM Plex Serif','Georgia',Times,serif;--cds-quotation-02-font-size:2rem;--cds-quotation-02-font-weight:300;--cds-quotation-02-line-height:1.25;--cds-quotation-02-letter-spacing:0;--cds-display-01-font-size:2.625rem;--cds-display-01-font-weight:300;--cds-display-01-line-height:1.19;--cds-display-01-letter-spacing:0;--cds-display-02-font-size:2.625rem;--cds-display-02-font-weight:600;--cds-display-02-line-height:1.19;--cds-display-02-letter-spacing:0;--cds-display-03-font-size:2.625rem;--cds-display-03-font-weight:300;--cds-display-03-line-height:1.19;--cds-display-03-letter-spacing:0;--cds-display-04-font-size:2.625rem;--cds-display-04-font-weight:300;--cds-display-04-line-height:1.19;--cds-display-04-letter-spacing:0;--cds-legal-01-font-size:.75rem;--cds-legal-01-font-weight:400;--cds-legal-01-line-height:1.33333;--cds-legal-01-letter-spacing:.32px;--cds-legal-02-font-size:.875rem;--cds-legal-02-font-weight:400;--cds-legal-02-line-height:1.28572;--cds-legal-02-letter-spacing:.16px;--cds-body-compact-01-font-size:.875rem;--cds-body-compact-01-font-weight:400;--cds-body-compact-01-line-height:1.28572;--cds-body-compact-01-letter-spacing:.16px;--cds-body-compact-02-font-size:1rem;--cds-body-compact-02-font-weight:400;--cds-body-compact-02-line-height:1.375;--cds-body-compact-02-letter-spacing:0;--cds-body-01-font-size:.875rem;--cds-body-01-font-weight:400;--cds-body-01-line-height:1.42857;--cds-body-01-letter-spacing:.16px;--cds-body-02-font-size:1rem;--cds-body-02-font-weight:400;--cds-body-02-line-height:1.5;--cds-body-02-letter-spacing:0;--cds-heading-compact-01-font-size:.875rem;--cds-heading-compact-01-font-weight:600;--cds-heading-compact-01-line-height:1.28572;--cds-heading-compact-01-letter-spacing:.16px;--cds-heading-compact-02-font-size:1rem;--cds-heading-compact-02-font-weight:600;--cds-heading-compact-02-line-height:1.375;--cds-heading-compact-02-letter-spacing:0;--cds-heading-03-font-size:1.25rem;--cds-heading-03-font-weight:400;--cds-heading-03-line-height:1.4;--cds-heading-03-letter-spacing:0;--cds-heading-04-font-size:1.75rem;--cds-heading-04-font-weight:400;--cds-heading-04-line-height:1.28572;--cds-heading-04-letter-spacing:0;--cds-heading-05-font-size:2rem;--cds-heading-05-font-weight:300;--cds-heading-05-line-height:1.25;--cds-heading-05-letter-spacing:0;--cds-heading-06-font-size:2.625rem;--cds-heading-06-font-weight:300;--cds-heading-06-line-height:1.199;--cds-heading-06-letter-spacing:0;--cds-heading-07-font-size:3.375rem;--cds-heading-07-font-weight:300;--cds-heading-07-line-height:1.199;--cds-heading-07-letter-spacing:0;--cds-fluid-heading-03-font-size:1.25rem;--cds-fluid-heading-03-font-weight:400;--cds-fluid-heading-03-line-height:1.4;--cds-fluid-heading-03-letter-spacing:0;--cds-fluid-heading-04-font-size:1.75rem;--cds-fluid-heading-04-font-weight:400;--cds-fluid-heading-04-line-height:1.28572;--cds-fluid-heading-04-letter-spacing:0;--cds-fluid-heading-05-font-size:2rem;--cds-fluid-heading-05-font-weight:300;--cds-fluid-heading-05-line-height:1.25;--cds-fluid-heading-05-letter-spacing:0;--cds-fluid-heading-06-font-size:2rem;--cds-fluid-heading-06-font-weight:600;--cds-fluid-heading-06-line-height:1.25;--cds-fluid-heading-06-letter-spacing:0;--cds-fluid-paragraph-01-font-size:1.5rem;--cds-fluid-paragraph-01-font-weight:300;--cds-fluid-paragraph-01-line-height:1.334;--cds-fluid-paragraph-01-letter-spacing:0;--cds-fluid-quotation-01-font-family:'IBM Plex Serif','Georgia',Times,serif;--cds-fluid-quotation-01-font-size:1.25rem;--cds-fluid-quotation-01-font-weight:400;--cds-fluid-quotation-01-line-height:1.3;--cds-fluid-quotation-01-letter-spacing:0;--cds-fluid-quotation-02-font-family:'IBM Plex Serif','Georgia',Times,serif;--cds-fluid-quotation-02-font-size:2rem;--cds-fluid-quotation-02-font-weight:300;--cds-fluid-quotation-02-line-height:1.25;--cds-fluid-quotation-02-letter-spacing:0;--cds-fluid-display-01-font-size:2.625rem;--cds-fluid-display-01-font-weight:300;--cds-fluid-display-01-line-height:1.19;--cds-fluid-display-01-letter-spacing:0;--cds-fluid-display-02-font-size:2.625rem;--cds-fluid-display-02-font-weight:600;--cds-fluid-display-02-line-height:1.19;--cds-fluid-display-02-letter-spacing:0;--cds-fluid-display-03-font-size:2.625rem;--cds-fluid-display-03-font-weight:300;--cds-fluid-display-03-line-height:1.19;--cds-fluid-display-03-letter-spacing:0;--cds-fluid-display-04-font-size:2.625rem;--cds-fluid-display-04-font-weight:300;--cds-fluid-display-04-line-height:1.19;--cds-fluid-display-04-letter-spacing:0;--cds-spacing-01:.125rem;--cds-spacing-02:.25rem;--cds-spacing-03:.5rem;--cds-spacing-04:.75rem;--cds-spacing-05:1rem;--cds-spacing-06:1.5rem;--cds-spacing-07:2rem;--cds-spacing-08:2.5rem;--cds-spacing-09:3rem;--cds-spacing-10:4rem;--cds-spacing-11:5rem;--cds-spacing-12:6rem;--cds-spacing-13:10rem;--cds-fluid-spacing-01:0;--cds-fluid-spacing-02:2vw;--cds-fluid-spacing-03:5vw;--cds-fluid-spacing-04:10vw;--cds-layout-01:1rem;--cds-layout-02:1.5rem;--cds-layout-03:2rem;--cds-layout-04:3rem;--cds-layout-05:4rem;--cds-layout-06:6rem;--cds-layout-07:10rem;--cds-container-01:1.5rem;--cds-container-02:2rem;--cds-container-03:2.5rem;--cds-container-04:3rem;--cds-container-05:4rem;--cds-size-xsmall:1.5rem;--cds-size-small:2rem;--cds-size-medium:2.5rem;--cds-size-large:3rem;--cds-size-xlarge:4rem;--cds-size-2XLarge:5rem;--cds-icon-size-01:1rem;--cds-icon-size-02:1.25rem}:host{--header-height:3.5rem;--header-content-max-width:none;--cool-gray-10:#f2f4f8;--cool-gray-20:#dde1e6;--cool-gray-30:#c1c7cd;--cool-gray-60:#697077;--cool-gray-80:#343a3f;--purple-70:#6929c4;--sidenav-item-height:3.5rem;--sidenav-item-height-short:2.8rem;--box-shadow:rgb(0 0 0 / 10%) 0 2px 3px 0;display:block;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif}:host(qiskit-ui-shell){margin-top:var(--header-height)}bx-header ~ bx-side-nav{height:calc(100% - var(--header-height));margin-top:var(--header-height)}bx-header{display:flex;justify-content:space-between;height:var(--header-height);border-color:var(--cds-border-subtle);background-color:var(--cds-ui-background);color:var(--cds-text-secondary)}bx-header svg.menu__account__icon{display:block;overflow:hidden;box-sizing:border-box;width:2rem;height:2rem;border:.125rem solid var(--cds-icon-on-color);border-radius:50%;fill:var(--cds-icon-on-color)}bx-header svg{width:100%;height:auto}bx-header .qiskit-header-content{display:flex;justify-content:space-between;width:100%;max-width:var(--header-content-max-width);margin-right:auto;margin-left:auto}bx-header-name::part(link){width:8.75rem;height:calc(var(--header-height) - 1px);fill:var(--cool-gray-80)}bx-header-nav{height:calc(var(--header-height) - 1px)}bx-header-nav::before,bx-header-nav::part(divider){display:none}bx-header-nav-item.qiskit-user-account-icon::part(link),bx-header-nav-item.qiskit-user-account-icon::part(link):focus,bx-header-nav-item.qiskit-user-account-icon::part(link):hover{background-color:var(--purple-70);color:var(--cds-ui-background)}bx-header-nav-item::part(link),bx-header-menu-item::part(link),qiskit-header-menu::part(trigger),qiskit-header-menu-mega::part(trigger){font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0;background:var(--cds-ui-background);color:var(--cds-text-secondary)}bx-header-nav-item::part(link):active,bx-header-nav-item::part(link):focus,bx-header-nav-item::part(link):hover,bx-header-menu-item::part(link):active,bx-header-menu-item::part(link):focus,bx-header-menu-item::part(link):hover,qiskit-header-menu::part(trigger):active,qiskit-header-menu::part(trigger):focus,qiskit-header-menu::part(trigger):hover,qiskit-header-menu-mega::part(trigger):active,qiskit-header-menu-mega::part(trigger):focus,qiskit-header-menu-mega::part(trigger):hover{background-color:var(--cds-ui-background);color:var(--cds-text-secondary)}bx-header-nav-item::part(link):hover,bx-header-menu-item::part(link):hover,qiskit-header-menu::part(trigger):hover,qiskit-header-menu-mega::part(trigger):hover{text-decoration:underline}bx-header-nav-item::part(link):focus,bx-header-menu-item::part(link):focus,qiskit-header-menu::part(trigger):focus,qiskit-header-menu-mega::part(trigger):focus{border-color:var(--cds-border-subtle)}:host(qiskit-header-menu)::part(trigger-icon){fill:var(--cds-text-secondary) !important}:host(qiskit-header-menu)::part(menu-body){box-shadow:var(--box-shadow)}:host(qiskit-header-menu) .bx--header__menu-title{background-color:var(--cds-ui-background);color:var(--cds-text-secondary)}:host(qiskit-header-menu) .bx--header__menu-title[aria-expanded=true]{background-color:var(--cool-gray-10)}bx-header-menu-item{height:3rem;background-color:var(--cds-ui-01);color:var(--cds-text-secondary)}bx-header-menu-item::part(link),bx-header-menu-item::part(link):focus,bx-header-menu-item::part(link):hover{background-color:var(--cool-gray-10)}:host(qiskit-header-menu-mega)::part(trigger-icon){fill:var(--cds-text-secondary) !important}:host(qiskit-header-menu-mega) .bx--header__menu-title{color:var(--cds-text-secondary)}:host(qiskit-header-menu-mega) .bx--header__menu-title[aria-expanded=true]{background-color:var(--cool-gray-10)}:host(qiskit-header-menu-mega) .bx--header__menu-title[aria-expanded=true]+.bx--header__menu{position:fixed;top:var(--header-height);bottom:auto;left:0;display:grid;grid-template-columns:repeat(6,1fr);width:100vw;height:auto;padding:var(--cds-spacing-05) var(--cds-spacing-03);background-color:var(--cool-gray-10);box-shadow:var(--box-shadow);transform:translateZ(0)}:host(qiskit-header-menu-item-mega){padding:0 var(--cds-spacing-04)}:host(qiskit-header-menu-item-mega) .qiskit-header-menu-item-mega-heading{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0;margin-bottom:var(--cds-spacing-04);color:var(--cds-text-primary)}:host(qiskit-header-menu-item-mega) .qiskit-header-menu-item-mega-list{font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}:host(qiskit-header-menu-item-mega) .qiskit-header-menu-item-mega-list li{margin-bottom:var(--cds-spacing-03)}:host(qiskit-header-menu-item-mega) .qiskit-header-menu-item-mega-list a{color:var(--cds-text-primary);text-decoration:none}:host(qiskit-header-menu-item-mega) .qiskit-header-menu-item-mega-list a:hover{text-decoration:underline}:host(qiskit-header-menu-item-mega) .qiskit-header-menu-item-mega-list a:focus{outline:2px solid var(--cds-border-subtle)}:host(qiskit-header-menu-button) .bx--header__menu-toggle,:host(qiskit-header-menu-button) .bx--header__menu-trigger{width:var(--header-height);height:var(--header-height);border:0}:host(qiskit-header-menu-button) .bx--header__menu-toggle>svg,:host(qiskit-header-menu-button) .bx--header__menu-trigger>svg{fill:var(--cds-text-secondary)}:host(qiskit-header-menu-button) .bx--header__menu-toggle:focus,:host(qiskit-header-menu-button) .bx--header__menu-toggle:active,:host(qiskit-header-menu-button) .bx--header__menu-toggle:hover,:host(qiskit-header-menu-button) .bx--header__menu-trigger:focus,:host(qiskit-header-menu-button) .bx--header__menu-trigger:active,:host(qiskit-header-menu-button) .bx--header__menu-trigger:hover{background-color:var(--cds-ui-01)}bx-side-nav{right:0;left:auto;box-shadow:0 .5rem .5rem rgba(0,0,0,0.25)}@media(max-width:41.98rem){bx-side-nav[expanded]{width:100%;max-width:none}}bx-side-nav svg.menu__account__icon{display:block;overflow:hidden;box-sizing:border-box;width:2rem;height:2rem;margin-right:var(--cds-spacing-03);border:.125rem solid var(--purple-70);border-radius:50%;fill:var(--purple-70)}bx-side-nav bx-side-nav-divider{margin-top:-1px;margin-bottom:-1px}bx-side-nav bx-side-nav-items{overflow-y:scroll;padding:0}bx-side-nav-link.qiskit-user-account-icon::part(link):hover,bx-side-nav-link.qiskit-user-account-icon::part(link){height:3rem;text-decoration-color:var(--purple-70)}bx-side-nav-link.qiskit-user-account-icon::part(title){display:flex;align-items:center;color:var(--purple-70)}bx-side-nav-link::part(link){min-height:var(--sidenav-item-height)}bx-side-nav-link::part(link):hover{text-decoration:underline;text-decoration-color:var(--cds-text-secondary)}bx-side-nav-link::part(link):focus{outline-color:var(--cds-border-subtle)}bx-side-nav-link::part(title){font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}bx-side-nav-menu::part(expando){font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0;min-height:var(--sidenav-item-height)}bx-side-nav-menu::part(expando):hover{background-color:transparent;text-decoration:underline;text-decoration-color:var(--cds-text-secondary)}bx-side-nav-menu::part(expando):focus{outline-color:var(--cds-border-subtle)}bx-side-nav-menu[expanded]:not(.qiskit-side-nav-submenu)::part(title){font-weight:500}bx-side-nav-menu.qiskit-side-nav-submenu::part(expando){min-height:var(--sidenav-item-height-short);background-color:var(--cool-gray-10)}bx-side-nav-menu-item::part(link){min-height:var(--sidenav-item-height-short) !important}bx-side-nav-menu-item::part(link):hover{text-decoration:underline;text-decoration-color:var(--cds-text-secondary)}bx-side-nav-menu-item::part(link):focus{outline-color:var(--cds-border-subtle)}bx-side-nav-menu-item::part(title){font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}bx-side-nav-menu-item.qiskit-nav-menu-item::part(link){background-color:var(--cool-gray-10) !important}bx-side-nav-menu-item.qiskit-nav-submenu-item{position:relative}bx-side-nav-menu-item.qiskit-nav-submenu-item::part(link){background-color:var(--cool-gray-20) !important}bx-side-nav-menu-item.qiskit-nav-submenu-item::part(link):focus{outline-color:var(--cool-gray-30)}bx-side-nav-menu-item.qiskit-nav-submenu-item::after{content:"";position:absolute;right:var(--cds-spacing-07);left:var(--cds-spacing-07);z-index:1;height:1px;background-color:var(--cool-gray-30)}bx-side-nav-menu-item.qiskit-nav-submenu-item:first-of-type{border-top:1px solid var(--cool-gray-30)}bx-side-nav-menu-item.qiskit-nav-submenu-item:last-of-type{border-bottom:1px solid var(--cool-gray-30)}@media(min-width:42rem){.qiskit-side-nav-footer{display:none}}.qiskit-side-nav-footer__social-container{margin:var(--cds-spacing-03) var(--cds-spacing-05)}.qiskit-side-nav-footer__social-icons{display:grid;grid-template-rows:1fr 1fr;grid-template-columns:25px 25px;grid-gap:var(--cds-spacing-02) var(--cds-spacing-05)}.qiskit-side-nav-footer__social-icons__icon{color:var(--cool-gray-60)}.qiskit-side-nav-footer__social-heading{font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px;margin-bottom:var(--cds-spacing-04);color:var(--cool-gray-60)}.qiskit-side-nav-footer__copyright{font-size:.75rem;font-weight:400;line-height:1.34;letter-spacing:.32px;padding:var(--cds-spacing-05);background-color:var(--cool-gray-10)}`;let Fi=class extends zi{};Fi.styles=[Di],Fi=t([ne("qiskit-header-menu")],Fi);let Xi=class extends ji{};Xi.styles=[Di],Xi=t([ne("qiskit-header-menu-button")],Xi);let Wi=class extends zi{};Wi.styles=[Di],Wi=t([ne("qiskit-header-menu-mega")],Wi);let Gi=class extends te{constructor(){super(...arguments),this.item={},this.parentLabel="",this._handleClick=e=>{this.dispatchEvent(new CustomEvent("on-click",{detail:{label:`${this.parentLabel}-${e.label}`,url:e.url},bubbles:!0,composed:!0}))}}render(){var e,t,i;return R` +
+

${null===(e=this.item)||void 0===e?void 0:e.label}

+
    + ${null===(i=null===(t=this.item)||void 0===t?void 0:t.children)||void 0===i?void 0:i.map((e=>R`
  • + + ${e.label} + +
  • `))} +
+
+ `}};Gi.styles=[Di],t([ae({type:Object}),i("design:type",Object)],Gi.prototype,"item",void 0),t([ae({type:String}),i("design:type",Object)],Gi.prototype,"parentLabel",void 0),Gi=t([ne("qiskit-header-menu-item-mega")],Gi);const Yi=R` + +`,Qi=R` + +`,Ji=R` + +`,Zi=R` + +`;var Ki;!function(e){e.DEFAULT="",e.HIDE_ACCOUNT="hide-account"}(Ki||(Ki={}));const en=[{icon:Ji,label:"Twitter",url:"https://twitter.com/Qiskit"},{icon:Qi,label:"Slack",url:"https://qisk.it/join-slack"},{icon:Zi,label:"YouTube",url:"https://youtube.com/Qiskit"},{icon:Yi,label:"Medium",url:"https://medium.com/Qiskit"}],tn=[{label:"Documentation",children:[{label:"Home",url:"https://qiskit.org/documentation/"},{label:"Installation",url:"https://qiskit.org/documentation/getting_started.html"},{label:"Tutorials",url:"https://qiskit.org/documentation/tutorials.html"},{label:"API Reference",url:"https://qiskit.org/documentation/apidoc/index.html"},{label:"Contribute",url:"https://qiskit.org/documentation/contributing_to_qiskit.html"}]},{label:"Providers",url:"https://qiskit.org/providers/"},{label:"Community",children:[{label:"Events",url:"https://qiskit.org/events/"},{label:"Advocates",url:"https://qiskit.org/advocates/"},{label:"Ecosystem",url:"https://qiskit.org/ecosystem/"}]},{label:"Learn",url:"https://qiskit.org/learn/"}],nn=R` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`,sn=R` + +`,an="https://qiskit.org"===window.origin?"https://learn.qiskit.org":window.origin;e.QiskitUIShell=class extends te{constructor(){super(...arguments),this.variant=Ki.DEFAULT,this._NAV_ITEMS=tn,this._SOCIAL_LINKS=en,this._handleClick=(e,t)=>{const i=t?`${t}-${e.label}`:e.label;this.dispatchEvent(new CustomEvent("on-click",{detail:{label:i,url:e.url},bubbles:!0,composed:!0}))}}render(){return R` + +
+ + ${nn} + + + ${this._getHeaderItems()} + ${this.variant===Ki.HIDE_ACCOUNT?null:this._getAccountHeaderNavItem()} + + + +
+
+ + + + ${this._getSideNavItems()} + ${this.variant===Ki.HIDE_ACCOUNT?null:this._getAccountSideNavLink()} + + + + `}_getHeaderItems(){return this._NAV_ITEMS.map((e=>e.children?this._getHeaderMenu(e):this._getHeaderNavItem(e)))}_getHeaderNavItem(e){return R` + + ${null==e?void 0:e.label} + + `}_getHeaderMenu(e){var t;return R` + + ${null===(t=null==e?void 0:e.children)||void 0===t?void 0:t.map((t=>this._getHeaderMenuItem(t,null==e?void 0:e.label)))} + + `}_getHeaderMenuItem(e,t){return R` + + ${null==e?void 0:e.label} + + `}_getAccountHeaderNavItem(){return R` + + `}_getSideNavItems(){return this._NAV_ITEMS.map((e=>(null==e?void 0:e.children)?this._getSideNavMenu(e):this._getSideNavLink(e)))}_getSideNavLink(e){return R` + + ${null==e?void 0:e.label} + + + `}_getSideNavMenu(e){var t;return R` + + ${null===(t=null==e?void 0:e.children)||void 0===t?void 0:t.map((t=>this._getSideNavMenuItem(t,null==e?void 0:e.label)))} + + + `}_getSideNavMenuItem(e,t,i=!1){const n=i?"qiskit-nav-submenu-item":"qiskit-nav-menu-item";return R` + + ${null==e?void 0:e.label} + + `}_getAccountSideNavLink(){return R` + + `}_getSocialLinks(){return this._SOCIAL_LINKS.map((e=>R` + + `))}},e.QiskitUIShell.styles=[Di],t([ae({type:String}),i("design:type",String)],e.QiskitUIShell.prototype,"variant",void 0),e.QiskitUIShell=t([ne("qiskit-ui-shell")],e.QiskitUIShell)}({}); diff --git a/_static/jupyter-sphinx.css b/_static/jupyter-sphinx.css new file mode 100644 index 000000000..87724dfcc --- /dev/null +++ b/_static/jupyter-sphinx.css @@ -0,0 +1,123 @@ +/* Stylesheet for jupyter-sphinx + +These styles mimic the Jupyter HTML styles. + +The default CSS (Cascading Style Sheet) class structure of jupyter-sphinx +is the following: + +jupyter_container + code_cell (optional) + stderr (optional) + output (optional) + +If the code_cell is not displayed, then there is not a jupyter_container, and +the output is provided without CSS. + +This stylesheet attempts to override the defaults of all packaged Sphinx themes +to display jupter-sphinx cells in a Jupyter-like style. + +If you want to adjust the styles, add additional custom CSS to override these +styles. + +After a build, this stylesheet is loaded from ./_static/jupyter-sphinx.css . + +*/ + + +div.jupyter_container { + padding: .4em; + margin: 0 0 .4em 0; + background-color: #FFFF; + border: 1px solid #CCC; + -moz-box-shadow: 2px 2px 4px rgba(87, 87, 87, 0.2); + -webkit-box-shadow: 2px 2px 4px rgba(87, 87, 87, 0.2); + box-shadow: 2px 2px 4px rgba(87, 87, 87, 0.2); +} +.jupyter_container div.code_cell { + border: 1px solid #cfcfcf; + border-radius: 2px; + background-color: #f7f7f7; + margin: 0 0; + overflow: auto; +} + +.jupyter_container div.code_cell pre { + padding: 4px; + margin: 0 0; + background-color: #f7f7f7; + border: none; + background: none; + box-shadow: none; + -webkit-box-shadow: none; /* for nature */ + -moz-box-shadow: none; /* for nature */ +} + +.jupyter_container div.code_cell * { + margin: 0 0; +} +div.jupyter_container div.highlight { + background-color: #f7f7f7; /* for haiku */ +} +div.jupyter_container { + padding: 0; + margin: 0; +} + +/* Prevent alabaster breaking highlight alignment */ +div.jupyter_container .hll { + padding: 0; + margin: 0; +} + +/* overrides for sphinx_rtd_theme */ +.rst-content .jupyter_container div[class^='highlight'], +.document .jupyter_container div[class^='highlight'], +.rst-content .jupyter_container pre.literal-block { + border:none; + margin: 0; + padding: 0; + background: none; + padding: 3px; + background-color: transparent; +} +/* restore Mathjax CSS, as it assumes a vertical margin. */ +.jupyter_container .MathJax_Display { + margin: 1em 0em; + text-align: center; +} +.jupyter_container .stderr { + background-color: #FCC; + border: none; + padding: 3px; +} +.jupyter_container .output { + border: none; +} +.jupyter_container div.output pre { + background-color: white; + background: none; + padding: 4px; + border: none; + box-shadow: none; + -webkit-box-shadow: none; /* for nature */ + -moz-box-shadow: none; /* for nature */ +} +.jupyter_container .code_cell td.linenos { + text-align: right; + padding: 4px 4px 4px 8px; + border-right: 1px solid #cfcfcf; + color: #999; +} +.jupyter_container .output .highlight { + background-color: #ffffff; +} +/* combine sequential jupyter cells, + by moving sequential ones up higher on y-axis */ +div.jupyter_container + div.jupyter_container { + margin: -.5em 0 .4em 0; +} + +/* Fix for sphinx_rtd_theme spacing after jupyter_container #91 */ +.rst-content .jupyter_container { + margin: 0 0 24px 0; +} diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 000000000..250f5665f --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 000000000..d96755fda Binary files /dev/null and b/_static/minus.png differ diff --git a/_static/nbsphinx-broken-thumbnail.svg b/_static/nbsphinx-broken-thumbnail.svg new file mode 100644 index 000000000..4919ca882 --- /dev/null +++ b/_static/nbsphinx-broken-thumbnail.svg @@ -0,0 +1,9 @@ + + + + diff --git a/_static/nbsphinx-code-cells.css b/_static/nbsphinx-code-cells.css new file mode 100644 index 000000000..a3fb27c30 --- /dev/null +++ b/_static/nbsphinx-code-cells.css @@ -0,0 +1,259 @@ +/* remove conflicting styling from Sphinx themes */ +div.nbinput.container div.prompt *, +div.nboutput.container div.prompt *, +div.nbinput.container div.input_area pre, +div.nboutput.container div.output_area pre, +div.nbinput.container div.input_area .highlight, +div.nboutput.container div.output_area .highlight { + border: none; + padding: 0; + margin: 0; + box-shadow: none; +} + +div.nbinput.container > div[class*=highlight], +div.nboutput.container > div[class*=highlight] { + margin: 0; +} + +div.nbinput.container div.prompt *, +div.nboutput.container div.prompt * { + background: none; +} + +div.nboutput.container div.output_area .highlight, +div.nboutput.container div.output_area pre { + background: unset; +} + +div.nboutput.container div.output_area div.highlight { + color: unset; /* override Pygments text color */ +} + +/* avoid gaps between output lines */ +div.nboutput.container div[class*=highlight] pre { + line-height: normal; +} + +/* input/output containers */ +div.nbinput.container, +div.nboutput.container { + display: -webkit-flex; + display: flex; + align-items: flex-start; + margin: 0; + width: 100%; +} +@media (max-width: 540px) { + div.nbinput.container, + div.nboutput.container { + flex-direction: column; + } +} + +/* input container */ +div.nbinput.container { + padding-top: 5px; +} + +/* last container */ +div.nblast.container { + padding-bottom: 5px; +} + +/* input prompt */ +div.nbinput.container div.prompt pre, +/* for sphinx_immaterial theme: */ +div.nbinput.container div.prompt pre > code { + color: #307FC1; +} + +/* output prompt */ +div.nboutput.container div.prompt pre, +/* for sphinx_immaterial theme: */ +div.nboutput.container div.prompt pre > code { + color: #BF5B3D; +} + +/* all prompts */ +div.nbinput.container div.prompt, +div.nboutput.container div.prompt { + width: 4.5ex; + padding-top: 5px; + position: relative; + user-select: none; +} + +div.nbinput.container div.prompt > div, +div.nboutput.container div.prompt > div { + position: absolute; + right: 0; + margin-right: 0.3ex; +} + +@media (max-width: 540px) { + div.nbinput.container div.prompt, + div.nboutput.container div.prompt { + width: unset; + text-align: left; + padding: 0.4em; + } + div.nboutput.container div.prompt.empty { + padding: 0; + } + + div.nbinput.container div.prompt > div, + div.nboutput.container div.prompt > div { + position: unset; + } +} + +/* disable scrollbars and line breaks on prompts */ +div.nbinput.container div.prompt pre, +div.nboutput.container div.prompt pre { + overflow: hidden; + white-space: pre; +} + +/* input/output area */ +div.nbinput.container div.input_area, +div.nboutput.container div.output_area { + -webkit-flex: 1; + flex: 1; + overflow: auto; +} +@media (max-width: 540px) { + div.nbinput.container div.input_area, + div.nboutput.container div.output_area { + width: 100%; + } +} + +/* input area */ +div.nbinput.container div.input_area { + border: 1px solid #e0e0e0; + border-radius: 2px; + /*background: #f5f5f5;*/ +} + +/* override MathJax center alignment in output cells */ +div.nboutput.container div[class*=MathJax] { + text-align: left !important; +} + +/* override sphinx.ext.imgmath center alignment in output cells */ +div.nboutput.container div.math p { + text-align: left; +} + +/* standard error */ +div.nboutput.container div.output_area.stderr { + background: #fdd; +} + +/* ANSI colors */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-default-inverse-fg { color: #FFFFFF; } +.ansi-default-inverse-bg { background-color: #000000; } + +.ansi-bold { font-weight: bold; } +.ansi-underline { text-decoration: underline; } + + +div.nbinput.container div.input_area div[class*=highlight] > pre, +div.nboutput.container div.output_area div[class*=highlight] > pre, +div.nboutput.container div.output_area div[class*=highlight].math, +div.nboutput.container div.output_area.rendered_html, +div.nboutput.container div.output_area > div.output_javascript, +div.nboutput.container div.output_area:not(.rendered_html) > img{ + padding: 5px; + margin: 0; +} + +/* fix copybtn overflow problem in chromium (needed for 'sphinx_copybutton') */ +div.nbinput.container div.input_area > div[class^='highlight'], +div.nboutput.container div.output_area > div[class^='highlight']{ + overflow-y: hidden; +} + +/* hide copy button on prompts for 'sphinx_copybutton' extension ... */ +.prompt .copybtn, +/* ... and 'sphinx_immaterial' theme */ +.prompt .md-clipboard.md-icon { + display: none; +} + +/* Some additional styling taken form the Jupyter notebook CSS */ +.jp-RenderedHTMLCommon table, +div.rendered_html table { + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 12px; + table-layout: fixed; +} +.jp-RenderedHTMLCommon thead, +div.rendered_html thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} +.jp-RenderedHTMLCommon tr, +.jp-RenderedHTMLCommon th, +.jp-RenderedHTMLCommon td, +div.rendered_html tr, +div.rendered_html th, +div.rendered_html td { + text-align: right; + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} +.jp-RenderedHTMLCommon th, +div.rendered_html th { + font-weight: bold; +} +.jp-RenderedHTMLCommon tbody tr:nth-child(odd), +div.rendered_html tbody tr:nth-child(odd) { + background: #f5f5f5; +} +.jp-RenderedHTMLCommon tbody tr:hover, +div.rendered_html tbody tr:hover { + background: rgba(66, 165, 245, 0.2); +} + diff --git a/_static/nbsphinx-gallery.css b/_static/nbsphinx-gallery.css new file mode 100644 index 000000000..365c27a96 --- /dev/null +++ b/_static/nbsphinx-gallery.css @@ -0,0 +1,31 @@ +.nbsphinx-gallery { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + gap: 5px; + margin-top: 1em; + margin-bottom: 1em; +} + +.nbsphinx-gallery > a { + padding: 5px; + border: 1px dotted currentColor; + border-radius: 2px; + text-align: center; +} + +.nbsphinx-gallery > a:hover { + border-style: solid; +} + +.nbsphinx-gallery img { + max-width: 100%; + max-height: 100%; +} + +.nbsphinx-gallery > a > div:first-child { + display: flex; + align-items: start; + justify-content: center; + height: 120px; + margin-bottom: 5px; +} diff --git a/_static/nbsphinx-no-thumbnail.svg b/_static/nbsphinx-no-thumbnail.svg new file mode 100644 index 000000000..9dca7588f --- /dev/null +++ b/_static/nbsphinx-no-thumbnail.svg @@ -0,0 +1,9 @@ + + + + diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 000000000..7107cec93 Binary files /dev/null and b/_static/plus.png differ diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 000000000..5e9f046b4 --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,249 @@ +.highlight pre { line-height: 125%; } +.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #ffffff; } +.highlight .c { color: #888888 } /* Comment */ +.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */ +.highlight .k { color: #008800; font-weight: bold } /* Keyword */ +.highlight .o { color: #333333 } /* Operator */ +.highlight .ch { color: #888888 } /* Comment.Hashbang */ +.highlight .cm { color: #888888 } /* Comment.Multiline */ +.highlight .cp { color: #557799 } /* Comment.Preproc */ +.highlight .cpf { color: #888888 } /* Comment.PreprocFile */ +.highlight .c1 { color: #888888 } /* Comment.Single */ +.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */ +.highlight .s { background-color: #fff0f0 } /* Literal.String */ +.highlight .na { color: #0000CC } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */ +.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */ +.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #007700 } /* Name.Tag */ +.highlight .nv { color: #996633 } /* Name.Variable */ +.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */ +.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */ +.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */ +.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ +.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */ +.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */ +.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */ +.highlight .sc { color: #0044DD } /* Literal.String.Char */ +.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */ +.highlight .sd { color: #DD4422 } /* Literal.String.Doc */ +.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */ +.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */ +.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */ +.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */ +.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */ +.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */ +.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */ +.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */ +.highlight .vc { color: #336699 } /* Name.Variable.Class */ +.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */ +.highlight .vi { color: #3333BB } /* Name.Variable.Instance */ +.highlight .vm { color: #996633 } /* Name.Variable.Magic */ +.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ +@media not print { +body[data-theme="dark"] .highlight pre { line-height: 125%; } +body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight .hll { background-color: #404040 } +body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 } +body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */ +body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */ +body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */ +body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */ +body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */ +body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */ +body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */ +body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */ +body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body[data-theme="dark"] .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */ +body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */ +body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */ +body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */ +body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */ +body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */ +body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */ +body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */ +body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */ +body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */ +body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */ +body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +@media (prefers-color-scheme: dark) { +body:not([data-theme="light"]) .highlight pre { line-height: 125%; } +body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight .hll { background-color: #404040 } +body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 } +body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */ +body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */ +body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */ +body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */ +body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */ +body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */ +body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */ +body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body:not([data-theme="light"]) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body:not([data-theme="light"]) .highlight .gd { color: #d22323 } /* Generic.Deleted */ +body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body:not([data-theme="light"]) .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body:not([data-theme="light"]) .highlight .gr { color: #d22323 } /* Generic.Error */ +body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */ +body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */ +body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body:not([data-theme="light"]) .highlight .gt { color: #d22323 } /* Generic.Traceback */ +body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */ +body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */ +body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */ +body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */ +body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */ +body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */ +body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */ +body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +} +} \ No newline at end of file diff --git a/_static/scripts/furo-extensions.js b/_static/scripts/furo-extensions.js new file mode 100644 index 000000000..e69de29bb diff --git a/_static/scripts/furo.js b/_static/scripts/furo.js new file mode 100644 index 000000000..32e7c05be --- /dev/null +++ b/_static/scripts/furo.js @@ -0,0 +1,3 @@ +/*! For license information please see furo.js.LICENSE.txt */ +(()=>{var t={212:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(212),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})(); +//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/_static/scripts/furo.js.LICENSE.txt b/_static/scripts/furo.js.LICENSE.txt new file mode 100644 index 000000000..1632189c7 --- /dev/null +++ b/_static/scripts/furo.js.LICENSE.txt @@ -0,0 +1,7 @@ +/*! + * gumshoejs v5.1.2 (patched by @pradyunsg) + * A simple, framework-agnostic scrollspy script. + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ diff --git a/_static/scripts/furo.js.map b/_static/scripts/furo.js.map new file mode 100644 index 000000000..7b7ddb113 --- /dev/null +++ b/_static/scripts/furo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/furo.js","mappings":"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","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 0.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/scripts/qiskit-sphinx-theme.js b/_static/scripts/qiskit-sphinx-theme.js new file mode 100644 index 000000000..c047a7a8d --- /dev/null +++ b/_static/scripts/qiskit-sphinx-theme.js @@ -0,0 +1,3 @@ +/*! For license information please see qiskit-sphinx-theme.js.LICENSE.txt */ +(()=>{var e={729:function(e,t,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(e){"use strict";var t={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(e,t,n){if(n.settings.events){var o=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t.dispatchEvent(o)}},o=function(e){var t=0;if(e.offsetParent)for(;e;)t+=e.offsetTop,e=e.offsetParent;return t>=0?t:0},r=function(e){e&&e.sort((function(e,t){return o(e.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(e,t){var n=e[e.length-1];if(function(e,t){return!(!s()||!c(e.content,t,!0))}(n,t))return n;for(var o=e.length-1;o>=0;o--)if(c(e[o].content,t))return e[o]},i=function(e,t){if(t.nested&&e.parentNode){var n=e.parentNode.closest("li");n&&(n.classList.remove(t.nestedClass),i(n,t))}},a=function(e,t){if(e){var o=e.nav.closest("li");o&&(o.classList.remove(t.navClass),e.content.classList.remove(t.contentClass),i(o,t),n("gumshoeDeactivate",o,{link:e.nav,content:e.content,settings:t}))}},u=function(e,t){if(t.nested){var n=e.parentNode.closest("li");n&&(n.classList.add(t.nestedClass),u(n,t))}};return function(o,c){var s,i,d,f,m,v={setup:function(){s=document.querySelectorAll(o),i=[],Array.prototype.forEach.call(s,(function(e){var t=document.getElementById(decodeURIComponent(e.hash.substr(1)));t&&i.push({nav:e,content:t})})),r(i)},detect:function(){var e=l(i,m);e?d&&e.content===d.content||(a(d,m),function(e,t){if(e){var o=e.nav.closest("li");o&&(o.classList.add(t.navClass),e.content.classList.add(t.contentClass),u(o,t),n("gumshoeActivate",o,{link:e.nav,content:e.content,settings:t}))}}(e,m),d=e):d&&(a(d,m),d=null)}},h=function(t){f&&e.cancelAnimationFrame(f),f=e.requestAnimationFrame(v.detect)},g=function(t){f&&e.cancelAnimationFrame(f),f=e.requestAnimationFrame((function(){r(i),v.detect()}))};return v.destroy=function(){d&&a(d,m),e.removeEventListener("scroll",h,!1),m.reflow&&e.removeEventListener("resize",g,!1),i=null,s=null,d=null,f=null,m=null},m=function(){var e={};return Array.prototype.forEach.call(arguments,(function(t){for(var n in t){if(!t.hasOwnProperty(n))return;e[n]=t[n]}})),e}(t,c||{}),v.setup(),v.detect(),e.addEventListener("scroll",h,!1),m.reflow&&e.addEventListener("resize",g,!1),v}}(r)}.apply(t,[]),void 0===o||(e.exports=o)}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var c=t[o]={exports:{}};return e[o].call(c.exports,c,c.exports,n),c.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e=n(729),t=n.n(e),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const e=localStorage.getItem("theme")||"auto";var t;"light"!==(t=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===e?"light":"light"==e?"dark":"auto":"auto"===e?"dark":"dark"==e?"light":"auto")&&"dark"!==t&&"auto"!==t&&(console.error(`Got invalid theme mode: ${t}. Resetting to auto.`),t="auto"),document.body.dataset.theme=t,localStorage.setItem("theme",t),console.log(`Changed to ${t} mode.`)}function i(){!function(){const e=document.getElementsByClassName("theme-toggle");Array.from(e).forEach((e=>{e.addEventListener("click",l)}))}(),function(){let e=0,t=!1;window.addEventListener("scroll",(function(n){e=window.scrollY,t||(window.requestAnimationFrame((function(){var n;n=e,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(e){ec&&document.documentElement.classList.remove("show-back-to-top"),c=e}(n),function(e){null!==o&&(0==e?o.scrollTo(0,0):Math.ceil(e)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),t=!1})),t=!0)})),window.scroll()}(),null!==o&&new(t())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let e=parseFloat(getComputedStyle(document.documentElement).fontSize);const t=document.querySelector("qiskit-ui-shell"),n=t&&"none"!==getComputedStyle(t).display?3.5*e:0;return r.getBoundingClientRect().height+.5*e+1+n}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),i()}))})()})(); +//# sourceMappingURL=qiskit-sphinx-theme.js.map \ No newline at end of file diff --git a/_static/scripts/qiskit-sphinx-theme.js.LICENSE.txt b/_static/scripts/qiskit-sphinx-theme.js.LICENSE.txt new file mode 100644 index 000000000..bbd6389ef --- /dev/null +++ b/_static/scripts/qiskit-sphinx-theme.js.LICENSE.txt @@ -0,0 +1,9 @@ +/*! + * gumshoejs v5.1.2 (patched by @pradyunsg) + * A simple, framework-agnostic scrollspy script. + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ + +/*! This file is vendored from Furo (created by Pradyun Gedam) and used under the MIT license. */ diff --git a/_static/scripts/qiskit-sphinx-theme.js.map b/_static/scripts/qiskit-sphinx-theme.js.map new file mode 100644 index 000000000..f9964313f --- /dev/null +++ b/_static/scripts/qiskit-sphinx-theme.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/qiskit-sphinx-theme.js","mappings":"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","sources":["webpack://qiskit_sphinx_theme/./src/qiskit_sphinx_theme/assets/scripts/gumshoe-patched.js","webpack://qiskit_sphinx_theme/webpack/bootstrap","webpack://qiskit_sphinx_theme/webpack/runtime/compat get default export","webpack://qiskit_sphinx_theme/webpack/runtime/define property getters","webpack://qiskit_sphinx_theme/webpack/runtime/global","webpack://qiskit_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://qiskit_sphinx_theme/./src/qiskit_sphinx_theme/assets/scripts/qiskit-sphinx-theme.js"],"sourcesContent":["/*! This file is vendored from Furo (created by Pradyun Gedam) and used under the MIT license. */\n/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/*! This file is vendored from Furo (created by Pradyun Gedam) and used under the MIT license. */\n// When making changes, surround it with `QISKIT CHANGE: start` and `QISKIT CHANGE: end` comments.\n\nimport Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n // QISKIT CHANGE: start. Add 3.5rem for the Qiskit top nav bar, if visible.\n // See _top-nav-bar.scss for where the value comes from.\n const topNavBar = document.querySelector('qiskit-ui-shell');\n const topNavBarHeight = (topNavBar && getComputedStyle(topNavBar).display !== 'none')\n ? 3.5 * rem\n : 0;\n return header.getBoundingClientRect().height + (0.5 * rem) + 1 + topNavBarHeight;\n // QISKIT CHANGE: end.\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","topNavBar","topNavBarHeight","display","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 000000000..97d56a74d --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,566 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = docUrlRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = docUrlRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/_static/skeleton.css b/_static/skeleton.css new file mode 100644 index 000000000..467c878c6 --- /dev/null +++ b/_static/skeleton.css @@ -0,0 +1,296 @@ +/* Some sane resets. */ +html { + height: 100%; +} + +body { + margin: 0; + min-height: 100%; +} + +/* All the flexbox magic! */ +body, +.sb-announcement, +.sb-content, +.sb-main, +.sb-container, +.sb-container__inner, +.sb-article-container, +.sb-footer-content, +.sb-header, +.sb-header-secondary, +.sb-footer { + display: flex; +} + +/* These order things vertically */ +body, +.sb-main, +.sb-article-container { + flex-direction: column; +} + +/* Put elements in the center */ +.sb-header, +.sb-header-secondary, +.sb-container, +.sb-content, +.sb-footer, +.sb-footer-content { + justify-content: center; +} +/* Put elements at the ends */ +.sb-article-container { + justify-content: space-between; +} + +/* These elements grow. */ +.sb-main, +.sb-content, +.sb-container, +article { + flex-grow: 1; +} + +/* Because padding making this wider is not fun */ +article { + box-sizing: border-box; +} + +/* The announcements element should never be wider than the page. */ +.sb-announcement { + max-width: 100%; +} + +.sb-sidebar-primary, +.sb-sidebar-secondary { + flex-shrink: 0; + width: 17rem; +} + +.sb-announcement__inner { + justify-content: center; + + box-sizing: border-box; + height: 3rem; + + overflow-x: auto; + white-space: nowrap; +} + +/* Sidebars, with checkbox-based toggle */ +.sb-sidebar-primary, +.sb-sidebar-secondary { + position: fixed; + height: 100%; + top: 0; +} + +.sb-sidebar-primary { + left: -17rem; + transition: left 250ms ease-in-out; +} +.sb-sidebar-secondary { + right: -17rem; + transition: right 250ms ease-in-out; +} + +.sb-sidebar-toggle { + display: none; +} +.sb-sidebar-overlay { + position: fixed; + top: 0; + width: 0; + height: 0; + + transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; + + opacity: 0; + background-color: rgba(0, 0, 0, 0.54); +} + +#sb-sidebar-toggle--primary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], +#sb-sidebar-toggle--secondary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { + width: 100%; + height: 100%; + opacity: 1; + transition: width 0ms ease, height 0ms ease, opacity 250ms ease; +} + +#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { + left: 0; +} +#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { + right: 0; +} + +/* Full-width mode */ +.drop-secondary-sidebar-for-full-width-content + .hide-when-secondary-sidebar-shown { + display: none !important; +} +.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { + display: none !important; +} + +/* Mobile views */ +.sb-page-width { + width: 100%; +} + +.sb-article-container, +.sb-footer-content__inner, +.drop-secondary-sidebar-for-full-width-content .sb-article, +.drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 100vw; +} + +.sb-article, +.match-content-width { + padding: 0 1rem; + box-sizing: border-box; +} + +@media (min-width: 32rem) { + .sb-article, + .match-content-width { + padding: 0 2rem; + } +} + +/* Tablet views */ +@media (min-width: 42rem) { + .sb-article-container { + width: auto; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 42rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 46rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 46rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 50rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 50rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Tablet views */ +@media (min-width: 59rem) { + .sb-sidebar-secondary { + position: static; + } + .hide-when-secondary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 63rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 67rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Desktop views */ +@media (min-width: 76rem) { + .sb-sidebar-primary { + position: static; + } + .hide-when-primary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} + +/* Full desktop views */ +@media (min-width: 80rem) { + .sb-article, + .match-content-width { + width: 46rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } +} + +@media (min-width: 84rem) { + .sb-article, + .match-content-width { + width: 50rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } +} + +@media (min-width: 88rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-page-width { + width: 88rem; + } +} diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 000000000..aae669d7e --- /dev/null +++ b/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/_static/styles/furo-extensions.css b/_static/styles/furo-extensions.css new file mode 100644 index 000000000..bc447f228 --- /dev/null +++ b/_static/styles/furo-extensions.css @@ -0,0 +1,2 @@ +#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} +/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo-extensions.css.map b/_static/styles/furo-extensions.css.map new file mode 100644 index 000000000..9ba5637f9 --- /dev/null +++ b/_static/styles/furo-extensions.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/furo.css b/_static/styles/furo.css new file mode 100644 index 000000000..3d29a218f --- /dev/null +++ b/_static/styles/furo.css @@ -0,0 +1,2 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#646776;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2962ff;--color-brand-content:#2a5adf;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link--hover:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link-underline--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#ffffffcc;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#2b8cee;--color-brand-content:#368ce2;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto,body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link);text-decoration-color:var(--color-link-underline--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{background:var(--color-background-primary);color:var(--color-foreground-primary);height:100%}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1rem;vertical-align:middle;width:1rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1rem;width:1rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg{color:inherit;height:1rem;width:1rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{fill:currentColor;display:inline-block;height:1rem;width:1rem}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:var(--header-height)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:3.5rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}.versionmodified{font-style:italic}div.deprecated p,div.versionadded p,div.versionchanged p{margin-bottom:.125rem;margin-top:.125rem}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>p,div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree .reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo.css.map b/_static/styles/furo.css.map new file mode 100644 index 000000000..d1dfb109d --- /dev/null +++ b/_static/styles/furo.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KAEE,6BAA8B,CAD9B,gBAEF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,gCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAOE,6BAEA,mBANA,qBAEA,sBACA,0BAFA,oBAHA,4BAOA,6BANA,mBAOA,CAEF,gBACE,aCPF,KCGE,mHAEA,wGAGA,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CChCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,ukBCYA,srCAZF,kaCVA,mLAOA,oTAWA,2UAaA,0CACA,gEACA,0CAGA,gEAUA,yCACA,+DAGA,4CACA,CACA,iEAGA,sGACA,uCACA,4DAGA,sCACA,2DAEA,4CACA,kEACA,oGACA,CAEA,0GACA,+CAGA,+MAOA,+EACA,wCAIA,4DACA,sEACA,kEACA,sEACA,gDAGA,+DACA,0CACA,gEACA,gGACA,CAGA,2DACA,qDAGA,0CACA,8CACA,oDACA,oDL7GF,iCAEA,iEAME,oCKyGA,yDAIA,sCACA,kCACA,sDAGA,0CACA,kEACA,oDAEA,sDAGA,oCACA,oEAIA,CAGA,yDAGA,qDACA,oDAGA,6DAIA,iEAGA,2DAEA,2DL9IE,4DAEA,gEAIF,gEKgGA,gFAIA,oNAOA,qDAEA,gFAIA,4DAIA,oEAMA,yEAIA,6DACA,0DAGA,uDAGA,qDAEA,wDLpII,6DAEA,yDACE,2DAMN,uCAIA,yCACE,8CAGF,sDMjDA,6DAKA,oCAIA,4CACA,kBAGF,sBAMA,2BAME,qCAGA,qCAEA,iCAEA,+BAEA,mCAEA,qCAIA,CACA,gCACA,gDAKA,kCAIA,6BAEA,0CAQA,kCAIF,8BAGE,8BACA,uCAGF,sCAKE,kCAEA,sDAGA,iCACE,CACA,2FAGA,gCACE,CACA,+DCzEJ,wCAEA,sBAEF,yDAEE,mCACA,wDAGA,2GAGA,wIACE,gDAMJ,kCAGE,6BACA,0CAGA,gEACA,8BACA,uCAKA,sCAIA,kCACA,sDACA,iCACA,sCAOA,sDAKE,gGAIE,+CAGN,sBAEE,yCAMA,0BAMA,yLAMA,aACA,MAEF,6BACE,2DAIF,wCAIE,kCAGA,SACA,kCAKA,mBAGA,CAJA,eACA,CAHF,gBAEE,CAWA,mBACA,mBACA,mDAGA,YACA,CACA,kBACA,CAEE,kBAKJ,OAPE,kBAQA,CADF,GACE,iCACA,wCAEA,wBACA,aACA,CAFA,WAEA,GACA,oBACA,CAFA,gBAEA,aACE,+CAIF,UAJE,kCAIF,WACA,iBACA,GAGA,uBACE,CAJF,yBAGA,CACE,iDACA,uCAEA,yDACE,cACA,wDAKN,yDAIE,uBAEF,kBACE,uBAEA,kDAIA,0DAGA,CAHA,oBAGA,0GAYA,aAEA,CAHA,YAGA,4HAKF,+CAGE,sBAEF,WAKE,0CAEA,CALA,qCAGA,CAJA,WAOA,SAIA,2CAJA,qCAIA,CACE,wBACA,OACA,YAEJ,gBACE,gBAIA,+CAKF,CAGE,kDAGA,CANF,8BAGE,CAGA,YAEA,CAdF,2BACE,CAHA,UAEF,CAYE,UAEA,CACA,0CACF,iEAOE,iCACA,8BAGA,wCAIA,wBAKE,0CAKF,CARE,6DAGA,CALF,qBAEE,CASA,YACA,yBAGA,CAEE,cAKN,CAPI,sBAOJ,gCAGE,qBAEA,WACA,aACA,sCAEA,mBACA,6BAGA,uEADA,qBACA,6BAIA,yBACA,qCAEE,UAEA,YACA,sBAEF,8BAGA,CAPE,aACA,WAMF,4BACE,sBACA,WAMJ,uBACE,cAYE,mBAXA,qDAKA,qCAGA,CAEA,YACA,CAHA,2BAEA,CACA,oCAEA,4CACA,uBAIA,oCAEJ,CAFI,cAIF,iBACE,CAHJ,kBAGI,yBAEA,oCAIA,qDAMF,mEAEA,CACE,8CAKA,gCAEA,qCAGA,oCAGE,sBACA,CAJF,WAEE,CAFF,eAEE,SAEA,mBACA,qCACE,aACA,CAFF,YADA,qBACA,WAEE,sBACA,kEAEN,2BAEE,iDAKA,uCAGF,CACE,0DAKA,kBACF,CAFE,sBAGA,mBACA,0BAEJ,yBAII,aADA,WACA,CAMF,UAFE,kBAEF,CAJF,gBACE,CAHE,iBAMF,6CC9ZF,yBACE,WACA,iBAEA,aAFA,iBAEA,6BAEA,kCACA,mBAKA,gCAGA,CARA,QAEA,CAGA,UALA,qBAEA,qDAGA,CALA,OAQA,4BACE,cAGF,2BACE,gCAEJ,CAHE,UAGF,8CAGE,CAHF,UAGE,wCAGA,qBACA,CAFA,UAEA,6CAGA,yCAIA,sBAHA,UAGA,kCACE,OACA,CAFF,KAEE,cAQF,0CACE,CAFF,kBACA,CACE,wEACA,CARA,YACA,CAKF,mBAFF,OAII,eACA,CAJF,iCAJE,cAGJ,CANI,oBAEA,CAKF,SAIE,2BADA,UACA,kBAGF,sCACA,CAFF,WACE,WACA,qCACE,gCACA,2EACA,sDAKJ,aACE,mDAII,CAJJ,6CAII,kEACA,iBACE,iDACA,+CACE,aACA,WADA,+BACA,uEANN,YACE,mDAEE,mBADF,0CACE,CADF,qBACE,0DACA,YACE,4DACA,sEANN,YACE,8CACA,kBADA,UACA,2CACE,2EACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAKA,oCAEA,yDAEE,gEAKF,+CC5FA,0EAGE,CACA,qDCLJ,+DAIE,sCAIA,kEACE,yBACA,2FAMA,gBACA,yGCbF,mBAOA,2MAIA,4HAYA,0DACE,8GAYF,8HAQE,mBAEA,6HAOF,YAGA,mIAME,eACA,CAFF,YAEE,4FAMJ,8BAEE,uBAYA,sCAEE,CAJF,oBAEA,CARA,wCAEA,CAHA,8BACA,CAFA,eACA,CAGA,wCAEA,CAEA,mDAIE,kCACE,6BACA,4CAKJ,kDAIA,eACE,aAGF,8BACE,uDACA,sCACA,cAEA,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","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto\n display: block\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #646776; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2962ff;\n --color-brand-content: #2a5adf;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link-underline--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #ffffffcc; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #2b8cee;\n --color-brand-content: #368ce2;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: 1rem\n width: 1rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1rem\n width: 1rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page svg\n color: inherit\n height: 1rem\n width: 1rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: var(--header-height)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 3.5rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\n.versionmodified\n font-style: italic\ndiv.versionadded, div.versionchanged, div.deprecated\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > p,\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 0.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(0.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(0.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the