Skip to content

Solving MaxCut with QAOA

This tutorial shows how to solve the maximum cut (MaxCut) combinatorial optimization problem on a graph using the Quantum Approximate Optimization Algorithm (QAOA), first introduced by Farhi et al. in 2014 1.

Given an arbitrary graph, the MaxCut problem consists in finding a graph cut which partitions the nodes into two disjoint sets, such that the number of edges in the cut is maximized. This is a very common combinatorial optimization problem which is computationally hard.

The graph used for this tutorial is a randomly generated using the networkx library with a \(0.5\) probability of having an edge between two arbitrary nodes.

import numpy as np
import networkx as nx
import matplotlib.pyplot as plt

# ensure reproducibility
seed = 10
np.random.seed(seed)

n_nodes = 8
edge_prob = 0.5
graph = nx.gnp_random_graph(n_nodes, edge_prob)

nx.draw(graph)
2023-11-21T16:26:27.129293 image/svg+xml Matplotlib v3.7.4, https://matplotlib.org/

The goal of the MaxCut algorithm is to maximize the following cost function:

\[\mathcal{C}(p) = \sum_{\alpha}^m \mathcal{C}_{\alpha}(p)\]

where \(p\) is the given partition of the graph, \(\alpha\) is an index over the edges and \(\mathcal{C}_{\alpha}(p)\) is written such that if the nodes connected by the \(\alpha\) edge are in the same set, it returns \(0\), otherwise it returns \(1\).

The QAOA quantum circuit

This problem can be solved by using a parametrized quantum circuit with the QAOA algorithm. This requires a circuit with two main components:

  • the cost component: a circuit generated by a diagonal Hamiltonian which encodes the cost function described above into a quantum circuit.
  • the mixing component: a simple set of single-qubit rotations with adjustable angles which are tuned during the classical optimization loop to minimize the cost

Below, the QAOA quantum circuit with the cost and mixing components is defined using qadence operations. The cost component of each layer of the circuit is decomposed into digital single and two-qubits operations via the .digital_decomposition() method. The decomposition is exact since the Hamiltonian generator is diagonal.

from qadence import Zero, I, HamEvo, tag, kron, chain, QuantumCircuit, RX, Z

# generators associated with the edges of the given graph
zz_ops = [kron(Z(edge[0]), Z(edge[1])) for edge in graph.edges()]

n_qubits = graph.number_of_nodes()
n_layers = 2

cost_ham = Zero()
for op in zz_ops:
    cost_ham += 0.5 * op
cost_ham = 0.5 * kron(I(i) for i in range(n_qubits)) - cost_ham

layers = []
for layer in range(n_layers):

    # cost layer with digital decomposition
    cost_layer = HamEvo(cost_ham, f"g{layer}").digital_decomposition()
    cost_layer = tag(cost_layer, "cost")

    # mixing layer with single qubit rotations
    mixing_layer = kron(RX(i, f"b{layer}{i}") for i in range(n_qubits))
    mixing_layer = tag(mixing_layer, "mixing")

    # putting all together in a single ChainBlock
    layers.append(chain(cost_layer, mixing_layer))

final_b = chain(*layers)

circuit = QuantumCircuit(n_qubits, final_b)
%3 cluster_d5b333536c8a48239091cde188ecaff6 mixing cluster_49903ebc94024c2c8184236a03735fae cost cluster_955054a9fd214d57950eb138759c851b mixing cluster_f622f90b08e14acea2cf9c3dba9aa77a cost 4bf2978370fa44b4934d4df668d9e3d0 0 0f78d014664d4272a486fd4ec001cca7 4bf2978370fa44b4934d4df668d9e3d0--0f78d014664d4272a486fd4ec001cca7 2a725f96e813448899c1269405c471bd 1 40941c1446fc4a2191f8a5121467943c 0f78d014664d4272a486fd4ec001cca7--40941c1446fc4a2191f8a5121467943c 85d2cf90d21b4b96868758336966f71f 40941c1446fc4a2191f8a5121467943c--85d2cf90d21b4b96868758336966f71f aa368d3aa0b447cd9e04dbfda25bb07f 85d2cf90d21b4b96868758336966f71f--aa368d3aa0b447cd9e04dbfda25bb07f c1550f110975496d8fb47d3be5505a4b aa368d3aa0b447cd9e04dbfda25bb07f--c1550f110975496d8fb47d3be5505a4b 58d8dfc34a4a4e038af830b8d82ebdf2 c1550f110975496d8fb47d3be5505a4b--58d8dfc34a4a4e038af830b8d82ebdf2 d35efee7243449f696d05364d294f624 58d8dfc34a4a4e038af830b8d82ebdf2--d35efee7243449f696d05364d294f624 aff531fa06b74dd7b1a72a44cc580275 d35efee7243449f696d05364d294f624--aff531fa06b74dd7b1a72a44cc580275 768c8bd92f2d4b5284db088c2373601a aff531fa06b74dd7b1a72a44cc580275--768c8bd92f2d4b5284db088c2373601a e57b57566f0148448377486a34d2b6de 768c8bd92f2d4b5284db088c2373601a--e57b57566f0148448377486a34d2b6de c90cfe35efb6493abee7a43d7a4df989 e57b57566f0148448377486a34d2b6de--c90cfe35efb6493abee7a43d7a4df989 4aa9ac101dff49279656d9889d8facaa c90cfe35efb6493abee7a43d7a4df989--4aa9ac101dff49279656d9889d8facaa e34e08001b764526b0ca9c82b238c2d2 4aa9ac101dff49279656d9889d8facaa--e34e08001b764526b0ca9c82b238c2d2 f273a29e4e7445f58d4ff8c4538ec547 e34e08001b764526b0ca9c82b238c2d2--f273a29e4e7445f58d4ff8c4538ec547 a07f2c9fd82e419f9a157c2c57ea07d5 f273a29e4e7445f58d4ff8c4538ec547--a07f2c9fd82e419f9a157c2c57ea07d5 a64b298098824e41b09da0ac86d468d2 a07f2c9fd82e419f9a157c2c57ea07d5--a64b298098824e41b09da0ac86d468d2 0e8e968190b64d84a68fb4759d590139 a64b298098824e41b09da0ac86d468d2--0e8e968190b64d84a68fb4759d590139 6801f83fe5b3475590dd3707ff150cf2 0e8e968190b64d84a68fb4759d590139--6801f83fe5b3475590dd3707ff150cf2 7fdf84a8fe2841518f97059fb4189694 6801f83fe5b3475590dd3707ff150cf2--7fdf84a8fe2841518f97059fb4189694 3f6bdee69a78412da1b30cf03f1288e2 7fdf84a8fe2841518f97059fb4189694--3f6bdee69a78412da1b30cf03f1288e2 0e8a05a64a8d46ee9a04a896dd49a68d 3f6bdee69a78412da1b30cf03f1288e2--0e8a05a64a8d46ee9a04a896dd49a68d 0401911687a949ca87d97ec722b3780b 0e8a05a64a8d46ee9a04a896dd49a68d--0401911687a949ca87d97ec722b3780b 751f722e61e449b6bc95921a778cf2f2 0401911687a949ca87d97ec722b3780b--751f722e61e449b6bc95921a778cf2f2 8d60d759252f44cca5bd160a98487d9b 751f722e61e449b6bc95921a778cf2f2--8d60d759252f44cca5bd160a98487d9b b261d6e769ca4d70a9d1e278cfa24a9e 8d60d759252f44cca5bd160a98487d9b--b261d6e769ca4d70a9d1e278cfa24a9e 479ef513fbfc4891bc2de98485e50261 b261d6e769ca4d70a9d1e278cfa24a9e--479ef513fbfc4891bc2de98485e50261 d3eed70fe106440e9dfe4aae8fabc390 479ef513fbfc4891bc2de98485e50261--d3eed70fe106440e9dfe4aae8fabc390 9d9387abc55141afb2c01b6beda7a727 d3eed70fe106440e9dfe4aae8fabc390--9d9387abc55141afb2c01b6beda7a727 f92528859c7b454eb76650995f85dc92 9d9387abc55141afb2c01b6beda7a727--f92528859c7b454eb76650995f85dc92 7c74bf26ca3d4c5da0f44dfed1ea312c f92528859c7b454eb76650995f85dc92--7c74bf26ca3d4c5da0f44dfed1ea312c 0508cad9d2b041c4b5ac798f3817b549 7c74bf26ca3d4c5da0f44dfed1ea312c--0508cad9d2b041c4b5ac798f3817b549 2a0dbf748f2a465b8b5a02268858660c 0508cad9d2b041c4b5ac798f3817b549--2a0dbf748f2a465b8b5a02268858660c 327ccc4aea164959a5390b0eb2d9904f 2a0dbf748f2a465b8b5a02268858660c--327ccc4aea164959a5390b0eb2d9904f f3c06a1c71874b0a90b86315c0f16dcc 327ccc4aea164959a5390b0eb2d9904f--f3c06a1c71874b0a90b86315c0f16dcc 18800c4114714fd193266418172c02ea f3c06a1c71874b0a90b86315c0f16dcc--18800c4114714fd193266418172c02ea 0ca42f0a0821423fabb4868e259edd54 18800c4114714fd193266418172c02ea--0ca42f0a0821423fabb4868e259edd54 ea06f12eb8934661921d28db450e82f4 0ca42f0a0821423fabb4868e259edd54--ea06f12eb8934661921d28db450e82f4 3a2af9866bf948918c73e407ddf6fb0f ea06f12eb8934661921d28db450e82f4--3a2af9866bf948918c73e407ddf6fb0f 4876826ed9dd4ed083585bd17dc2dc38 3a2af9866bf948918c73e407ddf6fb0f--4876826ed9dd4ed083585bd17dc2dc38 ccc228f5a79740de979cafece7dc3906 4876826ed9dd4ed083585bd17dc2dc38--ccc228f5a79740de979cafece7dc3906 21865d58579543ef8c0f48f4c7f74bc3 ccc228f5a79740de979cafece7dc3906--21865d58579543ef8c0f48f4c7f74bc3 58a48c4ce8f7404b8c21d0e3039f7fd6 21865d58579543ef8c0f48f4c7f74bc3--58a48c4ce8f7404b8c21d0e3039f7fd6 c7a30ecf7ec74877ab08e0fcdf00f03b 58a48c4ce8f7404b8c21d0e3039f7fd6--c7a30ecf7ec74877ab08e0fcdf00f03b ea10e46d08854d6389909f9231233142 c7a30ecf7ec74877ab08e0fcdf00f03b--ea10e46d08854d6389909f9231233142 39552ec29dc2421488f2f0c216f87b76 ea10e46d08854d6389909f9231233142--39552ec29dc2421488f2f0c216f87b76 ca22ee6544964db49ae89317e74edb3a 39552ec29dc2421488f2f0c216f87b76--ca22ee6544964db49ae89317e74edb3a 0bb261a8cf2c4e53b80841f423fe258b ca22ee6544964db49ae89317e74edb3a--0bb261a8cf2c4e53b80841f423fe258b 4152bace3dda4931847d8d00c430fb33 RX(b00) 0bb261a8cf2c4e53b80841f423fe258b--4152bace3dda4931847d8d00c430fb33 75ad6fcea40e4a13b7e5eaf36da9d222 4152bace3dda4931847d8d00c430fb33--75ad6fcea40e4a13b7e5eaf36da9d222 6ec6671013834587807fc415ce0de63b 75ad6fcea40e4a13b7e5eaf36da9d222--6ec6671013834587807fc415ce0de63b 84da643c9d2142809ef79924fbf9bebc 6ec6671013834587807fc415ce0de63b--84da643c9d2142809ef79924fbf9bebc f8b11d6843944cb6b625ba324bea5430 84da643c9d2142809ef79924fbf9bebc--f8b11d6843944cb6b625ba324bea5430 1c692b36e37e448a955f250212637697 f8b11d6843944cb6b625ba324bea5430--1c692b36e37e448a955f250212637697 5ad61ae796e8459e9afc94f7df87e096 1c692b36e37e448a955f250212637697--5ad61ae796e8459e9afc94f7df87e096 bec6cd58132946c0897bd9796a079060 5ad61ae796e8459e9afc94f7df87e096--bec6cd58132946c0897bd9796a079060 4bc64290d07a40419d13976c5da25ef6 bec6cd58132946c0897bd9796a079060--4bc64290d07a40419d13976c5da25ef6 f03100b56ae640fa9f26ae7230d0deda 4bc64290d07a40419d13976c5da25ef6--f03100b56ae640fa9f26ae7230d0deda 9b3490b284d64a4489563cbc4f0b98f0 f03100b56ae640fa9f26ae7230d0deda--9b3490b284d64a4489563cbc4f0b98f0 51e9b30e0c1a44cab4cd8edb3c71cb8b 9b3490b284d64a4489563cbc4f0b98f0--51e9b30e0c1a44cab4cd8edb3c71cb8b 5d07e41fecad4dac99a33a116d5d0866 51e9b30e0c1a44cab4cd8edb3c71cb8b--5d07e41fecad4dac99a33a116d5d0866 70ae536d61a247768640163b384a932c 5d07e41fecad4dac99a33a116d5d0866--70ae536d61a247768640163b384a932c ab505dc899cb445490d0ac128a45fc40 70ae536d61a247768640163b384a932c--ab505dc899cb445490d0ac128a45fc40 8b369e86d2d648f79a029fccb68db10d ab505dc899cb445490d0ac128a45fc40--8b369e86d2d648f79a029fccb68db10d 6e5e250c5fe247a4a121b19fe28616b2 8b369e86d2d648f79a029fccb68db10d--6e5e250c5fe247a4a121b19fe28616b2 7ac39b543de749d8b6266e1e65392049 6e5e250c5fe247a4a121b19fe28616b2--7ac39b543de749d8b6266e1e65392049 57019ce0d7c44d7387b0503d99132d5b 7ac39b543de749d8b6266e1e65392049--57019ce0d7c44d7387b0503d99132d5b da8ff20fe2034f7581da0987a60b3bf6 57019ce0d7c44d7387b0503d99132d5b--da8ff20fe2034f7581da0987a60b3bf6 84adcc3efed3469abd86e032e1ffbb95 da8ff20fe2034f7581da0987a60b3bf6--84adcc3efed3469abd86e032e1ffbb95 41249b0e91f24071b52cc4f97d6e5cce 84adcc3efed3469abd86e032e1ffbb95--41249b0e91f24071b52cc4f97d6e5cce 520513530feb431f8509dd77779089e6 41249b0e91f24071b52cc4f97d6e5cce--520513530feb431f8509dd77779089e6 579aa104317c46afb61dcdb7e4d1b994 520513530feb431f8509dd77779089e6--579aa104317c46afb61dcdb7e4d1b994 a5e1ccc5c47446928cc236a878aa18eb 579aa104317c46afb61dcdb7e4d1b994--a5e1ccc5c47446928cc236a878aa18eb ff3f9067842d48b4b66eda1084e0a542 a5e1ccc5c47446928cc236a878aa18eb--ff3f9067842d48b4b66eda1084e0a542 98bee9e95f1945c6bd65e4ddae3910f2 ff3f9067842d48b4b66eda1084e0a542--98bee9e95f1945c6bd65e4ddae3910f2 b204bc487f1f4942a962f49ba4cf8194 98bee9e95f1945c6bd65e4ddae3910f2--b204bc487f1f4942a962f49ba4cf8194 a5a612a140b44d4cbf040916f65536ad b204bc487f1f4942a962f49ba4cf8194--a5a612a140b44d4cbf040916f65536ad 47edb78c509244bebc8a077361e444e0 a5a612a140b44d4cbf040916f65536ad--47edb78c509244bebc8a077361e444e0 705f6395bf9f48fd89a91fff66e35594 47edb78c509244bebc8a077361e444e0--705f6395bf9f48fd89a91fff66e35594 71f1f9ad0062412cae52111044fe3ce5 705f6395bf9f48fd89a91fff66e35594--71f1f9ad0062412cae52111044fe3ce5 f90d717dbed445e581ea2069ea661d40 71f1f9ad0062412cae52111044fe3ce5--f90d717dbed445e581ea2069ea661d40 b26409c51e64491cac67b3b41c17a749 f90d717dbed445e581ea2069ea661d40--b26409c51e64491cac67b3b41c17a749 a5ab3aa06e4c4216973b8fadbb2e8cfb b26409c51e64491cac67b3b41c17a749--a5ab3aa06e4c4216973b8fadbb2e8cfb bef02f3d1e0f4506b46085fca7126114 a5ab3aa06e4c4216973b8fadbb2e8cfb--bef02f3d1e0f4506b46085fca7126114 8513066ab5784cbe99ec6d74ff525228 bef02f3d1e0f4506b46085fca7126114--8513066ab5784cbe99ec6d74ff525228 39855c6b96bc4aee904a825198e27fcf 8513066ab5784cbe99ec6d74ff525228--39855c6b96bc4aee904a825198e27fcf a594ae4809a8424b93924d8d9ab832d6 39855c6b96bc4aee904a825198e27fcf--a594ae4809a8424b93924d8d9ab832d6 9954c3f4aba64ba3940e4c43ce0c3d2e a594ae4809a8424b93924d8d9ab832d6--9954c3f4aba64ba3940e4c43ce0c3d2e 604b5a98b1224894b83b45fda55d6b37 9954c3f4aba64ba3940e4c43ce0c3d2e--604b5a98b1224894b83b45fda55d6b37 9e10fe6ed2334b61978b2742daa94164 604b5a98b1224894b83b45fda55d6b37--9e10fe6ed2334b61978b2742daa94164 de7a2edb6d0a44158790ac7ac346f905 9e10fe6ed2334b61978b2742daa94164--de7a2edb6d0a44158790ac7ac346f905 08f0e78ee0bb4ad3b25388c5241333a5 de7a2edb6d0a44158790ac7ac346f905--08f0e78ee0bb4ad3b25388c5241333a5 a4f4ba50e24e49a29a00f7b0e3575815 08f0e78ee0bb4ad3b25388c5241333a5--a4f4ba50e24e49a29a00f7b0e3575815 1b108b7ff08e4d78bec738f7fb29996d a4f4ba50e24e49a29a00f7b0e3575815--1b108b7ff08e4d78bec738f7fb29996d 3598c0b8ff0940fabb035ded2c98745f 1b108b7ff08e4d78bec738f7fb29996d--3598c0b8ff0940fabb035ded2c98745f 08df2fbbf6524c9db4e0f2ed9a2d0dec 3598c0b8ff0940fabb035ded2c98745f--08df2fbbf6524c9db4e0f2ed9a2d0dec 712820744bcc4b8dbac186ab63bdd008 RX(b10) 08df2fbbf6524c9db4e0f2ed9a2d0dec--712820744bcc4b8dbac186ab63bdd008 ffa99e5e0c4348e0ac358c425cc8984e 712820744bcc4b8dbac186ab63bdd008--ffa99e5e0c4348e0ac358c425cc8984e cc7b9ac63fb848998f230d92f8eea35b 0a4c620b26334cfdbc42ec343c3fe187 X 2a725f96e813448899c1269405c471bd--0a4c620b26334cfdbc42ec343c3fe187 ad2322c8bed34705827d5ef7386cde02 2 0a4c620b26334cfdbc42ec343c3fe187--0f78d014664d4272a486fd4ec001cca7 9f3568a170df4f26bb4bfbd16f194974 0a4c620b26334cfdbc42ec343c3fe187--9f3568a170df4f26bb4bfbd16f194974 89f0018ef0034659bc4e93fa865ece77 9f3568a170df4f26bb4bfbd16f194974--89f0018ef0034659bc4e93fa865ece77 ae54186c278f42899cbc27b63764b9c4 89f0018ef0034659bc4e93fa865ece77--ae54186c278f42899cbc27b63764b9c4 ace2b79a5d8048a48935b3aefc3ac07d ae54186c278f42899cbc27b63764b9c4--ace2b79a5d8048a48935b3aefc3ac07d 62c5311bf5cd4f6a94877f5125c72585 ace2b79a5d8048a48935b3aefc3ac07d--62c5311bf5cd4f6a94877f5125c72585 3bd37cbc75564061a772b764c0201dbf 62c5311bf5cd4f6a94877f5125c72585--3bd37cbc75564061a772b764c0201dbf 8c87653c29474bedafa11a313a202ef9 3bd37cbc75564061a772b764c0201dbf--8c87653c29474bedafa11a313a202ef9 a4ff40d640ff4261b82e054726022dbb 8c87653c29474bedafa11a313a202ef9--a4ff40d640ff4261b82e054726022dbb 1594bd2f7a2d4807b9dffae214e7919c a4ff40d640ff4261b82e054726022dbb--1594bd2f7a2d4807b9dffae214e7919c d717deb4feb34253a5408a7643d01bdd 1594bd2f7a2d4807b9dffae214e7919c--d717deb4feb34253a5408a7643d01bdd e605511599724aa8943729780b497942 d717deb4feb34253a5408a7643d01bdd--e605511599724aa8943729780b497942 d26d927503384c3eab1183809260c38a e605511599724aa8943729780b497942--d26d927503384c3eab1183809260c38a 03b0500261ed4a0593539dfae87046ec d26d927503384c3eab1183809260c38a--03b0500261ed4a0593539dfae87046ec dc265af3d5e643cc926fe7785256fe31 X 03b0500261ed4a0593539dfae87046ec--dc265af3d5e643cc926fe7785256fe31 dc265af3d5e643cc926fe7785256fe31--a07f2c9fd82e419f9a157c2c57ea07d5 b5609b693bb246e0b904ee0b1d009d32 dc265af3d5e643cc926fe7785256fe31--b5609b693bb246e0b904ee0b1d009d32 a8663732d2474814beb87bfffa6d47a7 b5609b693bb246e0b904ee0b1d009d32--a8663732d2474814beb87bfffa6d47a7 9cbb2d8a31df410a95268d6a546eda79 a8663732d2474814beb87bfffa6d47a7--9cbb2d8a31df410a95268d6a546eda79 668bfbfe0c664026ae8f1d86fb906c69 9cbb2d8a31df410a95268d6a546eda79--668bfbfe0c664026ae8f1d86fb906c69 778b61f2641e49599850f614e4dea98b 668bfbfe0c664026ae8f1d86fb906c69--778b61f2641e49599850f614e4dea98b 2ae6469ad28c4825a9c382b706532588 778b61f2641e49599850f614e4dea98b--2ae6469ad28c4825a9c382b706532588 1bb37026f86b45d39fbb5548dc00a4cd 2ae6469ad28c4825a9c382b706532588--1bb37026f86b45d39fbb5548dc00a4cd 3ed1fe34e19e4f46a4f1d54e109be46f 1bb37026f86b45d39fbb5548dc00a4cd--3ed1fe34e19e4f46a4f1d54e109be46f 1d064af51e5542c99642f8d667800836 3ed1fe34e19e4f46a4f1d54e109be46f--1d064af51e5542c99642f8d667800836 b2420e8989b94004ac707cee53d4c283 1d064af51e5542c99642f8d667800836--b2420e8989b94004ac707cee53d4c283 b87cd84e86344b6a8634306b9f551763 b2420e8989b94004ac707cee53d4c283--b87cd84e86344b6a8634306b9f551763 50846d1b3ece43baa4005ee9dbf21b0a b87cd84e86344b6a8634306b9f551763--50846d1b3ece43baa4005ee9dbf21b0a d6e1d518f997440cbf6f919ccc77f069 50846d1b3ece43baa4005ee9dbf21b0a--d6e1d518f997440cbf6f919ccc77f069 94a2e907eac5447694016125c4ba22eb d6e1d518f997440cbf6f919ccc77f069--94a2e907eac5447694016125c4ba22eb 308422e7acad4ea5ab9868df95ea029a 94a2e907eac5447694016125c4ba22eb--308422e7acad4ea5ab9868df95ea029a 30b82bfc59c34f81b362c26609d7739e 308422e7acad4ea5ab9868df95ea029a--30b82bfc59c34f81b362c26609d7739e fe8f07dd4bca458ca3380fdfb749b75b 30b82bfc59c34f81b362c26609d7739e--fe8f07dd4bca458ca3380fdfb749b75b 4e136aded65a4a0dabf4370889279e40 fe8f07dd4bca458ca3380fdfb749b75b--4e136aded65a4a0dabf4370889279e40 f1863e66db9547079ee0a188c7ff1f42 4e136aded65a4a0dabf4370889279e40--f1863e66db9547079ee0a188c7ff1f42 c9aa7098484c4a3c8c2ebb4e70d97e04 f1863e66db9547079ee0a188c7ff1f42--c9aa7098484c4a3c8c2ebb4e70d97e04 dce3236e4b174fa2baff127c175fec06 c9aa7098484c4a3c8c2ebb4e70d97e04--dce3236e4b174fa2baff127c175fec06 84fdbe983f644da9861191901429e359 dce3236e4b174fa2baff127c175fec06--84fdbe983f644da9861191901429e359 05c02f3b82c145dc9d392665f5a4002a 84fdbe983f644da9861191901429e359--05c02f3b82c145dc9d392665f5a4002a 5da88c49e3d44f558a99f79ef87015fa 05c02f3b82c145dc9d392665f5a4002a--5da88c49e3d44f558a99f79ef87015fa 960d87ff0ccc4b17861c4dc619fd0a92 5da88c49e3d44f558a99f79ef87015fa--960d87ff0ccc4b17861c4dc619fd0a92 32f4ad251a15451a864db1ec0e94ca65 960d87ff0ccc4b17861c4dc619fd0a92--32f4ad251a15451a864db1ec0e94ca65 d1c3b39bd02145649f17a86b5b481bd9 32f4ad251a15451a864db1ec0e94ca65--d1c3b39bd02145649f17a86b5b481bd9 e0ab8b3ab0ad4c6f82c1082a2220455e d1c3b39bd02145649f17a86b5b481bd9--e0ab8b3ab0ad4c6f82c1082a2220455e e28ec7283a9242db9d4926ca48523409 e0ab8b3ab0ad4c6f82c1082a2220455e--e28ec7283a9242db9d4926ca48523409 0e1dea753b194bcd8e12d12ef036adad e28ec7283a9242db9d4926ca48523409--0e1dea753b194bcd8e12d12ef036adad f3bf3a318d0a477b9804092fac0c9c05 0e1dea753b194bcd8e12d12ef036adad--f3bf3a318d0a477b9804092fac0c9c05 145338b38e484e16bd643d68a959acb2 f3bf3a318d0a477b9804092fac0c9c05--145338b38e484e16bd643d68a959acb2 8e96f3b6226c4682ab951a0b391a1a33 RX(b01) 145338b38e484e16bd643d68a959acb2--8e96f3b6226c4682ab951a0b391a1a33 449604b13d084bab8f77ba4cae0e6705 X 8e96f3b6226c4682ab951a0b391a1a33--449604b13d084bab8f77ba4cae0e6705 449604b13d084bab8f77ba4cae0e6705--75ad6fcea40e4a13b7e5eaf36da9d222 6a9754e5ac6b4edeb6734ae9b72b626e 449604b13d084bab8f77ba4cae0e6705--6a9754e5ac6b4edeb6734ae9b72b626e 349ec69ce8d3461c84509b23c3501513 6a9754e5ac6b4edeb6734ae9b72b626e--349ec69ce8d3461c84509b23c3501513 908ecbef56af4d1fbcfa33945871cb3a 349ec69ce8d3461c84509b23c3501513--908ecbef56af4d1fbcfa33945871cb3a b8ba1b03599341b0bff5943b9940d2b7 908ecbef56af4d1fbcfa33945871cb3a--b8ba1b03599341b0bff5943b9940d2b7 39ab34c6b4c14bebb9580ef96c584225 b8ba1b03599341b0bff5943b9940d2b7--39ab34c6b4c14bebb9580ef96c584225 fe44955a4abe4e03a0e142d3b6dc8d4b 39ab34c6b4c14bebb9580ef96c584225--fe44955a4abe4e03a0e142d3b6dc8d4b 7ad8760e0713448eb8f01049779e4b3d fe44955a4abe4e03a0e142d3b6dc8d4b--7ad8760e0713448eb8f01049779e4b3d 0c3342add710478c865a57b6b9d8a4fe 7ad8760e0713448eb8f01049779e4b3d--0c3342add710478c865a57b6b9d8a4fe 994a8e1f917c41158bf4bca7d93dabc8 0c3342add710478c865a57b6b9d8a4fe--994a8e1f917c41158bf4bca7d93dabc8 03f5b9afbdd94aa194f55ec0ed242424 994a8e1f917c41158bf4bca7d93dabc8--03f5b9afbdd94aa194f55ec0ed242424 6c18643ac9ac4f9486aae81ebc1a73cd 03f5b9afbdd94aa194f55ec0ed242424--6c18643ac9ac4f9486aae81ebc1a73cd bb7ec4b296e1436c910d784915d5598f 6c18643ac9ac4f9486aae81ebc1a73cd--bb7ec4b296e1436c910d784915d5598f 62d85b7cee7c4da088d790681ae9bd09 bb7ec4b296e1436c910d784915d5598f--62d85b7cee7c4da088d790681ae9bd09 44d759831c244625b2c71fe36ad189e7 X 62d85b7cee7c4da088d790681ae9bd09--44d759831c244625b2c71fe36ad189e7 44d759831c244625b2c71fe36ad189e7--8b369e86d2d648f79a029fccb68db10d f20c0cc7a5de43f58b571e813584d609 44d759831c244625b2c71fe36ad189e7--f20c0cc7a5de43f58b571e813584d609 8e6aa0f9e7bb4791bc654355ec2958ab f20c0cc7a5de43f58b571e813584d609--8e6aa0f9e7bb4791bc654355ec2958ab 95ac294b58564549ae5f2322214eb224 8e6aa0f9e7bb4791bc654355ec2958ab--95ac294b58564549ae5f2322214eb224 91a411e30df44dbfa0ca4062cf123a60 95ac294b58564549ae5f2322214eb224--91a411e30df44dbfa0ca4062cf123a60 ed44f7b7f4da4365a026093d9ce17fb2 91a411e30df44dbfa0ca4062cf123a60--ed44f7b7f4da4365a026093d9ce17fb2 93c540969fc4473bb75e95cb78f329d6 ed44f7b7f4da4365a026093d9ce17fb2--93c540969fc4473bb75e95cb78f329d6 3e65af88ef474f1ca545f4cd076c0b5f 93c540969fc4473bb75e95cb78f329d6--3e65af88ef474f1ca545f4cd076c0b5f f266b2af2d344747b8a76047f2f719a8 3e65af88ef474f1ca545f4cd076c0b5f--f266b2af2d344747b8a76047f2f719a8 b9c9c8c55ad7430b88b319b4a89e0557 f266b2af2d344747b8a76047f2f719a8--b9c9c8c55ad7430b88b319b4a89e0557 63d75ed7b1844a00a11e083fdce63b59 b9c9c8c55ad7430b88b319b4a89e0557--63d75ed7b1844a00a11e083fdce63b59 9ebd39cd33f448c8b5b59f3fb877c10e 63d75ed7b1844a00a11e083fdce63b59--9ebd39cd33f448c8b5b59f3fb877c10e 26f25b9c31f644d38a4cd1f4d4227926 9ebd39cd33f448c8b5b59f3fb877c10e--26f25b9c31f644d38a4cd1f4d4227926 5d5333037e444e97b83308627ddbabaf 26f25b9c31f644d38a4cd1f4d4227926--5d5333037e444e97b83308627ddbabaf 311641efe8664aa88276c6d682f30e23 5d5333037e444e97b83308627ddbabaf--311641efe8664aa88276c6d682f30e23 4f58fd9d7e8348ccbd312bdeaaa898b9 311641efe8664aa88276c6d682f30e23--4f58fd9d7e8348ccbd312bdeaaa898b9 149a1c1b2e104998bc4794f92af908f3 4f58fd9d7e8348ccbd312bdeaaa898b9--149a1c1b2e104998bc4794f92af908f3 ec743b24fd1a4200a6db5fcd2c4183a7 149a1c1b2e104998bc4794f92af908f3--ec743b24fd1a4200a6db5fcd2c4183a7 6c0ed3dbcacc44c194aa4ac24d5edb0b ec743b24fd1a4200a6db5fcd2c4183a7--6c0ed3dbcacc44c194aa4ac24d5edb0b e387071ae41c4a69a860fa8b57fa80be 6c0ed3dbcacc44c194aa4ac24d5edb0b--e387071ae41c4a69a860fa8b57fa80be 55c89498b2c54942bda4756301788a29 e387071ae41c4a69a860fa8b57fa80be--55c89498b2c54942bda4756301788a29 67647dcff1aa45048554b03d934e36aa 55c89498b2c54942bda4756301788a29--67647dcff1aa45048554b03d934e36aa 6d4282ac665d405288e55a1dfdb367a9 67647dcff1aa45048554b03d934e36aa--6d4282ac665d405288e55a1dfdb367a9 480722ab030343759276224612a9dfea 6d4282ac665d405288e55a1dfdb367a9--480722ab030343759276224612a9dfea dd387c0338e04e3fbf06b9c995753bec 480722ab030343759276224612a9dfea--dd387c0338e04e3fbf06b9c995753bec 0ced654cbacb4935873dddd9e1e6e540 dd387c0338e04e3fbf06b9c995753bec--0ced654cbacb4935873dddd9e1e6e540 88c8eacba3aa45e6a54d99579312fbcb 0ced654cbacb4935873dddd9e1e6e540--88c8eacba3aa45e6a54d99579312fbcb 33d551a93c84458caa54e619c5ee48ec 88c8eacba3aa45e6a54d99579312fbcb--33d551a93c84458caa54e619c5ee48ec 88a78196ce9d490ebd12048f70832517 33d551a93c84458caa54e619c5ee48ec--88a78196ce9d490ebd12048f70832517 c4b68a034efd403385f157dd876b90d1 88a78196ce9d490ebd12048f70832517--c4b68a034efd403385f157dd876b90d1 7fe08661b9c54cf489db335bfe8f36ea c4b68a034efd403385f157dd876b90d1--7fe08661b9c54cf489db335bfe8f36ea 2bb71a5612fa4b738e87671d667ba3a0 7fe08661b9c54cf489db335bfe8f36ea--2bb71a5612fa4b738e87671d667ba3a0 742b625f8f5440df969676c3f5bb5c4a 2bb71a5612fa4b738e87671d667ba3a0--742b625f8f5440df969676c3f5bb5c4a 588524bb61014e64a871092e8f15387d RX(b11) 742b625f8f5440df969676c3f5bb5c4a--588524bb61014e64a871092e8f15387d 588524bb61014e64a871092e8f15387d--cc7b9ac63fb848998f230d92f8eea35b 6a898dab06de4ca1acd2639a8cb576f5 b903fc0140d44f51a2a5e6908130eb14 ad2322c8bed34705827d5ef7386cde02--b903fc0140d44f51a2a5e6908130eb14 9b47580fa7014be39a605724ac328ee2 3 3f9c4c6920334b719578b26df67e6ee0 X b903fc0140d44f51a2a5e6908130eb14--3f9c4c6920334b719578b26df67e6ee0 3f9c4c6920334b719578b26df67e6ee0--9f3568a170df4f26bb4bfbd16f194974 068587b334cc415a9c7efa7a9a91c042 3f9c4c6920334b719578b26df67e6ee0--068587b334cc415a9c7efa7a9a91c042 66d3b1450c494501b67b6a71952ebbb0 068587b334cc415a9c7efa7a9a91c042--66d3b1450c494501b67b6a71952ebbb0 409e7696c7b744cabbafb1f89086bed4 66d3b1450c494501b67b6a71952ebbb0--409e7696c7b744cabbafb1f89086bed4 55928715e51041dfb6e4194135161a7a 409e7696c7b744cabbafb1f89086bed4--55928715e51041dfb6e4194135161a7a 2e61b8087baa4872a3682e40b2020641 55928715e51041dfb6e4194135161a7a--2e61b8087baa4872a3682e40b2020641 98660fa6cf08446aacc04a65dca84061 2e61b8087baa4872a3682e40b2020641--98660fa6cf08446aacc04a65dca84061 f44105bf435f49afb58a205340ce6b8c 98660fa6cf08446aacc04a65dca84061--f44105bf435f49afb58a205340ce6b8c 3eb56cf1476a4641932f3a7fc12a1597 f44105bf435f49afb58a205340ce6b8c--3eb56cf1476a4641932f3a7fc12a1597 c7d329ef3afe439c90f96efb174ee436 3eb56cf1476a4641932f3a7fc12a1597--c7d329ef3afe439c90f96efb174ee436 111dd65f66204940911660dc602881ec c7d329ef3afe439c90f96efb174ee436--111dd65f66204940911660dc602881ec f6ffee8c3e23458d9ca88a8553bb4c52 111dd65f66204940911660dc602881ec--f6ffee8c3e23458d9ca88a8553bb4c52 4d2446955e7d435194e3d817c5e80e1e X f6ffee8c3e23458d9ca88a8553bb4c52--4d2446955e7d435194e3d817c5e80e1e 4d2446955e7d435194e3d817c5e80e1e--03b0500261ed4a0593539dfae87046ec 9dd376970e404100ac05a10cc4f29201 4d2446955e7d435194e3d817c5e80e1e--9dd376970e404100ac05a10cc4f29201 611de78ac55e45c9ac863cd3af2e86da X 9dd376970e404100ac05a10cc4f29201--611de78ac55e45c9ac863cd3af2e86da 611de78ac55e45c9ac863cd3af2e86da--b5609b693bb246e0b904ee0b1d009d32 7588b49547db443586c1979c042549db RZ(-1.0*g0) 611de78ac55e45c9ac863cd3af2e86da--7588b49547db443586c1979c042549db fa2f5f74e06c4ff09a6a7b4d2f3e0e79 X 7588b49547db443586c1979c042549db--fa2f5f74e06c4ff09a6a7b4d2f3e0e79 fa2f5f74e06c4ff09a6a7b4d2f3e0e79--9cbb2d8a31df410a95268d6a546eda79 19da4ffd82674adfaea1e117a470f31a X fa2f5f74e06c4ff09a6a7b4d2f3e0e79--19da4ffd82674adfaea1e117a470f31a 19da4ffd82674adfaea1e117a470f31a--668bfbfe0c664026ae8f1d86fb906c69 824c0b3cefe34b85848fc78b209674b8 19da4ffd82674adfaea1e117a470f31a--824c0b3cefe34b85848fc78b209674b8 14c30196392145e5a322d10c35023619 824c0b3cefe34b85848fc78b209674b8--14c30196392145e5a322d10c35023619 44332812801d4b62a6e3ff18110aff2e 14c30196392145e5a322d10c35023619--44332812801d4b62a6e3ff18110aff2e 75a6ecdd4005478da9b4e5cd130cb580 X 44332812801d4b62a6e3ff18110aff2e--75a6ecdd4005478da9b4e5cd130cb580 75a6ecdd4005478da9b4e5cd130cb580--3ed1fe34e19e4f46a4f1d54e109be46f 16fce06b10ad4018b0ce313d31f2ee7c X 75a6ecdd4005478da9b4e5cd130cb580--16fce06b10ad4018b0ce313d31f2ee7c 16fce06b10ad4018b0ce313d31f2ee7c--1d064af51e5542c99642f8d667800836 8c2afc334ae140d8a3435245b863ea36 16fce06b10ad4018b0ce313d31f2ee7c--8c2afc334ae140d8a3435245b863ea36 347a5fce95794d1989c1ced11a3a9224 8c2afc334ae140d8a3435245b863ea36--347a5fce95794d1989c1ced11a3a9224 c1bfe30a988a49bea6bd562c551d7945 347a5fce95794d1989c1ced11a3a9224--c1bfe30a988a49bea6bd562c551d7945 03b8164fcff34f2b9f949bcd3d11d00a c1bfe30a988a49bea6bd562c551d7945--03b8164fcff34f2b9f949bcd3d11d00a 257f1d81078b4a73b7a1d65ef2dc3c5c 03b8164fcff34f2b9f949bcd3d11d00a--257f1d81078b4a73b7a1d65ef2dc3c5c 80acb4cd3c6c4ec78b5b7d76d25cd236 257f1d81078b4a73b7a1d65ef2dc3c5c--80acb4cd3c6c4ec78b5b7d76d25cd236 a958bbccfc324f8bbf6b1d649c112aa7 80acb4cd3c6c4ec78b5b7d76d25cd236--a958bbccfc324f8bbf6b1d649c112aa7 2e6292b62d764cb6ae1205d5d9dafdf3 a958bbccfc324f8bbf6b1d649c112aa7--2e6292b62d764cb6ae1205d5d9dafdf3 a5eaef763ba4472ab2707a9588e49546 2e6292b62d764cb6ae1205d5d9dafdf3--a5eaef763ba4472ab2707a9588e49546 c741e07ad5ca4ce3952b6d465f69c538 X a5eaef763ba4472ab2707a9588e49546--c741e07ad5ca4ce3952b6d465f69c538 c741e07ad5ca4ce3952b6d465f69c538--f1863e66db9547079ee0a188c7ff1f42 0d865d2112454b0e97859330398bf3ee X c741e07ad5ca4ce3952b6d465f69c538--0d865d2112454b0e97859330398bf3ee 0d865d2112454b0e97859330398bf3ee--c9aa7098484c4a3c8c2ebb4e70d97e04 494b8e7672684bb5b2ad6a99cc5486d5 0d865d2112454b0e97859330398bf3ee--494b8e7672684bb5b2ad6a99cc5486d5 bc25b295f95c4d7ebbd6544659392b1d 494b8e7672684bb5b2ad6a99cc5486d5--bc25b295f95c4d7ebbd6544659392b1d d06916b925c94d5facd28418796b758a bc25b295f95c4d7ebbd6544659392b1d--d06916b925c94d5facd28418796b758a b5da5407b3e14904bc1006bca34a8d59 d06916b925c94d5facd28418796b758a--b5da5407b3e14904bc1006bca34a8d59 0e624044ca99410d859e9f2708ce275c b5da5407b3e14904bc1006bca34a8d59--0e624044ca99410d859e9f2708ce275c 6c7e58975018455789c440e0ea3ff6c3 0e624044ca99410d859e9f2708ce275c--6c7e58975018455789c440e0ea3ff6c3 48b2a4153eba477090e43d4fd5d03953 6c7e58975018455789c440e0ea3ff6c3--48b2a4153eba477090e43d4fd5d03953 507705993c1a4ec39d257c05228cc0e1 48b2a4153eba477090e43d4fd5d03953--507705993c1a4ec39d257c05228cc0e1 c0db0598e23b4ca081308420eb0a4cbc 507705993c1a4ec39d257c05228cc0e1--c0db0598e23b4ca081308420eb0a4cbc dab6af86b89e41159f7d36bca916da16 c0db0598e23b4ca081308420eb0a4cbc--dab6af86b89e41159f7d36bca916da16 04473738e81043b88bf2ae4df2e6b131 dab6af86b89e41159f7d36bca916da16--04473738e81043b88bf2ae4df2e6b131 d7502f59413342c2a1eca9a76204bde1 X 04473738e81043b88bf2ae4df2e6b131--d7502f59413342c2a1eca9a76204bde1 d7502f59413342c2a1eca9a76204bde1--145338b38e484e16bd643d68a959acb2 5714e866801d470c803318bc41913ed0 RX(b02) d7502f59413342c2a1eca9a76204bde1--5714e866801d470c803318bc41913ed0 61ea3cbe13094958a76925254b606532 5714e866801d470c803318bc41913ed0--61ea3cbe13094958a76925254b606532 75bcda80bc84482a9f4ab21cd620faf6 X 61ea3cbe13094958a76925254b606532--75bcda80bc84482a9f4ab21cd620faf6 75bcda80bc84482a9f4ab21cd620faf6--6a9754e5ac6b4edeb6734ae9b72b626e 29dcceab55aa499aac501491752dcbcf 75bcda80bc84482a9f4ab21cd620faf6--29dcceab55aa499aac501491752dcbcf 8a9d4a9ec3584ad78c8df2449a3cfe40 29dcceab55aa499aac501491752dcbcf--8a9d4a9ec3584ad78c8df2449a3cfe40 2e0e6e4795b846c696cc4279fd02f84f 8a9d4a9ec3584ad78c8df2449a3cfe40--2e0e6e4795b846c696cc4279fd02f84f 513a6580e48745a49727b29f67131cb3 2e0e6e4795b846c696cc4279fd02f84f--513a6580e48745a49727b29f67131cb3 4e4b59618e1544c295b331a01906ac4c 513a6580e48745a49727b29f67131cb3--4e4b59618e1544c295b331a01906ac4c 050a15734ec04b86b803f2c13145860e 4e4b59618e1544c295b331a01906ac4c--050a15734ec04b86b803f2c13145860e c68cfe3d49e54d52821115462fb9b93f 050a15734ec04b86b803f2c13145860e--c68cfe3d49e54d52821115462fb9b93f 3b11355b3e1945acbf104080bd734087 c68cfe3d49e54d52821115462fb9b93f--3b11355b3e1945acbf104080bd734087 444da2bafa6a4af2978779cf2ce7b7af 3b11355b3e1945acbf104080bd734087--444da2bafa6a4af2978779cf2ce7b7af dc64a9c003f04114b934338a50a2c998 444da2bafa6a4af2978779cf2ce7b7af--dc64a9c003f04114b934338a50a2c998 f58c636b270b4008807e5f907251746e dc64a9c003f04114b934338a50a2c998--f58c636b270b4008807e5f907251746e b0c603c20b204a7581253b48a3d02fd8 X f58c636b270b4008807e5f907251746e--b0c603c20b204a7581253b48a3d02fd8 b0c603c20b204a7581253b48a3d02fd8--62d85b7cee7c4da088d790681ae9bd09 3c7c1df00a0345469bbbe4df99df2424 b0c603c20b204a7581253b48a3d02fd8--3c7c1df00a0345469bbbe4df99df2424 683a96a156514760837b1f12a1cdeb96 X 3c7c1df00a0345469bbbe4df99df2424--683a96a156514760837b1f12a1cdeb96 683a96a156514760837b1f12a1cdeb96--f20c0cc7a5de43f58b571e813584d609 a2d57aa44dc54afda147fa0155486b04 RZ(-1.0*g1) 683a96a156514760837b1f12a1cdeb96--a2d57aa44dc54afda147fa0155486b04 9a231d54c56e4badb5d1374a5db47321 X a2d57aa44dc54afda147fa0155486b04--9a231d54c56e4badb5d1374a5db47321 9a231d54c56e4badb5d1374a5db47321--95ac294b58564549ae5f2322214eb224 edd6c0c5035c4de69697a23842c58d02 X 9a231d54c56e4badb5d1374a5db47321--edd6c0c5035c4de69697a23842c58d02 edd6c0c5035c4de69697a23842c58d02--91a411e30df44dbfa0ca4062cf123a60 c168942ded70410483a4c5aca2f14759 edd6c0c5035c4de69697a23842c58d02--c168942ded70410483a4c5aca2f14759 cecea846b5db4d21881e79187e9f48c6 c168942ded70410483a4c5aca2f14759--cecea846b5db4d21881e79187e9f48c6 efc2d62b485a40078216bf27a09c7d5d cecea846b5db4d21881e79187e9f48c6--efc2d62b485a40078216bf27a09c7d5d 91f6267d108a45558d2b2a9a9ddf2a52 X efc2d62b485a40078216bf27a09c7d5d--91f6267d108a45558d2b2a9a9ddf2a52 91f6267d108a45558d2b2a9a9ddf2a52--f266b2af2d344747b8a76047f2f719a8 8c6bd1349be44688aaeb187278d70542 X 91f6267d108a45558d2b2a9a9ddf2a52--8c6bd1349be44688aaeb187278d70542 8c6bd1349be44688aaeb187278d70542--b9c9c8c55ad7430b88b319b4a89e0557 f557756ccde04df88e8722095f8a15a0 8c6bd1349be44688aaeb187278d70542--f557756ccde04df88e8722095f8a15a0 081f7d64330b4076b2487834ffa9bd74 f557756ccde04df88e8722095f8a15a0--081f7d64330b4076b2487834ffa9bd74 c4a3e451aea34e988c0e480078400817 081f7d64330b4076b2487834ffa9bd74--c4a3e451aea34e988c0e480078400817 a4dd22c85820422b87d97efa6caa452e c4a3e451aea34e988c0e480078400817--a4dd22c85820422b87d97efa6caa452e 7ce909f976a64a28ab03dae4641a8c9a a4dd22c85820422b87d97efa6caa452e--7ce909f976a64a28ab03dae4641a8c9a 621e8b3843294e6ab18da0ffd1b89a44 7ce909f976a64a28ab03dae4641a8c9a--621e8b3843294e6ab18da0ffd1b89a44 591f553794914ed9ad15659c147f358c 621e8b3843294e6ab18da0ffd1b89a44--591f553794914ed9ad15659c147f358c 8f4d60d9424b466c8ca50273cd56e7ce 591f553794914ed9ad15659c147f358c--8f4d60d9424b466c8ca50273cd56e7ce 94a36c15b6464abf9cbf2ff69794f70b 8f4d60d9424b466c8ca50273cd56e7ce--94a36c15b6464abf9cbf2ff69794f70b 0daaafaa7ceb4869adc3ac825c302a55 X 94a36c15b6464abf9cbf2ff69794f70b--0daaafaa7ceb4869adc3ac825c302a55 0daaafaa7ceb4869adc3ac825c302a55--e387071ae41c4a69a860fa8b57fa80be 8166cce84ddc46d3b0c16ffe2797744a X 0daaafaa7ceb4869adc3ac825c302a55--8166cce84ddc46d3b0c16ffe2797744a 8166cce84ddc46d3b0c16ffe2797744a--55c89498b2c54942bda4756301788a29 5cf820c4c1ae4d8ab163985357b92717 8166cce84ddc46d3b0c16ffe2797744a--5cf820c4c1ae4d8ab163985357b92717 c17abb5e74494c0897b80fce6d201a2e 5cf820c4c1ae4d8ab163985357b92717--c17abb5e74494c0897b80fce6d201a2e 597bba4f35b243edaec319a8f7f114a4 c17abb5e74494c0897b80fce6d201a2e--597bba4f35b243edaec319a8f7f114a4 ac73a5fec8ab4cc4853245f53a10a919 597bba4f35b243edaec319a8f7f114a4--ac73a5fec8ab4cc4853245f53a10a919 b971b35f185a467d98ca8724232ce08b ac73a5fec8ab4cc4853245f53a10a919--b971b35f185a467d98ca8724232ce08b e684869794bd429a94177de409393044 b971b35f185a467d98ca8724232ce08b--e684869794bd429a94177de409393044 02c2ce522c564279971dbc31a41f45df e684869794bd429a94177de409393044--02c2ce522c564279971dbc31a41f45df 1e447c25c58e4ce3b59d35e75317e775 02c2ce522c564279971dbc31a41f45df--1e447c25c58e4ce3b59d35e75317e775 f7d8f886415249539077799b4dae7911 1e447c25c58e4ce3b59d35e75317e775--f7d8f886415249539077799b4dae7911 52413f0bd6a0458cb5efcd9420da48cd f7d8f886415249539077799b4dae7911--52413f0bd6a0458cb5efcd9420da48cd a3ab88b395664dce86e4d7427419e847 52413f0bd6a0458cb5efcd9420da48cd--a3ab88b395664dce86e4d7427419e847 49ad1634dc4140dc9442ed0d93a874a0 X a3ab88b395664dce86e4d7427419e847--49ad1634dc4140dc9442ed0d93a874a0 49ad1634dc4140dc9442ed0d93a874a0--742b625f8f5440df969676c3f5bb5c4a 0713083c25a343f2825e34fe4a47cc91 RX(b12) 49ad1634dc4140dc9442ed0d93a874a0--0713083c25a343f2825e34fe4a47cc91 0713083c25a343f2825e34fe4a47cc91--6a898dab06de4ca1acd2639a8cb576f5 04dcd4819e8c4591989eaed0c2188721 166e9755ffd2440791c78a34077dfaae 9b47580fa7014be39a605724ac328ee2--166e9755ffd2440791c78a34077dfaae db5acf6fd9294e3bae79376d9df0d137 4 e0259c733cde4494b27662a46f05afad 166e9755ffd2440791c78a34077dfaae--e0259c733cde4494b27662a46f05afad 36bbd752f7a94b52a0f6cc1d4d09e8fb X e0259c733cde4494b27662a46f05afad--36bbd752f7a94b52a0f6cc1d4d09e8fb 36bbd752f7a94b52a0f6cc1d4d09e8fb--068587b334cc415a9c7efa7a9a91c042 5675fab2c78e4a738a01f57f3f586525 36bbd752f7a94b52a0f6cc1d4d09e8fb--5675fab2c78e4a738a01f57f3f586525 c5a2f5f0f6f54ae8adfe033ff9768945 5675fab2c78e4a738a01f57f3f586525--c5a2f5f0f6f54ae8adfe033ff9768945 ee4bc540cd914ed5a8be352ea27b82c0 c5a2f5f0f6f54ae8adfe033ff9768945--ee4bc540cd914ed5a8be352ea27b82c0 f5ff568277aa464ea8335e8d1b3a10fc ee4bc540cd914ed5a8be352ea27b82c0--f5ff568277aa464ea8335e8d1b3a10fc 7db4a4fe8a0a4cd5926c630721521c4c f5ff568277aa464ea8335e8d1b3a10fc--7db4a4fe8a0a4cd5926c630721521c4c 312ba8d7f01041089e93c8a447f7bb4c 7db4a4fe8a0a4cd5926c630721521c4c--312ba8d7f01041089e93c8a447f7bb4c 9109c068ee6d409ea2ed295c564efd2d 312ba8d7f01041089e93c8a447f7bb4c--9109c068ee6d409ea2ed295c564efd2d 35781597d040462898c7fa42f0d17dd7 9109c068ee6d409ea2ed295c564efd2d--35781597d040462898c7fa42f0d17dd7 4863c5aa659b45cba121fbc7e58f3b68 35781597d040462898c7fa42f0d17dd7--4863c5aa659b45cba121fbc7e58f3b68 f23b322002e94966989c39b58ac05e0f X 4863c5aa659b45cba121fbc7e58f3b68--f23b322002e94966989c39b58ac05e0f f23b322002e94966989c39b58ac05e0f--f6ffee8c3e23458d9ca88a8553bb4c52 fdb22d7d496749c2a62af429dc6905c7 f23b322002e94966989c39b58ac05e0f--fdb22d7d496749c2a62af429dc6905c7 e0ac77db9be8469c912285fc93deb07b fdb22d7d496749c2a62af429dc6905c7--e0ac77db9be8469c912285fc93deb07b 85bef725664443d68791f4f87845726d e0ac77db9be8469c912285fc93deb07b--85bef725664443d68791f4f87845726d 11b2a5ede54049e9bd3ab3df79a5871e 85bef725664443d68791f4f87845726d--11b2a5ede54049e9bd3ab3df79a5871e a7e3d8f10e724a2db32a36116844e6dc 11b2a5ede54049e9bd3ab3df79a5871e--a7e3d8f10e724a2db32a36116844e6dc f9147a3cfba649d2a2ee7f5977c06695 a7e3d8f10e724a2db32a36116844e6dc--f9147a3cfba649d2a2ee7f5977c06695 584f881335464249838b535b725e7655 X f9147a3cfba649d2a2ee7f5977c06695--584f881335464249838b535b725e7655 584f881335464249838b535b725e7655--824c0b3cefe34b85848fc78b209674b8 3328b336180740bfbfebef0423fbe65f RZ(-1.0*g0) 584f881335464249838b535b725e7655--3328b336180740bfbfebef0423fbe65f e293e803eaae4deb999f47fa9b971989 X 3328b336180740bfbfebef0423fbe65f--e293e803eaae4deb999f47fa9b971989 e293e803eaae4deb999f47fa9b971989--44332812801d4b62a6e3ff18110aff2e 336764daa4c340be9e8f6a804cf0b03f e293e803eaae4deb999f47fa9b971989--336764daa4c340be9e8f6a804cf0b03f f27c5685cc5741a4a7d86acf163a9dda 336764daa4c340be9e8f6a804cf0b03f--f27c5685cc5741a4a7d86acf163a9dda 2b61539e54e8449e93ce5e73007eb396 X f27c5685cc5741a4a7d86acf163a9dda--2b61539e54e8449e93ce5e73007eb396 2b61539e54e8449e93ce5e73007eb396--8c2afc334ae140d8a3435245b863ea36 49b0f58bd85846c294c2b0beae95fc61 2b61539e54e8449e93ce5e73007eb396--49b0f58bd85846c294c2b0beae95fc61 3eabf164b2d24327bc170996456d75df 49b0f58bd85846c294c2b0beae95fc61--3eabf164b2d24327bc170996456d75df 1d6f8c199abf4a08bd34340410907b72 3eabf164b2d24327bc170996456d75df--1d6f8c199abf4a08bd34340410907b72 7572224b615148149b6ab001d0164199 1d6f8c199abf4a08bd34340410907b72--7572224b615148149b6ab001d0164199 a74f1a5483df4383bb3163116560d617 7572224b615148149b6ab001d0164199--a74f1a5483df4383bb3163116560d617 e3c7b52cba764a738877d60d24a9f329 a74f1a5483df4383bb3163116560d617--e3c7b52cba764a738877d60d24a9f329 8a55e9541ac94a72a5f33cb111bb208f e3c7b52cba764a738877d60d24a9f329--8a55e9541ac94a72a5f33cb111bb208f f8ed0de254e34995b06230f9728a64af X 8a55e9541ac94a72a5f33cb111bb208f--f8ed0de254e34995b06230f9728a64af f8ed0de254e34995b06230f9728a64af--a5eaef763ba4472ab2707a9588e49546 b5201079c80a4c0f914b2154d0b7eeec f8ed0de254e34995b06230f9728a64af--b5201079c80a4c0f914b2154d0b7eeec 56168d667241488d939642b2e8083275 b5201079c80a4c0f914b2154d0b7eeec--56168d667241488d939642b2e8083275 3995b81078964b178a16c60cac620772 X 56168d667241488d939642b2e8083275--3995b81078964b178a16c60cac620772 3995b81078964b178a16c60cac620772--494b8e7672684bb5b2ad6a99cc5486d5 c10922f5f6bc43eabf36dc6c1abcbda5 3995b81078964b178a16c60cac620772--c10922f5f6bc43eabf36dc6c1abcbda5 aabdca4b4c3a46f8b12051c84994e3ee c10922f5f6bc43eabf36dc6c1abcbda5--aabdca4b4c3a46f8b12051c84994e3ee 695a7ea72eee4c3199a63f531cd3130b aabdca4b4c3a46f8b12051c84994e3ee--695a7ea72eee4c3199a63f531cd3130b 304114b085e24c7aaff0ca468872216a 695a7ea72eee4c3199a63f531cd3130b--304114b085e24c7aaff0ca468872216a a1070cfc14af4542bc79482527612eb7 304114b085e24c7aaff0ca468872216a--a1070cfc14af4542bc79482527612eb7 8527d0a2f60045f4b01b96d030dc5ba8 a1070cfc14af4542bc79482527612eb7--8527d0a2f60045f4b01b96d030dc5ba8 a36ece44259d4f6c84b1c3c42868bdbb 8527d0a2f60045f4b01b96d030dc5ba8--a36ece44259d4f6c84b1c3c42868bdbb 2c8829828afd4e28b7d5ef51bce72da7 a36ece44259d4f6c84b1c3c42868bdbb--2c8829828afd4e28b7d5ef51bce72da7 514b0fb91be84aaebb45fb08d8be3d68 2c8829828afd4e28b7d5ef51bce72da7--514b0fb91be84aaebb45fb08d8be3d68 f2a01ff67b044d73861a06d697ea1268 X 514b0fb91be84aaebb45fb08d8be3d68--f2a01ff67b044d73861a06d697ea1268 f2a01ff67b044d73861a06d697ea1268--04473738e81043b88bf2ae4df2e6b131 8ee1749da88b446a8ae79c28fb4e427c f2a01ff67b044d73861a06d697ea1268--8ee1749da88b446a8ae79c28fb4e427c 01b3eeb15c0b4db687479767767044c3 RX(b03) 8ee1749da88b446a8ae79c28fb4e427c--01b3eeb15c0b4db687479767767044c3 9d66260681c94493a78b06c8d71dc9f1 01b3eeb15c0b4db687479767767044c3--9d66260681c94493a78b06c8d71dc9f1 c0602248f3fe415d896022c0095acb30 9d66260681c94493a78b06c8d71dc9f1--c0602248f3fe415d896022c0095acb30 6b2cef5f3b0e478592661fd9d75c20b3 X c0602248f3fe415d896022c0095acb30--6b2cef5f3b0e478592661fd9d75c20b3 6b2cef5f3b0e478592661fd9d75c20b3--29dcceab55aa499aac501491752dcbcf 2148f9c2b52843a7abb3630c4936d453 6b2cef5f3b0e478592661fd9d75c20b3--2148f9c2b52843a7abb3630c4936d453 d5a85e487aec4abcbef4e244dcf62626 2148f9c2b52843a7abb3630c4936d453--d5a85e487aec4abcbef4e244dcf62626 2d8c506a031949e9930ee0c0d7d09466 d5a85e487aec4abcbef4e244dcf62626--2d8c506a031949e9930ee0c0d7d09466 1701cd53e9d54fcaa79390e16d83e0af 2d8c506a031949e9930ee0c0d7d09466--1701cd53e9d54fcaa79390e16d83e0af c49fddd1494540c58fdf1d16332bb369 1701cd53e9d54fcaa79390e16d83e0af--c49fddd1494540c58fdf1d16332bb369 5b2b30da12a74a9ca0a05611e52de38e c49fddd1494540c58fdf1d16332bb369--5b2b30da12a74a9ca0a05611e52de38e 3de0858f62c04a00ae576369cc07502a 5b2b30da12a74a9ca0a05611e52de38e--3de0858f62c04a00ae576369cc07502a da205977b73049eaadf3dfc0a8234c16 3de0858f62c04a00ae576369cc07502a--da205977b73049eaadf3dfc0a8234c16 8ac47ad244bd46279f5e8eab749b6b4e da205977b73049eaadf3dfc0a8234c16--8ac47ad244bd46279f5e8eab749b6b4e 1c7fd64ca46748aab62b23e1aab447ef X 8ac47ad244bd46279f5e8eab749b6b4e--1c7fd64ca46748aab62b23e1aab447ef 1c7fd64ca46748aab62b23e1aab447ef--f58c636b270b4008807e5f907251746e c2e1f4830b2b47d28b7356d546bfd84e 1c7fd64ca46748aab62b23e1aab447ef--c2e1f4830b2b47d28b7356d546bfd84e 68ca023d93d642b2acf3a71090e26583 c2e1f4830b2b47d28b7356d546bfd84e--68ca023d93d642b2acf3a71090e26583 0b2bf6fbf37241b88ecd53eaa5dd5a36 68ca023d93d642b2acf3a71090e26583--0b2bf6fbf37241b88ecd53eaa5dd5a36 7bc1bc48cc8b4855bcc35725bf7717f1 0b2bf6fbf37241b88ecd53eaa5dd5a36--7bc1bc48cc8b4855bcc35725bf7717f1 bb611067174c4062bbe93750f1845372 7bc1bc48cc8b4855bcc35725bf7717f1--bb611067174c4062bbe93750f1845372 e56dc479eb304334a079665b3bd4d54e bb611067174c4062bbe93750f1845372--e56dc479eb304334a079665b3bd4d54e 8b2e168121d7426cb9110d9bdeba9795 X e56dc479eb304334a079665b3bd4d54e--8b2e168121d7426cb9110d9bdeba9795 8b2e168121d7426cb9110d9bdeba9795--c168942ded70410483a4c5aca2f14759 db9830003e444cc099701966d67a33fc RZ(-1.0*g1) 8b2e168121d7426cb9110d9bdeba9795--db9830003e444cc099701966d67a33fc 49e5eed8cee84d3eba3852d867347244 X db9830003e444cc099701966d67a33fc--49e5eed8cee84d3eba3852d867347244 49e5eed8cee84d3eba3852d867347244--efc2d62b485a40078216bf27a09c7d5d 8f129b307f0643f981cb7c14f6f7d7ca 49e5eed8cee84d3eba3852d867347244--8f129b307f0643f981cb7c14f6f7d7ca 21871116dab64d999783006d2f2fc265 8f129b307f0643f981cb7c14f6f7d7ca--21871116dab64d999783006d2f2fc265 3e4d5afbdb8242e5afd226e5f1133965 X 21871116dab64d999783006d2f2fc265--3e4d5afbdb8242e5afd226e5f1133965 3e4d5afbdb8242e5afd226e5f1133965--f557756ccde04df88e8722095f8a15a0 56ca2673aea7401098bf86c76f11a35c 3e4d5afbdb8242e5afd226e5f1133965--56ca2673aea7401098bf86c76f11a35c c061dcc299414d74b434c70c200b3eb2 56ca2673aea7401098bf86c76f11a35c--c061dcc299414d74b434c70c200b3eb2 4454745787854fe9b4d4cbac60e8a296 c061dcc299414d74b434c70c200b3eb2--4454745787854fe9b4d4cbac60e8a296 dc9edde12bf042e1bc614f273576d576 4454745787854fe9b4d4cbac60e8a296--dc9edde12bf042e1bc614f273576d576 94dc35c6e0fd4a1b9bc870d2132be36c dc9edde12bf042e1bc614f273576d576--94dc35c6e0fd4a1b9bc870d2132be36c 1b7e91dad78a4887bf4fe3645685bb42 94dc35c6e0fd4a1b9bc870d2132be36c--1b7e91dad78a4887bf4fe3645685bb42 a8bc4b7a38904000ad9bd9efde985cce 1b7e91dad78a4887bf4fe3645685bb42--a8bc4b7a38904000ad9bd9efde985cce fddc5067eba54c4098c96671bea6535e X a8bc4b7a38904000ad9bd9efde985cce--fddc5067eba54c4098c96671bea6535e fddc5067eba54c4098c96671bea6535e--94a36c15b6464abf9cbf2ff69794f70b 7255d82ae06e4705adda02b0594a6835 fddc5067eba54c4098c96671bea6535e--7255d82ae06e4705adda02b0594a6835 00c18a0e0e934e94bd3dbc15f5eea866 7255d82ae06e4705adda02b0594a6835--00c18a0e0e934e94bd3dbc15f5eea866 1e2949080ded4e13a4c032221b9b247b X 00c18a0e0e934e94bd3dbc15f5eea866--1e2949080ded4e13a4c032221b9b247b 1e2949080ded4e13a4c032221b9b247b--5cf820c4c1ae4d8ab163985357b92717 f88d1bf551614175828e36ceac98d022 1e2949080ded4e13a4c032221b9b247b--f88d1bf551614175828e36ceac98d022 a4288760bf4943b6b5ecd2911aacc362 f88d1bf551614175828e36ceac98d022--a4288760bf4943b6b5ecd2911aacc362 ae65fdf46b5d49d29a270052694f99f4 a4288760bf4943b6b5ecd2911aacc362--ae65fdf46b5d49d29a270052694f99f4 a9e8a37400c947e593294611065c0095 ae65fdf46b5d49d29a270052694f99f4--a9e8a37400c947e593294611065c0095 38457d2c7b634471a2fd630c099b5d31 a9e8a37400c947e593294611065c0095--38457d2c7b634471a2fd630c099b5d31 ec6b0848b9f64480b68f8ec5562adb5b 38457d2c7b634471a2fd630c099b5d31--ec6b0848b9f64480b68f8ec5562adb5b f7644bd171814113ad6a0ce05ead7853 ec6b0848b9f64480b68f8ec5562adb5b--f7644bd171814113ad6a0ce05ead7853 36a9b384a6b34078914d5cb295ebbd5b f7644bd171814113ad6a0ce05ead7853--36a9b384a6b34078914d5cb295ebbd5b 3b21f35d1779490f94407f9c656895ec 36a9b384a6b34078914d5cb295ebbd5b--3b21f35d1779490f94407f9c656895ec c44b29fe4bd6413098e8b5aedd799aba X 3b21f35d1779490f94407f9c656895ec--c44b29fe4bd6413098e8b5aedd799aba c44b29fe4bd6413098e8b5aedd799aba--a3ab88b395664dce86e4d7427419e847 53c0f874e8eb44848730be75c8a4e964 c44b29fe4bd6413098e8b5aedd799aba--53c0f874e8eb44848730be75c8a4e964 13285f8eda244de894e4b8e8a1cc92c0 RX(b13) 53c0f874e8eb44848730be75c8a4e964--13285f8eda244de894e4b8e8a1cc92c0 13285f8eda244de894e4b8e8a1cc92c0--04dcd4819e8c4591989eaed0c2188721 88e04b858a544a1494beb501d177b5fa 5b23280526ca4d8e9e27e140c3b5031f db5acf6fd9294e3bae79376d9df0d137--5b23280526ca4d8e9e27e140c3b5031f 9d46efb74aa44c699fc7d417d82f836e 5 600cc6c3917a41f680baf3c234a36094 5b23280526ca4d8e9e27e140c3b5031f--600cc6c3917a41f680baf3c234a36094 b50bde597e3a48edbbffcae4d578c75b 600cc6c3917a41f680baf3c234a36094--b50bde597e3a48edbbffcae4d578c75b 4435ffb0903f4b7e8e31f2df20b13092 X b50bde597e3a48edbbffcae4d578c75b--4435ffb0903f4b7e8e31f2df20b13092 4435ffb0903f4b7e8e31f2df20b13092--5675fab2c78e4a738a01f57f3f586525 2024b0cf784942b481f4b8a832b178ea 4435ffb0903f4b7e8e31f2df20b13092--2024b0cf784942b481f4b8a832b178ea 6f940b834beb4facbbb04c191d70bd9e 2024b0cf784942b481f4b8a832b178ea--6f940b834beb4facbbb04c191d70bd9e fe8412eac97441fdbdb23a9b562d097f 6f940b834beb4facbbb04c191d70bd9e--fe8412eac97441fdbdb23a9b562d097f 101540654ef34f289a0100699a8a8976 fe8412eac97441fdbdb23a9b562d097f--101540654ef34f289a0100699a8a8976 794a3c502be840b0b31ed88915175b82 101540654ef34f289a0100699a8a8976--794a3c502be840b0b31ed88915175b82 8806f71c5fc64075a892eb02682eb698 794a3c502be840b0b31ed88915175b82--8806f71c5fc64075a892eb02682eb698 9afcd43c3b644728945b866c5555764a 8806f71c5fc64075a892eb02682eb698--9afcd43c3b644728945b866c5555764a ff7a5f46bc3343e8b8e1e1d9390b20c2 X 9afcd43c3b644728945b866c5555764a--ff7a5f46bc3343e8b8e1e1d9390b20c2 ff7a5f46bc3343e8b8e1e1d9390b20c2--4863c5aa659b45cba121fbc7e58f3b68 b3e4fbc3c96946aaba495c07774e0c9d ff7a5f46bc3343e8b8e1e1d9390b20c2--b3e4fbc3c96946aaba495c07774e0c9d 7cffb85cf8de4d889c26fc0f8d287331 b3e4fbc3c96946aaba495c07774e0c9d--7cffb85cf8de4d889c26fc0f8d287331 08774db30a084be798021091443a554a 7cffb85cf8de4d889c26fc0f8d287331--08774db30a084be798021091443a554a 1d41a43097ab41f6b61ad2e5507d0083 08774db30a084be798021091443a554a--1d41a43097ab41f6b61ad2e5507d0083 20b7cc7390544cd9970a15eed57fa7b9 1d41a43097ab41f6b61ad2e5507d0083--20b7cc7390544cd9970a15eed57fa7b9 db8a9dedf53145a7af4d36de1aa89ff2 20b7cc7390544cd9970a15eed57fa7b9--db8a9dedf53145a7af4d36de1aa89ff2 943cf92339ad4176ac2077560e88fb32 db8a9dedf53145a7af4d36de1aa89ff2--943cf92339ad4176ac2077560e88fb32 516bf06992764e3dbd907cd6aed628f5 943cf92339ad4176ac2077560e88fb32--516bf06992764e3dbd907cd6aed628f5 e793ad576c3b49ac88ee0aab6bc8b940 516bf06992764e3dbd907cd6aed628f5--e793ad576c3b49ac88ee0aab6bc8b940 3e0b6125aeaa4487bd23041acb8b8fd3 e793ad576c3b49ac88ee0aab6bc8b940--3e0b6125aeaa4487bd23041acb8b8fd3 b89212923ae94b7ca7154d9cd59ca332 3e0b6125aeaa4487bd23041acb8b8fd3--b89212923ae94b7ca7154d9cd59ca332 df942d2e7f89429ba248f0fd94d88fbf b89212923ae94b7ca7154d9cd59ca332--df942d2e7f89429ba248f0fd94d88fbf 2198b304cf9941afb15d6723b63705c1 df942d2e7f89429ba248f0fd94d88fbf--2198b304cf9941afb15d6723b63705c1 d9ce43b51a5e42aaa542065d1d5daf7e X 2198b304cf9941afb15d6723b63705c1--d9ce43b51a5e42aaa542065d1d5daf7e d9ce43b51a5e42aaa542065d1d5daf7e--49b0f58bd85846c294c2b0beae95fc61 ee31c58d51094e7ba5f12f4651e8424d d9ce43b51a5e42aaa542065d1d5daf7e--ee31c58d51094e7ba5f12f4651e8424d cb162b5ab4254937a5e27a90d36d0415 ee31c58d51094e7ba5f12f4651e8424d--cb162b5ab4254937a5e27a90d36d0415 13afa6540452463ca0c8092bb849cc98 cb162b5ab4254937a5e27a90d36d0415--13afa6540452463ca0c8092bb849cc98 24c0f7673abe407796a55a8003dd04de 13afa6540452463ca0c8092bb849cc98--24c0f7673abe407796a55a8003dd04de e08b0de347634e85b0ba17161ce7ebaa 24c0f7673abe407796a55a8003dd04de--e08b0de347634e85b0ba17161ce7ebaa e2ee7b165cbe4edeb47ba88013abb78c X e08b0de347634e85b0ba17161ce7ebaa--e2ee7b165cbe4edeb47ba88013abb78c e2ee7b165cbe4edeb47ba88013abb78c--8a55e9541ac94a72a5f33cb111bb208f 92b21dcb84e94b62834345b9bc12227e e2ee7b165cbe4edeb47ba88013abb78c--92b21dcb84e94b62834345b9bc12227e 585e2dc8eeaf4acdac6f226fc0d9839c 92b21dcb84e94b62834345b9bc12227e--585e2dc8eeaf4acdac6f226fc0d9839c 5311b6c77c2e4c00933e2ccde6c1b95a 585e2dc8eeaf4acdac6f226fc0d9839c--5311b6c77c2e4c00933e2ccde6c1b95a b34bac4135044d32b6c581810b73bbbf 5311b6c77c2e4c00933e2ccde6c1b95a--b34bac4135044d32b6c581810b73bbbf dac9553af72549859262204a8fcc4485 X b34bac4135044d32b6c581810b73bbbf--dac9553af72549859262204a8fcc4485 dac9553af72549859262204a8fcc4485--c10922f5f6bc43eabf36dc6c1abcbda5 c1953c04cf94489991a1c27385a1bc67 dac9553af72549859262204a8fcc4485--c1953c04cf94489991a1c27385a1bc67 62ab03a13b874d47bad179cb432b3ac3 c1953c04cf94489991a1c27385a1bc67--62ab03a13b874d47bad179cb432b3ac3 7663e539c62c4a6d9f9a4d350753a8f1 62ab03a13b874d47bad179cb432b3ac3--7663e539c62c4a6d9f9a4d350753a8f1 b02698d3d0f540dca63898ed2d11db7d 7663e539c62c4a6d9f9a4d350753a8f1--b02698d3d0f540dca63898ed2d11db7d e000246aae764bd0a55ed85134f160f0 b02698d3d0f540dca63898ed2d11db7d--e000246aae764bd0a55ed85134f160f0 da35c75ab6d84dc7b1dd1758ee69095c e000246aae764bd0a55ed85134f160f0--da35c75ab6d84dc7b1dd1758ee69095c 3e06e2661287496084010b15ca491ec3 da35c75ab6d84dc7b1dd1758ee69095c--3e06e2661287496084010b15ca491ec3 8ff416a9ded04f7ab960bb295584e4a1 X 3e06e2661287496084010b15ca491ec3--8ff416a9ded04f7ab960bb295584e4a1 8ff416a9ded04f7ab960bb295584e4a1--514b0fb91be84aaebb45fb08d8be3d68 2e76e42b6f9e4d29ac13f3a8f722669f 8ff416a9ded04f7ab960bb295584e4a1--2e76e42b6f9e4d29ac13f3a8f722669f ea24af73091741b1b5dc2844b2f8303d 2e76e42b6f9e4d29ac13f3a8f722669f--ea24af73091741b1b5dc2844b2f8303d faa303f306ff4ef08963c75958d5e6ae RX(b04) ea24af73091741b1b5dc2844b2f8303d--faa303f306ff4ef08963c75958d5e6ae d01b6bc683af4293995a1e9e70443ad0 faa303f306ff4ef08963c75958d5e6ae--d01b6bc683af4293995a1e9e70443ad0 7507a99f1e6e4867ac260a127d80da25 d01b6bc683af4293995a1e9e70443ad0--7507a99f1e6e4867ac260a127d80da25 df8f98af027745e6be0ac7b17b138cbb 7507a99f1e6e4867ac260a127d80da25--df8f98af027745e6be0ac7b17b138cbb 8ca3f034c7c34991a20fc9906f875e51 X df8f98af027745e6be0ac7b17b138cbb--8ca3f034c7c34991a20fc9906f875e51 8ca3f034c7c34991a20fc9906f875e51--2148f9c2b52843a7abb3630c4936d453 4116d1ab9d3e4b6e9dbf84afa73ac97c 8ca3f034c7c34991a20fc9906f875e51--4116d1ab9d3e4b6e9dbf84afa73ac97c 79f02954bee74610822455b8af417f8a 4116d1ab9d3e4b6e9dbf84afa73ac97c--79f02954bee74610822455b8af417f8a 62462e314b044439a0c4276b1424a2a9 79f02954bee74610822455b8af417f8a--62462e314b044439a0c4276b1424a2a9 c16fd1f613e141f2a52a9246c8c56615 62462e314b044439a0c4276b1424a2a9--c16fd1f613e141f2a52a9246c8c56615 5d00e23624d9416aa517d54b7a890917 c16fd1f613e141f2a52a9246c8c56615--5d00e23624d9416aa517d54b7a890917 3a3f41923507443d8b40b1b62e00a515 5d00e23624d9416aa517d54b7a890917--3a3f41923507443d8b40b1b62e00a515 83a417bf4f0a4de4b6e4c809503dcbd1 3a3f41923507443d8b40b1b62e00a515--83a417bf4f0a4de4b6e4c809503dcbd1 b34dc710f37344f095824e74860eaec4 X 83a417bf4f0a4de4b6e4c809503dcbd1--b34dc710f37344f095824e74860eaec4 b34dc710f37344f095824e74860eaec4--8ac47ad244bd46279f5e8eab749b6b4e afab104e0df84d98ac221e768fd52ac9 b34dc710f37344f095824e74860eaec4--afab104e0df84d98ac221e768fd52ac9 e3873662cb2a4319aab2541b28ad0d42 afab104e0df84d98ac221e768fd52ac9--e3873662cb2a4319aab2541b28ad0d42 98c64062467948e0ae2b1ebc6dcdc337 e3873662cb2a4319aab2541b28ad0d42--98c64062467948e0ae2b1ebc6dcdc337 755d842b821d480d8c56ab8d0e59e665 98c64062467948e0ae2b1ebc6dcdc337--755d842b821d480d8c56ab8d0e59e665 7aeda4780132453eaedcf8d556a89679 755d842b821d480d8c56ab8d0e59e665--7aeda4780132453eaedcf8d556a89679 142f1a4a80e244c5ba34387bdcf93e1d 7aeda4780132453eaedcf8d556a89679--142f1a4a80e244c5ba34387bdcf93e1d 54cc9efbc91a4e2ca046edebba26817b 142f1a4a80e244c5ba34387bdcf93e1d--54cc9efbc91a4e2ca046edebba26817b c03925f88c614b1097ff8db5efd5e39c 54cc9efbc91a4e2ca046edebba26817b--c03925f88c614b1097ff8db5efd5e39c bbe9e386d5e84786a88899435475aaeb c03925f88c614b1097ff8db5efd5e39c--bbe9e386d5e84786a88899435475aaeb e99492cd8af1412d94a52f962f317a11 bbe9e386d5e84786a88899435475aaeb--e99492cd8af1412d94a52f962f317a11 bb2498a51b354198bbbb6b5e088e8117 e99492cd8af1412d94a52f962f317a11--bb2498a51b354198bbbb6b5e088e8117 51e11ca396a24b9fb15aeb7484b03622 bb2498a51b354198bbbb6b5e088e8117--51e11ca396a24b9fb15aeb7484b03622 42021345471a48d0b1830ef5dcd33a87 51e11ca396a24b9fb15aeb7484b03622--42021345471a48d0b1830ef5dcd33a87 2a0e8958bdff4e9b9bcd4ada5ebd9f2b X 42021345471a48d0b1830ef5dcd33a87--2a0e8958bdff4e9b9bcd4ada5ebd9f2b 2a0e8958bdff4e9b9bcd4ada5ebd9f2b--56ca2673aea7401098bf86c76f11a35c c19e758ba0e94da4b4a8edc21a80bf5a 2a0e8958bdff4e9b9bcd4ada5ebd9f2b--c19e758ba0e94da4b4a8edc21a80bf5a 6275b9bf2c8f4704b3b0239ba2dc33b4 c19e758ba0e94da4b4a8edc21a80bf5a--6275b9bf2c8f4704b3b0239ba2dc33b4 eb57ebc9bb744b6bac0ca0486be9fc89 6275b9bf2c8f4704b3b0239ba2dc33b4--eb57ebc9bb744b6bac0ca0486be9fc89 ac5666bbf14945639b5a791177d2d75b eb57ebc9bb744b6bac0ca0486be9fc89--ac5666bbf14945639b5a791177d2d75b b5dc81302d334e918510aa4ce26115ab ac5666bbf14945639b5a791177d2d75b--b5dc81302d334e918510aa4ce26115ab 5710f545513c4bc2ac67235c4bf99367 X b5dc81302d334e918510aa4ce26115ab--5710f545513c4bc2ac67235c4bf99367 5710f545513c4bc2ac67235c4bf99367--a8bc4b7a38904000ad9bd9efde985cce fcbdc82696684692a250dc6e7895efdf 5710f545513c4bc2ac67235c4bf99367--fcbdc82696684692a250dc6e7895efdf 9f97f7c1c9b24e55bdb27123f5e74c24 fcbdc82696684692a250dc6e7895efdf--9f97f7c1c9b24e55bdb27123f5e74c24 b76d05a867e047a2b2db999e836a00e0 9f97f7c1c9b24e55bdb27123f5e74c24--b76d05a867e047a2b2db999e836a00e0 a160921950fd4b5398879a28ad4ac409 b76d05a867e047a2b2db999e836a00e0--a160921950fd4b5398879a28ad4ac409 ff65b23c20d547fe85f2d5e99e366d28 X a160921950fd4b5398879a28ad4ac409--ff65b23c20d547fe85f2d5e99e366d28 ff65b23c20d547fe85f2d5e99e366d28--f88d1bf551614175828e36ceac98d022 c3179270c868491cbb4759d0008390f5 ff65b23c20d547fe85f2d5e99e366d28--c3179270c868491cbb4759d0008390f5 cc5d82cb2b7b47ffbd3fb8ac1f0f45ca c3179270c868491cbb4759d0008390f5--cc5d82cb2b7b47ffbd3fb8ac1f0f45ca 96d1788ca88345049787689765e110d5 cc5d82cb2b7b47ffbd3fb8ac1f0f45ca--96d1788ca88345049787689765e110d5 1eb80bd458f647c3b4312f20c7fcd0aa 96d1788ca88345049787689765e110d5--1eb80bd458f647c3b4312f20c7fcd0aa 486e9d9ad05847fe8f497777db39a8a2 1eb80bd458f647c3b4312f20c7fcd0aa--486e9d9ad05847fe8f497777db39a8a2 ba688c127dfe4cff9aa9c3dc35c28f32 486e9d9ad05847fe8f497777db39a8a2--ba688c127dfe4cff9aa9c3dc35c28f32 d50cfd42f566468a9871e52860846fcc ba688c127dfe4cff9aa9c3dc35c28f32--d50cfd42f566468a9871e52860846fcc dc51b46cc2b843c5bf42bcfbafd83bde X d50cfd42f566468a9871e52860846fcc--dc51b46cc2b843c5bf42bcfbafd83bde dc51b46cc2b843c5bf42bcfbafd83bde--3b21f35d1779490f94407f9c656895ec 1d35653a1507446fb5a07455e46c0ce7 dc51b46cc2b843c5bf42bcfbafd83bde--1d35653a1507446fb5a07455e46c0ce7 fb0c144aa1e6417094d2ec1c21fc551f 1d35653a1507446fb5a07455e46c0ce7--fb0c144aa1e6417094d2ec1c21fc551f 863cc8c6e6ee4593b1624df915b99fec RX(b14) fb0c144aa1e6417094d2ec1c21fc551f--863cc8c6e6ee4593b1624df915b99fec 863cc8c6e6ee4593b1624df915b99fec--88e04b858a544a1494beb501d177b5fa 14ef95c8156a4c42bae997956a0143dc 56048f0000364293b29a873bf22d704b 9d46efb74aa44c699fc7d417d82f836e--56048f0000364293b29a873bf22d704b 075106a9b62445a5a02bbba2b9c6d0d6 6 3a89c06d4d774d8aa6d277cbae236454 56048f0000364293b29a873bf22d704b--3a89c06d4d774d8aa6d277cbae236454 e65c181968c640f7b3316ddcf3ab63a4 3a89c06d4d774d8aa6d277cbae236454--e65c181968c640f7b3316ddcf3ab63a4 ab864de69bc44c198dfbced56de0db13 e65c181968c640f7b3316ddcf3ab63a4--ab864de69bc44c198dfbced56de0db13 99d109194b824a4b8303a0a6328f614f X ab864de69bc44c198dfbced56de0db13--99d109194b824a4b8303a0a6328f614f 99d109194b824a4b8303a0a6328f614f--2024b0cf784942b481f4b8a832b178ea 802b8492de634446839f08369f73485a 99d109194b824a4b8303a0a6328f614f--802b8492de634446839f08369f73485a c8bf9343a20a49fc87f3994985a39880 802b8492de634446839f08369f73485a--c8bf9343a20a49fc87f3994985a39880 d62efb63eb854c74833532ab4c708305 c8bf9343a20a49fc87f3994985a39880--d62efb63eb854c74833532ab4c708305 14cdee5d563047758c4f0e2d5fa3fe08 d62efb63eb854c74833532ab4c708305--14cdee5d563047758c4f0e2d5fa3fe08 9486fea4751a4caaa34d343e1ab03647 14cdee5d563047758c4f0e2d5fa3fe08--9486fea4751a4caaa34d343e1ab03647 65126eaeca39499a97b028db9a3482e0 X 9486fea4751a4caaa34d343e1ab03647--65126eaeca39499a97b028db9a3482e0 65126eaeca39499a97b028db9a3482e0--9afcd43c3b644728945b866c5555764a 550683fd681a4dcdb802bfe822d0fce1 65126eaeca39499a97b028db9a3482e0--550683fd681a4dcdb802bfe822d0fce1 3ae511cd77e242e1915c2007404e9969 550683fd681a4dcdb802bfe822d0fce1--3ae511cd77e242e1915c2007404e9969 b4443a37df5b40588eee7379f4725bde 3ae511cd77e242e1915c2007404e9969--b4443a37df5b40588eee7379f4725bde 3801e419492d4e58b5724d8ec0e2b24f b4443a37df5b40588eee7379f4725bde--3801e419492d4e58b5724d8ec0e2b24f 035b355d092848db807111781ee70dfe 3801e419492d4e58b5724d8ec0e2b24f--035b355d092848db807111781ee70dfe 9ac3bc665ece4f3a96bee535b079abf5 035b355d092848db807111781ee70dfe--9ac3bc665ece4f3a96bee535b079abf5 4d414dbab8c148b98426c92cec20cdb6 9ac3bc665ece4f3a96bee535b079abf5--4d414dbab8c148b98426c92cec20cdb6 f6c0a5ec28f04bc28de49e9b2449f4af 4d414dbab8c148b98426c92cec20cdb6--f6c0a5ec28f04bc28de49e9b2449f4af e98055570b8747e9a404bc48151e16ba f6c0a5ec28f04bc28de49e9b2449f4af--e98055570b8747e9a404bc48151e16ba 3e2a5eb8a0d940ff90d319e3341dfae5 e98055570b8747e9a404bc48151e16ba--3e2a5eb8a0d940ff90d319e3341dfae5 17b9d4291df94636a847da34c30bc264 3e2a5eb8a0d940ff90d319e3341dfae5--17b9d4291df94636a847da34c30bc264 1eb064e1274f4144b4c2463b3b03630a 17b9d4291df94636a847da34c30bc264--1eb064e1274f4144b4c2463b3b03630a b1ab80640fdf43359ce0b988a893acb2 1eb064e1274f4144b4c2463b3b03630a--b1ab80640fdf43359ce0b988a893acb2 1ac639ea439f48149e200920508c8678 b1ab80640fdf43359ce0b988a893acb2--1ac639ea439f48149e200920508c8678 3b52b4e108b5454abaefcd938b45c1d4 1ac639ea439f48149e200920508c8678--3b52b4e108b5454abaefcd938b45c1d4 c2345c35d1364eaab8551974bee6229f X 3b52b4e108b5454abaefcd938b45c1d4--c2345c35d1364eaab8551974bee6229f c2345c35d1364eaab8551974bee6229f--ee31c58d51094e7ba5f12f4651e8424d 33b7e121153240838619019e6524cfc6 c2345c35d1364eaab8551974bee6229f--33b7e121153240838619019e6524cfc6 668986aa8a3346fd9823e54c3efa6e5d 33b7e121153240838619019e6524cfc6--668986aa8a3346fd9823e54c3efa6e5d c9255a2a41604c1c80fc6b7b417cd9b0 668986aa8a3346fd9823e54c3efa6e5d--c9255a2a41604c1c80fc6b7b417cd9b0 97f46c60cb4e4bf6ba691dc7c9e57a91 X c9255a2a41604c1c80fc6b7b417cd9b0--97f46c60cb4e4bf6ba691dc7c9e57a91 97f46c60cb4e4bf6ba691dc7c9e57a91--e08b0de347634e85b0ba17161ce7ebaa 3172c362307c43e9aa5d4da4a42273fc 97f46c60cb4e4bf6ba691dc7c9e57a91--3172c362307c43e9aa5d4da4a42273fc f6bbef5f52144851bcde38f5b8849c72 3172c362307c43e9aa5d4da4a42273fc--f6bbef5f52144851bcde38f5b8849c72 ba27b601580d45808a5191fd074122c7 f6bbef5f52144851bcde38f5b8849c72--ba27b601580d45808a5191fd074122c7 084f7024156249b083c6e22ba03d4a25 ba27b601580d45808a5191fd074122c7--084f7024156249b083c6e22ba03d4a25 4da64bf6883a470d94c6e61b581360d6 084f7024156249b083c6e22ba03d4a25--4da64bf6883a470d94c6e61b581360d6 79ff6409a99f46489845de45e497d25e 4da64bf6883a470d94c6e61b581360d6--79ff6409a99f46489845de45e497d25e 40ee719d536f4e74a30d331c2e062cff X 79ff6409a99f46489845de45e497d25e--40ee719d536f4e74a30d331c2e062cff 40ee719d536f4e74a30d331c2e062cff--c1953c04cf94489991a1c27385a1bc67 d5e4dfdb9998430885004efa94438cff 40ee719d536f4e74a30d331c2e062cff--d5e4dfdb9998430885004efa94438cff e19d149017414cc3bf25785930c94ee6 d5e4dfdb9998430885004efa94438cff--e19d149017414cc3bf25785930c94ee6 71a96861e6364d8d924ff412bbd01818 e19d149017414cc3bf25785930c94ee6--71a96861e6364d8d924ff412bbd01818 3617bd3afc9f418fa6ccbd87a3d9b1bd 71a96861e6364d8d924ff412bbd01818--3617bd3afc9f418fa6ccbd87a3d9b1bd a25e99f574004b35af60992bb74d6be2 3617bd3afc9f418fa6ccbd87a3d9b1bd--a25e99f574004b35af60992bb74d6be2 017e89078d664b7dbf855016868314ed X a25e99f574004b35af60992bb74d6be2--017e89078d664b7dbf855016868314ed 017e89078d664b7dbf855016868314ed--3e06e2661287496084010b15ca491ec3 c4c546be1efc4ef097727276ca305344 017e89078d664b7dbf855016868314ed--c4c546be1efc4ef097727276ca305344 554cf1b96ada45718f4a04b88d13f3f7 c4c546be1efc4ef097727276ca305344--554cf1b96ada45718f4a04b88d13f3f7 c3f0b74987034738bafd12cdc69970cb 554cf1b96ada45718f4a04b88d13f3f7--c3f0b74987034738bafd12cdc69970cb bfa265703ef54ae8a0a5acfb5920ace5 RX(b05) c3f0b74987034738bafd12cdc69970cb--bfa265703ef54ae8a0a5acfb5920ace5 78b1070794a2441cba3b7e80f0b21182 bfa265703ef54ae8a0a5acfb5920ace5--78b1070794a2441cba3b7e80f0b21182 45155f2acac84cf69193ce6dc2b94a84 78b1070794a2441cba3b7e80f0b21182--45155f2acac84cf69193ce6dc2b94a84 bf6e8bb2811845dd80919b54faa27b97 45155f2acac84cf69193ce6dc2b94a84--bf6e8bb2811845dd80919b54faa27b97 77cc3a82d4274e83961182c4d79256b4 bf6e8bb2811845dd80919b54faa27b97--77cc3a82d4274e83961182c4d79256b4 6b8b5c6e725a480da630cfca2bcf2d28 X 77cc3a82d4274e83961182c4d79256b4--6b8b5c6e725a480da630cfca2bcf2d28 6b8b5c6e725a480da630cfca2bcf2d28--4116d1ab9d3e4b6e9dbf84afa73ac97c 3a6c895773e04d82bd01a099d19e30ed 6b8b5c6e725a480da630cfca2bcf2d28--3a6c895773e04d82bd01a099d19e30ed fa0e55e52e824cada62e8ef2703c87d0 3a6c895773e04d82bd01a099d19e30ed--fa0e55e52e824cada62e8ef2703c87d0 4117e76ab19343e3818b5696428810d1 fa0e55e52e824cada62e8ef2703c87d0--4117e76ab19343e3818b5696428810d1 1775a4ceadc04b768df6ccc8ac865b83 4117e76ab19343e3818b5696428810d1--1775a4ceadc04b768df6ccc8ac865b83 bae6b6c36af84e31952f737be674c0e8 1775a4ceadc04b768df6ccc8ac865b83--bae6b6c36af84e31952f737be674c0e8 dd09450953a946178cd7e515d0fe1d73 X bae6b6c36af84e31952f737be674c0e8--dd09450953a946178cd7e515d0fe1d73 dd09450953a946178cd7e515d0fe1d73--83a417bf4f0a4de4b6e4c809503dcbd1 e979cc9df2bc48e38ebb87fa47ed86a9 dd09450953a946178cd7e515d0fe1d73--e979cc9df2bc48e38ebb87fa47ed86a9 c1fd755002664c2cab4e58c3a732da7f e979cc9df2bc48e38ebb87fa47ed86a9--c1fd755002664c2cab4e58c3a732da7f d2993be21ee047938a3e6017818f4f81 c1fd755002664c2cab4e58c3a732da7f--d2993be21ee047938a3e6017818f4f81 d34a72cffa264d7299d94baf05351d8b d2993be21ee047938a3e6017818f4f81--d34a72cffa264d7299d94baf05351d8b 8d1724d4415c4d99bf9acea07d244eb1 d34a72cffa264d7299d94baf05351d8b--8d1724d4415c4d99bf9acea07d244eb1 7e8de0d7d05b49bc99f6170acda221d8 8d1724d4415c4d99bf9acea07d244eb1--7e8de0d7d05b49bc99f6170acda221d8 fde1f14fb24840928eed4903469f732a 7e8de0d7d05b49bc99f6170acda221d8--fde1f14fb24840928eed4903469f732a 3fe1418d71de49d5ba0b931cabf3588b fde1f14fb24840928eed4903469f732a--3fe1418d71de49d5ba0b931cabf3588b 9fd3be7722b848c197bc7c58f948c940 3fe1418d71de49d5ba0b931cabf3588b--9fd3be7722b848c197bc7c58f948c940 a9fb4c654e74494b826027d507aac76b 9fd3be7722b848c197bc7c58f948c940--a9fb4c654e74494b826027d507aac76b cbc88a00323e4200a67fe1ba38125b13 a9fb4c654e74494b826027d507aac76b--cbc88a00323e4200a67fe1ba38125b13 bc1c07a9e3f9428194b21e1a90d1bc08 cbc88a00323e4200a67fe1ba38125b13--bc1c07a9e3f9428194b21e1a90d1bc08 a1b67c2443b44726ba6afc09082e7052 bc1c07a9e3f9428194b21e1a90d1bc08--a1b67c2443b44726ba6afc09082e7052 ef05c4bf380540538b4a7424ca369e96 a1b67c2443b44726ba6afc09082e7052--ef05c4bf380540538b4a7424ca369e96 76973f1b63bf40199cc50211580da364 ef05c4bf380540538b4a7424ca369e96--76973f1b63bf40199cc50211580da364 d543838aa5a0419f9b46339d9da8e58b X 76973f1b63bf40199cc50211580da364--d543838aa5a0419f9b46339d9da8e58b d543838aa5a0419f9b46339d9da8e58b--c19e758ba0e94da4b4a8edc21a80bf5a 232b3e845b7c4d578be2b842592132fd d543838aa5a0419f9b46339d9da8e58b--232b3e845b7c4d578be2b842592132fd 5c43c581c4764ff5aa864463bf565820 232b3e845b7c4d578be2b842592132fd--5c43c581c4764ff5aa864463bf565820 69616508d519435ca18f3f3be589642b 5c43c581c4764ff5aa864463bf565820--69616508d519435ca18f3f3be589642b 3e7cf87051804ecea19c9f90b81e6250 X 69616508d519435ca18f3f3be589642b--3e7cf87051804ecea19c9f90b81e6250 3e7cf87051804ecea19c9f90b81e6250--b5dc81302d334e918510aa4ce26115ab 542b71f5bd4647d794ed81191fe66d2b 3e7cf87051804ecea19c9f90b81e6250--542b71f5bd4647d794ed81191fe66d2b 15ba3a61017f46678c99ed7413085c57 542b71f5bd4647d794ed81191fe66d2b--15ba3a61017f46678c99ed7413085c57 18e229917bc449d799129447d85324a8 15ba3a61017f46678c99ed7413085c57--18e229917bc449d799129447d85324a8 bde489452d6d4ea396306d4635bd390b 18e229917bc449d799129447d85324a8--bde489452d6d4ea396306d4635bd390b 4b9f4bbdd8764c279b54eaa741e4ab20 bde489452d6d4ea396306d4635bd390b--4b9f4bbdd8764c279b54eaa741e4ab20 0458c08081d34b4ca31d0239f5d63c93 4b9f4bbdd8764c279b54eaa741e4ab20--0458c08081d34b4ca31d0239f5d63c93 39105e810e5442cd8e90a32e51e8d0b1 X 0458c08081d34b4ca31d0239f5d63c93--39105e810e5442cd8e90a32e51e8d0b1 39105e810e5442cd8e90a32e51e8d0b1--c3179270c868491cbb4759d0008390f5 fc9bbddc3e7d46c5b5647d20a57f7392 39105e810e5442cd8e90a32e51e8d0b1--fc9bbddc3e7d46c5b5647d20a57f7392 11cee592dd994c3bb0f1785be879ff2b fc9bbddc3e7d46c5b5647d20a57f7392--11cee592dd994c3bb0f1785be879ff2b eb9a5eaa15f64aebbf851aa05174c178 11cee592dd994c3bb0f1785be879ff2b--eb9a5eaa15f64aebbf851aa05174c178 84aea385b9de4012b40dc9679974b98e eb9a5eaa15f64aebbf851aa05174c178--84aea385b9de4012b40dc9679974b98e c7b6e120f854414a814e349962ba591e 84aea385b9de4012b40dc9679974b98e--c7b6e120f854414a814e349962ba591e 641e1eb15af247fda138034cfb88d0d8 X c7b6e120f854414a814e349962ba591e--641e1eb15af247fda138034cfb88d0d8 641e1eb15af247fda138034cfb88d0d8--d50cfd42f566468a9871e52860846fcc 9422a9f7769141a59f9efa111ed86008 641e1eb15af247fda138034cfb88d0d8--9422a9f7769141a59f9efa111ed86008 103df8b99b2847e9a0bb00c73f20bcd4 9422a9f7769141a59f9efa111ed86008--103df8b99b2847e9a0bb00c73f20bcd4 4e91a0ba9ab744018bc56621186144ef 103df8b99b2847e9a0bb00c73f20bcd4--4e91a0ba9ab744018bc56621186144ef 14a5ef020991489db488da97ef0f28fb RX(b15) 4e91a0ba9ab744018bc56621186144ef--14a5ef020991489db488da97ef0f28fb 14a5ef020991489db488da97ef0f28fb--14ef95c8156a4c42bae997956a0143dc e3baa7494a6e446ea2a70413dcc2d91d 748c9b9e09d04f85a2646d639200d8f6 075106a9b62445a5a02bbba2b9c6d0d6--748c9b9e09d04f85a2646d639200d8f6 ffab22f7d5e5439688843070ca43df94 7 db8261a77d2b4177892b8fd3235176bd 748c9b9e09d04f85a2646d639200d8f6--db8261a77d2b4177892b8fd3235176bd f394d42fadbc4b3189e01e8f13ee9516 db8261a77d2b4177892b8fd3235176bd--f394d42fadbc4b3189e01e8f13ee9516 a41e1385e1e94a74ab945e316d7f5f32 f394d42fadbc4b3189e01e8f13ee9516--a41e1385e1e94a74ab945e316d7f5f32 fc91c5a5bcd048b890e387fcb757d580 a41e1385e1e94a74ab945e316d7f5f32--fc91c5a5bcd048b890e387fcb757d580 0c302689626541c3a8de55f5c18009f9 X fc91c5a5bcd048b890e387fcb757d580--0c302689626541c3a8de55f5c18009f9 0c302689626541c3a8de55f5c18009f9--802b8492de634446839f08369f73485a 3c831677fd8347d0938b737127d84390 0c302689626541c3a8de55f5c18009f9--3c831677fd8347d0938b737127d84390 78adf1b5346543e081e4d241f32422c2 3c831677fd8347d0938b737127d84390--78adf1b5346543e081e4d241f32422c2 0cee9c41bbbe470e8b65802e7780118a 78adf1b5346543e081e4d241f32422c2--0cee9c41bbbe470e8b65802e7780118a bede5566910046dfa086cc2ea4176d7a X 0cee9c41bbbe470e8b65802e7780118a--bede5566910046dfa086cc2ea4176d7a bede5566910046dfa086cc2ea4176d7a--9486fea4751a4caaa34d343e1ab03647 0c7398358ad7425bb111fecbfe756d06 bede5566910046dfa086cc2ea4176d7a--0c7398358ad7425bb111fecbfe756d06 29560fde62dd4d8cba7d465e331550aa 0c7398358ad7425bb111fecbfe756d06--29560fde62dd4d8cba7d465e331550aa f9c582d6ac78477c8ec7624833e60184 29560fde62dd4d8cba7d465e331550aa--f9c582d6ac78477c8ec7624833e60184 147a2942b9334145ae62c2fbd8adbb47 f9c582d6ac78477c8ec7624833e60184--147a2942b9334145ae62c2fbd8adbb47 3f329fd9eac441cc98b266a3bfa1b8d3 147a2942b9334145ae62c2fbd8adbb47--3f329fd9eac441cc98b266a3bfa1b8d3 979cd862c59f4e889d5c2f37f57700df 3f329fd9eac441cc98b266a3bfa1b8d3--979cd862c59f4e889d5c2f37f57700df f33f74baf75f4adaa96c0b5b15a6a1d9 979cd862c59f4e889d5c2f37f57700df--f33f74baf75f4adaa96c0b5b15a6a1d9 7360929c77c94f89b2c072131a907363 f33f74baf75f4adaa96c0b5b15a6a1d9--7360929c77c94f89b2c072131a907363 7e2a8488d8ad4310870eaf4f248b193f 7360929c77c94f89b2c072131a907363--7e2a8488d8ad4310870eaf4f248b193f cd544abaa85441b2a655a1e5717ef6b4 7e2a8488d8ad4310870eaf4f248b193f--cd544abaa85441b2a655a1e5717ef6b4 77314a4d031b47a58d8590c9c3cf73f4 cd544abaa85441b2a655a1e5717ef6b4--77314a4d031b47a58d8590c9c3cf73f4 afb08d9be65d465dbc677255ac6650c8 77314a4d031b47a58d8590c9c3cf73f4--afb08d9be65d465dbc677255ac6650c8 9f4ff2d82dbc498a8c5c529c9c1c0c96 afb08d9be65d465dbc677255ac6650c8--9f4ff2d82dbc498a8c5c529c9c1c0c96 e75bf2931641469db323eedb416e5513 9f4ff2d82dbc498a8c5c529c9c1c0c96--e75bf2931641469db323eedb416e5513 b745481f3fc942209dec696d05ed2577 e75bf2931641469db323eedb416e5513--b745481f3fc942209dec696d05ed2577 24b7ed32dbfb4daf926b2b38384639a4 b745481f3fc942209dec696d05ed2577--24b7ed32dbfb4daf926b2b38384639a4 435e9b50297041b9a004763cefe8dba1 24b7ed32dbfb4daf926b2b38384639a4--435e9b50297041b9a004763cefe8dba1 179965374e5c4d5fa1c65614cd3d6c01 X 435e9b50297041b9a004763cefe8dba1--179965374e5c4d5fa1c65614cd3d6c01 179965374e5c4d5fa1c65614cd3d6c01--33b7e121153240838619019e6524cfc6 4d2b7a4d67bc49db911afe9a727d254d RZ(-1.0*g0) 179965374e5c4d5fa1c65614cd3d6c01--4d2b7a4d67bc49db911afe9a727d254d 7144102fdca04c84a75ae43d6ee24d23 X 4d2b7a4d67bc49db911afe9a727d254d--7144102fdca04c84a75ae43d6ee24d23 7144102fdca04c84a75ae43d6ee24d23--c9255a2a41604c1c80fc6b7b417cd9b0 5aef157ccfa44189948c1a2ee6f2ab32 7144102fdca04c84a75ae43d6ee24d23--5aef157ccfa44189948c1a2ee6f2ab32 301a3ef967714c2b8f66dd12ada0b08f 5aef157ccfa44189948c1a2ee6f2ab32--301a3ef967714c2b8f66dd12ada0b08f 7a17105dc9e44f1094e70899bfe6c051 301a3ef967714c2b8f66dd12ada0b08f--7a17105dc9e44f1094e70899bfe6c051 cac460aeb7a6427c8492cb4cec0fb79f 7a17105dc9e44f1094e70899bfe6c051--cac460aeb7a6427c8492cb4cec0fb79f 0f591382f07d435c97675b91ffd0ed0f cac460aeb7a6427c8492cb4cec0fb79f--0f591382f07d435c97675b91ffd0ed0f 92c5bdf7422e4a2fae43caa6d955eb40 0f591382f07d435c97675b91ffd0ed0f--92c5bdf7422e4a2fae43caa6d955eb40 e44df18be9c549a2ad13ac2f302558c9 92c5bdf7422e4a2fae43caa6d955eb40--e44df18be9c549a2ad13ac2f302558c9 2e9dd609f298492ea847450742f09766 e44df18be9c549a2ad13ac2f302558c9--2e9dd609f298492ea847450742f09766 d9b08d57919446e29fbf3efb1bc5b663 X 2e9dd609f298492ea847450742f09766--d9b08d57919446e29fbf3efb1bc5b663 d9b08d57919446e29fbf3efb1bc5b663--d5e4dfdb9998430885004efa94438cff 57516a8795a147bfb55d94e99bae43ec d9b08d57919446e29fbf3efb1bc5b663--57516a8795a147bfb55d94e99bae43ec e9970da6d6e0421aab59d483b6215ea4 57516a8795a147bfb55d94e99bae43ec--e9970da6d6e0421aab59d483b6215ea4 53f292febb8b444a97d8e6808b9c42c4 e9970da6d6e0421aab59d483b6215ea4--53f292febb8b444a97d8e6808b9c42c4 2f86b610971b4b89837e8439f6c6e053 X 53f292febb8b444a97d8e6808b9c42c4--2f86b610971b4b89837e8439f6c6e053 2f86b610971b4b89837e8439f6c6e053--a25e99f574004b35af60992bb74d6be2 e193e08b03484e4c8cba490907c9b129 2f86b610971b4b89837e8439f6c6e053--e193e08b03484e4c8cba490907c9b129 79754f95a6f84686845c2fddd8af89e8 e193e08b03484e4c8cba490907c9b129--79754f95a6f84686845c2fddd8af89e8 65f751e4b20b481b8b8cf3f4a83ff9ec 79754f95a6f84686845c2fddd8af89e8--65f751e4b20b481b8b8cf3f4a83ff9ec aa0c51eacc50406396f59fbcf43671ea 65f751e4b20b481b8b8cf3f4a83ff9ec--aa0c51eacc50406396f59fbcf43671ea 5c7bba2eff374cdaa1bdc02cd8dc7e70 RX(b06) aa0c51eacc50406396f59fbcf43671ea--5c7bba2eff374cdaa1bdc02cd8dc7e70 76a5dea28a3c429cb99a4627dbb84ef4 5c7bba2eff374cdaa1bdc02cd8dc7e70--76a5dea28a3c429cb99a4627dbb84ef4 14cab314701c4993a30bbbf3712f189b 76a5dea28a3c429cb99a4627dbb84ef4--14cab314701c4993a30bbbf3712f189b 544520b1f8504ae7b0af9c97377a9fc0 14cab314701c4993a30bbbf3712f189b--544520b1f8504ae7b0af9c97377a9fc0 74d71a88f00942f396b4bc3ed4204ec8 544520b1f8504ae7b0af9c97377a9fc0--74d71a88f00942f396b4bc3ed4204ec8 6f0d6602c7ef4dcea302c33e2c67f716 74d71a88f00942f396b4bc3ed4204ec8--6f0d6602c7ef4dcea302c33e2c67f716 d80d8cac69424b02b3900b7a555ff97d X 6f0d6602c7ef4dcea302c33e2c67f716--d80d8cac69424b02b3900b7a555ff97d d80d8cac69424b02b3900b7a555ff97d--3a6c895773e04d82bd01a099d19e30ed 16054c93dd144472bd839d199665af5e d80d8cac69424b02b3900b7a555ff97d--16054c93dd144472bd839d199665af5e db2a3b4b301c41aeb002d6ab6cfa6a89 16054c93dd144472bd839d199665af5e--db2a3b4b301c41aeb002d6ab6cfa6a89 e8014702f28646c3b3ce35dbb4dbd955 db2a3b4b301c41aeb002d6ab6cfa6a89--e8014702f28646c3b3ce35dbb4dbd955 5eae0e89e92b437fa07f5087955ec971 X e8014702f28646c3b3ce35dbb4dbd955--5eae0e89e92b437fa07f5087955ec971 5eae0e89e92b437fa07f5087955ec971--bae6b6c36af84e31952f737be674c0e8 4306a48523b94ba49891076864f0fdff 5eae0e89e92b437fa07f5087955ec971--4306a48523b94ba49891076864f0fdff 51c85df0157244ac9dced1bfd3440fdd 4306a48523b94ba49891076864f0fdff--51c85df0157244ac9dced1bfd3440fdd 5fccd2e76dac470993626a349566197e 51c85df0157244ac9dced1bfd3440fdd--5fccd2e76dac470993626a349566197e b20bfe11534b4197be708a1d7e69cd91 5fccd2e76dac470993626a349566197e--b20bfe11534b4197be708a1d7e69cd91 f60073f6966e4f55b3568eee012b6bef b20bfe11534b4197be708a1d7e69cd91--f60073f6966e4f55b3568eee012b6bef c1edd83ca2324006a45a9d1299149848 f60073f6966e4f55b3568eee012b6bef--c1edd83ca2324006a45a9d1299149848 19baa290b9514ca5abfc5c2200221663 c1edd83ca2324006a45a9d1299149848--19baa290b9514ca5abfc5c2200221663 64b97f4879e941e28fa4f664fbc2022a 19baa290b9514ca5abfc5c2200221663--64b97f4879e941e28fa4f664fbc2022a 710fc87cc2384b739bc69f3ae4f04e29 64b97f4879e941e28fa4f664fbc2022a--710fc87cc2384b739bc69f3ae4f04e29 108491dbd2a64c7aa81b2985f4532ff3 710fc87cc2384b739bc69f3ae4f04e29--108491dbd2a64c7aa81b2985f4532ff3 b3240c45d9324059a645cb5e5172ad69 108491dbd2a64c7aa81b2985f4532ff3--b3240c45d9324059a645cb5e5172ad69 8c7f521fe62b4efe8862aebcbae4f04d b3240c45d9324059a645cb5e5172ad69--8c7f521fe62b4efe8862aebcbae4f04d 79bb2d60f5294c28af392ddea85ed583 8c7f521fe62b4efe8862aebcbae4f04d--79bb2d60f5294c28af392ddea85ed583 be254a2cb87244b29c2bc41c102ddc9a 79bb2d60f5294c28af392ddea85ed583--be254a2cb87244b29c2bc41c102ddc9a 5ff84e1fd4b943be86a99929ea5979e9 be254a2cb87244b29c2bc41c102ddc9a--5ff84e1fd4b943be86a99929ea5979e9 3ae1929cffcd494baac1e0ef2ca3d37e 5ff84e1fd4b943be86a99929ea5979e9--3ae1929cffcd494baac1e0ef2ca3d37e 608ac6b898c94d51af7882fabcbfa748 3ae1929cffcd494baac1e0ef2ca3d37e--608ac6b898c94d51af7882fabcbfa748 48307ef595ec4cb29cb7ddd47186f225 X 608ac6b898c94d51af7882fabcbfa748--48307ef595ec4cb29cb7ddd47186f225 48307ef595ec4cb29cb7ddd47186f225--232b3e845b7c4d578be2b842592132fd 692798ce716244eeb101ebadedbd78df RZ(-1.0*g1) 48307ef595ec4cb29cb7ddd47186f225--692798ce716244eeb101ebadedbd78df 693fdd05c55249aa94caba0c44d73e29 X 692798ce716244eeb101ebadedbd78df--693fdd05c55249aa94caba0c44d73e29 693fdd05c55249aa94caba0c44d73e29--69616508d519435ca18f3f3be589642b bec3a0ced39d4dc5b2454e671f289682 693fdd05c55249aa94caba0c44d73e29--bec3a0ced39d4dc5b2454e671f289682 3060d88ce41a495886a11c928ecd499c bec3a0ced39d4dc5b2454e671f289682--3060d88ce41a495886a11c928ecd499c 9197d861bfbd4230b0cf6b934e044c47 3060d88ce41a495886a11c928ecd499c--9197d861bfbd4230b0cf6b934e044c47 9df5c8aa5f4840ad8f611303ca2b761a 9197d861bfbd4230b0cf6b934e044c47--9df5c8aa5f4840ad8f611303ca2b761a 30613275d14c41b090f13a5c9d08e121 9df5c8aa5f4840ad8f611303ca2b761a--30613275d14c41b090f13a5c9d08e121 318555b0aa9a44a6a10abff7adc9bcf4 30613275d14c41b090f13a5c9d08e121--318555b0aa9a44a6a10abff7adc9bcf4 af941730609d49b9b75f6aaa6fb0b6c7 318555b0aa9a44a6a10abff7adc9bcf4--af941730609d49b9b75f6aaa6fb0b6c7 f672a6eac03e498ca4a26d32e8447ecc af941730609d49b9b75f6aaa6fb0b6c7--f672a6eac03e498ca4a26d32e8447ecc 214771170fa444b1a4634ca79111578d X f672a6eac03e498ca4a26d32e8447ecc--214771170fa444b1a4634ca79111578d 214771170fa444b1a4634ca79111578d--fc9bbddc3e7d46c5b5647d20a57f7392 99a92c37222d44fa81f391845e23c2bb 214771170fa444b1a4634ca79111578d--99a92c37222d44fa81f391845e23c2bb f0840be962b544f5ad697496b85955e3 99a92c37222d44fa81f391845e23c2bb--f0840be962b544f5ad697496b85955e3 78fea358ec144d3ca8b24d302f1adebc f0840be962b544f5ad697496b85955e3--78fea358ec144d3ca8b24d302f1adebc 0c7721a39e694c12adb5fad9f4e63848 X 78fea358ec144d3ca8b24d302f1adebc--0c7721a39e694c12adb5fad9f4e63848 0c7721a39e694c12adb5fad9f4e63848--c7b6e120f854414a814e349962ba591e ab56aa4a7e5d4a90889e6fdd1cf1fb15 0c7721a39e694c12adb5fad9f4e63848--ab56aa4a7e5d4a90889e6fdd1cf1fb15 aef812c13d0349b8b8a700a05844a681 ab56aa4a7e5d4a90889e6fdd1cf1fb15--aef812c13d0349b8b8a700a05844a681 89f03846d1ef4070b74a650a1b82ee92 aef812c13d0349b8b8a700a05844a681--89f03846d1ef4070b74a650a1b82ee92 7e13e1ccc2744632b48310a926c4a7d7 89f03846d1ef4070b74a650a1b82ee92--7e13e1ccc2744632b48310a926c4a7d7 f342a3103f7c430c821af9f45550e43d RX(b16) 7e13e1ccc2744632b48310a926c4a7d7--f342a3103f7c430c821af9f45550e43d f342a3103f7c430c821af9f45550e43d--e3baa7494a6e446ea2a70413dcc2d91d fda88e21d1104740bbc5d7a8ba4a4851 775e0de99a9b4f788ce83598b1f2485f ffab22f7d5e5439688843070ca43df94--775e0de99a9b4f788ce83598b1f2485f f8900350ea23438cbd9062ee8e4770b6 775e0de99a9b4f788ce83598b1f2485f--f8900350ea23438cbd9062ee8e4770b6 d722cf7ab3b84e528ed7f4a14ea201e2 f8900350ea23438cbd9062ee8e4770b6--d722cf7ab3b84e528ed7f4a14ea201e2 602760e6ccaf479f8bf69991f3c5e170 d722cf7ab3b84e528ed7f4a14ea201e2--602760e6ccaf479f8bf69991f3c5e170 574c40176754441e98eea05af0b2b6d6 602760e6ccaf479f8bf69991f3c5e170--574c40176754441e98eea05af0b2b6d6 e9a9dead8ebe4d6aaf0ce886494e312f 574c40176754441e98eea05af0b2b6d6--e9a9dead8ebe4d6aaf0ce886494e312f 61624423d0b4467cbb0da90fa3abcf91 X e9a9dead8ebe4d6aaf0ce886494e312f--61624423d0b4467cbb0da90fa3abcf91 61624423d0b4467cbb0da90fa3abcf91--3c831677fd8347d0938b737127d84390 2ba6097396b74adfa858f6e05972a7a6 RZ(1.0*g0) 61624423d0b4467cbb0da90fa3abcf91--2ba6097396b74adfa858f6e05972a7a6 755453f16cd1405eb593dc92c6e0ea32 X 2ba6097396b74adfa858f6e05972a7a6--755453f16cd1405eb593dc92c6e0ea32 755453f16cd1405eb593dc92c6e0ea32--0cee9c41bbbe470e8b65802e7780118a 0bfbf6f5b6994c1484496fbc29c2043c 755453f16cd1405eb593dc92c6e0ea32--0bfbf6f5b6994c1484496fbc29c2043c 2c6b4b3dcb1b4a559e4466b1b2143c9f 0bfbf6f5b6994c1484496fbc29c2043c--2c6b4b3dcb1b4a559e4466b1b2143c9f c72465e7a80b4bf480a1d60ca5bc1b6d 2c6b4b3dcb1b4a559e4466b1b2143c9f--c72465e7a80b4bf480a1d60ca5bc1b6d ed5119e1822e4bc19c3a47660bf63755 c72465e7a80b4bf480a1d60ca5bc1b6d--ed5119e1822e4bc19c3a47660bf63755 33602474f5e4426b9e2974a0b832591c ed5119e1822e4bc19c3a47660bf63755--33602474f5e4426b9e2974a0b832591c 56bdb16a4cc84173a4fc5ea7effb34a6 33602474f5e4426b9e2974a0b832591c--56bdb16a4cc84173a4fc5ea7effb34a6 fb52d73669d94823a45411cdd128d605 56bdb16a4cc84173a4fc5ea7effb34a6--fb52d73669d94823a45411cdd128d605 25a52e27cf0f43acb26b4180d821714e fb52d73669d94823a45411cdd128d605--25a52e27cf0f43acb26b4180d821714e 17fd409694794a8fb0442d77ab990e34 25a52e27cf0f43acb26b4180d821714e--17fd409694794a8fb0442d77ab990e34 ea6fe820b6474deab8cb04477582602a 17fd409694794a8fb0442d77ab990e34--ea6fe820b6474deab8cb04477582602a f9c29e864c6a49c48a8fae2c0268d949 ea6fe820b6474deab8cb04477582602a--f9c29e864c6a49c48a8fae2c0268d949 a26ec177ebc2413499739532e30b26d6 f9c29e864c6a49c48a8fae2c0268d949--a26ec177ebc2413499739532e30b26d6 5576b88703a3417c978d068cd36310ce a26ec177ebc2413499739532e30b26d6--5576b88703a3417c978d068cd36310ce dc4fdca9ed8e44248ec49236daeb33b8 5576b88703a3417c978d068cd36310ce--dc4fdca9ed8e44248ec49236daeb33b8 c776dd09b19a4919940f48d4dcbbee12 dc4fdca9ed8e44248ec49236daeb33b8--c776dd09b19a4919940f48d4dcbbee12 fb6dd29bd42a4443a1cf051f2427682f c776dd09b19a4919940f48d4dcbbee12--fb6dd29bd42a4443a1cf051f2427682f 1f5180668fd4448e954369196c1d39e2 fb6dd29bd42a4443a1cf051f2427682f--1f5180668fd4448e954369196c1d39e2 f937e8f6929c45468ecdfe9b55a8aa4f 1f5180668fd4448e954369196c1d39e2--f937e8f6929c45468ecdfe9b55a8aa4f df53ea0afef547278fcbbef29f2a7e48 f937e8f6929c45468ecdfe9b55a8aa4f--df53ea0afef547278fcbbef29f2a7e48 22bde20b87e24c9c8dce692feea4536f df53ea0afef547278fcbbef29f2a7e48--22bde20b87e24c9c8dce692feea4536f f9eab26bf9bc4eddb7e06544733eeb00 22bde20b87e24c9c8dce692feea4536f--f9eab26bf9bc4eddb7e06544733eeb00 2294a523a7a74d4d81dc4666761b8489 f9eab26bf9bc4eddb7e06544733eeb00--2294a523a7a74d4d81dc4666761b8489 923ec6a7e56f4c09a77f591677c63ad3 2294a523a7a74d4d81dc4666761b8489--923ec6a7e56f4c09a77f591677c63ad3 db63f36de0324b6da6a140ea39baccab 923ec6a7e56f4c09a77f591677c63ad3--db63f36de0324b6da6a140ea39baccab 34c55d750eb44dc58c98584c92fc791c db63f36de0324b6da6a140ea39baccab--34c55d750eb44dc58c98584c92fc791c 4e550af343494fb7bd081d2d9d79a2f9 34c55d750eb44dc58c98584c92fc791c--4e550af343494fb7bd081d2d9d79a2f9 209a914675ff45b5b74d8a84bdaea40a 4e550af343494fb7bd081d2d9d79a2f9--209a914675ff45b5b74d8a84bdaea40a af0f7a6a391647f8b0c666e5b1d108df 209a914675ff45b5b74d8a84bdaea40a--af0f7a6a391647f8b0c666e5b1d108df c301ba5b9a3b4a2881e68dd875a7a7fa af0f7a6a391647f8b0c666e5b1d108df--c301ba5b9a3b4a2881e68dd875a7a7fa c847dbbb1ac54fbf9fd3df9e1a41d9f3 c301ba5b9a3b4a2881e68dd875a7a7fa--c847dbbb1ac54fbf9fd3df9e1a41d9f3 be73c433b9c445f18c604cae99e0a07f X c847dbbb1ac54fbf9fd3df9e1a41d9f3--be73c433b9c445f18c604cae99e0a07f be73c433b9c445f18c604cae99e0a07f--57516a8795a147bfb55d94e99bae43ec 60d9b73e3d82481eabff290a4feb950d RZ(-1.0*g0) be73c433b9c445f18c604cae99e0a07f--60d9b73e3d82481eabff290a4feb950d b02fcb6d970446b9b17b639b8b745061 X 60d9b73e3d82481eabff290a4feb950d--b02fcb6d970446b9b17b639b8b745061 b02fcb6d970446b9b17b639b8b745061--53f292febb8b444a97d8e6808b9c42c4 4e11526f47994800abf92bd5ee1f0d16 b02fcb6d970446b9b17b639b8b745061--4e11526f47994800abf92bd5ee1f0d16 8ef728b91a7f415ea730131aeb7fd2e0 4e11526f47994800abf92bd5ee1f0d16--8ef728b91a7f415ea730131aeb7fd2e0 e9c0c93ca2de437b86c54811f27f2654 8ef728b91a7f415ea730131aeb7fd2e0--e9c0c93ca2de437b86c54811f27f2654 20f4491fc2d64a4e8e1c42110049091a e9c0c93ca2de437b86c54811f27f2654--20f4491fc2d64a4e8e1c42110049091a 21074d79879646a78048f768b7783281 20f4491fc2d64a4e8e1c42110049091a--21074d79879646a78048f768b7783281 2bb05e3067a14f1e96d183fc2d352c79 RX(b07) 21074d79879646a78048f768b7783281--2bb05e3067a14f1e96d183fc2d352c79 a7eb6cdaa9ec48f7885e6ff167dfc8f8 2bb05e3067a14f1e96d183fc2d352c79--a7eb6cdaa9ec48f7885e6ff167dfc8f8 11da7f96ccbe45d896911bfd386c6d4a a7eb6cdaa9ec48f7885e6ff167dfc8f8--11da7f96ccbe45d896911bfd386c6d4a fd7d726c663948868e37a6ea13adf1c8 11da7f96ccbe45d896911bfd386c6d4a--fd7d726c663948868e37a6ea13adf1c8 78173e8c4be14f8da5d38395fadcf1cd fd7d726c663948868e37a6ea13adf1c8--78173e8c4be14f8da5d38395fadcf1cd 83cf45b9823349b19b605658270628b8 78173e8c4be14f8da5d38395fadcf1cd--83cf45b9823349b19b605658270628b8 ba5b8519ba304754b66b09e7f9939281 83cf45b9823349b19b605658270628b8--ba5b8519ba304754b66b09e7f9939281 34d27706a2c54d1e95a8d20fb129f826 X ba5b8519ba304754b66b09e7f9939281--34d27706a2c54d1e95a8d20fb129f826 34d27706a2c54d1e95a8d20fb129f826--16054c93dd144472bd839d199665af5e d669fcbd03b04f22aa8d41d4234529c2 RZ(1.0*g1) 34d27706a2c54d1e95a8d20fb129f826--d669fcbd03b04f22aa8d41d4234529c2 e106ee11e3794e7ab03822786a2904c9 X d669fcbd03b04f22aa8d41d4234529c2--e106ee11e3794e7ab03822786a2904c9 e106ee11e3794e7ab03822786a2904c9--e8014702f28646c3b3ce35dbb4dbd955 6e7c64177ca746aaa1bf2726da928d4d e106ee11e3794e7ab03822786a2904c9--6e7c64177ca746aaa1bf2726da928d4d cba56140e8674d50ade4aebc8e69c80c 6e7c64177ca746aaa1bf2726da928d4d--cba56140e8674d50ade4aebc8e69c80c 35ac052055504e1299b7638a11340ca8 cba56140e8674d50ade4aebc8e69c80c--35ac052055504e1299b7638a11340ca8 6a90ffd99b0f45a7b511f9e65dd630d7 35ac052055504e1299b7638a11340ca8--6a90ffd99b0f45a7b511f9e65dd630d7 ae82bc1a60f84b5a901c55cb192eee76 6a90ffd99b0f45a7b511f9e65dd630d7--ae82bc1a60f84b5a901c55cb192eee76 90d5c2a110264365a7d66f62b8b101e0 ae82bc1a60f84b5a901c55cb192eee76--90d5c2a110264365a7d66f62b8b101e0 2960c4507c434bd1b4433d91d3b5797c 90d5c2a110264365a7d66f62b8b101e0--2960c4507c434bd1b4433d91d3b5797c 9e707a85b3bf40cd862b76b096df8ecf 2960c4507c434bd1b4433d91d3b5797c--9e707a85b3bf40cd862b76b096df8ecf 71df9442dc9645e0aa3f8adb772890e2 9e707a85b3bf40cd862b76b096df8ecf--71df9442dc9645e0aa3f8adb772890e2 01ae47db880049529dcaec292adfd091 71df9442dc9645e0aa3f8adb772890e2--01ae47db880049529dcaec292adfd091 de7496d5f4734278bea38d175d8286b9 01ae47db880049529dcaec292adfd091--de7496d5f4734278bea38d175d8286b9 158945874e0d49c493e25234b2588c14 de7496d5f4734278bea38d175d8286b9--158945874e0d49c493e25234b2588c14 d68a99e401c348389d33ec876804f14c 158945874e0d49c493e25234b2588c14--d68a99e401c348389d33ec876804f14c 080b69f2532c449f89954a8a40d2ceff d68a99e401c348389d33ec876804f14c--080b69f2532c449f89954a8a40d2ceff 006c395a1b644684b06db94050d99d33 080b69f2532c449f89954a8a40d2ceff--006c395a1b644684b06db94050d99d33 11e1f02b9122485b837e936b5a5c86bb 006c395a1b644684b06db94050d99d33--11e1f02b9122485b837e936b5a5c86bb 515fac44850044a194496a37c32c81d2 11e1f02b9122485b837e936b5a5c86bb--515fac44850044a194496a37c32c81d2 7834791357dd4f61be05a5641df9fd82 515fac44850044a194496a37c32c81d2--7834791357dd4f61be05a5641df9fd82 6f2c9f3f284c463fb08fcaa5c0e04ecb 7834791357dd4f61be05a5641df9fd82--6f2c9f3f284c463fb08fcaa5c0e04ecb 7a743f4446134884921a1a6dc371b4f4 6f2c9f3f284c463fb08fcaa5c0e04ecb--7a743f4446134884921a1a6dc371b4f4 a7fa56a734514190a8e64f3b65ba4471 7a743f4446134884921a1a6dc371b4f4--a7fa56a734514190a8e64f3b65ba4471 7baa1bd8e47544188b557f82508ba1e3 a7fa56a734514190a8e64f3b65ba4471--7baa1bd8e47544188b557f82508ba1e3 aef2297bda0e4cfcb5193c088da3a0ed 7baa1bd8e47544188b557f82508ba1e3--aef2297bda0e4cfcb5193c088da3a0ed a5ad37623cea49ad9a067307f47daa54 aef2297bda0e4cfcb5193c088da3a0ed--a5ad37623cea49ad9a067307f47daa54 f08b04a823c64d18a7b5938bf0a5435d a5ad37623cea49ad9a067307f47daa54--f08b04a823c64d18a7b5938bf0a5435d 8b76d9384d8645c48aeabb0d9313455e f08b04a823c64d18a7b5938bf0a5435d--8b76d9384d8645c48aeabb0d9313455e 67387ade97b4489abe8cc984e82b79fe 8b76d9384d8645c48aeabb0d9313455e--67387ade97b4489abe8cc984e82b79fe 6f78729468c547a5978e31a6f8ecf61f 67387ade97b4489abe8cc984e82b79fe--6f78729468c547a5978e31a6f8ecf61f 09268c24111b4603ad7e621c2b952fd9 6f78729468c547a5978e31a6f8ecf61f--09268c24111b4603ad7e621c2b952fd9 9370d664e24e421a815884e1f76a7e41 09268c24111b4603ad7e621c2b952fd9--9370d664e24e421a815884e1f76a7e41 552af11bf67c4a799be7da3a4545e5a6 X 9370d664e24e421a815884e1f76a7e41--552af11bf67c4a799be7da3a4545e5a6 552af11bf67c4a799be7da3a4545e5a6--99a92c37222d44fa81f391845e23c2bb 9ee70324eefb4090830a3d5668faadd8 RZ(-1.0*g1) 552af11bf67c4a799be7da3a4545e5a6--9ee70324eefb4090830a3d5668faadd8 fae559acbc824fb4a47e4ad525f45e23 X 9ee70324eefb4090830a3d5668faadd8--fae559acbc824fb4a47e4ad525f45e23 fae559acbc824fb4a47e4ad525f45e23--78fea358ec144d3ca8b24d302f1adebc 7e3353a181304521aa36ba4595ebef58 fae559acbc824fb4a47e4ad525f45e23--7e3353a181304521aa36ba4595ebef58 84c56fecae8745f0982f09ffe3487e7e 7e3353a181304521aa36ba4595ebef58--84c56fecae8745f0982f09ffe3487e7e 88c9393c68504c3cba05b3bb137128d8 84c56fecae8745f0982f09ffe3487e7e--88c9393c68504c3cba05b3bb137128d8 c8af10cfaaed4c3caab99fde0a4f6fd2 88c9393c68504c3cba05b3bb137128d8--c8af10cfaaed4c3caab99fde0a4f6fd2 0d7b80d263a64fd680f7bf8c9efbc9f5 c8af10cfaaed4c3caab99fde0a4f6fd2--0d7b80d263a64fd680f7bf8c9efbc9f5 7bdb1df115314c05bb6f1e55d5c6e25b RX(b17) 0d7b80d263a64fd680f7bf8c9efbc9f5--7bdb1df115314c05bb6f1e55d5c6e25b 7bdb1df115314c05bb6f1e55d5c6e25b--fda88e21d1104740bbc5d7a8ba4a4851

Train the QAOA circuit to solve MaxCut

Given the QAOA circuit above, one can construct the associated Qadence QuantumModel and train it using standard gradient based optimization.

The loss function to be minimized reads:

\[\mathcal{L} = \sum_{i,j}^{N_{\mathcal{E}}} \frac{1}{2} \left(1 - \langle \psi | \sigma_i^z \sigma_j^z | \psi \rangle \right)\]

where \(\psi(\beta, \gamma)\) is the wavefunction obtained by propagating the QAQA quantum circuit and the sum runs over the edges of the graph \(N_{\mathcal{E}}\).

import torch
from qadence import QuantumModel

torch.manual_seed(seed)


def loss_function(_model: QuantumModel):

    expval_ops = _model.expectation().squeeze()

    # this corresponds to the MaxCut cost by definition
    # with negative sign in front to perform maximization
    expval = 0.0
    for val in expval_ops:
        expval += 0.5 * (1 - val)

    return -1.0 * expval

# initialize the parameters to random values
model = QuantumModel(circuit, observable=zz_ops)
model.reset_vparams(torch.rand(model.num_vparams))
initial_loss = loss_function(model)
print(f"Initial loss: {initial_loss}")

# train the model
n_epochs = 100
lr = 1.0

optimizer = torch.optim.Adagrad(model.parameters(), lr=lr)

for i in range(n_epochs):
    optimizer.zero_grad()
    loss = loss_function(model)
    loss.backward()
    optimizer.step()
    if (i+1) % (n_epochs // 10) == 0:
        print(f"MaxCut cost at iteration {i+1}: {-loss.item()}")
Initial loss: -1.043459130268472
MaxCut cost at iteration 10: 3.985378083531456
MaxCut cost at iteration 20: 3.9996375164696967
MaxCut cost at iteration 30: 3.999296050945324
MaxCut cost at iteration 40: 3.999321293374523
MaxCut cost at iteration 50: 3.9996697236616856
MaxCut cost at iteration 60: 3.999888017053253
MaxCut cost at iteration 70: 3.999966654936591
MaxCut cost at iteration 80: 3.9999904558460018
MaxCut cost at iteration 90: 3.9999972991936743
MaxCut cost at iteration 100: 3.999999238191352

Qadence offers some convenience functions to implement this training loop with advanced logging and metrics track features. You can refer to this tutorial for more details.

Results

Given the trained quantum model, one needs to sample the resulting quantum state to recover the bitstring with the highest probability which corresponds to the maximum cut of the graph.

samples = model.sample(n_shots=100)[0]
most_frequent = max(samples, key=samples.get)

print(f"Most frequently sampled bitstring corresponding to the maximum cut: {most_frequent}")

# let's now draw the cut obtained with the QAOA procedure
colors = []
labels = {}
for node, b in zip(graph.nodes(), most_frequent):
    colors.append("green") if int(b) == 0 else colors.append("red")
    labels[node] = "A" if int(b) == 0 else "B"

nx.draw_networkx(graph, node_color=colors, with_labels=True, labels=labels)
Most frequently sampled bitstring corresponding to the maximum cut: 00111111 2023-11-21T16:26:30.354733 image/svg+xml Matplotlib v3.7.4, https://matplotlib.org/

References


  1. Farhi et al. - A Quantum Approximate Optimization Algorithm