Implement fixed parity convention
This PR implements the CubeBuilder and PipeBuilder interfaces for the fixed parity convention.
TODO list:
- [x] Fix duplicate detectors because UP and DOWN extended plaquettes have a shared syndrome qubit.
- [x] Fix missing detector in move rotation.
- [x]
Plaquette.project_on_data_qubit_indicesdoes the opposite of what the documentation says it does. It is only used inExtendedPlaquette, so should not be too much of a hassle to fix. - [ ] Address all comments from code review,
- [ ] Try to address #578 by changing schedules
At the moment:
mypyis failing, and this looks like a false positive.- I initially thought that only the extended plaquettes should be alternated, but all layers in the same timeslice as the spatial junction should be. That is a global change that can be done in multiple ways, and I am not sure what is the best one.
Everything else should be implemented. It seems like there are still scheduling issues somewhere, but there should be only a few left as I already corrected quite a few.
At the current commit, the detectors and observables seem correct, but the code distance is not kept.
I had to change how extended plaquettes are reversed due to a schedule issue (I need to check it again to explain it correctly), and the problem probably comes from that change. I will investigate later.
At the current commit, the detectors and observables seem correct, but the code distance is not kept.
It should be expected that the circuit distance is code distance minus 1. How much is the distance decreased?
What code distance are you seeing?
On Wed, Apr 16, 2025, 8:34 AM Adrien Suau @.***> wrote:
At the current commit, the detectors and observables seem correct, but the code distance is not kept.
I had to change how extended plaquettes are reversed due to a schedule issue (I need to check it again to explain it correctly), and the problem probably comes from that change. I will investigate later.
— Reply to this email directly, view it on GitHub https://github.com/tqec/tqec/pull/562#issuecomment-2809790057, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKAXTDR32LJYX53NDNCKYD2ZZS7RAVCNFSM6AAAAAB2VS5X7KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBZG44TAMBVG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***> nelimee left a comment (tqec/tqec#562) https://github.com/tqec/tqec/pull/562#issuecomment-2809790057
At the current commit, the detectors and observables seem correct, but the code distance is not kept.
I had to change how extended plaquettes are reversed due to a schedule issue (I need to check it again to explain it correctly), and the problem probably comes from that change. I will investigate later.
— Reply to this email directly, view it on GitHub https://github.com/tqec/tqec/pull/562#issuecomment-2809790057, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKAXTDR32LJYX53NDNCKYD2ZZS7RAVCNFSM6AAAAAB2VS5X7KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQMBZG44TAMBVG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>
I am seeing a code distance of 2 for k=2. I'll try to explain in more details what I have done and the current status in a follow-up message here.
So in Figure 7 of the review
we can see that the time-reverse version is basically applying a central symmetry to the CNOT schedules:
0 ----- 1 3 ----- 2
| | | |
| 4 | => | 4 |
| | | |
2 ----- 3 1 ----- 0
The problem with the extended stabilizers presented in figure 13 of the review
is that the symmetry between the non-reversed and reversed version is simply a vertical symmetry:
0 ----- 1 1 ----- 0
| | | |
| 6 | | 6 |
| | | |
2 ----- 3 => 2 ----- 3
| | | |
| 7 | | 7 |
| | | |
4 ----- 5 5 ----- 4
That leads to clashing schedules with the regular square plaquettes on the top. In ASCII art, for the following portion
Forward, "regular" way:
0 ----- 0 ----- 0 ----- 0 ----- 0
|1 4|1 2|1 4|1 2|
| B | R | B | R |
|3 5|3 5|3 5|3 5|
- 0 ----- 0 ----- 0 ----- 0 ----- 0
/ 4|2 4|2 4|2 4|2 4|
/ | | | | |
/ | | | | |
/ B | R | B | R | B |
/ | | | | |
| | | | | |
|3 5|3 5|3 5|3 5|3 5|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0
|1 2|1 4|1 2|1 4|1 2|
| R | B | R | B | R |
|3 5|3 5|3 5|3 5|3 5|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0
Backward, "reversed" way, with extended plaquettes in Fig. 13:
0 ----- 0 ----- 0 ----- 0 ----- 0
|5 3|5 3|5 3|5 3|
| B | R | B | R |
|4 1|2 1|4 1|2 1| << Issue here, some data-qubits have
- 0 ----- 0 ----- 0 ----- 0 ----- 0 << several gates at timestep 2.
/ 2|4 2|4 2|4 2|4 2| <<
/ | | | | |
/ | | | | |
/ B | R | B | R | B |
/ | | | | |
| | | | | |
|5 3|5 3|5 3|5 3|5 3| << Issue here, some data-qubits have
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0 << several gates at timesteps 3 and 5.
|5 3|5 3|5 3|5 3|5 3| <<
| R | B | R | B | R |
|2 1|4 1|2 1|4 1|2 1|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0
Backward, "reversed" way, with modified extended plaquettes:
0 ----- 0 ----- 0 ----- 0 ----- 0
|5 3|5 3|5 3|5 3|
| B | R | B | R |
|4 1|2 1|4 1|2 1|
- 0 ----- 0 ----- 0 ----- 0 ----- 0 << No issue anymore
/ 3|5 3|5 3|5 3|5 3|
/ | | | | |
/ | | | | |
/ B | R | B | R | B |
/ | | | | |
| | | | | |
|4 2|4 2|4 2|4 2|4 2|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0 << No issue anymore
|5 3|5 3|5 3|5 3|5 3|
| R | B | R | B | R |
|2 1|4 1|2 1|4 1|2 1|
0 ----- 0 ----- 0 ----- 0 ----- 0 ----- 0
The new extended plaquettes can be seen on Crumble: forward (unchanged), reversed.
I do not have time to explore more with the distance issue, but will later this week.
As a check, the following code simulating a L spatial junction outputs the following graph.
from pathlib import Path
from typing import Literal
import matplotlib.pyplot as plt
import numpy
import sinter
from tqec.compile.convention import ALL_CONVENTIONS
from tqec.compile.detectors.database import DetectorDatabase
from tqec.computation.block_graph import BlockGraph
from tqec.simulation.plotting.inset import plot_observable_as_inset
from tqec.simulation.simulation import start_simulation_using_sinter
from tqec.utils.noise_model import NoiseModel
from tqec.utils.position import Position3D
TQEC_FOLDER = Path(__file__).parent
ASSETS_FOLDER = TQEC_FOLDER / "assets"
DATABASE_PATH = ASSETS_FOLDER / "database.pkl"
def generate_graphs(style: Literal["fixed_parity"]) -> None:
block_graph = BlockGraph("L Spatial Junction")
n1 = block_graph.add_cube(Position3D(0, 0, 0), "ZXX")
n2 = block_graph.add_cube(Position3D(0, 1, 0), "ZZX")
n3 = block_graph.add_cube(Position3D(1, 1, 0), "XZX")
block_graph.add_pipe(n1, n2)
block_graph.add_pipe(n2, n3)
block_graph.validate()
zx_graph = block_graph.to_zx_graph()
database = DetectorDatabase()
if DATABASE_PATH.exists():
database = DetectorDatabase.from_file(DATABASE_PATH)
# filled_graphs = block_graph.fill_ports_for_minimal_simulation()
# for run, fg in enumerate(filled_graphs):
observables = block_graph.find_correlation_surfaces()
for run, observable in enumerate(observables):
stats = start_simulation_using_sinter(
block_graph,
range(1, 7),
list(numpy.logspace(-4, -1, 10)),
NoiseModel.uniform_depolarizing,
manhattan_radius=2,
convention=ALL_CONVENTIONS[style],
observables=[observable],
num_workers=30,
max_shots=10_000_000,
max_errors=5_000,
decoders=["pymatching"],
print_progress=True,
detector_database=database,
)
for i, stat in enumerate(stats):
fig, ax = plt.subplots()
sinter.plot_error_rate(
ax=ax,
stats=stat,
x_func=lambda stat: stat.json_metadata["p"],
group_func=lambda stat: stat.json_metadata["d"],
)
# plot_observable_as_inset(ax, zx_graph, fg.observables[i])
plot_observable_as_inset(ax, zx_graph, observable)
ax.grid(axis="both")
ax.legend()
ax.loglog()
ax.set_ylim(1e-9, 1)
ax.set_title(f"{style.upper()} {style} Error Rate")
fig.savefig(
ASSETS_FOLDER
/ f"{style}_result_simulation_run_{run}_observable_{i}.png"
)
database.to_file(DATABASE_PATH)
def main():
generate_graphs("fixed_parity")
if __name__ == "__main__":
main()
Not sure why the crumble link not shown correctly here. You need to enter edit mode to copy the crumble URL manually.
Here is a pair of errors that can cause logical error. The problem is that there are no detectors at the final round that check extended stabilizers against the final data qubit readouts, which cause some errors not detectable. The way to fix is measuring the ancilla qubits in the extended stabilizers at final round:
This will make the detectors at final round involving data qubit readouts valid:
The last commit excludes the measurements in the middle of extended plaquettes from the observable.
I've locally included the change mentioned in the last comment. However, the circuit distance is still two. In the final round, the two errors with PAULI MARK#1 caused the logical error. It can not even be detected by the final check of extended stabilizers. In principle, it can be detected by the detection region with PAULI MARK#2. However, the automatic detector computation fails to build that detector probably because the measurement has already been included in other detector...
I merged your changes on main. The 2 new tests added test_compile_temporal_hadamard and test_compile_bell_state_with_single_temporal_hadamard fail for the fixed_parity convention, and the tests that were failing before are still failing.
Note that some tests fail due to a non-deterministic observable. If you have the time to fix that, you will likely be way more efficient than me :) Else, I will try after fixing the other bugs.
Note that some tests fail due to a non-deterministic observable.
Should be addressed in the last few commits. Also fixed the temporal Hadamard pipe: the memory layer after the H layer should flip the observable orientation.
The last commit excludes the measurements in the middle of extended plaquettes from the observable.
I've locally included the change mentioned in the last comment. However, the circuit distance is still two. In the final round, the two errors with PAULI MARK#1 caused the logical error. It can not even be detected by the final check of extended stabilizers. In principle, it can be detected by the detection region with PAULI MARK#2. However, the automatic detector computation fails to build that detector probably because the measurement has already been included in other detector...
On the current state of this PR, the detector associated with the region PAULI_MARK#2 is included in the generated circuit. For reference:
from pathlib import Path
from tqec.compile.compile import compile_block_graph
from tqec.compile.convention import ALL_CONVENTIONS
from tqec.compile.detectors.database import DetectorDatabase
from tqec.computation.block_graph import BlockGraph
from tqec.utils.enums import Basis
from tqec.utils.noise_model import NoiseModel
from tqec.utils.position import Position3D
ASSETS_FOLDER = Path(__file__).parent / "assets"
DATABASE_PATH = ASSETS_FOLDER / "database.pkl"
convention_name = "fixed_parity"
obs_basis = Basis.X
k = 2
d = 2 * k + 1
g = BlockGraph("L Spatial Junction")
n1 = g.add_cube(Position3D(0, 0, 0), "ZXX")
n2 = g.add_cube(Position3D(0, 1, 0), "ZZX")
n3 = g.add_cube(Position3D(1, 1, 0), "XZX")
g.add_pipe(n1, n2)
g.add_pipe(n2, n3)
convention = ALL_CONVENTIONS[convention_name]
correlation_surfaces = g.find_correlation_surfaces()
compiled_graph = compile_block_graph(g, convention, correlation_surfaces)
layer_tree = compiled_graph.to_layer_tree()
print(layer_tree.generate_crumble_url(k))
database = DetectorDatabase()
if DATABASE_PATH.exists():
database = DetectorDatabase.from_file(DATABASE_PATH)
circuit = compiled_graph.generate_stim_circuit(
k,
noise_model=NoiseModel.uniform_depolarizing(0.001),
manhattan_radius=2,
detector_database=database,
)
database.to_file(DATABASE_PATH)
print(circuit)
returns this crumble URL, representing the following circuit.
Click to see the circuit
QUBIT_COORDS(-1, 11) 0 QUBIT_COORDS(0, 0) 1 QUBIT_COORDS(0, 2) 2 QUBIT_COORDS(0, 4) 3 QUBIT_COORDS(0, 6) 4 QUBIT_COORDS(0, 8) 5 QUBIT_COORDS(0, 10) 6 QUBIT_COORDS(0, 12) 7 QUBIT_COORDS(0, 14) 8 QUBIT_COORDS(0, 16) 9 QUBIT_COORDS(0, 18) 10 QUBIT_COORDS(0, 20) 11 QUBIT_COORDS(0, 22) 12 QUBIT_COORDS(1, 1) 13 QUBIT_COORDS(1, 3) 14 QUBIT_COORDS(1, 5) 15 QUBIT_COORDS(1, 7) 16 QUBIT_COORDS(1, 9) 17 QUBIT_COORDS(1, 11) 18 QUBIT_COORDS(1, 13) 19 QUBIT_COORDS(1, 15) 20 QUBIT_COORDS(1, 17) 21 QUBIT_COORDS(1, 19) 22 QUBIT_COORDS(1, 21) 23 QUBIT_COORDS(2, 0) 24 QUBIT_COORDS(2, 2) 25 QUBIT_COORDS(2, 4) 26 QUBIT_COORDS(2, 6) 27 QUBIT_COORDS(2, 8) 28 QUBIT_COORDS(2, 10) 29 QUBIT_COORDS(2, 12) 30 QUBIT_COORDS(2, 14) 31 QUBIT_COORDS(2, 16) 32 QUBIT_COORDS(2, 18) 33 QUBIT_COORDS(2, 20) 34 QUBIT_COORDS(2, 22) 35 QUBIT_COORDS(3, 1) 36 QUBIT_COORDS(3, 3) 37 QUBIT_COORDS(3, 5) 38 QUBIT_COORDS(3, 7) 39 QUBIT_COORDS(3, 9) 40 QUBIT_COORDS(3, 11) 41 QUBIT_COORDS(3, 13) 42 QUBIT_COORDS(3, 15) 43 QUBIT_COORDS(3, 17) 44 QUBIT_COORDS(3, 19) 45 QUBIT_COORDS(3, 21) 46 QUBIT_COORDS(4, 0) 47 QUBIT_COORDS(4, 2) 48 QUBIT_COORDS(4, 4) 49 QUBIT_COORDS(4, 6) 50 QUBIT_COORDS(4, 8) 51 QUBIT_COORDS(4, 10) 52 QUBIT_COORDS(4, 12) 53 QUBIT_COORDS(4, 14) 54 QUBIT_COORDS(4, 16) 55 QUBIT_COORDS(4, 18) 56 QUBIT_COORDS(4, 20) 57 QUBIT_COORDS(4, 22) 58 QUBIT_COORDS(5, 1) 59 QUBIT_COORDS(5, 3) 60 QUBIT_COORDS(5, 5) 61 QUBIT_COORDS(5, 7) 62 QUBIT_COORDS(5, 9) 63 QUBIT_COORDS(5, 11) 64 QUBIT_COORDS(5, 13) 65 QUBIT_COORDS(5, 15) 66 QUBIT_COORDS(5, 17) 67 QUBIT_COORDS(5, 19) 68 QUBIT_COORDS(5, 21) 69 QUBIT_COORDS(6, 0) 70 QUBIT_COORDS(6, 2) 71 QUBIT_COORDS(6, 4) 72 QUBIT_COORDS(6, 6) 73 QUBIT_COORDS(6, 8) 74 QUBIT_COORDS(6, 10) 75 QUBIT_COORDS(6, 12) 76 QUBIT_COORDS(6, 14) 77 QUBIT_COORDS(6, 16) 78 QUBIT_COORDS(6, 18) 79 QUBIT_COORDS(6, 20) 80 QUBIT_COORDS(6, 22) 81 QUBIT_COORDS(7, 1) 82 QUBIT_COORDS(7, 3) 83 QUBIT_COORDS(7, 5) 84 QUBIT_COORDS(7, 7) 85 QUBIT_COORDS(7, 9) 86 QUBIT_COORDS(7, 11) 87 QUBIT_COORDS(7, 13) 88 QUBIT_COORDS(7, 15) 89 QUBIT_COORDS(7, 17) 90 QUBIT_COORDS(7, 19) 91 QUBIT_COORDS(7, 21) 92 QUBIT_COORDS(8, 0) 93 QUBIT_COORDS(8, 2) 94 QUBIT_COORDS(8, 4) 95 QUBIT_COORDS(8, 6) 96 QUBIT_COORDS(8, 8) 97 QUBIT_COORDS(8, 10) 98 QUBIT_COORDS(8, 12) 99 QUBIT_COORDS(8, 14) 100 QUBIT_COORDS(8, 16) 101 QUBIT_COORDS(8, 18) 102 QUBIT_COORDS(8, 20) 103 QUBIT_COORDS(8, 22) 104 QUBIT_COORDS(9, 1) 105 QUBIT_COORDS(9, 3) 106 QUBIT_COORDS(9, 5) 107 QUBIT_COORDS(9, 7) 108 QUBIT_COORDS(9, 9) 109 QUBIT_COORDS(9, 11) 110 QUBIT_COORDS(9, 13) 111 QUBIT_COORDS(9, 15) 112 QUBIT_COORDS(9, 17) 113 QUBIT_COORDS(9, 19) 114 QUBIT_COORDS(9, 21) 115 QUBIT_COORDS(10, 0) 116 QUBIT_COORDS(10, 2) 117 QUBIT_COORDS(10, 4) 118 QUBIT_COORDS(10, 6) 119 QUBIT_COORDS(10, 8) 120 QUBIT_COORDS(10, 10) 121 QUBIT_COORDS(10, 12) 122 QUBIT_COORDS(10, 14) 123 QUBIT_COORDS(10, 16) 124 QUBIT_COORDS(10, 18) 125 QUBIT_COORDS(10, 20) 126 QUBIT_COORDS(10, 22) 127 QUBIT_COORDS(11, 13) 128 QUBIT_COORDS(11, 15) 129 QUBIT_COORDS(11, 17) 130 QUBIT_COORDS(11, 19) 131 QUBIT_COORDS(11, 21) 132 QUBIT_COORDS(12, 12) 133 QUBIT_COORDS(12, 14) 134 QUBIT_COORDS(12, 16) 135 QUBIT_COORDS(12, 18) 136 QUBIT_COORDS(12, 20) 137 QUBIT_COORDS(12, 22) 138 QUBIT_COORDS(13, 13) 139 QUBIT_COORDS(13, 15) 140 QUBIT_COORDS(13, 17) 141 QUBIT_COORDS(13, 19) 142 QUBIT_COORDS(13, 21) 143 QUBIT_COORDS(14, 12) 144 QUBIT_COORDS(14, 14) 145 QUBIT_COORDS(14, 16) 146 QUBIT_COORDS(14, 18) 147 QUBIT_COORDS(14, 20) 148 QUBIT_COORDS(14, 22) 149 QUBIT_COORDS(15, 13) 150 QUBIT_COORDS(15, 15) 151 QUBIT_COORDS(15, 17) 152 QUBIT_COORDS(15, 19) 153 QUBIT_COORDS(15, 21) 154 QUBIT_COORDS(16, 12) 155 QUBIT_COORDS(16, 14) 156 QUBIT_COORDS(16, 16) 157 QUBIT_COORDS(16, 18) 158 QUBIT_COORDS(16, 20) 159 QUBIT_COORDS(16, 22) 160 QUBIT_COORDS(17, 13) 161 QUBIT_COORDS(17, 15) 162 QUBIT_COORDS(17, 17) 163 QUBIT_COORDS(17, 19) 164 QUBIT_COORDS(17, 21) 165 QUBIT_COORDS(18, 12) 166 QUBIT_COORDS(18, 14) 167 QUBIT_COORDS(18, 16) 168 QUBIT_COORDS(18, 18) 169 QUBIT_COORDS(18, 20) 170 QUBIT_COORDS(18, 22) 171 QUBIT_COORDS(19, 13) 172 QUBIT_COORDS(19, 15) 173 QUBIT_COORDS(19, 17) 174 QUBIT_COORDS(19, 19) 175 QUBIT_COORDS(19, 21) 176 QUBIT_COORDS(20, 12) 177 QUBIT_COORDS(20, 14) 178 QUBIT_COORDS(20, 16) 179 QUBIT_COORDS(20, 18) 180 QUBIT_COORDS(20, 20) 181 QUBIT_COORDS(20, 22) 182 QUBIT_COORDS(21, 13) 183 QUBIT_COORDS(21, 15) 184 QUBIT_COORDS(21, 17) 185 QUBIT_COORDS(21, 19) 186 QUBIT_COORDS(21, 21) 187 QUBIT_COORDS(22, 12) 188 QUBIT_COORDS(22, 14) 189 QUBIT_COORDS(22, 16) 190 QUBIT_COORDS(22, 18) 191 QUBIT_COORDS(22, 20) 192 QUBIT_COORDS(22, 22) 193 RX 2 4 6 9 11 13 14 15 16 17 19 20 21 22 23 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 59 60 61 62 63 65 66 67 68 69 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 105 106 107 108 109 111 112 113 114 115 118 120 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 139 140 141 142 143 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 161 162 163 164 165 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 183 184 185 186 187 190 192 R 0 18 41 64 87 X_ERROR(0.001) 0 18 41 64 87 Z_ERROR(0.001) 2 4 6 9 11 13 14 15 16 17 19 20 21 22 23 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 59 60 61 62 63 65 66 67 68 69 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 105 106 107 108 109 111 112 113 114 115 118 120 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 139 140 141 142 143 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 161 162 163 164 165 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 183 184 185 186 187 190 192 DEPOLARIZE1(0.001) 1 3 5 7 8 10 12 24 30 53 58 70 76 99 104 110 116 117 119 121 122 138 144 160 166 182 188 189 191 193 TICK CX 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 R 7 30 53 76 99 DEPOLARIZE2(0.001) 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 X_ERROR(0.001) 7 30 53 76 99 DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 17 24 40 46 47 58 63 70 86 92 93 104 105 107 109 110 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193 TICK CX 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 CZ 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186 DEPOLARIZE2(0.001) 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186 DEPOLARIZE1(0.001) 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 19 20 21 22 23 24 26 28 31 33 34 35 37 39 42 44 45 46 47 48 50 55 56 58 59 61 66 67 69 70 72 74 77 80 81 83 85 88 91 92 93 94 96 102 104 105 107 109 110 113 115 116 117 118 119 120 121 122 124 126 127 129 131 132 133 134 136 138 139 141 143 144 146 148 149 151 153 154 155 156 158 160 161 163 165 166 168 170 171 173 175 176 177 178 180 182 183 185 187 188 189 190 191 192 193 TICK CX 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176 DEPOLARIZE2(0.001) 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176 DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 24 29 35 41 52 58 59 64 70 75 81 87 98 104 105 106 108 110 111 116 117 119 121 122 127 138 139 144 149 160 161 166 171 182 183 184 186 188 189 191 193 TICK CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 CX 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 25 27 30 32 36 38 41 43 47 49 51 53 54 57 58 60 62 64 65 68 69 70 71 73 76 78 79 82 84 87 89 90 93 95 97 99 100 101 103 104 106 108 110 111 112 114 115 116 117 118 119 120 121 122 123 125 128 130 133 135 137 138 140 142 143 144 145 147 150 152 155 157 159 160 162 164 165 166 167 169 172 174 177 179 181 182 184 186 187 188 189 190 191 192 193 TICK CX 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 CZ 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 DEPOLARIZE2(0.001) 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 DEPOLARIZE1(0.001) 1 3 5 8 10 12 13 15 17 20 22 24 35 36 58 70 81 82 104 110 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193 TICK CX 7 0 30 18 53 41 76 64 99 87 MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE2(0.001) 7 0 30 18 53 41 76 64 99 87 DEPOLARIZE1(0.001) 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK MX(0.001) 7 30 53 76 99 DETECTOR(4, 0, 0) rec[-66] DETECTOR(8, 0, 0) rec[-48] DETECTOR(2, 2, 0) rec[-75] DETECTOR(6, 2, 0) rec[-57] DETECTOR(4, 4, 0) rec[-64] DETECTOR(8, 4, 0) rec[-46] DETECTOR(2, 6, 0) rec[-73] DETECTOR(6, 6, 0) rec[-55] DETECTOR(4, 8, 0) rec[-62] DETECTOR(8, 8, 0) rec[-44] DETECTOR(2, 12, 0) rec[-4] DETECTOR(6, 12, 0) rec[-2] DETECTOR(4, 14, 0) rec[-61] DETECTOR(8, 14, 0) rec[-43] DETECTOR(12, 14, 0) rec[-31] DETECTOR(16, 14, 0) rec[-21] DETECTOR(20, 14, 0) rec[-11] DETECTOR(2, 16, 0) rec[-70] DETECTOR(6, 16, 0) rec[-52] DETECTOR(10, 16, 0) rec[-36] DETECTOR(14, 16, 0) rec[-26] DETECTOR(18, 16, 0) rec[-16] DETECTOR(22, 16, 0) rec[-7] DETECTOR(4, 18, 0) rec[-59] DETECTOR(8, 18, 0) rec[-41] DETECTOR(12, 18, 0) rec[-29] DETECTOR(16, 18, 0) rec[-19] DETECTOR(20, 18, 0) rec[-9] DETECTOR(2, 20, 0) rec[-68] DETECTOR(6, 20, 0) rec[-50] DETECTOR(10, 20, 0) rec[-34] DETECTOR(14, 20, 0) rec[-24] DETECTOR(18, 20, 0) rec[-14] DETECTOR(22, 20, 0) rec[-6] DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 TICK DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 TICK RX 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 R 18 41 64 87 110 X_ERROR(0.001) 18 41 64 87 110 Z_ERROR(0.001) 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE1(0.001) 0 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK CX 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 CZ 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 R 6 29 52 75 98 DEPOLARIZE2(0.001) 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 X_ERROR(0.001) 6 29 52 75 98 DEPOLARIZE1(0.001) 0 1 3 5 8 10 12 13 15 17 19 20 22 24 35 36 42 58 65 70 81 82 88 104 111 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193 TICK CX 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98 CZ 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176 DEPOLARIZE2(0.001) 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176 DEPOLARIZE1(0.001) 0 1 2 3 4 5 8 9 10 11 12 13 15 17 20 22 23 24 26 28 31 33 34 35 36 37 39 44 45 47 48 50 55 56 58 59 61 63 66 69 70 72 74 77 80 81 82 83 85 91 93 94 96 102 104 105 106 107 108 109 113 115 116 117 118 119 120 121 122 124 126 127 128 129 131 133 134 136 138 139 141 143 144 146 148 149 150 151 153 155 156 158 160 161 163 165 166 168 170 171 172 173 175 177 178 180 182 183 184 185 186 187 188 189 190 191 192 193 TICK CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186 CX 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 30 41 47 53 58 64 69 70 76 87 93 99 104 110 115 116 117 118 119 120 121 122 133 138 143 144 155 160 165 166 177 182 187 188 189 190 191 192 193 TICK CX 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172 DEPOLARIZE2(0.001) 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172 DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 21 24 25 27 29 32 35 38 40 41 43 46 49 51 52 54 57 58 59 60 62 64 67 68 70 71 73 75 78 79 81 84 86 87 89 90 92 95 97 98 100 101 103 104 105 106 108 110 111 112 114 116 117 119 121 122 123 125 127 130 132 135 137 138 139 140 142 144 145 147 149 152 154 157 159 160 161 162 164 166 167 169 171 174 176 179 181 182 183 184 186 188 189 191 193 TICK CX 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 DEPOLARIZE2(0.001) 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 24 46 47 58 70 92 93 104 105 107 109 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193 TICK CX 6 18 29 41 52 64 75 87 98 110 MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE2(0.001) 6 18 29 41 52 64 75 87 98 110 DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK MX(0.001) 6 29 52 75 98 SHIFT_COORDS(0, 0, 2) DETECTOR(4, 0, 0) rec[-66] rec[-145] DETECTOR(8, 0, 0) rec[-48] rec[-127] DETECTOR(0, 2, 0) rec[-79] rec[-158] DETECTOR(2, 2, 0) rec[-75] rec[-154] DETECTOR(4, 2, 0) rec[-144] rec[-65] DETECTOR(6, 2, 0) rec[-57] rec[-136] DETECTOR(8, 2, 0) rec[-126] rec[-47] DETECTOR(2, 4, 0) rec[-74] rec[-153] DETECTOR(4, 4, 0) rec[-64] rec[-143] DETECTOR(6, 4, 0) rec[-56] rec[-135] DETECTOR(8, 4, 0) rec[-125] rec[-46] DETECTOR(10, 4, 0) rec[-118] rec[-39] DETECTOR(0, 6, 0) rec[-157] rec[-78] DETECTOR(2, 6, 0) rec[-152] rec[-73] DETECTOR(4, 6, 0) rec[-63] rec[-142] DETECTOR(6, 6, 0) rec[-55] rec[-134] DETECTOR(8, 6, 0) rec[-124] rec[-45] DETECTOR(2, 8, 0) rec[-72] rec[-151] DETECTOR(4, 8, 0) rec[-62] rec[-141] DETECTOR(6, 8, 0) rec[-133] rec[-54] DETECTOR(8, 8, 0) rec[-44] rec[-123] DETECTOR(10, 8, 0) rec[-117] rec[-38] DETECTOR(0, 10, 0) rec[-84] rec[-5] DETECTOR(2, 10, 0) rec[-83] rec[-4] DETECTOR(4, 10, 0) rec[-82] rec[-3] DETECTOR(6, 10, 0) rec[-2] rec[-81] DETECTOR(8, 10, 0) rec[-1] rec[-80] DETECTOR(12, 12, 0) rec[-111] rec[-32] DETECTOR(16, 12, 0) rec[-22] rec[-101] DETECTOR(20, 12, 0) rec[-91] rec[-12] DETECTOR(2, 14, 0) rec[-150] rec[-71] DETECTOR(4, 14, 0) rec[-61] rec[-140] DETECTOR(6, 14, 0) rec[-53] rec[-132] DETECTOR(8, 14, 0) rec[-122] rec[-43] DETECTOR(10, 14, 0) rec[-37] rec[-116] DETECTOR(12, 14, 0) rec[-110] rec[-31] DETECTOR(14, 14, 0) rec[-27] rec[-106] DETECTOR(16, 14, 0) rec[-21] rec[-100] DETECTOR(18, 14, 0) rec[-17] rec[-96] DETECTOR(20, 14, 0) rec[-11] rec[-90] DETECTOR(0, 16, 0) rec[-156] rec[-77] DETECTOR(2, 16, 0) rec[-149] rec[-70] DETECTOR(4, 16, 0) rec[-60] rec[-139] DETECTOR(6, 16, 0) rec[-52] rec[-131] DETECTOR(8, 16, 0) rec[-121] rec[-42] DETECTOR(10, 16, 0) rec[-36] rec[-115] DETECTOR(12, 16, 0) rec[-30] rec[-109] DETECTOR(14, 16, 0) rec[-26] rec[-105] DETECTOR(16, 16, 0) rec[-99] rec[-20] DETECTOR(18, 16, 0) rec[-16] rec[-95] DETECTOR(20, 16, 0) rec[-89] rec[-10] DETECTOR(22, 16, 0) rec[-86] rec[-7] DETECTOR(2, 18, 0) rec[-148] rec[-69] DETECTOR(4, 18, 0) rec[-59] rec[-138] DETECTOR(6, 18, 0) rec[-130] rec[-51] DETECTOR(8, 18, 0) rec[-120] rec[-41] DETECTOR(10, 18, 0) rec[-114] rec[-35] DETECTOR(12, 18, 0) rec[-108] rec[-29] DETECTOR(14, 18, 0) rec[-25] rec[-104] DETECTOR(16, 18, 0) rec[-98] rec[-19] DETECTOR(18, 18, 0) rec[-94] rec[-15] DETECTOR(20, 18, 0) rec[-88] rec[-9] DETECTOR(0, 20, 0) rec[-155] rec[-76] DETECTOR(2, 20, 0) rec[-147] rec[-68] DETECTOR(4, 20, 0) rec[-137] rec[-58] DETECTOR(6, 20, 0) rec[-50] rec[-129] DETECTOR(8, 20, 0) rec[-40] rec[-119] DETECTOR(10, 20, 0) rec[-113] rec[-34] DETECTOR(12, 20, 0) rec[-28] rec[-107] DETECTOR(14, 20, 0) rec[-103] rec[-24] DETECTOR(16, 20, 0) rec[-97] rec[-18] DETECTOR(18, 20, 0) rec[-14] rec[-93] DETECTOR(20, 20, 0) rec[-8] rec[-87] DETECTOR(22, 20, 0) rec[-85] rec[-6] DETECTOR(2, 22, 0) rec[-67] rec[-146] DETECTOR(6, 22, 0) rec[-49] rec[-128] DETECTOR(10, 22, 0) rec[-112] rec[-33] DETECTOR(14, 22, 0) rec[-23] rec[-102] DETECTOR(18, 22, 0) rec[-92] rec[-13] DEPOLARIZE1(0.001) 0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 TICK RX 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 R 0 18 41 64 87 X_ERROR(0.001) 0 18 41 64 87 Z_ERROR(0.001) 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE1(0.001) 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK CX 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 R 7 30 53 76 99 DEPOLARIZE2(0.001) 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 X_ERROR(0.001) 7 30 53 76 99 DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 17 24 40 46 47 58 63 70 86 92 93 104 105 107 109 110 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193 TICK CX 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 CZ 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186 DEPOLARIZE2(0.001) 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186 DEPOLARIZE1(0.001) 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 19 20 21 22 23 24 26 28 31 33 34 35 37 39 42 44 45 46 47 48 50 55 56 58 59 61 66 67 69 70 72 74 77 80 81 83 85 88 91 92 93 94 96 102 104 105 107 109 110 113 115 116 117 118 119 120 121 122 124 126 127 129 131 132 133 134 136 138 139 141 143 144 146 148 149 151 153 154 155 156 158 160 161 163 165 166 168 170 171 173 175 176 177 178 180 182 183 185 187 188 189 190 191 192 193 TICK CX 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176 DEPOLARIZE2(0.001) 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176 DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 24 29 35 41 52 58 59 64 70 75 81 87 98 104 105 106 108 110 111 116 117 119 121 122 127 138 139 144 149 160 161 166 171 182 183 184 186 188 189 191 193 TICK CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 CX 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 25 27 30 32 36 38 41 43 47 49 51 53 54 57 58 60 62 64 65 68 69 70 71 73 76 78 79 82 84 87 89 90 93 95 97 99 100 101 103 104 106 108 110 111 112 114 115 116 117 118 119 120 121 122 123 125 128 130 133 135 137 138 140 142 143 144 145 147 150 152 155 157 159 160 162 164 165 166 167 169 172 174 177 179 181 182 184 186 187 188 189 190 191 192 193 TICK CX 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 CZ 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 DEPOLARIZE2(0.001) 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 DEPOLARIZE1(0.001) 1 3 5 8 10 12 13 15 17 20 22 24 35 36 58 70 81 82 104 110 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193 TICK CX 7 0 30 18 53 41 76 64 99 87 MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE2(0.001) 7 0 30 18 53 41 76 64 99 87 DEPOLARIZE1(0.001) 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK MX(0.001) 7 30 53 76 99 SHIFT_COORDS(0, 0, 2) DETECTOR(4, 0, 0) rec[-66] rec[-145] DETECTOR(8, 0, 0) rec[-48] rec[-127] DETECTOR(0, 2, 0) rec[-79] rec[-158] DETECTOR(2, 2, 0) rec[-75] rec[-154] DETECTOR(4, 2, 0) rec[-144] rec[-65] DETECTOR(6, 2, 0) rec[-57] rec[-136] DETECTOR(8, 2, 0) rec[-126] rec[-47] DETECTOR(2, 4, 0) rec[-74] rec[-153] DETECTOR(4, 4, 0) rec[-64] rec[-143] DETECTOR(6, 4, 0) rec[-56] rec[-135] DETECTOR(8, 4, 0) rec[-125] rec[-46] DETECTOR(10, 4, 0) rec[-118] rec[-39] DETECTOR(0, 6, 0) rec[-157] rec[-78] DETECTOR(2, 6, 0) rec[-152] rec[-73] DETECTOR(4, 6, 0) rec[-63] rec[-142] DETECTOR(6, 6, 0) rec[-55] rec[-134] DETECTOR(8, 6, 0) rec[-124] rec[-45] DETECTOR(2, 8, 0) rec[-72] rec[-151] DETECTOR(4, 8, 0) rec[-62] rec[-141] DETECTOR(6, 8, 0) rec[-133] rec[-54] DETECTOR(8, 8, 0) rec[-44] rec[-123] DETECTOR(10, 8, 0) rec[-117] rec[-38] DETECTOR(0, 12, 0) rec[-5] rec[-84] DETECTOR(2, 12, 0) rec[-4] rec[-83] DETECTOR(4, 12, 0) rec[-3] rec[-82] DETECTOR(6, 12, 0) rec[-81] rec[-2] DETECTOR(8, 12, 0) rec[-80] rec[-1] DETECTOR(12, 12, 0) rec[-111] rec[-32] DETECTOR(16, 12, 0) rec[-22] rec[-101] DETECTOR(20, 12, 0) rec[-91] rec[-12] DETECTOR(2, 14, 0) rec[-150] rec[-71] DETECTOR(4, 14, 0) rec[-61] rec[-140] DETECTOR(6, 14, 0) rec[-53] rec[-132] DETECTOR(8, 14, 0) rec[-122] rec[-43] DETECTOR(10, 14, 0) rec[-37] rec[-116] DETECTOR(12, 14, 0) rec[-110] rec[-31] DETECTOR(14, 14, 0) rec[-27] rec[-106] DETECTOR(16, 14, 0) rec[-21] rec[-100] DETECTOR(18, 14, 0) rec[-17] rec[-96] DETECTOR(20, 14, 0) rec[-11] rec[-90] DETECTOR(0, 16, 0) rec[-156] rec[-77] DETECTOR(2, 16, 0) rec[-149] rec[-70] DETECTOR(4, 16, 0) rec[-60] rec[-139] DETECTOR(6, 16, 0) rec[-131] rec[-52] DETECTOR(8, 16, 0) rec[-121] rec[-42] DETECTOR(10, 16, 0) rec[-115] rec[-36] DETECTOR(12, 16, 0) rec[-30] rec[-109] DETECTOR(14, 16, 0) rec[-26] rec[-105] DETECTOR(16, 16, 0) rec[-99] rec[-20] DETECTOR(18, 16, 0) rec[-16] rec[-95] DETECTOR(20, 16, 0) rec[-89] rec[-10] DETECTOR(22, 16, 0) rec[-86] rec[-7] DETECTOR(2, 18, 0) rec[-148] rec[-69] DETECTOR(4, 18, 0) rec[-59] rec[-138] DETECTOR(6, 18, 0) rec[-130] rec[-51] DETECTOR(8, 18, 0) rec[-120] rec[-41] DETECTOR(10, 18, 0) rec[-114] rec[-35] DETECTOR(12, 18, 0) rec[-108] rec[-29] DETECTOR(14, 18, 0) rec[-25] rec[-104] DETECTOR(16, 18, 0) rec[-98] rec[-19] DETECTOR(18, 18, 0) rec[-94] rec[-15] DETECTOR(20, 18, 0) rec[-88] rec[-9] DETECTOR(0, 20, 0) rec[-155] rec[-76] DETECTOR(2, 20, 0) rec[-147] rec[-68] DETECTOR(4, 20, 0) rec[-137] rec[-58] DETECTOR(6, 20, 0) rec[-50] rec[-129] DETECTOR(8, 20, 0) rec[-40] rec[-119] DETECTOR(10, 20, 0) rec[-113] rec[-34] DETECTOR(12, 20, 0) rec[-28] rec[-107] DETECTOR(14, 20, 0) rec[-103] rec[-24] DETECTOR(16, 20, 0) rec[-97] rec[-18] DETECTOR(18, 20, 0) rec[-14] rec[-93] DETECTOR(20, 20, 0) rec[-8] rec[-87] DETECTOR(22, 20, 0) rec[-85] rec[-6] DETECTOR(2, 22, 0) rec[-67] rec[-146] DETECTOR(6, 22, 0) rec[-49] rec[-128] DETECTOR(10, 22, 0) rec[-112] rec[-33] DETECTOR(14, 22, 0) rec[-23] rec[-102] DETECTOR(18, 22, 0) rec[-92] rec[-13] DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 TICK RX 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 R 18 41 64 87 110 X_ERROR(0.001) 18 41 64 87 110 Z_ERROR(0.001) 2 4 7 9 11 25 26 27 28 30 31 32 33 34 35 47 48 49 50 51 53 54 55 56 57 71 72 73 74 76 77 78 79 80 81 93 94 95 96 97 99 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE1(0.001) 0 1 3 5 6 8 10 12 13 14 15 16 17 19 20 21 22 23 24 29 36 37 38 39 40 42 43 44 45 46 52 58 59 60 61 62 63 65 66 67 68 69 70 75 82 83 84 85 86 88 89 90 91 92 98 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK CX 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 CZ 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 R 6 29 52 75 98 DEPOLARIZE2(0.001) 7 18 25 37 27 39 30 41 32 44 34 46 47 59 49 61 51 63 53 64 54 66 56 68 71 83 73 85 76 87 78 90 80 92 93 105 95 107 97 109 99 110 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 X_ERROR(0.001) 6 29 52 75 98 DEPOLARIZE1(0.001) 0 1 3 5 8 10 12 13 15 17 19 20 22 24 35 36 42 58 65 70 81 82 88 104 111 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193 TICK CX 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98 CZ 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176 DEPOLARIZE2(0.001) 18 6 25 14 27 16 30 42 32 21 41 29 49 38 51 40 54 43 64 52 71 60 73 62 76 88 78 67 87 75 95 84 97 86 100 89 110 98 7 19 53 65 57 46 79 68 99 111 101 90 103 92 123 112 125 114 135 130 137 132 145 140 147 142 157 152 159 154 167 162 169 164 179 174 181 176 DEPOLARIZE1(0.001) 0 1 2 3 4 5 8 9 10 11 12 13 15 17 20 22 23 24 26 28 31 33 34 35 36 37 39 44 45 47 48 50 55 56 58 59 61 63 66 69 70 72 74 77 80 81 82 83 85 91 93 94 96 102 104 105 106 107 108 109 113 115 116 117 118 119 120 121 122 124 126 127 128 129 131 133 134 136 138 139 141 143 144 146 148 149 150 151 153 155 156 158 160 161 163 165 166 168 170 171 172 173 175 177 178 180 182 183 184 185 186 187 188 189 190 191 192 193 TICK CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186 CX 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 57 68 72 83 74 85 77 88 79 90 81 92 94 105 96 107 98 109 101 112 103 114 123 128 125 130 127 132 135 140 137 142 145 150 147 152 149 154 157 162 159 164 167 172 169 174 171 176 179 184 181 186 25 36 27 38 29 40 32 43 34 45 49 60 51 62 54 65 56 67 71 82 73 84 75 86 78 89 80 91 95 106 97 108 100 111 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 30 41 47 53 58 64 69 70 76 87 93 99 104 110 115 116 117 118 119 120 121 122 133 138 143 144 155 160 165 166 177 182 187 188 189 190 191 192 193 TICK CX 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172 DEPOLARIZE2(0.001) 30 19 34 23 47 36 56 45 76 65 80 69 93 82 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 72 61 74 63 77 66 94 83 96 85 99 88 118 107 120 109 133 128 155 150 177 172 DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 18 21 24 25 27 29 32 35 38 40 41 43 46 49 51 52 54 57 58 59 60 62 64 67 68 70 71 73 75 78 79 81 84 86 87 89 90 92 95 97 98 100 101 103 104 105 106 108 110 111 112 114 116 117 119 121 122 123 125 127 130 132 135 137 138 139 140 142 144 145 147 149 152 154 157 159 160 161 162 164 166 167 169 171 174 176 179 181 182 183 184 186 188 189 191 193 TICK CX 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 DEPOLARIZE2(0.001) 18 7 25 13 27 15 29 17 32 20 34 22 41 30 49 37 51 39 54 42 56 44 64 53 71 59 73 61 75 63 78 66 80 68 87 76 95 83 97 85 100 88 102 90 110 99 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 52 40 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 98 86 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 8 9 10 11 12 24 46 47 58 70 92 93 104 105 107 109 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193 TICK CX 6 18 29 41 52 64 75 87 98 110 MX(0.001) 2 4 9 11 25 26 27 28 31 32 33 34 35 47 48 49 50 51 54 55 56 57 71 72 73 74 77 78 79 80 81 93 94 95 96 97 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE2(0.001) 6 18 29 41 52 64 75 87 98 110 DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK MX(0.001) 6 29 52 75 98 DETECTOR(4, 0, 0) rec[-66] rec[-145] DETECTOR(8, 0, 0) rec[-48] rec[-127] DETECTOR(0, 2, 0) rec[-79] rec[-158] DETECTOR(2, 2, 0) rec[-75] rec[-154] DETECTOR(4, 2, 0) rec[-144] rec[-65] DETECTOR(6, 2, 0) rec[-57] rec[-136] DETECTOR(8, 2, 0) rec[-126] rec[-47] DETECTOR(2, 4, 0) rec[-74] rec[-153] DETECTOR(4, 4, 0) rec[-64] rec[-143] DETECTOR(6, 4, 0) rec[-56] rec[-135] DETECTOR(8, 4, 0) rec[-125] rec[-46] DETECTOR(10, 4, 0) rec[-118] rec[-39] DETECTOR(0, 6, 0) rec[-157] rec[-78] DETECTOR(2, 6, 0) rec[-152] rec[-73] DETECTOR(4, 6, 0) rec[-63] rec[-142] DETECTOR(6, 6, 0) rec[-55] rec[-134] DETECTOR(8, 6, 0) rec[-124] rec[-45] DETECTOR(2, 8, 0) rec[-72] rec[-151] DETECTOR(4, 8, 0) rec[-62] rec[-141] DETECTOR(6, 8, 0) rec[-133] rec[-54] DETECTOR(8, 8, 0) rec[-44] rec[-123] DETECTOR(10, 8, 0) rec[-117] rec[-38] DETECTOR(0, 10, 0) rec[-84] rec[-5] DETECTOR(2, 10, 0) rec[-83] rec[-4] DETECTOR(4, 10, 0) rec[-82] rec[-3] DETECTOR(6, 10, 0) rec[-2] rec[-81] DETECTOR(8, 10, 0) rec[-1] rec[-80] DETECTOR(12, 12, 0) rec[-111] rec[-32] DETECTOR(16, 12, 0) rec[-22] rec[-101] DETECTOR(20, 12, 0) rec[-91] rec[-12] DETECTOR(2, 14, 0) rec[-150] rec[-71] DETECTOR(4, 14, 0) rec[-61] rec[-140] DETECTOR(6, 14, 0) rec[-53] rec[-132] DETECTOR(8, 14, 0) rec[-122] rec[-43] DETECTOR(10, 14, 0) rec[-37] rec[-116] DETECTOR(12, 14, 0) rec[-110] rec[-31] DETECTOR(14, 14, 0) rec[-27] rec[-106] DETECTOR(16, 14, 0) rec[-21] rec[-100] DETECTOR(18, 14, 0) rec[-17] rec[-96] DETECTOR(20, 14, 0) rec[-11] rec[-90] DETECTOR(0, 16, 0) rec[-156] rec[-77] DETECTOR(2, 16, 0) rec[-149] rec[-70] DETECTOR(4, 16, 0) rec[-60] rec[-139] DETECTOR(6, 16, 0) rec[-52] rec[-131] DETECTOR(8, 16, 0) rec[-121] rec[-42] DETECTOR(10, 16, 0) rec[-36] rec[-115] DETECTOR(12, 16, 0) rec[-30] rec[-109] DETECTOR(14, 16, 0) rec[-26] rec[-105] DETECTOR(16, 16, 0) rec[-99] rec[-20] DETECTOR(18, 16, 0) rec[-16] rec[-95] DETECTOR(20, 16, 0) rec[-89] rec[-10] DETECTOR(22, 16, 0) rec[-86] rec[-7] DETECTOR(2, 18, 0) rec[-148] rec[-69] DETECTOR(4, 18, 0) rec[-59] rec[-138] DETECTOR(6, 18, 0) rec[-130] rec[-51] DETECTOR(8, 18, 0) rec[-120] rec[-41] DETECTOR(10, 18, 0) rec[-114] rec[-35] DETECTOR(12, 18, 0) rec[-108] rec[-29] DETECTOR(14, 18, 0) rec[-25] rec[-104] DETECTOR(16, 18, 0) rec[-98] rec[-19] DETECTOR(18, 18, 0) rec[-94] rec[-15] DETECTOR(20, 18, 0) rec[-88] rec[-9] DETECTOR(0, 20, 0) rec[-155] rec[-76] DETECTOR(2, 20, 0) rec[-147] rec[-68] DETECTOR(4, 20, 0) rec[-137] rec[-58] DETECTOR(6, 20, 0) rec[-50] rec[-129] DETECTOR(8, 20, 0) rec[-40] rec[-119] DETECTOR(10, 20, 0) rec[-113] rec[-34] DETECTOR(12, 20, 0) rec[-28] rec[-107] DETECTOR(14, 20, 0) rec[-103] rec[-24] DETECTOR(16, 20, 0) rec[-97] rec[-18] DETECTOR(18, 20, 0) rec[-14] rec[-93] DETECTOR(20, 20, 0) rec[-8] rec[-87] DETECTOR(22, 20, 0) rec[-85] rec[-6] DETECTOR(2, 22, 0) rec[-67] rec[-146] DETECTOR(6, 22, 0) rec[-49] rec[-128] DETECTOR(10, 22, 0) rec[-112] rec[-33] DETECTOR(14, 22, 0) rec[-23] rec[-102] DETECTOR(18, 22, 0) rec[-92] rec[-13] DEPOLARIZE1(0.001) 0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 TICK RX 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 R 0 18 41 64 87 X_ERROR(0.001) 0 18 41 64 87 Z_ERROR(0.001) 2 4 6 9 11 25 26 27 28 29 31 32 33 34 35 47 48 49 50 51 52 54 55 56 57 71 72 73 74 75 77 78 79 80 81 93 94 95 96 97 98 100 101 102 103 118 120 123 124 125 126 127 133 134 135 136 137 145 146 147 148 149 155 156 157 158 159 167 168 169 170 171 177 178 179 180 181 190 192 DEPOLARIZE1(0.001) 1 3 5 7 8 10 12 13 14 15 16 17 19 20 21 22 23 24 30 36 37 38 39 40 42 43 44 45 46 53 58 59 60 61 62 63 65 66 67 68 69 70 76 82 83 84 85 86 88 89 90 91 92 99 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 121 122 128 129 130 131 132 138 139 140 141 142 143 144 150 151 152 153 154 160 161 162 163 164 165 166 172 173 174 175 176 182 183 184 185 186 187 188 189 191 193 TICK CX 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 CZ 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 R 7 30 53 76 99 DEPOLARIZE2(0.001) 6 0 25 13 27 15 29 18 32 20 34 22 49 37 51 39 52 41 54 42 56 44 71 59 73 61 75 64 78 66 80 68 95 83 97 85 98 87 100 88 102 90 124 112 126 114 134 128 136 130 146 140 148 142 156 150 158 152 168 162 170 164 178 172 180 174 190 184 192 186 26 14 28 16 31 19 33 21 35 23 48 36 50 38 55 43 57 45 72 60 74 62 77 65 79 67 81 69 94 82 96 84 101 89 103 91 118 106 120 108 123 111 125 113 127 115 135 129 137 131 145 139 147 141 149 143 157 151 159 153 167 161 169 163 171 165 179 173 181 175 X_ERROR(0.001) 7 30 53 76 99 DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 17 24 40 46 47 58 63 70 86 92 93 104 105 107 109 110 116 117 119 121 122 132 133 138 144 154 155 160 166 176 177 182 183 185 187 188 189 191 193 TICK CX 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 CZ 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186 DEPOLARIZE2(0.001) 0 7 18 30 25 36 27 38 29 17 32 43 41 53 49 60 51 62 54 65 64 76 71 82 73 84 75 63 78 89 87 99 95 106 97 108 100 111 52 40 57 68 79 90 98 86 101 112 103 114 123 128 125 130 135 140 137 142 145 150 147 152 157 162 159 164 167 172 169 174 179 184 181 186 DEPOLARIZE1(0.001) 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 19 20 21 22 23 24 26 28 31 33 34 35 37 39 42 44 45 46 47 48 50 55 56 58 59 61 66 67 69 70 72 74 77 80 81 83 85 88 91 92 93 94 96 102 104 105 107 109 110 113 115 116 117 118 119 120 121 122 124 126 127 129 131 132 133 134 136 138 139 141 143 144 146 148 149 151 153 154 155 156 158 160 161 163 165 166 168 170 171 173 175 176 177 178 180 182 183 185 187 188 189 190 191 192 193 TICK CX 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 CZ 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176 DEPOLARIZE2(0.001) 25 14 27 16 30 19 32 21 34 23 47 36 49 38 51 40 54 43 56 45 71 60 73 62 76 65 78 67 80 69 93 82 95 84 97 86 100 89 102 91 124 113 126 115 134 129 136 131 146 141 148 143 156 151 158 153 168 163 170 165 178 173 180 175 190 185 192 187 26 15 28 17 31 20 33 22 48 37 50 39 53 42 55 44 57 46 72 61 74 63 77 66 79 68 94 83 96 85 99 88 101 90 103 92 118 107 120 109 123 112 125 114 133 128 135 130 137 132 145 140 147 142 155 150 157 152 159 154 167 162 169 164 177 172 179 174 181 176 DEPOLARIZE1(0.001) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 24 29 35 41 52 58 59 64 70 75 81 87 98 104 105 106 108 110 111 116 117 119 121 122 127 138 139 144 149 160 161 166 171 182 183 184 186 188 189 191 193 TICK CZ 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 CX 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE2(0.001) 2 13 4 15 6 17 9 20 11 22 26 37 28 39 31 42 33 44 35 46 48 59 50 61 52 63 55 66 72 83 74 85 77 88 81 92 94 105 96 107 98 109 127 132 149 154 171 176 29 40 34 45 56 67 75 86 80 91 102 113 124 129 126 131 134 139 136 141 146 151 148 153 156 161 158 163 168 173 170 175 178 183 180 185 DEPOLARIZE1(0.001) 0 1 3 5 7 8 10 12 14 16 18 19 21 23 24 25 27 30 32 36 38 41 43 47 49 51 53 54 57 58 60 62 64 65 68 69 70 71 73 76 78 79 82 84 87 89 90 93 95 97 99 100 101 103 104 106 108 110 111 112 114 115 116 117 118 119 120 121 122 123 125 128 130 133 135 137 138 140 142 143 144 145 147 150 152 155 157 159 160 162 164 165 166 167 169 172 174 177 179 181 182 184 186 187 188 189 190 191 192 193 TICK CX 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 CZ 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 DEPOLARIZE2(0.001) 0 6 18 29 25 37 27 39 30 42 32 44 34 46 41 52 47 59 49 61 51 63 54 66 56 68 64 75 71 83 73 85 76 88 78 90 80 92 87 98 93 105 95 107 97 109 100 112 102 114 124 130 126 132 134 140 136 142 146 152 148 154 156 162 158 164 168 174 170 176 178 184 180 186 2 14 4 16 7 19 9 21 11 23 26 38 28 40 31 43 33 45 48 60 50 62 53 65 55 67 57 69 72 84 74 86 77 89 79 91 94 106 96 108 99 111 101 113 103 115 123 129 125 131 133 139 135 141 137 143 145 151 147 153 155 161 157 163 159 165 167 173 169 175 177 183 179 185 181 187 DEPOLARIZE1(0.001) 1 3 5 8 10 12 13 15 17 20 22 24 35 36 58 70 81 82 104 110 116 117 118 119 120 121 122 127 128 138 144 149 150 160 166 171 172 182 188 189 190 191 192 193 TICK CX 7 0 30 18 53 41 76 64 99 87 MX(0.001) 2 4 9 11 13 14 15 16 17 19 20 21 22 23 25 26 27 28 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 54 55 56 57 59 60 61 62 63 65 66 67 68 69 71 72 73 74 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 100 101 102 103 105 106 107 108 109 111 112 113 114 115 118 120 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 139 140 141 142 143 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 161 162 163 164 165 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 183 184 185 186 187 190 192 DEPOLARIZE2(0.001) 7 0 30 18 53 41 76 64 99 87 DEPOLARIZE1(0.001) 1 3 5 6 8 10 12 24 29 52 58 70 75 98 104 110 116 117 119 121 122 138 144 160 166 182 188 189 191 193 TICK M(0.001) 0 6 18 29 41 52 64 75 87 98 MX(0.001) 7 30 53 76 99 DETECTOR(4, 0, 0) rec[-235] rec[-136] DETECTOR(4, 0, 0) rec[-136] rec[-146] rec[-127] DETECTOR(8, 0, 0) rec[-217] rec[-98] DETECTOR(8, 0, 0) rec[-108] rec[-98] rec[-89] DETECTOR(0, 2, 0) rec[-248] rec[-169] DETECTOR(2, 2, 0) rec[-155] rec[-165] rec[-146] rec[-164] rec[-145] DETECTOR(2, 2, 0) rec[-155] rec[-244] DETECTOR(4, 2, 0) rec[-135] rec[-234] DETECTOR(6, 2, 0) rec[-126] rec[-127] rec[-107] rec[-108] rec[-117] DETECTOR(6, 2, 0) rec[-226] rec[-117] DETECTOR(8, 2, 0) rec[-97] rec[-216] DETECTOR(2, 4, 0) rec[-243] rec[-154] DETECTOR(4, 4, 0) rec[-134] rec[-144] rec[-125] rec[-126] rec[-145] DETECTOR(4, 4, 0) rec[-233] rec[-134] DETECTOR(6, 4, 0) rec[-225] rec[-116] DETECTOR(8, 4, 0) rec[-87] rec[-106] rec[-96] rec[-107] rec[-88] DETECTOR(8, 4, 0) rec[-96] rec[-215] DETECTOR(10, 4, 0) rec[-79] rec[-208] DETECTOR(0, 6, 0) rec[-247] rec[-168] DETECTOR(2, 6, 0) rec[-144] rec[-163] rec[-143] rec[-162] rec[-153] DETECTOR(2, 6, 0) rec[-242] rec[-153] DETECTOR(4, 6, 0) rec[-133] rec[-232] DETECTOR(6, 6, 0) rec[-106] rec[-125] rec[-115] rec[-124] rec[-105] DETECTOR(6, 6, 0) rec[-224] rec[-115] DETECTOR(8, 6, 0) rec[-95] rec[-214] DETECTOR(2, 8, 0) rec[-152] rec[-241] DETECTOR(4, 8, 0) rec[-124] rec[-132] rec[-142] rec[-143] rec[-123] DETECTOR(4, 8, 0) rec[-132] rec[-231] DETECTOR(6, 8, 0) rec[-114] rec[-223] DETECTOR(8, 8, 0) rec[-94] rec[-86] rec[-105] rec[-104] rec[-85] DETECTOR(8, 8, 0) rec[-213] rec[-94] DETECTOR(10, 8, 0) rec[-78] rec[-207] DETECTOR(0, 10, 0) rec[-14] DETECTOR(2, 10, 0) rec[-14] rec[-142] rec[-160] rec[-161] rec[-15] rec[-141] rec[-4] DETECTOR(2, 10, 0) rec[-12] DETECTOR(4, 10, 0) rec[-10] DETECTOR(6, 10, 0) rec[-11] rec[-2] rec[-104] rec[-10] rec[-123] rec[-103] rec[-122] DETECTOR(6, 10, 0) rec[-8] DETECTOR(8, 10, 0) rec[-6] DETECTOR(0, 12, 0) rec[-5] rec[-174] DETECTOR(2, 12, 0) rec[-4] rec[-173] DETECTOR(2, 10, 0) rec[-14] rec[-142] rec[-160] rec[-161] rec[-15] rec[-141] rec[-4] DETECTOR(4, 12, 0) rec[-3] rec[-172] DETECTOR(6, 12, 0) rec[-171] rec[-2] DETECTOR(6, 10, 0) rec[-11] rec[-2] rec[-104] rec[-10] rec[-123] rec[-103] rec[-122] DETECTOR(8, 12, 0) rec[-170] rec[-1] DETECTOR(12, 12, 0) rec[-201] rec[-67] DETECTOR(16, 12, 0) rec[-191] rec[-47] DETECTOR(20, 12, 0) rec[-27] rec[-181] DETECTOR(2, 14, 0) rec[-151] rec[-240] DETECTOR(4, 14, 0) rec[-140] rec[-121] rec[-131] rec[-141] rec[-122] DETECTOR(4, 14, 0) rec[-230] rec[-131] DETECTOR(6, 14, 0) rec[-222] rec[-113] DETECTOR(8, 14, 0) rec[-83] rec[-93] rec[-102] rec[-84] rec[-103] DETECTOR(8, 14, 0) rec[-93] rec[-212] DETECTOR(10, 14, 0) rec[-206] rec[-77] DETECTOR(12, 14, 0) rec[-61] rec[-72] rec[-62] rec[-66] rec[-71] DETECTOR(12, 14, 0) rec[-200] rec[-66] DETECTOR(14, 14, 0) rec[-196] rec[-57] DETECTOR(16, 14, 0) rec[-41] rec[-42] rec[-52] rec[-46] rec[-51] DETECTOR(16, 14, 0) rec[-46] rec[-190] DETECTOR(18, 14, 0) rec[-186] rec[-37] DETECTOR(20, 14, 0) rec[-26] rec[-21] rec[-22] rec[-32] rec[-31] DETECTOR(20, 14, 0) rec[-180] rec[-26] DETECTOR(0, 16, 0) rec[-167] rec[-246] DETECTOR(2, 16, 0) rec[-140] rec[-158] rec[-159] rec[-139] rec[-150] DETECTOR(2, 16, 0) rec[-150] rec[-239] DETECTOR(4, 16, 0) rec[-229] rec[-130] DETECTOR(6, 16, 0) rec[-101] rec[-112] rec[-121] rec[-102] rec[-120] DETECTOR(6, 16, 0) rec[-112] rec[-221] DETECTOR(8, 16, 0) rec[-92] rec[-211] DETECTOR(10, 16, 0) rec[-83] rec[-82] rec[-70] rec[-71] rec[-76] DETECTOR(10, 16, 0) rec[-76] rec[-205] DETECTOR(12, 16, 0) rec[-199] rec[-65] DETECTOR(14, 16, 0) rec[-60] rec[-61] rec[-51] rec[-50] rec[-56] DETECTOR(14, 16, 0) rec[-195] rec[-56] DETECTOR(16, 16, 0) rec[-189] rec[-45] DETECTOR(18, 16, 0) rec[-40] rec[-36] rec[-41] rec[-30] rec[-31] DETECTOR(18, 16, 0) rec[-185] rec[-36] DETECTOR(20, 16, 0) rec[-25] rec[-179] DETECTOR(22, 16, 0) rec[-21] rec[-20] rec[-17] DETECTOR(22, 16, 0) rec[-17] rec[-176] DETECTOR(2, 18, 0) rec[-149] rec[-238] DETECTOR(4, 18, 0) rec[-138] rec[-119] rec[-129] rec[-139] rec[-120] DETECTOR(4, 18, 0) rec[-129] rec[-228] DETECTOR(6, 18, 0) rec[-220] rec[-111] DETECTOR(8, 18, 0) rec[-101] rec[-100] rec[-82] rec[-91] rec[-81] DETECTOR(8, 18, 0) rec[-91] rec[-210] DETECTOR(10, 18, 0) rec[-204] rec[-75] DETECTOR(12, 18, 0) rec[-60] rec[-69] rec[-59] rec[-64] rec[-70] DETECTOR(12, 18, 0) rec[-198] rec[-64] DETECTOR(14, 18, 0) rec[-194] rec[-55] DETECTOR(16, 18, 0) rec[-40] rec[-39] rec[-44] rec[-49] rec[-50] DETECTOR(16, 18, 0) rec[-188] rec[-44] DETECTOR(18, 18, 0) rec[-35] rec[-184] DETECTOR(20, 18, 0) rec[-19] rec[-20] rec[-29] rec[-24] rec[-30] DETECTOR(20, 18, 0) rec[-24] rec[-178] DETECTOR(0, 20, 0) rec[-245] rec[-166] DETECTOR(2, 20, 0) rec[-138] rec[-156] rec[-148] rec[-157] rec[-137] DETECTOR(2, 20, 0) rec[-148] rec[-237] DETECTOR(4, 20, 0) rec[-128] rec[-227] DETECTOR(6, 20, 0) rec[-110] rec[-99] rec[-100] rec[-119] rec[-118] DETECTOR(6, 20, 0) rec[-110] rec[-219] DETECTOR(8, 20, 0) rec[-90] rec[-209] DETECTOR(10, 20, 0) rec[-68] rec[-74] rec[-69] rec[-80] rec[-81] DETECTOR(10, 20, 0) rec[-203] rec[-74] DETECTOR(12, 20, 0) rec[-197] rec[-63] DETECTOR(14, 20, 0) rec[-48] rec[-54] rec[-59] rec[-58] rec[-49] DETECTOR(14, 20, 0) rec[-193] rec[-54] DETECTOR(16, 20, 0) rec[-43] rec[-187] DETECTOR(18, 20, 0) rec[-39] rec[-34] rec[-38] rec[-29] rec[-28] DETECTOR(18, 20, 0) rec[-34] rec[-183] DETECTOR(20, 20, 0) rec[-177] rec[-23] DETECTOR(22, 20, 0) rec[-18] rec[-16] rec[-19] DETECTOR(22, 20, 0) rec[-175] rec[-16] DETECTOR(2, 22, 0) rec[-147] rec[-236] DETECTOR(6, 22, 0) rec[-218] rec[-109] DETECTOR(10, 22, 0) rec[-73] rec[-202] DETECTOR(14, 22, 0) rec[-53] rec[-192] DETECTOR(18, 22, 0) rec[-33] rec[-182] OBSERVABLE_INCLUDE(0) rec[-40] rec[-121] rec[-125] rec[-101] rec[-60] rec[-30] rec[-50] rec[-120] rec[-127] rec[-124] rec[-122] rec[-126] rec[-123] rec[-82] rec[-20] rec[-70] DEPOLARIZE1(0.001) 1 2 3 4 5 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 54 55 56 57 58 59 60 61 62 63 65 66 67 68 69 70 71 72 73 74 77 78 79 80 81 82 83 84 85 86 88 89 90 91 92 93 94 95 96 97 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
the detector associated with the region PAULI_MARK#2 is included in the generated circuit.
I did not see this included in the circuit provided above?
the detector associated with the region PAULI_MARK#2 is included in the generated circuit.
I did not see this included in the circuit provided above?
Right, I confused with the measurements above.
After manually adding those detectors in the final round, I can verify that the circuit distance is:
k=1: 2k=2: 4k=3: 5k=4: 7
Is there an easy way to make tqecd to find these detectors?
After manually adding those detectors in the final round, I can verify that the circuit distance is:
k=1: 2k=2: 4k=3: 5k=4: 7Is there an easy way to make
tqecdto find these detectors?
I cannot work on it today. I'll have a look tomorrow. What I do not get is why these detectors are not the first added, as tqecd should first add detectors contained in one round, before trying to match between neighbouring rounds.
What I do not get is why these detectors are not the first added, as tqecd should first add detectors contained in one round, before trying to match between neighbouring rounds.
I think it's because the consecutive measurement moments are divided into individual fragments:
R 0 1 2 3 4
TICK
M 0 1 2
TICK
MX 3 4
will generate two fragments now in tqecd.
What I do not get is why these detectors are not the first added, as tqecd should first add detectors contained in one round, before trying to match between neighbouring rounds.
I think it's because the consecutive measurement moments are divided into individual fragments:
R 0 1 2 3 4 TICK M 0 1 2 TICK MX 3 4will generate two fragments now in tqecd.
Yes. Basically, we can have either the expected detector including data-qubits from the extended plaquette or detectors involving ancilla measurements. This is due to the fact that matched flows are removed from the search space.
I am not sure how to solve that at the moment. We could:
- add meta-data to qubits saying "destruction flows involving measurements on this qubit can participate in multiple detectors", hence not removing the flow when it is matched, and annotating all data-qubits. That may not be easily usable when walking codes will enter into the equation.
- add the possibility for
Plaquetteinstances to include detectors, bypassing automatic detector computation, and only performing automatic computation when the detectors are not already provided by the user (not sure this is possible in general as, by definition,Plaquetteinstances are only aware of themselves and detectors include most of the time measurements from previous timesteps (i.e., previousPlaquetteinstances)). - something else ?
Option 1 seems like a bad fix: something that works for that specific case, but might break for another slightly different case.
I think option 2 would be a nice to have, allowing "power users" to explicitly specify the detectors they want without relying on an automatic process that may fails to produce the exact detectors they want, and it might also be needed for the more complex structures to come (Y-basis/walking code).
One problem: the representation of detectors will be hard... it needs to be able to represent measurements in the past and* measurements from outside the Plaquette instance, and that will add quite a lot of complexity, which makes me reluctant to implement option 2.
I am open to other options.
What if we allow those single-source flows to propagate one-more round and build detectors for those that can terminate trivially? For example, we propagate the end stabilizer from the reset till the end of the next fragment and if it can terminates at commuting measurements we add it to the detectors. The difference is that we do not match end/start stabilizers at the fragment interface in this case.
What if we allow those single-source flows to propagate one-more round and build detectors for those that can terminate trivially? For example, we propagate the end stabilizer from the reset till the end of the next fragment and if it can terminates at commuting measurements we add it to the detectors. The difference is that we do not match end/start stabilizers at the fragment interface in this case.
Considering that flows matched by that method would not be removed from the search space, that seems like a slightly more reasonable version than option 1, but I still think this looks like a solution for a specific problem that might end up biting us later on.
Also, a quick note: I am not against reworking entirely tqecd. I already made a few attempts locally using stim-native methods (such a flow_generators), but they ended up not being successful. If we need to rework it entirely, let's do it. If we only need to add a sensible rule to detectors matching, that's better.
but I still think this looks like a solution for a specific problem that might end up biting us later on.
I have that worry too but I do not have an anti-case in mind.
I am not against reworking entirely
tqecd
If we can come up with a better algorithm to build detectors or some improvements that require significant changes, it's totally worth a rewrite. Maybe even rewrite in C++ to improve performance.
I have that worry too but I do not have an anti-case in mind.
Me neither. But we might be surprised to see non-independent detectors showing up in other situations due to that addition. I need to think if there is any way to check the validity of the approach in order to have a safe-guard and raise (or warn) if the change end up also giving wrong results.
If we can come up with a better algorithm to build detectors or some improvements that require significant changes, it's totally worth a rewrite.
The method in https://github.com/Strilanc/magic-state-cultivation/blob/main/src/gen/_chunk/_chunk_compiler.py#L346 might be worth a look at.
Maybe even rewrite in C++ to improve performance.
Detector computation is not that expensive. If I remember correctly, the main cost of the detector computation part is building the circuits we will compute detectors on.
UPDATE:
From benchmarks on my computer:
So detector computation is expensive, might be worth an efficient rewrite, but is not the most expensive part of tqec.
I'm trying to reproduce properly the missing detector error in order to make it reproducible and try to understand exactly what is happening. That might take time.
I have not tested yet, but I think I found the source of the issue. The missing detector is likely due to
https://github.com/tqec/tqec/blob/a0af55cd2fdeed843a900cc4dd432c32fa8cde16/src/tqec/compile/detectors/compute.py#L244-L245
that filter out any detector that does not include a measurement from one of the syndrome qubit(s) of the central plaquette in the last timestep. This was done to ensure that each detector was uniquely assigned to a plaquette and avoid duplicates, but the missing detector ends on a qubit that is labeled as a "data" qubit.
I think the best way to fix that issue is to declare the ancilla qubit as a syndrome qubit. That will change the indexing of qubits, but that might solve the problem easily.
Nice! For local quick tests, I added a new attribute data_as_syndrome_roles to PlaquetteQubits. I include the down-left (top-left) data qubit of the up (down) spatial arm plaquette in the list, then filter over syndrome_qubits + data_as_syndrome_roles during detector computation. It works correctly! The measured circuit distance matches the result here.
The last two commits implement the fix I had in mind. Move rotation seems to still have an issue. I won't have time this week-end for more tinkering, so if you want to rather push your fix (or submit a PR on top of this one) @inmzhang please feel free.
The last two commits implement the fix I had in mind. Move rotation seems to still have an issue. I won't have time this week-end for more tinkering, so if you want to rather push your fix (or submit a PR on top of this one) @inmzhang please feel free.
Ok, I'll take a look.
Currently, some detectors are missing for move rotation. Here, the detectors with Pauli mark 1 is not computed. ~I think it's because the detector spans three fragments.~
It seems I forgot some important details about the flow matching, isn't a single measurement moment forming a fragment by itself and the algorithm will only match between two consecutive moments? Why is it able to find the this detector? @nelimee
It seems I forgot some important details about the flow matching, isn't a single measurement moment forming a fragment by itself
When the circuit is split by tqecd, a single measurement moment finishes the fragment, and so the above statement is true.
https://github.com/tqec/tqecd/blob/3a4ea8313a2e7a2239853da863f26cc80fc634b1/src/tqecd/fragment.py#L245-L250
The Fragment docstring was written with that in mind, but Fragment instances are in no way limited to one unique final measurement moment, as can be seen for example here:
https://github.com/tqec/tqecd/blob/3a4ea8313a2e7a2239853da863f26cc80fc634b1/src/tqecd/fragment.py#L81-L89
In the above code, moments are tested in reverse until there are no more measurements, hinting that more than one final measurement moment is valid.
In tqec, Fragment instances are constructed from the coordless_subcircuits:
https://github.com/tqec/tqec/blob/34af5b1d896721ff0f685311916767449e8ef2d1/src/tqec/compile/detectors/compute.py#L225-L225
that are built from the subcircuits
https://github.com/tqec/tqec/blob/34af5b1d896721ff0f685311916767449e8ef2d1/src/tqec/compile/detectors/compute.py#L209-L211
in turns obtained from a subtemplate and the plaquettes
https://github.com/tqec/tqec/blob/34af5b1d896721ff0f685311916767449e8ef2d1/src/tqec/compile/detectors/compute.py#L202
That means that the Fragment instances are provided with one QEC round as defined by the plaquettes. In the specific case of data-qubit measurements, these measurements are defined within the last plaquette instance (and not as a separate plaquette), hence they are included in the Fragment instance.
and the algorithm will only match between two consecutive moments?
It does. First match flows that are created and terminated within the same moment, then match for flows between two consecutive moments.
Why is it able to find the this detector?
I guess the explanation above should be enough to answer that question.
Currently, some detectors are missing for move rotation. Here, the detectors with Pauli mark 1 is not computed.
I will have a quick look today.
Thanks for the clarification, so I forgot that the fragment is constructed directly from the plaquettes instead of splitting from the merged circuits.