Thomson : certificate data for the cap (), part 2 of 2
DefinitionThomsonN7_cap_data_2Exact certificate data (part 2 of 2) for the cap () in H. Tran's proof of the Thomson problem for seven electrons. Together the two parts contain the typed three-point certificate tc_cap of the cap cell (paper §6.5, §7.2): the PSD blocks , the class minorants and multipliers , the constants and the sum-of-squares blocks, all exact integer data, together with the one-dimensional coercivity certificates of the cap minorants.
These are plain data definitions (integers, integer polynomials and block encodings); their correctness is not assumed anywhere — the solution of the corresponding cell lemma checks every identity and positivity condition in the Lean kernel. The data are split into two files only to respect the platform's file-size limit, and this part imports part 1.
Formalization Note The code is taken verbatim from the source file, restricted to the declarations needed here; the only edits for this Lean/Mathlib version are the lemma renames ite_eq_left→if_pos, ite_eq_right→if_neg and one rewrite of IsHermitian.isSymm.
import Definitions.Def_ThomsonN7_cap_data_1
/-!
# Thomson problem for N = 7 (and the D3h stretch target for N = 9)
Minimise the Coulomb energy `E(x) = ∑_{i<j} 1 / ‖x i - x j‖` over configurations of `N` pairwise
distinct points on the unit sphere `S² ⊂ ℝ³`.
* `N = 7`: the unique minimiser (up to `O(3)` and relabelling) is the regular pentagonal bipyramid,
with `E = 1/2 + 5√2 + 5/(2 sin(π/5)) + 5/(2 sin(2π/5)) = 14.452977414…`.
* `N = 9`: the (numerically known) minimiser is the D3h tricapped trigonal prism, which has one free
parameter `z` (the height of the two triangular faces); numerically `z ≈ 0.70365`,
`E ≈ 25.759986531`.
-/
open Real
namespace ThomsonN7
/-! ## Auxiliary facts (already proved; they show the definitions are well-posed) -/
/- BEGIN M0 -/
namespace Base
open Finset
/-! ### Invariance -/
/-! ### Gram values of the pentagonal bipyramid -/
end Base
/- END M0 -/
/- BEGIN M1 -/
namespace ThreePoint
open Finset Matrix
open scoped RealInnerProductSpace
/-! # Bachoc–Vallentin three-point positivity on `S²` (any block size, any `k`)
`Q3 k u v t = ((1-u²)(1-v²))^{k/2} T_k((t-uv)/√((1-u²)(1-v²)))` via the Chebyshev recursion.
-/
/-! ### Addition theorem (de Moivre) -/
/-! ### Combinatorics of ordered triple sums -/
section Comb
variable {n : ℕ}
end Comb
section Comb2
variable {n : ℕ}
end Comb2
section Comb3
variable {n : ℕ}
end Comb3
section Comb4
variable {n : ℕ}
end Comb4
section Final
variable {n : ℕ}
end Final
/-! ### The kernels at the diagonal `(1,1,1)` -/
section FinalZ
variable {n : ℕ}
end FinalZ
/- BEGIN M5 -/
section Critical
end Critical
section Critical
end Critical
section Critical
end Critical
section CriticalZ
variable {n : ℕ}
end CriticalZ
section CriticalZsym
variable {n : ℕ}
section Perm
variable (τ : Fin n → Fin n → ℝ) (hτ : ∀ i j, τ j i = τ i j) (f : ℝ → ℝ → ℝ → ℝ)
include hτ
end Perm
end CriticalZsym
section CriticalFinal
variable {n : ℕ}
end CriticalFinal
/- END M5 -/
end ThreePoint
/- BEGIN CERT3 -/
/-!
# Kronecker-substitution checking of polynomial identities
A polynomial `e : Ex` in three variables `u, v, t` with integer coefficients is given as an
expression tree. To prove `∀ u v t : ℝ, e(u,v,t) = 0` it suffices to check, with kernel
(GMP) integer arithmetic, that
* every exponent of every variable is `< D`,
* the `ℓ¹`-norm of the (uncollected) coefficients is `< 2^w`,
* the value of `e` at the integers `u = 2^w`, `v = 2^(w D)`, `t = 2^(w D²)` is `0`.
-/
namespace Kron
namespace Ex
end Ex
namespace Ex
end Ex
open Ex
end Kron
/-! ## Builders for `Ex` with evaluation lemmas -/
namespace Kron
namespace Ex
variable (u v t : ℝ)
/-! ### Substitution of variables by variables or `1` -/
end Ex
end Kron
/- BEGIN CERT1 -/
section Cert1Block
open Kron Kron.Ex
namespace Cert
open ThreePoint
/-! ## `Q_k` as a polynomial expression -/
/-! ## Quadratic forms: `L D Lᵀ` plus a diagonally dominant remainder -/
/-! ## Integer data of a positive semidefinite block -/
namespace Blk
end Blk
end Cert
end Cert1Block
/- BEGIN CERT3FILE -/
section Cert3Block
open Kron Kron.Ex
namespace Cert
open ThreePoint
/-! ## Helpers: zero-skipping scaling, monomial-preserving substitution -/
/-! ## The `F`-blocks: `Λ · Fp(u,v)` -/
/-! ## Block matrices and their quadratic forms -/
/-! ## Symmetrisation and the `F`-part of the identity -/
/-! ## SOS blocks with multipliers -/
/-! ## The certificate and its soundness -/
open scoped RealInnerProductSpace
namespace Cert3
end Cert3
namespace Cert3
end Cert3
namespace Cert3
end Cert3
end Cert
end Cert3Block
/- END CERT3 -/
/- BEGIN M2 -/
namespace M2
/-! ## The number field `ℚ(√2, 2 sin (π/5))` -/
namespace K8
/-! ### Rational enclosures and positivity of elements of `K8` -/
end K8
namespace K8
end K8
/-! ### Polynomials with `K8` coefficients: dense lists, lowest degree first -/
namespace Pl
end Pl
open Pl
end M2
/- END M2 -/
/- BEGIN M3 -/
namespace M3
open scoped InnerProductSpace
end M3
/- BEGIN P3ext -/
/-! ## P3: Bregman (Taylor) lower bounds for the Coulomb pair potential (agent7) -/
namespace Base
end Base
/- END P3ext -/
/- BEGIN P1 -/
/-! ## P1: the bipyramid is a critical point of the Coulomb energy on the constraint set (agent7) -/
namespace Reg
open Base
end Reg
/- END P1 -/
/- BEGIN GAUGE -/
/-! ## G: gauge (Procrustes) lemma `exists_gauge` (agent7) -/
namespace Reg
open scoped RealInnerProductSpace
end Reg
/- END GAUGE -/
/- BEGIN P2 -/
/- BEGIN RegB (P2: exact energy identity; needs M0 = namespace Base and the Challenge preamble) -/
namespace RegB
open Base Finset
section vectors
variable (y : Fin 7 → R3)
end vectors
end RegB
/- END RegB -/
/- END P2 -/
/- BEGIN GV -/
namespace GV
open Base
open scoped InnerProductSpace
end GV
/- END GV -/
/- BEGIN TWOREGIME -/
namespace TwoRegime
open scoped InnerProductSpace
end TwoRegime
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
/- END TWOREGIME -/
/- BEGIN TR_D -/
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
/- END TR_D -/
/- BEGIN TR_E -/
namespace ThreePoint
open Finset Matrix
open scoped RealInnerProductSpace
section FinalCut
variable {n : ℕ}
end FinalCut
end ThreePoint
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
/- END TR_E -/
/- BEGIN TR_G -/
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
/- BEGIN TR_G3 -/
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
/- END TR_G3 -/
/- BEGIN TR_G4 -/
namespace TwoRegime
open scoped InnerProductSpace
open Base
end TwoRegime
/- END TR_G4 -/
/- END TR_G -/
/- BEGIN INTERFACES -/
namespace Interfaces
open Finset Base
end Interfaces
/- END INTERFACES -/
/- BEGIN GLUE -/
namespace Glue
open Finset Base Interfaces
end Glue
/- END GLUE -/
/- BEGIN TR_F -/
namespace EPBounds
open Real
end EPBounds
/- END TR_F -/
end ThomsonN7
section RegLocalSection
/- BEGIN REGLOCAL (agent7): perturbative strict local minimality of the pentagonal bipyramid.
Splice AFTER Level1d (needs GAUGE = exists_gauge, P1/P3ext, Base, TwoRegime.LocalMinAt).
Pieces in order: Loc1 (H, B3) | QCore1 (certificate defs/lemmas) | Q2 (expansion) | QCore2 (core) | Loc2 (glue). -/
open Real
open scoped RealInnerProductSpace
namespace ThomsonN7
/- BEGIN LOC1 (agent7): exact chart identity (H) and cubic Bregman lower bound (B3) in h = y - P.
Splice AFTER the GAUGE block (needs P1, P3ext); compiles against Level1b.lean lines 1-3641. -/
namespace Reg
open Base
end Reg
/- END LOC1 -/
end ThomsonN7
/- BEGIN QCORE1 -/
namespace ThomsonN7
namespace Reg
end Reg
end ThomsonN7
/- END QCORE1 -/
/- BEGIN Q2 -/
open Real
open scoped RealInnerProductSpace
namespace ThomsonN7
namespace Reg
open Base
end Reg
end ThomsonN7
/- END Q2 -/
/- BEGIN QCORE2 -/
namespace ThomsonN7
namespace Reg
end Reg
end ThomsonN7
/- END QCORE2 -/
/- BEGIN LOC2 -/
open Real
open scoped RealInnerProductSpace
namespace ThomsonN7
namespace Reg
open Base
/-! ### The atom box for the penalised Hessian certificate -/
end Reg
end ThomsonN7
/- END LOC2 -/
namespace ThomsonN7
namespace Reg
end Reg
end ThomsonN7
/- END REGLOCAL -/
end RegLocalSection
/- BEGIN CASE1 -/
namespace ThomsonN7
namespace CutOneD
end CutOneD
end ThomsonN7
namespace ThomsonN7
namespace Case1Data
open ThomsonN7 ThomsonN7.Cert
end Case1Data
end ThomsonN7
namespace ThomsonN7
namespace Case1
open scoped InnerProductSpace
open ThomsonN7.Cert ThomsonN7.Cert.Cert3
/-! ### Chunked evaluation of the Kronecker check for `Case1Data.cf`
The identity expression `Case1Data.cf.idE` has about 147 000 nodes. Evaluating `chk` on it in one
kernel call is correct but keeps every intermediate kernel term alive until the end of the
declaration. Here the same check is split into separate declarations, one per piece of the
expression (`hE`, four `F`-blocks, eight `S`-blocks). For every expression `e`, `c1Stat w D e`
computes, in one structural pass, the tuple `(ℓ¹-norm, deg u, deg v, deg t, Kronecker value)`
(`c1Stat_eq`). The 13 pieces are evaluated by `decide +kernel` against exact literals, in 13
separate declarations; the statistics of `Case1Data.cf.idE` follow by the composition lemma
`c1Stat_idE` and closed arithmetic on the literals, and `chk` is then decided by its own definition
(`Nat.log2 ℓ¹ + 1 = 179`, `max deg + 1 = 11`, Kronecker value `0`). The statement of `cf_ok` is
unchanged; the literals are data found by a program outside Lean and are only ever checked. -/
/-! The 13 pieces, each evaluated in its own declaration (`w = 179`, `D = 11`). -/
end Case1
end ThomsonN7
/- END CASE1 -/
/- BEGIN CASE2RED -/
namespace ThomsonN7
namespace Case1
section Case2Red
open scoped InnerProductSpace
open Base
end Case2Red
end Case1
end ThomsonN7
/- END CASE2RED -/
section Asm_Typed
open Finset Matrix
open scoped RealInnerProductSpace
namespace ThomsonN7
namespace ThreePoint
/-! # Typed (root-dependent) three-point bound
Every root `i` carries its own kernel `s i`; every pair `{i, j}` carries its own minorant `H i j`.
-/
section TypedRoot
end TypedRoot
section TypedComb
variable {n : ℕ}
end TypedComb
end ThreePoint
end ThomsonN7
end Asm_Typed
section Asm_Typed2
open Finset Matrix
open scoped RealInnerProductSpace
namespace ThomsonN7
namespace ThreePoint
/-! # Typed three-point bound with free pair shares
Each triple `{i, j, l}` receives a share `W i j l` of the pair function of `{i, j}` (and
similarly for the constant), so that the total over the triples containing a pair is prescribed.
-/
section TypedComb2
variable {n : ℕ}
end TypedComb2
end ThreePoint
end ThomsonN7
end Asm_Typed2
section Asm_Typed7
open Finset Matrix
open scoped RealInnerProductSpace
namespace ThomsonN7
namespace ThreePoint
section Sym
end Sym
/-! # The `n = 7` typed instance: two poles (indices `0, 1`) and five ring points (`2..6`) -/
section Typed7
end Typed7
end ThreePoint
end ThomsonN7
end Asm_Typed7
section Asm_T4
namespace ThomsonN7
namespace M6
/-! ### Integer interval arithmetic (exact, no rounding) -/
/-! ### Homogeneous Gram determinants and their interval enclosures -/
/-! ### Boxes, bisection and the two refutation checkers -/
end M6
end ThomsonN7
open scoped InnerProductSpace
namespace ThomsonN7
namespace T4
open M6
/-! ### Combinatorics of the ring: a 2-colouring of `K₅` without monochromatic triangle is a pentagon -/
/-! ### The ring colouring of a configuration -/
/-! ### The relabelling of the bipyramid -/
/-! ### Nominal Gram entries of the relabelled bipyramid -/
/-! ### Ring rigidity -/
end T4
end ThomsonN7
end Asm_T4
section Asm_Glue1
/-!
# Glue for the near-antipodal case (Case 2)
Abstract, numerics-independent assembly:
* `Glue.exists_minpair_perm`: every 7-configuration is a relabelling of one whose pair `(0,1)` has the
smallest inner product;
* `Glue.RootedClaim`, `Glue.case2_of_rooted`, `Glue.seven_of_rooted`: the rooted claim implies both
Challenge statements (through `Case1.seven_of_case2`);
* `Glue.rooted_of_cap_slabs`: a cap certificate plus finitely many slab certificates give the rooted
claim;
* `Glue.slab_of_typed`, `Glue.cap_of_typed`: a typed pair-minorant bound gives the slab / cap claims
(with the equality analysis through `M3.contact_rigidity`).
-/
namespace ThomsonN7
namespace Glue
section Rooted
open scoped InnerProductSpace
open Base
end Rooted
section Typed
open scoped InnerProductSpace
open Base
end Typed
end Glue
end ThomsonN7
end Asm_Glue1
section Asm_Glue2
/-!
# Glue for the near-sharp (tube) cap certificate, route S2
A typed pair-minorant bound `e <= sum_{i<j} H_cls(<y_i, y_j>)` which is only *near*-sharp
(`E(P) <= e + delta`) still gives the cap claim, provided
* the pair slacks `phi - H_cls` control the distance to the nodes (`slack <= delta` puts the inner
product within `tau` of a node of its class);
* the tube rigidity `TubeRigid tau` (closeness of all 21 inner products to the class nodes gives a
relabelling of the pentagonal bipyramid within `tau` in every Gram entry);
* the local statement `LocalGramA` holds on the window `tau` (Regime B).
The proof is: `E(y) <= E(P)` implies `sum of slacks <= delta`, hence every slack `<= delta`, hence the
tube, hence the window, hence the local statement.
-/
namespace ThomsonN7
namespace Glue
section Tube
open scoped InnerProductSpace
open Base
end Tube
end Glue
end ThomsonN7
end Asm_Glue2
section Asm_Glue2b
namespace ThomsonN7
namespace Glue
section TubeFromT4
open scoped RealInnerProductSpace
end TubeFromT4
end Glue
end ThomsonN7
end Asm_Glue2b
section Asm_Glue3
/-!
# Glue3: the typed three-point bound (`Typed7`) feeds the cap / slab glue (`Glue1`, `Glue2`)
`ThreePoint.typed7_bound` bounds `e` by the typed double sum `∑ i<j, H7 HA HB HC i j ⟪x i, x j⟫`.
Here we identify `H7` with the class selector `Glue.cls3` (poles are the indices `0, 1`) and
restate the bound in exactly the shape needed by `Glue.cap_of_typed`, `Glue.cap_of_typed_tube`
and `Glue.slab_of_typed`.
-/
namespace ThomsonN7
namespace Glue
section Bridge
open scoped InnerProductSpace
open Base
end Bridge
section Assembly
open scoped InnerProductSpace
open Base
end Assembly
end Glue
end ThomsonN7
end Asm_Glue3
section Asm_Glue4
/-!
# Glue4: the final interface (`CapSpec`, `SlabSpec`) and the assembly `seven_of_specs`
The near-sharp cap and the margin slabs are certified by *typed* three-point data
(`Typed7`): PSD blocks `FP FR`, class minorants `HA HB HC`, multipliers `ψBa ψCb`, constants
`cal cbe`, together with one-dimensional facts on the minorants. `CapSpec a0` (resp.
`SlabSpec lo hi`) is the proposition "such data exist"; every certificate producer has to prove
one of these propositions and nothing else. `seven_of_specs` is the assembly: a cap spec at
`a 0` and slab specs on `[a k, a (k+1)]` for `k < K`, with `a K ≥ -9/10`, give both Challenge
statements for `N = 7`.
The tube-rigidity hypothesis of the near-sharp cap and the local (Regime B) statement are
discharged here once and for all (`Glue.tubeRigid_of_le`, `Glue.localGramA_of_le`).
-/
namespace ThomsonN7
namespace Glue
section Final
open scoped InnerProductSpace
open Base
end Final
end Glue
end ThomsonN7
end Asm_Glue4
section Asm_EPEnc
/-! agent9: 40-digit enclosure of the minimal energy `E(P)` (for the near-sharp cap route). -/
namespace ThomsonN7
namespace Glue
section EPEnc
open Real
end EPEnc
end Glue
end ThomsonN7
end Asm_EPEnc
section Asm_Coerce
/-!
# One-dimensional facts for the typed cap / slab certificates (CoerceCert)
The typed three-point bound uses class minorants `H_cls ≤ phi` of the pair potential
`phi t = (√(2 - 2t))⁻¹`. For a polynomial `H = Q / Dq` write `y = √(2 - 2t) / 2 ∈ (0, 1]`, so
`t = 1 - 2 y²`, `phi = 1 / (2 y)` and
`phi t - H t = F(y) / (2 y Dq)`, `F(y) = Dq - 2 y Q(1 - 2 y²)`,
a *polynomial* in `y` (no square roots, no sign case split). Hence
* `H ≤ phi` on a `y`-interval is the polynomial inequality `F ≥ 0` (`PlainCert`);
* exact double contact at a rational node `y = p / q` is the factorisation `F = (q y - p)² G`
(`Contact1`; two nodes: `Contact2`; simple contact at the boundary `y = 1`: `ContactA`), and
`G ≥ g0 > 0` gives *coercivity*: `phi - H ≤ δ` forces `y` (hence `t`) close to the node.
Positivity of a polynomial on a rational `y`-interval is certified by exact Bernstein pieces
(`BPiece`), checked by list arithmetic in the kernel (no SDP data, no rounding).
-/
namespace ThomsonN7
namespace Glue
namespace Coerce
open CutOneD Base
/-! ## A. Polynomial helpers and Bernstein pieces -/
/-! ## B. The substitution `y = √(2 - 2t) / 2` -/
/-! ## C. Plain certificates: `H ≤ phi` on a `y`-interval -/
/-! ## D. Contact certificates with coercivity -/
/-! ## E. Shapes of the hypotheses `hA hB hC` of `cap_of_typed_tube7` and closeness of the nodes -/
end Coerce
end Glue
end ThomsonN7
end Asm_Coerce
section Asm_Coerce2
/-!
# Relaxed contact certificates (Coerce2)
`Coerce.Contact1` / `Contact2` need an *exact* double root of `F` at a rational node, which integer
SDP data cannot provide. Here the factorisation is relaxed to
`s · F = (q y - p)² · G + R` (resp. `(q1 y - p1)² (q2 y - p2)² · G + R`)
with integers `s > 0`, polynomials `G, R` with `G ≥ g0 > 0` and `R ≥ 0` on `[0, 1]` (both by exact
Bernstein chains). Then `F ≥ 0` on `[0, 1]` (so `H ≤ phi`), and `F ≤ 2 Dq δ` forces
`g0 (q y - p)² ≤ 2 s Dq δ`, i.e. the same coercivity as in the exact case with `Dq` replaced by
`s Dq`.
-/
namespace ThomsonN7
namespace Glue
namespace Coerce
open CutOneD Base
/-! ## A. One node -/
/-! ## B. Two nodes -/
end Coerce
end Glue
end ThomsonN7
end Asm_Coerce2
section Asm_CertF
/-! # Fast (linear-traversal) checking of sum-of-squares blocks
The blocks `⟨d, l, Δ⟩` of `Cert1` are read by random access (`List.getD`), which costs `O(r³)`
kernel steps per block. Here the same quadratic form and the same positivity check are
implemented by traversing the coefficient lists once, and proved equivalent to the random-access
versions. Also: packed integer data (one natural-number literal per array, decoded in the kernel).
-/
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
/-! ## Packed integer data -/
/-! ## The quadratic form of a block, by list traversal -/
/-! ## The positivity check, by list traversal -/
end Cert
end ThomsonN7
end Asm_CertF
section Asm_CertT
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
/-! ## Multiplier atoms of the typed certificates -/
/-! ## Kronecker values of the quadratic form of a block -/
/-! ## Size bounds of packed blocks -/
/-! ### Degrees -/
/-! ## Analytic bounds of typed blocks -/
/-! ## Sums of expressions -/
/-! ## The hybrid check -/
end Cert
end ThomsonN7
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
/-! # Flat (Nat-only inner loops) evaluation of the quadratic form of a packed block -/
end Cert
end ThomsonN7
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
open scoped RealInnerProductSpace
/-! ## One-variable polynomials, marginals, kernel sums -/
/-! ## The three type slacks, scaled to integer polynomials -/
section RealSide
variable (K : ℕ) (m : ℕ → ℕ) (Lam : ℕ) (blP blR : ℕ → Blk)
end RealSide
/-! ## The certificate -/
namespace TCert
variable (cf : TCert)
/-! ### The real data of a certificate -/
end TCert
end Cert
end ThomsonN7
end Asm_CertT
section Asm_SlabHead
/-!
# One-dimensional facts for the typed slab certificates: `H ≤ φ` on an interval
`φ(t) = (√(2 - 2t))⁻¹`. For `t < 1` put `y = √((1 - t)/2) > 0`, so that `t = 1 - 2 y²` and
`φ(t) = 1/(2y)`. A polynomial `H(t) = Q(t)/Lam` satisfies `H ≤ φ` iff `q(y) = Lam - 2 y Q(1 - 2y²) ≥ 0`.
A certificate for `q ≥ 0` on `{ν₂ y² ≤ μ₂}` (i.e. `t ≥ lo`) or `{ν₂ y² ≤ μ₂, μ₁ ≤ ν₁ y²}`
(i.e. `lo ≤ t ≤ hi`) is an exact polynomial identity
`m · Lam · q(y) = Σ_T mult_T(y) · Σ (weight · square)`
where `mult_T` is a product of a subset of the atoms `y`, `μ₂ - ν₂ y²`, `ν₁ y² - μ₁`, and all
weights are natural numbers. The identity is checked by kernel evaluation of integer polynomials.
-/
namespace ThomsonN7
namespace SlabOneD
/-! ## Fast check by evaluation at a large integer point (Kronecker substitution)
If an integer polynomial `R` satisfies `R(X) = 0` and all its coefficients have absolute value
`< X`, then `R = 0`. The coefficient bound is obtained from `ℓ¹`-norm majorants along the same
expression tree as the identity, so the kernel only evaluates a few hundred big-integer operations
instead of expanding all polynomial products. -/
end SlabOneD
end ThomsonN7
end Asm_SlabHead
section Asm_Bridge
/-!
# Bridge: the certificate checker `Cert.TCert.sound_lo` feeds `Glue.SlabSpec` / `Glue.CapSpec`
`TCert.sound_lo` bounds `ef` by the typed double sum `∑ i<j, H7 HAf HBf HCf i j ⟪x i, x j⟫`.
Here we restate it with the class selector `Glue.cls3` (via `Glue3.sum_H7_eq_sum_cls3`) and, for a
certificate whose four boolean checks hold, produce the final interface of `Glue4`. The remaining
inputs are the one-dimensional facts about the minorants (`HAf ≤ phi`, ...) and the numerical
comparison of `ef` with the energy `E(P)`.
-/
namespace ThomsonN7
namespace Glue
section Bridge
open scoped InnerProductSpace
open Base
end Bridge
end Glue
end ThomsonN7
end Asm_Bridge
section Asm_Bridge1D
/-!
# Bridge1D: agent2's one-dimensional slab facts (`SlabOneD`) feed `Bridge`
`SlabOneD.peval Q t / Lam` is the polynomial `polyR Lam Q t` of `CertT`; a generated slab
`SlabOneD.Slab_x.HA_le_phi` therefore gives `HAf ≤ phi` on the slab of a certificate whose
`HA`, `Lam` are the data of `Slab_x.certHA`.
-/
namespace ThomsonN7
namespace Glue
section Bridge1D
open scoped InnerProductSpace
open Base
end Bridge1D
end Glue
end ThomsonN7
end Asm_Bridge1D
section Asm_Bridge2
/-!
# Bridge2: near-sharp cap specification from a certificate and its contact factorisations
`Bridge.capSpec_of_tcert` asks for coercive one-dimensional facts about the three minorants
`HAf, HBf, HCf` of a cap certificate. `Coerce` produces exactly these facts from an exact
factorisation of `F = Dq - 2 y Q(1 - 2 y²)` at rational `y`-nodes (`ContactA`, `Contact1`,
`Contact2`). Here the two are glued: the contact data are attached to a certificate `cf` by the
equalities `c.Q = cf.HX`, `c.Dq = cf.Lam`.
-/
namespace ThomsonN7
namespace Glue
section Bridge2
open scoped InnerProductSpace
open Base
end Bridge2
end Glue
end ThomsonN7
end Asm_Bridge2
section Asm_Bridge3
/-!
# Bridge3: near-sharp cap specification with relaxed contacts
Same as `Bridge2.capSpec_of_contacts`, but the pole--ring and ring--ring minorants come with the
*relaxed* factorisations `s F = (q y - p)² G + R` (`Coerce.Contact1R`, `Coerce.Contact2R`), which
integer SDP data can satisfy; the pole--pole minorant keeps the exact simple contact at `y = 1`.
-/
namespace ThomsonN7
namespace Glue
section Bridge3
open scoped InnerProductSpace
open Base
end Bridge3
end Glue
end ThomsonN7
end Asm_Bridge3
section Asm_cap_tc
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
def tc_cap_SB1 : TBlk :=
⟨[10, 4], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0), (0, 0, 4), (0, 1, 3), (0, 2, 2), (0, 3, 1), (0, 4, 0), (1, 0, 3), (1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 2), (2, 1, 1), (2, 2, 0), (3, 0, 1), (3, 1, 0), (4, 0, 0)], 35, 4, 72, 72,
0x99999999999999999999999999999999999,
0x812bf4d722289697298000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008063a48550a3a2392a825082cdc425a6cebb800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802d2efd29410e30a57f973ad1df5c1a2c0e81728688cc573d1ae98000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f3b830d28d3f89316823e3a7bb9586be1af7fd446b00ed2a7c67d844207128f1428dc2e8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fcf77f93f6030588d8094b64263ddbe534f80a973d8fae8c92c6980b8256d8fd141099d831242565e5c040bee8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f8215b750bb1e4a5f807eb7de0e33eb4edf7f2325376a743e7ce78035bee63e30a15aac7fbd7118af00da2b7d80af3d4fbd94822a6f800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802701fa08a135da007df729a63bd71905e6804a346b3555e5e840812056ec650a849de77f8eb22f231d25e1ca7fea0854db95fe3f2a83677140c2cf4889548000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fc98656edc44817d38027a2453dcaea594d7f17ec2799290fe6d980318a2a8d47f0c2a28191ac8d2dbbf3e12b804e16696318a6febb809f22e3b5f556b71383c1c48509603bc9438000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe91f4db76290e2157fb4e62b338fafd56b7fafdcd1e7369aac667fdae434c5e738d9c38101169b3a85ce0c8a8041b7ddf7431888277f917c581509d9a0ad814e581e0452e2d9c28146055357957660eb800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800c16802b8f8c8ab280394d13d486ac120c7fb12a10a02b7c1626805b809bd8604cefb58037752e8a0ac156d37fced1e13f1cccce0d8003459d94d1c0988e7f7da02bc6131cd6e07ffb6bf5c1f02c5c74802da0c54b7567f80b8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008048706906cac63a1b800d755a9c075123d6801e06299de07981907d7b8736849773be97802f6d870384e782537ff6314c9470754d287f0ac4ef4cef8585797f95a7a1caab80a6a28015cfb9289cf055d18000eafc827c9d91d3812c97927c234df8938000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007feb33e4ba405d090a80487292f857530a2d7f80cd854f3b20e382803adb40a3372a49e27efd5169e88f06656380266ee56d64f81ef87fab9a2f3b7a193c3081425f7d7cd3bb9111801c7ea1ddc896f338800003c9c47ce86ba3800cb9f2629644d985819364404d40ea882e800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000805c3bc67ad1349ae47f127616a31febfc9e814222dcdf176294147f9ef6a7c6205666248239578a462789d0797f62943b39df221be480d74083e4057f27987f1247d9598d9f36a8803648764637368131800a1960bc632884ac7fa83b820e986ac8077e76ca23050bb05b5a80f13b203b90bc22d98000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe234e5a3a0e03295804c3284226ef07c197f8d3738c222de8df280628a3c151e8128417f2c0d8dd9ea27ceab8040473eceebf507167ff3020efaedcf707a80c545a9ba8d1946bf80098483c31cdb9f6c7ffe57efb2aef421f6801a8f804e3a7771ea8007b82ff18ecdb94a7fa696e488830f8860802ec3de21c6d2e4bd80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000ddf6967445800000007abf4c6fcb7ffffffde7bb8be5958000000220865d396c8000000156c8ae729d80000000aa813494a77fffffff3f32c2708380000002b18dc78f828000000a2e00a49011800000004987a7c8f180000000e575b8a37e7fffffff0fb61d617f8000000038dac65e4b800000004edc3842e0800000014180b290ba8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008181976716484d1d27801612ab2a627ea8507fb3fb078c74897e1a7e9ef32b74e51779a682cadeb4e68bcb927980353fe103e043e0bc802cb9f50c3b2b08c9809724d54aaccfa3ce801172d9606e4f4c3480051a8e9a21547a378009f4490ae56b76f47fd172eac5ac791969801c72f1ed68ff5d447ff5cfec5ca273a1677fffffffffffffe5cd81073e30854978783c8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008047a03b8f02869e7e81f4adda36200f5c5981799a000cbb4a6e9581285a212ee11c6d3c7f31ead5756e45ed967faaa847f3047dee857f9daa1c7da26475bc80fb59e4087535b7e67fc2107cf65f6fb6bb7ff0dffd3926f54eaa801396a080b00fa6c47fca732aecb85c8c3b7ff4235728a58a5b6d800aa55ba3b42f4ac88000000000000075b580168d6b3d514fa2d781eee5a9be12567f2e8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ecf6b8cfc4c0664528413a0fb9945e9b14682190f43aac893d360812c0ddd6ac9092d987ce5aecc7bc3c3281181b416cac9b0ef5c7a7ec0fbb2ca13b287de7c11f3d3ae522a2b777ffd59ecd32ee0e63180014b13a2a72041637ffdf7fcfadec13e8d80fac92b13035150e67fbe183250300651627fff694a73fdf6eb16800000000000006ce3800d6e70bf59d876357f9857d1b504fcb1ee81bc9bad0a48ebad588000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007facddd2da3cf08c5b7f3a5a3c7bad10cea6804c7a219b9ea47ca682d715d6925602ece7804cc8026425d5125e7f35f67c9b0994088482b07e0a95f5ea2aa37fb659efab15365e407f95c69a39b2f3012380049b2ac445e6c7598002dbb0ae807db5f68135d17fbbfd0f3d567fa8a994694498be107ff832a089b194b8fc80000000000000d25d7f7ae310b7c54dbbaf8101a888df0dec219f7f9bc7cf384276d946824c1d18ab89542ab38000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f86a0a20e8f3e519f7fded7fd4a6007419f7e8e6fb69987c764c68200ce09b512fcbf0e81eabf2d2a0dd0110b80d52550c572b87cd77eb1a15c799e280d35828d43e3a6304f7aa682fae314aade4c71987ffd91c1455e0b261780457146899f22461b7ee4ad091964f1b399804c0d86bff6d41e067fff437e290c726e797ffffffffffffd65a87fb3049d602d01473c8032931f983981c45f8059ac2002d7fa454e8084d3330291a21bff825f42ea894a554ee180000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080542b6c3c50986c807e24270ea0c2fd3d627f5141d68aadb762e57ef3e4f007bf5d1a958222806b8209557956801777a82513cce88580fc897ad948cc24cb804937970fa20606df7fed0c74b383fd0fec80ed01f26274260dc17ff511325ffa1bb7608008ea109ce4234ac57fe8c51a0151ca87d1800aa13ef7346227648000000000000074347ffd5e5888d5189bad7fadd10321782a9a667fde195866121b005e8002f3ee8522da71957fdf6b1498a5307c6d80c776acbc4fb10c03800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802cb8e730aa0983db80a4a9aaa39eae4c1a7fbdc4a193f5038da37c25420a7518490e667fd3d7e1d4d3f6d05780b0cc4e223ff4b7077f71180e68ec1180e88171e101d259e6e4e47f3dd9026fdab4e4c67fd59be82299dafcff81a17cc5a196425f56800a0f1b3e4cf5d92b8037e7cd6b2ba6f9607fff55b10c1beb614e8000000000000010bc8079c02421306916917e799901a67f1ea88f805cfbd3a6887413627efd5993ec009203d77f215f8f357200d19f7fdfde7c94369b8df9813c9e85cd10412df380000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080c49d5a2c8246e5d47d1c8e0aedd2aa8b8380220cf260df5cbf8d7f634b42d1b63f80a97da0a18386a9f99f337f5aee27a1287c4633841486c0fccccde1ce7e3cd29442767da2b980364cb6c3ea49560780026b5e252b42cd087f3a96af2a1105c36381b3d601b72920186181d29e129351942dc97ffebbc6317ad886cb800000000000001eb780294add754e4ae97e7fd13ea894e8b2d91b7f7ea0c8b86fc33d8f7f7b816c60177ad0e0801d9834db6482a9918001dda27b964d5e078022c7363a8c8493cb81b9822c5e87a92ebc8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fb8ca58166e31f9037f37e045f9df76545e7f74d6e10c9de632417ef2047fb64ec6d25b82bbc9eab6aa21a2277fd453c554479fddcb7e79f03d4ecd8dbcdb8318e13902c3a0ec2e8019c34041422c537b81598bdba16fa9ef2e7ff7926cc236dd19277efa45493922aa862c7ffa5cba7f6fe6da5781a1eb77f29030bef3800000000000013de47f8a09e012d881474c7ffd12665ec861a4ca7fdec07bfa485790678001c40f46a5c1942d7ffba7736454a2c42d811242713479685f0e7fa7c70354013ca3a67fc7a112b720c451d08153b70a4a5f4a7bde80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000005c292ac24697fffffff4d0d97ab138000000cdb8bc0c8117fffffe9c360d549157ffffff1dce6b2b9587fffffffb82775a112800000069cc73aca427ffffff1d747cbd35b8000001e9b5a7835a4800000080b8cd0c722800000021d76a6d9e78000000c2bd547714f80000002d0462e7f0c8000000800fffd00a68000000c7fb5115e5d8000000061657ec2187ffffffd9f26f60200800000030ad72f861e7ffffffc61202849e27fffffee795df9126a800000054a9117e9607ffffffffcdfa44d7980000005514625125280000005376c5c42558000000998ed1c75cc8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007db0d31e0b0eca9dad7be062c184c02059547ef152d6501adb4a05811f1701402c87996a7ec6a32800a30919f17d3a51a0501d99726d81271e3022dd9c694b80c0c438522ddc3fc1816a6f22d90fb2eaa57fa4ad03db3fe9fae37fdb9b14b294a63e8480792b47fe1cab23fb80799688489f7b33ad7f9f38812687b873e080000000000054f84b7fc41dea511a33d4688058f994e40b9d38b87e811f4278518201138078d6123303fd11378193788d5ee2ca65f07fbab938e38477c197800a4852fff40c62258079e4c5f0cda76e627fb14245cf258949058000000000003fdc5a80de1692cb0e7f001a80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080bd8b29d54a03e925811ee41b8358d19c768219e9771397b6b4b17e31f5153e6ad2c67a7f6cfd6f17a21cc00e8364b7b3cbebe780ac7cc007f9dc0f93f3157dab18add78781b7c27c4f6238fc109597c77ee95854391ce0eee67f55cf438265b95cd880a4aa2a34cb6ba760809e844ed6b1d82db67eee50df5165e067a680000000000024425d7fe2e1e0ad30d40c338166bdd851f30aae9f8287bce0b6bae03a55815e56fc42632b0f5e7ea4cf9b585658ba1a7f1ab45bf39429fee07fb66840201c454de780c4d892fe2318d0827f230fd75587d159ad8000000000001aff1c7f4ef91914b9ab565e8231443302918a05278000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007eed82514ef7964a497fe2b0b37736cc57037fb1d368f6eb4d6ecc82d8dff62c1276a096792c53b52159d10e897eb93240252bed269e7e962a2b644471a8df856c5e1af0adb956737ee336a26a369b91707d73be95ea6c33f0cd7fa4b1e6b1bbfe9af37e8db3fc01f42d0ce47fe848438abfe71d1181382bc31b1c8609d580000000000003ce547e9eab6988312c434084358ec0a74a6c94c27fafb3e86d5add39d980915f25fa1d68b0c27fd8d5e512517d01c57f1e4e5a626a2e22447f7e8cbfeaeb92846a7f7c9a7294e2680224810458a600d47b090c800000000000031b7080027f3331263cd2eb807ca1d699d03f729980f90a802537d15970800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000804b15325db328a13b8344fee7d18c437f8d7fd614a25adfa2608e81805a3e17fab7fb4d82839868a62e54b3f1800f86d5eb9e8c4b6d7cd29bd34a1ad565a87eaadcf54ad761357f838e62b87a033e15ae80b7b357d7bcdae1307eb448e34139e54f807e830bf9d0922de2257c325027e65f0b358980333fa7d3ad66ac7f8000000000002c07c28065b2e362aebd8a997ed210cba57714574a7fe1b907e5e35a8c8b7f6a7d0a6582439b3382085a28c10cc09e7e806718920ac3d6967b8010d55c22679daed97d96f7e053f7e808a5802e37b6c1c1a5f0378000000000002148a2800f93c186ecdaa5557e878474396e84efac7fdb382675a4578c0880ece4fc40bf8666d38000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f8076586f7717469e7da01f0ed3faadfdbb7e0f7dddac61d7f02283e812485d1f44e42183f559825f4876e9327faa04ed9c55630678803400af96a03c77d17b0eba772b8b7ce99c7e5426ffebcc7fecf7807229bd35555f7b047e6af10db74c68a6067f157fd3145c6a19257f18f0b474c85909107db48722b5599cd51d7ffffffffffffb98417f0e71a91850dc973d81e7d2168af4bf31447f5d8e8d491c5c2ef0847c83e3c6851269c57fb50a3cc8f95c8d1780c5d60bfa55e912107e65b3186cfe4c068d7fd16051e0e7da8fc87f60b0fb769c09ad537ffffffffffffcfa3a7fed3fca913bba797480d45aa93ac99719058051159fda52e4b1497ffcbc96f82c4802928103157fa46de3df04800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000813fe8bf32bc37520d8203cd0f872cc319e87da84148a3f8feff0b817349bd334d08d76d831661e5e6683a50ee81af1c7ba78fbf9d3a808cf4bdc37e78ab5f82b1b3d73dd613b9b576952cb7c9e05602507ee81af3ef833cdc4a80db43551456164cfe7da3d6854fa7e052d380ccd1a9cd7a0a75327edccecad338c316ac7da8490195f46369538056002ba382d4325f801836dcb5c7fc4883804d2ba0e19c1ce8f080327e890886a7d13881cb10fd1a753cb77c7fa4a749f588f277928043f84b66edfd82167fcdae72e5520d08b87fa0a0a552687de8a27ed42480cafa413e387f8dccdd20bec341f3806f1d09690325d34880386ac5323ec4d57a7fbc0220717b73b38b803b2429e21b4ae3178095edbf9a82f64c248000000000000000008000000000000000008000000000000000008000000000000000007f36c82ec4008c93888047dbd54be81f5c107d4c7f7a4af9c97a0783d4510b093ed00cce80df6ef775868fb18680a279eb86fbec8a0f7f43b1848cbe88dc1b8325360d8d6c188f1a8371da70855601c7d97e7c749c2dcdec285c7fb222bb0b07fed1117f3a8a42b8dbdbeb857fc4661a529e5c444d80e5ff603c05c3788f8094c0f42e447588df7d5051243eb7e701177d37f7bacec37b6f227fe116e7f84fa4ad177fe992f62a03fb20717ff0dc5c1ea029dd0d7d43dfea8a867bb5437f5efe3d21d4df7ec27fae9ce24c6702d96080d70e8ece7dd02487804a607a17223b806b7f86669750804af7eb7fd3c9106bc5eebccb7f8e07cb7fc02e27f97ff3e14a9a791a03548022d64f6e4fa7d44d7fdacfc2f46ee3998480979563665ca0b72e8000000000000000008000000000000000008000000000000000008062f97a61c0156e187fd605a14d140966ef82315d86b5f5234c488197099a4bd6b598ce82c5a2290d06a9875c7f31a36cf848f41e5c7fa23161ce6b9e0f257c8d9556e0588934a0831c399d0d1de551ab82ac03edc11fb301457e4280c5ecfd7d79947e28239d20415345ef7f43c14adc7cade52e7db3a5be90190657e1809dc3dbfa817782db81951e86322e61f4758267e3a696ec0ef50a7fe5515fd1ce54c60f7d93bee3e6aa8bf1ec7fea7f8562e8a87fe3837dd806a7dd4ca9907d748df694bfd64c8f7f610f641a080c0e457c65d55c50aff4ac8c804ee1edfd40bbd6128057a65646598ee1e87fa6e6b54e4b64c09b807dc7c28178627f767fece1ae1919fd4f717f6b4bf627ae0eb3307fd88f09015fa258eb7f7b268b69a9a0112980a2ce594ff8cd7d628000000000000000008000000000000000007fdf5051b422ec4e2681928d009acd669ef080f4237d2ab98d1703851fd0f3851746376f84dba35bea4915b58d7f291b5617a7b8e87e818485e2a193aefc168402e510c6db339f17813333f973490c87e8819de2ebc421e184207fd7da5365e705960080bd1e049668d259e77f259ad02ee8e9bb8e813e43af67d33f1bf87e7e696daaf5ed4d5d7f3c6f602b181785917f1d84f66b4afcbd6d7eeb2a62883227f13f7f130f325e49cf70ac79d46b9f84f33d668c7f749115f3d7b0e5787f0ac8b64cde8216327ee3243e98879e16257f12841842156ba1727c4e15d071f19144357fa02b56715b63d86a808a2285043d7e38a07eeb1caf2d672239f77f982b6c6445d829fc7eea1f25c076b8dfc97ee7d631637dd32ff9802fab84ec8c0b7bd8803c3d61a4c4ecef0f80bc47b998e25a24bc80000000000000000081a9ec1c37bec6847b82d399c57dc5e0a3667ed024bce725e5817c8377d0d6fd123623127e862b0d510d4cb86e82fdabde00696ccd198421ba4cd79ea188527fb6a84fe851e9692780e1cce257f447df567fccb7d897bf005ad281ad73b2f3f847fad27e90b17714492a95c183ab90b14613335ead7fc76f39929feac6737fc3bba86d736f2b74800c263a1d3b01966080c1cf25866fafdc6c7f7ee4b0744843e0667feea683e6a92b9dfb816980eca315a2a07981800a304bd6e678797fda42183a85d44a837fd4ad1970ae9e949f811aefc14a38c319e27ed7c1789d8ef6d6d97da1f496f8f145c1b57a75c0bd0e64c8f78c80839be326bddea5b17d806cdd114e81237a80538b2080dbba9c0b7d3ee6da3b4ddf5bb57f80fffe774b0548927f990a68337c3f5d107f1cf90ff7eabdf1878092c703772ff95d09,
0x8bc999937b51a378bd80f533c64c7c0770ea803433e0b73eba12f17fd6a9e44347b7490f8111fa17aea1df7d96802483c174a3f73fc680d38d9e992561606a7e7ea500206b5968c27fddccba9c41c7ed0b7ff14ca678488f563e80451b8129bdb2c4f38088346641948cef117fbcfd6d085125416c7ffea616c30643a149800000006f4ab8214c7fd97115e10b614b3b7ff82d46c47251b9fb803728e89d8d481a0d80d4dd5734365e9185807586500501fe8b2980102f5d9fdcc43b0e7fd6d05d1f51393eee7f3852c4a6a782a792807f56e3d91d1cf12c7ffffffd2581190a9b7ff113b067f53a2b26804de345a16f61486c7fb2e1c7d33c871ba98013c5f4f34088d162806c3d63f90f2033f880320a4abe57b164e57fbab888f3ee6a0fbe80466bac0957921ee28029d9024c485a9d2b804575e0a4e02165b980f533c64c7c0770ea8a5ae7809d9303730d7fd3e68bf585fbcace8036bce22cdaa770b3806615936a9aa3f6e980001432430d8b5a848006b247144fe217e37e7908a750a6d0e4cf7fcba299b589c1088c7ffb5d2b3e47dc6ad5804d96d808d08a79ab803740166d6d35c01a7fc2660dedeb7911237ff6de09b574edf075800000000b8975ec017ffd81d214b6feb6d2802dcdd9f0606d7eb87f313db121d22ba4bc7fd6cc7808f44605cf7edb77a855c7331ebf803311596ab8bbbdf680045cad8a4dd8c1ad802630a226c0c1469080867292ffbbcb8d857ffffffc4ca53ed98e7faf4b9411b4d9a14e80d9429b439cf7dcd78000c603971d57a3b780233ba782669c00a48071a67b17957ed4c87ffb8b7d7d55223e2f7ff0b0d0409be760297fc814aef6c84aa4727fa9c93ded49be4cbc803e117c9e913bb16e803433e0b73eba12f17fd3e68bf585fbcace8e519071e2604bd9537e49d6e478452c36517f575d0e1ab867c64a804e9091f5846462a87fc7b43a2d946ffe767e8a621154c52993b5800e112e9aaa217bad7ff3307c33335347f87f75820b123dd9a5fe80a18fae52d60bfff47fe3d68f9a09fc619f7feb159664e68ab42d8000000013ba5670ea7f85b2996801d7e03d806f2ff06a20a6530d7f93ee8a8e4a1055f07f8d43316b8e546ae97fdad9e7f3e6031a757ffbc45263836e76757f66d8260008c271af80a8de3f05146ef6e780a425134e416f70808000000065e97e5ae87fe5f775419a3431648051bd7ef5ecb97d407fa0f22d56afdc0a2c801cd4b120863ec4778029f7e78beb8ee1db7ff3255a025fed38df7fdb96d647125a53447feac00818935a29c37fb0c6a7513bcbfb3c80494ecf63d1002f1e7fd6a9e44347b7490f8036bce22cdaa770b37e49d6e478452c36518c257f86aa7caeee99804da00ea5896f0ebd8041ee39515bb5f8ba7fb98367f727942eb57e4ca75cfa6b5acbc97f81af0fa756a449da7feeea895ac80879427f9e0a9fa21a4d744280521df6812a40e2f97ff99191bd1f6806c87feaabc1fb9cad2da57fffffffa6fbc9e3ba8036358cb0590472287f72605b1ae39fb7aa803aa46fccff155656802af485ebd08ed9097faabae306ed36ad347fe00ebb8080fbf0918016b8761e45003fae7f42c8351425f2d5248074d4bb19fcf04ed57ffffffdb60e440ec77fede88b4dcf8935b47faec2a33e4fd9e683801186e4ac330103be801d14c41ccdf01f5e800ea7bd70763b5b907ff371086da74596f77fede756b7b0ad8272800dd4bb5f843842097fd281c5f4ba04fa4e7fdaee9532d5ee76c08111fa17aea1df7d96806615936a9aa3f6e97f575d0e1ab867c64a804da00ea5896f0ebd8eaa64a77fffaa586c7fcfd69bff07c771b47fba85fbc411bec15a7fcc3fa401bc51575f7fae938864ef9b03a7801548e5460b8488387fe157f35db8be28487fb8f4ffd221095c4e7fe17980f5e5184943800c5ae1238417eb7f7fffffffb3dcd209cd8009ef9449b53fcdd68059b220bb5f96a53c7fac8e57d02963a52c7f7672181b29e2e61980d43038ea299fcb81803cf101660dcd60a47f6ba08a30959b642680cd8a9e3ebbce85ee7fd3f05ce06bbd099e7ffffffeb283aee01f801a0c023a33a1e8a0801aade77fface32e7804529fb87bc50b6ad801db311a517ce3d35803e5f2f4113439fc37fb85cff89e78186cd803c09a6f999b148bc80484db43f401598b57ffffec5e89ceda8d88015de6b7850e01e6e802483c174a3f73fc680001432430d8b5a84804e9091f5846462a88041ee39515bb5f8ba7fcfd69bff07c771b48999183db4962b7d1580810f885140526c627f5eb1728bd4319f3a7fa87a1dad2cf30d077ff73e15e720b1fac2804d4bc5e4eb795ef27f67161e1ed04a8b16806a5ca39d5fac1617800e6e97b22f4f99d480000000739f17796a8044126a7420b343678024c298f1981ff89f804169e6eb575e913b8031453cf1f6d7811080f91d0693bd325e5b801b4bb5d2e24e0b598041821ce71586fedb80b04863eaea4cf86c808e5660c09fa1239f7ffffffd2cc247e0387fcd6a8658de1d1a8b7ffc335aa5d246231f7f8543ecb0f1f101967fa282067327bceaab8064475104fee5cdb4803dab951df3db41ff803639b23e7c0f15708007fd62df2d321f10804b0a2ad732f6ba6d8025c8ad13046fbdbf80d38d9e992561606a8006b247144fe217e37fc7b43a2d946ffe767fb98367f727942eb57fba85fbc411bec15a80810f885140526c62913a19ae5f42372a8e7f48ed66e557dcd2c5803ccc5cb7bc62af58801022b8f45ed15ccb7fb5c14dd647420f3b80427814a8cf6c152f801373ad99f09ac3587fed26979fe5bcfbfd80000000054bd58436802973f3aab2eae2b17feca6f15e955ee778809149cf4c8a70b1247fe60faf98968b3bf77fd7196f40957e942d7fa0fcf69be3da55f17f72ae1875d1b887167ff6aeccd86b35f2f980966952b0613e61f4800000013155ed647380592657294537b5fb80db4e5d1052ac3ea580442ef341eed6e57680294800c4014f03827ff2fed7e3777800507fe4cbad1d9c1f997f7fd546aafadf08236b7fd0b243145766f1fe801b018047a19babae80038e7975f22ea4027e7ea500206b5968c27e7908a750a6d0e4cf7e8a621154c52993b57e4ca75cfa6b5acbc97fcc3fa401bc51575f7f5eb1728bd4319f3a7f48ed66e557dcd2c5956ae71c0c74301c2f8030b28141d5f890b77fedb312e62b0461db806da260d451c79e3d809a0523607044ff0880543bc9af635dafc07ffa90c1924208f3ab7fffffff6919dda82680156993d5aafbf9cb7f7a497a22dccb057f7f982022f40f79bffb80a92fb922a68f3428805083eaccd6e91f8c7fbe0e3f3ec139897d7f659f2ff8af9edfef803c5ddd1af96a6d537f77ad52ab0a07ee317ffffffe1bcd02cd36800d3f6b48268412f68079cadc6c004e179f802f3f5e51a85fcab27ff627f3770a10a0aa7fc95c5f000b2956f5800209ad01591c6b8a8000d53b78c280861e7fda6f0b06f547bb7f7fc3854025aa2d9a1f80152b43c523971cc77fddccba9c41c7ed0b7fcba299b589c1088c800e112e9aaa217bad7f81af0fa756a449da7fae938864ef9b03a77fa87a1dad2cf30d07803ccc5cb7bc62af588030b28141d5f890b78c080ddd6af0ca2902800443cf799bc086368032b0bf94322e2eda801d8002e2a5c083a57f98894cec967291f7800dfdbc3d1a9c5431800000009fc8ac929d805ab421572909af8180b41bd88f48d729777fb84abd4c7447d12e7fdd830107a2e668c97f63180a4a6b136b5580572f9109063233d3804b477cc9a9988545803f4f5d63f51d753d809ef78695916c499280000002f87540ed3b80373104069f49355b80ee965ab7cb1d0aca7fb5dfc5871594585e804e5eb809b82213738076417bda8c9c39258023cec47ab8203cdd8047ee04152b7ea80d80146b294d5209bfda8051fe900b3189750a7fc0c55bbe88dfae467ff14ca678488f563e7ffb5d2b3e47dc6ad57ff3307c33335347f87feeea895ac8087942801548e5460b8488387ff73e15e720b1fac2801022b8f45ed15ccb7fedb312e62b0461db800443cf799bc086368637d227ce135edd9d8002fd1155c8d7e507807396e0279694d8618059604e35f1ee94087ff3422647a702482a7fffffff9e912d1791805dcba37a0c61af5b8021e88a1b08b90ef97f5a2016bc4eb51b617ffd34ccf2bb8cbff780afb22e81b3c495017fd4eedc6a0e30861b8043426c1d7f393e197fe4d5b15859041ed97ff2de85cc6ff1f71f800000004eb669e43c7fdb2b5bb6c2d7886f8001c92f55d9c16a48805b5572dad5fe44ce7fb7fef16233111b218068d0da4fc2c750be7fcff095cac594f41f7ff36cf91bbb94e77580455bf741c173c376805a99dafef0cbc2208011b7e93a1ecb2d6680451b8129bdb2c4f3804d96d808d08a79ab7f75820b123dd9a5fe7f9e0a9fa21a4d74427fe157f35db8be2848804d4bc5e4eb795ef27fb5c14dd647420f3b806da260d451c79e3d8032b0bf94322e2eda8002fd1155c8d7e5078b2e13ca8386a175fa7f732c2b9eeccf44348029745c2d1f4ccbf57ff22874615bbf9f017fffffff8cc67f3b307f86e2d8c5a81815a4805340641ef2e1e5d88085ce5175d178dd7a807823e684de21a34d80fdee5de396b140e98046f10f3f4e4e043080833195755ab0dfb0800787f36058264b728067fdd3ea4c94b36280000003492cf22ca97ff93a5bfc1a242be47fc17167ed7e23530e7fd0e71e7d6b3f95f37fb0d4771d905ed4528017c087b4f8206d617ff9d2cf6c2e0604ce802ef917153f99bd0c7fd04af5317c4a65487fb72f045c391e9464802e74bf7f1c0186e08088346641948cef11803740166d6d35c01a80a18fae52d60bfff480521df6812a40e2f97fb8f4ffd221095c4e7f67161e1ed04a8b1680427814a8cf6c152f809a0523607044ff08801d8002e2a5c083a5807396e0279694d8617f732c2b9eeccf44348d0aea924cbb24d0bc8076da9e0b6f7227f87ff45c482b839c49fa800000005ee92f1e347fe5dda68f0a8d5c11807c57f70726c9e41f7f7f0aa318ca6480e67f48520f0155b77d088017d6d73873876d98802594f19ee0af393d8068003d173dd1b7b480967b8f9c5054bc2a7ff94aab27305bcf87800000026b8c3131df7fdcc6ff1403c1ca387f2ec27d5a1e01800f805a60d5f5ceb45d5a7ff1159c06f5342c838023fcec92f82d518a803ca51ac3335a79b780166e6d3369a08a617ff18a06dd276cade17ff2a3b9a90d31c45580157129edf1a7118b7fbcfd6d085125416c7fc2660dedeb7911237fe3d68f9a09fc619f7ff99191bd1f6806c87fe17980f5e5184943806a5ca39d5fac1617801373ad99f09ac35880543bc9af635dafc07f98894cec967291f78059604e35f1ee94088029745c2d1f4ccbf58076da9e0b6f7227f888a54959934be555857ffafb639aa906d3268000000072b1338d3e7fce7366a55df063c67f4a17c61a5b8eb551806eac4154ee62e3387fab44cab920a9687c7ff7080d199b3f71e280238019e0f2f4acd47f98dcbbc3f47b73e67f77710ad1a5fe4ac680351d39d2a4e85bf77ffffffcf27a5f14387fbc6e73e50272183a7ff9d3095c2e196aa27fbc9d1cd6d8893e8c7fbdbfa79df76622917fd09699db5468cbfc7fd086c33202caa1f17fcc2f261c51d6109a802b4ae226ad34fbca7fada51610d80e112b802648c4cb8ba163a37ffea616c30643a1497ff6de09b574edf0757feb159664e68ab42d7feaabc1fb9cad2da5800c5ae1238417eb7f800e6e97b22f4f99d47fed26979fe5bcfbfd7ffa90c1924208f3ab800dfdbc3d1a9c54317ff3422647a702482a7ff22874615bbf9f017ff45c482b839c49fa7ffafb639aa906d32686f37c7fd5755ddb197fffffffdefc6179dd7f9e38310250ac89407f3c01e1a22998f18280555c7fcdeff4d3bc7ff5d230c3fbbfc6dc7f08698537032cf92a8023d9ed239a0afb807f6dad0618df1b94cb7fd9e9c26635b23b2f80326aa5a2535a004380000001afa6b306367fc668309f8bea7d9480f0e2416dd3ad95007fd9e4751a3006c939806a204eac285781aa801b084efdf5b46a048003bb3a5d27c334a67fc49d0a868928584f7fe104be403cd504927faf2751fa667269157ffd629c7cba41fba3800000006f4ab8214c800000000b8975ec018000000013ba5670ea7fffffffa6fbc9e3ba7fffffffb3dcd209cd80000000739f17796a80000000054bd584367fffffff6919dda826800000009fc8ac929d7fffffff9e912d17917fffffff8cc67f3b30800000005ee92f1e348000000072b1338d3e7fffffffdefc6179dd85667ed065308f9ba37febf1ccfb604c9ca37ff36c5ce2aba3255d8028bb7c2ff2c82bf47ef74bbcf9159f15dc80a8283b4e464bd29e805df80a9441ed661d805ac24f1530b76a3480195009966610c88e804bf01e9a4e5c98a380000002970e6589388000132e8f1fda38aa80e3652fff86d1d89a7ff935a377f9ce06477fa374222885bc80ac803ef57f19620b94397fc8d0a92e75faf2e07ff7f672b24b8644ef7fbd76cb8c7f41ea077fde55b91a49aa31287fdae60366de9944307fd97115e10b614b3b7ffd81d214b6feb6d27f85b2996801d7e03d8036358cb0590472288009ef9449b53fcdd68044126a7420b34367802973f3aab2eae2b180156993d5aafbf9cb805ab421572909af81805dcba37a0c61af5b7f86e2d8c5a81815a47fe5dda68f0a8d5c117fce7366a55df063c67f9e38310250ac89407febf1ccfb604c9ca38a21f17f44deeb301a7f15526d8c27aa559580c27e4a4450f8af81806dc5477786ab97b280e70dddaee36796b380184e2d3fd822bb1c7f91c09859d76ce6ab7fe6da4fad214d38058034b069ca8e075f18800000041b7bc2b184804bb75d7371991b8580775e15da6ca08b0e8048decb8d6c6685477fdb14e0d08bdd8f397f8e976bd0a42462ef803bfd33791db4ea1e7fbc3accfb2835142f7fb4dff76047c5008b80291ef2a6ddc0af1a802dfcb16bd473563c7ff82d46c47251b9fb802dcdd9f0606d7eb8806f2ff06a20a6530d7f72605b1ae39fb7aa8059b220bb5f96a53c8024c298f1981ff89f7feca6f15e955ee7787f7a497a22dccb057f80b41bd88f48d729778021e88a1b08b90ef9805340641ef2e1e5d8807c57f70726c9e41f7f4a17c61a5b8eb5517f3c01e1a22998f1827ff36c5ce2aba3255d7f15526d8c27aa55958cfb9679c686990107809e2031204639763780c6d15c91f2969dab7ee4df9f7db9834647800b575ef8ccd6eb3a8060918be675ffd0558044fff38ca90743b78055475481f15a717b7fffffffaed0173f358005a2c09d1d116f5580454f0239df51be1d807492a15b97d93db98075703b2e09e013498056bb9bef062befe87fb75ed1c545bec337801438d4371c49b78e801e454463939a26e97fc9735223ba17efa080042cd57d97e8950e803728e89d8d481a0d7f313db121d22ba4bc7f93ee8a8e4a1055f0803aa46fccff1556567fac8e57d02963a52c804169e6eb575e913b809149cf4c8a70b1247f982022f40f79bffb7fb84abd4c7447d12e7f5a2016bc4eb51b618085ce5175d178dd7a7f7f0aa318ca6480e6806eac4154ee62e33880555c7fcdeff4d3bc8028bb7c2ff2c82bf480c27e4a4450f8af81809e203120463976378c5e8fa6b2eb2d950d80c31a9152767fa7b07f66cd41edd09971e780549f599a3eb73e887fe1ce01626d1370c17f4233d5799db2bcef8086f6af74a9c1be4e7ffffffc1e7afde6088020a742f31b3646577f7da602731a562c8e805735c9fbdc66d5c07ff51aab6d31da5f847ff879131f215975567fe9e067ca4e932fd88011f009a315a180eb8002f15e268c4e4c09805730ddfe3e2d514a8013bf3eb9fceba19680d4dd5734365e91857fd6cc7808f44605cf7f8d43316b8e546ae9802af485ebd08ed9097f7672181b29e2e6198031453cf1f6d781107fe60faf98968b3bf780a92fb922a68f34287fdd830107a2e668c97ffd34ccf2bb8cbff7807823e684de21a34d7f48520f0155b77d087fab44cab920a9687c7ff5d230c3fbbfc6dc7ef74bbcf9159f15dc806dc5477786ab97b280c6d15c91f2969dab80c31a9152767fa7b08fb270481322e678447fd817d7982a6362e57fd0eb096526cf52268067ece1def6d257d580bb7e1ca4e73e5eae7ff38d3e71b3ea975c80000004a7e5f192d87fde613bd7acff968b80315e7bc07990bf22802acd219f2a8d8a8b806271a03f71e6ed997fc31aca8ff84d145a800b6c97cf9b8828bd802f827e44121649808023ee9569c1304a04801f5182a61ca83e8f7fce14fb38d385cb55807586500501fe8b297edb77a855c7331ebf7fdad9e7f3e6031a757faabae306ed36ad3480d43038ea299fcb8180f91d0693bd325e5b7fd7196f40957e942d805083eaccd6e91f8c7f63180a4a6b136b5580afb22e81b3c4950180fdee5de396b140e98017d6d73873876d987ff7080d199b3f71e27f08698537032cf92a80a8283b4e464bd29e80e70dddaee36796b37ee4df9f7db98346477f66cd41edd09971e77fd817d7982a6362e5944a555e5c3560380880307826247a9bd9357fd81dbad716d2210580c8092529a3fc49ae7f7ca904c55b424e827ffffffc4fc3ada4c880276d206ebf28bc5b804a9bd4a5793ec9f680608f8bb410d2596f8021a507f65e59284b7fe8a4056527c389307fe70cfe5f0c29f5407fcdc9428257a190057fdf2fd7a2b42e6ee27ffb4b2c5d1e84041f80196ecb549e9627a380102f5d9fdcc43b0e803311596ab8bbbdf67ffbc45263836e76757fe00ebb8080fbf091803cf101660dcd60a4801b4bb5d2e24e0b597fa0fcf69be3da55f17fbe0e3f3ec139897d80572f9109063233d37fd4eedc6a0e30861b8046f10f3f4e4e0430802594f19ee0af393d80238019e0f2f4acd48023d9ed239a0afb80805df80a9441ed661d80184e2d3fd822bb1c800b575ef8ccd6eb3a80549f599a3eb73e887fd0eb096526cf522680307826247a9bd93587c4254b2e781454bb7fd7903a7deba2e88f80933b8993f7ab7fd8807e5152e9eb177a578000000319942ef7228001aaf5a44d22118380689c63422f4e23f57fedd6184d3b9aa3168036c2fc8b15e4312b7ff96af2ff2ff100f0800a5af48dfbb923e77fc9c9c3a042976bb28023c4a613433126fe7fd8a133cf7130a83f7fddd07a77866f07117fd6d05d1f51393eee80045cad8a4dd8c1ad7f66d8260008c271af8016b8761e45003fae7f6ba08a30959b64268041821ce71586fedb7f72ae1875d1b887167f659f2ff8af9edfef804b477cc9a99885458043426c1d7f393e1980833195755ab0dfb08068003d173dd1b7b47f98dcbbc3f47b73e67f6dad0618df1b94cb805ac24f1530b76a347f91c09859d76ce6ab8060918be675ffd0557fe1ce01626d1370c18067ece1def6d257d57fd81dbad716d221057fd7903a7deba2e88f8bec4e5989153fe23d80d2b5cd028ee3ab618071735738a508f3f38000000363ccba13f5805416dac4a5723ed080e5f201f7ed867bfb8069704207fc8f63427fff465cd905dd776c801441c6b6a8cd4abd7fbf0ee41d295bd9c47ff4a08ad993b411778005333719f5e237307fbad41740cde006f7801b855ff4fa3f8b737f3852c4a6a782a792802630a226c0c1469080a8de3f05146ef6e77f42c8351425f2d52480cd8a9e3ebbce85ee80b04863eaea4cf86c7ff6aeccd86b35f2f9803c5ddd1af96a6d53803f4f5d63f51d753d7fe4d5b15859041ed9800787f36058264b7280967b8f9c5054bc2a7f77710ad1a5fe4ac67fd9e9c26635b23b2f80195009966610c88e7fe6da4fad214d38058044fff38ca90743b77f4233d5799db2bcef80bb7e1ca4e73e5eae80c8092529a3fc49ae80933b8993f7ab7fd880d2b5cd028ee3ab618dd4ca64779d3661ce80563e4b1aaadd367380000003457956850c803d0a7dce47982dde8110cbdf6afdcabdb77fc6df5a7be62512d8802151c65dbe2765da8053df5802a1e2662e8013b509691ee5dea77feabe54235bad6f597fe589928d6bcc9147803e52de13413db9677fb892bf8234d03d53807f56e3d91d1cf12c80867292ffbbcb8d8580a425134e416f70808074d4bb19fcf04ed57fd3f05ce06bbd099e808e5660c09fa1239f80966952b0613e61f47f77ad52ab0a07ee31809ef78695916c49927ff2de85cc6ff1f71f8067fdd3ea4c94b3627ff94aab27305bcf8780351d39d2a4e85bf780326aa5a2535a0043804bf01e9a4e5c98a38034b069ca8e075f188055475481f15a717b8086f6af74a9c1be4e7ff38d3e71b3ea975c7f7ca904c55b424e82807e5152e9eb177a578071735738a508f3f380563e4b1aaadd36738a5c25e3c0f260324e7ffffffbf100a847db7fc1e4f2b515855cbe80475433eff232a9f580053057f6ebbe8cf27fe8da6c89a4ad2ae37fea00fc12c728647f8010dc58e1106025987fd04c8ebad98a05f4801564ec261a3cf4668014074e20235f534a800f1fee5e3e7637a47ffffffd2581190a9b7ffffffc4ca53ed98e8000000065e97e5ae87ffffffdb60e440ec77ffffffeb283aee01f7ffffffd2cc247e038800000013155ed64737ffffffe1bcd02cd3680000002f87540ed3b800000004eb669e43c80000003492cf22ca9800000026b8c3131df7ffffffcf27a5f143880000001afa6b3063680000002970e658938800000041b7bc2b1847fffffffaed0173f357ffffffc1e7afde60880000004a7e5f192d87ffffffc4fc3ada4c88000000319942ef7228000000363ccba13f580000003457956850c7ffffffbf100a847db824dc1ffd2a86d81497fd320e205552603267f8f8577044163d9ab803b8f648b2d172f5980427641725eabc2047fa731835983bd4b8d7fe8b4981a825058dc803e05000b28ff51c47fcb48f24a150667ef8017df340d16677b177fc852bbd1bc508f817ff113b067f53a2b267faf4b9411b4d9a14e7fe5f775419a3431647fede88b4dcf8935b4801a0c023a33a1e8a07fcd6a8658de1d1a8b80592657294537b5fb800d3f6b48268412f680373104069f49355b7fdb2b5bb6c2d7886f7ff93a5bfc1a242be47fdcc6ff1403c1ca387fbc6e73e50272183a7fc668309f8bea7d948000132e8f1fda38aa804bb75d7371991b858005a2c09d1d116f558020a742f31b3646577fde613bd7acff968b80276d206ebf28bc5b8001aaf5a44d221183805416dac4a5723ed0803d0a7dce47982dde7fc1e4f2b515855cbe7fd320e20555260326863088202f1303ef6b80dc3c1d9936878c4a7fbe0c879130e90380803f29784d7239339a7fd47ff244ccea8003804969d04ed162b753800cf44095baaccf22800385675d92680fde7fce19a35d64d779a57fe12a173d93892549804de345a16f61486c80d9429b439cf7dcd78051bd7ef5ecb97d407faec2a33e4fd9e683801aade77fface32e77ffc335aa5d246231f80db4e5d1052ac3ea58079cadc6c004e179f80ee965ab7cb1d0aca8001c92f55d9c16a487fc17167ed7e23530e7f2ec27d5a1e01800f7ff9d3095c2e196aa280f0e2416dd3ad950080e3652fff86d1d89a80775e15da6ca08b0e80454f0239df51be1d7f7da602731a562c8e80315e7bc07990bf22804a9bd4a5793ec9f680689c63422f4e23f580e5f201f7ed867bfb8110cbdf6afdcabdb780475433eff232a9f57f8f8577044163d9ab80dc3c1d9936878c4a94af03088f5c8156438060020caa51b186ba7fdae79c245271462b800eb61c6501252f3d8024d537e0cb1fe4457fba354ea24ffdf10f7fd2a522e20560186c8001aacd98d3255e4e7ff884ae7a0156937e7fb2e1c7d33c871ba98000c603971d57a3b77fa0f22d56afdc0a2c801186e4ac330103be804529fb87bc50b6ad7f8543ecb0f1f1019680442ef341eed6e576802f3f5e51a85fcab27fb5dfc5871594585e805b5572dad5fe44ce7fd0e71e7d6b3f95f3805a60d5f5ceb45d5a7fbc9d1cd6d8893e8c7fd9e4751a3006c9397ff935a377f9ce06478048decb8d6c668547807492a15b97d93db9805735c9fbdc66d5c0802acd219f2a8d8a8b80608f8bb410d2596f7fedd6184d3b9aa3168069704207fc8f63427fc6df5a7be62512d880053057f6ebbe8cf2803b8f648b2d172f597fbe0c879130e903808060020caa51b186ba882804048ececc8d0c7ff1f9ce22ae73f0cc80354702014456560d803712258fad9ca6a27ff0d4a5ad2b905166802bf8f41955c8c8f77fdff38310ba3fc55d7ff55a3324727cefb58013c5f4f34088d16280233ba782669c00a4801cd4b120863ec477801d14c41ccdf01f5e801db311a517ce3d357fa282067327bceaab80294800c4014f03827ff627f3770a10a0aa804e5eb809b82213737fb7fef16233111b217fb0d4771d905ed4527ff1159c06f5342c837fbdbfa79df7662291806a204eac285781aa7fa374222885bc80ac7fdb14e0d08bdd8f398075703b2e09e013497ff51aab6d31da5f84806271a03f71e6ed998021a507f65e59284b8036c2fc8b15e4312b7fff465cd905dd776c802151c65dbe2765da7fe8da6c89a4ad2ae380427641725eabc204803f29784d7239339a7fdae79c245271462b7ff1f9ce22ae73f0cc896e21dca66c27653b80691614e40f483079802876b33460116a7d7ff59bc27ddc649d7d80153f0f56eba6b4c68001dac90e594de6027fc7ef09c7c98188c2806c3d63f90f2033f88071a67b17957ed4c88029f7e78beb8ee1db800ea7bd70763b5b90803e5f2f4113439fc38064475104fee5cdb47ff2fed7e3777800507fc95c5f000b2956f58076417bda8c9c39258068d0da4fc2c750be8017c087b4f8206d618023fcec92f82d518a7fd09699db5468cbfc801b084efdf5b46a04803ef57f19620b94397f8e976bd0a42462ef8056bb9bef062befe87ff879131f215975567fc31aca8ff84d145a7fe8a4056527c389307ff96af2ff2ff100f0801441c6b6a8cd4abd8053df5802a1e2662e7fea00fc12c728647f7fa731835983bd4b8d7fd47ff244ccea8003800eb61c6501252f3d80354702014456560d80691614e40f48307987cea9007018d43c528029ba34ea5afb5d3a7ff628154f6abd4a487ffa52d1ee40fa1d4b7fcd3ad257212fafc9803ad821f996c6bfe180320a4abe57b164e57ffb8b7d7d55223e2f7ff3255a025fed38df7ff371086da74596f77fb85cff89e78186cd803dab951df3db41ff7fe4cbad1d9c1f997f800209ad01591c6b8a8023cec47ab8203cdd7fcff095cac594f41f7ff9d2cf6c2e0604ce803ca51ac3335a79b77fd086c33202caa1f18003bb3a5d27c334a67fc8d0a92e75faf2e0803bfd33791db4ea1e7fb75ed1c545bec3377fe9e067ca4e932fd8800b6c97cf9b8828bd7fe70cfe5f0c29f540800a5af48dfbb923e77fbf0ee41d295bd9c48013b509691ee5dea78010dc58e1106025987fe8b4981a825058dc804969d04ed162b7538024d537e0cb1fe445803712258fad9ca6a2802876b33460116a7d8029ba34ea5afb5d3a86d32c761d0f91e2fb80305d5bda303b3a4580483a1b2de6f6031d7fb6b54a20331be51f7ff5f74b16993fab8f7fbab888f3ee6a0fbe7ff0b0d0409be760297fdb96d647125a53447fede756b7b0ad8272803c09a6f999b148bc803639b23e7c0f15707fd546aafadf08236b8000d53b78c280861e8047ee04152b7ea80d7ff36cf91bbb94e775802ef917153f99bd0c80166e6d3369a08a617fcc2f261c51d6109a7fc49d0a868928584f7ff7f672b24b8644ef7fbc3accfb2835142f801438d4371c49b78e8011f009a315a180eb802f827e44121649807fcdc9428257a190057fc9c9c3a042976bb27ff4a08ad993b411777feabe54235bad6f597fd04c8ebad98a05f4803e05000b28ff51c4800cf44095baaccf227fba354ea24ffdf10f7ff0d4a5ad2b9051667ff59bc27ddc649d7d7ff628154f6abd4a4880305d5bda303b3a4585b6925e4acfeff6397fc60af541b52a80d8801503bfbde64d37127fd67fef099e824cb680466bac0957921ee27fc814aef6c84aa4727feac00818935a29c3800dd4bb5f8438420980484db43f401598b58007fd62df2d321f107fd0b243145766f1fe7fda6f0b06f547bb7f80146b294d5209bfda80455bf741c173c3767fd04af5317c4a65487ff18a06dd276cade1802b4ae226ad34fbca7fe104be403cd504927fbd76cb8c7f41ea077fb4dff76047c5008b801e454463939a26e98002f15e268c4e4c098023ee9569c1304a047fdf2fd7a2b42e6ee28023c4a613433126fe8005333719f5e237307fe589928d6bcc9147801564ec261a3cf4667fcb48f24a150667ef800385675d92680fde7fd2a522e20560186c802bf8f41955c8c8f780153f0f56eba6b4c67ffa52d1ee40fa1d4b80483a1b2de6f6031d7fc60af541b52a80d88617b1978533fc391b7fdb839b9848a63720802a88c29613e3fdf08029d9024c485a9d2b7fa9c93ded49be4cbc7fb0c6a7513bcbfb3c7fd281c5f4ba04fa4e7ffffec5e89ceda8d8804b0a2ad732f6ba6d801b018047a19babae7fc3854025aa2d9a1f8051fe900b3189750a805a99dafef0cbc2207fb72f045c391e94647ff2a3b9a90d31c4557fada51610d80e112b7faf2751fa667269157fde55b91a49aa312880291ef2a6ddc0af1a7fc9735223ba17efa0805730ddfe3e2d514a801f5182a61ca83e8f7ffb4b2c5d1e84041f7fd8a133cf7130a83f7fbad41740cde006f7803e52de13413db9678014074e20235f534a8017df340d16677b177fce19a35d64d779a58001aacd98d3255e4e7fdff38310ba3fc55d8001dac90e594de6027fcd3ad257212fafc97fb6b54a20331be51f801503bfbde64d37127fdb839b9848a63720879287bc427f5b991b7fc06c25f271feeadf804575e0a4e02165b9803e117c9e913bb16e80494ecf63d1002f1e7fdaee9532d5ee76c08015de6b7850e01e6e8025c8ad13046fbdbf80038e7975f22ea40280152b43c523971cc77fc0c55bbe88dfae468011b7e93a1ecb2d66802e74bf7f1c0186e080157129edf1a7118b802648c4cb8ba163a37ffd629c7cba41fba37fdae60366de994430802dfcb16bd473563c80042cd57d97e8950e8013bf3eb9fceba1967fce14fb38d385cb5580196ecb549e9627a37fddd07a77866f0711801b855ff4fa3f8b737fb892bf8234d03d53800f1fee5e3e7637a47fc852bbd1bc508f817fe12a173d938925497ff884ae7a0156937e7ff55a3324727cefb57fc7ef09c7c98188c2803ad821f996c6bfe17ff5f74b16993fab8f7fd67fef099e824cb6802a88c29613e3fdf07fc06c25f271feeadf8558fd57fc06702c8f⟩
def tc_cap_SB2 : TBlk :=
⟨[11, 6], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0), (0, 0, 4), (0, 1, 3), (0, 2, 2), (0, 3, 1), (0, 4, 0), (1, 0, 3), (1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 2), (2, 1, 1), (2, 2, 0), (3, 0, 1), (3, 1, 0), (4, 0, 0)], 35, 4, 72, 72,
0x99999999999999999999999999999999999,
0x80f4a50ed7ede011e7800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802e2ccf8d15de0b03822383ee0d189cef71800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000801b3a1181c3f8a7bc7fa6627a07c97521c681535baf3931e260de8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f694fd2d7ef8b5d28821815cd197c3ae35e7fef1b48d1e696d5528411a329af5d83557b8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fdc7e732d4d86bd0e80ae7497005fcdedf2809a1dd879f0cac23a80cde9d8cb958431ab82ffe4aaa934b655e48000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fb59c61e503a4a1818060ddbcaaae207d017f4d5219edc8d1abdb7ff1dfaa6c4a352d157fc352f80205d4494480a5373e8da74b8c85800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000801be05e3a79a3616d7e1f0cb1bfa7f76b578037b49d9fc7be19768180897efc414ff8ba7f7c727685a86614367fec1b7e2d4f863faf83b47e9f75274db0608000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fecc179bae0e5f7ef801f282b8f35508a3d7f37a8077e7eb98a9f7ff46fe2bad5d5c93d818ac6f8ec9c2b86a9804661b2d5b127af03808f5d007ff33e65d583cbb5464684ca72438000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffd4f566c102210447fb5e76e5e10d5250e7fbc9f791eda8b79a17fb7ed38796e5573bc80f8ab87813e64ac69803b5f220ada87ec517f7d5ba80b9d2b49d2814de671755cc3ea158144f9792f2e13edac800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800de9bfb7a3969187801fcec781a461aa3c7fc11c5862e83f6456805c121bbeaae07467803438499eab0cbc207fcb15233c8aa2f548800e1b1d588cd6e7e77f6cdea2552cffc78a7ffb7bd2c8d3357657802d636cc0695927858000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008037199dd0b26d61137ffa95570db72371878017d8d47192b473a67d65700375ea01b846801f285c7d2d2f979b7ff504908fa84158d67f465b5db83bc522907f71c689e8e2e6a7bb8011018f78c7e144338001765cd23b66779c817f5eafa496b796958000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffb0a656af9566eab803c2207752c19c23b7f901fde64bf661a977fbf9d8921f71808a77f0f1d13e6ea5d64228025799fa8beac4a4a7f5ef90b701353d08a815466c98c171ab098802303761013306b497fffb75121676b6c25802914c41b4067944d81bbc47aa0de093773800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802dc793fcda510b3c7f4f463fb6d5c5d43081106db622d21883f6808556874193f0549982466f4d09cbbb5b087f698ab0f7f5bedfbb811d863c273b23c8887f128622a15578300b803aa11189af394a9b800b0a8becabf1fe957f5537c92eb20418767e24d4a60339f599818103961c5f627fa45b8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff202db63311d7844802d4aa80771a125057faaf2e22ed9b56efc803431b5c79c0ba7df7f44822119c14f19aa80374162b1f2689fae800232b5ec4a36543a80b9654eb61f3d549a80075ad5dea3a4198d7ffe57fc7390294a5180222dc0bbce5ecb787ffd43623ba909ec4d7fab929e427583db17802ec549ccfcef809580000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000e57411411c7fffffff3f4274a0027fffffff0fbedc6c8f80000002209c67555580000002b18bbce7ad8000000038d9474a93800000007ab7f989478000000156ba9dae9c8000000a2e4c9e4837800000004ee0ee022f80000000ddfd007d8e7ffffffde7b1a4bd5c80000000aa839cf505800000004987afcf40800000014187f4d41e800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000815cd2af08d2748224800ac713d9af9e54d57fd6ea5624892fcf8d7ecb367e7177061caa82b80ac1749d514c0280268dbd2d20a6a91a803b0158a2b2abef45806fa518195561e745800add856e80c3415f8004bc8feff578aec38000951810bd8e80167fbe75e95a8772a0e78024031971b6f28c417ff5d62a18d04216577fffffffffffffba2180f462cc03ef0f1bf3800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800c4ca0ad909d6af98226c3410a43f6c49b812439eeb90cb7a3ef8168ffe6950d7c5a217f0bcc00c7b3aa2d9c7fc05237b5d30aacf07f6bfebfb180642f838132c3747f2d4576a77fc9d0fd28e8f7d6807ff16d4f6d2729f30980106ed253a6deb7407febeeaa7fa8791fd97fe57920e3f3320c14800b7348693aebc96b80000000000000819b80097cada8070c753781d71794277e1542398000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f38f29bf3f6eb34438399a22dc0d831e4658204e4ec0e6974b667804592eba4c59379577cfcb9e1318cff1a4f818fa2481f5b760e257eb03da85e332fa4727c40afe970fbac5ed17ffd770b18de166da28000adabca64380af7802afc24422d6aac87811060658e641fed927fbbbd600ac9bb92397ffeccae1a78696239800000000000007d028017ec22e559c0960b7fa646058bcbf41e0a819bf0a43486afa5528000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f7a66248baf577bc28007fe61fefa5144cf801fc2e42f2502507b82eb7973d14e61fcd87fa08365dd0bd9686b7f7fa24a73e799a9ee8235296a930816fa0f7f97c7cc8a5199f57d7f902ede79bd05eb5080046cc46e446263948031de408c70c927ef81d28476b607be2dd47f7889d9b1d57ee6d57ff8076f8dd3ee50b580000000000000ead57f7ae51da82fedf02280f793ed7d9b4e32927fc4a30f3fbb4167b1826a155d47dcb1f89d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fbb5feccad1dd7f447f593763cc1c6edcb87ee8bcd78a9c7df34e81df9295f14829c4118259813749335d0cb3808fd6117b9228a0177f19eee4452935f71b827ca31514c98312a882f2de850989238ac77ffd1fc0f75f6a60a58042c2ba329714c9a67e7e747f281f464e95806c56438aa65e87a47fff610842b33f95437ffffffffffffd7dbe7fb2f8ec4215a44517805f5a24e6e4642c95803b7f0ac6b16a149480887dd3bb7c5d9bd7825be4d4390b76b1448000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008044d475d9f48b0bd87e5b3004ad50809f117f5917002842fc41537f09cfc2a65d490bed81f3748d483de483db802d43e5bd8f3ae11e80e8bd651d10ec8b5e803af3e459673100f27fdfe5e7c438b6ba3c80eb4792705f472ffa7fed658746c7d09971801b251f57c32aa9057fe0c71d4a12fa1df1800b134f2432676923800000000000007177800496073eb385ee157fa7f67ef63b8c961c7feb88460ad89e02e87ff2b476a716fd041b7fd35d257b61ae4aaf80c6aaf7336a74e136800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000805be4be76402ede748040031bc9676be4097ffc60989381a77a4d7bf4ad2d3f0ee07c9d8025fcbfaf9b2a4484807bf40ea7800defbb7fd25d615caca9686a816cabd9cbe3ef3fe17f38da0e3a7af660227fd54acf0b2c0ea9ae81c42d56799dc9a9e47fdf61f6ebe38178df804cf9c5fea834d57e7ffe9cbe929d1d0e428000000000000044aa8071f3ff481d83041d7e9abc2d3a0a046792804871b08b2a86ea007f2746a0d3da0059d57f215657ad008ca8997fdf6b1cab6255501a814db25be99e26c3aa8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008088c4c1d8aa5eb27a7cde0d3b4ac9adb3527ff8f4f3dd47dde297804c105eb04ebf93137dc21b046780e34dd37f7309a55f2d901ab284b1519f361260a56b7e2171ce316c60999e806e84ada850af024b800b478289f9e0fc457eb8d5695347c64fc7817c15450bcef234268225da6245f318014d7fff7533f812c595d87fffffffffffffc03a802d57c70ff2063ad47f94b383d5f432e4447f8a5fc6184df7e6507f3d1dd6ccc3520358803f704e7c7b1af7898008427b7d79ccecdb80215d06e2c3d86df681ea27c24de63533648000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fca5a4cc44d8261677f6d070b5acab5a9b17f33ef8c2895c4afc67ee5dc1751448a21fb8283df487b5e9765367feb242756a36326427e34aa6af17d09ec8583744005a58a4d0ad4801c416ed1f56a1a178156c0f3a90b3239707ff4cfc8f7916466c87f3012da3a79d54e277fd8ffd0d7d66d403b81a4feaf344ea00bd88000000000000142a17f9b4be7e4d40310c1801ad2623777bf83a57fd5087f41dc000b957ff2169fe04997a3c87ffe9580da7abf4d728111827f96cf650da17f943a95476384a0877fc7e6d9d5194ec8638154a5727822864f29800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000021d6b60b67d800000069ca2ea85ab8000000c2ba21d15ae7fffffe9c3b6b037207ffffff1d7796f404480000002d03ccf014a7fffffff4d0a70a39c7ffffff1dd1c8337ed8000001e9add9ecf2a8000000800d81ef2fa80000005c276aa28f38000000cdb587348f27fffffffb82d8cdc3a800000080b66ec260a8000000c7f81bd9aab7ffffffffcdfff37f57ffffffc612d98c4a88000000551326d244c7ffffffd9f315379097fffffee79b662634d80000005375201981a800000006166b0d47e800000030ace93318c800000054a783cd0808000000998c9154f798000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e8ef0e138745291d07c1b10aafff1a8e1077f25cfd2da6d2cd4e080fd7fbb440760a9a07eabfb70081f0e3b567d79561dc22a10c83481b3da2b205d5ad0e58079ab15a45ea2d297814d254c13dd7e41e27fa215bb12909b290e7faf49435324f7e8c58086c26b1f8475b9c080a639cf8c3bad18f57f999ec6825acf7c2b800000000000525db37fdcd725e7f821585780747c0b141977aa627e98698710ed49847f80622c42e1430ff84d8170bfd9f686d4a2d87fb8bfeaaf97c56ced8003c2cdb9a210dad380a0369176a394b07c7fac18aec09ca2d1688000000000003df49380ba2599df094d825580000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080554a166500e2362980acc2071d87a7722681a6fb4befda390b717e59b1298c51a897ff7f4f478ad0e13a92b082e79dfc4ddaacd4367c92f0345a002e39057e1d4ca61ca9658a257c7db60d367e82946d7eeeae6fc5bb5c86c97f28978e934c15fb6880d606a97caf2607b980ab426629fdb2e7237ef4843e223bd694eb8000000000002778277fda7f45d87d1320af815e53c310ffb884508232e147d0d0ce8c57815b91ab44e09936a57ecdfe9c9367807e287f1f66307120cf243e7fb1981f22ea07c4ed80d6ae73b3be7a55167f283cc564dd92803b8000000000001d5fbd7f72386791b28ad8998227b409fbe87f8f478000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e8fb27c6a9356cd3980a695c9e5179d2b077f7e4ae26df0ca2d08830c6f4fc104a9207a79baddbf56161dc8fd7efc8ce97c03fc5d6d7db0b1c5e5714c08a985e82166dafde392887f222beb80500f78717d7c02ff14775c8c307fb8fe56e8695d7fe67e1ba0a4d7aa81c72d7fcd0a5a4e892a0f168140d049c7d60716867fffffffffffff892a7ea58a3ffc5d4a7503840825d61c68ee094b7fdbfc8b02ab3d770e807196e1e06eee60507fff0cd7bd60ad6d5d7f20fdf8c8f4b757fc7f88663ba6226f70b47f5061763f3748a019810aab8bbce8d4fd017fffffffffffffdea280084e8a8e550aeb01807bfdd41d8acefcd680f61ecd9350d74d098000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008051ddea3b4e7b900582b38a648cc2d3e1217fe853f18f4cebff1a81eaa19c05dc83d67b8268982b9c122a53f77fd6e34362eb7e9d027c6646345a414e3e1e7f1c84ecdffa16cb7c83a648d7ef97bfdd9e808cd8e6e1e442bcbc7dc1afe3fc8af7dad87df85dcd3a50d872097bb87ea55055ef8bfa8056ed43e2af67feda8000000000002e5653804b9f0c99cd6d27087f3c0c4449492b19c07fc3e3f80e0a5ddea37f56e66ea5b3914df682307d54d6e90c06c5805eddf9f8bf9fbd0b7fed8fad44e9f419357d4949f7b71e52f337804bd6033acf8cbf0180000000000022fbb7800c7fda10af883c767e86834b7970de949d7ff08169424cd74076811d02cb5a89d4116e8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f5bf8c9b4aba3954e7f2c58649d5f1bef6b7e9066f15f9eccc77983ab7bbba408f6373783c6dc3553f2a0e3a2802a3cb2675521ab747eb5a2eab25c967def7a6f827da92ef80d387df20f5059d17bdf77806ab6c27501d308567ecbfd156af99686f47f23ff7195f771580a7eafc09a0e8605cc7b7da3451d527c89fca47ffffffffffffc1c4f7f05f9546c75bd6b6081fdcb0c5f356ebd067fcbc9e3ce7cb8e8a084b6351b2981f434457f7bc68731a5a1499680bde199b685e3efb27e5b17f23027dfbfd17f86cc51b6834df3047f59cba2c0381d3d2d7ffffffffffffd5ef67fde0e10edc15f362880ead17e8fe2148f6e804f6e39cf2cf4b6ce7ffa6fa8a7cd6a532f81087a865cd528ac2f80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080db4355380c275cd5808cf4be11bf55a07b7da3d6848277ba1def817349bceaee67178f82b1b3d78dba6ca76380ccd1aa3ffcdb90d58203cd0e87973f272c831661e8414cfe16d376952cb7d5059d2b557edcceca8a2ab53b48813fe8bf68111d67d47da84147da2b57b84781af1c7b6e46240e937ee81af409e3487c4e7da849017cdaf88b0a8043f84b47ed62b95b80327e8921534b8a117fcdae731cbcb6c8c6801836dc8065c3af5e81cb10fd5ba68d78747fa0a0a52b64beaa788056002bbfbbb4d8e1804d2ba07f3718953b7fa4a749fed638218a7ed42480be6d8bce987fbc02205968eea643806f1d09797d21d188803b2429f971496de57f8dccdd2da8c20f9280386ac5264493c1718095edbfa0c951033d8000000000000000008000000000000000008000000000000000008000000000000000007e7da494f7803eead57f3d56a552302ed0707e1afd64b450013e0e83b83ea18f0916cc4c7f7b18c96ca07003447f4b2596e41e2dc538800fcafa59b7ed4f9382a8f24f533cb7f2e4849c0925ef0fd2bf797edd1f239e78fbc6be7fc5cf5be7ad7f02b87fde670f5c9003c96a7fcfe502547d6d8a148102fb4bc14b90490980d8b1134a34a4c5297dabf5a1d102e072aa7e1ec198b4624ac6257f52d39250f582b29f7ff9e02efcbb270d167fe5d9e4fc7df4b5d77dd83aa5a949d0e4bd7f6b6a2a15d2e5c70a7fd78f76e587be555480d2c276d7d921bd1e806c5889a51a52edf47fe9a235d1764477457f9fd9e34aa778d3907fa721027d9563c4d27ff1c535a36da6cdca801379a9623b58290a7fc9d3bb2d72d79ff1807a703b5d79c6d9b380000000000000000080000000000000000080000000000000000080eb124b7d8c6dc5597fb0366fe7f8607a9980a281900dce87a41881d4f799fa6304be1e84a32a3f81c3d38c95804f400881f670b2f58051b596944e82e4ef7ed44f67d912280539808a66f9f66c7dafc58230c18e7b7028e7cd7f2770702500fedff87c85f4e1abf042c71e81023453bc7c63bf267d19b572703f969cdc8007e2f4c3f5bf0de78134492925fc6ca5ad8187f28bd331303ede802b8d0287b890766f7c52946ad90bf365b28002c95b7c008f4263830189d9f16b804a3d7cefcfafdafdea3bee7ffa570db2d5966e6f7ba4554449d5633efa8003f17a61fae006b280037c7a9653967f7e8019794f5b92e542b7807c35dd90dbfa788d7f6ac7e178ff4b757b7f5762fbd440f20a807ffe0742cf0290d3d77f94b194dafad76f6680c98f6e167e54b1c48000000000000000008000000000000000007fd7da540a44ecbe18818485e3c312240a5380bd1e0592a5faf54f851fd0f30ff8966fb88402e512d049b187427f259ad12d8bf727e381928cffaa2893dc1584dba358e49c6f823d813333f8f17c03c1c3813e43b145c99e268d7fdf505125e179500680f4237d6e208c69af7f291b553cefcc00a4819de2e9e533272fdb7e7e696d87f7c616237f0ac8b7b68007e48b7f130f3346a95405b77ee3243f3c818cb5fb7f1d84f5c079700d9179d46b9f3a714ad1cb7f12841a80716fb6bd7f3c6f5f1d0e3eb54d7eeb2a6227cf041aca7f749113a33bcb96117c4e15d03da46c3ef47f982b6c662fc14c75808a22852688c010b07eea1f25e93b5c556c7fa02b5670c1941c327eeb1caee82e00f4d77ee7d6315ad65448e9803c3d614acb217e4f802fab853b099d719f80bc47b9a195de7f2180000000000000000081ad73b2ece91eb8088421ba4a929f3598467e90b1767faaf117298377d0d761b2e23f6f7fb6a8519c279ddb6283ab90b09b92c6438a82d399c706f718eb737e862b0dcab524c3a080e1cce249ec8c5fa97fc76f3a59cbc0c5bb81a9ec1be1e26681f07ed024bc92795a0ec082fdabdde3163691037fccb7d7d273c12d5d7fc3bba85335e7f4ec7fda42185761b9da8e7feea683f14f8c58c67fd4ad18ec08a2599e80c1cf2544436fefa8816980ed0f064f4f74811aefc2176af56bfc800c2639c99333fc377f7ee4b0963b520c8a81800a2f4fe4176d347ed7c178b195222a277d806cdd55d7f5fdb67a75c0bd5055bf3c7580538b2089056b691d7da1f49718c0b83e0b80839be315e196461e7d3ee6da7dc1b06b3c7f990a68221148bf8d7f80fffea213d4eddc7f1cf910054a7e1b308092c7036c5b7b6a60,
0x8ca2d42c095c433ee080827f5b7fb3d9ac7a7ffb6c3f4019840b1380f6a879ab1ce3ee147ed1c683f54562189f7fc76e2c5b6c755eab7fd4cdec4bc95d05327e931186578aac2900809104acfef850ed417fedeee81dde05aa387f5c3e0ef1c651915e8013265723f5c10d218025877ca661abcd907ff5658b84c4552ec07fffffffdfc79df6838041ade062ef186d287f8db1908b4ccb1c8f7f5be7b6dfb79989697f0bfa17f35b7706887faab2bf3fc52427e97fc85cae57dde1a2fa8079678f89fd8f72647ff7e29bd98661c3d38019294efea6127652800000043566f2b8517fca0d7232fab55fd880493505956d71dcff7fa5a6435172935f637fd2910500fb17f8517fc2b94b89cfff26618004b427a24d78d1b77fc8b4ba90e9600b477fb8b53e4490632d947fedde0e584ed504b4801d862f8c2ad325c680827f5b7fb3d9ac7a90e34e4b3b81c48cf0800fb376700e3ee6087ea26a36a392371d107fabc8ea35866f8fc77fc91336c7b419ab077ec5552b9636ad692c7efbf42831e7b059c6802791174ade8ef02e801079538b74dfb9517fa010a7605be7aaaf7faf8d465a10fbd54b7fa241c6675c82b0197fededcea835d390407fffffff70ef246847804070ad2bf7bab85e7f5454bf71b75f6c8980c4e84bb9fa739a6a812ffdaa5c4b431a317f14689225503b0ba37fa14eacfde6a1856d7ff795fa7a21d5218680033386542f50d9337ffdeb8bdec271aaa1800000024e18a86f497fcaf4ec995c18c4f87f3d4e0a39958c21c0800c5bb459029618f580604e88341ec0bd107f8cb1383e50e879657fb75c160b3de57dad8036d4c443f54a060f80243ab8b1e874b8337fc2cfbf3485db155d7fe391f576c3ce91747ffb6c3f4019840b13800fb376700e3ee6088dac40d16222f330258195f7b50d972dcbc17f3170e006819eb07a802e59bd57bfd691987f002b4f9ba8742a327fe7408def782c96ba803e3a9a56751707ef8014387f2662736db98022f1c8767cc15ea38058b2ec0f059c275e7fdc4a29482890ee447fef692e080637f0247fffffffb171f30c9d7fb04724357977316c7fb42ddc094061ce0780641433bf5044bfd17f46f2be805f255d8c8107798f797bc74a507fb8c4451e35b2b536802e1eb7d6ea38612780e057de2d5c5acbeb7ff7fe7f5fc8a03d057ffffffed4e5da167e7fdfcea33285b1588d7f66201a7d4093e89e806639b2a668253f607f9d7109d7c54646a87ffe07e8105bf0326b7fd7ca873261f8243e802e6815b6346f4d348004548a7c7067e969800c4378c870b0a8f3802d4377e64398a7cc80f6a879ab1ce3ee147ea26a36a392371d108195f7b50d972dcbc18f75d5610badf0546f803fcf767b9f74ef6a800b6c31f974047b7480c6a2a61e26c58b9c81825462f3cfe1a8bf80a06c9aadf55cf67a80150362550f50f4637f4f96234022afdf82802cd9e982b34a6aff7fccc3535110a750eb7fec8790bd390d7e997fffffffdfbfd466a8803bbdb7aee23083b880c0d283cc00d541ae7fda453ebae46923277fd002ccde96ed39e17f6d301edac8bfbb908027ce611f5e898c6b803f4bda06ca1510c27f260458cde6cf06857f80860b347947993a8000000354b2af02bd805b0a0fbc9e2f70267fbe2e37eeacc5eaf97ffbd0dfd3f37c93e48028e8c3b70c5edb50804f5d58eb9b67a4467ff6a6f9187f0bab1d801c49c118476e4309801b8aa6253704c4b67ff77885219dafb4b67fdf6bb91d345ee8a87ed1c683f54562189f7fabc8ea35866f8fc77f3170e006819eb07a803fcf767b9f74ef6a8ebf088d792e134ddb8040598bdbe0fa84668192da7537ed87780b7f9c5d03cc4c98ab557faa4c87b2f3e254d37fee0a6e7437cfe0e980906102c255e1d81580aba2abbfc5427a2b7fbf0ff5a86dd6e0708010e083168bd6bc94800000004690cda2cc803f2eaf6a9b076d9a7f24d4a870d6683c35801ea946bddd25b4e77f4081b972064e27198051879dab6cf772c1805d7f13abf46acad780759a712f7780357c80ccf08079d0b234a880750790bed139955680000002343a000a71805a1676fade7280547f5862efc08fd27834802800e999bb0b855f7fd7155b89d426c7518046f00ef2c019e1377fe39a481bd362590a7fcde561b217a683d47fef5959ba6bd212ee7fe78cdcfc34bacca680324f26ea95ad55b47fc76e2c5b6c755eab7fc91336c7b419ab07802e59bd57bfd69198800b6c31f974047b748040598bdbe0fa84668a398b5a61dedaf34380ab2b3e8339d8e8e2814c5dace3087a12bc7f7d65ecd3ff6cef317ff2f3ed3936eb887c8031255265278b4be180aa3cd0e6635299c67ffa6ff37538d263c67ff6fdad2432a14b73800000002c9f81eb947fd98fe4c08035324780e48e56cdf813e82e7f4c5e7e7a1bd4f3468023a9f79d4c5217077f87ed33f2e4097d227fdad9d5c0984b55747f8550f536eb12adb880307fb1f5aa314d9b804b2c3530e5045f4c80000001a60e5419fc7ff0e9506da00d2a2f80a1242ed1d9263cbd8040a248eb94b9f995801437ff58e3cb0ced80282c2ec9a36b09108043b8610812da86597fdf025c43ebbd953d7fca9aba6f60ec43498002ef62d80fb7d0d9802d27b6aea68ea4ea7fd4cdec4bc95d05327ec5552b9636ad692c7f002b4f9ba8742a3280c6a2a61e26c58b9c8192da7537ed87780b80ab2b3e8339d8e8e294319d409fc50814717f76657b66edde16fa7fd3eeccdde0c9c1177fee5bb342be07eba67f984c81f0d2a2475180693c0555d8c2d2ad805c63b5e2197abef5800e2a68269794b3c38000000001d3fe597c7f8b567009311ffa4b7f7e28cfbc0f6d26387f730e7d3ff2f0b5917fe4d5fa7e812d579281031747a68bd0eac17fa96fe080faf4f968803a983ff040a3cb1c7fb0f58408341d60878097322203abab6e797ffffffe859cd64c49801029c383601c15297f42852b99654a473f7fd194b69e617168718066d3428d1d1e54b5800073afc4dd8d04267ff98088217fa00dbd7ffe203b1ad5002085803ba3345a496b06cf80370049e2c09a6b037fbf594009df6ed63e7e931186578aac29007efbf42831e7b059c67fe7408def782c96ba81825462f3cfe1a8bf7f9c5d03cc4c98ab55814c5dace3087a12bc7f76657b66edde16fa9468d14b0cd39e64ff7fc08814c8be41505d80052397c609117fc5804565f4dc2b47f75f7ff6e8cd5b34e4a0677fd8e60d681b052e5f80160687b516f8ebdd7fffffffa0b7e9872c804f9623b6cb5524de8028e5127b9d2318577fb87492205474f7bb808e4be987aee744067ee1a3a2da2c95d6447ff9a278bd4feebc57805929e46fac2de330807965a125d2797be07fcd68ea28a9a5c15080000003103ade0ff98033a4da100b4e8c1280f7178f0f0651e5ca7faf53d9272a2c3ab2802b1599f48517d3d38043e05aa0d069c9a87fc20b6ae5ef2fd7a1800102f580d0b8e5237fd8112fd4cb6c36ab7fe7e8ffcbd32320297fd09283888fed7446809104acfef850ed41802791174ade8ef02e803e3a9a56751707ef80a06c9aadf55cf67a7faa4c87b2f3e254d37f7d65ecd3ff6cef317fd3eeccdde0c9c1177fc08814c8be41505d8ad8a694632be591727fec67d9bfb0542e7680aab83018f810349b8049de1abcca4a5a248007d3088ee7f8c74c80122715551af92bfb7fffffffd128e0e0677f90f580acd513550e80b2bf076276f9d3087ffc4d48573779149f80cfa5f49a601c98747ff2018cb51a92fc3b8041b90c24ca050a2d7ffd51c0820305b15a7fc6f228704a449ea87fa95cfc1484bb18c580000003a861cf244e805a9d6e620ee8a8b180d3a5d3ad908771a97fe7e341414c8c701e7fa628d846421853c5801886132074c2d1df7ff78f444ba621d0847ff32d526a06faff177fd7e4b298be0bb3257fb5c61917e4df434b7fe07b970df96b0cc07fedeee81dde05aa38801079538b74dfb9518014387f2662736db980150362550f50f4637fee0a6e7437cfe0e97ff2f3ed3936eb887c7fee5bb342be07eba680052397c609117fc57fec67d9bfb0542e7687372915ff1020f15c7f48d2e1474a5e91cd806b9aaf4682e5273280267232ae475b5ebc7fff97d59e6d4e69ec7fffffff98220df3137f968c438a056ad4ef80702492330544e6b9806201dd57363f21637fa8ff40ddf1f99e13800bf5cf2620eb418f7fbdd87bcafdb42b5f7fb13e2fdd489cc7d580d2526650d7aefaad7fa2e36ea2aeca7f5e8000000467d46e0b6c7fcac5cba5f1a060187fd970803c36964db1806f7f423c92ef9af87fa139e8d8d6c3aa6a800fbffb8503356b65800e1fdd72b8ad5c447fcd7ccafe6b9646787fdc45967100cd530f7fc97a2c9c242b8e2d800b4b21eab583ca087f5c3e0ef1c651915e7fa010a7605be7aaaf8022f1c8767cc15ea37f4f96234022afdf8280906102c255e1d8158031255265278b4be17f984c81f0d2a24751804565f4dc2b47f75f80aab83018f810349b7f48d2e1474a5e91cd8b8e58ddfcb5a592fa7fb7dfa2150d2cc8d27feaaf2dfab703ccfd7ffd5446fc82e4d9207fffffffce6676841680394ec373a07a4dc080d7d3ca103114377c7f9588621beb945bfa8031a4ba9713f0d31e8100fc714727cc48337ff2eb438ce7ed2d4080275a11a1f6913ff17f8375707c9f8dd6f87fec78be20853ef7407ffffffe4e697940b0803bc5221a1a7a883f7f9b33f954df8884cc7fb2dd9507465123ec802e4379effcc2c262806bc6259a720372ea800f0cd355d7c24a028033c7831980f466287fcb369d2800d96cbe7fddcef7a6a6829efa80389bec765b1653928013265723f5c10d217faf8d465a10fbd54b8058b2ec0f059c275e802cd9e982b34a6aff80aba2abbfc5427a2b80aa3cd0e6635299c680693c0555d8c2d2ad7ff6e8cd5b34e4a0678049de1abcca4a5a24806b9aaf4682e527327fb7dfa2150d2cc8d28cb941600b6ed2ea8c7f86a02c70447835a97fea88803d5afb10a78000000027fad23e3b7f89ac93a5fbbd0f6a7fe7c605b276d2cc807fec2e0f01a97fb90a7f83f71141edb826db800cb4e13bf03d3579802467172867a3dec780a40e30b883fdca118033971ff69648e9347fbf7c1c6a7e469f657fffffffecb8c7371280323003b3e3779866807e3e3c5ff194c136807985aeca26f56d1e800be7649970647af67f9e9ef1d7fa638a2a7fcea2788f051d75dc8027654ec1a4b887df8010470e26f92c040b7fdd79bc89dfbf56497ffcb326e0b10d12988025877ca661abcd907fa241c6675c82b0197fdc4a29482890ee447fccc3535110a750eb7fbf0ff5a86dd6e0707ffa6ff37538d263c6805c63b5e2197abef57fd8e60d681b052e5f8007d3088ee7f8c74c80267232ae475b5ebc7feaaf2dfab703ccfd7f86a02c70447835a98a3f94ff07e54e64087ffe73d7870e0b85a08000000019cd3609037fb62dae09cbfd8e0b7f60629f8b4cef8fca803830e3c1fc87a0be803258cf52ef39f3237f00dbdb36e11d0e7e800de7004215e6fb8d803ab23660a3ddf4028077ee49391c99f9d87f5a141f84da5e31a17ffffffeaa08097cd37fdde4e9178829eb457f94763efd9f6924907ffd81edf06f629eb27fd586febf39565bea802bcefd3d92eb554680171f7febc7c74f9d7fe885f9a2fce666ef803eee645ea8da14767fbff3fc4415e1e2787fc9bd02617f0248687ff5658b84c4552ec07fededcea835d390407fef692e080637f0247fec8790bd390d7e998010e083168bd6bc947ff6fdad2432a14b73800e2a68269794b3c380160687b516f8ebdd80122715551af92bfb7fff97d59e6d4e69ec7ffd5446fc82e4d9207fea88803d5afb10a77ffe73d7870e0b85a087956cf201b5770b287fffffffe71642fbb88069492b4529e1aef08053b966cbf2fe54e87fd52d8aa81a660eb580bad2bf1f36a3d1868091627e3740c679c18063402c9a37879e5d802042297a099f9a1c80df469018c18db76a804f0e723071f9f5287fffffff34928c3df77ffc286ebc56e6be3280a749e930786079da7f8ad4f5ff51417acd7f954cb0b45ed891c5806edc158d712c5b697fd6760409e243e2dc7fc71791af1d203f897fd87255ba1cbdd8eb801b20d49c9245deb18048171ebee7cc5f3c7fffffffdfc79df6837fffffff70ef2468477fffffffb171f30c9d7fffffffdfbfd466a8800000004690cda2cc800000002c9f81eb948000000001d3fe597c7fffffffa0b7e9872c7fffffffd128e0e0677fffffff98220df3137fffffffce667684168000000027fad23e3b8000000019cd3609037fffffffe71642fbb88583218103123d9a0d8018bcdbca01d0e8117fc6a01e995d01c2107f79668d84b58d35e27efcb7aac18af62c697faf722bed18ea5e20803e299e69acc0d8e08026ecff42978ed3927fec4ece616628b64d8092642673e8e4117d7ffffffcef2e9bdf088010bf59acbbdce2027f9d581944899132937fca9556d678b7df717fb467cfc1de5d376c7f88161ac754e0c4687ffd9568d9e55b8adb80383dea9721175ee87fc8661a9c5b3b480d803658495c5ae4348f80367a7be6d992112e8041ade062ef186d28804070ad2bf7bab85e7fb04724357977316c803bbdb7aee23083b8803f2eaf6a9b076d9a7fd98fe4c0803532477f8b567009311ffa4b804f9623b6cb5524de7f90f580acd513550e7f968c438a056ad4ef80394ec373a07a4dc07f89ac93a5fbbd0f6a7fb62dae09cbfd8e0b8069492b4529e1aef08018bcdbca01d0e8118b2490b4f160856d6c80b4555d85d2adcc9e803330c90525d6de4d7fdb727747b4b421a77f5d6065aa4c100e068047681698a3a36ab88041b498abe037442b801f07bef0f4f597007fbc40bacfdb871ed47ffffffeb0e9336da57fb1eb401ef8abc40b7fa661a3024375b934806626a12f4c2cee9b806eaa858001e8ff93805ef4a6326b2b6dc68043c99a8553d945278000eb349d9411c12d7fbd061dceb68201077fae8146e5f645972d801702ed959ba734fa7f8db1908b4ccb1c8f7f5454bf71b75f6c897fb42ddc094061ce0780c0d283cc00d541ae7f24d4a870d6683c3580e48e56cdf813e82e7f7e28cfbc0f6d26388028e5127b9d23185780b2bf076276f9d30880702492330544e6b980d7d3ca103114377c7fe7c605b276d2cc807f60629f8b4cef8fca8053b966cbf2fe54e87fc6a01e995d01c21080b4555d85d2adcc9e8fde8c4823e8d5346d80228fdaee3a1084e380d256aa37c5c9a1e27f6019f6b7abb5c395801a77e1aaa8135e8b7f99e8c2c5b36025557f17f7ac4ab8e8214b806af0535486ca34497ffffffd338172bae8803c2368f12668fc5480492132b6995509fe7fada822239f465da87fb0bdacaa28f034f28008b5b40a98361846802701a948d3a575877fd3b7f7832a575ffe80574347dc54cccaf57ff0c144688ec95d3b80110bf7c4485994847f5be7b6dfb799896980c4e84bb9fa739a6a80641433bf5044bfd17fda453ebae4692327801ea946bddd25b4e77f4c5e7e7a1bd4f3467f730e7d3ff2f0b5917fb87492205474f7bb7ffc4d48573779149f806201dd57363f21637f9588621beb945bfa7fec2e0f01a97fb90a803830e3c1fc87a0be7fd52d8aa81a660eb57f79668d84b58d35e2803330c90525d6de4d80228fdaee3a1084e38d35ed5c2b98c5363c7f46b125e746d11d6a805f9108ceacde91127fb7dd1b7cdf7282867f5af6cb24b77bb4d77f99e0ee624e4c58417f8de3cd1d84350f08800000013e32c82505801738eec099b05fd07f7eb6d23a183466cb7fe805fd98bb437a397f7df422590264ef478072e9999b05f991a5803c8785fd74985df77fe6b0922132c577f2801da66d59c199a3217fb5be2eddb37f4e1f7ff2d991cb96ecfd387f0bfa17f35b770688812ffdaa5c4b431a317f46f2be805f255d8c7fd002ccde96ed39e17f4081b972064e27198023a9f79d4c5217077fe4d5fa7e812d5792808e4be987aee7440680cfa5f49a601c98747fa8ff40ddf1f99e138031a4ba9713f0d31e7f83f71141edb826db803258cf52ef39f32380bad2bf1f36a3d1867efcb7aac18af62c697fdb727747b4b421a780d256aa37c5c9a1e27f46b125e746d11d6a926d92da1fe851282b7f6bd7b4115e468db67fa24009220dcecbbc7ff4dd223d0c5e4722808ade156c8e57b6e87fa5d355cf7ead95637ffffffb751ab5919780167e305c44afe9897f54e93b7caa350d2d7faa87a7eb8a7a481e8029b29e98f51a57437ffb67a87bce30fe367fccaa44497d9ad6c37fe94634835a1df2297fef6e68064896f91d7fe2ab012724aed8897fd498ed0a65a67f327faab2bf3fc52427e97f14689225503b0ba38107798f797bc74a507f6d301edac8bfbb908051879dab6cf772c17f87ed33f2e4097d2281031747a68bd0eac17ee1a3a2da2c95d6447ff2018cb51a92fc3b800bf5cf2620eb418f8100fc714727cc4833800cb4e13bf03d35797f00dbdb36e11d0e7e8091627e3740c679c17faf722bed18ea5e207f5d6065aa4c100e067f6019f6b7abb5c395805f9108ceacde91127f6bd7b4115e468db693144d6dbc33b64d437fb8a3ef790f5f83ff7f6793084b65bfe7787f1074d3e73c0d9e057f576eed802a8bed5d800000040b01a3ec707fa877bc41565c56937f046b2b9ee283ca347f8ed67f7c400b073a80213cb4ff588292817feebae3a90f8158997fb635fa56c956f3b77ff5b8571250da6f7a7f9fec466ee4858a6d800acb972c008128197fbe57237ce76773627fc85cae57dde1a2fa7fa14eacfde6a1856d7fb8c4451e35b2b5368027ce611f5e898c6b805d7f13abf46acad77fdad9d5c0984b55747fa96fe080faf4f9687ff9a278bd4feebc578041b90c24ca050a2d7fbdd87bcafdb42b5f7ff2eb438ce7ed2d40802467172867a3dec7800de7004215e6fb8d8063402c9a37879e5d803e299e69acc0d8e08047681698a3a36ab8801a77e1aaa8135e8b7fb7dd1b7cdf7282867fa24009220dcecbbc7fb8a3ef790f5f83ff87c5f15a1df4476ac380410ae8a3708cabfa7f690f0c91fdf018097ffed4f38f91d540677ffffffe831423c0d6800948f2885b0d9f8d7f8808f8a775c5cc968048d43ad7c501361580366d9e0139ec374b800a64a8c25c3f917f8033bfd4ecfc223b657fe3508f7bfe5706ca7fdab263fcdb2161bd800b29d6a4c7f0eb0380119587de26257cf48079678f89fd8f72647ff795fa7a21d52186802e1eb7d6ea386127803f4bda06ca1510c280759a712f7780357c7f8550f536eb12adb8803a983ff040a3cb1c805929e46fac2de3307ffd51c0820305b15a7fb13e2fdd489cc7d580275a11a1f6913ff180a40e30b883fdca11803ab23660a3ddf402802042297a099f9a1c8026ecff42978ed3928041b498abe037442b7f99e8c2c5b36025557f5af6cb24b77bb4d77ff4dd223d0c5e47227f6793084b65bfe77880410ae8a3708cabfa8b5b5e0be43db82800803c74b00e4c897de580a9c748373e28872d8000000067644cb2c27fb05805053446cdd8805370c88ed247b7cb7fe524a99d0699477c8019e4f49ea5cec07c80320b5ffd496aa183803c1cdab0011a66168007b8d365fc424cf480611390952b997c118048da5d27a4eb0a537fbc127afbff73cd407ff7e29bd98661c3d380033386542f50d93380e057de2d5c5acbeb7f260458cde6cf068580ccf08079d0b234a880307fb1f5aa314d9b7fb0f58408341d6087807965a125d2797be07fc6f228704a449ea880d2526650d7aefaad7f8375707c9f8dd6f88033971ff69648e9348077ee49391c99f9d880df469018c18db76a7fec4ece616628b64d801f07bef0f4f597007f17f7ac4ab8e8214b7f99e0ee624e4c5841808ade156c8e57b6e87f1074d3e73c0d9e057f690f0c91fdf01809803c74b00e4c897de58cb1efa7544908d9b9808739ef18ae3528cd7ffffffd4c44268a177fd109142b157877ae8028f00ae15240625c7fa52ab75f8024fe337fc1635345b6f535b17fe1c8a3e3f746a89d802a6fbc6a1c2b673e7fff362a3dc8a8d7b07fdfe78d90f1f2645a80301b64679d42debe7ff086695f1f96fe468019294efea61276527ffdeb8bdec271aaa17ff7fe7f5fc8a03d057f80860b347947993a80750790bed1399556804b2c3530e5045f4c8097322203abab6e797fcd68ea28a9a5c1507fa95cfc1484bb18c57fa2e36ea2aeca7f5e7fec78be20853ef7407fbf7c1c6a7e469f657f5a141f84da5e31a1804f0e723071f9f5288092642673e8e4117d7fbc40bacfdb871ed4806af0535486ca34497f8de3cd1d84350f087fa5d355cf7ead95637f576eed802a8bed5d7ffed4f38f91d5406780a9c748373e28872d808739ef18ae3528cd8cee404c0f3a6f437e8000000401fdba01ca7fe79753e9601b972b80b41b6ebecfd708d280053c214399e7aac57fe97bd252ec9a7e417f823cb9644b4484947fe1bd71a7f8d3ea5380339be033446da3eb8005ea81783f5e0c378026c8fc190c4fc2dd804554b143ed375594800000043566f2b851800000024e18a86f497ffffffed4e5da167e8000000354b2af02bd80000002343a000a7180000001a60e5419fc7ffffffe859cd64c4980000003103ade0ff980000003a861cf244e8000000467d46e0b6c7ffffffe4e697940b07fffffffecb8c737127ffffffeaa08097cd37fffffff34928c3df77ffffffcef2e9bdf087ffffffeb0e9336da57ffffffd338172bae8800000013e32c825057ffffffb751ab59197800000040b01a3ec707ffffffe831423c0d68000000067644cb2c27ffffffd4c44268a178000000401fdba01ca82295f78bf6abfea397fcaf0294458230b4480332531c793a0665380657c440d2a03d96b7fb011dce0c99d39d77fb4f8ff79e4102cda803a4790e01cd8f5647fc742cc11a13eb80d801a5559b243d3a8a480208b7cc8207ebb1e7fed2cd5c06742ca3e7fca0d7232fab55fd87fcaf4ec995c18c4f87fdfcea33285b1588d805b0a0fbc9e2f7026805a1676fade7280547ff0e9506da00d2a2f801029c383601c15298033a4da100b4e8c12805a9d6e620ee8a8b17fcac5cba5f1a06018803bc5221a1a7a883f80323003b3e37798667fdde4e9178829eb457ffc286ebc56e6be328010bf59acbbdce2027fb1eb401ef8abc40b803c2368f12668fc54801738eec099b05fd080167e305c44afe9897fa877bc41565c5693800948f2885b0d9f8d7fb05805053446cdd87fd109142b157877ae7fe79753e9601b972b7fcaf0294458230b4486e478fb1ab1de0f38805bd1722fba5111ed7fb7c83680005cc14e7fe866fc7260e7f2d4806a8bb51ce554d89680223953463345fa477fe97b3c2748b2b5d08028335b64c4e2d9737fa62b9e9841bcf03380083d87441963dedc80493505956d71dcff7f3d4e0a39958c21c07f66201a7d4093e89e7fbe2e37eeacc5eaf97f5862efc08fd2783480a1242ed1d9263cbd7f42852b99654a473f80f7178f0f0651e5ca80d3a5d3ad908771a97fd970803c36964db17f9b33f954df8884cc807e3e3c5ff194c1367f94763efd9f69249080a749e930786079da7f9d581944899132937fa661a3024375b93480492132b6995509fe7f7eb6d23a183466cb7f54e93b7caa350d2d7f046b2b9ee283ca347f8808f8a775c5cc96805370c88ed247b7cb8028f00ae15240625c80b41b6ebecfd708d280332531c793a06653805bd1722fba5111ed900b7a2908be5f58b28025632c335204904e7fde437e0b46f4b0a87fd665e7dbbd94761e7fe46ef4ac6b78bb737fc36bbb84947df2a38042ae4602c2d76c767fc85d4a602f7c6c52801251e9ec4ec5d3967fa5a6435172935f63800c5bb459029618f5806639b2a668253f607ffbd0dfd3f37c93e4802800e999bb0b855f8040a248eb94b9f9957fd194b69e617168717faf53d9272a2c3ab27fe7e341414c8c701e806f7f423c92ef9af87fb2dd9507465123ec807985aeca26f56d1e7ffd81edf06f629eb27f8ad4f5ff51417acd7fca9556d678b7df71806626a12f4c2cee9b7fada822239f465da87fe805fd98bb437a397faa87a7eb8a7a481e7f8ed67f7c400b073a8048d43ad7c50136157fe524a99d0699477c7fa52ab75f8024fe3380053c214399e7aac580657c440d2a03d96b7fb7c83680005cc14e8025632c335204904e89a83b626d728923967f835f94d0f91c8d14802af3f269d96643af8007423de45040a8b4803888471cf167be1b8017b990a1b9676204801be8629757d0122e8021cb177fdd3a9cfe7fd2910500fb17f85180604e88341ec0bd107f9d7109d7c54646a88028e8c3b70c5edb507fd7155b89d426c751801437ff58e3cb0ced8066d3428d1d1e54b5802b1599f48517d3d37fa628d846421853c57fa139e8d8d6c3aa6a802e4379effcc2c262800be7649970647af67fd586febf39565bea7f954cb0b45ed891c57fb467cfc1de5d376c806eaa858001e8ff937fb0bdacaa28f034f27f7df422590264ef478029b29e98f51a574380213cb4ff5882928180366d9e0139ec374b8019e4f49ea5cec07c7fc1635345b6f535b17fe97bd252ec9a7e417fb011dce0c99d39d77fe866fc7260e7f2d47fde437e0b46f4b0a87f835f94d0f91c8d148a5ec2a4592f7dbf4d7fa48359a728ccaea5801ad82f26e3a7eb037fcbcb09b1afd767b18027ea178d977837707fc1016cae626d678a803400cadb0f90bf0c7fc2b94b89cfff26617f8cb1383e50e879657ffe07e8105bf0326b804f5d58eb9b67a4468046f00ef2c019e13780282c2ec9a36b0910800073afc4dd8d04268043e05aa0d069c9a8801886132074c2d1df800fbffb8503356b65806bc6259a720372ea7f9e9ef1d7fa638a2a802bcefd3d92eb5546806edc158d712c5b697f88161ac754e0c468805ef4a6326b2b6dc68008b5b40a983618468072e9999b05f991a57ffb67a87bce30fe367feebae3a90f815899800a64a8c25c3f917f80320b5ffd496aa1837fe1c8a3e3f746a89d7f823cb9644b4484947fb4f8ff79e4102cda806a8bb51ce554d8967fd665e7dbbd94761e802af3f269d96643af7fa48359a728ccaea58b45e8eaedb3d036f3801ac9b689577bb2aa7ffd7c1c360003d71b802cbc7f522c46c5af7fb1a939108da312c3803aa3b8b9a20264e68004b427a24d78d1b77fb75c160b3de57dad7fd7ca873261f8243e7ff6a6f9187f0bab1d7fe39a481bd362590a8043b8610812da86597ff98088217fa00dbd7fc20b6ae5ef2fd7a17ff78f444ba621d084800e1fdd72b8ad5c44800f0cd355d7c24a027fcea2788f051d75dc80171f7febc7c74f9d7fd6760409e243e2dc7ffd9568d9e55b8adb8043c99a8553d94527802701a948d3a57587803c8785fd74985df77fccaa44497d9ad6c37fb635fa56c956f3b78033bfd4ecfc223b65803c1cdab0011a6616802a6fbc6a1c2b673e7fe1bd71a7f8d3ea53803a4790e01cd8f56480223953463345fa477fe46ef4ac6b78bb738007423de45040a8b4801ad82f26e3a7eb03801ac9b689577bb2aa85f2d935dcb06b655a7fe20a3fca171554487fbdb0d3ce63f2424d8056124c60e81c63717fecb89b285e91ba627fc8b4ba90e9600b478036d4c443f54a060f802e6815b6346f4d34801c49c118476e43097fcde561b217a683d47fdf025c43ebbd953d7ffe203b1ad5002085800102f580d0b8e5237ff32d526a06faff177fcd7ccafe6b9646788033c7831980f466288027654ec1a4b887df7fe885f9a2fce666ef7fc71791af1d203f8980383dea9721175ee88000eb349d9411c12d7fd3b7f7832a575ffe7fe6b0922132c577f27fe94634835a1df2297ff5b8571250da6f7a7fe3508f7bfe5706ca8007b8d365fc424cf47fff362a3dc8a8d7b080339be033446da3eb7fc742cc11a13eb80d7fe97b3c2748b2b5d07fc36bbb84947df2a3803888471cf167be1b7fcbcb09b1afd767b17ffd7c1c360003d71b7fe20a3fca1715544884da95f1f0c04640a77fce6b5ee301a57fcd8013a99768c1ae1ead8023511443a2c360647fb8b53e4490632d9480243ab8b1e874b8338004548a7c7067e969801b8aa6253704c4b67fef5959ba6bd212ee7fca9aba6f60ec4349803ba3345a496b06cf7fd8112fd4cb6c36ab7fd7e4b298be0bb3257fdc45967100cd530f7fcb369d2800d96cbe8010470e26f92c040b803eee645ea8da14767fd87255ba1cbdd8eb7fc8661a9c5b3b480d7fbd061dceb682010780574347dc54cccaf5801da66d59c199a3217fef6e68064896f91d7f9fec466ee4858a6d7fdab263fcdb2161bd80611390952b997c117fdfe78d90f1f2645a8005ea81783f5e0c37801a5559b243d3a8a48028335b64c4e2d9738042ae4602c2d76c768017b990a1b96762048027ea178d97783770802cbc7f522c46c5af7fbdb0d3ce63f2424d7fce6b5ee301a57fcd87fbdfc8412802c8c77fe98ca476f1bc92677fc111f6116e005fa67fedde0e584ed504b47fc2cfbf3485db155d800c4378c870b0a8f37ff77885219dafb4b67fe78cdcfc34bacca68002ef62d80fb7d0d980370049e2c09a6b037fe7e8ffcbd32320297fb5c61917e4df434b7fc97a2c9c242b8e2d7fddcef7a6a6829efa7fdd79bc89dfbf56497fbff3fc4415e1e278801b20d49c9245deb1803658495c5ae4348f7fae8146e5f645972d7ff0c144688ec95d3b7fb5be2eddb37f4e1f7fe2ab012724aed889800acb972c00812819800b29d6a4c7f0eb038048da5d27a4eb0a5380301b64679d42debe8026c8fc190c4fc2dd80208b7cc8207ebb1e7fa62b9e9841bcf0337fc85d4a602f7c6c52801be8629757d0122e7fc1016cae626d678a7fb1a939108da312c38056124c60e81c63718013a99768c1ae1ead7fe98ca476f1bc926785e5c3658e22fc7ec98015538a82423ecfa4801d862f8c2ad325c67fe391f576c3ce9174802d4377e64398a7cc7fdf6bb91d345ee8a880324f26ea95ad55b4802d27b6aea68ea4ea7fbf594009df6ed63e7fd09283888fed74467fe07b970df96b0cc0800b4b21eab583ca0880389bec765b1653927ffcb326e0b10d12987fc9bd02617f0248688048171ebee7cc5f3c80367a7be6d992112e801702ed959ba734fa80110bf7c4485994847ff2d991cb96ecfd387fd498ed0a65a67f327fbe57237ce767736280119587de26257cf47fbc127afbff73cd407ff086695f1f96fe46804554b143ed3755947fed2cd5c06742ca3e80083d87441963dedc801251e9ec4ec5d3968021cb177fdd3a9cfe803400cadb0f90bf0c803aa3b8b9a20264e67fecb89b285e91ba628023511443a2c360647fc111f6116e005fa68015538a82423ecfa48679dfcddbbf0c2d6e⟩
def tc_cap_SB3 : TBlk :=
⟨[12, 8], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0), (0, 0, 4), (0, 1, 3), (0, 2, 2), (0, 3, 1), (0, 4, 0), (1, 0, 3), (1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 2), (2, 1, 1), (2, 2, 0), (3, 0, 1), (3, 1, 0), (4, 0, 0)], 35, 4, 72, 72,
0x99999999999999999999999999999999999,
0x80f79f22a2bf5a7951800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000803c1775a6195c9500820308a54d767d6a0d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008026990c7d5e4ceb107faacea3992048e26181a87bc209c568ca968000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f5e8389e8790a40ea822c4a77fac96b007c7fd0466a741701a40b83e22015ca8fb037098000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fec7d8e8391e14b29809037de2812251d6381070c6327a6eedd2380a5f773a66da40e6a838db09f7e310a2afa8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fb213c24d0ac853bc80746c5444bfdae68d7f5711377ff74c6bf9800bf38c8cb0c6e4ef7f747936c22b70ddd080f9b0056fc1e79792800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802bd58136960184187df9360410dc18b1bd804807522654069f6381199cceec490f9c5f7f8c7977586bba78d87fe2fad74edcdb0bda836baee9ffff10bde68000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe84aeb08dda06edf802269fe35038740557f427562bce2429a8f80480bdb49d45b1d3881d2204acfba7f02cd803b5f3a2daa1c54ad80a0a2b15e70577995841a95c85a7df4dc95800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802850ab0246b1fb267f362f6cec0dce833a7fca15906852c28b1f7fa8bc22052211810782393dfebbb51d81c17fefeb1bd48f593e477f6262723b0f1c4e3982885fd549d6e7920b82c866e19cbfd8dca0800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000801605d1f1037686a27fbb7da4eaf36b75537f5440e4d2d3365fd58031d34362b071d8a37fe39c74fa5ec9c4f37f9adee0ed5d7b318b8021799807cf5c25ba80389906fba27121648071cdeadd5a2d4c46804389b63c22b368a7800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000803722f10cbcf12e99800dcebf065a418fcb801bd04736c9f255d57da36a5e38168a6d54806d5622b5364cc3937ff25fc4d2fd10cbce7ef219b7fed7fddae37fcfb548a7510f655b806b61f09db6f83fc580005b3052523e7eac8137208cd1614cc7248000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe2c79498ffcfcf958087c37f832aabb02c7f33983f96e1ca85128000b91a03eaa625bc7e230e7309dc352f838058e88d8be350eeb77f99d7600697e2a8c881a66e9eedc0956fa67fa3c99c2b304e28b37ffcd3e261005f11258020db40bbee92df29823f0968214402ab088000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008039e5a1073a72bcfd7f174f1514f8782ee78155d41edd0527c56c801c5cd76acf7c49cc81fd517bf263c473d97f417129e44d9cb73c8139d636165ed13e7a7e50e07c7ad46209607feec05b67e44e4e08800e87c2e2960032727f9190b3ae9b0fb24a7e4d72c9900fb55c75814553b8cb5af663038000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fdf55c42c12e949108087a166836a671ba57f9c5383eefb384aa580282a81f04ab89a207fade14033edaa82ed806a47b5a45033b7f07f68be0d0748a5e1818076a2b752062859088057a2690e73bd8e817feeac5fe352ffe5a2802a2d25e5a47133a77fc46d8966b96856877f5b8241b489d770b980474b64ed18c343c580000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000a85a8c3e2f80000000544731f3bb7ffffffe29c532d84e80000002820e612ba7800000020e7ea3a88980000000b83923ffde80000000543dec5916800000020e7976fbad800000099567dbcf9e800000004706538fc680000000a85af2b4237ffffffe29c130724180000000b838af9cc88000000047069a6dd78000000141843314258000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008178bf6e21f105011480ef303230f0a6435a7f760e82341ae9b5cd7eee7cf4ad2bd12b84831ed053920b25d8168059c44c2f9293bd187fdc004bda4e30a682803b89297f5bed7f787fc764c170b6c60c437fffebe7553d546c20800dbcadfe7daf878f7fd2f1e912aba2d8948015b4d58e9168547e7ffac0eae4852025da800000000000006dd3811f5c481e44f397c48000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f99e8ac7c71f6d5c081bb714add225a54f281e1168a4537a1200d82a82efb28954170477c09c957389423196a7f584c3b1ca92ad782803407842a4eafb5268376505c84ed3b44ed800e4aa228bdf05c837ff8b1334ab57d6da17ffb5107101726095e805350d489b3e496c07fcb94c28b8115e1c680073310be3987aada8000000000000080b07f828609416464561182e509133dc1e190938000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f1785ec2b1bfcd57083800dc40de1468c5a82f8fa778b62d502aa8074c9cdd10d347b367d526e3f95caeee3318150e0e85f7163e8ca7e7c532d686bab08167ca68992079050948880abfa6d3e6b230bad80026bf4aace083cd28027d04fc28dd1a40780f2ac876b81c498067fc8ecb41e826833737ffd78b45545a7519b7fffffffffffffd8b27fec64f55461b2da4c7ffc171348b3c5201f81bc42a68d400708f98000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fb4d1f08da8f398907f63aad99186a05a947ff8bf59fb0386cf6d82432aa7e872ce9f2b82fc731b5a0ad7f5697f9a7c56ba44fd42918244fe13127517b41b7db84d3306da7a67af7ff11535bc49538aa48004b27842cdefe7b6803361a79465886d5f8180fafde04fbd54257f86d30ce1a6bbe5d37ffa81d9d721335621800000000000008a6c7fb46e89cbdbae0d3c7fe6e1631255ee4e6c7fcabe0fd1133552d182c7735ca5154f95178000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe30f9af1764bab097f5c1bd9f055ad7cd67e4791511411f7ab07825b73145cc3a6ca43834874bc43044a318480a286f8caa734fcb17f5107e599d03d346483eba06ca98697705682eed3355d59ededa67ffaff72735beabdc38028a8a72402ddddc77e1c3295c6c824469880a3025cef1d4cdca67ffc0b0632c50b19e97ffffffffffffdfec37fce50d50de819233e808f58db1f611a8846800f40cebd5a50ecc3807b4ad56499b1a4f882b7269b13840d49f5800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802b7e17a4cb790d9e7ea0e1a1eeca383e6d7f4609456618565d107f98d618e0651c4fbe813a390f1ca9874ae4805553c4f1b0011da9810432e3f9e94b95108089d99740c88b602e7fc30f7e38def3503f80f1c25b5ef8447a7d7fe11b5c56c59277b57ff7d404858d4fbdae7fdc573072b7b63338800ff96a6520860b70800000000000006b737ff95e15c3016993557fdcfdc77ad1b295147ff84243a2d90c3ba77fd88ae319e75607217fff97b51237232eda80cf445e6d96e54b7f800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000806552fafa3e92829b801d67c2b05d9f0f9c7fb9145f4fa4344a527bfb3b68cd90eb4a397f62dadaf5060ac95680844d40e66c6c37057fc193cd64d838bd9c828521e7432dd897ef7f2fb2b8dc670bfe4a7fdc21975b69c54bfd81b3dba6178823d6fc7ee36d570548329b7480a1694d2eb3931bfa7ffe3fe2b9f2e9e789800000000000006dc3807415bf3be2b81e4e7ed0cb7699919adaed803cd2a83305a368d57e7405b781b3e1e4197f6cb23552dd644a377fe55c86515cdcb86d8160390079885e7450800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000808fa30c47301b51567d4bb7a11240b2d5407fdf7260aa09a6e3747fca249056d7ff054c7e1813f7d7aaec6e5c7f99d60efeb1b0659484080c4b2cf91e3a407d99839d1be47944a78083ff284dc2018dac8000bd4ebd8f9676c27f143df4367305405882c59a31b43761dc3a817cc51f66dcc61c178001b9e76fcd37a28f7fffffffffffffd4db802e3f1f601adb40837f80f85ea3abb467c17f92e28227b8867f387ffacb2addc5077c4f80039725388178f84180028c0779815b586f7ff76e5d34e0b9fe0581d099895733ebbf658000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f8c768cfa18e81f777fd0eacbfddece267e7f30c28d6874a0b89280608ddcc1006c7c3282564e4876429fefba8008e78b61129dbf817f168b635039cccd0c82a799660a9ef6d07f7f91549ceedd47f1a0819d2f4bc26a6c300c7fafc3e8f57addc94c7ef2c04103476e542c802b4442a8a9662f4181dfc29adf656e3f9a800000000000013b8f7f8ba680e87f549e9a8018b5944d0091d9d07ff03e9eb011410b2980161d39a520922af5803f2424080b44447f8147cb69343d21aee87f92b49d05e6535df97fe9b475efe488ec1c8184bf7dd4b4fea0ed8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000476800847b480000002b250e8c064800000041a078162f87fffffee948f694f537fffffffa64649be8980000003a1b38bb4f380000002b24b44a82c7fffffffa63c7b0b0c800000207e3d3a3f8680000009f4da66ab1780000004767bd630cb800000041a01e1726880000003a1b052061980000009f4d2b223198000000c7f4a2aa1c680000001127e26cec67ffffffc3eac48064880000003adb7e240887ffffffc3ea62347927ffffff352a45ed77880000006d5d1246e7a80000001127980ee5980000003adb4f51a6180000006d5c6f4609f80000009989f5b99858000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e32dc01788e4cbf8d7c6436ac32a350b1197fabba301ba7a3638c811a3a34c6454f50bd7e0f8ee5397812dee67d3eb53be42b00cdb8817412115e6dfc5eeb7f95eda7342fe42d87815fc5b74362d0d8157f6eacb2840587422e7fbacd53e4272c52b780fd52241bd1d0466380706d98e0c4c285f27f69e044fb170994ac8000000000004481547fc646a8f7052a0be7807edd28297c64a7d97ea34aa022d8dfd61080923441f6c69f6488814c252530b2d10f1a7f8e8462692d5dc6247ff923ac54481666a38094f518d54ac15d057f8615f2c5d48a6da680000000000033713680c8908cd8461e823e80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080a1a581b6e18b9eec80f2393db8e1506f33825704038258d926f17dfd231de96d999eaa7eb962d5e311d005068391a320a7e1708a767c5e50d7fc498f39e67d585ae2860afffb337bac3de70cdd57237c7ec5f04ee6579f6a507f3f317d1d1876d0718125b68bba88bf301780ae21ddff075024ab7eca473c9a340552a280000000000028b9b17fd72776ec12f50265818dba9d656a985e2f82adb17dbbbd0b24e7817c3d1644a897a4e37e83a7a697477bc2727eff59ff9ab1724d147fa927eac015f811a680eba11d790ba925097f06f9fac011f6f13c8000000000001e6eb57f4a9e935acf409b67826df0e750ddeda5498000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007eeef82d8993880dd37f02fb3868ce13f1b37df8caa3ac47ede2348261ce70ffb0addf787b1004d4423f45dbb07e9ea2b1a3cf5e956f7f4c8d98bec605fe83830429bb1ba13d2d0e7f4386069b952057107cdffbd406da18d0b77fa8639db330d5c9457efe87fc387f760a007fef8e8674d6f352228110e7844ade5c63e38000000000000051c47f01b37dedeb0463c582c521b207977498737f4f7f3dc05ed145fd811a7ecd17f4ab6fae7ffdf3338edcccda607ec79e9a0dfca292f37f85f6126d6f06645b7f9d99e7abfea8d5aa80e6cd3ce622e24bdb80000000000000820f801e3d36c85f4a54fe805e2850f129a8bd6b81145690e3e6d5b68c8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fc0021574ede309d68298de5d276ef5dc147f744213e80071f64782f10ea939bc90814081d42d1da1078b5e357e473cf473f2c799337ddc0572616580026a7fa7ddb45709877cf885cd86513853281d4680db45fef71fd60fc07e41b3d717e19b626c7e214aa736d9d1a30a7b2e5b776e99fd8ade807a03c950ec83c116800000000000225084804b5dc764987b66f67edc618e6c0d529ad07ec848ba50b24aee087ef2d558f340faffeb82dd49d90af7b17a988091ffb7873b5fe58a800f7ecec4bb2ce43a7cf1c575116f2704e8806658744cf9c6dafc80000000000019e37580657a1557f7ff899b7d95374f5a377afdd57fe5ccdfa4fdc9421d8122fb2f5fcaee366b8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fac5aec28695c051d7f52afb1a952dc52757ee284f5b81f54382a826a4c9ddc5c1d2e7d82564d4bcc510e43828038a36ff691c586117eaff3771f20a2bfe47b4b863d76270efafc7e85d0a26ebd7dd52a8091b8118e0f7c34d27eed0cd39487e7a63d7de4e4d93768cd2bcc7ed4fcd43b3a0107437cebcbbe5ef4aead427ffffffffffffca16e7f5e7c4dcdfc947c2d819ee4b11761fc937e7fd2a906b73cba3b738310ee6ab44ff4d1657fadce6ddb4293135680afd0f92561173fa27ee771244bb29582357f68c123d3224eed1f7ed775f17517b014e27ffffffffffffdc3c17fe732399ad8bc0e2380af804af8d15a60a28027c7f0611e5282258010ccb217acc33d97811869da96939784f480000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080a77385bf31de779080c547d931b21418647e2546066b5b46b18080ec954d1f6a9565f881bb1df52ecbef40b280a1da276415ba63fc80c547d5de45e8cd8a81bb1df4fad14ab52b76329ee8bcba5d61d47eb64a6ce1b65a91fc80a773843c665b045f7e254603bd0038849780a1da2789ce4832d77eb64a72f51ea67c967d73d37a79b01798748039191a7e5118eb838011f93b84fb29c36c7fdb28d8bf1d21000e8011f93a76117dc56d81e13be8664ea5041d7f83566ba3c5e9a51a8039191a24ac4c90e47fdb28d75f09242e747f83566ed3a370ab927eb9e9bd3cd81a14207fc5373ddb786631ff80519fa9616e848d1b80393f521138ecc9f77fc5373e4fa1cc5b2480393f50876cdf4d7680a30b216194080c978000000000000000008000000000000000008000000000000000008000000000000000007e7aa36002811da2ab7e6cab3349c4ef20b87df408c5d14c8023c183191fbf8ed645620a80aec24a09d22cb85a7f4bc3dff67b5db4177f918a2e968b501b6982cb63058677cc3f0d83e02020790676b7807e84a6992d9376b3e17faff52e58fef52e207f710c684ad4c816d87fd81036083adf0aa08082094b03589f91c380c921eb9391745c527d9e98caed0dac9fe97e4d0ffe1445dd3faf7f513b82fb8a2e381d807115f8acd040ac8a7fce2e1c0a7093c5927d9e979d72f11617eb7f6a30045bf9ae70367fcd784e4ee98172da808bb0b86d9aee9657806490f5c9c8bb65d57fe72170a6b36104437ff75d345577ba52f67fb248cb1c65df727d7ff5a5148c095d5bc6802b1ccc932cc4ef0c7fcdb7851b1ba463d4807bf746bb0a89206e80000000000000000080000000000000000080000000000000000080f2e43431583bbca780d689af2a556af031811770e3ce03c4110881611bf1012a5f6d4783254f0df93c1871ed806c8d2b5cfdf2d2ac7e44b72cc2ed4c19e37e66fee4498abf71e581b9b50ed01f6148608204922a00247e9eb97e3c1faf1d63be8a337dbfa38c873ecb2fee7f316ce42918cf30577d8c6e85a3855e822880598bffc3d02613e6815b240676cce154f6821fd0d5e73fac546080595f8a9f6fdeac9c7d50e447804a3fefd37fe9d1c52c13b44b2a82e0b7f0f0eb8b262d7d52d8b9a886950bf87f425247abac813ca07c4e283c16d24918fb802cc5ffe1e81394b18008758701570489477ffc27bbacd284e4cf807ffe7e3a2aca83b27fe7dbc4e3bb1372957f7099a07a7a206c427fe99d000f0bf723b47f905febe1b1d8f98080a6d1098ff25f9ad28000000000000000008000000000000000007fb1304d52a33e065b818a7be8f25fc3cc2b81603be599f65bd1ac84f4feaeb1690c700282fa329fd41961c1e17eedb56f18e30e3f97818a7be8f327a4914982fa32aa9b1d4831c780354dcd59c6ceab02816670f9f2a51a03c77fb130507cb3e26e0b81603be9dc95a15d8c7eedb571a31cd304d98166710bd57f95cb337e3e825ea81f78a4397f13d22866c6bb7e517f0d65e52231c6d8d07ed2a135baca317ba27f0d65eb9c02c78e8f79139e15e42078810f7f21a102cf375d9ac77f13d22ead792298767ed2a1360f1e465c5a7f21a112f43817b1567be8b6002be86a5b2b7f9d9b848487f418bf80a70acb02756b72ea7ed75a81ce95c8753a7f9d9b8536ae7c13027ed75a80d071cdc27c7ed519d0c1e479f2c080372d81a4633fde9680372d7fe67160a6f480cda2cbca09d536fc80000000000000000083981ff0df3f8efe6a8500d6fe67b7cfed217e61a270f2d0b5c70681467fb5ff8cba1c6c7f62b9ee614f744954862e32575c33cea73b8500d6ff2e445d94ec7f62b9ef44262bc9447d66d5ccf423594eb27f58d78ba5d8c2d40583981ff0d2d959c8137e61a27075220b3bf2862e3256907dd4d7847f58d789cffbe30f6c7f6fc1d82bf362027280a75687428f250e64809d41d708651e226480833cec88c0bc0f5b809d41d634c5e384258081599496d6b0b531818b7ea2ffbbfa9ce880a7568711b6d3530080833cec6b7a2868d3818b7ea15862d889467e4c76f9364ed649ae7c6e91e06e01f46eb079bb864d904ffc2834809361aac58250156f7c6e91e072e001a7c8809361aae91e0a0b237c68320c50254064c87f5acbe0ed30840b547f5acbe1159f28a1327ed7c63a9d6679cd2980c18a210d421e9e8d,
0x8de482640819c73f948002b430d366a29538800230d7516492b0dd81828cffeffeea93347f3f571752baab14e78065a2ad4c69e78d01800f091955f33acefd7ecd61afcb328390477edec51e43b52a107d8002086ac121b5f92b80719897da0f82dc187fd766d767457b4bc58071eaec01bd13f5db7fe75dbc8b25e651147fffffff854c5689fb80840a41a082f6b7ad7faf7ca2f42c68c7e2805ef6baa369da13ac7eb98ae09e9e936b2b7ec3f2eb5fda3c641c8017513fdc863acd917fde37824fa40ee9f07f9a1f7831ee9a7f60802fb630647aa8ba827ffffffed71f84ea358029e175a2abbdf65c7ee88592d1366cd6f07fe1ec600b65a0d4a48080e3ab6e06430cd87ffc4468cc22cb2a3c8004ec65516099ae1c80285aa3cf898780b87fc1318da117453efe8014354be44ccb03d08048e524268fbc88188002b430d366a295388e81d9021a5be481a77fbf339b2929cdbabe80f2cc87b24dcaf3e57e77be95a7a622d2907fcd8815a7413dd4e180af8ed9ca65862a5f7f10fb9f1eae72fcc1813b09c951b4820fa2800dfd5cf8851e58c28017f36017162307ec8054f5a029fb16844f7fda1081974fb4d3468006525a8ff6524c5c800000009f11099aca7fbeba213baa478a08801b0eddb4d7fcedb3804d754e4aaf8212a77fe1b65c5fc54f93d681228e9044496467467fbff34ef4f60dec2e7fc36b4cd8f147eb9d8078f220e9d84095648057d9f56cf540c0367ffffffc2d8dd91a277fd8600c86ae90d0ae7f3078353361f90a99806fcaedb7c2f6d16080326e01ac940fa6667f8bbe19c453abe641800b439fc3c8d9ee1c801091de599e0debd68049fa1e67f9722120801dd3801fccc89fe780228cbd6eb0023e79800230d7516492b0dd7fbf339b2929cdbabe8d8a7c97058bac95ee81959e1cc6147405d47fe2f6e95bbd2d6a7d7ff32fba7f45811415804febb22d153d3e6c7f247dd933c99f0fab80740e329771ca18187ff0cc58b5f0cabe6680737aa5237bfcf197803d278cfcfde14c977f6cc3921bd051998b8003e892b041abe77280000000176aaace577fa42b5616efa44b5f7f6faa82b52fbc4169807eb3ec0898983aa080d8b646d04f79d2e57f1b858f6f5bc896057fe264d0b2f4ef18cf8077be7957c2168328808a20086a988f7cad8042e4915cc32b76cd7fffffffb4a515422780154c491b826acab77f1101a0f49dbd80ea7f973cf6301560a69e7fc925ad434018520d7f8cc3b40f9bd41cf07fcb0363cd53304fb4800018aedb2a574b928024466fb22c83117680236081e173f749cc802011891fde22157881828cffeffeea933480f2cc87b24dcaf3e581959e1cc6147405d49800d38d993478f64e7f95b08eb8dfdd5f767fa061f85c723a54d77f3a7fd58ccf6d8a567e33a5f541e4db24977eb002c5a349038dc4801c53f63da21ef6747fe461d8792949033d80868183eb3d434d238083660aa76cd1ba8e7ff4f76c23db9a23f380000000477cc607817fa6ca5ff305a0a9f57fad5a627683715655807d38acd9a8f85d6880b98d80a41dddcefe81168e507c96d9cc668004a7af3978306b527fd8ce9d2242a18ffb7f83f08545debe4a677fe12582d210cf77327fffffff01d848a46d80146a78f4c500c1787ffef072e922bd13db7fc5f7a2f44c204bb5805a9924ea212536ea7f917c76c4cb5c70f87ffdeac776c467d4347fd42d09b42ca8c858801e3128a2360209f47fb6b0db213a071cb8801dcb5dc7ff9428ac7f3f571752baab14e77e77be95a7a622d2907fe2f6e95bbd2d6a7d7f95b08eb8dfdd5f76901313be9b6905f69c802a64ea012f352fdc7fec91abf199e23c597e9c60eec4938f606d80cb6ac949dbc4a5327ffe2d8d5d53293f1d8051f5a0ee25af8ecc8009d8a2e46a2a969c7fafdf625f4e2c1a377ff2fb40c85402fcd2800000002756f6b2348057978d4b4fddc64d7f072814822eecf2d180534a65e709da84387ee004554fbd0fe286814668e7fa93b2d6b18007d8c1e5c2ec0d027f8cb23d14107b60ed80d22d16a00a75af6f7f8e70601b9032a0207fffffff60af061a3c7fb638adadf1cf68138002438351fe189b347ff96e0e6099d9084b8065b6db3f51edb522805bd11c8c7261b41e800029e2957aebf86c7fdc4eea7aee5189907fd81c3c9a9f5af2907fb933489cf8e96a548053111e1961512eb48065a2ad4c69e78d017fcd8815a7413dd4e17ff32fba7f458114157fa061f85c723a54d7802a64ea012f352fdc8be86341ae7ef0419a80f5a2bf7ee721f6ae7f7fcfd3f8441424ed7fbe3773cc4b212d8a8019cdf3fe9a4638a87f8a6c818705e3f6577ef9c51b44d7bc5379807bfff9714dba67fb80019297e48b57af7f7fffffff89dddef3d9805d81bcd305ba29237ee0dff5b001032fb1807fb854cc445d3c0d800f0d2a4f2c399a247f09831f4468b28ad57fe2ded62157fc2e297ff36ec692a23dc9f88045eaa7a9c1c08e317fe3a82261f95d1bbc7ffffffc85de652c1a803c556d0eaa6fd7b480220e519bf038bb367fc445ca2f13df9e947f8295d79d5a856fe87fb697dba7b0c32e0580186849bb135cd98080372993d79b43598e8038ca26b5f022058e7fc4f30fb43191474d8043c5dd5ecdf0e55f800f091955f33acefd80af8ed9ca65862a5f804febb22d153d3e6c7f3a7fd58ccf6d8a567fec91abf199e23c5980f5a2bf7ee721f6ae8fb2b416916d5cfc3682094babc17660e83480e339b88ae707718f7ffea4a7772d80edc2808b003a0f54642b208045a5ed790bf9c2c3805f52eed0f60067ee80021ac934cd43f4017fffffff9e05e99a378075eb9002b8fae09c80fa9a53bfd6ac3ef780977d7c2da78b924580591e67c83ef2e2b580f63e022ac91183f5800b46494500cc886e7f940f814d48e83ec680aa7396cae1884d317faf2a4a0c6eef49cb7ffffffd81b71fd10a8037db1a8048b251638072f4d7d9333ffc3c7f8dd637f566be8a357fc9458611f755974f7f8304354702317b7a801b7a66253384ab527fe08ff1c8a6bbd75e7fead1943b4dfdc5b67ffdc8ad3a923a3d1680112d2d16ba102ea47ecd61afcb328390477f10fb9f1eae72fcc17f247dd933c99f0fab7e33a5f541e4db24977e9c60eec4938f606d7f7fcfd3f8441424ed82094babc17660e8349750a353a88fe40ec58159e4f48721b7da61800c7de34049c8cdb1806d7bf9449b207c017f6d0168a296a709777f8745fae72dd69e8180039234818a70e0287fffffff71a530fb2a7fd29bcaef0105f4f1811e95ef8f71ab28b47f387a30d2d24869d37ed4fb7cbe0eb863f87f607c0ef81e42ce217fb1bfb3d4684736657fc60d78e87ce87b25809092fe6eb20042377ffbb725004bbe7cc5800000011c41bc532e800d5f0b94f94c25c780ccbecb7c516cded17fa0d7bae438dfff0e7fbcd0a074296e541b7fafca5a73302e43c07fbf25ccee09c81fe18031b3d6f1a645b5d67ff3100eff93787d3680650c7946ebbecb567ff5b7b02a435a14967edec51e43b52a107d813b09c951b4820fa280740e329771ca18187eb002c5a349038dc480cb6ac949dbc4a5327fbe3773cc4b212d8a80e339b88ae707718f8159e4f48721b7da618f900fa67e6cd72c36801481f10a367472b3806ed58326a98c0c8480c8befe23e98973348014009e8b9806e41e8021b148d24c70d72a7fffffffbe385725528077c152fbbbd9f9e97f9c798cd32e7e72618095f86c5175da52a88079530c97f4d664877fde74e12caa37d43c7fa619a3337e108125800bcdf6fe0c1354c58044f02509c3627b3f804980a001e8835ba680000002e8a09f786c7fa166b242fe1725127ee0e54f9afb43a706800f15d080b06a45d47fdeef8ab6dc2f0a4c7fce19507515938838801cfe60e6e18538b2802e9c24d6953dc884803ae9090723e4b6207fffb02734c0166bec800fd6c06e0832424a8002086ac121b5f92b800dfd5cf8851e58c27ff0cc58b5f0cabe66801c53f63da21ef6747ffe2d8d5d53293f1d8019cdf3fe9a4638a87ffea4a7772d80edc2800c7de34049c8cdb1801481f10a367472b3884df07a1ba3a4464a7f98c185747e0ceab8809a67443bf7de79868082e0296e9a8da7bb7ff542b43287ee787e7fffffff8813a12878808e9866618345f5df811a7e7af79fc6e1be80620cc1bdc58b6a8a800bf3ad25c5497121807a053fe3007c108a7fb9a94f2cb7a7518480ae3a586b51e12538805c336446ca3eef807f93c784ab82d633267ffffffbe7a43a7343805a02600a6fe62a4b8017f4e4f36817a3c68043169d151002006a7fccca9ccaa71e474f7ffcc99f9af72527e1802b585922b934be687fe323a232dd3a33327fafe0e6e097c8d97c7fed7835b48ba6e8777fd965940a07baa43d80719897da0f82dc188017f36017162307ec80737aa5237bfcf1977fe461d8792949033d8051f5a0ee25af8ecc7f8a6c818705e3f657808b003a0f54642b20806d7bf9449b207c01806ed58326a98c0c847f98c185747e0ceab88ab2327948fa60da557fd0417656bf2accee8053671ecb87b4b0878018bb8fad2cce2c4c800000000fba6a792c7ffe34ec75ad73039b802f5f2d136fa6670c7f44358041c0d99fd67f3cb40cc1b61f3ed67f8baf5160397ee7c8805d48678585601eb880561afde0a968c2fc7fde034d6643d59365809e8e92ab257fdd218000000007884d2ffa800c1eb704a41d1b5381257e6636e6de4e568066e3605264eafa357fe04480e530b1a8787fdf73c20f33addc677fb23560f6f951a01580357f5ea1fdd9dfaa7fd76cf6c7d69ba0fc7fe1ebc454a370b54f80255964747283e7597fd766d767457b4bc58054f5a029fb16844f803d278cfcfde14c9780868183eb3d434d238009d8a2e46a2a969c7ef9c51b44d7bc53798045a5ed790bf9c2c37f6d0168a296a7097780c8befe23e9897334809a67443bf7de79867fd0417656bf2accee8cb99b7fad5d6fd763800752932ac71426637fe1b2eab57c2e6b29800000004ddb5c76b6800f557409b4cfdc657f48dcce5edcadb85c7fde35c04d1dbd8ffe815867462b91b1686381342ae4bb90d77fb97fb2fbb8edb323b4ae7f6ac4ba979f873bbf7fe6f6d68606b964767fb45b5774c187b4187ffffffca7e5c3ec457fd44504db2b9b51fa7f37160a473ff9cf707f854dab7b318de02f80164fb00935842b6c80731d4e02722132248014c6ce84e63cb5db8021ecb322f2dbacc4803990b61bb9a193547fd69fc35a914cc91280365fd33b8222a6fc8071eaec01bd13f5db7fda1081974fb4d3467f6cc3921bd051998b8083660aa76cd1ba8e7fafdf625f4e2c1a37807bfff9714dba67fb805f52eed0f60067ee7f8745fae72dd69e818014009e8b9806e41e8082e0296e9a8da7bb8053671ecb87b4b087800752932ac71426638cb30a88d639d94e7c8013403a83dbba5ab0800000002cb2a7fbe2802a997a1c1a35eb5b80a8a59414cae9a7557fb222648f257b1475806dc04ff7c8e914f07ebe51bbb91ae5ba0c7fec398bd27aa7942980599fe832af3a8e9c80d5bfc2389c72039e7fa7ee148a0a4b90017ffffffe55c63fa13f803d7756fb3febd153800a7e048ea4cd3e13807485e8d601ca21247fa660e8878826dcd0801b7c9ff037d8832a7fdc103634b582527d802b4c8c8b2900abd68043d61460db2ee72a7fbda9c455e33e712c801b03195494de9f267fe75dbc8b25e651148006525a8ff6524c5c8003e892b041abe7727ff4f76c23db9a23f37ff2fb40c85402fcd280019297e48b57af7f80021ac934cd43f40180039234818a70e0288021b148d24c70d72a7ff542b43287ee787e8018bb8fad2cce2c4c7fe1b2eab57c2e6b298013403a83dbba5ab088148e044e87595ca5800000003f59f81d237fd67936abb31901627fff10147932f3ee477fe1d5829e1b4088dc7f2b86b24e8103e0e87edcfa60ed6445b89c7ffd227062e39320bf8019ef5779452df60d8092a49d95653595547f6f964660e0d0639f7ffffffd396b4fcbf07fb1ef2b2e750bdfc27ed7068cc9512f85c77ff1821cba0fe23433807779012e10c5731e7f87f40e7f79393e1e7fda356065f78a8b6e7fcb9ad58157b38dc88011ce5a825bdad39e802fbe461e0c8aa9fa7fb5cdd37761f41f687fffffff854c5689fb800000009f11099aca80000000176aaace5780000000477cc60781800000002756f6b2347fffffff89dddef3d97fffffff9e05e99a377fffffff71a530fb2a7fffffffbe385725527fffffff8813a12878800000000fba6a792c800000004ddb5c76b6800000002cb2a7fbe2800000003f59f81d2385df56dfe3b0a66c498026da2ff2063384fe7ea93b96c97c45efad801ae792d9db7705d57fdb0c4bb9e8b6b68c8116f9edc7d50631a9803098d82b1628351e7f6ed6196d593eaa827fbce00f2e3b0c05be8021d50de26c1620ed8000000137e5e311947fa826502bf47a7bf27fb842023cb074d76b80839e983ba87fead67fed1b9928c95a41e2802b3bdc01740fdea2803702f7241d208dc27fd69d7ec4d01fe5267ff12b5ff04318eea27ff5a1ee9209085a7a80093c9a47bb5b3a8280840a41a082f6b7ad7fbeba213baa478a087fa42b5616efa44b5f7fa6ca5ff305a0a9f58057978d4b4fddc64d805d81bcd305ba29238075eb9002b8fae09c7fd29bcaef0105f4f18077c152fbbbd9f9e9808e9866618345f5df7ffe34ec75ad73039b800f557409b4cfdc65802a997a1c1a35eb5b7fd67936abb31901628026da2ff2063384fe8be6e1f8e025a8abce80dce3d49863c72ae47f304e79a62332312b806dfa1beb624e304880cd6c0d64e4c2027b800c1b3f70f0d864757f7c8d58759953061a7fd2082208ce8d9d388089ba4483eb0229268000000201277d722180032e533e30c1c6c77ee92d8654f3318f258021d7cd73407730397fde8deb7ba3c4a1d17f938499258127d09c7febb97f455cd8c2877fe24e9b3bb97eb01c801b381aaf6ffeda848021bfd59bd91d87948059d350e198df450e7faf7ca2f42c68c7e2801b0eddb4d7fcedb37f6faa82b52fbc41697fad5a6276837156557f072814822eecf2d17ee0dff5b001032fb180fa9a53bfd6ac3ef7811e95ef8f71ab28b47f9c798cd32e7e7261811a7e7af79fc6e1be802f5f2d136fa6670c7f48dcce5edcadb85c80a8a59414cae9a7557fff10147932f3ee477ea93b96c97c45efad80dce3d49863c72ae491e2d80bbcc15937b87ffc32c8048b151f1980a3cd80a0a793d3017fdeebe93cfe68ed8a805f067bd40e58a2e080101a360e0bbcdbd57f31fdd170e315783b80975d977d3719aa147ffffffff4c3d350558029fc0880e0e734c08055de7869c71df8de7fe8a0767c5f50d095800afa497d568ce3c6801a3e5daf3a607196800c698169c06f02547fc70b2c8726945b2a8030d2fed58f991522805fdb2fd8a758b6847fd2b5fadd87b0ee88805ef6baa369da13ac804d754e4aaf8212a7807eb3ec0898983aa0807d38acd9a8f85d6880534a65e709da8438807fb854cc445d3c0d80977d7c2da78b92457f387a30d2d24869d38095f86c5175da52a880620cc1bdc58b6a8a7f44358041c0d99fd67fde35c04d1dbd8ffe7fb222648f257b14757fe1d5829e1b4088dc801ae792d9db7705d57f304e79a62332312b7ffc32c8048b151f198ff5226d74281c2a917ec04c3713cea43a8b8116c3e78357d3d8ee7fabff70a832bb2f167fbcbe177f37ecc13380b3bf42f7574c1aa37f3f78e2e23cd8ee2380000001f3d9fd8068803b297f8aa83b619d80209752caa599cd0a7f9a1c4ded5cb451177fb8e395278b1e311b7fd62c3cc0e0deb98b7fd45f410341c082e07ff8f3ba2e4a5a321c80273d9b6b993939607f9c3d5403bb80095f8042eee32d73684a0d7eb98ae09e9e936b2b7fe1b65c5fc54f93d680d8b646d04f79d2e580b98d80a41dddcefe7ee004554fbd0fe286800f0d2a4f2c399a2480591e67c83ef2e2b57ed4fb7cbe0eb863f88079530c97f4d66487800bf3ad25c54971217f3cb40cc1b61f3ed6815867462b91b16863806dc04ff7c8e914f07f2b86b24e8103e0e87fdb0c4bb9e8b6b68c806dfa1beb624e304880a3cd80a0a793d3017ec04c3713cea43a8b91f1bb9fff112ebdec805ab9890077c684567fc467fe6cea34e5d57f70852965190d70117fc92c16d127330d407fb4daea45f3d7eec480000004bc4ba873217fb82950a604bf7368800d67f9c94b1e945a8087f5303bf6eb6cc27fef76a5e5a27e1be77ff31db86e310cf251803e1a095082788287800b1b62df42f828f08002052ed0e0ec4a4880169e46374ad5bb417fe3390ea699f3a43d7ec3f2eb5fda3c641c81228e9044496467467f1b858f6f5bc8960581168e507c96d9cc66814668e7fa93b2d6b17f09831f4468b28ad580f63e022ac91183f57f607c0ef81e42ce217fde74e12caa37d43c807a053fe3007c108a7f8baf5160397ee7c881342ae4bb90d77fb97ebe51bbb91ae5ba0c7edcfa60ed6445b89c8116f9edc7d50631a980cd6c0d64e4c2027b7fdeebe93cfe68ed8a8116c3e78357d3d8ee805ab9890077c6845697b350db0da03e637f80159300545ca683838049d2f813174e70b27f7f64f137daa8e648807198356e4e197ce5800000037ef40ab82b7fff813742434b634e7f3c567d3eed98b7558051e6dfa99cfcb9d47fd8e6382dd72a58ea7fc77102fdbc249f937fd2c9f8bc76e1c3d3802f97abe2a80802ec80368547fa9b60de7a7fac8244bb457ad1438010f913810420bf6b8017513fdc863acd917fbff34ef4f60dec2e7fe264d0b2f4ef18cf8004a7af3978306b528007d8c1e5c2ec0d027fe2ded62157fc2e29800b46494500cc886e7fb1bfb3d4684736657fa619a3337e1081257fb9a94f2cb7a75184805d48678585601eb87fb2fbb8edb323b4ae7fec398bd27aa794297ffd227062e39320bf803098d82b1628351e800c1b3f70f0d86475805f067bd40e58a2e07fabff70a832bb2f167fc467fe6cea34e5d580159300545ca6838386920160655cbcd8677f6950ae69f92faeac80782aaad4e706aff98054d08bb4a86e52157ffffffed6d4bb2b027ff3b8ad33646cced97fc0c02ec3b5a75e848064c09687d814a1e18013b9abfc95ef97e780065d1d14195ae4c68018766cc2f6aa97247fcc16a787de0a0722800ceeee6646e4fefc7fc7829a2a529870e880102e334c333fc2067fde37824fa40ee9f07fc36b4cd8f147eb9d8077be7957c21683287fd8ce9d2242a18ffb7f8cb23d14107b60ed7ff36ec692a23dc9f87f940f814d48e83ec67fc60d78e87ce87b25800bcdf6fe0c1354c580ae3a586b51e1253880561afde0a968c2fc7f6ac4ba979f873bbf80599fe832af3a8e9c8019ef5779452df60d7f6ed6196d593eaa827f7c8d58759953061a80101a360e0bbcdbd57fbcbe177f37ecc1337f70852965190d70118049d2f813174e70b27f6950ae69f92faeac8b964a92063f45aef280b3bae6f59a6835c4807d03929b4627e94180000003b9f928142b80373d2c21e4103c37803314c3991d8ff119802f8182cb4e27c77f7faadb902e59570f6b804026abd3f7bf1d087fc710883846c40482802704c6285fcf918c7fc832ccfd37568c3c80254485f7c08bfa6a7fd873f7eaf45bd2f27f9a1f7831ee9a7f608078f220e9d8409564808a20086a988f7cad7f83f08545debe4a6780d22d16a00a75af6f8045eaa7a9c1c08e3180aa7396cae1884d31809092fe6eb20042378044f02509c3627b3f805c336446ca3eef807fde034d6643d593657fe6f6d68606b9647680d5bfc2389c72039e8092a49d95653595547fbce00f2e3b0c05be7fd2082208ce8d9d387f31fdd170e315783b80b3bf42f7574c1aa37fc92c16d127330d407f7f64f137daa8e64880782aaad4e706aff980b3bae6f59a6835c48eee3ba7115b11148e7fc56dcabe1359db797ffffffe4e7631e62d7fe24761e16b04ed707f6ff022250866c2877faf6fb33e2ebb72527fdaed5beb4d621b6b8080c3492084e9ab378046cce2d4bfdfb8a6803154e07acb1d93287fbc6564d5ff9061a480533d7c5f52b9d91b8025ff2ce7fd006d9b802fb630647aa8ba828057d9f56cf540c0368042e4915cc32b76cd7fe12582d210cf77327f8e70601b9032a0207fe3a82261f95d1bbc7faf2a4a0c6eef49cb7ffbb725004bbe7cc5804980a001e8835ba67f93c784ab82d63326809e8e92ab257fdd217fb45b5774c187b4187fa7ee148a0a4b90017f6f964660e0d0639f8021d50de26c1620ed8089ba4483eb02292680975d977d3719aa147f3f78e2e23cd8ee237fb4daea45f3d7eec4807198356e4e197ce58054d08bb4a86e5215807d03929b4627e9417fc56dcabe1359db798b6c80fd2d6aebb3cb7ffffffe95ce66f5647fa1880c8abb14f1e27f8b16f35687cf916e804f1dbb68861beb35800346b1b2b944423d804f0edb5b989b756a8031f2ab68bbcea5ec8015267087606adba4801edcf906b5c5d8887fa241df8b3ca8778e802831ce479ccd23c87ffffffed71f84ea357ffffffc2d8dd91a277fffffffb4a51542277fffffff01d848a46d7fffffff60af061a3c7ffffffc85de652c1a7ffffffd81b71fd10a800000011c41bc532e80000002e8a09f786c7ffffffbe7a43a73438000000007884d2ffa7ffffffca7e5c3ec457ffffffe55c63fa13f7ffffffd396b4fcbf08000000137e5e311948000000201277d72217ffffffff4c3d3505580000001f3d9fd806880000004bc4ba87321800000037ef40ab82b7ffffffed6d4bb2b0280000003b9f928142b7ffffffe4e7631e62d7ffffffe95ce66f564829a73704050bbb20880273431c12c714c80810f166bd424c08d367fc294fbabb30fa07d7fcff8cd6f807501958003841c5dd2db852c7fc8927d7622cff9a87fe493afe7edb2b0687fd30c50380d3bc64e802bffb6aa0e0ef1707fb89af9d6620044188029e175a2abbdf65c7fd8600c86ae90d0ae80154c491b826acab780146a78f4c500c1787fb638adadf1cf6813803c556d0eaa6fd7b48037db1a8048b25163800d5f0b94f94c25c77fa166b242fe172512805a02600a6fe62a4b800c1eb704a41d1b537fd44504db2b9b51fa803d7756fb3febd1537fb1ef2b2e750bdfc27fa826502bf47a7bf280032e533e30c1c6c78029fc0880e0e734c0803b297f8aa83b619d7fb82950a604bf73687fff813742434b634e7ff3b8ad33646cced980373d2c21e4103c377fe24761e16b04ed707fa1880c8abb14f1e280273431c12c714c8089c47410dcdf5324e97f0846a17587d47c60802a7d2ad01ef7f020804bcde5234351543d80592d1aac3a15fd9a7ff4e54ee4a311288b7fd432294e0448335c7fd1d0d392d12f86ac8015352c5c392558607fa02306b9182934327ee88592d1366cd6f07f3078353361f90a997f1101a0f49dbd80ea7ffef072e922bd13db8002438351fe189b3480220e519bf038bb368072f4d7d9333ffc3c80ccbecb7c516cded17ee0e54f9afb43a7068017f4e4f36817a3c681257e6636e6de4e567f37160a473ff9cf70800a7e048ea4cd3e137ed7068cc9512f85c77fb842023cb074d76b7ee92d8654f3318f258055de7869c71df8de80209752caa599cd0a800d67f9c94b1e945a7f3c567d3eed98b7557fc0c02ec3b5a75e84803314c3991d8ff1197f6ff022250866c2877f8b16f35687cf916e810f166bd424c08d367f0846a17587d47c6098933a9d4cb6eb767d805c947cd3a1871ece7fcc56546633ce02508031786b7e76d858987ff219ae482a91e96d801ed5fa1266cdc4f680209129acd0f674cc802ea01a4375eb7a12802c2acaeb06c76dc87fe1ec600b65a0d4a4806fcaedb7c2f6d1607f973cf6301560a69e7fc5f7a2f44c204bb57ff96e0e6099d9084b7fc445ca2f13df9e947f8dd637f566be8a357fa0d7bae438dfff0e800f15d080b06a45d48043169d151002006a8066e3605264eafa357f854dab7b318de02f807485e8d601ca21247ff1821cba0fe2343380839e983ba87fead68021d7cd73407730397fe8a0767c5f50d0957f9a1c4ded5cb451178087f5303bf6eb6cc28051e6dfa99cfcb9d48064c09687d814a1e1802f8182cb4e27c77f7faf6fb33e2ebb7252804f1dbb68861beb357fc294fbabb30fa07d802a7d2ad01ef7f020805c947cd3a1871ece899811009e585636957fcf4eb0b9448fecaa7fc34f0e16937f70bf7ff30f036fb72058ed801d60d2ebf95e17da804030efcdff8a18b08029f75639ef5e66cf800f8a3ce57fe5ef798080e3ab6e06430cd880326e01ac940fa6667fc925ad434018520d805a9924ea212536ea8065b6db3f51edb5227f8295d79d5a856fe87fc9458611f755974f7fbcd0a074296e541b7fdeef8ab6dc2f0a4c7fccca9ccaa71e474f7fe04480e530b1a87880164fb00935842b6c7fa660e8878826dcd0807779012e10c5731e7fed1b9928c95a41e27fde8deb7ba3c4a1d1800afa497d568ce3c67fb8e395278b1e311b7fef76a5e5a27e1be77fd8e6382dd72a58ea8013b9abfc95ef97e77faadb902e59570f6b7fdaed5beb4d621b6b800346b1b2b944423d7fcff8cd6f80750195804bcde5234351543d7fcc56546633ce02507fcf4eb0b9448fecaa880e4dae0266f5cf178039d00d798d0bb55c7fd4938b1007225a3a8004a889cd3bc7926a8006f106c0a1c54c86805163537d545401907fa93b13e5190d7d967ffc4468cc22cb2a3c7f8bbe19c453abe6417f8cc3b40f9bd41cf07f917c76c4cb5c70f8805bd11c8c7261b41e7fb697dba7b0c32e057f8304354702317b7a7fafca5a73302e43c07fce195075159388387ffcc99f9af72527e17fdf73c20f33addc6780731d4e0272213224801b7c9ff037d8832a7f87f40e7f79393e1e802b3bdc01740fdea27f938499258127d09c801a3e5daf3a6071967fd62c3cc0e0deb98b7ff31db86e310cf2517fc77102fdbc249f9380065d1d14195ae4c6804026abd3f7bf1d088080c3492084e9ab37804f0edb5b989b756a8003841c5dd2db852c80592d1aac3a15fd9a8031786b7e76d858987fc34f0e16937f70bf8039d00d798d0bb55c8b37b9fb7afd4d62a78038dda45aa587787c800d800b9e218f5b5e8050ec982a5f8932a67f9ebc4f614845aba57fc76a8793106b04e18004ec65516099ae1c800b439fc3c8d9ee1c7fcb0363cd53304fb47ffdeac776c467d434800029e2957aebf86c80186849bb135cd980801b7a66253384ab527fbf25ccee09c81fe1801cfe60e6e18538b2802b585922b934be687fb23560f6f951a0158014c6ce84e63cb5db7fdc103634b582527d7fda356065f78a8b6e803702f7241d208dc27febb97f455cd8c287800c698169c06f02547fd45f410341c082e0803e1a0950827882877fd2c9f8bc76e1c3d38018766cc2f6aa97247fc710883846c404828046cce2d4bfdfb8a68031f2ab68bbcea5ec7fc8927d7622cff9a87ff4e54ee4a311288b7ff219ae482a91e96d7ff30f036fb72058ed7fd4938b1007225a3a8038dda45aa587787c86608fd60c46d489fd7fd9ac7f809c4dcc82802244c1dd870fdc12804b988d150114bd82804c7ef95bbbcce37a80285aa3cf898780b8801091de599e0debd6800018aedb2a574b927fd42d09b42ca8c8587fdc4eea7aee51899080372993d79b43598e7fe08ff1c8a6bbd75e8031b3d6f1a645b5d6802e9c24d6953dc8847fe323a232dd3a333280357f5ea1fdd9dfaa8021ecb322f2dbacc4802b4c8c8b2900abd67fcb9ad58157b38dc87fd69d7ec4d01fe5267fe24e9b3bb97eb01c7fc70b2c8726945b2a7ff8f3ba2e4a5a321c800b1b62df42f828f0802f97abe2a80802ec7fcc16a787de0a0722802704c6285fcf918c803154e07acb1d93288015267087606adba47fe493afe7edb2b0687fd432294e0448335c801ed5fa1266cdc4f6801d60d2ebf95e17da8004a889cd3bc7926a800d800b9e218f5b5e7fd9ac7f809c4dcc8284dc7f5931b688e68a7fc5eca07dd0f1ca247ffee3fb11806246767fdcc62acf78efccbe7fc1318da117453efe8049fa1e67f97221208024466fb22c831176801e3128a2360209f47fd81c3c9a9f5af2908038ca26b5f022058e7fead1943b4dfdc5b67ff3100eff93787d36803ae9090723e4b6207fafe0e6e097c8d97c7fd76cf6c7d69ba0fc803990b61bb9a193548043d61460db2ee72a8011ce5a825bdad39e7ff12b5ff04318eea2801b381aaf6ffeda848030d2fed58f99152280273d9b6b993939608002052ed0e0ec4a4880368547fa9b60de7a800ceeee6646e4fefc7fc832ccfd37568c3c7fbc6564d5ff9061a4801edcf906b5c5d8887fd30c50380d3bc64e7fd1d0d392d12f86ac80209129acd0f674cc804030efcdff8a18b08006f106c0a1c54c868050ec982a5f8932a6802244c1dd870fdc127fc5eca07dd0f1ca248689510a27def0983c805ca0e153fc8707ac8054a282440b191c168014354be44ccb03d0801dd3801fccc89fe780236081e173f749cc7fb6b0db213a071cb87fb933489cf8e96a547fc4f30fb43191474d7ffdc8ad3a923a3d1680650c7946ebbecb567fffb02734c0166bec7fed7835b48ba6e8777fe1ebc454a370b54f7fd69fc35a914cc9127fbda9c455e33e712c802fbe461e0c8aa9fa7ff5a1ee9209085a7a8021bfd59bd91d8794805fdb2fd8a758b6847f9c3d5403bb80095f80169e46374ad5bb417fac8244bb457ad1437fc7829a2a529870e880254485f7c08bfa6a80533d7c5f52b9d91b7fa241df8b3ca8778e802bffb6aa0e0ef1708015352c5c39255860802ea01a4375eb7a128029f75639ef5e66cf805163537d545401907f9ebc4f614845aba5804b988d150114bd827ffee3fb1180624676805ca0e153fc8707ac873772b23c42d898e380280de67e13b258818048e524268fbc881880228cbd6eb0023e79802011891fde221578801dcb5dc7ff9428ac8053111e1961512eb48043c5dd5ecdf0e55f80112d2d16ba102ea47ff5b7b02a435a1496800fd6c06e0832424a7fd965940a07baa43d80255964747283e75980365fd33b8222a6fc801b03195494de9f267fb5cdd37761f41f6880093c9a47bb5b3a828059d350e198df450e7fd2b5fadd87b0ee888042eee32d73684a0d7fe3390ea699f3a43d8010f913810420bf6b80102e334c333fc2067fd873f7eaf45bd2f28025ff2ce7fd006d9b802831ce479ccd23c87fb89af9d6620044187fa02306b918293432802c2acaeb06c76dc8800f8a3ce57fe5ef797fa93b13e5190d7d967fc76a8793106b04e1804c7ef95bbbcce37a7fdcc62acf78efccbe8054a282440b191c1680280de67e13b2588187c88a933569dd9aa3⟩
def tc_cap_SB4 : TBlk :=
⟨[3], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0)], 20, 4, 72, 68,
0x99999999999999999999,
0x80a0cda642b5b194608000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008028de4970106972d38174e6b976408bdbfd80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080304a293bfff90c347f57a50a5014ead5d980a9990f1bfeb629918000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fd3d4187d9fcc7dd580627be74bad5715017ffa0321b218df9c848186e76bbc8ddecf038000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fa4395415f153c53780bb13202deb71d14080188e4c217ccdcdef8130120fed36457ab6816eaabd5001d7bd268000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fd253cba5cf6cfdd18085df330c4992add27fb61d1db08157f2368035e637248baa60ac80317cf537c1d52d598036fee2b16f909bc3800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000804e8f6c9c7e1c48b67ea5bad73b6427ab2a8043fbc15587c2d4947f84b30bab81eeda587f0893eb737344b4947ff38465ba83f670cb80da65fb0aa91ab6f4800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000801558a2750373c2ab80b796811c89468ec77f871e84fc15e945907f1610b4862874fc30801a7a30dc5ed876b2801399899a9bca9fee800f92bac539997e8a80d1aa26b616b4cb958000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe857dc1b231771d67f9c2cf28ed15a1d1e807898c1d0596ea5528112c16a7ef2dc17508048d52d3786865c177fe90f49ce425416727fd86bfd8cd71233937f62e6ff444b5cb135803ff57eb6738d5e458000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fffffff5d34ee53b88000000181635646be80000000a8ba171d648000000181708c74a680000003fbd125524f800000001396295b647fffffff5d2d95304180000000a8bf01ab9380000000139428e2dc80000000ea6382147480000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080c50c69839241c4777f162837113a0f50ed803c31e5334473c6718025d65cd8b30be55d80a79ba1ab62954bf68000caf82860f216b78021cfa523ab8991dd7fd212e72c0c4e1e27800303eac8fe1277fa7fffffffffffff653c806f416de50445283c8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f3b757ef3b62def66826e5bdcbcbe8f0b02806170143b7d63b40b8219750196a76d51ac8075619153bd75e7717ff4eb856821cea09c7f6e78bedc2f236c6d808299ef67f991c8bb7ff439b88fe0f8b4487ffffffffffffe84347fdd3b604e6bc476a480ef6fb37cebd6b2688000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f7abcf735af97896b81a250a560040a88c2800c0b06ef082a780b7ff4e3207fd50a51797fcbd7f8e7fc494b0b80509f16cbb9caa5a57fcc8e86e0e72fe6e3800848f2944d8335f4800541c705c36c1d96800000000000000aad7fdc0d3e526f4c25e9801f671ae9ba0e29398046d450443444ccd3800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800d78db51e4ba88cf80094de47ca37b5e957fa7c5d2eb97cefa577e705e61c7f25844c580622bec39bad7bd4e80123edf7ec46ee97280e812b5d29eed7dae802d20131d8bbb10d88003d8e32cebd038d67fffffffffffffe4587fe5ca90815bc5a1b97fc823a6ae4286bbe7800ae557c0a3a509c28077bb6498e8a5c8928000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f13bbee52d7d83eda820f0ac197e294caf18019ef0a54facb10ce829ae361c5a426d3e17f809061f62de459fb808e803fa9321e60797ef2f120810a177d0980152c9fabb7f3467d80a489823beeb950c98000000000000015df7fe337ae6b7b04a196804e721cbcae83e658807261b38e5d645ce57fd2a12a1d2f0e1f8d8086fa014140601b668000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000279f51751ce7ffffffe501866368780000001bfbbd739017ffffffe5018d46173800000090a705e3e5c800000008a74fe2d818000000279f590ecc980000001bfbc6c91c2800000008a750f5cda80000003469c13d25080000001e4682f4826800000016e77cdc68080000000490271380080000001e46847bd7d8000000049033d87398000000323a9af5b158000000000000000008000000000000000008000000000000000008000000000000000007cffeff8ea436b78e57982f2ee32ea5f3a207fc2d8d62176abf73f7cadf29436b55371197eda39ef9d501bf92e7cecbdd65ab8b3b3017fe405edc4be61cf8e7fe12159a49179332c803c21069d00624fff8000000000000187c37f5eafef67ec092e477f3e803f2137cc244d7e8a0d2b31d636bb297feccdca60677a9092802ea40b07ed90f076800000000000017bf880d48b59238e805fe6800000000000000000800000000000000000800000000000000000806696ad0e8d3a11037dbceb20633145d3c07feb1cc8ec6d482c9679fbec4e0b8404a52b7f0814757f67e70eb780c33d4a82782f93837cf99f2182170b00167fc73a6b21665922c67cd71ffdf9ac99847a800000000000014a9c8008089ebada729f407f5cb4060cd4f6928c806f144f78adfd79907f5fa1d359d2c764457e7cb35dd6018d80f88000000000000140aa7fdbc1d542d5f800b480d79cbb821325ce4f8000000000000000008000000000000000007f383f601dda0aa828898476b1fdde4b89677f3a3cb6ede72cf6c1898476b25762adfb3d6fa691041b9c0a04877f7002aa0b696747167f383f620a512291af7f3a3cb7f117dbf0e77f7002abb5443607aa7ad35f7866114f5d0e7f47edd6602f0e3524856e7fe167eb5bd5307fe59974593bc0a5117f47edd6daa55f12967fe599753e8f5a3f207d69afbc3308a8c71a7fd2836ccf170abcd27fd2836c57953296b6814b2821e67bacd1b68000000000000000007ed54a253d6bc852847cd5d47226469c95787e0734552d675f99497cd5d4744e5e064d8388b53c224a93e28d9a8211143e87c60a72cd7ed54a2514ee23387b7e0734540f9a3bb3cf8211143ec7ecfdf9d4815dd4250f6651b48b7df3203b66cb559f22764132e5a2ad064d9e809ff1ba77cedb465b7df3203b3dd5d03d38809ff1ba83bcd8cb0f7dd72a7691dfe7dc8b7f99c520d4012a6d5e7f99c520d316d1a2917e3cab28c13ccb11d180b5efe6fd74d07197,
0xb9ee7edf2423649e87617165c5485a4e0d7e4b0ea736c02b8dd887b3e27c635f515481348e5568c56601f8137f24b3f5a03a358125bcbc68a3869047e93a64b2ba83068c809f5d545dc9a85d18000000017be27d527ecdb7147dfee3ec9807ef38e2344dbac37fba2a2538b4d963a809f5f824ddb60b5f7ef22d166fc7a0af47ffffff2aa2a26b34856a218a5d2f51828814a27814fb3106477c2b1c10e7b429d8e8423a006be518547e7617165c5485a4e0db94410bee744e022781089375f6ebacdc986570e7b268afcff07fb59bd9008e55b3881248be8fdc000f1d859647a5489c8e35083d322aff286070087edf5cfabbd00da2d8000000504c7b585782f2d491e7eddd89d84451d727a97b93018152a0bbf5c88c8dc801fd1e13b322897682106f36591e3c93d7fffffed4c26fee9d802e5028b98a8a11a82ce1bf940615004e813218dbb2b48e3b67ccf7a33861a214247e4b0ea736c02b8dd81089375f6ebacdc9bc1a3b8e3d5c864da8a3a11c79b13cb5817d25d3f1a9f70fe177fd178d0b009b37638333a67d2c7a31028802a4589907f003647e4a1d4263b4d85c180000006180b50ed580f087c345bfaf22982cabe84cc7cd43eb7e7fc981606c272727ea47770740b41bff838ceba4664bcea5e80000013a704541387eae3e2b26432d05682d92b87169a07f4b8492cbd9768031e037d8dcb4639edeeef7887b3e27c635f515486570e7b268afcff08a3a11c79b13cb581db312ac1ed7153b267df2e9f765d0b53308197d780b3b2981ab80deeb2dd4786517285ffc074b5d0a02667f909c5d24eed944c8000000446bdfbd44817021abe81c522c38356a70dc0f4003f37f205467875d89de17fb15f51b452c98f17d4d1aee63fa1b6c280000000773ab7a0c7b0df3dd26e9253ea80b172bba3d42bdda775d295a9204fd6cd80d3b012ca1a3472181348e5568c56601f7fb59bd9008e55b387d25d3f1a9f70fe177df2e9f765d0b5330b8e5ba74746e6d61e7e48fc654fbac05d87a04d9420c453eb007ab1badd32a35b72980efc4ef7c78ccee47ffffffb37e4b388e7f9fcb70b2bfbe1c7862737ec29e8667af818eafd0499e54fb57edf32e0f7068a47e7d20af649a8e6bca48000000579ec4d40485d9813e3af8ac7da82b36c46e08294bcd7b4392c731b47f8b67c53e2fc654c5a7b08137f24b3f5a03a3581248be8fdc000f1d7fd178d0b009b37638197d780b3b2981ab7e48fc654fbac05d8adaebfdf3751cc59b85ca8a0396c8ded8d798691071705f027f7f85c9c48cd4483bc7ffffffa9422cd8b47cb062f505e70762a836081001af6721c2813161dc2dc089422807caa2596f8c37417dda820f51a46533a8000000b6d09c20c67f68559475c272728846a566e0b7b8041089349abef78b8545f7e0fabde6ff023d018125bcbc68a386904859647a5489c8e3508333a67d2c7a3102880deeb2dd478651727a04d9420c453eb0085ca8a0396c8ded8dbeacdf6a36e60300f81fc719354f46710f7f829b8724f794c6080000001cb281be0b8031f734be7e2cbc9823372ba12ac1e7b97f9e142fca57ded067cced5ab4768c87de810976bd5b9363ab68000000b51e79cfaa7b3c2632f37ea1bec83f579273d9dd7b5b8265da66193fb287f847fd02c9d95ff4817e93a64b2ba83068c83d322aff28607008802a4589907f0036485ffc074b5d0a02667ab1badd32a35b729798691071705f027f81fc719354f46710fc6c1ef5a96e3b1dfa7f84df99cff04d6ae7ffffff8b49d9c6a67d5cac91756b1642684f26fc37a3b5e4bc81c0eb278a43cd68f81891f98dd1f94c0b8384ed872828560437ffffffda25c8bdaf849a7b8474962e73a85c4f5e8a2cd521537af052cf2835fd7f17cc314cdcf20271cb809f5d545dc9a85d17edf5cfabbd00da2d7e4a1d4263b4d85c17f909c5d24eed944c80efc4ef7c78ccee47f85c9c48cd4483bc7f829b8724f794c607f84df99cff04d6aea21578bdb3476c49980000001706d152ce8278bfea1fabafe1d7fde71ba0ea32b489809ab0dda4f9e4d927d2e5cdf0a584d0dd81d209035313da2627ffffffdc9047da4a7c8862238bdb15a107cd00a46c5c44c1ce83e4cfb835135f0708434eae5a6d4bdb488000000017be27d528000000504c7b585780000006180b50ed58000000446bdfbd447ffffffb37e4b388e7ffffffa9422cd8b480000001cb281be0b7ffffff8b49d9c6a680000001706d152ce9944ba71e1d18d16280ed3078f5e78f8be7b07ea171cd6e62da7e6f4bc3fff4ef9528050c15ffbb69f9b782db725e0f5f1195b7ffffff2642ea1a837add4e832325f33d2862fe44d963fc96a5813e01adcd4f539e38211f46bde61e9f3f7ecdb7147dfee3ec982f2d491e7eddd89d80f087c345bfaf229817021abe81c522c37f9fcb70b2bfbe1c77cb062f505e70762a8031f734be7e2cbc97d5cac91756b164268278bfea1fabafe1d80ed3078f5e78f8beb78310f3b6be5b075864adc829e7b243517dd9c1036e498c14482ce42b0ced306fcc82a598f4b55cf3ab27fffffff2fb18db787f90f05df99c4056679cb8c2f5aeba5a0e873651645c7e21608851bfc26cdaf285da807ef38e2344dbac384451d727a97b930182cabe84cc7cd43eb8356a70dc0f4003f3862737ec29e8667af836081001af6721c2823372ba12ac1e7b984f26fc37a3b5e4bc7fde71ba0ea32b4897b07ea171cd6e62da864adc829e7b24351bd7205edf513149817e3d886dbfd3758f482715d6dd90ddc5a47f7134ee30cf8218a8000000cfecfd6b28858b24112be4b62a67ce7ab180755e6a307fdbd149e62a436da81c65a4b639de12d47fba2a2538b4d963a8152a0bbf5c88c8dc7e7fc981606c272727f205467875d89de1818eafd0499e54fb5813161dc2dc0894227f9e142fca57ded0681c0eb278a43cd68f809ab0dda4f9e4d927e6f4bc3fff4ef9527dd9c1036e498c1447e3d886dbfd3758f49de9a72b95d47bded82f94dee43fdae6a5814e99f24fc6fed257ffffffcdd242a1b379e13ebcd5db9073a8153831b4776c23d77db5be65937f4d6037fc185061909e8735809f5f824ddb60b5f801fd1e13b32289767ea47770740b41bff7fb15f51b452c98f17edf32e0f7068a47e807caa2596f8c37417cced5ab4768c87de81891f98dd1f94c0b7d2e5cdf0a584d0dd8050c15ffbb69f9b782ce42b0ced306fcc82715d6dd90ddc5a482f94dee43fdae6a5af6d911d84f74a3257ef5673bffc03b6b77fffffee038a15da17af36cf2eb8daa2b67e3690950fec3b38789836e27ef785b93484f05ef638bf07e5c7ef22d166fc7a0af482106f36591e3c93d838ceba4664bcea5e7d4d1aee63fa1b6c27d20af649a8e6bca47dda820f51a46533a810976bd5b9363ab68384ed8728285604381d209035313da26282db725e0f5f1195b82a598f4b55cf3ab27f7134ee30cf8218a814e99f24fc6fed257ef5673bffc03b6b7b0f0ac738c3c376d88000001387f70e00c830166cd98bed89c28651535ff971f8fef8177e209a6cc5bf997c679a7e8e4761b3d7ffffff2aa2a26b347fffffed4c26fee9d80000013a7045413880000000773ab7a0c8000000579ec4d4048000000b6d09c20c68000000b51e79cfaa7ffffffda25c8bdaf7ffffffdc9047da4a7ffffff2642ea1a837fffffff2fb18db788000000cfecfd6b287ffffffcdd242a1b37fffffee038a15da18000001387f70e00c91207d3de0179923684163b6dfa39ab65a84de57cc119d79c717a8a58824fb4d2ce57d49be5c60a940567856a218a5d2f51828802e5028b98a8a11a7eae3e2b26432d0567b0df3dd26e9253ea85d9813e3af8ac7da7f68559475c2727287b3c2632f37ea1bec849a7b8474962e73a7c8862238bdb15a107add4e832325f33d27f90f05df99c40566858b24112be4b62a679e13ebcd5db9073a7af36cf2eb8daa2b6830166cd98bed89c284163b6dfa39ab65ad87717bbb84b8a7ec81d19ca808bbda31c7d217827f7008d3607f755c14b145b1772814a27814fb31064782ce1bf940615004e82d92b87169a07f4b80b172bba3d42bdda82b36c46e08294bcd846a566e0b7b8041083f579273d9dd7b5b85c4f5e8a2cd521537cd00a46c5c44c1ce862fe44d963fc96a579cb8c2f5aeba5a0e7ce7ab180755e6a308153831b4776c23d77e3690950fec3b3878651535ff971f8fef84de57cc119d79c7181d19ca808bbda31cf01b028eb0fe1ad16861d097788c6d118f7bc6e8a97fd6071217c2b1c10e7b429d8e813218dbb2b48e3b68492cbd9768031e03775d295a9204fd6cd7b4392c731b47f8b689349abef78b8545f8265da66193fb287f7af052cf2835fd7f183e4cfb835135f070813e01adcd4f539e3873651645c7e216087fdbd149e62a436da7db5be65937f4d60389836e27ef785b9348177e209a6cc5bf997a8a58824fb4d2ce57d217827f7008d360861d097788c6d118fe96766a0c0cd7cbbf7a68264112562bbcd8423a006be518547e7ccf7a33861a214247d8dcb4639edeeef780d3b012ca1a347217c53e2fc654c5a7b07e0fabde6ff023d01847fd02c9d95ff4817cc314cdcf20271cb8434eae5a6d4bdb488211f46bde61e9f3f851bfc26cdaf285da81c65a4b639de12d47fc185061909e873584f05ef638bf07e5c7c679a7e8e4761b3d7d49be5c60a9405677f755c14b145b17727bc6e8a97fd6071217a68264112562bbcdbd0b4b3cab78f6a5d⟩
def tc_cap_SG0 : TBlk :=
⟨[], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0), (0, 0, 4), (0, 1, 3), (0, 2, 2), (0, 3, 1), (0, 4, 0), (1, 0, 3), (1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 2), (2, 1, 1), (2, 2, 0), (3, 0, 1), (3, 1, 0), (4, 0, 0), (0, 0, 5), (0, 1, 4), (0, 2, 3), (0, 3, 2), (0, 4, 1), (0, 5, 0), (1, 0, 4), (1, 1, 3), (1, 2, 2), (1, 3, 1), (1, 4, 0), (2, 0, 3), (2, 1, 2), (2, 2, 1), (2, 3, 0), (3, 0, 2), (3, 1, 1), (3, 2, 0), (4, 0, 1), (4, 1, 0), (5, 0, 0)], 56, 4, 72, 76,
0x99999999999999999999999999999999999999999999999999999999,
0x80000004ac1f48a41d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000061a5499cff800000048ec41905a4800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000006ef60cfaa7800000009554b9bc6a80000004984d8de5be8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fffffe23a929b3e057fffffcff6781dc53d8000000086f5bb6b778000004a786e1046d08000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000d276fda1bc38000001e77beef2d548000001d378860e40e7ffffffe15378f29748000004bf885f8e9788000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fffffdea079f4113c7ffffffab96207d61e7fffffcee9db53f41680000007b50ed7b9597ffffffdd495b089f78000004ae354704d5d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fc8d65bf863dcefa17f91acb7f0ab8fdabd8000000000174c0999806e53480f4bd7dae180000000000e0265e77fffffffffe3d92d45803729a407b97482e98000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe3f8a3e86b15f11080e70eca1683947a3580000000001372065280380eb82f4001ee9f823e3b048b8d17f896811f1d8245a908e1f1801c075c17a2e47540811f1d8245c3897b85800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800169e7e8c9b1f43b81d1f277acbedce7cd8213c8d26de13cf60e8210f5029c4d4b6b0687c5cef492167668a181cf1ea7db2cfa4bc57ffe961817325f6cdf81cf1ea7db25dec6278213c8d26de771c4678000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffbf7af3782a7077b7fc384998a7667ec76803b68db1db8930ed58043797caeb3a5afaf800dfc2c725511efb67fcb953b1b707533e57e270d7001b57970257c119f798de073b1a683f55e9cab49959d8f81dcfae0c6c9fe6f418000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008021bad9485894be6c801054912b7b0d0d217fad77622d123963577e3c0a5b79a94db0b98022a3d5b26ec06ebb8063da88ac25fef170809cacca9f0182e5187f84bb28356bdf914a808c96c2a3cc0442ca806f8fb03b5c1711418096fbaa115bff2ace8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fea09635badd3ca247f2516f041e0e18ced7f08e46a49231d908981590236d29ad0d2857de0c485172854d2d07fe77dd84271087b0b8189873ae3ca0bd68e8717003b430758d9f081cccdd95a8df4a9d27fb962bf305fe36d14809679aeb7ebcd1d51835123f0b0ab23817d80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080195cc128f78b28467f3424fc43558f80817faf0d28da71834fe381c8f0705816ca508e80c458b49c48a495e47e69d29c1b3f18b48081d4d1c4c7568b36ba86df693b9b04eea70e83b6ea09264d08dac0817538e9144a69fcef7f68672229d870d195811d6b0e23454b0b648492992ab0e8ee57538000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff417171e7b3c63857f07bee08fcd250fea7ec0d0287c82a2fb337f12ce38af6a3f08027e882e2e20a0a5886c8273971deaf344f39080b110b30b94c94cc684323f2f1ecfec7e8c89e7929acc5641f9c4822244ae57de14dde1800cbe094681f941cb8053a850fce1f5edac82adf065f4ea6510a683474862519ad78d388000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff2487d218da4c0e47f49665b15f19f278d7fa4485e8691cfc75480af50cb9ae858124d7d4e49f059eea142d07f21246c881ce6f8cf7f616ece81d473732f7fa7c5d27dc4e5745a7fdd2e29500950bac87fe8572603bc317ce080846d5148e734ff1480d2fde5be8deda70c7be84786bfeb8c628b8182ce02c1c3f9be98812576242ab2545d208000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fee94a143ce84fbf47fbf840e3776f3e74e800e1e05a43ba147618168791b6c3fec6fd67f383ec8df36b1457d7f5f917c6a866ac47e7e1a1ca0898eb327607fc6b6a200475c178b81e9ea8f8eb01ea0d180ac5de94b17ab25fb8036378cafb2d6f803808cabc66ee885bd5c7fe7849df05a516c56803112844e091abf188023eab2923c4d192480511efd8f4b83d1578000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffff47062f8970f737e5ac4068029f13bc47e3c170123439c2bba7c864ab48cf49fa0d27967e7f466e5ba5cb6805f3f218f457746648392c09decb2f6aedd7de93ab3e7e7dad0d8801be26dc840a764c17fc4031b7e2a8ab25f82b32d204fa7d063b489d546c280955b18107ddaae5f45db44a2797f8debb3e5742bb907801979c2611b12f1b48004e0a9ceec9291f8832675d6bfc21c61b98000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008001bb49a8ae6061017fd682d1a6bcc61d4f8025e6ed5bc28957f0821d05ce38fb9e16047f9ce64f3a06226e567daaef6e758f57ed5b7d823d84c9599fc98c820c6d4495fe67de9481c6742e5041ccdc1c820056f9b914a478c8806ad583b387c7cffc82a6302f546afac917892346c9fffedb00c682287569e9383620107fd23365fb531095d77ff5837913617e056a7fc456c27a1e8da025852bf9ff5f27893b818000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffeda08033d4fb97b8091b083816dad6f617fa8b2b2d927d72a437a4244e2a105ef9d08804561f309e65b105a85f8f1898b05d6e85485bb24ad340188f458811c90d733243d68f9809479f79b69081dee79b87d2b41d6cf5db27eb971b0a5dcf304307e4042d6d2d2cbc8a1836df5b1d8baa632d182da70bec22de05a9a813073c0c61f49ad76800421876e46467af97faebb48f3f199d68f79c5c2c8ef2cce214b88157afae1cf2d29bc8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008001a733b63c6600fd7ed01ae13102d365dc7ee55df2c20b66abdb811dea169b2eb97b417ba27bc44a62f46a8c7cb6748d2afb2b72d87f0bfa0d9be3adca6980bbffb2208dcabc3b7d80fcf22ea5b48fc1835fd7c0f09889d45e7edfb8a5ab8f6a807d7b2dc64c1145e9311b7df823b960e41bcfb78acd042faabeba841682f8ee840f60e03c447ffb9ecedba2bae34d7ebdb5ee17680f3ba87f08468ecf19f7463580a2d989e803f8efc28368d9c6a55ddbab428000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff14beda3947053bc80038b9feeb35193457fc474382c49c379648013fb85956a1f7b8e7f466a96caac71dde7808b1baae1fd7243958013fda521f659671b81f75d3f21bdd5d1917f12bc64524af515a67eff3fe91912198d7f80038c0938eee2efd37f466cf8ff026f1b137f12bd1fcea6ff33b48111ec809ed754656a804e016469046606a97ff14bee68fb19e7937fc474cf97cb80b18f808b1a81f6e48b59c97eff420623690210c8804e01342394aa31af805377a416e8af8d6680000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000083c063971de1f67d2c827ed5901f9f8f9a9a827ed5827803f030f181c7ff590e338eafc48aad897dcc154aecee81c8025ff2de8df0f37f6bdbf96dc5c2c6a279f82d3b35636eba7379f82f9806a400d62a7f6bd9d29cb1ced50f7f5571ef89c61a51927c05ac12a4b018fd347aa81c1095005610b57c05af595ddd44a6867f557348fd219c1d3a7fef5f1ba1ae8058c57fae7709a3cfaa23227ef572ddf1214951d77ef578225c9de7fc317fae779274de5e90e97fef5f047299344c5283894e85a0b248dd2180000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000082895163bd469c311987b04e07f2408ab8bc81bc5f4acf107c22fd841428ae2d00dc1a4283c25fd67be2f9669b7b6c4b073bc487afcb80caf4f90793afd5877f61d15eeb2a68f09e7569ff5e44f97a238a80ad54465a6da0910a8033e416b027833c2c7d152e76f76e196fea79a30f7b3b1cf05df880083fd03b91a5f3bc80c2125e2fe9a5e9057fefdcceabbae035db80055ab2778c9d3c247e65c8f6a794681a3d7e4787e44b3f4379738145402cc4e6b4eb6a7ff427f9922e24ad828262d1be3a87b7314586addf5b31404ae5538000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008160dc0fae6ef0e4ab7d15676f7ebef74ea28809b464712c49710c77e68e46b8311c35a5820afd652b6c7cd8f587d421c15003a69ec9804afe8803e7ce1d2173c8cb3e9384c5bd028620928a32c35a12408081814cda07c1f73280c5a34e00b109887081ee04fca555051c237c8accd566b4dd92e17c80a16b9097e844b67fc0061493e6ef9d4f7ffc58f0ae17fd93e6818027cf0353ef7b407efd001687bda834177f34b6e1a8a0f5028e7f33822fc0ffb2f8307ff47233bb47447636814bf01d43b0eba46d7bab5ce1a0494dcea187f5d2df58dc9a80f38000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fd3444d72a08e115e82720c433435f8d1548277ec57cc84e6aa05877e48cb37b7cbddb2821c21235c2643706980a2fd838f25d54e1e8976f8fc94dbf5da807da01ca963e28858e4705442f049c529796c7cfeea3f75a7ea758081b9dc6734d29d381185ff6b68149b2ad16d6f33d6c57c54e248847937667f7cdee3ef4a7f91cfcc43b88eb9ad801a2ba029f20f60428143165dfe9e4025b280cc976c39c95f351e7bd6a30b6158f44e677f7a51ede8ea98ea8b801357ae3ebd67e6357fbc463c8ef2feb35d81a8cb7ed18080469382294d0e4e1e54524f8a7db09c6d4586e4da8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007d6fa8ac62e4177a1e805381ea9e4550cf2380555d9187096f445382c849321fcc5aaa3388f6bda7a782860670809d35fa86943e144a7e5d496acf3acdc72c82f3b65b94827c73e27ebf543a1126d960d67a6be2b42b7c58606d7fe2f6a36d55d546df7c5aa88b99182476ae7acf09777990db1a8f784ff148458de358b57f34621c70fa72293d801246333374d4e4c57fb141e240711b0326801701802fe7bc3bc07e85644400e064eb6c7f20cfa2f5562c4aa780101d841a632d45b77d9d9b698714b06ab9811586a68b7ac6bc83813e29c9ed91bbb29c835148d2b31470684a8d424b5b89804d27828000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f329b2fe53374426a8219566c6d548af2c682122e8e8dd9da2ede7f88e99835667f27c28406673a113ff93a2787f53873380e169cd97a0afc0e677e536e8e70b4f784672d27b961810a4a5caa5bc51dd8895bf439248656934c7f15ff063c0c11f702765f0c0a4779009eee70fd3a5925f4fe1101861242aebd0f0bbc8281bc1e171fdf810d168012c267b6cae15c737f0db3a0dbf60691307b67d676703116bfa8817fe48338728ef496813ec29f3b7c973c71801b2529873db963177f2bb7cd4c8a552e778229ae67c4a752844f818be640e3767fc1e27e40fc3f3c9bd127048369d0714178d521ed8b2401a0e8cfd8f8348000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f72f389dd09faf6837bfe88e9b4ed5b5ad97d69f2f03d0559d56e82a74693787156c74d792525f4b48252a51c7e55e4c7b6865a2c7f897324e73493700ce68965114238be6a52467c224bb0377fd0a0117c6ca367c702a7b97988103df6316706c0d084403ee355436639687ce807907c9c39868e827e2b44630cfe030280dbe0bd6f1add51e9800a7af5dd094cbd4f80969127837db72c367bf41873f8409c672a813319315ac6c7d15880703e27f7340193f680022889fcd1726ed77f78b2a316103b9caf7b501475c06b986e837dcc950dcd746b708c838ae0ca80af49790778cbe289ee2b7997247c9cffed3ad8ba9542884701e870a54f42db8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f9367abeffa306bb37deff49dce7e1a56d8797d5346cd87e9396d7c683fdcb03158d412776311fce1a6d05a66800c99dcf624d50c957f52c5a826d625ba86821bbbf5635d8757b67c733ba62220c91f5882d5d36c4fe941bdf084aab8770ce9af6b518a6e7945589757d6e07acd4be2338f7a4c767d207a9eeb7d645267804d56c1f21a81160d7fed9a4225c88200d87ee76ca34aac63cfbc7bbe691686d2750fe47d10cdc88a39e08de67fde7d631ffa90a6ad800ba10cf52fdff1fc7f9b88b7246f3211467f480ab227ae7a0d647a0b957d7b15f96f057c5a42e2152f9cd88c7fbe707f8f910683ac854ac43fe06504d8e6865b43de039290e74c91a99374b1aa9e4d6580000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080229d82d945d7d50b7d33578795f3fb0e12804e225329038114697efc5391d0e57452de7dc2d7ed399c2e5b027bb64c16678dad1dcf807ec978886edb440b7bbe49601280bcd8107c33bce2f74061cb887b4925024a2c0bff247d42f079c73b2fc9877c9d9948e7e4f299fd7d729bc2fcf8207f0c8482f3e89c391867a47e5101252bdaf964f47fff1672f3e8644e8f7f01d31d825e0f6ab07d3759bbe44590d1bd7d9b3dba77682e389c7e5ebf4503e4c27dd47fea6bb48e0b93606b80258f0223b82a2fad7e1e260f1ff2b534b581f62ae2c98951366984782cc13889d59c6287fc0ff3610050fffa7d48ebbf8616dd70e97df3543e591b9b122484de51cf2dcc899ae68fe43bc89ced193bdc8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f5b8fb8826bbaa36d7a61e5d44fe84c42e27cc160d8ee97eefc5a7f8c135673473fce3b76e2b47fd325cebb9380281f7cc7dbc1a55a7f25d8d6ac0932c7f67aa8ee62f4ce2d1a8c89de18b4c24bd5e9c386e7a7c9a08e86a4eb803d2b8ce30d6b491c7e5a025407df5845c77b720aebc231fc6db08a4ea2a267c981e51c8985f0de25948305da800d1c53ecbc8a921b80949cc2ed48f47dd78025159435dd155e097ada961676b091315c7feffdf5f3defc79497ffc120b4dda22d6ac7f6381c9d7977dead97aaff55d1ffeaf91017cd24cba4963a8555581155c2d9c9c5f907c7961e1182116edcd8b7f9c850ad6957b06ad7ef52039a82178a2457bfaf6cd9a4a0df02b89f6d19192b57458578aafccf4e011a81cbf8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007c35ed2ab620b43e437b54dce9bc4ea496d57d1e1d6881c8cc3bce7eb61b3bbc481690517917e44b4987e0c0068113246d2bf8f365da7d6db6d851fe40b8907657b23a02a3d86f15841c817373ffdac11a8209e47f735b89d04c8666b8ed986541f5d58565d73610fc4d829474a26308aec44b6fcc8390dbfd7c411ca15b83cd40cc25812a509386b6245e933607f03683835c992a9bb325e17f10c53b2b2f4dc65682f2df909588f51987801f1c368131f7ec057ff59ddb3679a71a627c91936548a37816fc7d97f80b690ca646e37ec2b0a57b4c7b154c7ced53463a585eee4383f918fd3d1357349b8395cefcf50ce9fe608304096f57a019223078777600113b3513fc817b6fd5bbb5be792082eb8c96cc92ae587d8639e3f8a5664ebd96800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000807ac5ea2035a0e6027d83d9954bcc0714dc8096e7f998ce5e92fd7ff18d55f2165f962079fcf9e9d976a840967ed7e0b18c43c105457e0787aa76f9e488d375762a8d1bd109971174948c79e9c93c971a7c56e4773c4586e99d807e55422362283bdd8be3fa5fac5b1623d888e1561491c4206c717abbb08935e734ad4a7bdd1348b55f047215803ff08e9445231cd78b0c5b0ab3fe654d22881b41072362adc47981034d3dbbaba84d877f64fd89160933aea97ff985f35a424798ef8063b75e43f24e6e1d7bd630d7d7ae4afe187f0ae6962dedd2c3c683e1f86e9a065d63ec7758128ff4be8635537e977ef48d415c0ac77fcad1033483518a4688c76ed955a2dd8b3b7f77d56a4161f4903f7c8636a91ba0aa1bd8803cab62c0afb279478b7d82e54a0fb288c880000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000082135f9a3d0f8ac6237eb8a0ae5174d8bc657dc1dcaaf3c10b570077dcba436b1a57fedc789afa5f2789a7e42a774588ba15e539563080699de9e1e88c6d8d74f004e6d0d3b56d8b70c3979f82d36982cd7f33423a15ae24ee998254688b3bfc685d41828333bd820efeafc386b725b02fccd16330855b263e2469057bde83c0be5d29dc80e2e77deed50127c5dae1997f320c981f5b71cf1c8a8e57e4c2900ecb028a492881ae01acfc0a81cbc1cd7e314f4a038012bfc0f06d5c5a2781ee90629e2f5d04847f3702e717ee7a25c87e6d2e0be84e9149bf7bb51eb3234d4f7a34812d5af5788720f6c97a55826dcab1b2744982f011e0b2357bfa6d81dacb57af9e616d85804746c8929b01abcb8366780705f489f58a7e07537a3dbc1f85357e7a67b3a06cfcdbdf8f5f0e559e9afddef8800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000810110a87a9b4d6be882391c206e6551256f7decf54207cf88186f7f48dbfbf5e050c4f17d0e53a64a60de63758086e62f5811e48e817d033963a9e2e92acd78d00e132c3fc1f48078a3cf5c2549b132107ed356829f37feb9767a48a0318125e7fe3d75e85f6a8d2b08799188a5bcb7ab6afa230a8d169ad15d244b95c980bef275a20fb9a45c7ef8c50a53a023e7227b9f493da79b4f16ee7e47f65150fa390eec87689291bf0cdc52688b9408b2261c8a704f8001298c3e6f92403780df8557c6aac7af9d80a8672e1bd9acf92f7c3eb4369363d5e2427de062e2c0465eaafe789cf41e9c4c96cf438450a8d1960406dcff7bb510a642a87cd4a17ddf242a449a9192b6897745bd78754538a68018e6797f6e6858ec7f11ea713c5272b22d7cb22dcfa5e4b700507f5e67f993928f9bc18c195cccf7536ee5788000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007d14b9fef94358f4f97fe8251972211c9c627bedf3262d10773fa5833fc9584979355ea47d39400c757aa9ba1d8001f0f4b3ba01cedf833fccf1d3aef6c2a48bd5efa42e8dc7cf1276ca3150d0dc3c9f307cbfa80c0221f986b87fe82696b843e54e227d3941bbc13bd0faf776ca56d76086e69bcc86c74cd2d1392a74d885c1646d2816832cf37d14b3bbdd65bf8a0a7bedf1ada65aeecab98001ff8801dc6728c77cbfbb99ee360bd1df85c16afc6a104bf49b87ad8964fc539b00307d593a367ac92674b280b1c6c5fbfd73c3227da0af9c9964463010853b2635f69820028e82c9f1e871d7eb24ea7cf4f84649c2819b2e80b1cf1adb2595faa682ca002d50f1d43282786c6761e91cdc496d821ee7eb201784e1257d59344e54a8bd3cdb7da0b32d28368e12087cf508b0b536ea0871821eee5bfdcb751097871d11663ab687722c800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000832157b6c872cfbc9079da690f130f9fcf0779da74196fa74ae72c7d91da0a6fa6cf22f3786741926090e509817d91fa4a32641baa037fe5242798a8f9262984c9d52146df748d3b84ca0ffb9926429b097fe53bc5dd700c7f898324c5f382a066710e801ab29c41b29eb0e27c4bfb2d6acc6937a5801aaae0c8167c748a8324bfdcdd24a8788d80303d065d473816098004ed7ad26933b4687fbdbaf7a6234e67307fbdc4bb8745691a7c8004e89dc0a77d11d98030318bdade6b74d687f52604ea20fbd1cc7cb0ddfd962d8eb1807cb0e87bc65635dbfe7dc1dba0ac55c78c1382c82a9ab95dd61a777dc1f874fc7d58527183349397a389e006d07c9be9d3f650f6c1c77c9bf5f304ffb2af828334939ce99145439c802af38b1cddc9d1837f79c256182a106a5180732b61dcc7e840737f79c7451cdd907ba6802ae8e1faf677e41d84a9e90cef7b02e3f88000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007c822c3de0191e2ba8828fa24d17fd7f0d497f535912a51b8cfc52842051b12b6ad7d00476f03c5d5b677677707c1cf94f63c9a6249e7c0231d918e96ee3827d06c29661a8b5470d7a782e568d1652b85f7d78cc73400f0f94537d75cb5780679fd3cd7f46a63c0f7f5ba87182df8e0f04ec0674f37f11d3cff27584f2a782f7fc2b364763e25d81703fc3f5ed7e63127debffe5d0aab911ab80d4566c0e0c6d5d25810ce6cc929c260705817c02e569581e79278010b0582cba826d2c7d96a94ab945c772b58c0899c6f519a3b33a7fdaabdaa7d250f1b185e1609f809e8432be7c47899d942d8816397b5892c53a67063b687de102ebdb3a319ed9808f14f514e65fb61378d91e7bc84172797c81db60da1e1ad9945d81549c577cd21306bb7eaa87ffec53b5b6c17f6ec202122368190780effe41687c259097800a843a62c1dede3780c6d12af5091c49f188bbe428a5979669628000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007cb9f6f6b0b32375a17f28bdbe41aa9d34dd829c12c1fe1cfb75897bd6cf47da8c3d8cac7781043cc16986f76c846285086957a751b47db96d13351d3f209f7aa69aec93e4f91de97d606540e7772876917c29b28e50b330fcff83237daf098d74db6c7f1d3bc39bd5dd478182b1c909643e571c137f5596512a26b5029d7d437384d210f632e57ff8f111539e052afe819f0075438201ea3e80ffc98ec7b8c43cf480c37ce52dfd8459597dd25eb51e82eddb1d816fedb23988fd83d67dbd36cb5f7fe89b147f14095b8800c0651c8c116027be1b2097ec7af50ab6d2558462857c83156f394c3628b386312e95384725908e81ff6a57f97a620f3278cc18a93fff3ea0c281056560ae7f3cbae07dc140340c761d86f97ff48a9e2501e3800681066c9f07b3a392f37f77ec7de9688252b67e9a515ac475452c738154a1818c58c1347080ba6cb8f1048027d67f6fdc9cda3ca7818a88c088501e9b40e50180000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080488f41285f1f7f0c800d6753de382c885c8116146bfb9727e5187cf8b3a8341669389e85168669bcf8e307e58252777baf530ae2fd85c685a6400d3d42337975d61d123f269e3d81c5dca718edf6b9dd81d94d467e64aa68e38223743b6d4430f85e770ec525b8371d94c07a77d641baf0236dd57ef6ea50b34595246d7fe1177b79a570bfc17b27e4ff76ef854fe08061d16463e1d9101c7bfbb7ee9336423f2a7d1cefc993ec9122b982ea52821e597854f37fca05cdb83da4c7f47d19fd6415988206c07e3251edc2d3091b067f714a123e025e8db488a4d1ae552f2bda4d8033400b56a1a18f3980580748cd865001108c9488b215340ad3107dd34be8bc151b33db7ace0bb0d09c0221067f580ceca0f2e6d71b7b7f04de6bee3db90d80c72b868dcf6a51d57adeaf8629a150dc8d81e8d1cf5dbeb969a67fca0237b669aab8c77d1562485549e07bfc7f77c934d5453837c17f31a8dd9737dd99c88a181f6f44c7376d7080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080c7528356e27b6fa47a1c6aa3edc9c1d0537a2a7e7a6efacf83c17f3e90933eccb814527c11de84e04deecc547f87dea5e3678c1cfb7f4a422d362f15c45089d0ad09e60ec841658a427631c46e8b9b187f14c14b77f5e47eb37a69481715830618267cc7c0f69010c7e1718aa6116c2dc612821a7d34208995874b87947a4a83ad10ae0f169881096a08cd6cf787b67a245491f9384345407f61cc3f5a865c85667f715c18a4d685b38f7a472505c3831cdc2d8148c9939ea27603c680d5a4f8f2d517b1977b18d921977764e97e7b29d00d8e882b930b7ef55c108bdc18a064867efe24df05a0bdae7e8419967c293bd39f7b2d24b92f7d4f0835863bda7922b8c797f186129301d6609866467a78482d34cc5674ac80f4ebd21029bd79517a6ab8ad6d7dcbc3b17e22a3fc8c430fd3f67a7a5869719b7f3492812fa335036d466c9e801ba27063a1abe7cc809daee71f05a7c6198099ee77778ee274c48089faacd5571410f38d27f6f75037a154a3800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000803bdce2160ce29fee80e6fe617a6653630e7f77688d9f7afcb164837058417550196a5a838290a72cab00fa367c01557418472cf6b17ffc0b0a44cea9818a8471c5311f91d39b7578e54c6103e1c2f6f78570aada039068b62c7ef09c66427608f9a481c99e696ca409acec7c6db0d8cda820b93976cd070556fc36116382140488766654f7208171c8327a00fc1c6782b9763804f83f77b37e473e7e03efc9863f7cb56716f7c054268a7f34376f1a6900a12d7b01b3f39e28ab5a177df2282218051c29067fd415340bf9819a337e1923fd98c8de66b17d6b643eabebac2d748064b78756c3afbbeb88f3a7ca110c8850617ae59d87e4e6b71fc87b7c6325ac6bd459197faeccf1736612a04e8d497821cc1cfca8be8153b69cd07f66ca23818a4284dd100e6cc97c3c808c4f22c2284d7ff7ab85c83a91f30d7b5cb60202d4fb85d07de7b6339a638487207f59fb1b6df7686ba87fbb7c227bd846d2357ca15ceecee64dbef180816ef2e924c06cd98aa7c1e204284693c38000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008256eb420e3b3fd6e881db20e713e143d9a7809eb64a5c55ca4f457c21f533511eb5805985fdb0522ebef7cc4f82f161e330fc5872e680c7b14aef0d4f845385d2bf26b59a4495037f96ac1ce94fd2f883815531eb26d61459fb7affdec4e472111bdf75002a8988e749d53282d916a68d0993fcde8084743d49836fd2c67dfd9ef8c90bdd8c5d81b02c81f95b973d237a0012303e83ee9c537ba9c491be4309583d7e9bef99a8de62538e83615203a97f0ba79e80554d5b6b5e6789288127e89d315478b2497bbdc42172e145065d800dcc1ba6110ae3ae7b5b44288ae36172cc7e2cc6093d071979e083b8152e8003e6a87c80b205a608dcc7c3c481f444667158db36157f1588ec14f6230c507dc3512f6ca46bfdce87a6093d8edbdc724d7d029b991874de6b367c6a7d6824f1825c8b8392e14d357bb35523804ef9c094945829247f10950d83667ee0c77a711353b15d3174828071a01263c2d69036828589c0e6123b4247801dca8ea403ca2e907fd6ad9702dc1a2103859d4c963180d5300b800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000827690b8b3ae6e0ee6835a8e3e0c3b4f68067fc24ee9ae326408b97f51cd828ccaacbc2484577090f125a877477e9962c15c538e110d7ce175b65fd363a2f57e10cac82ebd2691fe85803c2c6d049d78b183a29f76038bc07d007d4cd3a325ac59c818765714be88af92d9077b0deb05c0260f91e87f1447942b9c23073c7ee48b399708e25ebe7c2871ea0d1af9d57a82194f9ebdb62c222d8430be6506effe34e27ab62233fe0f3860e37dcb67bcbec516cdc180a05434df2d8517cb81e85a72b6821c6d94815c545d8fd2c2782379a0a064347154e8237c5650f0acb50508637a656437ea574d98197c7870abe588903eff7deb1e067e120b66487fda9a3b61bfa7280f810eabc1f622a184af80356c0c0938b10dd07d7028c7bb518fd0c48d5d6cd226d7d6437c872f3b2893ecb1a9e67df3b038a654fa4a55809468b16ee36a1e8b7faa1a6b63b2329e8b7f84d25e8a3c6b76ed7ae485b579ea4d35027f653cd959c48b0ff6808cb21289517c895880925a069c41d65c6580ee0fb99f17f705968a323a39ffd7b8259d800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000812f340deb1498d0c47ec37181f3128fc73682fdfdbb4d51c7811c7f76f100dd0761424e8115000eec0a1d3a537ef7ea2318f53509e5837df7fda6cc74a68083d94460b514256c497cc67cb776a45dda7f7be1dd2b9e66eaa280812b2cc29160d333848385fa980cbfcfc5be798e6a62c67ea170ec779f509cce0e77b4b77ed4660dad6e6046c480366988fdf1752e397f279268396c56cbb17c033233eb8acfa4a285fb8e8ab1e0fb8dee822699435bdf7411e27b81b0ff333b68db0181454d2e45288a30857ac2b48fc7893411568287caabc12791ee537d8cf5f9436b09b32c7b6beb6f4db35626e37bcf4c3ee15f56cc1c807ac62147f477a064809168a7df8080f3657fc6ef7af8eb8fa66e7e7e23380e5d20b5247deb4338ca836962f77d858853b476815974890fa094911efdcfee8d6529db55c26e93007bd3910707b7c6a847802bbbbc7b6675b1597c9b2fdc169523a51b809a4fb9bad817bcc27fbf08d1c92d01092f807b98824086aef2667ef3242b956fb2eeaf7de5e170d274ee92b97f6559371e226d79858ab931f331064625b580000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000081dac6c3dd749406787f1f8287606bf9a20b82c18d07d6f8b61c588362652fc760881f3285134be969d8176e1a7c111e5e44343eda5083624257fb196976428111aa03a264c9cf4983932498806bc29b387e931b98a2810122157f1f7d90f8f9cb21af8513420ec3eca72ac28392d9d4eed6ed53a0728a1fc8ae5350afa67aba4f16c1e37470b581dace23dbd46842b582c1923678478aab317c111b6a34e0b532bb7e92f627aec37de6e97aba41afa654ff8c6880a24a55802f9f0a1f80cd44a8bdadbdce877e728e5e16d84690057e50fe746c510a4baa84f4dfccaa54c79b5e7f29e967a96c848feb7b57864f5882988caf7e72783e5434c2364a7f29d8bea50c56f24881b083472135064f8b805f453d6827e68b1380cd43fb64eb6452ff7e510df0de09572aa87b57863554d48d7205805f40c737f2ed8d9687395da36a21d993d47f26aa8af10572d1747ffaaa590595e1a0de7c00003a0a4588e2fe7ffaa305ab8bd4504f8005703857ae63847f824f300e99af9ae7107f26a3a1c976d2e7d27c000e9eb4ce1d08ef824f3a2d005b9932de86203ccb35752b08d180000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000073c906712bd866b42882b1efef42b07956ac82b1ed40fcbedebfc57c3138d4498c3fd58d826f39323bcdf92f847c314792cb5b68b3068333007fd3498dc6cf8b9c4ab66b347f80ea8b9c718877ce2d4cc683331e9ebdaf8b470f82c24fa67f88a90b1988dd097017f40a8d2a880b5f14b610d837fd88dd2626f9801b4dcd82c255aff8ae21fe7f80b8b666fac80e18c582beb705c8d6c8fd1a7b5b140623535265287b5b09ed5dac4c2e5682beb3da9bebf7dd6180b8b13534b49ec86b6e7f6f4bc968e73db57c8169110236bf98897c816b49c7a2dc9e777c6fc5e08d59f87bf47f3e80c003a8a98e8c7c6feb8c4e5d642edd7fc50013c6480652cf83d6c94fdeec7f119c83d6ebf8d799857aae7fc511197a29648e048134e7f584bb53960c7de26ff7d195cea3b57363e4648247afbe0a7de26250d73adf1a9e8134dc7986f6569e3f815d4cc4a9985920077c1899b734783fe3a97c189ffdbb7c7df8397ffc639c318190b2f083126bd15e2a84b9997ffc6a04a6fdf63357809503b3dae617cd2f7ce45e870e61921a827ce44f22de90135b588094fd8212dca3ae8d868f2955a2ca338ada80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080c9a5578289ed09d97ba1a6f673d484c2c1847070e2e9bb42dfa17f4bbdbd6159d71f7185fc92cea2c1782f5d8c5999389f92f45e117e50df8945734d71c67c47967456466b1d2e80d10ae05b25870d2f818318951c81121f2c7b9f3797775668298c851686d06e74f05e3a8150f9ff3407c03df983d54236618b2c264b828e1b871e681d633a7efabb8f707bd57a88846e8dc264fd680b0f8c77aa910dcadb0756829bde774386d7cf42828ead25b4319eee558088f1d48f883583fd7f5fb689a0871f31ad776f18cf8f4ba1ecc287c321548640fb14067faf5774bb6e001ed174f6dac8dfb637a73f84614b7f721aba5d1076fa201c3f88cd86c3745285a99cf417f2ed75c8011aa1e61e0e287e443c14cc11e126307cc236847bb3be9a6b8791a7480c3acfc56d85a51b2a4c86655cb87e87d43f30ab99888f7fd7f905deae5237707dbf6815123471edbc83c436dd905c62a260835abd879ad78c21408338f9735eaa8047b075cba6b2ba6b337b637a3d22df74cf2342d47ddb614d7bd74757d8833e2e29c99604d5ce7aabed0c90f8f61e147f551501e618dd7c927f15498fdc64229a6987c2b8000cadc482ec80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080929438a72d66949786159e458bb5c7085479f735df87fa47050a8d3673da4dabf7019e84597962c1679d7f3a7b3ff531aa51fb537b8222d41a66ce9e91fd8210fd9a5ffd4b9c317bd2c038370cd8b7077dbd238740f3806c3b841b8ed4993ea2fec58260ec3ad3af860c3080f4eb88e402e4d546841ad081371b099f337a916c3cb0da3f343b80e4d406afd6124e3081400c1615618ed3907eb23a8ddd62277b5a8c42a82a2f49f54a5383d434b25db18988517ec0d6e2b3636414c57f8b942ea89a8050b88af0d40907260585a67479694a79c082f50684b4f6d76ce54ce34177fad98f7b691f13287e3f2faa2dc2c657b5811b3f5216fdb81f22790c1f49686f8a81af770a5ac39c236f28907713d469eaace5817480e354ab83aec256117bff96f6a6900ed64a841a4fac0c852e84fc886f39e92c27336a0f7ca499f33a35b861b27e5cf87a482775d37c824dcc33819dc54d4a82defdb3f1c4bde18978e58944213c1ec8e17895893717745167338542364226cef5c6b07ffe68f5baa40916ad795868a485c73933fc8523a60effee67ad737df6b6ba13531bc6e87f5566ae53d9dec42d7d7b129bf47485c2118828b88db6b995185a8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008a9a3dae96b705010c81cf184d01a3ab2f1780f100f73a6d2c23e587730b0a29b1a129c58917ea62c0a5ab4d317c267a7229251435e078bd53bf18f0c74fa185eae4e97048f10a9d80ea516b5b900669e6775c2a7175b19b975181a2ed813cc4ec1d887bc49d5b8d0dc28f6e8863f3ccf704e6ed04841e55b6dfeb66261881081069d89fc062786fe1087b0bdc7a3c2a80fdd490a445f5b3d07df38f6f47f33ad73b87def163fd26c7f65681410f740e5dd5fa038049865299a740a2a68f815609707165a0f9834b2f894e4dc5207a7f4e3d5a4e630dae187e652341f57f9c6a1c86183fc30253f8b05b725ca0900fe7c358637c58451b17a58433f27c9f3bd33f83bc9dc8825cdf7465d0183f837d67f3b81aedc9e21d68e016841035f64a087c9d71fb674100f592852d85aa55d5e403b881aa13c9bc0fda5bb680865460b81469c4427fc6ff91c2b3da2e8c82e1be41ad206ff7c47ef608afefdb005a547aa5eb15d1734246038205ebea6e47c12b3f7c885f0cf74a23749b816d97a3da781eea8f7d1e376f7552170ae082ec621371a2e2fe1a8048cffb8d1ba3ebb17ad411166e52f55b537f6c14987240caf6bd802bb06ae6d9e47b288865441c7cd2becb7f800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000805ff78f40ed6107fb82bba944990ea3b44f82d20da61c51280f1d7eb0a74fed78a14e798138ba6e47483f7be67fd300a8ea5cdb826a8d4824749a027e838081b4f92e95229c79f08235cf5c8482735d7f8d6bed30c8ce3f3e06854567b3d55f135fa8841ac8557bf836c09a7b6de50ca0675252188344af0e5f591c408c855547e3c7cb5c388880adb4c1009d7a3779797b2c92b203f9a4dd7b5bfa0055dabcde597a5d00233d548ff72779748db603477552d47f0851cb3ed3dcee5c80733a66cf384481117e4c7e24704ec712f37eb308ac2d60888a2083a50610efd4dbaaf77abdbacee5603d834884da270c09be076b8e8b17094d0b4c99c88879a066424487463eaf790d1757998fea333d8afc20655cb6f3f7a37fc36aae74b56e5fb9752077b2b385a799487cd7972505913b7b74749ec3eb518473abc97d640a75fa38d9f061806fb2f8cfc1b2e14377f82d4118f03e70da785cce7f75f5610524843f868307957a8eb57a3fc98c21c62eff4b840f0e507784247e4f7e4d52c4da709e1ee4849f815c10a5a20136840a49e70d45f01f4d7e6ab1da61e6a804f980600d8c9d303681c27e06b981f088eca8a77df36bdd5b421746e77f285dea3d04adef0c886a0d0e6b36cd3f50800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000870aa30841083f254f80149c5d73cde0806a8161c783989e86676078c5dbe2e2387562f085fac1173dd1c3e6f389b9c855e88c2bb31078c5ca1cc1df8876d57e64ac94daf1e992c585e5f360751c47dcef7ad7cdedc83e4bc6e380149c68d30fc947d085fac0d3d4cf4e2e7785e5dd9d198b3128de7973956cfcc4638e5280fd1a53b7a465a090870aa9436e64b80d2d8161cd4e1dc2653e3089b9d0e9195e9010c37ad7aed0f4d7a18c0680fd085770e335ede76e6c98fc923cab76108a4dea0d5e0115fb737df9c1a095d5100aac83f575cda7b12c1bff719be4a788eae7fe2d846a117a8ef4e568f283a9b045aaf32f55797df9b4b11f27be216e8469ff6531a798991b7bccb6d5de04f489ec7c62103448f04382cf8a4df0eda2a7dd598e83f57389ae5016997483a9a0a9ce0c2789117c61f5039fb97399c366d2908afc986999147fd28d659664a4fbbe7e327ab644436698ed841455671bbfa3a2fc7e3273705a433e3b1881bb92cd876fb1a7377b5e78fc10d67244b87fd28d99270030b55284144b9497929dc8647b5e6f236791a1d1cf8189cc1d5f77ad74de7c8726003cf63179bf808f769556e8f9d7a37f6ff1daf1224f97ae7c87255d6a564390b77f6feead12ee27a9b2891fcb6967d81e31e180000000000000000080000000000000000080000000000000000080000000000000000073d3a94930f5b2117b7f90975093145ed27b7f9084223d405162a28614ffb06cbcf89e9188b8f7b42c19442eb68614ef773f020bead38238563ce92ecf7c637bf5348dc12f5fef107bf51c2247e2af233a823865284dd9c6473b816b6c94482272ee5c7cf697096fdeccfaf0746edb20f5b38888f67cf6bbeae129f14ba9816b7bdc13ba5c23898b0a67cdf0171014f77f33962175403bca057d7e0b86cbbb471c677d7e08391b195debf57f33a0f7a137c25bc98b0a692b7527de4c076ab01f435a34bf0bff81e240f1606916e59981e225a18c2e19e580860c9bfd6ee330e8718c76f6c9ec9956d057860ca0c3ba81f4fd8982888b8410cf99d1e28269b6eecc7910e05e8269a5e87f0016e5e1828896d7ad030f75008f8da8faf2981002b480e6547ce885a42eb87f0608e941707f354880e64cd6fbb6ddd1148f8da205b55f28ced0776a5a0bc12e2aa9f27cf2c80d6de6c046977cf2c578ab057a13f37adf74fda59c6cf53a787af0e73c7deda25b7adf82a0af20c1c2987f617d77f51da4e6f5808dd2ee193f2902bd808dcf02c90279c7f87f6178a14ae204381884ff5324ed3768f0bd7db220bfe077c1284a7db22579546cc31f6b7ad8823613370b96d581012e9f3b8b7cebf17ad884ac43c77e67fc83f110a333d3be2a758000000000000000008000000000000000008000000000000000008c0418c515820d429381751dcd3e7b87fbfd7f3ba36c51b1f202bb81c179e38134eb0a6c7c4773d08967c72c2a7d03a9fbd84957ca4385ed9d81c01c22eb4d7c422a181ccb6e599f74b60ab37b4aad4c777d50164c61d11b043a7f740216e6b9de67f188fbc5369593c6d4e87cd746191dd538ca807d30995bce9367dc3d7f16dc1b63abd3038e72ef8bc8c4416e36057f9ff4ecd8f5c4b088864b5cffb7ccb189b1826bc0b5ca7ca2921f817c56fffa882526158a381e0065cfc7987d913fe915c16983588e826521a2efb12d3fb680c1c5234d956819ce859966c9c67ce25d378174945ec1c8e71a3d7e8d6587bba90af1c381b1681f92010b9d448c50e52692f8718fe4823bc407cf9af7f88680b4baf5dac86657ee696b97d701e06639ad81d1d005d22dda1a858624b52d5f50de5bc08278a507ef1b9267358e655d941f415b8bed800b2335a603f4b9037b1809d26bc64f845380cac171533a4df10b7d560ae52902e50488790a2b6ea59fd14e4980f3c399c6905bd271777008846b60ca0ebc7ce57a3d1c61c6657c7ad0934882b1c2e0b47f6d41f2d000bc3fd37a718869aa1f1e8ef07dde0e0099ba7f622e812f9a85dc14a761ca85694517beeb05671b7d9c76f925262a96897b3ab3ed06599e98e27fb1e3e900851849cc83f4159262b4e9e8a98000000000000000008000000000000000008b2f231edb841f7b3e7f20590260b250542e8184208f35e5d72ec67ce16d46b09256401b7c8965674c15c8bfa881f970f7f0a30804e47ce17714e92ff0946e74f37344302afd7d497d0f3051c5ad4a0d768622e68d9026aa0b3c7f20502aad1e2fd7447c896929d54c0900f07d0f3d495d719977bc89357c2f0451ad68df7f846958482aa447198b2f060bf5fb631d5f81841979dbccf15f7d81f97ce5f56e38eac28622ff5161b2ed4ca07f847d659ce9778d17722b030d85e58735c3900e2aeb3fd8c92c6a80963e3ea2944940358258abf3dd0c8d70457e25a3e16b26d5716b815ad17671296262e185b79a0febf2e834b980963d3fa2e87f5ea3815ad481253c0298f38c2fdc8563adcb4fb481a578bbe97d76db77900dfc76820247c7a58258a7431a3d882e2e85b7ae23d01226d84581a599fb38e2e2374c6853f92dd3ce7f3a23800a5c0db43ddf51b08125729ab6eadafac67b063044c1d0b9a1cc81257da5873ba239fc7985a4d84acf53aae77d42c6f4a04e6785de800a501e4aa23c73e97b062fc876401f81ef7d42ccc7d9c54897e97774f3b8815006edd07ad40616906831f20d81579041a2450f0cc37dc6daa8ee6d0b94517ad4110aa783afe95f7dc6d6bd028698860c85c496278f7202c3b07fb74b3c35a716c5c27fb74ffc39df5c177483f6af78751fd369128000000000000000008172244f4befa5731d7964bb0c0bdcb6e6c87964da60e8d27c92b680f9e154fa6aae7ca56a51d227f8b7dce4de80fa2543da5d452f9380f9c932990509f34d7c5c2e448822b9d2b77c5c8fcc484e083e7780f9ece3a711e27e8279649f9cd2e148159f6a51b28b47cda4edf87c5ca40cb085fd71036a51b413c06a4de50e796499d56223db46bd81723bcb6d64b5a6c27964cc96de2a7b543080fa07a030226a562e80fa1d04a2af6db6fb7964b85b29be14ad2781722055b5c17f4bf48682731dbe0608218b7e62fe647f77f329ca7e632e5727cf2cc13c912723d4966256362b7d6b6e517a15e40fb2912760241c9c2fa6c97e62d034368dbdfb067d6b6fea757db7dd1d7d6bab2dd4578f53db7e62e30a35f3504d628682978206a4a529357e631b406587ed920891275890b5de1d0f9f7e6318aa5b95e3c5dd8682799345234837cb824420e4f77e1c27af88005206ce792951b4880053f1759490b3418800348a03bdd348199835dadc5348b45eb1880030516ddf0f263c82442b1a2bfe345e89880036f9c63dfefe3588003430c91d63aab182442698ed49b6221475fd4b95a91f993e657fd72de69421ff2b6d7fd722333c05e88df975fd4668910bee01397fd712febd1f62e97675fd4aa4f58c3b78177c6f1601ecb6013ffd7c6f140a20c318b3a77c6f180d641e3a4624835f3358dae25df78b,
0x84c85eda48f5710fa0c800000001128ea5ab67800000001864cedc19a80000001e3fa399abef80000000386723779c47fffffffcdd1102794380004cfabc8ae6d35cf8000e8c0bef4e46c9f47ff576b5cd98a5e0eec80071d73522bde6ad907ffe3d9cf506bda6eab80181fb3c93fc77d48680064640aa08e05a8ab8009d4846a0f45d74427ffd48fe73549f687a8800105331b6ec1e23fd800017c459bf57016c1801a05946af68db4bc2801d80d199a62be8d01800726a41f8be9b0fd47fffe51f96d035ce585801065bba3dec7c5e48800d542dd50fc6e57467ff4cf0839158f0249a800661dee6136f7de74802030c6759e7243ecd8010cd5c8d13c5a582480094dffadb3909f6f87fc0163f0f02954f94a7fe933fdc0179aad2907fb9f29728dcbc4fd1280104b9ac4ccb64e8137fd8a1e682c067b35ca7fdab26a3ee93cf253d7fadad38ff9d6bc515a80209268f07c51d9fc1802404a3833fc8389bb7fcdfacfd671d90c129800d5f5835de66f08ed7fc69e15d0b169e3285801f4179bf3805a945d8022f37766068638a44801365a59984740dc5d7fe52eee7007d7a3af0803dfbcf4ea32ff7d347fd6f5b45c1d5ffb61a7ff86c9e7958c4b04bf8024add861ca69e01868022e929f79dec092637feda2bfcf9b5ff4336802b4aab425d49a37dc80258a313c13296e1b0800f0d0176d576b80348015a29b041d4048d3e8012a87033d832a0a008014bfaf6acd9d69611800000001128ea5ab6785d1119d4c78b1fafa97fffffffdf1ee3cb4db7fffffffc199a70c7cb800000015c1eb28e143800000017f9a7c425f680012a696afa4507a7a7ffa9caf43f6903c8568007f9a0c9ab2bc9cac7ffe0b501a4fe6ce2ac7fffae9e2e70b94672f7feb532e4c1e2e1ef578021d86ee398e81ae4c7ff30ff018d6125d8aa80056bd2d5e687a41327ffdf265b1cb28fbf577ffb746bc80f82e855c7fd7ad965f6ce67bb207fc48fd9c9e60435f987ffe7b4439d3a6cb01d7fff8068d854128a644801646d09a3f925a4838026c0468fe0ee7bfae7fc39f44926155c6b758021e450ec3053972628062354826d9d57a3737fd552952218a24593a7fe56eeba98efcdf6907fe924965e3bc4a86b7805320dff1e384773f5801e51204be09d697f28002827b2007a2f1e967fd39975869787cf9bf7f93e35192cb49d015f7fb7dd818f63b1529b68013c74a67bc77a099c7ffd0d42020d1685ae27ffe75b49f770b4081180377b783dfd87590ab802e54b4527a85bf44d7fa9d997e505e9b2bff7fcc9ce9bf473c6d54e7fe88661720a6d9021f8026f2654ae493171ae7fb548492f61c87191d80175d383b6d58832ac7fccbd7803c69cb2ddf80003d7b55cf431787a800817d7d5add062f508017269036f9dac55b180062136566abb7c242801e666aec5df3d2b8c800a80c601d132da4db7fea7370eed1cd3d253800f6fae53882e71d987ff214908fe3e5d816a800000001864cedc19a7fffffffdf1ee3cb4db85223448cd5a62ac1007ffffffedee76d471fe7fffffff7319b895d4d800000013b27d426a1c8000c724b21482b8cd38006c1bcf3a94297a34800ec2368d0303f51ad7ffd5abe184cdc776117ffe98ec58c1d8acfc87ffc35b6c9abc53daf28010edf3e2b5adfe3057fe7b7a7ddb192707e97ff978d78dfa713b7877ffd9732c94fddc07ec8007012340682cde472801bdf18ede9b2dda378017ec2bfe7e5836f24800f7ed78ccf0d36e8a7ffd8cad4b3e23da7bf7fe57f25c1e8c42275b7ff89fc3e60840e52317ff62def516e36e0a6a7fbc48abc0f7638d9c57fde6310f403e2d9e6b802f35f30dfd0a0be46800f83b99e408bd6fd0801e470117481111b89804652a4ca7676d5b6f7fd51e984d8511c30cc7fd3e6a835dffa2d00a803a9661cd347ab7a297fa433bbf9a3f200d4f80454a5591e682050d58019d14e15cab0e46187ffd023a2568984b6f780337aec2014aad02887feef07d4258a7bc2d97fce2cb57c35ccb3ac4801c18a29758709b37c804aa4ebf12e73166d67fdd2671d5736a2fe4b801489c24cc30404c637fd473f14273f106a5b7ff8cc71ce206e0256a7feac0547693cd15e227ffcddaf52ab7e2752280106aaf8f86aa301257fda8633e90cd4e8fa07ff11319c52639d722d80114c917940b9f83428016c86a4dbff6fe3407ff989f84a3ad8dcaa57fe12ff1db242e112a07ff070763b41c55f18080000001e3fa399abef7fffffffc199a70c7cb7ffffffedee76d471fe85c543d0ce64bcdd92b7fffffff94befee1d8c7fffffffbe40d06b1117ffed96972bf0602e627ff91616b748f67c1a8800f5ddceb236487f3d7ff7f9267334f3d9c7c8003908d2972e0920c080171d87178157a234b7ffec4dbd9ae79fe1307ff9f95b4d7650187c58008d06f308e871d6187fffd54819b8d2693788002dc54e4d2af26345800c6d69a55d7b7be9d7fd44583a2c8d1218f67fed947beb256f128998000713b9170e6cb323800cf3178455789b8b67fde2288586fef242cd8026c8ae9320c7cd59e7fe94c1d03a51a889987fd1f911f4695f53d0e804461225c70cd40b047fee153fac02222815a803ae135e4d4c1241e78073ec32f08047da4517fe5da26c3b1180039f8002fd751d66b1919d7802e372f57882e2a16780642536a493243ab1f7fdbe34368b1087b2387ff23605688f1a40ce38022ba61b64a846b4ec80190f94a68a0031adc7fc27db8a18e77895ed802fed3abafca7839de7fa703abfd6171ca2057fd59751f0e3e26ac6c7ff4a3f070aa3e763a4802dc73f7f8a1d5151b7fcac620a0088b6051780240811272ccc9a37f800d0bb195c981b408f8021c8f8dcc565c08528038b6775c010090b368003b4bf2a7fd75ce50800e16a9dfe5efb21878026c8c40c04adc84f77ff537aa4b700169fe480134eb91c21c2c7b1d7fe57cc5c0c2de350687feb8e808060b80e57780000000386723779c4800000015c1eb28e1437fffffff7319b895d4d7fffffff94befee1d8c856da9825c762d201817ffffffdb91fb23f5307fff37d5fea7c6302f88003f76979df278a2be80064ef3a97a1ba7c06800056418121b81aaf38002f29a50948cf046d7ff6d901370abb7787a7ff2594454549b75ca98018ffa61409c7c116c7ffa107d7410c86de487fffbed54ce75d71fb37ff187b2157f0deea7d7ff7c3292fd8954a4027fe18816d709c2bd02b7ffab4f2554464248ae7fffb642e41449533b6800b49ef2ff7438ab1d800d8940da4845869a67fccb3c873417c6f9ca803b48779c706c7a4ed803a575a88d82449db77ff7b2fa0393ab58dea802b14a0895562dd8c17fac571c68381e3e75e7f852375698ec90b56a7fc188dd980fe619f9380151b8940639a07353802598806f6ccd2d52d801120b4bd141363780800bdcd5783e3c2dad97fc9b1e1e7e7bfbb9bc8024f451f3a40e7d5977fcee0796ce019117827fe55e56245b0a1dd6a801de250188b109fa518045997bc249a8053b18051e9ea275281fcc447ff27e0f81fce6e50c37fec210c80a81dae0e280494cfa662df2ee176800a899d411a4d57d077ff1f0fdfc6b23860437ff4d550927dd9da352802968b2407fdc5a370801cdf85078f6279ea07ff57d46a6cef019e107fd67e01ec0570410a38003a08b85d6bc21be67fefe2cec90f961ff687fe671bbb4d1c2db9747ffdb046c1d550332d27fffffffcdd11027943800000017f9a7c425f6800000013b27d426a1c7fffffffbe40d06b1117ffffffdb91fb23f5308559470657143696c8e8000bf4f2082e20d7938002a46967397c993e67ffc0745282652571ba7fff1d98ed6b25054ba800225770d8fdac32577fe741257818485a41d7fefe5b4232fc5f36da7ff52ec2065a653cded800576797c98821bd9780007a839ca7e3603327ffcd469fbec3fbe4e47fdeb969afe45f1ad237ffdc628d277b2c63f37ff4635eff75d8290c1800097bee9e152b8eba8001c697ebedbd0e42180033ffd3e1ae0ece0d7fd420eaeb9f6cb2cef7fbffd92031648a891780366b655035b0d00d37fd62e5eaccda2ecbab7fe9078fa0921c075e87fc56d997ddecadfc5b8018c7804b8ea1910dd802fc80cf4e4fdcfde87fe6f3e1dab8b9304d07fc5fcea63491b9f61c7fe61ae9401a68821167fd4acea2efc69b06d37ff78e168076c657d167fdf2be4be848628b7a7fc5a6d25da008830e08028031ff414d22d2d77fd4bc5a31fe92b2acd805b7d809609ec5adad7fdfe368aaf7d339c9480196b8569234bbb16080258a305ac80db495880473b066af730cd05d7ff2b9e1a3bfd629a117febfd8b17df1b0c8e88030d4f97e7d2c49fe27ff5c2ab407313568007fdb8ce1cd7caabd16d7fbfac06059458f59987fcd08025412e955cb180145d8ef8f0c80c112801195efb17eebadadc80065f0b4fcb385540e7ffa3d4967f21185dfb80004cfabc8ae6d35cf80012a696afa4507a7a8000c724b21482b8cd37ffed96972bf0602e627fff37d5fea7c6302f88000bf4f2082e20d79384c4c851f8cb7eb82037ffc59870c5bd4c9030800c1c9ce59d8dc31f67ff4b02d2d7f61329e880041e2501ab4c91e6780090083403da8ba6df7fea6c105fb19c8325e7feb05323c3506690f68001ec50d02011593638001b8299bdb56823b67feb17f95eb163e60cb7fe35af4a340d60d5fb7feb66e737f5d082f4d800bb0cdf23a14d878d7fff4eddbc5f052fd5d800c76d5a70c63513f37fd1264feb4fd1353747fcac5a546f5f1e9d18801f587d983b4e2a8517ff634966ff1b87863480436ab3281a616f6db7fffdc6dddee1ef636b7fc716165b5a0347ea58020c196d215f39114680236f4d2e6bfd7fc72800a74776a7788d1f6f80074e451b33b8f6e8c7fc51cfa975745353be80150b8d8a139ea8b557ff83b6ecd57fe2bc5e7ff970bdfe3dabf1c4b7ff87efa4a68b4b4bd4803656673f6f81fd9da804322839a35d8200547fad12f71a6c0c4fde57fefe068781c0321ba77fe989c584f15f33a5e7fba2360e590e351e3b7ff3ccdc22f998ce3758025ccc00cf41ff6481800e5071ff1972ffb9b7fd6694ea2a18fbfb9e8015b04adb736fe1bd2802eca2882f0e33a0917ff9f5accc687b9e5c87fb9a0b7fc58e5c2a048002265f6f3967e53c67ffa0e9c8daf9818a12800155a3afcc68e628e80059b007d49dcf190f8000e8c0bef4e46c9f47ffa9caf43f6903c8568006c1bcf3a94297a347ff91616b748f67c1a88003f76979df278a2be8002a46967397c993e67ffc59870c5bd4c903086496fa6abb06a4f54e7ff007c1b64d357ecc17ff60c60ebc3188394d7ffcb3f25e024f0dcee8005f0fe9b0ebb78ff88013c8e4534ef452df97fe74683668bb5bff018003fb521ee1a109d237ffe592aced3ccad158800958c8c5f926bde277fe7af7b6f73dd85f3e7ff4379cd996e2bab3d7ffce32b82888d49018800104727e275e9178f7fe795e3cfba895c2297ffe4694f7991029d208006647dcde77a684cb7fafd39f1c64e7a1661803a7e46da84be9a0e8802993eefbac6dbb1668041afbe1faee2abdc07fa88844df6b2e32043806f336e9be8074af978035b1f9f28e9b7527c8019bee687b7f64f5f08024e639c15fdb1d01c7fed9a329062304c17d805b50f17dd1a3317927fee3c6a59886f0481f7ff5402fc1b71d3578d7fe9215db725e85d70b7fbdd6ee599d84ef0e97fc7b0c4f4af8d9e4107fb7664a1104ab17a6f802890636945d11b39580178a168755285e4187fe47160ad3382171808043659f91be4fae2f380122957f94f5679f45801504641f1e0d1e8ef7fc7dab100959de2f777fd6442996f22a4b9f480033e9133d6a13f171803b415c0863cbeabf380348e6842d86e82e7a7fef25a72cac108e12f7ff7b43e831033c40a880180e8d8af89aa37f67ff783d98a7025f281f7ff576b5cd98a5e0eec8007f9a0c9ab2bc9cac800ec2368d0303f51ad800f5ddceb236487f3d80064ef3a97a1ba7c067ffc0745282652571ba800c1c9ce59d8dc31f67ff007c1b64d357ecc1851d1a6fc22ebe4e9967fff17e879df1ab43cb7ffc42db2bfa9fcc07a800dc72053ca73332cf80214ec3431107c0fe9800f116871f5c1c22a58006ccb6a9f7c55e1bb80012d461983b9278207ff9e49677616ef88cd80229f15456eb1193a47fc704a6f7d23f34d707ff4b8fd94cba062555800125109d97b0c7b087ff1b499ae1a6a2f24f8003f8d54207d4d17be7fece70647834157f977ffcef9d5dc1f77e153804ca3c4b856a2be6bb8032b0f1ef0359356637fdeaa8a598cc25ecf37f9961b6e8c6878e58e8033eca63becff33127802179896173ff3a25a8004afd23ff88b05dd27fe052817dff03eb0667ff32e963f516da1f317fd1cb5593728e609ef800cd16b7b2bd3017247ff407d0e976f12e4257ff7bd90d23005749777feb16b919f2362cc797fdc27fb2af49c95064801e5fc6df3e79cbb5d7fef4dafd75e6ca5a5a7ff3c6788583c28fd66801b068f830f0d18453803dabb59443d7550717ff5208618094ca87da8032cf94dbc816d3eb27fd51fb6d9760186b0a803e1c4dfa714bcd3be80062b0208014272d8780311d8be83e16e83ef803596b9d516fe555167ff595d0a88f1f9edbf7ffb9f24d6a03cad8568011ed9c52850e90e807ffa0de18c57070516b80071d73522bde6ad907ffe0b501a4fe6ce2ac7ffd5abe184cdc776117ff7f9267334f3d9c7c800056418121b81aaf37fff1d98ed6b25054ba7ff4b02d2d7f61329e87ff60c60ebc3188394d7fff17e879df1ab43cb84a9efa4105b760e6997ffca4ab51f38f92b7e7fe86bf33fe24fcacaf7febfa489a407bfd31a801a37941121fd0da127ffa96c9890f28cfd707ffdcc6f64cc38518ea7ffcef57b763a360ef5800edefc22ddf88a5c87ffaeaea2c2733bf8897fed2922acc6d35d0f47ffe5809da5cf8dffea7ffccfb1eb9f4c6d2cd7fd89490f26eb5262117feada21d4fa61ffe587fd628e791ac3ba4a2d7feeaf6039628035e88803de20823b6efed9fd801f67a66819c08222e7fbbe72b8916f471fba7fb6287e3c9f5f17aa480285b5a5b1227dbc05801179e31f792aa691d8017e111c2b5ba3a9a5801849d9cb924d2a4c27fb865b3f2e17bc76057ffcb57f07c1880779e7ffbaed4c683bee157f80105aa41a20a256bf17ff42bafefa38d8f64e7fd082117d8bef7d1277fe2ed3171b89cc11cd800da569180bf974ead8013407da76bb747ee37feeddb04762d6b75d67ff38e76e0ede89976080215320a2a3f170a297fd6f536600901e25cc7fc4078c1816685b3078020b2eaa2cb881b1417ff826510a6c6e19fb78021da24e19435550897ffb5489c80080b09477fe15f537a38423eb3f8010be808b8b426fd04800f4b37b4ceee2796e8011ed0fef29a0242427ffe3d9cf506bda6eab7fffae9e2e70b94672f7ffe98ec58c1d8acfc88003908d2972e0920c08002f29a50948cf046d800225770d8fdac325780041e2501ab4c91e677ffcb3f25e024f0dcee7ffc42db2bfa9fcc07a7ffca4ab51f38f92b7e861c883975d9478b2817ff8a40ca0579f9bbcc7fdf00b17f7aa5a7b677fea77449605622f65e8001d14a58e1c847cab7ffebec7f843d0789a7800ca080c012c6f5325801d74abe5d5378ee047fc0bd6486e854d61287fefdbe579ca756628d8000b11a718b590d9288008b12794b10edc9f67ffd4506de6ef870e708025ce2d9245dde6700804384fe1033d8df79a7ff29c6add4eb8535a37fdc69b27d4f176a1a7801f514428310689dfc7f864e0a2d6b8f3eed98063b169eb48ae97ee07fc0caaa5dbaad4c4597fe9955ae50174af9f37fdfb7ace564ffa572e80255089c82d845f9057fa23938ad30bf36849801e6dc7569493187847fec22cb722625aa6697fce56a810e1d873e5c8037eb36369e6c6b40a7fb7b4c6a47e63a92407ff06a1cebc7d7e6271801d21a0fc126655085800cb14be1d781f33da7ff43142c4db2c12d6480309b2fcf1980f255a7fe7b3231c58965c61d802829a7ee2ef858bc68027015f9e56a51dba6802d56b5c5e24a367218009344d48394abb342802d248c41e8985426780367ca912e66608c877fe9df22330dd61dd237fe6adec6a20ca16d167fefef28236d64567928005cf5b807da8d029580181fb3c93fc77d4867feb532e4c1e2e1ef577ffc35b6c9abc53daf280171d87178157a234b7ff6d901370abb7787a7fe741257818485a41d80090083403da8ba6df8005f0fe9b0ebb78ff8800dc72053ca73332cf7fe86bf33fe24fcacaf7ff8a40ca0579f9bbcc86a07083e48012255eb7fe42a1ff98bd2c90b97ffdd025be77ea728a97ff7640209fc6899be67fffb12d9b8949314818018dc600708be3f0857fdff3270d4f3f733487ff9a21731eaa4b1a528006ac1fdbde97e4ba77ffd815f8d5753a46797fed1a6fbe133f7f81c7fcda985a996b27d9cc80203b5a9f64f5956cd7fb4498ed37ac2c9c1b7fd2b3606c1e13a101a8021a8ccc2e13287c1d7ff517bc162182d7f2d8060ec8782af6e067808045b14ee605083713e80190df5f236a9ebb8f800efee3a1514ea93ed7fbbf2b6963c31386307fbbb25f4bbb5df2e26803d314a786d77789098035ace36ad98aff55e7fdd8c2274195cd859a7fbca1dfd2268b40d917fefad5b6ad107423db8009a792b0a31fc3ce3803e85af0fae8be31c87fc5fa955c729ab07617fef5dda1e6f7a4c228803d3e53d8267ffdd878004dbd70ae5992c6db802750c7cff7dd41b6c800dc01b635c026fdaf8037178142900b56b317fcda64d960f593f0008008343049eb4cf71ed802dcad50aaf11ba5b880333bbb153caccf1657fe2d125b6ee58e8922800401334cad21b2c1c80009a87f30a7ace7d67fec907d3c5eb73b52680064640aa08e05a8ab8021d86ee398e81ae4c8010edf3e2b5adfe3057ffec4dbd9ae79fe1307ff2594454549b75ca97fefe5b4232fc5f36da7fea6c105fb19c8325e8013c8e4534ef452df980214ec3431107c0fe97febfa489a407bfd31a7fdf00b17f7aa5a7b677fe42a1ff98bd2c90b98660215e7116e8ccca4800c7c4cc5034238fa68008509b80c8da8a9c580008ac148e255d6ad1800f0c0250628a181b5800802aedc31d70eb41802be1c0163abf7971e7feee3a16eb73f04b968000fba1edf6be3fa6a80019a83f78be3f9215800291db7da38d41c9380098ef246696d5b66c7fc3507343d848e7a9380271fc1b3f806f12987ff225116faddf3b2ab802cbdf1552cb9910738017da8975f4a230d1b7f96537fb00f67e18b480329f9a1239c84810980104e8fc568dd2a66980175c7345fc4aa799b7fd68ac72534425dfc58004c5f8d33311196097ff8957ce44145d02117fe63752c73067f96bb7fda003a40c2be570ba7fbb39203bfb171833a7fc7bcca9a2bd64266280543acb667bfe821e28023c7c0e5ba4b4661c7ff63ded5bf2e0a97988002c1a65b73959d9fb7fcbd650ea5bee87a697fe1c197ffeab6bf1637fe8c1054e878154e4e800b04ba3aa8b4b82a1802da6b0b8e2f986c837fdacad28718426d7418030dd79d2fd4da3eae803a20f1c5a5cc98e2b7fede8a9117a4b40bf77ffc465319c571d48257ffc70eb0dce8a182927fe714de04d8a8a6c7b8009d4846a0f45d74427ff30ff018d6125d8aa7fe7b7a7ddb192707e97ff9f95b4d7650187c58018ffa61409c7c116c7ff52ec2065a653cded7feb05323c3506690f67fe74683668bb5bff01800f116871f5c1c22a5801a37941121fd0da127fea77449605622f65e7ffdd025be77ea728a9800c7c4cc5034238fa685d4b0e1f12f46d3df87ffebc3bbaa197b5a1e7fff1fe57c2ef5ab94f7ff9e8889d35bfe77c480166b522a4e2b6eab47ff63e6f7f209f4612f7ff5e9b31ec03e1f8647fff4ef2c0dd4c5c8e0800b67c844ef25c78e580042cee55d942549017fd5c5b9dbf6cb17aec7fdcb780daaffa345727fe6499dca5a890252d80227a9d36e0c148fdf80151bbf39dbebeff61806d0329b376ee095be7fc328fc6e8f00908957fe5a0507d0a4ca6f8f8016df99ab94d4bb0df7fc513c6ac0e3a802e77fae41188aa5b163ff1802f66ade6c77be9b688020de4bf8e3f34b304801815c3b1cc62fd42e7fdf9baa6eab8a100737fbcb571513341f5dd6803864b0108ee2094c17fc1b9ba32b620962cb805304718ca7e90d6d47febf2b3372efd2506b8028a913437181c3a5b801b20ef45445cc149f7fda3991b0b2190bb967fed50b1408d2688a967ffa65a153bb0ee3d347feb0604dd8f984e7067ffab8ab800a55671857fea4222d2080c644327ff035adbb0eac0658a7fe8dd3f1552211295b80037b68d5c7593e9a78016e5649894afb058c7ff594b724883441d147ffd48fe73549f687a880056bd2d5e687a41327ff978d78dfa713b7878008d06f308e871d6187ffa107d7410c86de48800576797c98821bd978001ec50d02011593638003fb521ee1a109d238006ccb6a9f7c55e1bb7ffa96c9890f28cfd708001d14a58e1c847cab7ff7640209fc6899be68008509b80c8da8a9c57ffebc3bbaa197b5a1e85efb02cd2db25916cf8001ff28be32d17353a8010937a96f10f17f237ff613c62a6b62cc3b47fdcb03505f7f7d89d27ff6ecd79b3ad830dc17fff73167486dbe7c0c800ea2106304777dbfc7fdd819952ad4e59f798012db2dccb200df71f80229f660e12d62f80580141bbc63052416b187fe8ec2da88cabc2a87800c497a6d10b1e2bb5803029c0b11c1bd81247fba37639c810736ffc7fbc7f1de1cc616163f80044ac2e23197ac31f7ff722bc59e359e4c6a8075177afb32980909e806031b4ac9d1e2200a7fe7626e87e28f6b512801273ec56654b5e3707ff2ac815e11b346c9f80331baa166a33352f17fafd9694fbe94b41a480599442bd5566d3e2e7fda19b77a69c60e1347fe1275814fd7ffe44880305cd663d8e75b21c7fad64bb4681081fd53802b3540f3a2867fba28018680c4c965da0fb87fd92087002a4401d5b801bfbe0b72fed6df637fc9bfd284f91723da37fc8cfc558bb82e8b9b801272287e049f2450980016a6b586d0d9df8a80129beb6182aa74cf37ff4ad8ec820976aa0080136ccc0559afeac79800105331b6ec1e23fd7ffdf265b1cb28fbf577ffd9732c94fddc07ec7fffd54819b8d2693787fffbed54ce75d71fb380007a839ca7e3603328001b8299bdb56823b67ffe592aced3ccad15880012d461983b9278207ffdcc6f64cc38518ea7ffebec7f843d0789a77fffb12d9b89493148180008ac148e255d6ad17fff1fe57c2ef5ab94f8001ff28be32d17353a84e546b1275f12378b88010c94e7c34a4e249a7ff89f9ad5e1841533d7ff28905b2ee494ebef7fe51f97b789238ef8a80008b05c4c1510a5ed7ff99822f747fb0c3bb7ff2bedd41eddfb4ad57fd0fa195f28b7f38d07fdc4860b7aadd7fe198007e49530ed19ea795803c5f8ff2bafe27e46801c29e34117a2f30f17fa39597cc2e21381de8003fa3785f0becce247fc9729bf2ad1234f037fed664b670f72c87a68000b951eeeae10a0eb7f85db5c3d40ba0eaf87ff743f96d9bd33e9fb7fcbbf1a421ce6d0ca87ff0d72b7d84db77a8980238d34a5424f88f67804265c0280bd56375a8021115bde1ac20b8ef8056635a916c0b074ae800ea65bf9f3fe48fd67fd337b97d120aa2d957fcfab0d479d52db7147fb9e9d59a4cb5e97aa800130c88aab413d878800a79986f83346aacb80035b3b49be33b0677801d9d6d9d3a8becd33801027f4426f64f0b1a7fec230cd8d1b51a4f67fc109e15874ee4ef217ff4e34aea721fa653d7ff76f7ff088c5f0f6d8014bfc132545653f167ff21f5938c7c014968800017c459bf57016c17ffb746bc80f82e855c8007012340682cde4728002dc54e4d2af263457ff187b2157f0deea7d7ffcd469fbec3fbe4e47feb17f95eb163e60cb800958c8c5f926bde277ff9e49677616ef88cd7ffcef57b763a360ef5800ca080c012c6f53258018dc600708be3f085800f0c0250628a181b57ff9e8889d35bfe77c48010937a96f10f17f238010c94e7c34a4e249a855844a06c7e48d8bb98023683d0435730465f7fc8f1dc3eed5055a31800c77162dd9d5de35c7ffd94505fe6a1c7fcd7ffd0c7a46b20f4f0d27fea8dbe5cd28a5470d801376f8b82ef7f943e7fe625f76b0179593ca801dbadf7989b7e427a80007d92fba0f6b6b3c8035c2cd88fdb97086c7fef3f9d238dc2db4cf7fc6b2767f0c9252d747ff73ebf0878f7690917fdcf05176f40943bd77fa642bec65555d258b7fe1ba75d7b4b338f8680204794d22bc985da58026bf254bc0456435b7ff9501e912b948aac380065e9091bf5c670ef8009d5119fad6b4d2c07fd1e9473523acdb47d7fde9110626c29af8da80121976ba6840d69597fe05d8f9835dbfd51480510418a316e27d481801e476a9aa44fa2f5f802de7708cd068c7c2e7ff09b06a3b69c2d5757fc2865424bc04e72ec80341ed7db795d9469f8023d818e00c1256a3a803ec637558c19418a17fedd17ea90604c0c0a7fe82efc93973b4b7c17ffaf743a8e017faa62801570ca2781c40f6fc8018519b81e443365d4801a05946af68db4bc27fd7ad965f6ce67bb20801bdf18ede9b2dda37800c6d69a55d7b7be9d7ff7c3292fd8954a4027fdeb969afe45f1ad237fe35af4a340d60d5fb7fe7af7b6f73dd85f3e80229f15456eb1193a4800edefc22ddf88a5c8801d74abe5d5378ee047fdff3270d4f3f73348800802aedc31d70eb4180166b522a4e2b6eab47ff613c62a6b62cc3b47ff89f9ad5e1841533d8023683d0435730465f864a0db07a6c83ff7068024199dcbe73de86cb7ff0bb79369747fec57800078bc8e65742f8c07ff54dbbfe82cb840958002f7a6d435c4578277fdd02da4d1db7145468006da4446734f8e1c27fc61b3fe660169d9c2800919664248361d7858033dfb3e7c3f2a97967fc2d496ea4c98967ed7f916e494236066bbd98047cabcee19e994d23802a724f8525d03659a8051376f097e8c1fcdb8008f148c79d6fa78d2801ad6ab481501ca5c98032831d89965e832417ff9cdec2f8c77be45e80011bb95b3bc73f955800db9861400966bc877ff2d3338d792920c617fe5a1aa29ff6e135137fab1de76297b0056b78011487575488bdb49b7fed839d5c858f1df268020009012c193a33027feee986a54237a56fc7ff960a93b693cb9ca9802e5dda9ec6173152b7fcc65946a57fdb4b487fc2d336d8852be9f167fe2a7b2caf02640e0e7fee0770118bd0bcd817fea6903f7024ff20237fe355010875e0fa97f7ff88be37a5b63382a07ffdeffc99390c8d058801d80d199a62be8d017fc48fd9c9e60435f988017ec2bfe7e5836f247fd44583a2c8d1218f67fe18816d709c2bd02b7ffdc628d277b2c63f37feb66e737f5d082f4d7ff4379cd996e2bab3d7fc704a6f7d23f34d707ffaeaea2c2733bf8897fc0bd6486e854d61287ff9a21731eaa4b1a52802be1c0163abf7971e7ff63e6f7f209f4612f7fdcb03505f7f7d89d27ff28905b2ee494ebef7fc8f1dc3eed5055a318024199dcbe73de86cb86a96f08622a6fafe617ff71957e689d86ec2e80005159e41eefdacdd7fffa3e7f43fa9eef907ffdf7d45bd296ed0517ff804f91403d8c11a27ff469d63d84cd343917fca8070c417d418d2b800246c037c4890c9887fc04fd7e3c512fcad0805e5f451f0767d6a12801916dad54746ea45b80128c15a1a286d9c7d7ff5a25753790f9386680440b0bb948dc636717ff0078dd74017f34eb804845ea7ee0d17419c800ee4fdb5585ee88c0800d0808890f015c8dd7fe24a360e2e72152eb7ffbd33be481e632cff7fcb4ca3cef7273fc2f7fecacbb098495cc4f18004de05b9dfc46960780069f4623635d73a317fdb0b1d4bd85f7bf087fb99c3a630dcf17fef800f152c0ffb3a0dfbd7fea8d2c0ba7a68f8737ffcaacb824d1994ba77fc4ce5c5151e9284b3804233fa00832cdfc657fef4edd3bd7bb4149c7fd66a94118774e64e17fe1c2a92ce7e766ea0801ac8d9c695fe0a9ca801aaefd75aa12717d87ff4fe2e36ae052a161800726a41f8be9b0fd47ffe7b4439d3a6cb01d800f7ed78ccf0d36e8a7fed947beb256f128997ffab4f2554464248ae7ff4635eff75d8290c1800bb0cdf23a14d878d7ffce32b82888d490187ff4b8fd94cba0625557fed2922acc6d35d0f47fefdbe579ca756628d8006ac1fdbde97e4ba77feee3a16eb73f04b967ff5e9b31ec03e1f8647ff6ecd79b3ad830dc17fe51f97b789238ef8a800c77162dd9d5de35c7ff0bb79369747fec577ff71957e689d86ec2e853213cca3c01ebc1388001d2fe2db9047eda47ffd43ae7f10981c2cf7fd85ac9a97ca02a7b97fe004f1ef209cb8faf800c3a9d8d1391e32c480205dc7075085dbebf7fd4dab54fe431d69748011a74015be2dcbdd0801476fb00e37f9d69d7fec158f64dbc2e51e67ff62e0ffc82b42ab0b7febf1a0e202fd0f860801b884e8c9ad341c648052d7ffd6298a8f8f9803c08ba6269c0cdfd8800bc0e755ff022c8ca7ffa8443f32e8d75d3f800ea84580bf8558f378033e0035a07eabead37fe69270b486f6981d77fa0db6ad1e23a75b2b7fe2ceae08e40fc79138004fb22b77e999a8767fdb3867bc0789fbaca7fe7300da39354f73268002fcae8ca5bee2c597ffcd9074f9910b55d17fd0061c80feec94e49802cebaf6bfca2b4f1d7ff587dd57516f2bbba7ff0da27b8fd75460727ff7f7bc580a3e3f5b27fe48f4db0f94adbffc7fe21ceb6bfd173b90a7fec87142727e1743c6800ad8f109aa3649f917fffe51f96d035ce5857fff8068d854128a6447ffd8cad4b3e23da7bf8000713b9170e6cb3237fffb642e41449533b6800097bee9e152b8eba7fff4eddbc5f052fd5d800104727e275e9178f800125109d97b0c7b087ffe5809da5cf8dffea8000b11a718b590d9287ffd815f8d5753a46798000fba1edf6be3fa6a7fff4ef2c0dd4c5c8e07fff73167486dbe7c0c80008b05c4c1510a5ed7ffd94505fe6a1c7fcd800078bc8e65742f8c080005159e41eefdacdd8001d2fe2db9047eda4849a23c88f7946ecb907feefd946e38d3184147fe3dd5b4bf414419a88030e1f2f0a18560c0c7fddf27df0e061b256f7fbf54a9896331c9fe47ffd4816d0d48abed687fe38619c065dbfb1c67fbb92dbc254821ccfa801e6a56a4c01d30ce57fff04a14e2efcfe1ac8008552b5a0295340b28025f8ef9324b9964558056fd7dd4a6281e2cc7fd28e58280078c7fa37fd2b2761c661214e137fea03a27afcde7d770800e378cb232f8fe5db8004aa0610260d0c0bd7fb7016cd8f7b04e7807f9dfa40b36b8d47bc47ff1035d1f90f41051f800a99005506f3623e17ff1cdc1ef8cc5b5b997fd3419bb1e3d43c115802ccee1fa33f45bfb1802c96b9ca8c644194e7fee0c6021063de26a28032801300d3d0f8ac67ff10fb1af44f978097803ef31ff2e8cee880e7fcfdf8b2f27c573426800aa708e5bc26abd7f8000e0a87e51183b613800747550337447a2bc8001e3f50661ae806e0801065bba3dec7c5e48801646d09a3f925a4837fe57f25c1e8c42275b800cf3178455789b8b6800b49ef2ff7438ab1d8001c697ebedbd0e421800c76d5a70c63513f37fe795e3cfba895c2297ff1b499ae1a6a2f24f7ffccfb1eb9f4c6d2cd8008b12794b10edc9f67fed1a6fbe133f7f81c80019a83f78be3f9215800b67c844ef25c78e5800ea2106304777dbfc7ff99822f747fb0c3bb7ffd0c7a46b20f4f0d27ff54dbbfe82cb840957fffa3e7f43fa9eef907ffd43ae7f10981c2cf7feefd946e38d3184148674902cc4c14436bc9801d07346e61423e4e8803561b9f23d03f0437804132edf36a06efcb280129a6ab7c7c0afd46800f9b1cfc2884e55f97ffd0053262ed9889277fd4ef4ebcd2853110e807156128592cfa41c57fdb333ba48e212ebc27fe178a080e2824b7288034c8d8e35832519607fde24f0dce7b170fec805dffc4138c1263a64800ea240031ec49a131800070281e51c8c03a67fd980d7313dc72a567802a16e0ddb8ea0eb2f7fbdc6714737bee9d8f8066487a5d347a0393f7fb371cb04438a44e4b80077d28630362ec1807feb693814241f547a6803e6a210bbadd3fac07fd57751a6fba823f008018e44dbb40e392007800a16994f4025ad93a7ffc6c4b46c0fad501f7fef168b14e0217af4a80416f10c052f16302d7fc79cf91c613de76767feed05c9c0abf580867ff74d28d23c79772c780136e3791f4721e7407fea63467bdcf9c5d83800d542dd50fc6e57468026c0468fe0ee7bfae7ff89fc3e60840e52317fde2288586fef242cd800d8940da4845869a680033ffd3e1ae0ece0d7fd1264feb4fd1353747ffe4694f7991029d208003f8d54207d4d17be7fd89490f26eb5262117ffd4506de6ef870e707fcda985a996b27d9cc800291db7da38d41c9380042cee55d942549017fdd819952ad4e59f797ff2bedd41eddfb4ad57fea8dbe5cd28a5470d8002f7a6d435c4578277ffdf7d45bd296ed0517fd85ac9a97ca02a7b97fe3dd5b4bf414419a8801d07346e61423e4e887185a303e7c9726a187fd2ad5737ac1d71bf68025a344f7df38520d28055bdba84ee131a0997fcde0335a13655d47b800444733502ede3d9d7fbd84e02a5333d42c87fee77c7d8714e59e978011837fd5744d3fac3801f5e23300dbae53ac80122d6f96f9332ee447f9a4145e29818848577feb51e99b81a6096c67fd48e62bd71a780d407ff2e57cfdd74078e4a7fed7b2e1c94cc2bc1d8017e2029f19a06d211803c177c06d796da04680560b4bd1f651704d2803fb972ab43b6de7558016d5abb25e61b96f27fae94ed5ccac909e7a7fb5c3fad976bd27262802860d8ee68f07cc5d80296adaf57cd7b39d6802a29b0b12efd004067fcf64960496b13248f7ff1647ea234df438dc8005a65ffa01cfe2fe57fc94fcccbcf3b52e9c7fe3c7b9c5c8e63b3a9800a55b36b67bd1f3487ffcad713d8d11312e87fecb8b927ef27aa4667ff4cf0839158f0249a7fc39f44926155c6b757ff62def516e36e0a6a8026c8ae9320c7cd59e7fccb3c873417c6f9ca7fd420eaeb9f6cb2cef7fcac5a546f5f1e9d188006647dcde77a684cb7fece70647834157f977feada21d4fa61ffe588025ce2d9245dde670080203b5a9f64f5956cd80098ef246696d5b66c7fd5c5b9dbf6cb17aec8012db2dccb200df71f7fd0fa195f28b7f38d0801376f8b82ef7f943e7fdd02da4d1db7145467ff804f91403d8c11a27fe004f1ef209cb8faf8030e1f2f0a18560c0c803561b9f23d03f04377fd2ad5737ac1d71bf686982b1ae2d5271910080177868cdfcc0630b1805c88ac587f7b6db8f7fea333ca7287ad28d7802142ad43d905ebdb27fda89c840add3180ae8014837919e772b72ff800ec60466604b67e707ff0109d61d248bbdda7fd55004b0d7caec0f98056d34016712d5fce48025bf46535b0d99a7e7ff1a774aa86cb054eb801d2ee2f85a0a6c09a8007578e110f3e71e517fef8477931e4f5110e7fdf30de397dd148e3d7ffcee20d34264275497ffd196f6326f5d6270801f00ac9d17421c22b7fd06cbae6bb06299658010da32f83ed0771c57fdfca1c54c7c442777800b283352451f13e367fc25d601754341c1f47fec4d12940a7a1ccc1801baa2b7ccc06245d87ff06cfee6a9d4e43e87ffeb038a0246c6aa57801077b41ef67b2a38a7ffb66e598257e85406800367c3d3487f027087ff6400ab5fec84c72c800661dee6136f7de748021e450ec3053972627fbc48abc0f7638d9c57fe94c1d03a51a88998803b48779c706c7a4ed7fbffd92031648a8917801f587d983b4e2a8517fafd39f1c64e7a16617ffcef9d5dc1f77e1537fd628e791ac3ba4a2d804384fe1033d8df79a7fb4498ed37ac2c9c1b7fc3507343d848e7a937fdcb780daaffa3457280229f660e12d62f8057fdc4860b7aadd7fe197fe625f76b0179593ca8006da4446734f8e1c27ff469d63d84cd34391800c3a9d8d1391e32c47fddf27df0e061b256f804132edf36a06efcb28025a344f7df38520d280177868cdfcc0630b188c2241965901aa4a0a7ff5fdd7dcffd0bacef802a7503bd83c86ddd27fe22c6e43f1f87b99d7f896e11cb14ba209797ff52494cf43636c2b07fda09941115cefebb6802f942108c2496ed187fc032293d1a824c46d8022c2fae56b1f235cb7ff1b00198558cd88347fd0a4e0d231618557f802081bb2f71f979910803a68e76fc828815cb80172862934f5c42ce37fd90cedb89f7ed90a9805ca990d755fd356ac804c643691a292a2a9d8008e5808cbcc40a65a7fd58fc7537295ba2707fd26483f77ec9637d98008e524880dbd6474680116b6c932695ace4a802ed604a2b71db46c37ff0082d04bbe4ea1dc802b336d83c5e8c3c3b801e038a2778e220e4a7ff049716080cacc6708015f1fde4dab55a5347ff059362b56f2e28108002f26f1441886a6f28004860427bd860ca03802030c6759e7243ecd8062354826d9d57a3737fde6310f403e2d9e6b7fd1f911f4695f53d0e803a575a88d82449db780366b655035b0d00d37ff634966ff1b878634803a7e46da84be9a0e8804ca3c4b856a2be6bb7feeaf6039628035e887ff29c6add4eb8535a37fd2b3606c1e13a101a80271fc1b3f806f12987fe6499dca5a890252d80141bbc63052416b188007e49530ed19ea795801dbadf7989b7e427a7fc61b3fe660169d9c27fca8070c417d418d2b80205dc7075085dbebf7fbf54a9896331c9fe480129a6ab7c7c0afd468055bdba84ee131a099805c88ac587f7b6db8f7ff5fdd7dcffd0bacef892b8d125ed718b408f7ff46ead038aa484a567fe4981f67a38bf36ba7fe6daeb99cf2caf28f7fe860055a78bb55fb37fc3cfaf3cfc557f18480154d40ecd09275dec8050153240e27848bce7ff99af4cdcf5ee22698059927958892fc6c9680365a995be21a4664980083d9d350312831ac80113b566549d63a99f802a51cf45bd06f1a2a800db0ff648510af4fa805a8c17fff5e4f211f7feddad540f6577b39d7fdae3b1ea8212a9dbc7ff3ce706f255423fef7fe75585f26dd6c5d6a7fe959681ab84033deb7feaf254c650e62c5227ffd2cdf4293c456f347feb0c675407e5f4f287fddbf27572c6aa9f207fe3d7cc6d68024cd0e8018b027f545094731e7fef39c9b0eab09069f800fd2e1b515da3f1af7fe930276bdaa4ac8687ffc2890fed3678623c8010cd5c8d13c5a58247fd552952218a24593a802f35f30dfd0a0be46804461225c70cd40b047ff7b2fa0393ab58dea7fd62e5eaccda2ecbab80436ab3281a616f6db802993eefbac6dbb1668032b0f1ef035935663803de20823b6efed9fd7fdc69b27d4f176a1a78021a8ccc2e13287c1d7ff225116faddf3b2ab80227a9d36e0c148fdf7fe8ec2da88cabc2a87803c5f8ff2bafe27e4680007d92fba0f6b6b3c800919664248361d785800246c037c4890c9887fd4dab54fe431d69747ffd4816d0d48abed68800f9b1cfc2884e55f97fcde0335a13655d47b7fea333ca7287ad28d7802a7503bd83c86ddd27ff46ead038aa484a568775a5a2c72dbb68da2801659da1c54f73b4ce7f7e806f368ed22e1f58034ecedc224065cb607ff35b5a445710afa29800521e4dbf869e0dff7fdce251539f8259ca47fad63fae99ab114ed37fe4838edacc95269467fdfe0740d2daa002e6800b77531c6f3d37a148041ea85cd2cc01830e80186f95f667798cb1880146548be33709f17a7fa630d48124a869e71803fb5e19c458f6640d801124623c34e9f2b3c80118eac9a580b336497fd08e6500ff2f27654800d01839cba515333680261090bd8a775e49a8015eac5e7df0cb67b17ffc2702de4b55f79657fe4bdb0a4d675301fc7fe18ede75894802d2a7fedfb5c970ce1ef4087ffc433d6558933ccbe7ff66e359e0764714007fef05450e0878b7e6e8019dc6c0f2ab58aa1780094dffadb3909f6f87fe56eeba98efcdf690800f83b99e408bd6fd07fee153fac02222815a802b14a0895562dd8c17fe9078fa0921c075e87fffdc6dddee1ef636b8041afbe1faee2abdc07fdeaa8a598cc25ecf3801f67a66819c08222e801f514428310689dfc7ff517bc162182d7f2d802cbdf1552cb99107380151bbf39dbebeff61800c497a6d10b1e2bb5801c29e34117a2f30f18035c2cd88fdb97086c8033dfb3e7c3f2a97967fc04fd7e3c512fcad08011a74015be2dcbdd07fe38619c065dbfb1c67ffd0053262ed988927800444733502ede3d9d802142ad43d905ebdb27fe22c6e43f1f87b99d7fe4981f67a38bf36ba801659da1c54f73b4ce870314142b706e152617f7dcd224b8429041987fdf07be4a53da389227ffce2287ff9f7b41ab7fedb2acd9ebcf30488803c8119a94b39fbdcd7fdf36ab2f83a95c5e17ffcb7e3cc87bebe7307fe5f7365bebd6586237ff13dd16ffb8129d648015f9f1b5588aeabea7fd71f0e4739351f7cb7fec6ac8921485687c5801ff987b5fad97df927fc58379d0d645e47ab802bc632f7203410e267fd1cb4aa6b25aa07017fd27d8b76c580858f97fff642bdb34e45d79f801a0c6173cb7ad1ad280036d56bc04e23c29b7fd8e0c1bd7a99f54017fec1f4c3ec7a6398e77fe82dd76eeea328e527fcf6dcd6daa76d0b3a7ff85371d3c4c4bbf58800cb868659af51ecb07fe638a01549a3071f480191ab6eda1e093c8a7fc0163f0f02954f94a7fe924965e3bc4a86b7801e470117481111b89803ae135e4d4c1241e77fac571c68381e3e75e7fc56d997ddecadfc5b7fc716165b5a0347ea57fa88844df6b2e320437f9961b6e8c6878e58e7fbbe72b8916f471fba7f864e0a2d6b8f3eed98060ec8782af6e067808017da8975f4a230d1b806d0329b376ee095be803029c0b11c1bd81247fa39597cc2e21381de7fef3f9d238dc2db4cf7fc2d496ea4c98967ed805e5f451f0767d6a12801476fb00e37f9d69d7fbb92dbc254821ccfa7fd4ef4ebcd2853110e7fbd84e02a5333d42c87fda89c840add3180ae7f896e11cb14ba209797fe6daeb99cf2caf28f7f7e806f368ed22e1f57f7dcd224b8429041988cd74b7b39ccfb27e288009fae3ce096eaea5c7fc4229d298e3c17abc7fe64b4d699477d16c27fd5b894c0e5112bd397fdc567993ffbfbc3b87ff70a56f492a6ee52b7fd913547f2bd447266802419d8646078c6a68800f74edca33a01639d8035620f1a72314761b802a8617ba1c5b4911b7fcce8e1d70b9d33dba803224b43414cfc75c57fe47c696ba1909bec58027f2bb42e7cfd405e7fdf7509d147accd1ea7fde2a271c7dca7cb9b8014d26f1baa6fdbff77fd4bb2fbf9d291c5ff7fd4bf2c8e44e0937a37fc74d8e703cf60e9377fbfbc4e33b58ded9707ffdcf539ad62b4be44801dd4a65f7fe91dcd38007f5cb259894605097ffb5544a9c0a367af88008e2540fe739866677fe933fdc0179aad290805320dff1e384773f5804652a4ca7676d5b6f8073ec32f08047da4517f852375698ec90b56a8018c7804b8ea1910dd8020c196d215f391146806f336e9be8074af978033eca63becff331277fb6287e3c9f5f17aa48063b169eb48ae97ee08045b14ee605083713e7f96537fb00f67e18b47fc328fc6e8f00908957fba37639c810736ffc8003fa3785f0becce247fc6b2767f0c9252d747f916e494236066bbd9801916dad54746ea45b7fec158f64dbc2e51e6801e6a56a4c01d30ce5807156128592cfa41c57fee77c7d8714e59e978014837919e772b72ff7ff52494cf43636c2b07fe860055a78bb55fb38034ecedc224065cb607fdf07be4a53da389228009fae3ce096eaea5c8b379a23c3e307f505280112209d0599ec4e2f802d972963966c00346803fa882e945b07e1ab806c2b1ca9487fc4c077fa583cb8a1da2abe8a7ff799e926cec7f417d801950c7312e8384253803231173da8380627c803a27d04021ba05312801ea5e7e6c5b947ab6804a30a0b81610dfe7d7fd3085257074daee6b800e170055cdae60b6b7fe1df63b130213b13c800df5d3aafe56b15da801bcb7f72c66639ce37fd28d7fa091d6fabc37fd69c8bc4b9a6916f37fe791ae8432dd652557fdbf70adf2cc606e4b7fcff424fb6de6c3539802b17195bdb7314ff57ff3393d02f72ce3dc07ff6d018b44367a8dbf800590abc71c8918e787fee4e58ca8fab9df737fb9f29728dcbc4fd12801e51204be09d697f27fd51e984d8511c30cc7fe5da26c3b1180039f7fc188dd980fe619f93802fc80cf4e4fdcfde880236f4d2e6bfd7fc728035b1f9f28e9b7527c802179896173ff3a25a80285b5a5b1227dbc057fc0caaa5dbaad4c45980190df5f236a9ebb8f80329f9a1239c8481097fe5a0507d0a4ca6f8f7fbc7f1de1cc616163f7fc9729bf2ad1234f037ff73ebf0878f7690918047cabcee19e994d2380128c15a1a286d9c7d7ff62e0ffc82b42ab0b7fff04a14e2efcfe1ac7fdb333ba48e212ebc28011837fd5744d3fac3800ec60466604b67e707fda09941115cefebb67fc3cfaf3cfc557f1847ff35b5a445710afa297ffce2287ff9f7b41ab7fc4229d298e3c17abc80112209d0599ec4e2f889c946eb123a13bc2f7ffa8fd5a2585e633d07fff8a6cb9c61539d37801ab50df1b96e43ed28035cda52211c2d9d417ff0edd51b508b616ae7ffd731156799f540aa7fc7b69cd4d386a0e668015ffad73012a7a2277fc8aa04c4bad73d4ed7fec8a3b5c03e89602d8040548606d2d38987680237ad62f18e3df1aa804a1ab52819b6c10ac7fd00c4d19031aeb8e77fe32709328bebede9f7ff7359c7cacfafb5477fcd6236bbf88367006802a3a9fa240503b902801e82185f5de27507980145191d5b6d321c5480430efcff0b7e6c1d17fe539a4f0580c7d5288011272b1231e06bbc87fe668033ba023028287ffe50533bea02b9cb080104b9ac4ccb64e8138002827b2007a2f1e967fd3e6a835dffa2d00a8002fd751d66b1919d780151b8940639a073537fe6f3e1dab8b9304d0800a74776a7788d1f6f8019bee687b7f64f5f08004afd23ff88b05dd2801179e31f792aa691d7fe9955ae50174af9f3800efee3a1514ea93ed80104e8fc568dd2a6698016df99ab94d4bb0df80044ac2e23197ac31f7fed664b670f72c87a67fdcf05176f40943bd7802a724f8525d03659a7ff5a25753790f938667febf1a0e202fd0f8608008552b5a0295340b27fe178a080e2824b728801f5e23300dbae53ac7ff0109d61d248bbdda802f942108c2496ed1880154d40ecd09275dec800521e4dbf869e0dff7fedb2acd9ebcf304887fe64b4d699477d16c2802d972963966c003467ffa8fd5a2585e633d086ed861c12c67de4d907fc693ee68d59cbc536803a0eb82ef4d57f8bc803fbbd232fbdebc45d802c0acea008d2d2f4a8023fc69fa8881285d87fea5c9c43f2d902f307fd23322d53479184b8800e9f617c488c06f7a80417c7c3291bb6e44f7fe0915186ceb71b3f37fff40bf831e5e9f23d8050644e96388bdff327fc95f615a14692088f7ff6f75459d227a7bc1800eeb80aaa187e8c3a801d54c556036f8cb9080091a792e07ed929417fd26cb179d603f93ab80172b147c787326a957fed742670af4f2075f800f4800f1aaeb85547801c15aa6e8cbd100588004555fae107fec8c2800c8e4fd7445da084f7fd8a1e682c067b35ca7fd39975869787cf9bf803a9661cd347ab7a29802e372f57882e2a167802598806f6ccd2d52d7fc5fcea63491b9f61c80074e451b33b8f6e8c8024e639c15fdb1d01c7fe052817dff03eb0668017e111c2b5ba3a9a57fdfb7ace564ffa572e7fbbf2b6963c313863080175c7345fc4aa799b7fc513c6ac0e3a802e77ff722bc59e359e4c6a8000b951eeeae10a0eb7fa642bec65555d258b8051376f097e8c1fcdb80440b0bb948dc63671801b884e8c9ad341c648025f8ef9324b9964558034c8d8e358325196080122d6f96f9332ee447fd55004b0d7caec0f97fc032293d1a824c46d8050153240e27848bce7fdce251539f8259ca4803c8119a94b39fbdcd7fd5b894c0e5112bd39803fa882e945b07e1ab7fff8a6cb9c61539d377fc693ee68d59cbc536885caf5928c233a2c0c8065697d88f544536b68033e103fc66f77d4af7ff5e92ad8a4298c275800321c9f2af3e43599801652621f459d27ac68002546119b216f01d07fe2ba7e26c901ca2467f997ab891f0627e6457fc7dac40fcc2af4629801df965d408d7c15ef80214d488349ab4e6a07fb3771aee32bd8e1887ffb0a4b298cc300bfe80250a8b0e7539840338031556233fd11649b27ffe8eda788bb53dc547ff18bbaa1c6c2dd9597ffa23e0821f133153f8001a394cf8af4662947ff67c6bbdc06c3453e8004138fcc15b97c75d800cd5eb4012ea324a8800523f1df4e26e75a87fdab26a3ee93cf253d7f93e35192cb49d015f7fa433bbf9a3f200d4f80642536a493243ab1f801120b4bd1413637807fe61ae9401a68821167fc51cfa975745353be7fed9a329062304c17d7ff32e963f516da1f31801849d9cb924d2a4c280255089c82d845f9057fbbb25f4bbb5df2e267fd68ac72534425dfc57fae41188aa5b163ff18075177afb32980909e7f85db5c3d40ba0eaf87fe1ba75d7b4b338f868008f148c79d6fa78d27ff0078dd74017f34eb8052d7ffd6298a8f8f98056fd7dd4a6281e2cc7fde24f0dce7b170fec7f9a4145e29818848578056d34016712d5fce48022c2fae56b1f235cb7ff99af4cdcf5ee22697fad63fae99ab114ed37fdf36ab2f83a95c5e17fdc567993ffbfbc3b8806c2b1ca9487fc4c07801ab50df1b96e43ed2803a0eb82ef4d57f8bc8065697d88f544536b68cfeed5d5089f1d3c6d8042deb656d86ad2f187ff926ef7d51bbf05197fe57493829dadc5c0b8013a681607cdae98ee7fbd8bf62d9670fdbdc7ffa9dbeb1c11408fce7fec1f4aeb2eed37945802ffcffac93f3ce81e802903d86b1ae16c6f57ffb2d5e54ee3ce7e197fc09c7eb02c5d457557fed3f4512e84907e637fd2a2873ad73d0381b7ff977cbc611438a1fd7fc0e9a830fa2490c5e7fc9cfb7d51c246fe938021324556d2fc3c1a480157a163783f7275947ff2ce01495797716117feb45b6ca6270d543d7fe710a2098f06d6d307ff65896e248ffc71b57fadad38ff9d6bc515a7fb7dd818f63b1529b680454a5591e682050d57fdbe34368b1087b238800bdcd5783e3c2dad97fd4acea2efc69b06d380150b8d8a139ea8b55805b50f17dd1a3317927fd1cb5593728e609ef7fb865b3f2e17bc76057fa23938ad30bf36849803d314a786d77789098004c5f8d3331119609802f66ade6c77be9b68806031b4ac9d1e2200a7ff743f96d9bd33e9fb80204794d22bc985da5801ad6ab481501ca5c9804845ea7ee0d17419c803c08ba6269c0cdfd87fd28e58280078c7fa3805dffc4138c1263a647feb51e99b81a6096c68025bf46535b0d99a7e7ff1b00198558cd88348059927958892fc6c967fe4838edacc95269467ffcb7e3cc87bebe7307ff70a56f492a6ee52b7fa583cb8a1da2abe8a8035cda52211c2d9d41803fbbd232fbdebc45d8033e103fc66f77d4af8042deb656d86ad2f188a27ba2700bb741dfc280255c2723cd267573d800892c4a289e6256887fc2d4a6df0d851000d801a64d7851c894e0878035a03ab40ed3babef7fbffaaca303962e3797fdb6b479bc11f5bb958007aecf681d486ee758034bbbc267840764cc7fb19477f85d4ed37448006b8ebde0509143b68008e17cf2226b34d50800b7f7b697923761c27fe422a0df20f1b0b1a7fd81c56548f3a74b59803a9844ea9ecb9a7358035997ec43f349746e7fe6bf54476a62b16757ffabe4d001e728bb8a7ffea1ddcde6e1532307fecf407ba6992de67180209268f07c51d9fc18013c74a67bc77a099c8019d14e15cab0e46187ff23605688f1a40ce37fc9b1e1e7e7bfbb9bc7ff78e168076c657d167ff83b6ecd57fe2bc5e7fee3c6a59886f0481f800cd16b7b2bd3017247ffcb57f07c1880779e801e6dc7569493187848035ace36ad98aff55e7ff8957ce44145d02118020de4bf8e3f34b3047fe7626e87e28f6b5127fcbbf1a421ce6d0ca88026bf254bc0456435b8032831d89965e83241800ee4fdb5585ee88c0800bc0e755ff022c8ca7fd2b2761c661214e13800ea240031ec49a1317fd48e62bd71a780d407ff1a774aa86cb054eb7fd0a4e0d231618557f80365a995be21a466497fdfe0740d2daa002e67fe5f7365bebd6586237fd913547f2bd4472667ff799e926cec7f417d7ff0edd51b508b616ae802c0acea008d2d2f4a7ff5e92ad8a4298c2757ff926ef7d51bbf051980255c2723cd267573d86a7f38a21a755673b480212df603d9520382f7ffb8a66fca424aeb817fcc21947b4e861d2798001a11fed1d20985db80051c2e6d624c43e8b7fede7db49c1adc9f0d800318f5d30b74c1b5e7fd79110a3db3ef52fa8019d81fc0d2c9a207e800a728e452e3b0399f7fe07fda66d7995423a7ff179337be9613f8c980341557b5bc73eca798028adda7cf7d906bb17fc23b84cbd1d54629d7fc56b6dfa98a4a80557ffbba4c4ff9f4061117ff3ae8697e0af231da7fe252cfc8258e0872c801aea49b2156a4326d802404a3833fc8389bb7ffd0d42020d1685ae27ffd023a2568984b6f78022ba61b64a846b4ec8024f451f3a40e7d5977fdf2be4be848628b7a7ff970bdfe3dabf1c4b7ff5402fc1b71d3578d7ff407d0e976f12e4257ffbaed4c683bee157f7fec22cb722625aa6697fdd8c2274195cd859a7fe63752c73067f96bb801815c3b1cc62fd42e801273ec56654b5e3707ff0d72b7d84db77a897ff9501e912b948aac37ff9cdec2f8c77be45e800d0808890f015c8dd7ffa8443f32e8d75d3f7fea03a27afcde7d770800070281e51c8c03a67ff2e57cfdd74078e4a801d2ee2f85a0a6c09a802081bb2f71f97991080083d9d350312831ac800b77531c6f3d37a147ff13dd16ffb8129d64802419d8646078c6a68801950c7312e83842537ffd731156799f540aa8023fc69fa8881285d8800321c9f2af3e435997fe57493829dadc5c0b800892c4a289e62568880212df603d9520382f84f96ae39bfcf235da280274253139b09b03b47fd6d6d39758b23674f7fe046c983d84aaefae7fc01ac0a64586a03de805052cb29f91bb03887ff42c680b3b8bb418a7fcaf62a2e6ea4e28dd7fea4bdca750b691c5f7fd8d1dde6aaa56f6878002b4bf8fce0d861bb8034a9e30523307df5c802a0c4537e94eaec7c800322c58f7a71c121c7ffff7eaf1600e44f7b7ff5931ef5e5388c453801338e372c17669c3b7fe28f839c84d813588800c54bd74b148a4a507ff2085acb8e49ff4017fcdfacfd671d90c1297ffe75b49f770b4081180337aec2014aad028880190f94a68a0031adc7fcee0796ce019117827fc5a6d25da008830e07ff87efa4a68b4b4bd47fe9215db725e85d70b7ff7bd90d230057497780105aa41a20a256bf17fce56a810e1d873e5c7fbca1dfd2268b40d917fda003a40c2be570ba7fdf9baa6eab8a100737ff2ac815e11b346c9f80238d34a5424f88f6780065e9091bf5c670ef80011bb95b3bc73f9557fe24a360e2e72152eb800ea84580bf8558f37800e378cb232f8fe5db7fd980d7313dc72a5677fed7b2e1c94cc2bc1d8007578e110f3e71e51803a68e76fc828815cb80113b566549d63a99f8041ea85cd2cc01830e8015f9f1b5588aeabea800f74edca33a01639d803231173da8380627c7fc7b69cd4d386a0e667fea5c9c43f2d902f30801652621f459d27ac68013a681607cdae98ee7fc2d4a6df0d851000d7ffb8a66fca424aeb8180274253139b09b03b487246166bbe2434299e8001fead0bd4ac42a1d804c7a0784af79b2398800d40250f4d553a95d8047ef961572a9e14967ff976e5c6dcc9b2dc9802efccf3791f0690137fe2d0a536594cb1b367fe34a05f3ef7aef7168032db59dde4dd20e087fcb90bf098b35a9e258032185a36189756df3801ab809846897835798013988d85540f582f68042c09e41c52b0c41f8010d81ef5d74a6f057801c54677baf20b5c3780118ef2252502d2a947fea301d58a274df0c4800d5f5835de66f08ed80377b783dfd87590ab7feef07d4258a7bc2d97fc27db8a18e77895ed7fe55e56245b0a1dd6a8028031ff414d22d2d7803656673f6f81fd9da7fbdd6ee599d84ef0e97feb16b919f2362cc797ff42bafefa38d8f64e8037eb36369e6c6b40a7fefad5b6ad107423db7fbb39203bfb171833a7fbcb571513341f5dd680331baa166a33352f1804265c0280bd56375a8009d5119fad6b4d2c0800db9861400966bc877ffbd33be481e632cff8033e0035a07eabead38004aa0610260d0c0bd802a16e0ddb8ea0eb2f8017e2029f19a06d2117fef8477931e4f5110e80172862934f5c42ce3802a51cf45bd06f1a2a80186f95f667798cb187fd71f0e4739351f7cb8035620f1a72314761b803a27d04021ba053128015ffad73012a7a2277fd23322d53479184b88002546119b216f01d07fbd8bf62d9670fdbdc801a64d7851c894e0877fcc21947b4e861d2797fd6d6d39758b23674f8001fead0bd4ac42a1d881661957749c3190757ffb5a56d07dfe758c7801680faa51ea88615a7fc37be62b9c139b6a37fd603ee0e3b308386c7ff8ef39139853bc5127fc0806ab38fb23458080265f4c525823085d87ff683e0fc806b0b1a37fd2e2ec986a1813e2c7fd82d0f55615a228a27fca0ae08fcc8c8030f801ff7dfdde058ca0d4803b6223422cde0800d8000aa240e43ce7cb58801f6c85d0c4313ad1c7fffcf53e7f2be89d96801826ec1fbc86b42877fc69e15d0b169e3285802e54b4527a85bf44d7fce2cb57c35ccb3ac4802fed3abafca7839de801de250188b109fa517fd4bc5a31fe92b2acd804322839a35d8200547fc7b0c4f4af8d9e4107fdc27fb2af49c950647fd082117d8bef7d1277fb7b4c6a47e63a92408009a792b0a31fc3ce37fc7bcca9a2bd642662803864b0108ee2094c17fafd9694fbe94b41a48021115bde1ac20b8ef7fd1e9473523acdb47d7ff2d3338d792920c617fcb4ca3cef7273fc2f7fe69270b486f6981d77fb7016cd8f7b04e7807fbdc6714737bee9d8f803c177c06d796da0467fdf30de397dd148e3d7fd90cedb89f7ed90a9800db0ff648510af4fa80146548be33709f17a7fec6ac8921485687c5802a8617ba1c5b4911b801ea5e7e6c5b947ab67fc8aa04c4bad73d4ed800e9f617c488c06f7a7fe2ba7e26c901ca2467ffa9dbeb1c11408fce8035a03ab40ed3babef8001a11fed1d20985db7fe046c983d84aaefae804c7a0784af79b23987ffb5a56d07dfe758c7886d290235946394e677fd61f1fd1194bad2b37fafd95d6cda26da9df7ff8ccc5bf97138f1f1800f93408709ba43fe37fdd540c3aee386f08e7feba01fee2fe869eb77fefcd3532c3647c5d97ff43fe32a9837690687feb68340bfc5cc3b507fde0d53acf3decea6e8033b799aaaf588ccd87fbc50ed98344ad95697ff2b6eb052ff28cdc97ff6433f632e7b29f71801af5bbe210ae2bb127ff8527c8c9467f8a1d801f4179bf3805a945d7fa9d997e505e9b2bff801c18a29758709b37c7fa703abfd6171ca2058045997bc249a8053b1805b7d809609ec5adad7fad12f71a6c0c4fde57fb7664a1104ab17a6f801e5fc6df3e79cbb5d7fe2ed3171b89cc11cd7ff06a1cebc7d7e6271803e85af0fae8be31c880543acb667bfe821e27fc1b9ba32b620962cb80599442bd5566d3e2e8056635a916c0b074ae7fde9110626c29af8da7fe5a1aa29ff6e135137fecacbb098495cc4f17fa0db6ad1e23a75b2b7f9dfa40b36b8d47bc48066487a5d347a0393f80560b4bd1f651704d27ffcee20d3426427549805ca990d755fd356ac805a8c17fff5e4f211f7fa630d48124a869e71801ff987b5fad97df927fcce8e1d70b9d33dba804a30a0b81610dfe7d7fec8a3b5c03e89602d80417c7c3291bb6e44f7f997ab891f0627e6457fec1f4aeb2eed379457fbffaaca303962e37980051c2e6d624c43e8b7fc01ac0a64586a03de800d40250f4d553a95d801680faa51ea88615a7fd61f1fd1194bad2b38b3703c053f75a1b069803f5dcbc407b5e26277fd71700db502e3f4027fde5c64461237afa4c7fda8c8e64de5412b7f8022b121302700025cb801bdc97ceca7ef0a857ff4c9c262a73c3ff867fc9549f281ff7b31668032361dbb70304d9a0803008bf833a2019d368003878f4156054880e801c8ca54a5ec01ea328010578fda6e87ff88a7ffe568e0ca81559e7c8019c89b1ee1fd3549f8022f37766068638a447fcc9ce9bf473c6d54e804aa4ebf12e73166d67fd59751f0e3e26ac6c8051e9ea275281fcc447fdfe368aaf7d339c947fefe068781c0321ba7802890636945d11b3957fef4dafd75e6ca5a5a800da569180bf974ead801d21a0fc1266550857fc5fa955c729ab07618023c7c0e5ba4b4661c805304718ca7e90d6d47fda19b77a69c60e134800ea65bf9f3fe48fd680121976ba6840d69597fab1de76297b0056b78004de05b9dfc4696077fe2ceae08e40fc79137ff1035d1f90f41051f7fb371cb04438a44e4b803fb972ab43b6de7557ffd196f6326f5d6270804c643691a292a2a9d7feddad540f6577b39d803fb5e19c458f6640d7fc58379d0d645e47ab803224b43414cfc75c57fd3085257074daee6b8040548606d2d3898767fe0915186ceb71b3f37fc7dac40fcc2af4629802ffcffac93f3ce81e7fdb6b479bc11f5bb957fede7db49c1adc9f0d805052cb29f91bb03888047ef961572a9e14967fc37be62b9c139b6a37fafd95d6cda26da9df803f5dcbc407b5e262789d5d3a68f22887bd067feda8798f048e1a41a80325a32262bcdf8bec7ffa1b54c38272b14de80007e93bd284af5f6a7ff1296e64b952819cf803caac6bf47a8c49ee8004629bec337e6baab8021afecd0f3b25b7107fea9bc3de3fd9cebd37fddd71854f0d7ab5247ff2abcff7528182da08001c93289f180df5fd7fee4f9ac295f9e1b647fec1c47b8d3bc596f0801365a59984740dc5d7fe88661720a6d9021f7fdd2671d5736a2fe4b7ff4a3f070aa3e763a47ff27e0f81fce6e50c380196b8569234bbb1607fe989c584f15f33a5e80178a168755285e4187ff3c6788583c28fd668013407da76bb747ee3800cb14be1d781f33da7fef5dda1e6f7a4c2287ff63ded5bf2e0a97987febf2b3372efd2506b7fe1275814fd7ffe4487fd337b97d120aa2d957fe05d8f9835dbfd5148011487575488bdb49b80069f4623635d73a318004fb22b77e999a876800a99005506f3623e180077d28630362ec1808016d5abb25e61b96f2801f00ac9d17421c22b8008e5808cbcc40a65a7fdae3b1ea8212a9dbc801124623c34e9f2b3c802bc632f7203410e267fe47c696ba1909bec5800e170055cdae60b6b80237ad62f18e3df1aa7fff40bf831e5e9f23d801df965d408d7c15ef802903d86b1ae16c6f58007aecf681d486ee75800318f5d30b74c1b5e7ff42c680b3b8bb418a7ff976e5c6dcc9b2dc97fd603ee0e3b308386c7ff8ccc5bf97138f1f17fd71700db502e3f4027feda8798f048e1a41a84caf4092e44b623a0a80237eaf6bf235e66c2801086de5a465ab4c2280084ea0030920a93827fe8b87bd12e59a8ea57fecfb8e09c7856d884802d503d8965edfe3557ff13b197952435cd9a7fdfb2161333e72dc5d7fdc81549489cdc31917feeb8e8bfa01f0faa47fed33ed533f8df0d597fea4a6dd732cc85cda7ffb174d09f8189ea9f7fe52eee7007d7a3af08026f2654ae493171ae801489c24cc30404c63802dc73f7f8a1d5151b7fec210c80a81dae0e280258a305ac80db49587fba2360e590e351e3b7fe47160ad338217180801b068f830f0d184537feeddb04762d6b75d67ff43142c4db2c12d64803d3e53d8267ffdd878002c1a65b73959d9fb8028a913437181c3a5b80305cd663d8e75b21c7fcfab0d479d52db71480510418a316e27d4817fed839d5c858f1df267fdb0b1d4bd85f7bf087fdb3867bc0789fbaca7ff1cdc1ef8cc5b5b997feb693814241f547a67fae94ed5ccac909e7a7fd06cbae6bb06299657fd58fc7537295ba2707ff3ce706f255423fef80118eac9a580b336497fd1cb4aa6b25aa07018027f2bb42e7cfd405e7fe1df63b130213b13c804a1ab52819b6c10ac8050644e96388bdff3280214d488349ab4e6a07ffb2d5e54ee3ce7e198034bbbc267840764cc7fd79110a3db3ef52fa7fcaf62a2e6ea4e28dd802efccf3791f0690137ff8ef39139853bc512800f93408709ba43fe37fde5c64461237afa4c80325a32262bcdf8bec80237eaf6bf235e66c287f442701f3a76452f07fc4192f71266035cbd7ffe8d5cfff50dd82a3802cc3321e0a05464ad7fc9010d3ac87f7150c801f953ccbcb418f82f80293bb8c6ae1c0066180416b70b990972b73d8002e453b5980fcd2f7801dd001454fc1581728001ad70b2a3bd4b5a7801b077152ff62eefde800f075ce66eeeedb55803dfbcf4ea32ff7d347fb548492f61c87191d7fd473f14273f106a5b7fcac620a0088b6051780494cfa662df2ee17680473b066af730cd05d7ff3ccdc22f998ce3758043659f91be4fae2f3803dabb59443d7550717ff38e76e0ede89976080309b2fcf1980f255a8004dbd70ae5992c6db7fcbd650ea5bee87a69801b20ef45445cc149f7fad64bb4681081fd537fb9e9d59a4cb5e97aa801e476a9aa44fa2f5f8020009012c193a33027fb99c3a630dcf17fef7fe7300da39354f73267fd3419bb1e3d43c115803e6a210bbadd3fac07fb5c3fad976bd272628010da32f83ed0771c57fd26483f77ec9637d97fe75585f26dd6c5d6a7fd08e6500ff2f276547fd27d8b76c580858f97fdf7509d147accd1ea800df5d3aafe56b15da7fd00c4d19031aeb8e77fc95f615a14692088f7fb3771aee32bd8e1887fc09c7eb02c5d457557fb19477f85d4ed37448019d81fc0d2c9a207e7fea4bdca750b691c5f7fe2d0a536594cb1b367fc0806ab38fb2345807fdd540c3aee386f08e7fda8c8e64de5412b7f7ffa1b54c38272b14de801086de5a465ab4c227fc4192f71266035cbd895e8b8c0b51d19e4f27fe36d25e517367e389800f5169fba009d48d87fd37f39a2b4c145d33803a6789fd021ecb487802502511d2fcf6f94d8040ebb57e1ea5f776080358b707b060270aaa800d6ed11d00bd7d3d37ff83a3e9b00a3b6fbd7fee2e191dae181497a80085a9545d8a9f29bf7fd6f5b45c1d5ffb61a80175d383b6d58832ac7ff8cc71ce206e0256a80240811272ccc9a37f800a899d411a4d57d077ff2b9e1a3bfd629a118025ccc00cf41ff648180122957f94f5679f457ff5208618094ca87da80215320a2a3f170a297fe7b3231c58965c61d802750c7cff7dd41b6c7fe1c197ffeab6bf1637fda3991b0b2190bb96802b3540f3a2867fba2800130c88aab413d878802de7708cd068c7c2e7feee986a54237a56fc800f152c0ffb3a0dfbd8002fcae8ca5bee2c59802ccee1fa33f45bfb17fd57751a6fba823f00802860d8ee68f07cc5d7fdfca1c54c7c4427778008e524880dbd647467fe959681ab84033deb800d01839cba51533367fff642bdb34e45d79f7fde2a271c7dca7cb9b801bcb7f72c66639ce37fe32709328bebede9f7ff6f75459d227a7bc17ffb0a4b298cc300bfe7fed3f4512e84907e638006b8ebde0509143b6800a728e452e3b0399f7fd8d1dde6aaa56f6877fe34a05f3ef7aef71680265f4c525823085d87feba01fee2fe869eb78022b121302700025cb80007e93bd284af5f6a80084ea0030920a93827ffe8d5cfff50dd82a37fe36d25e517367e38985752f6d9cb1a7f95df7fdbdda63f57df3a3b17fc4d52f16b52655e907ff4dee5a1669d4b22d80176e2b6805308d5b880196dfda19afe69bff7fd6a0e78dec28889ec800cc60dfe3582bdc907ff7d2d9debf7d010f38016720a80391c52aea8000218e9d67c4243dc7ff86c9e7958c4b04bf7fccbd7803c69cb2ddf7feac0547693cd15e22800d0bb195c981b408f7ff1f0fdfc6b23860437febfd8b17df1b0c8e8800e5071ff1972ffb9b801504641f1e0d1e8ef8032cf94dbc816d3eb27fd6f536600901e25cc802829a7ee2ef858bc6800dc01b635c026fdaf7fe8c1054e878154e4e7fed50b1408d2688a968018680c4c965da0fb8800a79986f83346aacb7ff09b06a3b69c2d5757ff960a93b693cb9ca97fea8d2c0ba7a68f8737ffcd9074f9910b55d1802c96b9ca8c644194e8018e44dbb40e39200780296adaf57cd7b39d6800b283352451f13e3680116b6c932695ace4a7feaf254c650e62c52280261090bd8a775e49a801a0c6173cb7ad1ad28014d26f1baa6fdbff77fd28d7fa091d6fabc37ff7359c7cacfafb547800eeb80aaa187e8c3a80250a8b0e7539840337fd2a2873ad73d0381b8008e17cf2226b34d507fe07fda66d7995423a8002b4bf8fce0d861bb8032db59dde4dd20e087ff683e0fc806b0b1a37fefcd3532c3647c5d9801bdc97ceca7ef0a857ff1296e64b952819cf7fe8b87bd12e59a8ea5802cc3321e0a05464ad800f5169fba009d48d87fdbdda63f57df3a3b186c37742b1bb9a3fb3780224a7da423279e04d80259cf77be4707fa89800e2ed58a800255fcf7fca6d7a90e58d55b4580191f0194714d9f7127fe641c127f0600f43a7fe943ba329b94767357fe133c617bc2a84dec7ffb1969455a83ff6238024add861ca69e018680003d7b55cf431787a7ffcddaf52ab7e275228021c8f8dcc565c08527ff4d550927dd9da3528030d4f97e7d2c49fe27fd6694ea2a18fbfb9e7fc7dab100959de2f777fd51fb6d9760186b0a7fc4078c1816685b3078027015f9e56a51dba68037178142900b56b31800b04ba3aa8b4b82a17ffa65a153bb0ee3d347fd92087002a4401d5b80035b3b49be33b06777fc2865424bc04e72ec802e5dda9ec6173152b7ffcaacb824d1994ba77fd0061c80feec94e497fee0c6021063de26a2800a16994f4025ad93a802a29b0b12efd004067fc25d601754341c1f4802ed604a2b71db46c37ffd2cdf4293c456f348015eac5e7df0cb67b180036d56bc04e23c29b7fd4bb2fbf9d291c5ff7fd69c8bc4b9a6916f37fcd6236bbf88367006801d54c556036f8cb908031556233fd11649b27ff977cbc611438a1fd800b7f7b697923761c27ff179337be9613f8c98034a9e30523307df5c7fcb90bf098b35a9e257fd2e2ec986a1813e2c7ff43fe32a9837690687ff4c9c262a73c3ff86803caac6bf47a8c49ee7fecfb8e09c7856d8847fc9010d3ac87f7150c7fd37f39a2b4c145d337fc4d52f16b52655e9080224a7da423279e04d877971565979832fc2a800cbf32421b91cdb9b8002cfecbb817be4574800f5f935d3902c9af68032cdf245a58dede7c800ec4fc24ee0bbcd918010c17b28cfa22b52f7fe406d183a81e3d13c7ffe0f2ed03c3aac7798022e929f79dec09263800817d7d5add062f5080106aaf8f86aa301258038b6775c010090b36802968b2407fdc5a3707ff5c2ab407313568008015b04adb736fe1bd27fd6442996f22a4b9f4803e1c4dfa714bcd3be8020b2eaa2cb881b141802d56b5c5e24a367217fcda64d960f593f000802da6b0b8e2f986c837feb0604dd8f984e706801bfbe0b72fed6df63801d9d6d9d3a8becd3380341ed7db795d9469f7fcc65946a57fdb4b487fc4ce5c5151e9284b3802cebaf6bfca2b4f1d8032801300d3d0f8ac67ffc6c4b46c0fad501f7fcf64960496b13248f7fec4d12940a7a1ccc17ff0082d04bbe4ea1dc7feb0c675407e5f4f287ffc2702de4b55f79657fd8e0c1bd7a99f54017fd4bf2c8e44e0937a37fe791ae8432dd65255802a3a9fa240503b90280091a792e07ed929417ffe8eda788bb53dc547fc0e9a830fa2490c5e7fe422a0df20f1b0b1a80341557b5bc73eca79802a0c4537e94eaec7c8032185a36189756df37fd82d0f55615a228a27feb68340bfc5cc3b507fc9549f281ff7b31668004629bec337e6baab802d503d8965edfe355801f953ccbcb418f82f803a6789fd021ecb4877ff4dee5a1669d4b22d80259cf77be4707fa89800cbf32421b91cdb9b87242781cf052d40592802f3f71b41fe88253b7fc16ff1ed8464c10177fff45381ced16b37c7800231ae64b4f7e46d280168cbb830250d30357fec1ecff49564eacbe8006c535f14cbbfdfcb7feda2bfcf9b5ff43368017269036f9dac55b17fda8633e90cd4e8fa08003b4bf2a7fd75ce50801cdf85078f6279ea07fdb8ce1cd7caabd16d802eca2882f0e33a09180033e9133d6a13f17180062b0208014272d877ff826510a6c6e19fb78009344d48394abb3428008343049eb4cf71ed7fdacad28718426d7417ffab8ab800a55671857fc9bfd284f91723da3801027f4426f64f0b1a8023d818e00c1256a3a7fc2d336d8852be9f16804233fa00832cdfc657ff587dd57516f2bbba7ff10fb1af44f9780977fef168b14e0217af4a7ff1647ea234df438dc801baa2b7ccc06245d8802b336d83c5e8c3c3b7fddbf27572c6aa9f207fe4bdb0a4d675301fc7fec1f4c3ec7a6398e77fc74d8e703cf60e9377fdbf70adf2cc606e4b801e82185f5de2750797fd26cb179d603f93ab7ff18bbaa1c6c2dd9597fc9cfb7d51c246fe937fd81c56548f3a74b598028adda7cf7d906bb1800322c58f7a71c121c801ab809846897835797fca0ae08fcc8c8030f7fde0d53acf3decea6e8032361dbb70304d9a08021afecd0f3b25b7107ff13b197952435cd9a80293bb8c6ae1c00661802502511d2fcf6f94d80176e2b6805308d5b8800e2ed58a800255fcf8002cfecbb817be4574802f3f71b41fe88253b86b8e76c0303673ddf87ff3c4490a0ee17fe3c802b8eae32c6daf908c7ff2011c01d5d1f78be801d4aa0ee67ccdb0b87fe98f33becf9829b9c7ff66be1f8ba23643f9802b4aab425d49a37dc80062136566abb7c2427ff11319c52639d722d800e16a9dfe5efb21877ff57d46a6cef019e107fbfac06059458f59987ff9f5accc687b9e5c8803b415c0863cbeabf380311d8be83e16e83ef8021da24e1943555089802d248c41e89854267802dcad50aaf11ba5b88030dd79d2fd4da3eae7fea4222d2080c644327fc8cfc558bb82e8b9b7fec230cd8d1b51a4f6803ec637558c19418a17fe2a7b2caf02640e0e7fef4edd3bd7bb4149c7ff0da27b8fd7546072803ef31ff2e8cee880e80416f10c052f16302d8005a65ffa01cfe2fe57ff06cfee6a9d4e43e8801e038a2778e220e4a7fe3d7cc6d68024cd0e7fe18ede75894802d2a7fe82dd76eeea328e527fbfbc4e33b58ded9707fcff424fb6de6c353980145191d5b6d321c5480172b147c787326a957ffa23e0821f133153f8021324556d2fc3c1a4803a9844ea9ecb9a7357fc23b84cbd1d54629d7ffff7eaf1600e44f7b8013988d85540f582f6801ff7dfdde058ca0d48033b799aaaf588ccd8803008bf833a2019d367fea9bc3de3fd9cebd37fdfb2161333e72dc5d80416b70b990972b73d8040ebb57e1ea5f776080196dfda19afe69bff7fca6d7a90e58d55b45800f5f935d3902c9af67fc16ff1ed8464c10177ff3c4490a0ee17fe3c879e372b422c22aadc07ffa0023d0cd8741180801857fd42e14bb41598005a9f396702616865800f19481549c835858801298ba88f8c41b88e80258a313c13296e1b0801e666aec5df3d2b8c80114c917940b9f83428026c8c40c04adc84f77fd67e01ec0570410a37fcd08025412e955cb17fb9a0b7fc58e5c2a0480348e6842d86e82e7a803596b9d516fe555167ffb5489c80080b094780367ca912e66608c8780333bbb153caccf165803a20f1c5a5cc98e2b7ff035adbb0eac0658a801272287e049f245097fc109e15874ee4ef217fedd17ea90604c0c0a7fee0770118bd0bcd817fd66a94118774e64e17ff7f7bc580a3e3f5b27fcfdf8b2f27c5734267fc79cf91c613de76767fc94fcccbcf3b52e9c7ffeb038a0246c6aa577ff049716080cacc6708018b027f545094731e7fedfb5c970ce1ef4087fcf6dcd6daa76d0b3a7ffdcf539ad62b4be44802b17195bdb7314ff580430efcff0b7e6c1d17fed742670af4f2075f8001a394cf8af46629480157a163783f7275948035997ec43f349746e7fc56b6dfa98a4a80557ff5931ef5e5388c4538042c09e41c52b0c41f803b6223422cde0800d7fbc50ed98344ad95698003878f4156054880e7fddd71854f0d7ab5247fdc81549489cdc31918002e453b5980fcd2f780358b707b060270aaa7fd6a0e78dec28889ec80191f0194714d9f7128032cdf245a58dede7c7fff45381ced16b37c7802b8eae32c6daf908c7ffa0023d0cd874118087876155d376eecbde47ff445f0ab577ff1365801388473544d7a37177ff50c3b547604bb68a800e24ffa3101de14cf800f0d0176d576b8034800a80c601d132da4db8016c86a4dbff6fe3407ff537aa4b700169fe48003a08b85d6bc21be680145d8ef8f0c80c1128002265f6f3967e53c67fef25a72cac108e12f7ff595d0a88f1f9edbf7fe15f537a38423eb3f7fe9df22330dd61dd237fe2d125b6ee58e89227fede8a9117a4b40bf77fe8dd3f1552211295b80016a6b586d0d9df8a7ff4e34aea721fa653d7fe82efc93973b4b7c17fea6903f7024ff20237fe1c2a92ce7e766ea07fe48f4db0f94adbffc800aa708e5bc26abd7f7feed05c9c0abf580867fe3c7b9c5c8e63b3a9801077b41ef67b2a38a8015f1fde4dab55a5347fef39c9b0eab09069f7ffc433d6558933ccbe7ff85371d3c4c4bbf58801dd4a65f7fe91dcd37ff3393d02f72ce3dc07fe539a4f0580c7d528800f4800f1aaeb855477ff67c6bbdc06c3453e7ff2ce01495797716117fe6bf54476a62b16757ffbba4c4ff9f406111801338e372c17669c3b8010d81ef5d74a6f0578000aa240e43ce7cb587ff2b6eb052ff28cdc9801c8ca54a5ec01ea327ff2abcff7528182da07feeb8e8bfa01f0faa4801dd001454fc158172800d6ed11d00bd7d3d3800cc60dfe3582bdc907fe641c127f0600f43a800ec4fc24ee0bbcd91800231ae64b4f7e46d27ff2011c01d5d1f78be801857fd42e14bb41597ff445f0ab577ff1365838f4215244eb14d16e800429d46db2bb20b07800a08c86544599d7c07febfbcd6fd7c5b4ffd8015a29b041d4048d3e7fea7370eed1cd3d2537ff989f84a3ad8dcaa580134eb91c21c2c7b1d7fefe2cec90f961ff68801195efb17eebadadc7ffa0e9c8daf9818a127ff7b43e831033c40a87ffb9f24d6a03cad8568010be808b8b426fd047fe6adec6a20ca16d16800401334cad21b2c1c7ffc465319c571d482580037b68d5c7593e9a780129beb6182aa74cf37ff76f7ff088c5f0f6d7ffaf743a8e017faa627fe355010875e0fa97f801ac8d9c695fe0a9ca7fe21ceb6bfd173b90a8000e0a87e51183b6137ff74d28d23c79772c7800a55b36b67bd1f3487ffb66e598257e854067ff059362b56f2e2810800fd2e1b515da3f1af7ff66e359e076471400800cb868659af51ecb08007f5cb259894605097ff6d018b44367a8dbf8011272b1231e06bbc8801c15aa6e8cbd100588004138fcc15b97c75d7feb45b6ca6270d543d7ffabe4d001e728bb8a7ff3ae8697e0af231da7fe28f839c84d813588801c54677baf20b5c37801f6c85d0c4313ad1c7ff6433f632e7b29f718010578fda6e87ff88a8001c93289f180df5fd7fed33ed533f8df0d598001ad70b2a3bd4b5a77ff83a3e9b00a3b6fbd7ff7d2d9debf7d010f37fe943ba329b94767358010c17b28cfa22b52f80168cbb830250d3035801d4aa0ee67ccdb0b88005a9f396702616865801388473544d7a3717800429d46db2bb20b0783857636a42d299a0c68016d93f64feec872767fed3b7f4b794899af38012a87033d832a0a00800f6fae53882e71d987fe12ff1db242e112a07fe57cc5c0c2de350687fe671bbb4d1c2db97480065f0b4fcb385540e800155a3afcc68e628e80180e8d8af89aa37f68011ed9c52850e90e80800f4b37b4ceee2796e7fefef28236d645679280009a87f30a7ace7d67ffc70eb0dce8a182928016e5649894afb058c7ff4ad8ec820976aa008014bfc132545653f16801570ca2781c40f6fc7ff88be37a5b63382a0801aaefd75aa12717d87fec87142727e1743c6800747550337447a2bc80136e3791f4721e7407ffcad713d8d11312e8800367c3d3487f027088002f26f1441886a6f27fe930276bdaa4ac8687fef05450e0878b7e6e7fe638a01549a3071f47ffb5544a9c0a367af8800590abc71c8918e787fe668033ba023028288004555fae107fec8c2800cd5eb4012ea324a87fe710a2098f06d6d307ffea1ddcde6e1532307fe252cfc8258e0872c800c54bd74b148a4a5080118ef2252502d2a947fffcf53e7f2be89d96801af5bbe210ae2bb127ffe568e0ca81559e7c7fee4f9ac295f9e1b647fea4a6dd732cc85cda801b077152ff62eefde7fee2e191dae181497a8016720a80391c52aea7fe133c617bc2a84dec7fe406d183a81e3d13c7fec1ecff49564eacbe7fe98f33becf9829b9c800f19481549c8358587ff50c3b547604bb68a800a08c86544599d7c08016d93f64feec872768391dd784bc74f9a41a800b94a16a37b8194e48014bfaf6acd9d696117ff214908fe3e5d816a7ff070763b41c55f1807feb8e808060b80e5777ffdb046c1d550332d27ffa3d4967f21185dfb80059b007d49dcf190f7ff783d98a7025f281f7ffa0de18c57070516b8011ed0fef29a0242428005cf5b807da8d02957fec907d3c5eb73b5267fe714de04d8a8a6c7b7ff594b724883441d1480136ccc0559afeac797ff21f5938c7c0149688018519b81e443365d47ffdeffc99390c8d0587ff4fe2e36ae052a161800ad8f109aa3649f918001e3f50661ae806e07fea63467bdcf9c5d837fecb8b927ef27aa4667ff6400ab5fec84c72c8004860427bd860ca037ffc2890fed3678623c8019dc6c0f2ab58aa1780191ab6eda1e093c8a8008e2540fe739866677fee4e58ca8fab9df737ffe50533bea02b9cb0800c8e4fd7445da084f800523f1df4e26e75a87ff65896e248ffc71b57fecf407ba6992de671801aea49b2156a4326d7ff2085acb8e49ff4017fea301d58a274df0c4801826ec1fbc86b42877ff8527c8c9467f8a1d8019c89b1ee1fd3549f7fec1c47b8d3bc596f07ffb174d09f8189ea9f800f075ce66eeeedb5580085a9545d8a9f29bf8000218e9d67c4243dc7ffb1969455a83ff6237ffe0f2ed03c3aac7798006c535f14cbbfdfcb7ff66be1f8ba23643f9801298ba88f8c41b88e800e24ffa3101de14cf7febfbcd6fd7c5b4ffd7fed3b7f4b794899af3800b94a16a37b8194e4830a15f739ee73f5915⟩
def tc_cap_SG1 : TBlk :=
⟨[10, 4], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0), (0, 0, 4), (0, 1, 3), (0, 2, 2), (0, 3, 1), (0, 4, 0), (1, 0, 3), (1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 2), (2, 1, 1), (2, 2, 0), (3, 0, 1), (3, 1, 0), (4, 0, 0)], 35, 4, 72, 72,
0x99999999999999999999999999999999999,
0x80000003afb38eeb2e800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000002a51338acd800000033c4dc350388000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000032b485ada68000000096c39318ec8000000349e9f071a78000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffffff8403af3b0727ffffff397eac09c847fffffff95d23ffa05800000170119aa0ed48000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000299514631ab80000008da97639465800000083d330161cf7ffffffed21ecad901800000159e134a5a408000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffffff7b16906dec77ffffffe78a8c030547ffffff317c17c9d06800000013d636e2e507ffffffed4efabf4298000001711402795118000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f96d9a3133ece75ca7f2db346267cf18b748000000000008d93c580d24cb9d982b01470800000000000498d2a7fffffffffff38c4b98069265cecc1e7d1848000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fcddbe64fc315ab49817e0886a6fe1afa5d80000000000065dfa480644833607a46e5f583c4a1740ef0f2b74a81e250ba0777c90ef780322419b03d3ce4ba81e250ba077873a4388000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008011354733b4724b05820af6db7a2632338382a89fc161e6d8317282863532fa7e06307c8922581ce94849b3c181e88c4d12bd7573407feecab8cc4b6550df81e88c4d12bd27b6bb82a89fc161e71fcf0b8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fd21abd0373f255b17fdb7e97284777d25d7fd62a820d68b235098031f5080680c3dc21801ae73e5d90c510608037491d215f74fb8b7f7fe116c0b3fce2607edb40c4a9af390b69813232da851919c3ea80ae042c3bd860386f800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000803413ebea28a9ce15806135f46197040c087f88de9150f3bb6e417e97c4d54be4708be67f8ccb3fed30df1047803d870ea5a4df7ad9805579abd7c5989cbc803ebe75c80550594a7f87a72a2e9336f5b97fff644c6ecf9cc0e8804478f2185f2276458000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007faee40bbfc3e702157fcf0a075560aa317b7f834d981b41ed69df81d62cdd78504d266480073bed0089c42d318080505e6502decfd18119686d976065580b8572380acc77d216ff7ffdb299a48bee7f777f55d063c72fe75339800f0e6e8f2a137c7381cec439faea4f5d2b800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000803a84c6b12f75cbc17fb4faa44aece19bcf7fde9ad13e8fdcd2a680a4d213d17de4678c809d7dfa63c341f4bc7f2d688c1d2db11d9e818955f15a7c2b7c5c852b9f9c1f1ed2f1cf822de16fb0d41004b2809c8b7209dbe879cb7fed7775349fa1b77681162fba5e8c2a15038285773fac4878086b8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe27634f19bae20c87f9eecf8ce3b40dabb7fcb7b1dcc0f8e52fd7f5d9fd80f87cdc10980453000c578dd7e1d820f39f35bbe79cc6b7f34c1698e36059c717eebcb78a8c116c1f98753011c8334d18ae981e30108d7803fac8c800009c321256aadd77f5724aa68fa74f5bf80fa25211507262d5a82352fa14f9521ef35800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800f42674479321beb7f7001830d23c27c4280766546abbbab7ccd80b0d92e9d394b34de7f7e5d0acce0b2e8a97eceec4a97f382877c7faeb8a262e8ed48437efcd3cadb97ac3b9c802b793ed8f8a0e1f280309e0ac5a46353d87ff69d1d7e0a5e6ebb7ffd13db4b346d7fdc7f6f20ad1a51579aba801910a4ec583376f680491f162b505a9af980000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000082c83279e01f03ab2c804162b1188acaaa14804162bc8b0b4fa7fc813c8b762956dfc76882992404954cb23e9c813c8c75eb3348a3f4802209a922aabd14277fc539c8770e53dce57fc53ce87237a169a980220aadccd0aa6e6b800132686a51003b8b801cad3ffc335f4b9a7ebcc5f55342c27ccc801cae4c9881ad298080013268e24c203ca782aeb2838df26591b880000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000081802000c4ffd6a8e6848b7c8fc53473703e8105a45e527f10a50c837545f0a30b4474e67f9eeb0b041ae0f9317bd96a9a1c4a09258f807f0d8668a3302c9a81cb5cc74377771ce97a71c0aa233bf150487f338eb56d757ebbc880125e634a479da34e8022cd61d82cc6015a80b12d54e17b9b0c6e7ec0bd32a4dd4c90d48005f06c20e61016c8816f34755652759b7e84f2769f2125ee3ab2800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000810b8b1475a994b0ef7f68df6e5302a25a458477b8f3f3724caf9d7a4be60696fff891947fbc60f0e7878f3c0085389981eb5373839f7ef7129a31b67cc0fc7969e3974e95d4cd2883f77b439964c82e3080d30825a7ba0b88367fff8acd43f756356e7e9ec207d9eeeb3255807b6941857c92a962809b1eb41c099d9c2a80116356c53825df7880ffc1d9118cee1dce7e2bdcd87070e6c156854639d10ba6628ed28000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e74372a95a04e32bf819f7a41de5b26a0b97f013ba79df79476de8348a380c985136640808e30a6573175938a7ea7188f9e11cdabb084d93131ea7e679d0c80c668e1886558de5d7ab3066618ba4f98017f010c402f3ddab1058006ab29867f81bdd580ab458effae5fed4d7d92faa2ce3d6fdcc97f308a908fc79b94997ff5d73c622d6653f37e5d1958d104ec921781c8680672b6c11bbf7ecca2dc3e43933b7484c1b29ca515106b5f8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e002cf8a9f7583b4a7ecc6a8297e4b884e47d3b01dff87b44b2a38193c2abadf5f2a4b880856717b853eab5d87ecdbd582863d5975981f54a1eac4ba377b683db6b3bbb0b9e9a1e8037e76da9a26c7e277e753f20a0a02e47757ff69a5fb5916c02c17f88a16665a180e2197f554605c67ce1ad747ea5cf594dbd8e5ad47fec8662f413f433127e0ff85c2bd1bc0f1980b279ebc0d3b7dd207ee90dfc180bb7fa3e82d94873bc615f2f0585c386a79f288c64ef8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e071c8bff45734ce57d8cc0f64b8ac6bc258131183e8c2114570e7d8e9bdee9abcbd17b809fa729ee459bf7c983ffc05fca43aa492c7d68d8b92698ff85197b065ce902991b7d018379f486e2529dd855858a087033b7040dcc7fecd364305e8c88067e875ba58f3119cbe47df80bceba8ed53d1e80962eab8bd4aeed6580043be5afb3ae9df67dfd4af1bec91dca6c7e0cb9db6eb88f4ee082332aff3ffd86ee247f03c43979fa69b29d827b499ce28656716f85a1a08676d8f3a32c80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080ab92ca76a194a5c37fdef1a638102b963e7fb2a5cca1982668028023bf746f1c662a687d0cc6cf2e017289e57ee4eaf982842d27e083f60c6c4792733e6a84cc9bd515813701227c55f5fbd74a4eebc37d3e35d65f9958cacf835a36e053993d1d3e8222e36dc12871ee1a819c65b38f3d7c4d808036b6242285adf3ae7ffb754d36565fce92808d239be7f8584ce07e804a369c1fe98ba1800eefc79654f33f5c81e35ec0c4687891437c53cf5cd5ab27ebe87d0c7f6f7491a7393f832e20b98c280c73a08000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ea49506a7c1ea381a7f3cb0dd8f20db2d5678d7f457389278ee0f7d5b15dabee51005cb7610c8bd37233d24ed7d03653c6b0f61485e7eeed726c4dc896f8b85607940033a85c1c0834594960523a4d54480fccb65f6cd71032c80b9617c3de31bebae876be274a88d21c0128540d950ed979bc1a980fd0acfa9ab72ff4a8007734168e49d51667ec10627e4283c1bd0820d2547a53e8c41c17b0df3d71528b6a0007d71a17b9449f48f148131b8ea6652b574ed80fba4aad4e2e853e080a3933cb6a2ecf6b78714a7d1e81cc34ae48000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e7738f00b89229e767905bdd5f58911acf87f5626464f456ad3b87d45a415bc09e6c3bd772479c1447fda58f37d7e81c1127ad3ad9d811cac76518212186d836d763942b587e41684b76046a98ad7e5637e723f8e418eb2621b7fae2325eac555d20280ad4cb0ffff61467f84ab19d77089ac7e6a86dd9b3a020059b1c0800d33c63ef2e679ee7e9c5310abac7611577b42b0750ed564d23f8255aafeb0cd7da1f7815e4a2a20056b405782480d32c24f689dec7d68c4f7bfa41aa85b7faa93d9e93766f0be7ff800e00bad7ed0b786fabefc05dc4d3e1780000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080735d9d8b447728b37e41fef8bf3c6e469180c1d495fac7f8d5417e963ffbe44474b6e17cc24ef8f9c3f8f28f8029eafe186e4071d17cf245fb94e71b3d497b7f295c176ea53f998621c47c7d1e32318e840cb5b27fbb4f4eee7f537123a14dab85c77f085de7a76381594c81c1999a03478fd363839699e47546634c738382670e5c5dfdfd90805c47b73a0e6dc8077ef0112e3299a91c567fa2648339da641add7d4e9365c05174b5837d098c35d6c94ea3d781af0d55c6ad974e697f60c948ab3c68aec57f01f9dff0d1d25ab2818d4f9918741721518351d413702e0b97fb8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f7f3c9f6af5e5c6e47a272d1808599705b27a272dcbf2db22b53d7b942ca8dc54f109567698e5bb3d76f88dd67b942a6b4b71e897a97d9649aaad5b8fc2e2825835ab0006caae8b82583e5600fa4f74167d9650a77532654d717f5698ceb633bf1dc7803c99aa00cc5e77ee7fd6eee8308abac76c803c9e21919c31ce3c7f569cb048cc56591f82a08b2fface07c2b67e6126c13b2dde8cb57e6124caa36fc8eed27eb7e96304ffdcb8a2887342d7d580a0c4e37eb7ed96062b0cf5197f730fd8e6084878b6810b41bf6d4cd064b4810b443ff7ed8da7487f73137d575dcf4f5a82ef33cf905c0b6edb8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007df98c440bc62418fb7ece05161bbf0ff07581e5348dd40e6b18af7e6630967841b1501879322e12c145a1de4e81690108acc057eeba8012cc5f1715bfc31c77bdc92084ccea668a7ba5bf6d6463424b947e676fc7468c153f747e621eefdab97dc84f806eb3f58beab1566f7f576ce0eb3f3780137e4bda5f8881b874fd821f4b935a451a95427e406481f6d1f0e5e783261737fc3e04276d823054df4c9a33f6db84e0ce76afef0e17857a03ca1ba566eae9387cb4079cfd2347a3907e7e1a39c2c3dcb1ca807271f5fd0a2e63517c913ceb8401023d2581e578bb79c7a25dd68022fd0b06f5b3e4e0850de4927a54b77f8f8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e4e7bfa22b0e8eb6982240476a60a22521a7e71b5af18d51ac9d381b88cf94aec6d97667a4f8f27432a4fc6c37e1e93cebb7f981f797e5d80b5422286e9017d105da7bc28c612f1786445b52318569302805c968ed18782bae9827282cd66196076117e30edcf4813c9049a7f73087f947db7024b80bef7115d557085967df9abc4c713963d507e89bbef14161357d481a841beb43bc3f2f682ce2f4946639fa0857bc5be6cfd1a6b79147afefcd5eda54a182b858cc2b3d414c098a08232b8ede57b1beae17c6e87044f15dab8f48112732ed4f7f32a487e2082aa5b9b023d9b801d44767753f4f97c7f172414bfab49918a8522b1c270bb81869780000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080bc4d0a1efd386dbd7d619f4f53e01a689f81e92006fd15d56f597d3ee4bc000ed6c520851c07c51b9bac68b07fe6432c3d16ce14a37b437b987d25d81432795c644ffdabe8393a84598274925f6757f47ff95f411b7a69027a7feb4788b7f25af18e7bcb1e5827d6a920687d4f5c33966ce346407e5a0698215301242380b88419b7230299f9803b962213cea63dd17d9e840652ecfb3d507fc11e3c9d29de7b5e7eeeff0a2c2ca5a6798584cfd8be765253c47e72771496c9a19bd883079279146ef367dc7f0ef3f1557d35a1f67ebb908d8f0547c50680b2e6ece149e8b2047f708138957341381a8056437f11440203b77ea00a5c5dd6ad963a82db97e5e55f7757758000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008232adf87a4b51035a802a51f42fcce819ba800580f091c26598c7824f1aa9b29e8b8e297f6fe3fa4514363fd382398e74a7f420f5fb8308aa100421b6e6ca7717c499a063ad02e376be755a01b76d530382e26c2198533a5a7f7eb9a607e1b86896497f6d9c8c5742b2a8457db996889d959211b57f58d8ef72db17ad157eb31a4f38ba1d5ee580e52f3faae6d8451c7c8a2792f267cc204c7c78d763ed65627d53827ed63e1320640307769a916c77ef3a071f8282e30058769795c37eb1d25513d3812a2783e4213ea8a93b1f9783e6d0595e9cde002b7ec4bf19fda46ea4497f0fc27f34bb7da88a7fbf32bc0c07f5c1b07fcd27bc0c1de4fa467fe8c3ae83d80bcf99854f7543f63a60edc880000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080986c14162118f30b823672f849d4029b687d26063144180d975080247c6695ca94557a849608b0c7af03423e7d2ccab72ed9d42468806b61eef7ed97132085609e4a0e7cda728379174370cdf213198a7b270ff0773a1926a780c55bf7b80bed38a67ed43e4dd5548a61ff7da89535fbd76748287bf7ffe46c4d70a3787fdfe0b3a5eebdc02e802ec7b02a88e3b575801e4e0c6997ef2bc67dbb1f5d1839fae6657e7c4e4917dbf639cf853415142c7ae1896e7f077ee39c8566210280668db1b55cd258547eb821a77397eaeabe7f1560428674c9b48b8301a21e92276dd86b7f867c18fa1249a5fd7e95d6b146cf767acc807fccbf2d466bfa8d7fae8be1e44df1bcd57fd95d522b393ca71182e07e1fdd7a6f236f8000000000000000008000000000000000008000000000000000008000000000000000007d268d750b88c47eaa830f6e23657bcf2501830f60f274567e1e537e1af5a7d9b81b532489cbd908c362ae41ca7e1ae05eec765984787e8a18ad92290f2928865c75629d7b6a2a9e865c47a08aa75ff4e87e89f77a2bb41cbd9980e334561b6828905381f2e36ff7177c79ce878add3ad2b442ebc781f2d39cbacc1b6ac480e332185c8ef7dd377aff9d8447d657bb767d3d20296667fe170c7d3d10d4463315704579e6c9262fa44f93717d91f8faf38aca29a079e6adaf6f3686f7d17fb55d84c5dec430ae829d253d482301a13c829d1efd1218f8468a7fb55e44b139f73e658077192856273f581a7ddaae7cf748d5474f7ddaaa2ae9600c45757ef2ed247a530b749a8087e595afd37125497ef2efb1e8429fd432828da3b3744efe10bb800000000000000000800000000000000000800000000000000000813d947e03e343df948076ba5fde65154b858369f42df62393ee227be4b80f9b9af432b58877cc7036f027a84288b7a7da4599dea6528098f3b278c9a420b985438c07b90a4c3c70896fe682decd41fbcb83678049b6d640b22b7c302940fb48b2f43f82899260ba9d41127f7f1e833924322433e57f62016dbadbd1cc528112c8904a52f12b5d7f280f80824b949cf37a9df918cd83cf8f518298369a6f1fe08d977b9851457008d0df1e7e3e9f82abeae637b4829e09e5cb56ef1fde7a32daf863c1de58cb7ef75ebd30d5f5d0357a979dab246ba7670f7f77994722842fb4ed7e84ff3a77e86695f77d55fdf197c27d34bb7fcb707c0a430a0e6e80a6ebed00395b19a37e03f7d2dc494975317e9289ab4eac9363ba8061bef7a23ed7d70a82905cddedd572899080000000000000000080000000000000000081a52935284b75cb6683aef926b70576b3d78175af30342899671887e443e5394df382bf8b3b45717ae334dc4b7e3941c4fa18f8019183b62945e4cd5c42818b52657de1d4b3a18a882d3d7e9b35e1d4bc819889332f2396ceaa80067ff862c7d5a50d80158ce0ab2975f3877ed4f8ca50f7cbf52882767461c0437691347c57ab8ff3be690cba7ee187144dc662dbfe812878990d505ff6317b24c4c0e5ac701b5e81762c1c0cdff72ab17dabf93dd90eb5fa1e7c2abd82c86d776c607dc90f0cdbf750b6297a14568114d54e08557d6085de61a07e5bab79d036df2016da3db07e0953140c7943bce27f062e570a23b8507d7d2b88ab2e815c505a7eb3a53dcdd39fbdf87d5e2b8b52a39b4c03804501cd58d49ca9048081aa18195e46c4fc80bbd8c659bf9fa11882aab5d835c31ddd8680000000000000000080f96243cab86d25197962c15dccc5c9cc237962af66ef9989c7b2886ed12e3f1703d8677d35b65717514689f8886ec8003e0990c2d57ee13fa5fe0eab3c4d82aea6feb78d82fc5982ae9ccc48c4a1c57e7ee146ce3b4cbf6a27827366b6a9a941de4a7ced10b3536b28d992862e840720183cd56f7ced076bdc2a4485f5827364dc23f325a1c18209300e95658ffee38196bc1eec30d75ff08196abd796286525fe852649e3afd8d95f5189a48aa8980f80ac3b85265b7d56a19706a08259786bc29d2c2560824df60d37f96b8a83824dedf4755265b2268259785ff29da3e0d57ae50614688ebd036381a73c3922dd3728f981a742087fc59742a27a27d954db9c7099c781b9ec920d3a53c8ed7a27da70b7e9e5f02f7cbc187a7bf6d75a187d26be3625ee69a2ad7d26bde801e9df190c8281fa65bd151a983a,
0x97aeec32b8869e29c2800000012c14ec2faf7fffffff453db03b447fffffffa8fa7db2dc80000008262bfd6be17ffffffcc408bb6fc67feb54e6ed5680f3e3808ecc2df26e9043b07efed753ab74079f768027fdd4ac223fc76a800f4fa0048e4fd6a180db101a3d90022550809445654782bf75127f30d052298792f0de7feee6d591ecbf77327f0f84abcdd5d709ac7f634866e1da6b5d37817d990818ca2d59307f5a6ce47e220523f681ec556751294ac49c7d5c085420bc092c167fa5aa3d648f55b7447dc132aac79aa80d9a7f4d2ed94ffce15ef37ed9c91efc253cddac8127512880acca1c667eb4d580c997b40d2f7f81aa1e3aaf3690fc7efa8fdb3b4c6613077ffba8fbe9d9257fa07ee7675a89ad4837687f78b80dc93ed6c06a7fdad5ba4719fce52580a7dc3f6113fbc9547f96f6b3ba511251c6800000012c14ec2faf9af424e542b11e51857ffffffea803c3ea1d7ffffff9ccdf0386b9800000027bf8a64e547ffffff6cb94e498cb7fd367eb882a12b77a7f14713200c48a5cd77fef358d8f6591742a7fb4783f8e41a2d8557fe94a2cae4ee380a47fde0b816a682a54867f8e6544de852be2f37f530d67013c4ed7077fe7ebf5f87867503f7f34a0f2d6de6e8f54813fc4a8a80c87f4767f234cd3f07b351544815a5b5861efd2d6887ea3d776ebc5b952d77d4eb1e400ee5876fc812701d6f3dbff81777ce1ea885a1fd2e6fa7eaf8642a55eff36bc7f0455bcb641a0ce22811dd4233088fb658a7ef19e35b3c510c37a80a20dc219893cebef807f48a18c74a5d22981c5afa53312302b348163570e75c560a987812f8f46a587eb52737ef75189032ef6d7f17f8026071053856d908000d11ff9772dad0e7fffffff453db03b447ffffffea803c3ea1d942ccd8bcdb241427f80000006043f03301e7ffffffa6a14714e30800000051ed0bb59188028dc4213a2b7d22280869adf4518afbfe1802a91e2202e6dd2d37fcf2dd1b84bbb7cb77fe1ff23b586f78bfb802ef9bec7c911ca567f5323d51ffb5d3eb8803ed4a22ed8065f957fffbb853489cf9cf7812cffae025d7d16427e54e470950070337581e8da4d03583b170f804bfffd0eb42092fa7f7c2d9fd36f576bc0816c6ed73c526147c47f8340c731986e98c27eb8002563f6a88cca80625e1503493725d57f6adc5be4af244c7c8169d8ca51ee7900ed808b3e4f6937d88307810624ce495d987a4a7e98bdb533e7ade9767f400771da2d983b1780c69071cf0c11026280dcbca1f55ef7b3c7801b7e12554f5ec4987eeeb631185ee585887fc300e25b6779e7d27fffffffa8fa7db2dc7ffffff9ccdf0386b980000006043f03301e950c5d721af83a65707ffffffa6225256fed8000000b6dd86009b47fe90d538ca75a74567f2c0bfda10741e5107ec1ff457a78c0fbc57fe4c922c383023ff57ff872642fb9396ff980ab7e707d3ea20ad17f9629a7d33abdef2b7f08182e5f099832238001db6cc92deff2418039916d45cef005c6810f591f1fbb348c187e05ac3828fe4bf8147ff7e729a65be2f5127e5892927f75b5fbb980aca7688e353d2e81814fcae7c6e2da37637eb42871d6c3ecca3b821fd57577cfd7c7c580dfbf129daf308fe47ea65c57f1a947ee627ff1e5760e50e748a7806f0c1310ad0848fe7fb6308ab7cb9061a37fdb08b4859ed337497f8f5e14f9b26d81cb808119d8d2053e2a2a8112076f0040ae2ef5812269c5b99f2b779c7ff4c7a3b5231085a480000008262bfd6be1800000027bf8a64e547ffffffa6a14714e307ffffffa6225256fed96bd134f3dd257e1e97ffffffed9244deb087fe2d9cb3d110c16c080ab2b159ced4b45b4801bfc24dddb5a6d867feeea3e63c95be8c77fdf10fbf0345de33c800190eea3bf3bb6af7eef7dd71d748fb0867f09b53dcb75dadbac8019e6c46fee67474c7f01ddd978557549e88144f01030ffc502327df8b9c3f1f3a4a85c7f53994f07c474f24a7e232a2b05090550a97fa131fed998e10bf48028abd41e7ff820a17d2a361629c5e8ff4781a24665976ab786aa7fe7c6a47bd81b311d812064f85968baad927f26a3e28dd3d358b77ee20865bd218fed8b7f98386bc4091358c180b991f7948b4a154780b3b86adca21c833680afde759bbe142372810151fd424a79a1d27f751310d8b492d49480703bc98f1cce75207ffffffcc408bb6fc67ffffff6cb94e498cb800000051ed0bb59188000000b6dd86009b47ffffffed9244deb08987af8eb25625587c88003b1a0657a989e4d7f803370a9c69c396f7eb5b4b0fb0ffb121a7ff856d0e7f67c0ad8801bb65d9da7f46425807e5c0770681108137f42b552f30e1b8be67fd3e7b03c69a1a5fd8003d2eb3a5074223480eb505a5d4a5629f581f1b7f13549dc635982a0d0ad776dcc1d047ddf05e989666172dd7e3145cbd2253793587fd8b3878d4987c0667f5f72b0494ecf95507fe22e7c0fe4ff071a7f66f874a293b53ec67e7dc7e1900d516b3c7fa599893f49a46d98814bfa1cab6547690180a2d3de5ee2c69e598108ddef49027fd3157e70552f40cc94eb3e7fdd6ad825d812fedd7f2c6e91d844d07df6809555dad4be6c159d7ee8b4932614e93f02812b406dbbadff93927feb54e6ed5680f3e37fd367eb882a12b77a8028dc4213a2b7d2227fe90d538ca75a74567fe2d9cb3d110c16c08003b1a0657a989e4d9571d7c9bcdc2c09017f72c7f0121de4dd6c806e04ad7d8a7d4e858003174d61f09c86807ffde09ba712b655ac802ac1e4fbc972081b7fcfc44a2442f450b781028bc5eb86dbf3207fdfeb51d580017f0a7ff0e344c7aab5da1e8000fb89d6dd5770e47fad20a7974bd1338a7f32477f09efdf69617fabdb53a967a853517deece8ceb6be14860807413c85fa2ac304580876c000e688612127ecd896facc32a0a6081609304cc78ce2fda7ebf608eafe2982384813f134bb98087cd417e96526ae6e8d7374f7f0ce4afe0c73579e0821e5b58744eaf734b7f82e54014425b3d8d7f6e8cb91718f39378810993e91d810415cb81425648decd24c95c7fd9ed06938015b4aa808ecc2df26e9043b07f14713200c48a5cd780869adf4518afbfe17f2c0bfda10741e51080ab2b159ced4b45b47f803370a9c69c396f7f72c7f0121de4dd6c9ad3d79a1f930e8a9f7ef4110f43fdcedd677fe211f903e97665c8800606dff82290e2ea8086f94cc008c0da6a7ffdbe8cfd1f4e353e80c2678aa4e2b8a35c7ffcb41858cb8fc1817fa711c35e84dd6b5a81296190672298a8da807c08493db098510e7efaa18a34683608967f45a054947e3db464808395fb33a030d231802bb1c4e9d3ba014b7c81100a3ce2f884887fe09d7452eaac31358011b98ae53e09bd53812f816ad9807409eb7e42372143bec3c9cb7f37c6a4180fda4ce481152ef929c10fc0bd822b9285f6dbb3ae067e99931e936167aff2802a7701ddd3a429187edd83816c745a5ef97f5dd923333ec02aea7f521f181f46da4f8e7efed753ab74079f767fef358d8f6591742a802a91e2202e6dd2d37ec1ff457a78c0fbc5801bfc24dddb5a6d867eb5b4b0fb0ffb121a806e04ad7d8a7d4e857ef4110f43fdcedd679c930ede643adc68447fc74d03858225fcbe8003dc8be46b84c22c7f664e3deeb1d44a17812f20c9113147c63d808227e6920441b3387fef935eaf44bc06d68006f6ae40f1fb938e7f0de86953ea5a474e812c22549e467a51798097dba6afc3b0a2007da4e174ca48f5997980144a63877de2ac3f7ebcfeaf961a809c207f003febbab2cd2c2380c6d7b121202c83b18172bff9e28c80648a7faead508d985cc841827c848e73e0ad69137d8da1826b3ce271d88032a59c42842f916e7f2c5e67706b8ebce17fe52054456b3413007fdd3a3301af3a133e804a4d7c82dc2533dc804bdf59acc63680f88016bf564f08bb55468027fdd4ac223fc76a7fb4783f8e41a2d8557fcf2dd1b84bbb7cb77fe4c922c383023ff57feeea3e63c95be8c77ff856d0e7f67c0ad88003174d61f09c86807fe211f903e97665c87fc74d03858225fcbe9c85dd3bcd2d3be30b7ff5cadc60302954237f3a904e9e28dd11c47fa9975adaa8e7df4d7f4439ee6409840f917fe1b408e7229d201b8137a67f9c83e8bad682196b4ad0a3637e2d7ef537d97456f8ab647df8bedc125627f83c81dcf6f9680aa886937e15c902409adde5057edeca1b73cac98aa582ffdb436b97bc01d67fb7bfa6329782c6547ec3b19d0bbe05694080e2947f7b24548a5280dc5d4e3e21f5ccb37fa11ba869a8cf6245816b6f78b1f423dc46816ac3d0e403c0bfa27e92c3543b60efd30e80fc34f319bcb36b058087aba5bce7cb65777fd5dcb97a503a68ee80739191d214150ea2800f4fa0048e4fd6a17fe94a2cae4ee380a47fe1ff23b586f78bfb7ff872642fb9396ff97fdf10fbf0345de33c801bb65d9da7f464257ffde09ba712b655ac800606dff82290e2ea8003dc8be46b84c22c7ff5cadc603029542396432030920bfae64780d2d82c8e9f21f0f88078560fc3f2ceaf7f7fc90a21d9143fdf037feef23915b3a99a5d809071309188121d277dcc8e14ba8f9689dd8210763b1c479f82b681334bb4653a6c9d437d9c6a5ac25ab1ac437f4e4ec0a5bf03ba7880a4f79befd0b767db7cc7ab5d56c81870c47ee17553938f6a80cb80290483a712c809eb803a022617f68273b8804da30b709eea411c7fe72cf02add0801d07f6424dc3ca79b24007f11067c72425e56f57f42e3737f4cd2541a7f5e3b0c6ff1ab97d58009f06be4d29418287f64d176ab7b5f98ec7eea179a367617abb480db101a3d900225507fde0b816a682a5486802ef9bec7c911ca5680ab7e707d3ea20ad1800190eea3bf3bb6af807e5c077068110813802ac1e4fbc972081b8086f94cc008c0da6a7f664e3deeb1d44a177f3a904e9e28dd11c480d2d82c8e9f21f0f89d0946cb70957fcefa800d4be593ac9a647380acf6dd0f1f815b907fe30b4191ad66e4937f3888401e22694c4481e9e785ae6626be71817c1295f3ffa4b775805654a26512b17ca982d45758a69d216c9c819c0574ae3bc1b47e7f914714ed8d8d61f77fda2df0e1973a00e97f271bc50f044611947ee1a547d4b50a601b7fe3449143ea7f66107f73437cd80778accb828f8ffeca8de9d37f814c26a8ff0a97695380bf2171ee75b527e37eac37fb10a21aac657fe2b96e1014f611988073a9341d6ed509247ebdffbc77417fafa47ff7bbff1c4986d276809445654782bf75127f8e6544de852be2f37f5323d51ffb5d3eb87f9629a7d33abdef2b7eef7dd71d748fb0867f42b552f30e1b8be67fcfc44a2442f450b77ffdbe8cfd1f4e353e812f20c9113147c63d7fa9975adaa8e7df4d8078560fc3f2ceaf7f800d4be593ac9a64739d29601f9e69286e0a7f56baca779a50640d7ff5bb3dfb557eee157fd958931a1fec69bb80ac0d5281ad83302a8060fc78d01d389efc7f496005c8d6b2d1f880249605d1430da0d97f67165022ecae077780954b4698074fb5a57d39872ae963b53a5a7d1ea04f0829cfee307f7c8055b506fb799c804dbc5c30ae2a37c881bfc300908751b9a07e88b4f342299347d07e980a773db67253097eb2eb99c9b24012e17f8b058bc11c9ca1497fa171b092a97089bd8053ee0ce844f143237ffcb50d177b47387480fb8ef27405c4aa127f30d052298792f0de7f530d67013c4ed707803ed4a22ed8065f957f08182e5f099832237f09b53dcb75dadbac7fd3e7b03c69a1a5fd81028bc5eb86dbf32080c2678aa4e2b8a35c808227e6920441b3387f4439ee6409840f917fc90a21d9143fdf0380acf6dd0f1f815b907f56baca779a50640d9e0226be8d06f25dca80198405857abbbd4080e6ba3bb27266489781a17f717d41fe59c081bad0c3271a89e18d80304591618335203f7fbcaa56689985a7567e55e47b38a2d25d7080dbe628aed6956a927fbb9ea603e758a3f37ce1d428d9336860d380a9a0997c515b1c9d811a42bf34d4377f11820937722ffb52593981b7ca86e95d7c240e7fe2cf4708aeb646cd7f131a376457183dbb7e9f0c68d0398db35f7f3cb3b59f485ff34a8072cdfcd3bd8750e780b56f94bae4fe865680d0bb9c65826598a87feee6d591ecbf77327fe7ebf5f87867503f7fffbb853489cf9cf78001db6cc92deff2418019e6c46fee67474c8003d2eb3a507422347fdfeb51d580017f0a7ffcb41858cb8fc1817fef935eaf44bc06d67fe1b408e7229d201b7feef23915b3a99a5d7fe30b4191ad66e4937ff5bb3dfb557eee1580198405857abbbd409713356e597322bd897eb3d14bb8d670a8947fa02a25de866b22a581f3e2116d0987135f8140c01b05ab6e4efd7d25291dcfb83c801381da9f0827495d902b7ff6a5828d10df075c7f2d03d09baf07213b7e5ac9882f894e56d67fffa9dd345f8732727fe9191b7b7da2a5b181b5c5d369903d804280e67c7eb9601dd8297f14f23495bb707cc47d5f652f8ae55bf8d38147fb1472163a67db7f7acd75020e8d94a78092fdfa096e8762e981321a5df46ac1769c7fdf2ec7e7a8a1d68c7f0f84abcdd5d709ac7f34a0f2d6de6e8f54812cffae025d7d16428039916d45cef005c67f01ddd978557549e880eb505a5d4a5629f57ff0e344c7aab5da1e7fa711c35e84dd6b5a8006f6ae40f1fb938e8137a67f9c83e8bad6809071309188121d277f3888401e22694c447fd958931a1fec69bb80e6ba3bb2726648977eb3d14bb8d670a894a24f6d85e26a236b4f7ee2a3a8ffe942d54c81f7d89803a184be917ffe495a890c412eb8827b47e44501f9cd0780ae45ea742279159680ad5ccc38ed1ea03a81bfeadb738d57db5a804a854a988255a3df7fd9471e5b50ef638c810519ddb8bdbe136d7efee2559a4131889481c3c3eaa58189af07806e2a79ad011abaa88215d12790af2bb4037f26a67224a7ca37048133fef4e6367e50587feb672e17c6a721c180fec99fa062ae1d0a7fca704f406da3fed87f634866e1da6b5d37813fc4a8a80c87f4767e54e4709500703375810f591f1fbb348c188144f01030ffc5023281f1b7f13549dc63598000fb89d6dd5770e481296190672298a8da7f0de86953ea5a474e82196b4ad0a3637e2d7dcc8e14ba8f9689dd81e9e785ae6626be7180ac0d5281ad83302a81a17f717d41fe59c07fa02a25de866b22a57ee2a3a8ffe942d54ca58055e17bad4645368092775adc9879d3217f5a1e0c26f7bd56fd816c2eefcc745c4f0c7f746aef7acb8143ef8029219be6484f96797f3d1e52e93311e6807e4a5e7ea81cb25156819f2f054b12cdf659803021713ac23a4faa80404d6be3001d8fa7819e902c60867604f08163f05f3b2cfd85d77e9b384b14b3d7311880a504d101dbabe0347fef92055ef2cdb47a8011102ee649754ca080f59b6cb02c76d56680ba2159ef09aa9bba817d990818ca2d59307f234cd3f07b35154481e8da4d03583b170f7e05ac3828fe4bf8147df8b9c3f1f3a4a85c82a0d0ad776dcc1d047fad20a7974bd1338a807c08493db098510e812c22549e467a51797ef537d97456f8ab648210763b1c479f82b6817c1295f3ffa4b7758060fc78d01d389efc81bad0c3271a89e18d81f3e2116d0987135f81f7d89803a184be918092775adc9879d321a9f5fada6d3385affe7f9dbf81b23b59f9127fa150f44ead21ef477d5fd590b5d666436a802303ac96bf14db4282c37bde10959d2b827f207a072bf967da92802cacee007a7d4cce7fb34ecbdfe83be4c47dafd32bb696c641357f6188cf66a53d4a7580840222e73ccb304f7e1f2294bd5f2fc345804fa418e40f86bd3d80a443f6b00fae98797ebe0b74d600f919a47f7f24ab49c6b765147f7827c7b2b153d7e67f5a6ce47e220523f6815a5b5861efd2d688804bfffd0eb42092fa7ff7e729a65be2f5127f53994f07c474f24a7ddf05e989666172dd7f32477f09efdf69617efaa18a34683608968097dba6afc3b0a2007df8bedc125627f83c81334bb4653a6c9d43805654a26512b17ca97f496005c8d6b2d1f880304591618335203f8140c01b05ab6e4efd7ffe495a890c412eb87f5a1e0c26f7bd56fd7f9dbf81b23b59f9129f99f6e865f103f57f8171af2329746b35597f4fda4d87c13cd1f7804c7cac6bd9b6e7f981511b98be2ed19f6f7f92d1819dece38e7c7f502de741ae2526db7f8f5bb6b04c2816b880a17169f11586140381c2a7cbedd90e5bd87f184d1eb007999584803f7c00ec88377f5a807034c89b361e44a881100b7c373162a8f97fb456c4499b5467e97eafc4eed2eaab827e80ee1e199201e9442081ec556751294ac49c7ea3d776ebc5b952d77f7c2d9fd36f576bc07e5892927f75b5fbb97e232a2b05090550a97e3145cbd2253793587fabdb53a967a853517f45a054947e3db4647da4e174ca48f5997981dcf6f9680aa886937d9c6a5ac25ab1ac4382d45758a69d216c9c80249605d1430da0d97fbcaa56689985a7567d25291dcfb83c8013827b47e44501f9cd07816c2eefcc745c4f0c7fa150f44ead21ef478171af2329746b3559b9d929065a543012f68208e4c956ba1b9d517f4652b9be07c50c9c812ef7620c9d767d9e82db139c4b340b93c27ed71cb843421eee608113e17dad2c07d0b07ea94c20fbe43a5e858034ae68a5390bec997f032969ae5186a86080ecda9cb5f308d51d800a4f556fd6acc82b8076f4427f190f06bc7fd2d343cb5c15e7837f72b286d47d00ac487f18e67e876a821ef87d5c085420bc092c167d4eb1e400ee5876fc816c6ed73c526147c480aca7688e353d2e817fa131fed998e10bf47fd8b3878d4987c0667deece8ceb6be14860808395fb33a030d23180144a63877de2ac3f7e15c902409adde5057f4e4ec0a5bf03ba78819c0574ae3bc1b47e7f67165022ecae07777e55e47b38a2d25d7081da9f0827495d902b80ae45ea74227915967f746aef7acb8143ef7d5fd590b5d666436a7f4fda4d87c13cd1f78208e4c956ba1b9d51b17551024e1911b66e7ec94907db925eb9b483505584a1d78011d4833fc675ae90dda5118170633d43f34e79e7802d58950aed97fc3f7e43eebdd2b4b2acd97fe89559d9688acdbf80449242a7812074d17e0875a5c02390beed809e9ea0ecd6b74a787fecf88edea2a26b2d80d641e1814219471e80a8dea42b0b347a527f7314bc906fa5e2b87fa5aa3d648f55b744812701d6f3dbff81777f8340c731986e98c2814fcae7c6e2da37638028abd41e7ff820a17f5f72b0494ecf9550807413c85fa2ac3045802bb1c4e9d3ba014b7ebcfeaf961a809c207edeca1b73cac98aa580a4f79befd0b767db7f914714ed8d8d61f780954b4698074fb5a580dbe628aed6956a927ff6a5828d10df075c80ad5ccc38ed1ea03a8029219be6484f9679802303ac96bf14db42804c7cac6bd9b6e7f97f4652b9be07c50c9c7ec94907db925eb9b4a2c08043f330335c3a7d6df6cf4c3e6e46f37e32427917a296b8d47fb34cce97b363fbdc80b23d47ea2dbe08617e905479fabc15afca81580032c2e1da7e1380a1fa9dce8c41048c81bcdd66aaeb9634f680a6ed5b7e3b5e0cda7f294dc434c813b5367fabc9134fb19ef7de803ab77e10287ca0ce7ed58736709a5e07287dc132aac79aa80d9a7ce1ea885a1fd2e6fa7eb8002563f6a88cca7eb42871d6c3ecca3b7d2a361629c5e8ff477fe22e7c0fe4ff071a80876c000e688612127c81100a3ce2f884887f003febbab2cd2c2382ffdb436b97bc01d67cc7ab5d56c81870c47fda2df0e1973a00e97d39872ae963b53a5a7fbb9ea603e758a3f37f2d03d09baf07213b81bfeadb738d57db5a7f3d1e52e93311e68082c37bde10959d2b8281511b98be2ed19f6f812ef7620c9d767d9e83505584a1d78011d47d6df6cf4c3e6e46f3b53392d89b427b192a8165c4583348caa819808f64818e46866143815ad2ff29c938414e8186d84ea1b7c2ee387df99bccaf3f12f1247fced4e1df802fa0bd7e8872256469bbe15f7f3679fac4e38d6a798072f722d77ebfa20e80e68593a78a3dcdc7814b2dbaf10a7c3f307f854740df4bccbb8e7f4d2ed94ffce15ef37eaf8642a55eff36bc80625e1503493725d5821fd57577cfd7c7c581a24665976ab786aa7f66f874a293b53ec67ecd896facc32a0a607fe09d7452eaac313580c6d7b121202c83b17fb7bfa6329782c6547ee17553938f6a80cb7f271bc50f044611947d1ea04f0829cfee307ce1d428d9336860d37e5ac9882f894e56d6804a854a988255a3df7e4a5e7ea81cb251567f207a072bf967da927f92d1819dece38e7c82db139c4b340b93c2833fc675ae90dda5117e32427917a296b8d48165c4583348caa819bdcf8a84f3c34234d9802ebcef9597c4b2bc7f078082a8e87a8aae81fce4de176c079b777dc9d6d0a1fc05410380c484808a8a75263b7ff2814c00356273a9801fd8a8cba066892f7fe5edcb3c08deb1fc7f2134048ccc8a269e7fd8e5e3ccfaf697a880cf8fd24567f27a047ed9c91efc253cddac7f0455bcb641a0ce227f6adc5be4af244c7c80dfbf129daf308fe47fe7c6a47bd81b311d7e7dc7e1900d516b3c81609304cc78ce2fda8011b98ae53e09bd538172bff9e28c80648a7ec3b19d0bbe05694080290483a712c809eb7ee1a547d4b50a601b7f7c8055b506fb799c80a9a0997c515b1c9d7fffa9dd345f8732727fd9471e5b50ef638c819f2f054b12cdf659802cacee007a7d4cce7f502de741ae2526db7ed71cb843421eee608170633d43f34e79e77fb34cce97b363fbdc808f64818e46866143802ebcef9597c4b2bca312c34b6442118dd180ddae1236668ca5577f2d6944de34b02e3b7f1b001f90ac153f1f8006b681b2896b91167df6eea375fa3b66be7f2732832badb7a4727f061984f6e7fecfff80e4866441a711c6e57fcbbd0f474c86c0f48064f67703ee6ce9128127512880acca1c66811dd4233088fb658a8169d8ca51ee7900ed7ea65c57f1a947ee62812064f85968baad927fa599893f49a46d987ebf608eafe2982384812f816ad9807409eb7faead508d985cc84180e2947f7b24548a52803a022617f68273b87fe3449143ea7f6610804dbc5c30ae2a37c8811a42bf34d4377f117fe9191b7b7da2a5b1810519ddb8bdbe136d803021713ac23a4faa7fb34ecbdfe83be4c47f8f5bb6b04c2816b88113e17dad2c07d0b0802d58950aed97fc3f80b23d47ea2dbe0861815ad2ff29c938414e7f078082a8e87a8aae80ddae1236668ca557a3e3a85e0794cc9bc67e9c0f73c8716713227edb810481aecb350380c7bb24392813a1ff7ef4ceb0c15d53d1657eb30da7ac024977007fefbcce4ba6ddf33a7f170e731a10adc75b7ecb55671e9a8a05d080223e4d0ff6f4c0847eb4d580c997b40d2f7ef19e35b3c510c37a808b3e4f6937d883077ff1e5760e50e748a77f26a3e28dd3d358b7814bfa1cab65476901813f134bb98087cd417e42372143bec3c9cb827c848e73e0ad691380dc5d4e3e21f5ccb3804da30b709eea411c7f73437cd80778accb81bfc300908751b9a0820937722ffb52593981b5c5d369903d80427efee2559a4131889480404d6be3001d8fa77dafd32bb696c6413580a17169f1158614037ea94c20fbe43a5e857e43eebdd2b4b2acd97e905479fabc15afca8186d84ea1b7c2ee3881fce4de176c079b777f2d6944de34b02e3b7e9c0f73c871671322aa5253d8ec9eed34427f51eecdaa54187c817fab9205a656b7769f7f8c2f028b1adb70da800797727800dce8b77f9491ffea2c71e297804ad6ea72cb1148d5806698366f5eafc8607f03fc3f0cd2c69a2c7f81aa1e3aaf3690fc80a20dc219893cebef810624ce495d987a4a806f0c1310ad0848fe7ee20865bd218fed8b80a2d3de5ee2c69e597e96526ae6e8d7374f7f37c6a4180fda4ce47d8da1826b3ce271d87fa11ba869a8cf62457fe72cf02add0801d0828f8ffeca8de9d37f7e88b4f342299347d081b7ca86e95d7c240e80e67c7eb9601dd82981c3c3eaa58189af07819e902c60867604f07f6188cf66a53d4a7581c2a7cbedd90e5bd88034ae68a5390bec997fe89559d9688acdbf81580032c2e1da7e137df99bccaf3f12f1247dc9d6d0a1fc0541037f1b001f90ac153f1f7edb810481aecb35037f51eecdaa54187c81a6278384dbb74f07178100182763a3a225418067b9301c9b90030e7eb26c797dd011d4f5810176732de4f3336b8131a363c330827b5c8007e8f770cd68186e7fdf75b828aeaefcd87efa8fdb3b4c661307807f48a18c74a5d2297e98bdb533e7ade9767fb6308ab7cb9061a37f98386bc4091358c18108ddef49027fd3157f0ce4afe0c73579e081152ef929c10fc0bd8032a59c42842f916e816b6f78b1f423dc467f6424dc3ca79b2400814c26a8ff0a9769537e980a773db67253097fe2cf4708aeb646cd7f14f23495bb707cc4806e2a79ad011abaa88163f05f3b2cfd85d780840222e73ccb304f7f184d1eb0079995847f032969ae5186a86080449242a7812074d180a1fa9dce8c41048c7fced4e1df802fa0bd80c484808a8a75263b8006b681b2896b911680c7bb24392813a1ff7fab9205a656b7769f8100182763a3a2254199b40946ae6b02fd577ed7e549c5be69246d7fa5663275d8632c267f47fa2f85d2ef72ca7fd1d97c6ce043abf57eadf4d5601216b5267fc2dd2433df29bbfe7ffba8fbe9d9257fa081c5afa53312302b347f400771da2d983b177fdb08b4859ed3374980b991f7948b4a15477e70552f40cc94eb3e821e5b58744eaf734b822b9285f6dbb3ae067f2c5e67706b8ebce1816ac3d0e403c0bfa27f11067c72425e56f580bf2171ee75b527e37eb2eb99c9b24012e17f131a376457183dbb7d5f652f8ae55bf8d38215d12790af2bb4037e9b384b14b3d731187e1f2294bd5f2fc345803f7c00ec88377f5a80ecda9cb5f308d51d7e0875a5c02390beed81bcdd66aaeb9634f67e8872256469bbe15f7ff2814c00356273a97df6eea375fa3b66be7ef4ceb0c15d53d1657f8c2f028b1adb70da8067b9301c9b90030e7ed7e549c5be69246dace4f9f037622efb717ecc246e714cc4d6ca807c95a16abd7450e37ebba835155f30b52d80071bb7cc0233cb7e806bc43d78ae0c734a7ee7675a89ad4837688163570e75c560a98780c69071cf0c1102627f8f5e14f9b26d81cb80b3b86adca21c83367fdd6ad825d812fedd7f82e54014425b3d8d7e99931e936167aff27fe52054456b3413007e92c3543b60efd30e7f42e3737f4cd2541a7eac37fb10a21aac657f8b058bc11c9ca1497e9f0c68d0398db35f8147fb1472163a67db7f26a67224a7ca370480a504d101dbabe034804fa418e40f86bd3d807034c89b361e44a8800a4f556fd6acc82b809e9ea0ecd6b74a7880a6ed5b7e3b5e0cda7f3679fac4e38d6a79801fd8a8cba066892f7f2732832badb7a4727eb30da7ac02497700800797727800dce8b77eb26c797dd011d4f57fa5663275d8632c267ecc246e714cc4d6ca9b80a30e7db3744a627fd800f618482d137680ec687153e7fde13980e8b2afc94b9442127f1ba8e14a9d66a4bc7f78b80dc93ed6c06a812f8f46a587eb527380dcbca1f55ef7b3c7808119d8d2053e2a2a80afde759bbe1423727f2c6e91d844d07df67f6e8cb91718f39378802a7701ddd3a429187fdd3a3301af3a133e80fc34f319bcb36b057f5e3b0c6ff1ab97d57fe2b96e1014f611987fa171b092a97089bd7f3cb3b59f485ff34a7f7acd75020e8d94a78133fef4e6367e50587fef92055ef2cdb47a80a443f6b00fae987981100b7c373162a8f98076f4427f190f06bc7fecf88edea2a26b2d7f294dc434c813b5368072f722d77ebfa20e7fe5edcb3c08deb1fc7f061984f6e7fecfff7fefbcce4ba6ddf33a7f9491ffea2c71e297810176732de4f3336b7f47fa2f85d2ef72ca807c95a16abd7450e37fd800f618482d137696c30fb389ccc3e1d7806f54a452b075f5288104b05a706850b88e7f98cd8cae505657a07fdad5ba4719fce5257ef75189032ef6d7f1801b7e12554f5ec4988112076f0040ae2ef5810151fd424a79a1d2809555dad4be6c159d810993e91d810415cb7edd83816c745a5ef9804a4d7c82dc2533dc8087aba5bce7cb65778009f06be4d29418288073a9341d6ed509248053ee0ce844f143238072cdfcd3bd8750e78092fdfa096e8762e97feb672e17c6a721c18011102ee649754ca07ebe0b74d600f919a47fb456c4499b5467e97fd2d343cb5c15e78380d641e1814219471e7fabc9134fb19ef7de80e68593a78a3dcdc77f2134048ccc8a269e80e4866441a711c6e57f170e731a10adc75b804ad6ea72cb1148d58131a363c330827b5c7fd1d97c6ce043abf57ebba835155f30b52d80ec687153e7fde139806f54a452b075f5289534f1ed306f7dbe33806193e5342b28db348000df0bacf7f545cc80a7dc3f6113fbc9547f8026071053856d907eeeb631185ee58588812269c5b99f2b779c7f751310d8b492d4947ee8b4932614e93f0281425648decd24c95c7f5dd923333ec02aea804bdf59acc63680f87fd5dcb97a503a68ee7f64d176ab7b5f98ec7ebdffbc77417fafa47ffcb50d177b47387480b56f94bae4fe865681321a5df46ac1769c80fec99fa062ae1d0a80f59b6cb02c76d5667f7f24ab49c6b765147eafc4eed2eaab827e7f72b286d47d00ac4880a8dea42b0b347a52803ab77e10287ca0ce814b2dbaf10a7c3f307fd8e5e3ccfaf697a87fcbbd0f474c86c0f47ecb55671e9a8a05d0806698366f5eafc8608007e8f770cd68186e7eadf4d5601216b52680071bb7cc0233cb7e80e8b2afc94b9442128104b05a706850b88e806193e5342b28db3499fa836975b8fb81767f386d25f2bd80d1147f96f6b3ba511251c68000d11ff9772dad0e7fc300e25b6779e7d27ff4c7a3b5231085a480703bc98f1cce7520812b406dbbadff93927fd9ed06938015b4aa7f521f181f46da4f8e8016bf564f08bb554680739191d214150ea27eea179a367617abb47ff7bbff1c4986d27680fb8ef27405c4aa1280d0bb9c65826598a87fdf2ec7e7a8a1d68c7fca704f406da3fed880ba2159ef09aa9bba7f7827c7b2b153d7e680ee1e199201e944207f18e67e876a821ef87f7314bc906fa5e2b87ed58736709a5e07287f854740df4bccbb8e80cf8fd24567f27a048064f67703ee6ce91280223e4d0ff6f4c0847f03fc3f0cd2c69a2c7fdf75b828aeaefcd87fc2dd2433df29bbfe806bc43d78ae0c734a7f1ba8e14a9d66a4bc7f98cd8cae505657a08000df0bacf7f545cc7f386d25f2bd80d1149431a3d4077d951f8e⟩
def tc_cap_SG2 : TBlk :=
⟨[11, 6], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0), (0, 0, 4), (0, 1, 3), (0, 2, 2), (0, 3, 1), (0, 4, 0), (1, 0, 3), (1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 2), (2, 1, 1), (2, 2, 0), (3, 0, 1), (3, 1, 0), (4, 0, 0)], 35, 4, 72, 72,
0x99999999999999999999999999999999999,
0x80000003afada97e1b800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000002a74b8dfea800000033c3eb68dd28000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000032b466a78980000000969b9c329b8000000349bdd8a24c8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffffff84025970ee67ffffff397bd0b65017fffffff95d433681d8000001701441d98bf8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000299b1a1228580000008db3b41cb27800000083d74b164047ffffffed18b63ea4e800000159ecbc0117a8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffffff7b1920f01ee7ffffffe78e80b63577ffffff317ed5bca67800000013d3ab7104f7ffffffed5614d341980000017113e5d77a78000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fc95c234db559a98e7f92b8469b689fd045800000000001de5829806d47b964965ee90180000000000110716e7ffffffffffd6b794d8036a3dcb24ccc1fb78000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007feb8bf990bde2366e80e4649be29b380820800000000001454b518028e80cde85a691f8821a995182422120a0810d4ca8c11edabc36801474066f43058fce810d4ca8c120e38f208000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffefb29a4528cd6bc81bd3218f744f96c2981ffb3e8dd05f0c8ad8201bd959460ee8deb877ddf5d174b9e1fbf81bf3bc5aea029d4e1800104d65bad2f9d7b81bf3bc5ae9f9729ff81ffb3e8dd066a7f5e8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffe4fc6f346b0b02f7fb8e7e880c36cbcbf7fee3fae3f0dfaf6787ff1a02058809687547f551011b2883162437fbc485a9a35f9bcc97f1e1fa113546ccd927df5272aa76c2951d781b560de31d7ec8b7c80e39097f965136d8e800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000801c71885628d460d9800465ac7ebd5d100f7fb86b004a1d0a30557e5f561ab6f368cf9580280d0d1fe972a4eb805b9b8645d7d8a90b81075a4bf2d924d7fe8062cf850a2bc32e6b7fb1370185c908e27f7ffc66009dd5e2960d809018ea736c0f058d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe61a9e749f5910567fcfabff966f1c50047f9e125218d32ca72981a9b56356515c6ad87fc9888afb79d827cf8046b1f364e98d57b6810ebf781594abc36985e016bcc6cb728831811f9997797fe98f177f919c4ae53ebd935880433b30b7b94dbcbd825e4eaf962f81257480000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080109f294fd07e20047fabcddff210b40b477ff28792056ffedffa81bccf2bc3e656510181af2bcdf66033a7d07f492c7a6acb734fda82158b6be4b436ca42876c8d7d900384e83f8278ed4cb876d5331e808ed2fa121c05603f7fbe9ced185b9f8f178168bfc68ece8fe4668337c3b515e9ac212d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff6415b2fc6faf0cd7f42428de8f203aded7f309dec8d52b152667f243f64a9bba60a8f7e83177aa858243972818a060929e656e8d07f9b47f266ccb1ae6a806d61014efb918f438742f3c812fc349ac681e4d2a4e456fdc436800134c3496ccf3dd97fe28db50ed08da7f08173f26be8111615098233116e571579e7158000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff69d1d7fc853c7087faeb863861eb2e5007ffd1396cba9427d8080b0d94c38ffabb2a07efcd36d20352fd8a87f6f20bd1c0749b1cc7f7001eeebfb88da587f7e5eb6cd5d08cd82802b7a748387ea8ac2801910e210029b89b7800f426ac505a84b12807665b0b92a88a51a7eceecee762baf24e080309e544c030f1cac80491f153dc7e0018a800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000824b1ad82284112cd880efebf6387afa05d680dd6b9db1062c0a9880c53bb9dc1e670c5b8436c368880110e02581490020da6119e3357fe625b0f0ca26d4137dfa13c130f2d118337dee46c232938f53807fb0dd5679edfa7bc6800f228f4a7bbdbfcf7f5c68d83675f36ae67e49c0d5c02e09079e7f9327edd6109a2d957ffba0e702bffe9f2a8231c5d23f9e2c2f7780000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000081138458a640c2474c84712677b311e086ee80bf5dcbc11cd51d8181fe296ed88ea601e280c1d630cdb7494d5d7da743196c09d2e0cc804eec2c03ab15c4dd811e3781f3f72d5fe77c6377c1244d51a2537fa26808e1833dd3078028a4236c88d7dcd57f9fe31ccf286ef77280cc9c482fef7e6f4d7f5d66c904a4c190177ff7ca4c5c295874ab8105b3a5f6f39bdeaf842c6019628a5e4a298000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008107972009ef70bc597eb722bb4d5b99fbd384c3498b8ec34a53f47a07dd571480e558f4804bf7cfb08551416984cda3f622c42f729b7f146582c157cbfc4b77ef2980cdcda5c5bb84ba51e9eb0e5f8dcf8137c312b7ef82e8fb7ff4251f6c1a04ebf67de58e2a0a43b0692780fc59c1f84ddc6b8480b66931e2a1fa94f88011abf9ba00e42de780f0cf1479e5f7dd6b7dec7fb9cd2bc762be85195334fdac763d848000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f86799f5f2f8e710781cf6cc139a6f2f1077fc523cd9e02cd26ac839431148ebdb5fe2e808c82e632a058d14a7fbad3c7485abe8b0884a2cbc20f9dc221847fdcb8b30f0d72124d79bb6fa20ebf41e10d7e9ac615ca5c8b3dfd800d645f5b6f213218811bd8f35c1596fc0f7c15725d0a24d9a72e7f039ef026989009528002ff80e292f9c6907f7a89af73e53b055181b08b07fe91f33f8f7fbb3d9b7302af9dea84f90b5178607d7f418000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ebba01be7a9e3eb937fc6ddec380313cda27e70e8f45d533bea1481226f2ad61d6f8ef1810e44eb5c39654d007f3e24aec3d6386d107fded3ec7e19738ca4826192cb968216bf59817489d2cbd6b394bc7ebe8ae02f120af7997fee886d7d040736537f1522885414d3f80b7faa84dbc6867777fd7ee7ca3ea8943da9117ff63dd5051f0abe997ecf5a6a8609b53fd98120e161001b22321b7fa5fde72b886e87818176fb4bf8f2777eae859625be573791bbfc8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f27f4dcb8e558ff3a7e5c314ead4145f2e98211c47964cd225be17e7e45c1afddb16d3982bf27dceaf9db91e1842322bb8afd3194967b882ae3b91e0152ef78892c119be785d55e846a96949b86d9b9fb855d5ef0659887fb437fe25b4ac228f164d57df6e4c689edea33627d3cbfbc0bc8caeaea80e0bd3b26fdf96a1e8010f8fd0a6d778cc77f2803e7ad94bb686a7e5c467f3a1bebc1bc81da7ee2a15052c3287e26ee1025a869495d8210a2feb3d28628298515361f903a7d270f800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800e958ea1294749a87dda1f69fddf4c27697f423d31c8bb2e26d881d18153eea70970e27d0371aea873ef2e1b7e371d4a20f2d899d98583e57f0ea2fd75e98628a4ae179e53d20c7cc287c13bf9cbdea37cea5754fa3e39232784bf44b426c80e440e82e70f33dbccf24da28157de389ef15f701680520b9624ce67c73c8006c1b6e8ea07332f800728d887c66d72df7d1359d6c728884cd57f6374e6893b601326832decdf365c2a536a7c0dbab1535e30afc47c923ddeb1b89c52288499c06ee26665157c8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f7f3f41d7105475b87ebce7815e34927d377a5b11302a4f981f407bc5652dae144bacc377972c54c84cd67c897e6ef10021e79aa1317d4d7f3ec1bdfcd0c883432ba7fe81044b52838f21c446042aefed8249bb7735f2ca596b8112ab975ada7c753e87f2cdd8cc0f31c24685dc8766bc4c908d9c812e57c900236e55a9800fd75946cf0018617f8fbf378df97ffa6c80ac2f17d2a73f77b07ba1144ccf6d0905787b40074572de8d99d47fbb7a3766e3687452821452d2cc90ab068e8102ccb6a77826748588128ba3ba0656359f8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ebc172f208b60c75e7ba4f658b2915c2e7d7eb20296007a9b81ec7e99ec8454d17d7534796653a3ac07d666e97caa7f591061bb756f80905b78c766737a4283a9921f25fbbe7c3f831576de68808b3f017df5f354f10b35ee207e7e8347d04433c448805467c92597c17582843af5d58042af3def866426953e31deb83880017eb012fd903f187edca8ac35993236a27d85e63d08a08d0df98103eb2457d977254b811d9303517ddb6e0082e5118dd2250e98bb7d6489403658ac26e27e79a9920f070a85a28030302a5363ad4e0a86ef78ae2808caeca68000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f536d78ff9f673ff27cf23cb3e180ffad017f08588ed584417a287e963edb2d604e30047b7f16c8ab3224620681c195051c41c972a67e4207b486cd39987b7cc258b90a26eee8268621c85ed47f8f2f5e8396951b72a6ad659180735edff8c3fc79b380c1d88be33a265b588029ef2deb9d8ab498840cbca646793ccc7f838268121f4c956c477f60c5d0f2dd790aeb7d4e8e428fff3450c67f01fa1a481565fe397ef018bfb9a7578d377d098c2d176f2d7dd4818d496bf3b248913a805c48dbe145e059d77fa263e320521610f681af13473531881da38351d5024c7a6020748000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008075e0e9d6d2aaba527aa8eb4d4e113be4bd7b9215e2d29ff8e97c7d153a5a6100f1f276797c6ade93c5d5232a7d48d697b956c5ce1c7d10d53d39058483a681e898a92477ea08e482ae82c553e32cba6c7eb154414a4d762a5080379f090eac8629208060fdab0ce1c55b377ea33568e6af8e3cda7fadde137045d10c818004bbb08e38d08efc835f97b26ccc77696b7d9a0857b788f414077e5e27de5e0061ce8b7dd272161eac8d8f71858a2d292b16eb360c7f4ed539a2811706c58055564c7b2678298e8029a25793848a6ac97fc5e4de1b8a6f75ce800f36e4a9f70d17a782b7fcb72cadbbdbf88000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e6d508c239e818be6800c7d8f33e1eeb720804eb3ba35226acec07e880763374797ba787778a154d58bc0251c7f479fe610c0f790187f00a57fed29a91f7979b00c453a05be05837b9c43310ffa57a4797e40cd1d80ea68150c7e0158b680f85f4d19822d039375bab5defd81947f6138a9207bc87e8269cb0ca4967c2c8226e69f2ffe7891197e9b0e249460a766c684df6ae598a501d993805b3031a03c882875832a7e2b5f95c06bca79c49c299ccdebc0997c80ef4af56c2fe3e47e239ad220084e045682444f7cafe83fabf77cc276cc13ca074d2e81ec105fe265ffd2e78011d4628d3bda8de3850cec143caad465128000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e9fee664dc3512072826ebc1baeb56533f87fbcc0a945a62d714c8115fde3a56aeed7dc786694c8d6254b64c47deb480a975bcfb8287ea1456b71a57689be7c333453c4913f86eb7760ed0b952e2016fc7f8907a4b7da26b41b81d7e8990a427bc2317e30f9b76b4b087b4080d095858d85d4fd6e8208a60400c6fda3747e826cbb2cfdd7e33c7e7135f039057c7439820ba5085026e0f5f48400e3dacbf8f3b3407c711fcfe8b71fe7cb78fed86654285c1d688414023479bd1cf997818dd899c7a172df1f7c437e30f2d7c44fd2822f5ab9043b2f3d7b7e9bf328295011b08a7fbf02c0a4d631e8477fc9d4e91105a034fc85111dc56089ec0ae08000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f919c6ed3527777057da87172524a14a5cf81294bbbd2949a06657b6d3640400189db1d85acf1aecc95bc148c80f19b4d3c7719c7267ab2bc18df621237bc768ad7392ca7c4b32f847d70db8c2ed85dc0808efb3e0887b8b6c97ec2f05b6ee01b35727a5e4a406972cfccc97b5cb72f6edad4dbe77cca7fc5f786b746d97fda5667765cf5ae587f377eda911c30c2937ea886de4f76b9ee16802e3a9bcd4db27a3d7fecd7ac34f547e5f589e07a2968132c85a77fcfd53d5092d06ebf822ae1d638a86655ef7f82a560e85fdfe82c7dda2e0906835d4f737fec1f17125b0e9c1d7f95299981b3fe117f804ad43e7e3b1e1be07e6c2d53cf01a9a42a831f7c31b7bc4a2d5b800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000826e5327a19fe6bc657f885f06edf1aa2bb17f5cb8a8b9404c2ed1824978bff0ceaf31b77f36ce0edb75a10cb6803f985e8315ade20c82bcc70e3be47e6e2b7935ab45816b28f43977e089a7baf9248ce1812b93a381839dacf37e17e909a770488ae87e00fea53b499dc07a7e20b5e02f305339ce803f8964f423128f027de863931b365f6162816343ea1cfed085157c19f7eba4a8d01bbf7ca74bebc6aa943bad82582657cb7f90f25a7a181f41ee3581a6a381376fde06f9bdfe027e7ecc5886157b1b0382e73ef68a080fbeee85aa380146b23492157e0eac862e3421ed237f43cfcd683fbb82317f0b52811f83934a057fcd3dd9af9c6a7832804a49dee53925be958551ed7ef549b9224880000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080c55f91904bfba291806b66dd16d8a6ce637ed43c2b4597eb50e2802484217e92816eaf85609900f72681aa4f7da8943fc2846b53e482367f7572f0034537849618f3e70495f36179173dd6bda8a0e5cb7bf7ff68e957daf9f780986cd78b9a2b3c287d2615bee3ce3783af7d2cd81826da27eb327b271551f615fca3247fdfe0f4acf7601f1480668fe1579092442c7e7c5042ffe96444417eb81a43b9813234a3801e528176b61353598533ffcd038bb967957f155b251dce68c510802ec530434bda04aa7dbb2ae2f48c7e4fb37f0783dd3c7c2e623a8301a10a8dc226beab7fae8add01e84656d97e95d821d8e589bb447fd95c045b569595b87f867929ffda55491d807fcff8559afd6f1d82e07cfb52046fdb858000000000000000008000000000000000008000000000000000008000000000000000007c1954205147e8b7bf80ce9ef70c96b6eece8238b134abf613a7f27c380f5ffec5916bb7844404ffc5cb12e49a7e03726cf41a14e73380018ed31e7e3365f786ece50ab4dee883de8864524c69c0b7d5037f19f7246a1d7aabbc81a5f3c8271045e11682ec5d2f927ce4bea588e6bda5d086d1c5fc83952492083275b65880ee1f4bba7be198667a4e3f23747833a5eb7c8b9ae09f452680657e9753581d21a9775e7b15b00ebb4969e2407e9f89c4a9ea406ad37a43ed7284958d15777fe7cd362e9f8a19fd82f9692891e218daad837d92a8cff2f9d8207f841e2a3e0f880c9a80ccdcb68bc4322b0f7daeb81e284ad9dacd7df5785186432de5ff7e77913dc95ff57e1e801d4e5528adfc19917ebe5d90c2657be98c828923cf8cddaa05f4800000000000000000800000000000000000800000000000000000805059784833b4373d7ea4c94843fe791086824d7df27282635e0b7d84c2db34bb90af228711ee46dcdc07364787544bbb0cb2231baa83185b841d570962a58af10bbfb3bd251b3a87afee9ba20c8f40cb81d5ffe0ec1911a7d47d5d90eda5df5d348a83880cbf6d2b248e067f6a5eb23a217eb2f77f0f0d2238a92ff0a181095b165e65fdbeb87eda7e700684befaf07951160c292ef20f69826ea75a88a4e4c6177c79035b26fd25e5437d56672d1b950f88b881c8fb7fc976d815de7aedc4fa72f306a4b77da71228404b37e8287a5afab8e8869d10c97fa2042d03edefed867f0e9439e604b64cd17d7bcfe072ef0c167a803b3e957ada1b3303803dbad9d1782a1ce77dd8e8322cf52814ba7ebfd3f725a2537a69806117aa113d8ab3bf8294e9c5dfa4f975c3800000000000000000800000000000000000800684ce8992b4745583b6263775b0b05a2a801598df6e29f2862b87e436f7700e0269088b527f8991306630127ed508dc8e7e0a86f683aeeb2889a740a0b78b3b3583051891c773882d4c7938e68472f282767b96816b6e42d281a5212c5d88c16fb181759cd6c5bb9da8ec7e39343b11c05aa3f88198830b6b9fdc52577c57ab058eae6c827a7dc9134b957b2649e481762028d2064a01ed7a146467acc15aacd581286b11f97357eb417dac0923d96bea8e337d6091e94d1918c6bf7ee181b73b8409fa177b24b7644e733995427c2ab5d37604bf3a9f79d036a31be4fec0457eb3a42b42c768459a7f06289b7b034a6fc37d5e2ddfdf6c75eeee7e09583b74f36d18867d2b8643e001a2e1f28045012d37087661bb80bbd82e35dab4e3d88081ad1fb638e9eccb82aab52b3ad7536e848000000000000000008273683f685510fb937ee133d081cb498b0a7ced07644423c09ab5886eb930edfac46bda82ae6ea34c5899dd11862e82711cd9292fe37962b91e0638e33d7b7d3593814eea56082282ae7195135328e6c07ced03775d5993b3ed80f95ab0f6197812b17962b208f706d63053886ec1eec8441b9f227ee13f1470acf31f0382736b29d00728fdd9825980e38e9a4331198526471a5aefa82123824e02d373a1d5ece58196b66cbe61d9f9df89a48357c3657c355d824dfe1ffd1481974582092d19efcb182f3c8196b7260840bf866085265e25c37e08c2948259865fad3e840b5b7a27ddc7b058efb84581a74088137ec1c4f081b9f87c97d7343a4d7ae50c9b795c30ca4f81a748dff809e48e1f7a27ddcaa13e1011b67d26bb42f78ad778db7cbc1a090f29f5dd607d26b8f5cdaf30a2618281f989e2d0909099,
0x9b32d1f63a64712a267ffffffef84aef95e880000000b4fa41c48280000007f66f0f2c9d7ffffffa2b54f53dd88000000382066f75fb7ff32f922480a7d1db7fcb0f54b100772a307f2919910ed2e952817fd02a611aa3435f5a7fecc9456962d7fda37fe05d56a3208748657ff24056cf8483908680926d779326c2fce2800adf8bf6f1bd1c337f4a479670c3a2d309810bb7c4284aa0afc87f3c115abf990772917e9126ef691f880334819e36d002f7018ccc7ddb2949870bd47abc8190469f65d9bee0f183d917963586c27d8281b9ac15264720f57e7f2d0e0ccd5a26db8f8049b0a27ffe85932c816677e458b9ada9d18129340fcc7bcc7919815f72f58309cec90f7da71e20bb8bf3b73d7f661cfa519086a25780383d7c1edfb10cbe7f9025fc0d1c05ad608084341f1ed7c26e3d7ef8b30fe26813c63b7ffffffef84aef95e896d97b0ea4c9a047b97ffffffe83264fae3e7ffffff9d60f2ecdc67ffffff9582cc4ac7a80000003279d7199458004efbdd58dab33b6801d8dc2516b2d41f37f4c03f3163306ebdb8059fe334a4a5150c17fe3a82139eb3d136f7f336b153e5a9fef2180895ff1d8b198731c7fcaf808efd5de98b9801f0b1c3b2fbf064f7ff19d88e21a4fb12f8134a4748b7589176c80b44ea4af4fcd245e7ebf90b83ba53add1480ce2933ed0c78ef838065f46bd89ae6f9af7ffd2ef54bd618de2681cb2b0ea5e54657e97e5fa65fa8e16a269d8148a5a2b84b30722c7eb967c4e0c7c0e1097e08671efe62b9b2937d77ce097ca80eb6947f2b4bac6770797a4d812cd8887b08c0006f7f622dd3878a29c7977fc4ab459f149993d67f3b2dde4b68e917887f8a0c4c0bb901c4587f1c171281a62ecb0a80000000b4fa41c4827ffffffe83264fae3e99c30c3d571b8083508000000b6a4065fbd87ffffffa4f1afe3bc080000008250a5db29d800efaf90bd921f45d7fbf6c4d41522b6a9380954386b6aa602c86802bdbdef749f16b3080136b5569f361e83c807db6febdfcbd22ba80d0c7285bd00efffb802a61402673e4a98b80159a208a933769c57f4bfc82dae1cc11bc7fdf8cd9c85e82a7cf7f3918c9a8e70afa557f9eb7c72b41f5300b8083b84d44f53fb5b380689344a605c63b5a7ec7d6171cc41b38e27c3d4559ba80b313da7da3ca31a7280598367f084045bc88b437808096a44528756de900821acf3c97fa17dc287e181a3ab73cd0b3ea8087eb6f1bad82364c822e2f9f2afee886e17ea4d600eefb54a36881317f45ceb0805f547f62e439924bc855367f735bac34e85cae5980d2cfbf1524d0eaed80000007f66f0f2c9d7ffffff9d60f2ecdc68000000b6a4065fbd893acd10179d5a937878000000019015da4997ffffff7787351b4b780060f536e7aa99a037f9989f56cc16d8bbf7fd9b32ece19220c4c7fc91cc7476351cad68034346d745291acc88090d82addc6581a6c80d0d8a6bffe4f2c8080c280306ec68a2f017fe623610eecbc901d7f64a9da89a9675979805c171afd3c6565687e86aa661226a1692680b6bfd25e80758c5782725e663a235d377f8114a136a41f308a3d8079868527f0574f7a8006f73c543c54597f7e9d750f00c44f12407eec1da7d2c4cacc697fa1948aefe4b6b30481249963d3fc7cf5707fac33e0ef423b96fd7f3919c1348e0dba737e7eeef371e6b0179c8058a8c85cba2eeae380410dae4ba884cf04809a582e884d17c7a8804a8d4955fe2fa696812e07d2d64a45f7f07ffffffa2b54f53dd87ffffff9582cc4ac7a7ffffffa4f1afe3bc08000000019015da4999bb03d66c7d76075cb7ffffffb89a3a762ac8010d7e23f4c8bbc9c7fb1e1e97b3597f69f7f4427986e7a3406747fa8694bc9bd85dce27fe48241df36fe2ff8802b48e9f293787ad97f19a686827b02b9277fcfa22f72c12590817ffbbdf6967c55d08c8014f7899d6035713b7dfa1cad64cc05cd727f46d3e6d003f8f9f48197df5cf4d7c9a4ea7dc76bdac34c62030882899dce2eadfce4547fd966efba0f127f2883b48f19aceb982da67dac3c8a759372459b7efb685afb23cc59f4805960a783b1b60a717f38ebd57f81f100a2821450074c887fa1a87eeed94dac2fb7c3437f6c1ae0ad706faf08815c1c5b06d2a6d6748031b6d30c5607ea0a7ebfc563240893e94f805a884d24753566657f87ea3c4feaa74e338000000382066f75fb80000003279d71994580000008250a5db29d7ffffff7787351b4b77ffffffb89a3a762ac95d25b5b139e7784a07fe5792db41fdf4d197fe41df6b73498ecf47f713bea2d9f932cb47fefd02eca9f8b58ef7fecef01b637b9942f8064c13968d929badd81169a96c29f358b5b803226a9a71ab3d733800912e5c9cb2c3efa80ba7d3f452398dbdb7efcf2097ce3bbfb807fe4a68a6974b8f0b47f8a195ccc4849e9b17ebed51d1a561d2c017d8ff2ba8cef298c26804acd6da9d924b1968182c7ae3724e6006480e1c08e9e6a90ac98806227a31f5612d16b80e27440c5adfdec2a81d8bd38a319a95f4b7ecbd7f17843a49a048007133e33c11f158181f77cc68e5c9018547ebd104e1292d25c607f12bd61b79c664c277f168cf78e06004a707f2b341ed609c8fa0180457c7dfe691c07df7ff32f922480a7d1db8004efbdd58dab33b6800efaf90bd921f45d80060f536e7aa99a038010d7e23f4c8bbc9c7fe5792db41fdf4d1992f6359616a273461c7fa7b8cf29b00e9aa57fede3e3f950db43247f9c6ca1dd6618d37080080271aa04e134a2805db324958bfa495380672daf1a91a34d287fae162b825e5697567fef437b42ccb583d580ceacadf38ca79358805d103cdcdeb243c3813d5cfbef9d9114c1819375a92f50ae78ec82cae0f9b647d8a2757dc1bf073e0688c8008093132b9049b6a2df800d6c9e6b3059d6b580f36d1591876f16327e94d89a91c0b409f78057252472db9c711a7f0fc2678ccc6c88fb7f6da11ca43cda0521807a42f5399656edc67f06312b7226439ea580d5b48a9e94ca9be58005e8e2c823f89b0a801dda03b2e793b13c7fe1e016d34a2ee1ab7ff05dddcdad2a9c377fcb0f54b100772a30801d8dc2516b2d41f37fbf6c4d41522b6a937f9989f56cc16d8bbf7fb1e1e97b3597f69f7fe41df6b73498ecf47fa7b8cf29b00e9aa599ad0f0724cad28d168032ceb0a67f9ee1917fab418af5ef2cbe4e804681760ea9b926887ed5cec2a9fb8603ba8104c621fe19577ee2803c6490daf030d20e7ff79f53f55d84e596805bf18734121d2d347e4ce77a6cd82e6972806a1e92a9f415a3c17dec4940114df5bc5780eeb1100a07c8e4ae8129a2ea5d06e85b2d7f79396c790c47377e800eb0d717a20477d07defb963ec355b32a48174303cb8ed21fe797f00f81b54fad037c180982dd3a6687fe0c87f46f2eb6b153935cc7f20e9d50f17d7972d8173a2a6a583da57e77f36c54897b24b64f27ff59efc1aaade75f67ee19306dfcb54234981440eb97b347c540a7ee40315fd7b48acdc7f2919910ed2e952817f4c03f3163306ebdb80954386b6aa602c867fd9b32ece19220c4c7f4427986e7a3406747f713bea2d9f932cb47fede3e3f950db43248032ceb0a67f9ee1919e71a8b64aeacc99e080645ee9027af032ad7ffc0608c67aff8b817eec8ed61c36b741ef807d7e121da7af88457f85f9935ffe7125938007042c5866d99bfe7fd467459084e91f24807c60057659b8ab258196ef17af5d29138b7da45a14082e9c4ba87d6d1f3a8c09bae4be7e18c02179cec4dae27e56bdd2cf1855f0328095506c5a23a6cb387d5a4ca70f3191425280a9b10662d0b1b7817ee9ca30cf1dffddb7808cdbb46a7cbf2dda8106d0e50a0f81f1dc7eb16d1e9309f58e157ef90ec6bb88d7667e805bafe375f0f219747ec1ec326981df49078110326438eaf65a81806e87c1df72d757aa7f6341a9bf4c8397dc7fd02a611aa3435f5a8059fe334a4a5150c1802bdbdef749f16b307fc91cc7476351cad67fa8694bc9bd85dce27fefd02eca9f8b58ef7f9c6ca1dd6618d3707fab418af5ef2cbe4e80645ee9027af032ad973ea50c587346ce4c7fe436ae309d5515f88021b8db6efd1b2a9a7f9c0ca1312d7b5bc880e10364d0f34eaf187ff11c674a937ece24805dcb5dc97d77e1727e5e9bcdbfbc31d1737f87ba41922e2bc42681882e78a54b11ace180e4b77d82a7ce5ca37d903f0490a5252cb87fd2e5fd1703c718037ef073d8e3f8511546812c6b0d611a8190ce80e25def77c65d16867ee7aa5ace519b5a157fdff4d728a00201f38241a6c9f9508a986d8094258c63ae0999e87f89011ad7b62f57ce80e44a1f23f5aa572b7ed6ed8bb7b952d6eb7fc21120a2e67f59c47fdb0362ce79dd8be37f9426840e7a8293257fecc9456962d7fda37fe3a82139eb3d136f80136b5569f361e83c8034346d745291acc87fe48241df36fe2ff87fecef01b637b9942f80080271aa04e134a2804681760ea9b926887ffc0608c67aff8b817fe436ae309d5515f89619a6a27f8c244f6f80db6fbf4398f9262f80d7a0a69e5979f86a7f6abf23a8bddb4ecd80099a116a9cf7f780805eba5ee4e1c4e4027df3f1f3ab9701f75981da3c215aec6bd433805bc3a01278c1915f7efd10dab59c995a507fad22b035c29dd4cc7fcb9792807d1a64917d4fcbb911b09cac697d0368a1319bc2204b7f99a070282aff67538079be7b2cd23b6de57fc9f905c156f9f19f80539a94d398dc16a980c6d284e64dce7d4b80b4897ead70bcd69781677875b59a3a0c857f4a915e9caf7ab9bd8051ca66094e3685797fb852b892e70dd8c57f7c970d5626ff59097fe05d56a3208748657f336b153e5a9fef21807db6febdfcbd22ba8090d82addc6581a6c802b48e9f293787ad98064c13968d929badd805db324958bfa49537ed5cec2a9fb8603ba7eec8ed61c36b741ef8021b8db6efd1b2a9a80db6fbf4398f9262f9abc6a16c135adbb857ea31236124ca5cd8680195539804c42602e7fdb928c60dd25fd6e7f0fb7e12848e151fd807e8536f92cead9737fb43d7bcd1dd961e87ff83d6275e495e6bf8073c755c016f6987980402cccff84e2bb588144313300ec10b69a7f69554146c5345588828fa8a188370180377f1cd5fbb6733e25cb812c040f2bb925dc39819ba102207f30c0a1826fc1d097455e22f87eb89e25d53d51d1177f1afcd348df55b9057f7d343345caf2af01813735aae8258eb5537f2bc5e9dcc727130680a08fdedca74a79d97f7fea53a2bdbb7eb97ff24056cf8483908680895ff1d8b198731c80d0c7285bd00efffb80d0d8a6bffe4f2c807f19a686827b02b92781169a96c29f358b5b80672daf1a91a34d288104c621fe19577ee2807d7e121da7af88457f9c0ca1312d7b5bc880d7a0a69e5979f86a7ea31236124ca5cd86a37b778778565c85397fa9fafa3efac5349780045cb7d4a61641887f912b4a1d740b988b80f03bb493f15f12988252d2402471e320247fbce11396e664aa207fdc88adf394eb0a627fffbf442473d12dd17f1dcfabd82089c1247cd460b514fbb91e667e908de7393e38f6fc7e7b7891e2c9dfbfb37f09e13416f2d89a54827ed95a4cea3350e27dc326545d65f39a3d7f9675fbfa7c3ef0048094b23a6aad4c42727ec9a6ad7423b6d9a77fa4fb2663847fe0c580b891399562cf455d8052fc5f1155b9833e7fd37f2c9ec86973c280926d779326c2fce27fcaf808efd5de98b9802a61402673e4a98b80c280306ec68a2f017fcfa22f72c1259081803226a9a71ab3d7337fae162b825e569756803c6490daf030d20e7f85f9935ffe71259380e10364d0f34eaf187f6abf23a8bddb4ecd80195539804c42602e7fa9fafa3efac5349799a55c972d36fe940b7ffaa4d1cfee7833997faff34c0b8d4913dd8207af2a40a7a45392813b9d687cceabf1ff80393be90fcac19c3c8150f03facbee6be29814e14d0e8e01f39d07e1f49861fae8460637da42ca564fa445e78824e15e19ae28b54728055704228344a64308106d5df3349e4a1737f4b2031de991ed25b7fbf6c31171f99f900815b512ab754802c05812b6ded3a3d8282bf7f630effcf2613b316802a0f747def043a187f4c5a26d3471bf07a800f22e27ae67287a97fb746cf0832e5a9bf800adf8bf6f1bd1c33801f0b1c3b2fbf064f80159a208a933769c57fe623610eecbc901d7ffbbdf6967c55d08c800912e5c9cb2c3efa7fef437b42ccb583d57ff79f53f55d84e5968007042c5866d99bfe7ff11c674a937ece2480099a116a9cf7f7807fdb928c60dd25fd6e80045cb7d4a61641887ffaa4d1cfee78339993ae48fe2859ffa0277f50527950595e1dde7fdf888259a3bef5d980b1ef666bffac57407e6bc9401a2e3a0e018205512044f1a1ff1d82829adb426c5c1b1080467bfc3942b9319082487e54818bfbef2881c4a8452d24f3a4457fe287262bf94c72987f6bd3e479f3b7a2d07ff048a86ce57768f2804552febb01cb78d57ef7f3996040d139f97d9bcbd127bbbf7ceb7f1705c20fee77f8948056b38db5fadc461b7fc5ca106dc8e36a627f97ea4fc52ba38c377fb5f750cb4422f6297f4a479670c3a2d3097ff19d88e21a4fb12f7f4bfc82dae1cc11bc7f64a9da89a96759798014f7899d6035713b80ba7d3f452398dbdb80ceacadf38ca79358805bf18734121d2d347fd467459084e91f24805dcb5dc97d77e172805eba5ee4e1c4e4027f0fb7e12848e151fd7f912b4a1d740b988b7faff34c0b8d4913dd7f50527950595e1ddea0bd91f47efcc9cea7819b6dc87ea837a41681d49e268064465b3c7ed234812dc23f5ca27e343ddc88eb4b5fa4815e9d1f624b6ab46d802a3c50b18fcc1bb17c2cef0b27841b90767cae9d16d0a2a22bba8063ab21cafdce45d07f4e6406edaf36a6dd81c6445005690be0c67f4a65e002353ffdb480aa222768f837d9e180fe4ebd3181849d1e7f2e196e8720ea5f847faae4de81cb1a3e997f964278603212cb2e7efc6aebb39bf6f0a38122104163be3e616f810bb7c4284aa0afc88134a4748b7589176c7fdf8cd9c85e82a7cf805c171afd3c6565687dfa1cad64cc05cd727efcf2097ce3bbfb80805d103cdcdeb243c37e4ce77a6cd82e6972807c60057659b8ab257e5e9bcdbfbc31d1737df3f1f3ab9701f759807e8536f92cead97380f03bb493f15f12988207af2a40a7a453927fdf888259a3bef5d9819b6dc87ea837a416a5f6b0d07687f748d381f7755f7e67a8d8097f7b3c687b388f283c8073ffd195b7db0af780421c2c784a52318881996c5561cad593c481752ddc9a822192d67f578bda595690687780a029095cea4966707fd822c6a11b92c3a481e8fc3b275d998d0d817369e77ca49ffeb37fd7ea9d5705be78187eb4daa4c20d33bbe17f74448fe5d31795617f51f1a1f103b337aa811045809710de484c7ef6acdcbde4e0a929803e1a3620a7fceceb7f3c115abf9907729180b44ea4af4fcd245e7f3918c9a8e70afa557e86aa661226a169267f46d3e6d003f8f9f47fe4a68a6974b8f0b4813d5cfbef9d9114c1806a1e92a9f415a3c18196ef17af5d29138b7f87ba41922e2bc42681da3c215aec6bd4337fb43d7bcd1dd961e88252d2402471e32024813b9d687cceabf1ff80b1ef666bffac574081d49e268064465b3c81f7755f7e67a8d809ab8922ac2ac80f310180e1fadf10a36068dd8242e47c640b747f277facad68e4beaae4e680861a3fdcf41225497f27d367f9218c1b9180937bffe624517c2580cb0ac1a6bacb995d7f922390011f04efb68029ebcc6a50851e808189409d2bc042aa668135485f8fff1e055b825ab33911b8f048ea80786cb4e0e46a56ff8022f3389b9d6376ec7f8543f7ee88dc368e7f3a8e9636883914977fae6603be1d72bdb97e9126ef691f8803347ebf90b83ba53add147f9eb7c72b41f5300b80b6bfd25e80758c578197df5cf4d7c9a4ea7f8a195ccc4849e9b1819375a92f50ae78ec7dec4940114df5bc577da45a14082e9c4ba881882e78a54b11ace1805bc3a01278c1915f7ff83d6275e495e6bf7fbce11396e664aa2080393be90fcac19c3c7e6bc9401a2e3a0e017ed234812dc23f5ca27f7b3c687b388f283c80e1fadf10a36068ddacde2e076b8052a0be7ee04a71e5ad32833b7efdf113a5b7afa06681df502e3a3ee6b67f7d8c5986fab4de90247e099b7d710e4bf03f7ee9cb5d6199b7fcd17eed22b5650504302f81ce67fde8e02f653d7f84c05762a1f16a1a80483a6facc6dd3e3680c66cb1e9204ad18e7fa922c71df101c1af7f915fcb23996ed42080d14bd21644e14f52810c1731ac322642cd8094a8acce873211a9819e36d002f7018ccc80ce2933ed0c78ef838083b84d44f53fb5b382725e663a235d377f7dc76bdac34c6203087ebed51d1a561d2c0182cae0f9b647d8a27580eeb1100a07c8e4ae7d6d1f3a8c09bae4be80e4b77d82a7ce5ca37efd10dab59c995a508073c755c016f698797fdc88adf394eb0a628150f03facbee6be298205512044f1a1ff1d7e343ddc88eb4b5fa48073ffd195b7db0af78242e47c640b747f277ee04a71e5ad32833bad0ec3a13d310317d3814b58fa06e2eed1f57e02b69d47c1dc7e967c80d24eec9ddc665b8043438b81aefe64b77eeec51595f8590f7880681922c1817615ac8134d2d6d28c6aaab1813548f288413c940a7f3180068002288d427d7d278bd7bd1516bd80e0a9b2604a0598de7f39a38c84517743df7f524a50138800725d7fbd87b6289c51c0318081de271e9c0d11337ddb2949870bd47abc8065f46bd89ae6f9af80689344a605c63b5a8114a136a41f308a3d82899dce2eadfce4547d8ff2ba8cef298c267dc1bf073e0688c8008129a2ea5d06e85b2d7e18c02179cec4dae27d903f0490a5252cb87fad22b035c29dd4cc80402cccff84e2bb587fffbf442473d12dd1814e14d0e8e01f39d082829adb426c5c1b10815e9d1f624b6ab46d80421c2c784a5231887facad68e4beaae4e67efdf113a5b7afa066814b58fa06e2eed1f5b7fa4998790cdbd6837f76406571fe4c0d167de505467324c218c07d01ebfccf9375d7ad7f26e5949cb8646ef27efef592a2245149a082474aab0c6e12fec4812e6c8bdf65227f30804cb617ee8cadf3a27e90c86505c09a2a708055079b0d5ca3e6d3800d5cec419fb14ac37f886bb8de4607c38f8046c0eff4e985c315800c29fc532e2b81218190469f65d9bee0f17ffd2ef54bd618de267ec7d6171cc41b38e28079868527f0574f7a7fd966efba0f127f28804acd6da9d924b1968093132b9049b6a2df7f79396c790c47377e7e56bdd2cf1855f0327fd2e5fd1703c718037fcb9792807d1a64918144313300ec10b69a7f1dcfabd82089c1247e1f49861fae84606380467bfc3942b93190802a3c50b18fcc1bb181996c5561cad593c480861a3fdcf412254981df502e3a3ee6b67f7e02b69d47c1dc7e967f76406571fe4c0d16af366fa5c86eae1c1680de7f5273c446d1427d1c9cb8224b0c3b6680c12275215f3480e37fbdfe59bd04235c2b81afc34de3d074609f7ee384be2237ec3c0e802cd25e81a2367d1f7e915f17190651c88d7fb3cb7aa8ac2738267fda6a663655301d4b7f30a963ce0eced3e87fcfc757df37e8d4267f171270db5f0ec31283d917963586c27d8281cb2b0ea5e54657e97c3d4559ba80b313da8006f73c543c54597f83b48f19aceb982da68182c7ae3724e60064800d6c9e6b3059d6b5800eb0d717a20477d08095506c5a23a6cb387ef073d8e3f85115467d4fcbb911b09cac697f69554146c53455887cd460b514fbb91e667da42ca564fa445e7882487e54818bfbef287c2cef0b27841b907681752ddc9a822192d67f27d367f9218c1b917d8c5986fab4de90247c80d24eec9ddc665b7de505467324c218c080de7f5273c446d142ce0ee849b6a52a8b897d47f8f95f573daf5e8159ca4968677febf97fe60ffc5df060e5a97db196736e143a7ba581c63fb7d6b5a708577fa52d4bf508bafd357fc715696f5b176e987fbb252f3ab66189f17f6a260f6dd67a9b6e80317ab0aac433bf06814dc6f0b120bf5aee802772406151a7b21881b9ac15264720f57e7e5fa65fa8e16a269d7da3ca31a7280598367e9d750f00c44f12407dac3c8a759372459b80e1c08e9e6a90ac9880f36d1591876f16327defb963ec355b32a47d5a4ca70f31914252812c6b0d611a8190ce7d0368a1319bc2204b828fa8a188370180377e908de7393e38f6fc824e15e19ae28b547281c4a8452d24f3a4457cae9d16d0a2a22bba7f578bda595690687780937bffe624517c257e099b7d710e4bf03f8043438b81aefe64b77d01ebfccf9375d7ad7d1c9cb8224b0c3b667d47f8f95f573daf5ebdbf15fce51a03b3887f2fa83abdefe5a61180d995ba882c8d6e1e7f571901d90d329e5c7f70a6f260c0b05c1d7f9cd062dc166113a181fd422b0d1ebdde647fcec42f88f68efc228017c49e10ae9265dd7fb05c9322c326ee78812604f3ed1cdd257c7f7ad1853393a897b87f2d0e0ccd5a26db8f8148a5a2b84b30722c7f084045bc88b437807eec1da7d2c4cacc697efb685afb23cc59f4806227a31f5612d16b7e94d89a91c0b409f78174303cb8ed21fe7980a9b10662d0b1b78180e25def77c65d16867f99a070282aff67537f1cd5fbb6733e25cb7e7b7891e2c9dfbfb38055704228344a64307fe287262bf94c72988063ab21cafdce45d080a029095cea49667080cb0ac1a6bacb995d7ee9cb5d6199b7fcd17eeec51595f8590f787f26e5949cb8646ef280c12275215f3480e38159ca4968677febf97f2fa83abdefe5a6119bb7e968f7e21e9f4980d0d11f5229ad6b277f76cccf9452ed2a9e7fffc9d844d252283f80f9828e2b0fdf43be80935f3b0f0a5c75ae7f7f55e4ba9b7774da7eebfddc0df7d0f5a37ffe97da05c7713ccb813396db6ee824b3df7fa86b0858f849716d8049b0a27ffe85932c7eb967c4e0c7c0e1098096a44528756de9007fa1948aefe4b6b304805960a783b1b60a7180e27440c5adfdec2a8057252472db9c711a7f00f81b54fad037c17ee9ca30cf1dffddb77ee7aa5ace519b5a158079be7b2cd23b6de5812c040f2bb925dc397f09e13416f2d89a548106d5df3349e4a1737f6bd3e479f3b7a2d07f4e6406edaf36a6dd7fd822c6a11b92c3a47f922390011f04efb67eed22b5650504302f80681922c1817615ac7efef592a2245149a07fbdfe59bd04235c2b7fe60ffc5df060e5a980d995ba882c8d6e1e80d0d11f5229ad6b279ecf817495bf1e57507f40883cfac6c55d4e825f50fb0e1849534b800180d20277746ba3819c7e5bfd2a52a6bb7fca0a740f0a9f06b480f4bc0cebed60d1a681042561ece009f1ad806c55993c2c217ca77effa48f97a3f93aa5816677e458b9ada9d17e08671efe62b9b293821acf3c97fa17dc2881249963d3fc7cf5707f38ebd57f81f100a281d8bd38a319a95f4b7f0fc2678ccc6c88fb80982dd3a6687fe0c8808cdbb46a7cbf2dda7fdff4d728a00201f37fc9f905c156f9f19f819ba102207f30c0a1827ed95a4cea3350e27f4b2031de991ed25b7ff048a86ce57768f281c6445005690be0c681e8fc3b275d998d0d8029ebcc6a50851e8081ce67fde8e02f653d8134d2d6d28c6aaab182474aab0c6e12fec481afc34de3d074609f7db196736e143a7ba57f571901d90d329e5c7f76cccf9452ed2a9e7f40883cfac6c55d4eb6f424d8e38725c5b57ed99fa612a1c191c17f52eb1ec06d09f1fb7dbf7c9454b207d5e9800aa7d5c68bbf11457eeda6ef80cc63dfb27fe00562bcbca8c58b8094448b3ebd7d21128091db9b0b0fb96ed48129340fcc7bcc79197d77ce097ca80eb6947e181a3ab73cd0b3ea7fac33e0ef423b96fd821450074c887fa1a87ecbd7f17843a49a047f6da11ca43cda05217f46f2eb6b153935cc8106d0e50a0f81f1dc8241a6c9f9508a986d80539a94d398dc16a9826fc1d097455e22f87dc326545d65f39a3d7fbf6c31171f99f900804552febb01cb78d57f4a65e002353ffdb4817369e77ca49ffeb38189409d2bc042aa667f84c05762a1f16a1a813548f288413c940a812e6c8bdf65227f307ee384be2237ec3c0e81c63fb7d6b5a708577f70a6f260c0b05c1d7fffc9d844d252283f825f50fb0e1849534b7ed99fa612a1c191c1b6ab8d23eea1959b87810e39043e1aa999907efe7d723aef80a91a7eaa93868545d6b53180021e18841fe254f880cbc02814c009380d806acb6bc6bd176c6d80f13c17cda5dea34b815f72f58309cec90f7f2b4bac6770797a4d8087eb6f1bad82364c7f3919c1348e0dba737eeed94dac2fb7c3438007133e33c11f1581807a42f5399656edc67f20e9d50f17d7972d7eb16d1e9309f58e158094258c63ae0999e880c6d284e64dce7d4b7eb89e25d53d51d1177f9675fbfa7c3ef004815b512ab754802c057ef7f3996040d139f980aa222768f837d9e17fd7ea9d5705be78188135485f8fff1e055b80483a6facc6dd3e367f3180068002288d42804cb617ee8cadf3a2802cd25e81a2367d1f7fa52d4bf508bafd357f9cd062dc166113a180f9828e2b0fdf43be800180d20277746ba37f52eb1ec06d09f1fb810e39043e1aa9999099896c044adfc4b0657ee6244118337b1a8e7e99d4ce9d652b1e3e80ce8bed2c1d1a7be67f672fbc40d927f76f7f5143c420e6f4a1117f84bd4cb0462e07af7da71e20bb8bf3b73d812cd8887b08c0006f822e2f9f2afee886e17e7eeef371e6b0179c7f6c1ae0ad706faf0881f77cc68e5c9018547f06312b7226439ea58173a2a6a583da57e77ef90ec6bb88d7667e7f89011ad7b62f57ce80b4897ead70bcd6977f1afcd348df55b9058094b23a6aad4c4272812b6ded3a3d8282bf7d9bcbd127bbbf7ceb80fe4ebd3181849d1e7eb4daa4c20d33bbe1825ab33911b8f048ea80c66cb1e9204ad18e7d7d278bd7bd1516bd7e90c86505c09a2a707e915f17190651c88d7fc715696f5b176e9881fd422b0d1ebdde6480935f3b0f0a5c75ae819c7e5bfd2a52a6bb7dbf7c9454b207d5e97efe7d723aef80a91a7ee6244118337b1a8eaf4d876bf8c5d59a057eec11d541c3b3559d806b16687b272485538031c4709b313af2027eab43140433633afd7f031cc003b665b8757f661cfa519086a2577f622dd3878a29c7977ea4d600eefb54a3688058a8c85cba2eeae3815c1c5b06d2a6d6747ebd104e1292d25c6080d5b48a9e94ca9be57f36c54897b24b64f2805bafe375f0f2197480e44a1f23f5aa572b81677875b59a3a0c857f7d343345caf2af017ec9a6ad7423b6d9a77f630effcf2613b3167f1705c20fee77f8947f2e196e8720ea5f847f74448fe5d317956180786cb4e0e46a56ff7fa922c71df101c1af80e0a9b2604a0598de8055079b0d5ca3e6d37fb3cb7aa8ac2738267fbb252f3ab66189f17fcec42f88f68efc227f7f55e4ba9b7774da7fca0a740f0a9f06b4800aa7d5c68bbf11457eaa93868545d6b5317e99d4ce9d652b1e3e7eec11d541c3b3559d9bde9d15c2bba4e1d78104707d5ed876714b7fe76bf553ec86594c7eaf736d0f3bf333b8806361e6ea3cc7ccd480383d7c1edfb10cbe7fc4ab459f149993d681317f45ceb0805f5480410dae4ba884cf048031b6d30c5607ea0a7f12bd61b79c664c278005e8e2c823f89b0a7ff59efc1aaade75f67ec1ec326981df49077ed6ed8bb7b952d6eb7f4a915e9caf7ab9bd813735aae8258eb5537fa4fb2663847fe0c5802a0f747def043a188056b38db5fadc461b7faae4de81cb1a3e997f51f1a1f103b337aa8022f3389b9d6376ec7f915fcb23996ed4207f39a38c84517743df800d5cec419fb14ac37fda6a663655301d4b7f6a260f6dd67a9b6e8017c49e10ae9265dd7eebfddc0df7d0f5a380f4bc0cebed60d1a67eeda6ef80cc63dfb280021e18841fe254f880ce8bed2c1d1a7be6806b16687b272485538104707d5ed876714b96a94f29d43ddee7a27f3be6bc14baa86271803ecfb09ac12884bd806660fd4a80409e237f9025fc0d1c05ad607f3b2dde4b68e917887f62e439924bc85536809a582e884d17c7a87ebfc563240893e94f7f168cf78e06004a70801dda03b2e793b13c7ee19306dfcb5423498110326438eaf65a817fc21120a2e67f59c48051ca66094e3685797f2bc5e9dcc727130680b891399562cf455d7f4c5a26d3471bf07a7fc5ca106dc8e36a627f964278603212cb2e811045809710de484c7f8543f7ee88dc368e80d14bd21644e14f527f524a50138800725d7f886bb8de4607c38f7f30a963ce0eced3e880317ab0aac433bf067fb05c9322c326ee787ffe97da05c7713ccb81042561ece009f1ad7fe00562bcbca8c58b80cbc02814c009380d7f672fbc40d927f76f8031c4709b313af2027fe76bf553ec86594c7f3be6bc14baa8627198ba658f18f2aef7d07f63f136dadb8a76ac7fef7446235006ae6e8084341f1ed7c26e3d7f8a0c4c0bb901c4587f735bac34e85cae59804a8d4955fe2fa696805a884d24753566657f2b341ed609c8fa017fe1e016d34a2ee1ab81440eb97b347c540a806e87c1df72d757aa7fdb0362ce79dd8be37fb852b892e70dd8c580a08fdedca74a79d98052fc5f1155b9833e800f22e27ae67287a97f97ea4fc52ba38c377efc6aebb39bf6f0a37ef6acdcbde4e0a9297f3a8e963688391497810c1731ac322642cd7fbd87b6289c51c0318046c0eff4e985c3157fcfc757df37e8d426814dc6f0b120bf5aee812604f3ed1cdd257c813396db6ee824b3df806c55993c2c217ca78094448b3ebd7d2112806acb6bc6bd176c6d7f5143c420e6f4a1117eab43140433633afd7eaf736d0f3bf333b8803ecfb09ac12884bd7f63f136dadb8a76ac9a95b730056eea7cf780c9bf336c632179057ef8b30fe26813c63b7f1c171281a62ecb0a80d2cfbf1524d0eaed812e07d2d64a45f7f07f87ea3c4feaa74e3380457c7dfe691c07df7ff05dddcdad2a9c377ee40315fd7b48acdc7f6341a9bf4c8397dc7f9426840e7a8293257f7c970d5626ff59097f7fea53a2bdbb7eb97fd37f2c9ec86973c27fb746cf0832e5a9bf7fb5f750cb4422f6298122104163be3e616f803e1a3620a7fceceb7fae6603be1d72bdb98094a8acce873211a98081de271e9c0d1133800c29fc532e2b81217f171270db5f0ec312802772406151a7b2187f7ad1853393a897b87fa86b0858f849716d7effa48f97a3f93aa58091db9b0b0fb96ed480f13c17cda5dea34b7f84bd4cb0462e07af7f031cc003b665b875806361e6ea3cc7ccd4806660fd4a80409e237fef7446235006ae6e80c9bf336c632179059605a1cb38d8182595⟩
def tc_cap_SG3 : TBlk :=
⟨[12, 8], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0), (0, 0, 4), (0, 1, 3), (0, 2, 2), (0, 3, 1), (0, 4, 0), (1, 0, 3), (1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 2), (2, 1, 1), (2, 2, 0), (3, 0, 1), (3, 1, 0), (4, 0, 0)], 35, 4, 72, 72,
0x99999999999999999999999999999999999,
0x80000003afb2faecec800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000002a56e768ac800000033c325b651d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000032ddb196118000000096912873558000000349d63a2e558000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffffff840404a8f6a7ffffff397d9be1cb97fffffff95d7f81a7c80000017011b4e4e7a8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000299362f5c7280000008da5d1245d8800000083d8b0a5a8e7ffffffed2f0f461d8800000159ed00199298000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ffffff7b1499fed7e7ffffffe78b6c8eb0a7ffffff31751405cea800000013d093bf8827ffffffed48fc60b6c8000001711b4b7f4df8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fcecb8bb0562b7a667f9d971760aa61eabc800000000001ba77d0806268e89f549246ef800000000000ffa27e7ffffffffffda1c3b0803134744fabebc9098000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe39b386a1e5c589380ea36d31e742a4b6a800000000001444fd58038c98f2bc4a12625824600c494721d90e4812300624a36d89e61801c64c795e293c050812300624a38dd952b800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800387fe50570ae85d81bc1ca01498714fa48200f03ad5dd7bc27181f9e03e352f836eff876bf9bc938f9b87b881b50ca373eab1d0027ffc7801afa898dd6281b50ca373e9f45d758200f03ad5de12df3f8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff30a23cc80b9cca880136bc0901f3cd928804134e841ee9a4f6d805b20a0a8ed0c7c0680dd18c272190ba15a802d5778f71d9fd06c7f23ab1a2adad5a5de7e5ac1f4e5d48fb4eb8213ca6c5337d5386480e94ac208a4d5fb5f800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800ed8f41159343121801ac7bea1338631087fc065c13bcb6187a07f2969af4159b184697ff441594c58609cd48039baeb6a60f3b785804a4200d9d855d0347ff95c8191455196ed8000c42b14e6fa9db580202f34ec8dad5bb8803ca514ebdfd0593f8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe5bbf2b4473303d27f51b1f0702560ae057f510016c31dbb512c814e5de8b5dd7080df7ddccae59845eb07c27f9d655c09052c50aa8175dcb79840909fd885e6421f58b0f31e297eeda85f8df1ca6bd97ed2bdf7b654c319e480172b51016e41f44f81f72c595e2a9b5c40800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000801b1a31a335ae06297f8cdb87d1ed0f5fb97fa147555e242d729b80a9db25f8b4cbb98680cce78d1f240c7c747f379a0bef76529afe8150f0975d0faae3e9848d4005b1f8fb6ef28383f4f89e2f39f1f38170ffd04b92e86f467fe0f2e763f48c1e958100ae02a8e50d1ca2831b24ca83ef51930d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff01d9e3e35ef11f97fbc02c159f76171587fa4aba51731060be27f9d6749a89bb26ba880ad0e5e9e5539afcb82aa896269362590d07fe8e890b52ee002f1820e83826bacebaa8188c169f8bf4bac581581d321dbc17762fa94800b3bb74e98671a107fef6e4fab0762981b8195b09c17ab62abc482c386263d124249b6800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800676db05a63fbbf37fa17f063d332c1f5080083b7884af990b7880a336a4c61c3b01197f4f5172d2953535fa7eaf930c296de278b67fa17e4df2a6be5eac7f4f4f22b37a15e35f7fc1ad439aae5d0b1a806dc2b86d1ba18fc9800676da7b34cafe0480083ac16d83aae8b37eaf9280c3c10677a1806dc28d27906e09c780ac9bd5d59f0f9984800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000824b1ae17bbed236a180dd6b437cb91f018e80efebb49841e6b34081490025cfdaa9c54c8436c0e66fdc91929280c53a536909f838757fb0dd7af7fc51b8bb7dee45fdd7f047d3827dfa0e6d619d3958467fe6242ad4b25b959c7ffba0ea45dfc603af7f932817138423aa957e49bf375caa87ee1d7f5c67e213a9b0667c800f22a3b45997f8db8231c5e07a9222fff08000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008166b846cd2eb824038498e6a3f785f16c1a80d40ffe739f5e36e083415b0bde1e74bfcb809a5cb262810895677b8b0d596f03b3b69880ed7054e64a0b090d829fd318b53b656f027946c5c8052b10274d7f5035b2aa639bb5b3800c2a4c9a125142e6805ae4298deef69926813d1165ccf0dbc0377df31ab48a7a9eb2ee80077cf27fb52d437a814c2b60a22e60d40e8490b1789f52383cb5800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000808145806d1150f7b07e8c4098ad206bcab0848c98bbac9a6833267bc27458d8e879c4c7808bb0ce27eb138d08847164a48c2dba9f257f215939ec7dda60747aa92cb1b6a4db46bf8497efdb2fc0f300cc80af98bf5de5578bd27ff0c749a70bcc35727f1d2e55a1ebdf0d898046cc389e02101aad8099c55b6c4c8d9e8b8029aaf7b83af48216807f0ca172ae9c85917dba99b82cc3ff25cd84a947f1baba0c59e18000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f7bdb33e790838339822b008ae240adf60b7f697a62428f1cc87183aa92371a3b8fb31a823d9beb61d01c1d037fd2c83ff9ca09a513846941457fb727e86580bdbf76071e5510f978cec290b415aaa5f37e1ff964ec5e3f88cd8012d4a1d3eaf0528380b10d529f4088b15b7c2246fde66e35d2267f013d501ff91650d87ff1aca20ec9624f1b7f70c3fc8f4f1d285b8195f7991428e27beb7eef7b8acc08c2a3048458b883d19ec8d7698000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e920bd82091e488777f6cf500b435ac172e7eede2dbfff4c0e42c80fa2c765a3ffa727481fac63bf348f223378000dd1e1935e0450c812514b68e98bb687983d4a6687fc2c00dda7f3cb175d5a0803a517d8de006cad554dc607ffd73ee16e48811577f783e30145e1db87d7f1496bbe3bbe6e3087e39d5579000cf6bcf7fe2c27ac091c470847ea57bee35d7ce83658071c921c1580cd539802cc2a287650c997f8201ed8809853ecdce85e72180f25ccf96a08000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f8466aa966be585eb7eaeb6d73046fb86da82207bed965eeaef677e2a46bc4e5474b2207fdac98baf1ee5ec53840aa82cb2cb2e685b7c9a86a751f4423c2f793db44906681d696f8303f8f15e26011e1185a796f79487a595f47ffa69b827789980d07e85eb6d6b410019af7d4cd910a3313b1c8c8170f1619c02ebc0cc801167d44c655b15ff7f7ed8961d60ea665b7f0a9817a8c20c96018260a58b2d0b8769967e4b17207f4a6ebd9f80cb22c6680fdd11f28580ed77aa08b32adb8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f9d6631a19a8fef117f38e360239a0fdc537e606381b89e31d85982abcc043bda71f1ff7d4c410e18e4269ed67e78372ac3bb8eb244848632cc575e065d4185db3850f2ad40273d7b33913d0a166110457d2bc851f5b0af2f79835ba9e16cb74400498265c909a9e44ce8d17f3d9a4fcefdf2551e809052a6a1b251a63e800fa5253c30dceda97fa49ec8988a19d0af7eb3315cca2db04d6b7e81800f25bc067b9382c08a11143b246d337d1e85431c20f63fb47df95a23243f978e94832dd27b88e62ddcec8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007eacb2f7e8886eb57a7e60ae8a50b21d5b007a90ab60e7442882e57ceb4315e0836acfaf77ef0a63741eceaa9a7ee3324c8cae2e06647e3390e1ad5788d97b838bb68aa3750ac4f6843624a4abe18d708081a464bd251130962c80f799de7d7a18f01b870e5675da49c8218b84431534082e6866a18143c6f670dc6d386780154bc9f53d256ec57ecbfe25f4e674d327808740653a6ef36baf7c268e828f86cb9f957d0775017baf5a3dc280bb1c644341a86a1b81afb82486c254c62380e73a65a346952af286d4ef557b2efc6fc08000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007f6ea033f34440e4e17a90a61e40e2a298377ef9b317c116d62b1a7e6832b3027a6d5fe87809def45d253323387b8056a35d693018aa826942bf131938077883f5b6c43914b87d23829237f5a78fe8ae9f7c8297c8a9203ec9477fd823aa92ebc0afef8163b841da2be8a00785d51564ffa0f21f3687398a65c2997120e18007b18b554aa66ed77f820bb8621a5b9d1d7bfbb2f349d70c630f812512654e9f2905c18258546fcb7ca6c25680e1420c731d9880af7aef286053298e18277fccb03cad8f3b51d8807b55a0955d411db487ee5065221dd950b9800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000804a40494cb32da6067e7e7cd7be5128c3bd7ede49a55418019d3a7f2db520e3240342287d38472b36803daede8126ab55aa79bae67c7e7e7ecf541f215e7d7d385995dbf5fc1fb4850314250d370ade358443311e8123c12329804a460e85da666b717ede5ae53a5b03c9b38126aec49e5cbaa13b84432dd10493e2f751851d0193b49c07dc9c803db2287352fb6c727e28c8e4cc7e2c6cfb7dfdea085b4473b2ca7e28c56f6665fb56817b2f0ad8c62157547d818f413b657580dbb2803db7a36e006e943e7dfdf72b8123e61c44818f3a8cd07fd317d184f6d16bd6156891998000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008075e0b58b5c09353a7b921629058e50ba247aa8ed31d890a811af7d48d16641c4f6d55b797c71a5070c4982d87d1542c2871384db3c7eb14d2331500d624782ae7841e9cd255ba581e8a3c0684db7711a7d10db4d87b284c0078004b9b560eafb2b017fadda4bd390686d857ea332f1bf59c5e41f8060fbdddda627176180379fff3d27fa19bb835f97c2aac4d31bc37e5e27687380c4adb07d9a09724b98d068447f4ed0e738f7673fd8858a2f6680e7e313fc7dd276ff6dab28417e800f35145a2607e0f87fc5e4942578f506f080299e510f8118d2348055575a0bda9c9b8e82b7fcf61b386465de8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e8f64cb16338eed747fc023d9a018b30114826ebaddf5f36836147de40da59f1ebdc7b1780cece8b96e4d883f810601bc7f7398c9fd7f766af4cfd1d394427733c6e0e1421eb95b7bf0537e75de33023d7e96e0d91a95b57d377e99d1278bdb70c08281f831b6cf38cb859180e1496030e1a128d67e48a68db76af74ece81c21f065a3cb314df7e62a188dcd75e4d2a8403d66ba524fe4d97823f679e63961891cf83eda3b5296e623ede78bd9de041f50e93f77c93d98711159134717eb0db71d270804215820c1e498e282c16d47c5c963f216b3e69e981798ecb6b21c6881a7fbfd13464412d16a4850ffcd0503158d4768000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007e7c6a8be8e28da337805179330ecc38e0047ff26e4db7aa03c9cf7f5e1d4817bba0ddc477cc015f9c0284e51f7e7cb2db0bea10f2b37e462febc5403c38307bf99e9ee0eb837b0379da22f41a8e010d0d7f0f88479063fd8d4b823660a31ad4cf50247e6cedeb1e1fa29de7818b68f2b951445bb3823fe69217d2fbc7347dee0e7a21bf5e06287eac121208c819913580303a9cca198bcb8e84c86764d11479cdf47c560a865b0f53117f7a110a3cdb4b19cb30834fe12627d80e96aa81fa862b246063c50a7cabc008b05d9aa81a826bd7b1688376d9fc7e13627e6afbff02ee80148891d19b218c927fc9b6e93fd9851f1c850e0d92811797593780000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080772a7bd5532762c17f174ffa0d0330f4358015db500134573de47dd2fc5c649dedd8e986416a359c4d7236007f34dd4d8191ebebe37c045e108ec867e51a7aaa96158c5f03351883a4121aa2ff291ef48115cc30d8ffb76954800be0b7a1d4da82a17ab464c746fd659afa7ca9abea4a2d30e8137c7dbcade9737423168090c9d566bc496f6380245cf7fe5a6975d27f13fffb7511201f317ea8a7807488a8f49b7ef4fb669acf55a38a87388c4299801000c97fe366b4d1ab3dad2d831f5e6dd3b16ac3bd7e2f0fcb5fb4027d307d6c94b7e03dafb2c480a93396b39e74e9e97fb067a53567f9edc47f9ee70eea01654bba7ebe5a826461ecc89a82d40d794ff561785180000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000082863d88c49cf7b1947f27f397b81730c6547fc25cf468aa6ca38f7fed96bdb8b36fca667f5ae57709ca2f7c6482a1848508d258b77180b18637b8b65ead8976e068924eead573e47a784072c15ff7043a8359cdfa8f4c97cd3b7dec6b4a315b23db1c7ffae49957a6dbb0c17e32fb08b9ccb1f14e7e2631de8ae5482c5f7e4435aa8bebd93cb6817a4fd1e304f5cea27c88863b15df50bb8b7c13c2887f1321c63e811fc6ffe3e4f44c2779f0a42ba9f5119a528257bb6cb46d0229cb7e656f18f50a26bfba85ada21b2c5ae999a982ad50d09e6ba537807e5cb8e441d16494197f44f4550b7a955ca67fe85822255ca97ac47ee19275c73b6c99b0804d89a8aef0ad9b598553da52829da5b70f8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007faeb7ed76180fe6be81429d373ccd3e5be27d96c43b66138e21c0814d5f63ae40ed7bac84b607885888c210177baf7460bd3b8b97de81429c446f35ca629d84b6000bfee553813d756191389100f598657ab310bce3ce68fded7faeb6978c66a543bf7d96b50bbf17b66eeb7baf78eb66f16731817ab31a4a1fb3fab6827e845d57da43bf8b237f4bc0ac1e93cb5590801034805b7a7177427e8c9d1df8ae8b372880103601cbb9fcb61a8867a57167b29c1677801f7b49ab9738ab177f4bbedb700fd9720f7e8c8a6add0edb338f801f8520212b79799481f804eebf8652777a7f91c9e6d77fadd3d87e73951e2e952f72fe80697d5e7ef6a41de57f91c97e6e1e6e5f86806978bfa0a5bcf659832c13c4f9d1a7de858000000000000000008000000000000000008000000000000000008000000000000000007c194fc1a61a46c7fa8238af4f1ae213637e80ce9895c7a1371c3d7e0370c1e77bbb0ae384440515eb454bb9b67c380611e0a9c6e6807f19f7950c592c91f68864656ed2da12e3e486ecea7efd69b8cfae8001894d69e0e3857180ee22ee65f46cad6d839528019baff8c17388e6c688e02d46001d82ec5f207e2280aea381a5eeeace61a3ee597a4e3a04ee6fcb7d207e974fe60c7c5ea2d67c8b98e1346388b1de7a43e7a0081b1280827e9f965a147b99c1717b15ae0e77037496557f842241b431f7dfd8837d95247a8bcd0ce582f96f2f31a101a8117fe7c920c6db5ede3e80ccdcbe048d4e65de7df5738fdcfe691d997daeb9b52f9b285dd27ebe5e2fb3b8bceea4801d4dc035da33b2667e7791abbf9a8b37be828924cdeecf8726d18000000000000000008000000000000000008000000000000000007ff6fbb663e4352f7a7fa3a2581d0e10df3883e737bdd309d2fcc97d71564ead29f47f5689bfd62ddfc26e73148838c8806bbb6e5c3782102cd33b85f7cead868b26433184ed9a2888ea2e399cd18d41948304c5d3a021e5bca27c3611272008f8977d81bf3892c71890b7f67e5e7462dc4828309180c088435c0fb4fecf821f1a1b664c2061f27e0c410f97276ae05079b8caba7c9ca9430282b8823137682155567d1527e17b4c161b817e3a76ece7f0165ebd81d0c24a13e45b650e79ffef2cb4c35ce8267d534dda9b9b5aedfb7bafa9d2e6a195c1427fe0d2fa13b535c3d37ee856b428a8a6a4177d5f5e6819a7187a967f86d595e13be896848081618cc3216cf2757da336995d034d65f87e06dd80d306eec78380a5a0295b7274b72b829df073cd2b896d0c80000000000000000080000000000000000080501b3b09403786fa8246926d5e0b8c58eb7f622b1443f668346686f79c82fb618e9d56891e091d396bd05c3c7f15a91ecefab2fdca824698051d2814d4ee891e2bd9ff564c602b8ce65921788a3c560183bf2b94ab7861bedd80501d9343f4da7f787f624520e9e84050d47f15a3a57bfc6c03f983bf264ab3d1043f377dbb487cb5b74685f67e72d648af719103f9813f2643044d1ba30b79b9171d06aa690522813f2140d6f34c49be7cf059de6f0e7366b87cc30af0b5fcec80617e72d5374e25740cda79b91fcb16417d1e477cc2f786e7f72089557acee6f4621ff97f617ed319b41917d544c57fb863beb02a43ab507d57c3135026d8f6787ed31a14b08cebc04a7d57bd61a0047078907fdbc921589c322cd78083700afb983b01778083733394ef4b60ba82a1842e7b6c11d16880000000000000000082736bb051de5137157ced03e64a39a52d9a7ee1343d9654c95c2d862e7f72abd2bc434082ae8a439f8388ea79886ec1bee8f870569c7ced027836f329154782ae8c707949b413c77d35c0068d5b3498547962bf94d13390145f827368ca2608dbb3e47ee13ff4e0fab5d9ee886ec555e43035044f7962b84609f3ce158180f963390541f7d563825983e5d432fcd37e824df6ab263ddec2a685263fe54f0b351eae824df4e54f211a4dcb89a48b5de8954262568196afc5115bc31e998259822297815f7aa88526560f91d33362c78196af08c7ef8de24882092f83eb542bd9087a27decb78398969ad81b9f2183c61654b1981a739bdb4729269d07a27debe258f91e32281a741e5e710fb4d297ae5077a6165f3fd9b7d26bcc119dfd28f6b7d26bbfa23ef4572217cbc1acb3b0333e7f68281f9c07eda7a2d8f,
0x99c4e678147e72dfd17ffffffe7e48ebc94c8000000129b82b81658000000049a149fabb7ffffffe3fe0a28dfd80000000e55f90fe317ffbb182f104c59f317fd498683ee9df59697f19dd82c079d049377ff090034c6b89c1cb800ecf9263c5fec5987f39a37f0351719e2b7fcea799b56bbe2ba780fb158aee307edf447fcd99daf69e9e47a3808ea8cd7b393f4cd47f2fcbb0f9fbcd762b81dd74c6089c5117e27df2b46b49deb966f57f82057971e617d86e7e8b00e213e7dba15880f6e9b22736f8c6f1812b2d99bae9bb793d7d0fda5d4075fb23b37e570f9ad922ea910f809110efb3cbcdfc337f192fd50b70e2ac9782539fddf4a32b8ddb7f2fee545252b963177f0fd2a57f8665c443809446fd687cedea977ee7a3f6350b0c049d7fb6ce7672709ae81d7fc254d0333af893487f4b667a29a353814d7ffffffe7e48ebc94c9a6c265120000e0a2d7ffffffef9b0d2fb807ffffff5b8a1f2987d80000006fcb10861eb8000000b6dcdc161367ff1c03ef98c14afe0808396cafc312666ef803a523516737c19bf8029a7687435e3cf9d801d40ea8a750823ad809eb6fdf247e4e19a7ed9c3b2a3ab9016068111454deed215cff780346b5825da2305827fe44cf609e1df21fa813b1b696898e1d308806ebb03e04325ebe180996315b83db18c43829c221bf5a806f8f97ee09e51362cc614cf81623dd2e2df60371f7dbc3ac60adf1e050f7f4bfe48d796fbe0f38123b12102ecf7d4ab7efc869f63f9cbc1217ec6c14d7c994037fc7dfd1d91665f0bb768808529e1c45d222e5f82334888d2da74e0907fda8c5659feb86559813c9dd5ab81125d657f24c2959122d35f287fab055a33fbd708707ed40b902e5d3f22528000000129b82b81657ffffffef9b0d2fb8096c236bd1e2f23ea837ffffff6de00af6a8680000005ce8c6593ca8000000359a4fb169e8004419f8cc681f7ff80277b00a80aaece378066c0fedb3268286a801356176668d9433e7fe6774a151467aa57807cd7913cc0e3a0407fd45403d2d19bf0ef7eab7cf942cb7b34f87fc9f0dd36b1c4da77810e0c8b841cbf946080c08f5d7822eed44f8253de28bf77229808807a5bdcdc2b5dda5781e45f5324fa6aff1980c0088b500bd7bbfd817324aca20de7cc3e809d590ad68e41c3a87cfc20f10262db669b80bfa8d102df350e88800f71554242aaceb081a6b030ed517ad0467ee32b87c69303349380a055f1baa1be3a3e7f0ec2ccec5b36d9c4804c4fa644c924a49e7f80b5cf83cc59e5018057da97f31ffb8afd8068e83d6dc5951a647f3664b4c17c3bb53f8000000049a149fabb7ffffff5b8a1f2987d7ffffff6de00af6a8697c5532f0b0a0bf5ea800000064df5a463a48000000a7958e6ab218013a441a4a3c0f5c57ff6fc968e80563ae57ff45df81127fe45f68068fe8b43664328bc8012fae30959cc5f797f3190084a67532a0f813ff653ec322d0f1f803346b2b9d6fe893d7fbaf24cca07fc53a07f9cebe450f35f49ca8178c21cd59c37a5c67e4da59e3a0b94379b7fba0a6fd3baa264b781f06a190d0fe3a3ee8132042d13170453a28051c7e90b42feec807fa9a6c9eaa36e5f2f7d42e73b67efa34eb881bad05654b715f9e380bc75d073abc884887f123e4b1ac7b7fb3b7ee0b582fcdf62075e81685215e3e56641dd7ee0078ceee4e955be817347f8ed03267e7c80947c6e22dce5e30780a70621fad334f8147ff6df327525fb10e87f860181a3106ce89e7ffffffe3fe0a28dfd80000006fcb10861eb80000005ce8c6593ca800000064df5a463a49beb02819145e046a2800000029eea2eba087ffdea27f2685cb75f8048a130a75b12f57b80b3df095ba30868ea7ffca2f72060f8cf02800d3ee7ddc81fbb27800b1765a3ba5841b97ff80ef0d379b1f8908110940fffcd7b6ddc7fd0776782c787ff8d80c60dc502c0f23cd8812d2a1f959250e82b7e73b3fa80819ab2b07e9fa4ef994eb339347dfcc94c302aeaffca7e369bf0fdd1c2f9427ebdba877d45ff3fbc835669bd82c1e73f027ec6b7d36dd93cebd780ab2911b81eaa20a48110a7e6ef8d125ad781add060141614cf95819370748c44ab5c8c8135803e618068487281d69a2014d55941b07ff139092e431d8a907ed6d3a8f3c794c2bf80f9adc9ab8c7436738030fc873d85a459867f618fbce26ce1e93780000000e55f90fe318000000b6dcdc161368000000359a4fb169e8000000a7958e6ab21800000029eea2eba089838be25ee5d4f35a0800fb2ebb8390d5aa97f78a5c8132d66e94f80d622ec4c155aa41f80449fc74f6f40502a801be1069ad44052677fb560729a2ca7a969804721c344d2d508c380277b5788aa7f3bd98023792d2bf7e307eb7f3b1b456832d845287ef7ee82f5b9818510800d21ab7a28bd12ab82102bfffca8331da780505f9061150f55cf826c7f3baf6a3097ea7ee8971572caf612a87dfea5f0010bf03ac67d2eba2fd87e473f5b8035248687d80dfb437f0720289ccbf84a897fdb2debbd59987e988180476dd17bb54ed18107ddd487c3871a337e6b30e68151a8aa5f808e6e62ae6085677780ba5a02deed44eb417fec22cfa354f5864a7ee4da7234d990e7fa7eea6a19870473f8f07ffbb182f104c59f317ff1c03ef98c14afe08004419f8cc681f7ff8013a441a4a3c0f5c57ffdea27f2685cb75f800fb2ebb8390d5aa998279db79a382883fe7f7dd10c1c8f185bb980dc1e1862a6da2a2f7fe0822268c91736dc8017c86ff216054a46808cda6a5d8256fecb7fca16c383405210037f246aff2dff3c43e3802310cb198506283e7ffe393c35dd43bc9a81c46f62bd900c7dfc7f374ece35d481c8117e9fe8db91d510365f82e79cdf685e1f6b207e7d26869329cb960981528d077f2f12b9d17dfb0f72c6c6789268823edc0aab9e4710077fc089142f324ebd517f1697bbb6ab5ea5147e6f39f1a59b73b7577fb6953b6e3c62b1257f6f538ca277cf9066802d9a2a9d974bf0b77f73e8f4d65f69ca6d80ccd2b995e1384a3e80223096c5af134a9b80edd6cc57af446ca6806d65f6c910415b1d7fd498683ee9df5969808396cafc312666ef80277b00a80aaece377ff6fc968e80563ae58048a130a75b12f57b7f78a5c8132d66e94f7f7dd10c1c8f185bb9963dbd8aa0ee79bec6803a1f46a68fa84f4a8068682b3703aec37f7fe82797323dc404b37f751cd05e98a0ef537f05b57c5f2962e58f7f3c008b73df835d547fe598c2bf4ed6ffee804a2fc13443ce11807fa3e4760e03db00fb7f77077fb0f0c5590881382dc6b8d4c2f9b57daaa29e2ca602dc83814e2215ba0cb2c49c8010587435c18778147f6bd472ab4fc232d57f41eee448ff9363ed7fd1d3935684d2ba4d7f1cca6190223b353e813be5322d7b282a3b7fec4741079dfd73f080527c631b72aae6ec819aee6a7dc89cb498819044d0111cc69bf57f9633953aa79d1c0a7f8299e5ca8416fbef8049037be9adb7e6867ed7123d50c14911437f19dd82c079d04937803a523516737c19bf8066c0fedb3268286a7ff45df81127fe45f680b3df095ba30868ea80d622ec4c155aa41f80dc1e1862a6da2a2f803a1f46a68fa84f4a992406b0638edff2ae7fb898412136ee6cf77ff3ed5760645e10f57f9cfa7122bb310e767f7d52d93dad4864d47f5561fa8ac3974036801484045c842acc787fc24ef763d85202058053fd7ff9719cbc3d8176a349a092ea3496803c34f31badf286997fcd30ddd2399f3de2803630d9c57f4dbc47817145873a5985f5de80de3fde5cbde423e07ee19c7fcf6f3b06e480cc6f90eab128baba807414b54641aba4bf7df38948e76cfd3e0681e04a4818c99c7f66811854ea1932db0300802214a02637d54cbb805d35a5e2e969019a7f8558695891cea8cd7f06d22394f96509be7f57bac55dd79df3047ef6853e816d4d76567ff090034c6b89c1cb8029a7687435e3cf9d801356176668d9433e8068fe8b43664328bc7ffca2f72060f8cf0280449fc74f6f40502a7fe0822268c91736dc8068682b3703aec37f7fb898412136ee6cf79b43ef5f3ca52a0eb5800b940f301018c8498021c47a395bca37d57f4ec54ab8dbd8509f7f9e373b92bfd824be8032835e2d84b47a228072e94fce35a4af7c7ebff88e991de37faa7e1a67ce7e3e5827297fae12b07bb25715c6812adc86ed703069ef7f4587ef5d9f56462780f850aa4899eac6267d0c307ef02f31980b8340b10fd836679837806a0e2d0f942f1d098132fca4e3cc1f953a7edc29188b77d136a47d80cc18391a7eaba0804ac3c7b845510cbf8113146ba387b644538076a5e217d9c1ae8780576935e134787f6d8129c47890c3dc1f417ef0a86e8094dc052a7f27c83ae50f2b80c1800ecf9263c5fec598801d40ea8a750823ad7fe6774a151467aa578012fae30959cc5f79800d3ee7ddc81fbb27801be1069ad44052678017c86ff216054a467fe82797323dc404b37ff3ed5760645e10f5800b940f301018c8499848d9cb220510a48980a76706d3f2539948817170cb66bd7ede137fc26a1a7881e0f093803c04b9bda5553caf7f18ab7b71144c9b547e8472f516b3cb7a078028f136cd72a4ec4f814d6ab7ff5920a4307d8b34c5fc7891b01380313ecf03ca1b899d7e9d35b76d8374e524805f96aa76f260bbf982fae23636d71067f77ec24dfcee2fe470057f36544a124d7120e37eef61af05e7b8fb7b7f95ba764bdbdfb13f814a5a9d3a8bbe8a6a7f44273a867dd1e02d7e9eacd9156b5c6c067f6ff256e280fec26880e3c6d574cc6c4f14804b9500220d81af4280db12b6b848edcf267f39a37f0351719e2b809eb6fdf247e4e19a807cd7913cc0e3a0407f3190084a67532a0f800b1765a3ba5841b97fb560729a2ca7a969808cda6a5d8256fecb7f751cd05e98a0ef537f9cfa7122bb310e768021c47a395bca37d580a76706d3f25399489926a3507c1582d491805167068e26009a977eb9414eb5bdca5cd18036c2dec4490c73807f5272aab236d193517f2f567b809d50e19e7db8eddafa38d5d318801c74d489f68cd1908003b16d81f40ddda47edb3c8850fae1d789812a54a027732fb3347e48618a1a30eaa2cd80f6ee585909f83cc6800d0aab8fbee858e480ad633f1515126d587d822b3d01dae2a86781f4e2bb8c732687087fe694e539025e804d809cca39294230876680f01f56d9094200857ff9d803430ea21c07807803a0205b57474c80c6e1f2b25f5c584a7f0dc946670d9813647fcea799b56bbe2ba77ed9c3b2a3ab9016067fd45403d2d19bf0ef813ff653ec322d0f1f7ff80ef0d379b1f890804721c344d2d508c37fca16c383405210037f05b57c5f2962e58f7f7d52d93dad4864d47f4ec54ab8dbd8509f817170cb66bd7ede13805167068e26009a979ae749556204da0e3d7f81f6c207633c22977fe308e9bdcb313ca97f737b2e40750df0917f1c4b0a6cd3752b127db2766b8f93786d1d7e09ca599386fe5e0a7eb43d52141f3008fe800a3ca8053ead559a80dc5af315eb4f1a0e7fefa1fb0f76dc8eff8164849a4960eede437fddbf71927edeeab27ffb1e41399ff721b37e42ccc2ee3e5e52267f8d5325bff3eed5b87f88b0bbe32887bf327dc81a62f4e5b298307f32c17f5b882cf5d47ffd63d1c27add08ee8134412988428c2ccb810b271c5f35b928ee7faee1d2f8e6099c0980fb158aee307edf448111454deed215cff77eab7cf942cb7b34f8803346b2b9d6fe893d8110940fffcd7b6ddc80277b5788aa7f3bd97f246aff2dff3c43e37f3c008b73df835d547f5561fa8ac39740367f9e373b92bfd824be7fc26a1a7881e0f0937eb9414eb5bdca5cd17f81f6c207633c22979dc5d54d238783cfb0800d13e1d95ace9047802ad53720cd5d91ac81246aceb769a24ac17f0b8d352ac1ff606a80e8a3c318b90285e47e26747860cc57d6437e7bac3f50953fadfe8092ee14a41338d8ca82489a05e2be787f8f8104bdbff12ad3a2628055556fa7f2ef01607ea9baf24f5f10e2db7f95760674599e168a80755dd7b8596ad5e68001f5376242768bec7dd6960378dfd4c55e80312b1c0ebfeb8683812997c3ecbc7e9ac67f552f2fe504650311800906df3c904955da7f2f6b680696aab0217fcd99daf69e9e47a380346b5825da2305827fc9f0dd36b1c4da777fbaf24cca07fc53a07fd0776782c787ff8d8023792d2bf7e307eb802310cb198506283e7fe598c2bf4ed6ffee801484045c842acc788032835e2d84b47a22803c04b9bda5553caf8036c2dec4490c73807fe308e9bdcb313ca9800d13e1d95ace904790b49999d51861d2c67fa26115e54e43e5da8032146b513f59669f7fabcdcdff224115237e07055b43c85a7b167fa4408e7fd29553367f09ae0b53e9339f407f3b6b2ddcfcde777f7ff62e6d04e95bd47d7e2a283b986e0749b981d62d69b4ce3069497fb57e3bfec5661c617f32cc65928e49a40880bdc0cf5f8c0f21897fe96b9acb3512e8cf80b87db1cbf08d13528085ba10c2077d01c080393cfbfa0565d33c80c411c6f87d847185804326420b1d8359347fe2a906dbf417f8ed808ea8cd7b393f4cd47fe44cf609e1df21fa810e0c8b841cbf94607f9cebe450f35f49ca80c60dc502c0f23cd87f3b1b456832d845287ffe393c35dd43bc9a804a2fc13443ce11807fc24ef763d85202058072e94fce35a4af7c7f18ab7b71144c9b547f5272aab236d193517f737b2e40750df091802ad53720cd5d91ac7fa26115e54e43e5da96a709022762abcc3680b798070beda445ae7fe8325e168569f64d7f8944b52c9b01086e81b3e8c49f11da8eb8807fb642a94ee341d68041ff4518d0c4041681ff2aa32f40de6c4b7d35504a2a747cfaa67fee3f1fc8e43df41d7f20450313abc435f37f81c3ea76a44ab0de811c24d6ed239239a17e9f6992e57a00f50680d6db75a0a0a42fa4801598744c2883176d800282e3b7ac1e449b7f32fa9bb18cbdada87fce1f9d30a111bbf28033a0148db8206f787f2fcbb0f9fbcd762b813b1b696898e1d30880c08f5d7822eed44f8178c21cd59c37a5c6812d2a1f959250e82b7ef7ee82f5b981851081c46f62bd900c7dfc7fa3e4760e03db00fb8053fd7ff9719cbc3d7ebff88e991de37faa7e8472f516b3cb7a077f2f567b809d50e19e7f1c4b0a6cd3752b1281246aceb769a24ac18032146b513f59669f80b798070beda445aea6e8f262d656089a6982403aeb709aa292f581b82d412826eb0f557e4dd85a08d2bea9bb80ff28b689c535241b8163173f1858624f967f338a5754f327dac4826880478a3e49fbda7fa80a70829460a86e80966e4a238cca6225802c600b08cb57fe8e7db13383a8904c4ada7f42f6d4645b4e38fa7f5141d7f6c317a4cd7f9a02bddbd328cc3580354ab5b69520c2a780e77bebeeb6bd2320807acab7e7a0f66bee7f9067d9196cff2afe81dd74c6089c5117e2806ebb03e04325ebe18253de28bf772298087e4da59e3a0b94379b7e73b3fa80819ab2b0800d21ab7a28bd12ab7f374ece35d481c8117f77077fb0f0c559088176a349a092ea34967e1a67ce7e3e5827298028f136cd72a4ec4f7db8eddafa38d5d3187db2766b8f93786d1d7f0b8d352ac1ff606a7fabcdcdff224115237fe8325e168569f64d82403aeb709aa292f5a8a3f47cf1621cf4af8204cf2a4c39c6006b7feb73a787e5defe8e7fbff52d5e2d3ffa86816b00cce3354136b07d309e96c5cba5fc4c7f720c7102dd43bde47e3f7bba480d99ac798129009e7601fba2847e545137285959b814805abb3d130a9e2ce880d339791ec74c2f59815483158d7e955c9480b2ae3ffebd06fdca7ebfe8cdaff6e6f0e27fa579cb737f6d0c808134067c41ce58297280b4eab8b3c2728b8e7df2b46b49deb966f580996315b83db18c43807a5bdcdc2b5dda577fba0a6fd3baa264b77e9fa4ef994eb3393482102bfffca8331da77e9fe8db91d510365f81382dc6b8d4c2f9b5803c34f31badf286997fae12b07bb25715c6814d6ab7ff5920a430801c74d489f68cd1907e09ca599386fe5e0a80e8a3c318b90285e47e07055b43c85a7b167f8944b52c9b01086e81b82d412826eb0f558204cf2a4c39c6006ba84637771f47997d2a80d0b748d94c8cf9227eb0e7ba16d0d36ff78037bc70b330bbe2907f190f7e5ee0bd1a7b808101097de10c55e7814147995e1bdcf36f812e0194a59e4b8ffa7da67acb9d760b67b38195e9a2d4786382dd80d14ff90fa38176f481e203cf641d9471c87fc4cff3b6788530147f9810d4f81fdf3196806d90a0d3f9be4bb37f66cf8ca4a95a113e80de962412cf13ef737f82057971e617d86e829c221bf5a806f8f981e45f5324fa6aff1981f06a190d0fe3a3ee7dfcc94c302aeaffca80505f9061150f55cf82e79cdf685e1f6b207daaa29e2ca602dc837fcd30ddd2399f3de2812adc86ed703069ef7d8b34c5fc7891b0138003b16d81f40ddda47eb43d52141f3008fe7e26747860cc57d6437fa4408e7fd295533681b3e8c49f11da8eb87e4dd85a08d2bea9bb7feb73a787e5defe8e80d0b748d94c8cf922a9d6d0f5e6816bbc507eb8813533e9dee82080bb8fba323836463981e4d76579e16ccdf37e225145621dade722813337cb532b80ecab7faaf0789185f021038095058126486e25d17ed100961d2b1eda477f2dd7119bc11a9c4681af1f6129b55a5f41800d9c119735ad46d480478032b1d513a99c80286b7f2cf309875e7ec9e5678fc34aba7c7fb9c653fb40d573c47e8b00e213e7dba1587ee09e51362cc614cf80c0088b500bd7bbfd8132042d13170453a27e369bf0fdd1c2f942826c7f3baf6a3097ea7e7d26869329cb9609814e2215ba0cb2c49c803630d9c57f4dbc477f4587ef5d9f56462780313ecf03ca1b899d7edb3c8850fae1d789800a3ca8053ead559a7e7bac3f50953fadfe7f09ae0b53e9339f40807fb642a94ee341d680ff28b689c535241b7fbff52d5e2d3ffa867eb0e7ba16d0d36ff77eb8813533e9dee820a816e862692fedb702800ab514ceb6ffac417e3e42878fb2f363357fbd9c7e834dc00e828108861cfdaa14a3477f3f92f8c3d2b1e59a7ee44c323d7767218c7dc5a9d79b3fa87c3b7eb5f1c7e6aa70d190815d63fb1d782882978120569769972b317d7fc14c813dd7b6323d7ffffdd7625923b03d7fdc5c5df239e8adbe80c6dd9aaca30e8dab80f6e9b22736f8c6f181623dd2e2df60371f817324aca20de7cc3e8051c7e90b42feec807ebdba877d45ff3fbc7ee8971572caf612a881528d077f2f12b9d18010587435c1877814817145873a5985f5de80f850aa4899eac6267e9d35b76d8374e524812a54a027732fb33480dc5af315eb4f1a0e8092ee14a41338d8ca7f3b6b2ddcfcde777f8041ff4518d0c404168163173f1858624f96816b00cce3354136b08037bc70b330bbe29080bb8fba3238364639800ab514ceb6ffac419f7a4a74b3d3f7de497cc2cc63a43b69e1077e998addeb5bce3c1f7f1fabc536143c0d4b8081468e9e1c05480e81d6269fcad6e0c4e67fd9ae5190bd6ea5137fd6cfe6f3bd41f66b809278ece9ccd4a023803e862ca8e3605b6b7ff87f1a42b844a27a8002c9ab3c3313df32803947b269d7ca43887ed6167ff173b6674a812b2d99bae9bb793d7dbc3ac60adf1e050f809d590ad68e41c3a87fa9a6c9eaa36e5f2f835669bd82c1e73f027dfea5f0010bf03ac67dfb0f72c6c67892687f6bd472ab4fc232d580de3fde5cbde423e07d0c307ef02f31980b805f96aa76f260bbf97e48618a1a30eaa2cd7fefa1fb0f76dc8eff82489a05e2be787f8f7ff62e6d04e95bd47d81ff2aa32f40de6c4b7f338a5754f327dac47d309e96c5cba5fc4c7f190f7e5ee0bd1a7b81e4d76579e16ccdf37e3e42878fb2f363357cc2cc63a43b69e107b9aa4cb299e53f4d9c81aa4c22fbf035f3c6813508c542b1f05dcb7fe4eb946fe752c1757f4a11550c182c058a7e3576abb2c06abf457f85471a7c40e4e252824e1ff193e19d8d737fe182e0e581d01c4c7fda048e1a6661d3d081472dc90175ca650d8016c806bb8abe310e80999e96b375360bdb7d0fda5d4075fb23b37f4bfe48d796fbe0f37cfc20f10262db669b7d42e73b67efa34eb87ec6b7d36dd93cebd77d2eba2fd87e473f5b823edc0aab9e4710077f41eee448ff9363ed7ee19c7fcf6f3b06e48340b10fd83667983782fae23636d71067f780f6ee585909f83cc68164849a4960eede438104bdbff12ad3a2627e2a283b986e0749b97d35504a2a747cfaa6826880478a3e49fbda7f720c7102dd43bde4808101097de10c55e77e225145621dade7227fbd9c7e834dc00e827e998addeb5bce3c1f81aa4c22fbf035f3c6c7902f01f2b68e22e57e9f3f9ebca45a78308089ce3461b265c0bb80581aaf925a7e3b017ebab702a334bd55c67ecc1b9a0855c0cd047db918edd5a2241de07f07159da3abeb3f3d7f843843ac6533a1fa7f1c59abf290f02f5a80f74c8b0273337e7a808ffc0741a15e737c7e570f9ad922ea910f8123b12102ecf7d4ab80bfa8d102df350e8881bad05654b715f9e380ab2911b81eaa20a48035248687d80dfb437fc089142f324ebd517fd1d3935684d2ba4d80cc6f90eab128baba806a0e2d0f942f1d097ec24dfcee2fe47005800d0aab8fbee858e47fddbf71927edeeab28055556fa7f2ef016081d62d69b4ce3069497fee3f1fc8e43df41d7fa80a70829460a86e7e3f7bba480d99ac79814147995e1bdcf36f813337cb532b80ecab8108861cfdaa14a3477f1fabc536143c0d4b813508c542b1f05dcb7e9f3f9ebca45a7830ab73701899459295157f11d9583f028deca07e4c8b0d9a3e0a4d4881ffc46cbd3b2d984e7f4211cf9dbb43c3c3824c0a96d6aa19e75380c38e93a4a1a010287ee3feec415adc0cbc811d3f6f5ff1e5363e7f8c40c17cba411c4280ec05704a91d5194e809110efb3cbcdfc337efc869f63f9cbc121800f71554242aaceb080bc75d073abc884888110a7e6ef8d125ad77f0720289ccbf84a897f1697bbb6ab5ea5147f1cca6190223b353e807414b54641aba4bf8132fca4e3cc1f953a7f36544a124d7120e380ad633f1515126d587ffb1e41399ff721b37ea9baf24f5f10e2db7fb57e3bfec5661c617f20450313abc435f380966e4a238cca62258129009e7601fba284812e0194a59e4b8ffa7faaf0789185f021037f3f92f8c3d2b1e59a8081468e9e1c05480e7fe4eb946fe752c1758089ce3461b265c0bb7f11d9583f028deca0a1b1afcae2ff0c8f357f6486ed461b2a8d6f7eb6d22703f5623a607ee2910af4643bfabf824ab16e38e2fc2c35811a072cf20762222b811ca871f1b4e9d9837ec2196d7f12e8591b7f94d3effa3bd2fc807f831d0f305826c2a37f192fd50b70e2ac977ec6c14d7c994037fc81a6b030ed517ad0467f123e4b1ac7b7fb3b81add060141614cf957fdb2debbd59987e987e6f39f1a59b73b757813be5322d7b282a3b7df38948e76cfd3e067edc29188b77d136a47eef61af05e7b8fb7b7d822b3d01dae2a8677e42ccc2ee3e5e52267f95760674599e168a7f32cc65928e49a4087f81c3ea76a44ab0de802c600b08cb57fe8e7e545137285959b8147da67acb9d760b67b38095058126486e25d17ee44c323d7767218c81d6269fcad6e0c4e67f4a11550c182c058a80581aaf925a7e3b017e4c8b0d9a3e0a4d487f6486ed461b2a8d6fa901d31599ddef1906817f5b1c98623d685080c2ea4c03ad1395cc81dc69d5a7e966cde3807ad3fbe9904fe107809fd197a6d89ceb3e7ee8f981e24cad78e77f949cf998513f9faa810460b4ca076f3e8382539fddf4a32b8ddb7dfd1d91665f0bb7687ee32b87c6930334937ee0b582fcdf62075e819370748c44ab5c8c8180476dd17bb54ed17fb6953b6e3c62b1257fec4741079dfd73f081e04a4818c99c7f667d80cc18391a7eaba07f95ba764bdbdfb13f81f4e2bb8c732687087f8d5325bff3eed5b880755dd7b8596ad5e680bdc0cf5f8c0f2189811c24d6ed239239a17db13383a8904c4ada805abb3d130a9e2ce88195e9a2d4786382dd7ed100961d2b1eda477dc5a9d79b3fa87c3b7fd9ae5190bd6ea5137e3576abb2c06abf457ebab702a334bd55c681ffc46cbd3b2d984e7eb6d22703f5623a60817f5b1c98623d6850b36863645523652ed87f16fb3fc32497950a8125648ff3d68d68b57e6ff4a1d1924feaff7fab5b809bce13aa4c7fff38c83ae1e16eb0808d59ce46bdd9ef928080a457b9e890a5727f2fee545252b96317808529e1c45d222e5f80a055f1baa1be3a3e81685215e3e56641dd8135803e61806848728107ddd487c3871a337f6f538ca277cf906680527c631b72aae6ec811854ea1932db0300804ac3c7b845510cbf814a5a9d3a8bbe8a6a7fe694e539025e804d7f88b0bbe32887bf328001f5376242768bec7fe96b9acb3512e8cf7e9f6992e57a00f5067f42f6d4645b4e38fa80d339791ec74c2f5980d14ff90fa38176f47f2dd7119bc11a9c467eb5f1c7e6aa70d1907fd6cfe6f3bd41f66b7f85471a7c40e4e2527ecc1b9a0855c0cd047f4211cf9dbb43c3c37ee2910af4643bfabf80c2ea4c03ad1395cc7f16fb3fc32497950a9ffa74c5b914dfc6777dbdb73826307ecef57ee5e7fac3ca68792780a6d2bcf7116d0d8780eae25aa6b24a42b480293c09cdd9a2c4e87f093f5be72d722bee7f0fd2a57f8665c44382334888d2da74e0907f0ec2ccec5b36d9c47ee0078ceee4e955be81d69a2014d55941b07e6b30e68151a8aa5f802d9a2a9d974bf0b7819aee6a7dc89cb498802214a02637d54cbb8113146ba387b644537f44273a867dd1e02d809cca3929423087667dc81a62f4e5b298307dd6960378dfd4c55e80b87db1cbf08d135280d6db75a0a0a42fa47f5141d7f6c317a4cd815483158d7e955c9481e203cf641d9471c881af1f6129b55a5f41815d63fb1d78288297809278ece9ccd4a023824e1ff193e19d8d737db918edd5a2241de0824c0a96d6aa19e753824ab16e38e2fc2c3581dc69d5a7e966cde38125648ff3d68d68b57dbdb73826307ecef5b1805f67a634e09d65805d180aa79565729e801201169cca3121597ff5f25bd475329cd180d3b0040157e8ca287f6d2d231cc7ff7e5d809446fd687cedea977fda8c5659feb86559804c4fa644c924a49e817347f8ed03267e7c7ff139092e431d8a90808e6e62ae608567777f73e8f4d65f69ca6d819044d0111cc69bf5805d35a5e2e969019a8076a5e217d9c1ae877e9eacd9156b5c6c0680f01f56d9094200857f32c17f5b882cf5d480312b1c0ebfeb86838085ba10c2077d01c0801598744c2883176d7f9a02bddbd328cc3580b2ae3ffebd06fdca7fc4cff3b678853014800d9c119735ad46d48120569769972b317d803e862ca8e3605b6b7fe182e0e581d01c4c7f07159da3abeb3f3d80c38e93a4a1a01028811a072cf20762222b807ad3fbe9904fe1077e6ff4a1d1924feaff7ee5e7fac3ca687927805d180aa79565729e9955118752e860993080f30f0bfc5425b8a57ef2a3309b857d93f57ee13bebf2dd61ccb07fae2fd9a432c2bfe57ee7a3f6350b0c049d813c9dd5ab81125d657f80b5cf83cc59e50180947c6e22dce5e3077ed6d3a8f3c794c2bf80ba5a02deed44eb4180ccd2b995e1384a3e7f9633953aa79d1c0a7f8558695891cea8cd80576935e134787f6d7f6ff256e280fec2687ff9d803430ea21c077ffd63d1c27add08ee812997c3ecbc7e9ac680393cfbfa0565d33c800282e3b7ac1e449b80354ab5b69520c2a77ebfe8cdaff6e6f0e27f9810d4f81fdf319680478032b1d513a99c7fc14c813dd7b6323d7ff87f1a42b844a27a7fda048e1a6661d3d07f843843ac6533a1fa7ee3feec415adc0cbc811ca871f1b4e9d983809fd197a6d89ceb3e7fab5b809bce13aa4c80a6d2bcf7116d0d87801201169cca31215980f30f0bfc5425b8a593d03fc4e720ab33b8813129c2f92c74ac0f7f05abb8ac3393c72c7fb3726ecd44d9aaaf7fb6ce7672709ae81d7f24c2959122d35f288057da97f31ffb8afd80a70621fad334f81480f9adc9ab8c7436737fec22cfa354f5864a80223096c5af134a9b7f8299e5ca8416fbef7f06d22394f96509be8129c47890c3dc1f4180e3c6d574cc6c4f14807803a0205b57474c8134412988428c2ccb7f552f2fe50465031180c411c6f87d8471857f32fa9bb18cbdada880e77bebeeb6bd23207fa579cb737f6d0c80806d90a0d3f9be4bb380286b7f2cf309875e7ffffdd7625923b03d8002c9ab3c3313df3281472dc90175ca650d7f1c59abf290f02f5a811d3f6f5ff1e5363e7ec2196d7f12e8591b7ee8f981e24cad78e77fff38c83ae1e16eb080eae25aa6b24a42b47ff5f25bd475329cd17ef2a3309b857d93f5813129c2f92c74ac0f9721ef9e18d1852003800ae2dfca761450287eeceadd44ad93fa677fc254d0333af893487fab055a33fbd708708068e83d6dc5951a647ff6df327525fb10e88030fc873d85a459867ee4da7234d990e7fa80edd6cc57af446ca68049037be9adb7e6867f57bac55dd79df3047ef0a86e8094dc052a804b9500220d81af4280c6e1f2b25f5c584a810b271c5f35b928ee800906df3c904955da804326420b1d8359347fce1f9d30a111bbf2807acab7e7a0f66bee8134067c41ce5829727f66cf8ca4a95a113e7ec9e5678fc34aba7c7fdc5c5df239e8adbe803947b269d7ca43888016c806bb8abe310e80f74c8b0273337e7a7f8c40c17cba411c427f94d3effa3bd2fc807f949cf998513f9faa808d59ce46bdd9ef9280293c09cdd9a2c4e880d3b0040157e8ca287ee13bebf2dd61ccb07f05abb8ac3393c72c800ae2dfca7614502895ffc3b22f93cca7d67f3801c70c188bd60c7f4b667a29a353814d7ed40b902e5d3f22527f3664b4c17c3bb53f7f860181a3106ce89e7f618fbce26ce1e9377eea6a19870473f8f0806d65f6c910415b1d7ed7123d50c14911437ef6853e816d4d76567f27c83ae50f2b80c180db12b6b848edcf267f0dc946670d9813647faee1d2f8e6099c097f2f6b680696aab0217fe2a906dbf417f8ed8033a0148db8206f787f9067d9196cff2afe80b4eab8b3c2728b8e80de962412cf13ef737fb9c653fb40d573c480c6dd9aaca30e8dab7ed6167ff173b6674a80999e96b375360bdb808ffc0741a15e737c80ec05704a91d5194e7f831d0f305826c2a3810460b4ca076f3e838080a457b9e890a5727f093f5be72d722bee7f6d2d231cc7ff7e5d7fae2fd9a432c2bfe57fb3726ecd44d9aaaf7eeceadd44ad93fa677f3801c70c188bd60c9934fca4c7e8e22ea1⟩
def tc_cap_SG4 : TBlk :=
⟨[3], [(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 0, 2), (0, 1, 1), (0, 2, 0), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0), (3, 0, 0)], 20, 4, 72, 72,
0x99999999999999999999,
0x806e84f56873ac7aaa800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800917b7bf45a5b76a80a01d6c372d2dc4d4800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800af7de2724472a4b801e35dc945cd332d980a2f07d720fb463918000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fa2092afdde09f0a47f7a517d30078a65af8012528d47402c870c80f5b975a169068aeb800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000800000000000000000802809bc506964a4d5806e6c80ae269c40c3808e18a512f768968f80333352faefe90fe1817cb9bb52d42218ac8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fbb52351c187f0ebf8045969193144fe9267f8815cb79d3dc726d7fcda84ab9e2c84d7f803fa213422b7b6f98810000175fdb1fc8c88000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fc983f9e99bb5fbe47f1b190f60c23d81fc80484f26fe98cc3b0880e3e2c87d53570193804d2577e03be636877fc81519bc1835578780acc3483324027bfe8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fe729e032d914e6f58332d62b37803b84387fe9f97cd83b899480800c721f21e4d7a7e18662a7f53454534c60834d39fd02658449317ff6a27aa498889d088353385bca2882ec118000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007ff718f3e5433e99e97efe2bbcedd3c399568361279adc3a79c93283584571034dd8d9fe849aa2144266984b377efbec80c1734681077fdbfdc31381dafd687ed232babf2832e2ce839a5738609c2fb84d8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007fd7f4ba7942fd65e37fc58f6fd74062dfe07f3b96abdfda6a26777fc58f3879dee7bb4a7f3736fff13d425482803b61f615642862c27fd7f4ae20f54c7c057f3b96d00ce26ecc67803b61d1920424b6a180b5342aeee6e0dea88000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008280627cf09a1c45e07f5c4ebf3b6b6c13a57f5c4f8f43002508d67f5b7c6b145d5329597e71494ea650a14dcf7f5b7bae9750171dc38057bc3a4c4da469337f64a1b98804bb21457f64a267ae9914e0498057bc313b114be5cf820b40744bc6de91e380000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000081c8b53a312cfe333b816ce4262fbc835a817eb4740f67cd2aa769816c26a6549cc25c7b775d5bd8b12f2704987ba4e974897feeaeb87fd87cf934b8267a967ebbed63bb4cab1d667bad2054adf4c3aba17fdc930eaf377db18481d5d2e021edd17d1b8420378be89361948a80000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000081326a2684bede8f547e042e266314a379bf8212322069b2ed01e47ab5b331e58c7812fb7a34d6363a4f18958c83527b528982b5e2537fe9e7ad8179a1d0d07bd89a5cb73c3ef8118067588ce08da9f6687fe3d119e7a6dc749e813b36d923736e58a47e4f2fa9605e62c55b84757426eedeba64ca8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007cad3ee1cc5d54999c7f66ee2613fe67d6ac805ee7afbb04282a6e7e210e0d1ae13480ca7b1d86bca6d53ccbbf801652856db442a37d84f8f60c2951b229e67dd1300e3ba8f0c6607ece74318d61b6b4a78004d7c6af991d095a7cd648001ae5f60f418063ab3cdd0820975981bbf521b5b4aa446784af6696e7dd98499580000000000000000080000000000000000080000000000000000080000000000000000080000000000000000080000000000000000081cd3b8afe7bb12f187abdae0fa10cb8eeae7aa681fa3f6a2337137f50f80966bc6857a07a728a37dfb4ad92567f221dfbf69217747b7f767bc0cd0e79f75a83567113d4598930b2833ec6e81836e4ac067fed04def3b7e8dc8281c0fee4b1d875c2df7ee39b2a9b45607e707ec36de5de85f0bb537f8fe3694157ddf2f284f1020aadaab157fb8000000000000000008000000000000000008000000000000000008000000000000000008000000000000000007dc27483e373d05479810006a75dd0861b087f7d883165390b723181000728a90faf4e4f7d32e7d2d26eca342d7df2cb26a5b32cffcb7dc274a199362c69277f7d8926ee548884357df2cb5b49dda26d36857ad28a83663d847c7ddd850af2133f29fd81ccb8955bfbec5a187fb4216efb5325b5d17ddd850d4622080f737fb42203f45c2d0af4852aca2143af687c108000000000000000008000000000000000008000000000000000008000000000000000006eb9a7986e2ff234ce7e1ba17139f15fd9837e1b9f8106979703367a53668f53b073dd688101aabe3de2b47bf47a5365e98262e3a47d8134ae712881bce25582fa81870f90fa6bb382fa7f2e2e1ef6e0e98134acd45efb2df033762eb8bac1ed672e697b7207de3a0c566fca7b7206a8d3165953e8813ad9c2b18f1c10ea82be5a33b6b9be42da813ad85fe9079722c7860e35c815613e19bc800000000000000000800000000000000000800000000000000000813970aea1af3dd0417a53eeccda2d372d8782fb073e8a7aad737c7e1d32f089bd9716a5810165706633a4974682fc10fa2dbd93b9f36eb953838ead45551b7e1ace10cb9c41c3f77a5292f3bf281eaeed813459de352b8cdfe8813d8cef0ad8c54ed57b734ac5915790ab6382bf9bf4a37ce35e83762e628c7de68dfcc97b7144a5fa930a8cc1813a83b94d0cffa4c47ffe53d966b5b0f231860e354fa57a706c3f800000000000000000800000000000000000813919654f6840ecaa82fc96d8c1d62dbaff7a53182ed67c0e866182fc96d53fc00e996c81011b8fec9b5301317e1c5bdb8a522530c5813916025a6e1a1bc57a531b74dad042e30f7e1c5a3d5a24cbfa3e6eb8ffd6e948b2b4aa813d35d5666c022a7b82c0dd9effaf667eb17b7285669c2c382562813d337c37d5aa13ec7b728607aa6cc63ade762e0d776d205a9f3a7ffe5581ba8cda2de67ffe564b9f9c767a36860e359c75f6f81fab800000000000000000812b53a6dba4eaa08483eeb71d379803058083eec284daf03d9d3a83eeb86bfbedd7223e965b04c0ca115ec8ca83eeb939e6d32a7c00812b5ad9cab19687d083eebc2eea78beab4b83eebe7920622372c6812b647856c38569487d343c8bd7f0b424497d3fbfbb1697df1df97d3fc614f1d22c5b007d34417daa7ab805cd7d3fc5cec2d1500b9e7d3446a2095a8b6ace7e1455fc91dc8ae5df7e1454322b55694c277e14501cc6fcdac48681b79f95dead87ec70,
0x923b0e5b937f37cb5d7feba70cf21eccfaa67fe4a643c1b95b897c806327a5fd0e10c0ba7f9fef5b27726c0eba7ffd415f89b4ceddf47ffe7ea3638c1b32657ede99dd41219998d881c3046d0774549bd27facb0982e7963181a802a3ae050de61f8237e599bb4176f91aa8f805695fcc98cf2f1387e01c7cc7eabee096e801fcb8ef0e13f53db8255fcdb740af93e727ef5acbb69ad29b4f17d2aafbea59e5752c982f2064bb87487d82280436d0cd3f4e533967feba70cf21eccfaa68df2236c406e3db89d803c024db23de4ea5a7fdbff176cbd047aea807c708f4430f6d1187fc78036690eaac28f80260fc2824c6a082a7f7ca2a4ce3e847ae77e86b49088d192a7e27fe036a5b4be1d054a807ab1fb44c9bf2b6b7f533c5cb2db37bc897ea5a8c8ab4d77aac17e0e6b57e6427128457daaca88217555682380bf1f51c25fa7dd037fa8269ee679cc981b80e6b516782c10c009808228043dfa539849805cdebd58d7d4c6527fe4a643c1b95b897c803c024db23de4ea5a8dedbf87292f583220806dde798af58d812280610d17115fbbe28680736731f27db12bd57fe3ac791e713f3535819af84d1bb8d0716380846789a453b8cf30802e7b26ecd7943c607f8bd49a36723b5d9881602d214ee4c857317ecf775285e96613ca8019839b2a2050323f81e3b1f55df4afa3c3804057ff4453d0321a7f9f71ce7a9e9804b87f3537e62d9404c8ce7dd6b95d7228f46e717f292a019a58035606806327a5fd0e10c0ba7fdbff176cbd047aea806dde798af58d81228fff8f3fa5d3bc7cc27ff7936fd9ba04a4df7fd090eb72a34434448051fec253ffb1ca937f8a8d159e12cd561f7f9eacd339d6a3ba3d803a9535c5a711c0197f304c015a1788b31680257338d5bd1e6ac47fb0fc2132ee8f1f1a820fa2191a07a42bf27fe71e3376773189d17ef72d3275675298828175edf381bca3898d829afbb612cdb0331582d50b9487fd6997b87f24988b08e9cc3aac7f9fef5b27726c0eba807c708f4430f6d11880610d17115fbbe2867ff7936fd9ba04a4df8fe92f8d5de28cdbdc7fd8263b598a081f607fabf5ff60efb795db7ecd96e68bc569870f7ed578c47b0ddf2d037fe168d0d9172c60cd80bf6551989bc5a66a7f733a86de18ebd3ec80ee9734a16be471d67f040d5d05541411447fa9a40d2a7271100c7e32d4175771a0ec4e7f8821e9911563fe0c7f460dd25b397a9ffa7e4c004c37043686e380cc87f7c614ac99567ffd415f89b4ceddf47fc78036690eaac28f80736731f27db12bd57fd090eb72a34434447fd8263b598a081f608f7e625563db19de057fb70b3ca4ac2f982d7eeb3d01790f8f1bbf8004d8ca493894b2718055115c53265c7b5e806b74135456ef688b81025883eaef899dac812102f14ad56fbd4a7f5142758554798d197efbd15d52a705bf7881bda86aaac2d3dbe382895901490c9ce04b7f55a0d7583256acff811878292fdfb58e177f8c77d0733a640a127ffe7ea3638c1b326580260fc2824c6a082a7fe3ac791e713f35358051fec253ffb1ca937fabf5ff60efb795db7fb70b3ca4ac2f982d8efd3d186c981708947e7a6b3bbecb9627787fa4f3bee3d778acb07fb7eb5de0b520e05e8044962a919f9563d9814e227da250da2b427de6a1e82cf58304ec802997d63278b031c47fea30e009fdcffa5d7f93474d22e17f7c01829f956f7ef86f902582a886911c64d6151d817fc60c0d697aba0b8055e23566856a9caa7ede99dd41219998d87f7ca2a4ce3e847ae7819af84d1bb8d071637f8a8d159e12cd561f7ecd96e68bc569870f7eeb3d01790f8f1bbf7e7a6b3bbecb9627789414d19fec9e4eb2a380ad452153a476ce1c7fda0ae8ef95bd43fa7fd546fca1bc0352aa7fdd0aa330300d118a7fa6c739f07235819a8141c3ad5a35258d577f066f4b1b78c773378249c13d7ba281cd8f800c45094da00b08c68197d3fdd90636a3228148f3b075eb61dab180bc8f7d8bb3faaaf481c3046d0774549bd27e86b49088d192a7e280846789a453b8cf307f9eacd339d6a3ba3d7ed578c47b0ddf2d038004d8ca493894b2717fa4f3bee3d778acb080ad452153a476ce1c9c821f531bc96b2411802f123740688f8f4080dedfc285a298662380655c0e2433d6c4847f8df9d8261642ae9481f09b5c2697858e4c81c2bae10175cec4777dc1b53ddfe1be27c77d601400924a6fbfb382f9cadc5bb452ca67808e7919c05d01634c7f87bb39a94aba88487facb0982e7963181a7fe036a5b4be1d054a802e7b26ecd7943c60803a9535c5a711c0197fe168d0d9172c60cd8055115c53265c7b5e7fb7eb5de0b520e05e7fda0ae8ef95bd43fa802f123740688f8f408f8b1842b0d2d285067fc80534910ec50d3c805ae61bf19ca91f647dd40cbbe2be0dde247e306d767acc791fc07dc54aeba8ea7516428166912ce1ad6d53577e46536203f486085e811c6b4b46c6c4346e81f7249f005cbe8278804b8b282c3b208788802a3ae050de61f823807ab1fb44c9bf2b6b7f8bd49a36723b5d987f304c015a1788b31680bf6551989bc5a66a806b74135456ef688b8044962a919f9563d97fd546fca1bc0352aa80dedfc285a29866237fc80534910ec50d3c912e3e5df9bcc327018069cc54af60f6e3c081c20e684db9b7502280209a4a05fe1145328221d8d3b33505c31e7fec09b3612313327982deb8e63588c8a45c8162a4cbb3552b24d67fe1da1e76ed8370077fc1a2a3fa58bdb4327e599bb4176f91aa8f7f533c5cb2db37bc8981602d214ee4c8573180257338d5bd1e6ac47f733a86de18ebd3ec81025883eaef899dac814e227da250da2b427fdd0aa330300d118a80655c0e2433d6c484805ae61bf19ca91f648069cc54af60f6e3c09b7405b7543efb9c197ec864e21364bdad9e811b2615ca96ca78857fc25cc3f5e0a9eacd8231ab957d3bd38890803e63f298c52a2f1a7f283588f5105cdc2a7ec559e9bf1bb846257f9f4ba93179246f1e805695fcc98cf2f1387ea5a8c8ab4d77aac17ecf775285e96613ca7fb0fc2132ee8f1f1a80ee9734a16be471d6812102f14ad56fbd4a7de6a1e82cf58304ec7fa6c739f07235819a7f8df9d8261642ae947dd40cbbe2be0dde2481c20e684db9b750227ec864e21364bdad9e9b98fbd0c8c7393d2080dd6fd6743beaefc180c847b0a7c36bbd768008ff8b9a70d769c67d0ec6e7dab8154ee77f5f6d41f37906afcd8193a4f9a9fb6ed19c7fc150ff137b1b19c87e01c7cc7eabee096e7e0e6b57e6427128458019839b2a2050323f820fa2191a07a42bf27f040d5d05541411447f5142758554798d19802997d63278b031c48141c3ad5a35258d5781f09b5c2697858e4c7e306d767acc791fc080209a4a05fe114532811b2615ca96ca788580dd6fd6743beaefc196e028f6f87aa26dec8100206782408872a57fa0ec1d94b494949080e43c021ab2a5e2e08107ef34d741a65c307ec5eb0d5a0de0dfd27fae070c3e337112d0801fcb8ef0e13f53db7daaca88217555682381e3b1f55df4afa3c37fe71e3376773189d17fa9a40d2a7271100c7efbd15d52a705bf787fea30e009fdcffa5d7f066f4b1b78c7733781c2bae10175cec4777dc54aeba8ea7516428221d8d3b33505c31e7fc25cc3f5e0a9eacd80c847b0a7c36bbd768100206782408872a59ce2c21a8d5424142681ad6cf03fb20688707f520b0fe43f2c86977fcb9a4f866acccc5f82beb7cb7af28405ea7fbd0fe69a080518668255fcdb740af93e7280bf1f51c25fa7dd03804057ff4453d0321a7ef72d3275675298827e32d4175771a0ec4e81bda86aaac2d3dbe37f93474d22e17f7c018249c13d7ba281cd8f7dc1b53ddfe1be27c78166912ce1ad6d53577fec09b361231332798231ab957d3bd388908008ff8b9a70d769c67fa0ec1d94b494949081ad6cf03fb206887095d82d3735c303fc317fee5ff07b8170efdc7f23aae4848f1d630e7e2a4dfca27f58f5767ffa054b4c1eee827a7ef5acbb69ad29b4f17fa8269ee679cc981b7f9f71ce7a9e9804b88175edf381bca3898d7f8821e9911563fe0c82895901490c9ce04b829f956f7ef86f9025800c45094da00b08c67d601400924a6fbfb37e46536203f486085e82deb8e63588c8a45c803e63f298c52a2f1a7d0ec6e7dab8154ee780e43c021ab2a5e2e07f520b0fe43f2c86977fee5ff07b8170efdca781326e2745519dbc812e503dde58c24e827f101f5d30c6b2586c7f28a492436937f6be7d2aafbea59e5752c980e6b516782c10c0097f3537e62d9404c8ce829afbb612cdb033157f460dd25b397a9ffa7f55a0d7583256acff82a886911c64d6151d8197d3fdd90636a32282f9cadc5bb452ca67811c6b4b46c6c4346e8162a4cbb3552b24d67f283588f5105cdc2a7f5f6d41f37906afcd8107ef34d741a65c307fcb9a4f866acccc5f7f23aae4848f1d630e812e503dde58c24e82a2075173017709e36a811979ffb8972ff10a7f9d52f4afeb9dfbe282f2064bb87487d822808228043dfa5398497dd6b95d7228f46e7182d50b9487fd6997b87e4c004c37043686e3811878292fdfb58e17817fc60c0d697aba0b8148f3b075eb61dab1808e7919c05d01634c81f7249f005cbe82787fe1da1e76ed8370077ec559e9bf1bb846258193a4f9a9fb6ed19c7ec5eb0d5a0de0dfd282beb7cb7af28405ea7e2a4dfca27f58f5767f101f5d30c6b2586c811979ffb8972ff10aa56da8a252c7323fef7f665ef2fe58e0a3e480436d0cd3f4e53396805cdebd58d7d4c6527f292a019a580356067f24988b08e9cc3aac80cc87f7c614ac99567f8c77d0733a640a128055e23566856a9caa80bc8f7d8bb3faaaf47f87bb39a94aba8848804b8b282c3b2087887fc1a2a3fa58bdb4327f9f4ba93179246f1e7fc150ff137b1b19c87fae070c3e337112d07fbd0fe69a080518667ffa054b4c1eee827a7f28a492436937f6be7f9d52f4afeb9dfbe27f665ef2fe58e0a3e489e112ce7f06772dc4⟩
def tc_cap : TCert where
dd := 5
Lam := 87112285931760246646623899502532662132736
an := -1
ad := 1
bn := -99
bd := 100
e := 1259031901072922459286254611941137639131858
cal := 19127427689929623000262339271757972228010
cbe := 16215043688115070926263752263445740533402
HA := [170717757480552085088979247788979045424340, 56191821671676908679482209660775856271648, -220309737546812222628554408661585740914768, -77479581194809140134631691140886025002102, -44807708364056816690875659833292417362464, -233648679192088102608262280903944296522196, -101078167729932081174450918159852766529868, -66934474842571285191037482939485041242696, -224432908240006636817633580419638758821368, -216062636282412238476404472408487364331876, -74466642474068062185006448695369901556726]
HB := [61597688107009154933968282397669419072688, 30798844053504577477837635728002975243864, 23084009998671252465573998689971353965276, 19238310478029424323344171619969680680508, 16835936748528215710789925485357870404654, 16263191929301309062843297932274020659776, 14672295122868470394680686460290544912008, -12644532183649820551035083229779674511842, -24752329292309356219373268859975129186766, 68561193987253405316099134272501091166204, 66446725468145523634310745021115587937566]
HC := [61594484493696253203633737325808935281570, 30808343403275704592719602158382344123874, 22758145382235113847716537355248743285798, 19694456291593967907480642660091266215732, 22195366481427575273352526265412332639396, 14849570979845450533510314797337514508754, -14421706729754048369243870323955118931358, -13911379967526343876638099783403961110224, 40092006734241262637000245067100303166362, 59918385972582782963955451852797591146636, 22690058154622992236519099732025979254482]
ψBa := [1337210185706445623479231266058894184986, 1956802171773322209165946620013038810122, 1238209245396996757745314187269414830452, 1601347522618807261286063417528769765280, 4406799829556204198791926232478824781922, -16112932419692785765710664809270740986740, -40097479791795464097822501401984837340802, 47768851310778224551852030163272903240220, 72392307838636285058775346679559434119532, -17595841901142585351683228038099041985914, -35840271479052094940221890379439263600918]
ψCb := [-16215043688115070926263758455895228124450, 4723783828725235634330206518590377074992, 12344504738551974509636123811021192424450, 3338726022713904035812737344624377474490, -937010120224116522682777948762060314088, 2710132300291695349115028737790296459892, 2312861661064001423369501654143476522580, -2522298722742911061062278442666295714092, 565681642402936970483039944464258648414, 4636724880466302696690146829544874878682, 2271611859189418467658065772811752777544]
FP := [tc_cap_FP0, tc_cap_FP1, tc_cap_FP2, tc_cap_FP3, tc_cap_FP4, tc_cap_FP5]
FR := [tc_cap_FR0, tc_cap_FR1, tc_cap_FR2, tc_cap_FR3, tc_cap_FR4, tc_cap_FR5]
mA := 2
mB := 2
mG := 2
SA := [tc_cap_SA0, tc_cap_SA1, tc_cap_SA2, tc_cap_SA3, tc_cap_SA4, tc_cap_SA5, tc_cap_SA6]
SB := [tc_cap_SB0, tc_cap_SB1, tc_cap_SB2, tc_cap_SB3, tc_cap_SB4]
SG := [tc_cap_SG0, tc_cap_SG1, tc_cap_SG2, tc_cap_SG3, tc_cap_SG4]
end Cert
end ThomsonN7
end Asm_cap_tc
section Asm_cap_ct
namespace ThomsonN7
namespace Final
/-- Contact data of the pole--pole minorant (boundary node `y = 1`). -/
def capA : Glue.Coerce.ContactA where
Dq := Cert.tc_cap.Lam
Q := Cert.tc_cap.HA
G := [87112285931760246646623899502532662132736, 2151734199360815430923414870928107483308888, 2151734199360815430923414870928107483308888, -27944443296251496900472893114914500939203904, -27944443296251496900472893114914500939203904, 159201582776544735021594855797065455719683808, 159201582776544735021594855797065455719683808, -586573914610842804085002223160528587775467392, -586573914610842804085002223160528587775467392, 1450037954435626738735731572631618042357026048, 1450037954435626738735731572631618042357026048, -2441384163564702410646849165275238940292955136, -2441384163564702410646849165275238940292955136, 2760663489507302453260323117454585217533232128, 2760663489507302453260323117454585217533232128, -1994958844910011448073037772515726056596251648, -1994958844910011448073037772515726056596251648, 831278874700755697619411007458761294628540416, 831278874700755697619411007458761294628540416, -152507683786891391354893206928117558388174848, -152507683786891391354893206928117558388174848]
g0n := 1741757945213855404949078441533013189155331532714531
g0d := 500000000000
ya1 := 199499
ya2 := 200000
pieces := [
{ u1 := 199499, u2 := 200000, w1 := 1, w2 := 1, Lam := 992554853457087130445962004320801543609802955047510001, β := [18263655791605636450998848759089208378317409172476729496381213723597986948594168067017071381090156586936506404033275564569962093490038472072472576000000000000, 2085136902531408818913515919867434547315309307641564030707628895766793596924423702975547672793076972024233049702228662674574015605411049723904000000000000, 111265533930447848523501852066023208461084552563500667691048800534516841326940013583647414038010991803730502923382991703275241114428526592000000000000, 3702495673753447773739822209238980686613794199407859210490708864746484110475087821946160493713375230896164748804208056313667176230912000000000000, 86379038420910523266932272383460301281545975888593748762307415737586508652132729540631751729827922709758185234673616419026726400000000000000, 1504552220456233976428589736519845879607486077607103681584843326735353937480716010446662674653740197459556607140607051418112000000000000, 20328835555486871241320394917138682751857690187151847161172791363606551751842027936882827017672366520320981944521311232000000000000, 218415495700693313533455749672409155713015595930244749537465291747725816256749348118469804485614460526117181707264000000000000, 1896780278576304742307353219996050135244792564196656338983457333570207380867552325593824495419489964933082112000000000000, 13454509238563133780545883785982315266811698341827645136439922451352312811040077781800754924080615607296000000000000, 78423017685477330603857011479264524592912705214550413778003177299413686687200228863134474502890624000000000000, 376445861679566553733757114961148166053453467522031622038624307811614179478475207320460137600000000000000, 1486105303393733522460450053298175239158979563128324072002504322353892558258361516917056000000000000, 4800163092974866370282467233577033996015188093988202915983857393814822536539693760000000000000, 12565477921662182591985262771106657905314349822056037367518901124436573537968000000000000, 26253533962748251411870231821014233760602679139477354548361790297441392000000000000, 42763287408077259875507286314148910279512481109363631618334127712000000000000, 52345256801739913889601019077447301238713446284274745973568000000000000, 45305506991313448251410722700770366460340775668258616400000000000, 24725315449732370881841499696642092045526378377141876000000, 6399835911555275647070089742207047615572668467285469] }]
/-- Relaxed contact data `capB` (generated). -/
def capB : Glue.Coerce.Contact1R where
Dq := Cert.tc_cap.Lam
Q := Cert.tc_cap.HB
p := 99516432383215
q := 140737488355328
s := 1606938044258990275541962092341162602522202993782792835301376
G := [14134776518227130154875496557487337897079831320175669235330531433379027882, -50918894616535578276190759481441371896738273580868608708937669524005112785, -172289935731956639809401918348431941786595725611878676361441375742698348210, 501348494809364628159500136630701490776548008629326947984048554572056657759, 1762607553133398842365923693184858731757468887334252364945271801185428015508, -2591044328314967441363161999039709810278816379028228089090345376131241790493, -10853795165892652797666957515999250755729042362407275115861346468471900406326, 6796447812768495020034612552473033956575272156112229305982218854661094838034, 40930847677341756070161837039348991957366755079442704792390994061415493891255, -5488041710531617006406480477014579134875341368207263456108474937735052012156, -97384221390489970130009314570910447846531069375704101233130772762240528175182, -16941780046440544984835808671286331601411710206517363441730557715211395687667, 146849852556144408596767462008194320666294248333237922024597483469304242069304, 55743644427074680324508253312476287434218135355293033545059965880137672485631, -136032869182544843674399713277811504583525329751881677362476789127977734656393, -71261131755857544896082019885684217958335263324944472037901708249287142147353, 70508820366710786442552016091722572890509935533119030106621930744448932956699, 44337087032234619766781304483864230340924711121610056896529511223589238472704, -15613421139216925700704711253632563898977704548944635898377321063239510917120, -11040355965061700033886132041039380201344775924060030095845468820413456842752]
R := [2484733551080715115810433578000602460623352581434881638516233804382449856395007019286, -6192000245156207830648096646606126400209510705172072278160054509979121284227082461967, 3885337784451458141838923813647037813284813678104279042497929951062523912908785963762, 17672654475726993555996892097, -6451323497313032668239841300, -2842118242697367497212757315, -4329807621513977222900940042, 3711213739786526486521761966, 4483194863417362760707691369, 9857214568157920645161508348, -22227887901471970286787380210, 15641151576488477283247704147, 2050535454027668521435083208, -13336225251668464287565997023, -1126166202796860805514550871, 12118484763222459473638897465, 1116707439931749251440842117, -8896753369993911989350432768, 3330278956850433979731410944]
g0n := 2857243563662596013557082535148112696054254694783109386710762956990844
g0d := 1
pieces := [
{ u1 := 0, u2 := 1, w1 := 1, w2 := 2, Lam := 1, β := [14131919274663467558861939474952189784383777065480886125943820670422037038, 486094037820676188960562940566741839909845254907405064076927515952032294659, 7660862641942574352509297341186976482449329938265777520262375859961790925522, 73031765391794265485908844919971271077771509717941692670141685867740814912775, 468086596029634004030564045067606056031135798987563071094397593187651012325684, 2119118763391933611163020825224213446341867583492305000014973627099807751874715, 6920736750297930669048207424863894342893498899556155153032674111797973390517614, 16330049364723679565273174132597323942042509802110202809119126089834210015021818, 27401422433383591180137188153169321798276715526295797943814775528747264011752183, 31804399991935374645932174969833507023564795766753162940470267779567379972944478, 26373567220941112477122476913584749108153087178729191256132820713009723178726822, 25224639503563176193227038281405721564610742425359796557591271429970926412877785, 45790849243134849914540757108246202102771979261658010304812872997073138312806792, 77772372939460992872639621739203764109991077455598851083662890945515333258383551, 88570650695888733364670973024023674196229211415689954664273952760659084464843211, 66312820464866884793003748491268398220893773151735260828470991217625446952012785, 32568697934385739977108924825874802138970195546454866624873982530847292294915531, 10140886465618085926122542681176871639526564225729617746726695513502810512375434, 1819720765192362165895486373931311702761058421363639642059055405769393554757268, 143616199150221355613905378359007505423619067709420097565128949116554626237160] },
{ u1 := 1, u2 := 2, w1 := 3, w2 := 4, Lam := 65536, β := [17952024893777669451738172294875938177952383463677512195641118639569328279645, 568335227647236617275204227325100550453021252088708284636779911013103323250448, 8132379214235987009697252454329796688357711575055364974657781365161788489338254, 69263860817309941395320531069120541543231039215412190712385516594412980325820662, 388674609908818018109345899617196924950784184071572855093154343845109227083039166, 1499331357104930628234329901813857241647552584723151365855416253125559356663407406, 4016490826708350834526699399929658256416112415473409290548615856897941241482503602, 7393759130807471217982017746421765499995956479499501233867568120756603622342695030, 9500485713214401862434010674577255806063453111560078999694235790345741541407779880, 11839711435875668465249097909021265223378734239428807572104565071395772610120658310, 27335595848703688252440481523112096121538120788841854573664362908668425064709117110, 71328037304783662533464401686121384428059527774498504335363057038236562115550622346, 132072557847641459755111051459395243981544572746609485613299429815302069988017777442, 166096061618492915202919642651959699512681390089860509037461639350093923096469085962, 145565174713580157896186773416255479731834555706742835443922580768956659515353460262, 92079441118434372915761399218814397179919889016566192349650602936211111992027023762, 43842798249991994639751508069415793717986757173314445157006300408021026563855213723, 15822076339662536028996902335360225382739319020627410619372697797065510519074912690, 3839524924977140669697597079132442909587152262092347358187082040213027281826790372, 442180252092255952272112589999185338547154480766999252952009100000366196558535160] },
{ u1 := 3, u2 := 4, w1 := 13, w2 := 16, Lam := 4294967296, β := [55272531511531994034014073749898167318394310095874906619001137500045774569816895, 4291009262351254265806937736457215167850671393585029289258337552451091763675907432, 157811799569644877441712682168014812511794409273101115546706865806435327704401899100, 3651935116010587798564244317219410769196230760940391409126448934706600277019031689252, 59564086799432988894056504264247764581915575063136678475832046996670801190101262174184, 726832264200191083130716089260444724056317499782330411997747888699636621837148063329252, 6873939846673856866708829895453166378111850094208746983079684316170307002734387882629836, 51500392918760334750992168991081544267435700105434107041454377239535887480587944720204468, 309800686023731034249457284207150519224720520806682881132247824413578445856134616045762702, 1507452985254562068261230607913308949791788215913727755346695799329987490078453266468879620, 5948951535444894600093517174912173568244899706211806137812890275658385741031644743679918180, 19009067066021112737777899017746589926568383893187660828709075619254656541940905989196043820, 48890209029040032508932675855636164029972664026722699285105190677409434638404487228683746160, 100120577674197585779551135879818639348944511961969024383551415089737144300163059447646780652, 160507635063151241972814180670612820034870960049928768806715286118259382686807548729282680548, 196354103711677267159665460449977695895965914784753472293872980156548536764184380943856232764, 176298644504791787226435838451518119844178307382571616240401237903646799033348279280590183259, 109109961467184696319059220902816051164748236366865535212464083572065866166269219821916125124, 41500786507798370942894300538193338653657204872540708384619555537510277312877927988120159504, 7331167362107652464148316841299256591181490580390318339716455738646528952701126485204075200] },
{ u1 := 13, u2 := 16, w1 := 7, w2 := 8, Lam := 281474976710656, β := [916395920263456558018539605162407073897686322548789792464556967330816119087640810650509400, 7036325858056081866628677363537399740641738910291828960671693494907936934445693405329638724, 24505143813550750337675530512309611277421057412842634386883283280806241539170512585654452194, 51718590778279847639825421038895566160651661910880646252001174492705775558283289180444387867, 77197414465535234921806726885205686569321376596022204319117312477373894057701713793427937400, 97892211723214413531980200702727996687031913272262909522876556215564873107514894511418094448, 129481469459717784644389819936798437160466046439419421106519031959426662505485659917078670720, 180647176582376596643330881905563775706674105497420128626072721521446487677004520873166336428, 226938313484122489559909711232848421781087441440476421488458894121699047135686603472392083176, 231144224913519949352825249310978576735707176305008285906090460887037850267944633658457541224, 185038936608913590206734104150323729920077156934363081399363807015971982110412018726912046196, 115994464408331440329942865810002625126846555646495500213351655375948753608070214244680933306, 56974641229481256475291215052332704915919530198870842228953083909508475295745999558304496744, 21866633369012764463742816164646391411717371386240555214188661682473922235669844205566281488, 6496410291726647684879277469308709253321878695807206669280849989315872347727588774049588624, 1466328527677615435874596165952390889194319696856030137684135315842096583777588449127213724, 243312790085218922627270331053744524919412036306844801253745183247160599672534237051526368, 28011644406068240533752013055227404816693038468482689283572675575885914356671421341569108, 2000118694152818999010816206368567545786240618879008138306939974327261502080957657878426, 66754875179485885984503043533907369543275062451234954360000292349882125120676127162211] },
{ u1 := 7, u2 := 8, w1 := 1, w2 := 1, Lam := 1, β := [34178496091896773624065558289360573206156831975032296632320149683139648061786177107052032, 115514188228984096134774865604105761163548028213848592653636908135425256307045221783526464, 181927902584358344938544975280065592570690929291734756600306935109459070440162140150214664, 177625432096718817968741546570954119544985052301038256680492575224347983684479071414831931, 120630734861299524627802391498767391532604153918488173558383961935514254075137481712021417, 60590222673137921535115391649212396786254445308941784961420139346120472314234277883449320, 23355575189314231729856980538244128847746162777642195414229554239138441814664040509778952, 7073371763168570056588483557476548816441329607263786256375230287959767734418813956209789, 1708474227096897682150641043495044032214990279965989058181130013116874677000383405537090, 332042781360734604569537835719470682505054324015014603641014388898097717973615328150823, 52135640590182554109516493257152171040291678845934488346835867051174818350747044060231, 6611402820117230567856938779702535925332256475299229144983563142767486935670203787339, 673945437757513923627317849881922522392186682630278611528477988788771200657299181051, 54690073654643791479671037644198374297205875924766617334176507105001808038447579634, 3476614119664941611067415251551730191514082638045111867515311611278104092509698981, 168831611300987924891280213210361181170976462406256422246458085147349409405895178, 6020969097859289879453320756842154540580445908186015208641971694349419198250805, 147714937489680610269088458129625430235281813791262064865287072619730524867312, 2207129871492300597976651217562789383213366122498110825708599460462413805082, 14918324792914275449878887122090553515071010956242854644204844009915327495] }]
piecesR := [
{ u1 := 0, u2 := 1, w1 := 1, w2 := 2, Lam := 1, β := [2484733551080715115810433578000602460623352581434881638516233804382449856395007019286, 83258407593749536338527512161415562182231182226483666708424362447789073545993170232329, 1314014262710538042775788987565407446107653229540401384356991164893831712362932278059916, 12976223297192377876676791383470905311260385865692636946274856052668467176133710110321441, 89833035463798741379435865651922747005356314716405785768963640633099111157874444000669450, 462869250039900285876800295064270616327406114992444765879890009026821378328432816252075761, 1839127908843168117530648848167246796915730011103500676680043586334142853376996585013881072, 5760109039767943178289781880524163562814481516092001628325991386627664206870327720804799974, 14411368086723273290847330864505282318979987749094166156403723584205816473515368481629747549, 29007896748647338513835513820120244934121147907776330130011175574869620609428782367912185128, 47067424839463723445731404940351734007453642389874206736801636759954732754549704876117774666, 61389242796492560764904383491530194405856988311283057649395654727271233283548081029792465779, 63852307946322331868430304738205055454050967804793348600837945902986297501595194384867724946, 52215293278349331457037833635531752181593500323197312733948313861484648386468036558023090493, 32811140161478891773057467587460387935071950988466893081613073032652150241529986431895334235, 15276762207091327367197827849027384955938274725952156742626969905673308855506942380209775673, 4959000997283169860982766297041254197472174234072799448480117763352049682928795245174254435, 1000676127333539917520526136108242848000083254874258970895913139145195479807938582140261232, 94389632923199271323858687258604002040820701167593785933794971877020839398573659451155468] },
{ u1 := 1, u2 := 2, w1 := 1, w2 := 1, Lam := 1, β := [94389632923199271323858687258604002040820701167593785933794971877020839398573659451155468, 698337265284046966308930234546629188734689366142429175912396354641179629366387287980537192, 2389120669862479775684201133767538093716326179852246191120225095067914954175609244816600095, 4997240897408567026003567195932520540914882509069943713187424435861905766710240483645629623, 7112336887271990920071815954723226897513470446261360508014335374749321650618442214817325660, 7242387548487254964312943278241720365866159374337630730150863853845157630933449547745944396, 5387530497501632427887947273728014093605424571275761995901886788951667675085515422051708743, 2924465347671861324362026027053153045411445077765471044460442829202812691163989013219021494, 1130813986818888171019552646834058652817858420681817261496277142443321886902606067629884039, 297514965744316467140606136671697837473782927031086707946035983415162231088654622500665057, 56177195271762267499877022781008770656305258721544445371605018583388755986949172116720835, 18032683187338768950800343834454143485008519942952943913369364699480865732934755751188765, 12103613567521260013700177402339254401806785056076095276115538307404110899254261725796492, 6113176220988571497563127373043730698925308480588620528934581694866556951484527551377247, 1995328960161873229582564172840653615263851925664219355324446643159538993757927903475712, 427979510958539569554891172173463398390034038443841744327418685225708927423505596684651, 59189884087154212063598966435663254820618046815521864162365494994686144707371025829152, 4831883929788046919015635840806550226791483306178696696268718997850887487479560841698, 178071090375965427001260745041513873698655554367088402864880399216006492277020413213] }]
/-- Relaxed contact data `capC` (generated). -/
def capC : Glue.Coerce.Contact2R where
Dq := Cert.tc_cap.Lam
Q := Cert.tc_cap.HC
p1 := 165446840199891
q1 := 281474976710656
p2 := 33462326346837
q2 := 35184372088832
s := 1606938044258990275541962092341162602522202993782792835301376
G := [4567192616659064565207375596310372691788896649, -2775389871167025506860849556654292053975904899, -66228926333360093084332320304769771251338071338, -36726124390425997450955554565051486066099711117, 494665945336253261825265300485632868509824819266, 746670369464906674358226701398524568306100741190, -1557158647455653546733274145731967487559542514424, -3958414052429971936879442411320465006369102663443, 1348314034767786567242672473151556382108991627670, 9504848098033785643805071680678742839312008710545, 3286319531038044742724682758587946451627954390713, -11160291266192137611279427994422809748720553769953, -8808837467377752997053670096398694124071288296300, 5413661212846226151217187387779474180235010418411, 7641996013102661822220482199571929829645914567751, 254518863789669326790426949796210761430801838259, -2343200557714410128443987374743392955400770533225, -761352013425342678636808048659483943127926964224]
R := [86036297928008664663301821971718389582051380377417714927289896840010541410073458497175, -459265148251999805426709238832364872244299307012798382938706274059679093199282624967389, 905380580979978180821054897484156713429957185035899054596526188506012676713540159046122, -780652673716676891023246367769807062784152589765867954560258570530629024085532690677779, 248661618204893321077691124073155564541360238164940687684576576497501583886760687973886, 140906252676326453266363396631423581129677713892120219258, 55550233974717637208410520790195988649967834017961016312, -146874521796170757723273058069032699992073851681459001421, 131820989072328559011450333864198777157585148182018730794, -123109836167601679081831341242139876377551511668793827441, 112929332898039660386151501723630848955328453692389924711, -80379704012661063564538613839861464042677899165842564927, 66764796020773841333814666282129259679339038687276659180, -73154337718168017425760870990448392638597716288657841291, 87224962417001896758614461256920399146120688054642541977, -113425800692339586522746674879411498931028004286506071379, 132404009946224287341997585443563606607841805025740319561, -121969925840651043028138299907914365629379233425790074880, 71312198047128090362867710259955497476032603327505104896, -14756845640053692606753727029465806114945415034768982016, -2304121637324211010276510100909859696940442515033554944]
g0n := 43785061443414541663713289352661989633065319
g0d := 1
pieces := [
{ u1 := 0, u2 := 1, w1 := 1, w2 := 2, Lam := 1, β := [4523407555215650023543662306957710702155831330, 151020467006165075293623668879907871819322360321, 2305692307826608703503872788867287504994205215414, 21251556047821735094803389998947741410213046232423, 131467798482176764863584989879799282469379046044910, 574054101221860061884931553027749328652941417507598, 1812207867001194649789451723956990189028966685493000, 4176057086483186710551271343013225061427481282378909, 7072186026080310452542709088351766669286055322260442, 9099307603750829918736732006427652051028739750646945, 10167233033250908733423048990365431388618044140612585, 12433946609696456139724106311457412046055762028456717, 16338931336537573985010208794044028235323450960780604, 17693116408086934011888539976809471515805464248070063, 13289537891283720640790922528778680562791741226738639, 6324422735913430746356746023241612613165143233412437, 1707124851221935365180213313647507219646503073166167, 198692430936421254466381418148481213739530651593890] },
{ u1 := 1, u2 := 2, w1 := 5, w2 := 8, Lam := 65536, β := [99346215468210627233190709074240606869765325796945, 6737303463575967949640996957662944364283549619574158, 213855989965988164871144837807100711011812148323144514, 4218559019953976948670918543739057094714147993346734994, 57902449608678597557802814426382308777182465147237033334, 586660212381863020298637035028171935358773605702876011946, 4541895722099056747011914232458997589777160179742052376154, 27434716318152760480201664298154877995137954750941411035130, 130846182411136224766960951110798194761628436007398188449960, 495353983319525321154116368397716807075771238071595338648798, 1487899598449051586315389219157101419579141133618869767183078, 3524164185660527559299810840464155671102616561741575871584630, 6498223792498544029462971856063033451913196731344822154282154, 9127481937139030978503280482627164867875125530512793903794990, 9426148356935422164919892945672892121382555416156884610576766, 6740547892570835454022456804399768117863811972556711311590014, 2978403448668305315900367552234099785198863223217845223514343, 612012228964954402889443957667623168505389851039759811564860] },
{ u1 := 5, u2 := 8, w1 := 3, w2 := 4, Lam := 4294967296, β := [306006114482477201444721978833811584252694925519879905782430, 2223700497533807108659906087940697147096950510620113174786967, 7443472176065685250121221894452315130912322244331566233361020, 15187587357271234035360971688201378118353100079450710015724596, 21059226162648814471460648200662355707028932911547039066115284, 20938680938702360023798940232637340394965763877853257008706992, 15352162628558101411767060690441774259952126971391635530278732, 8419285477841815538389868885762070401224503560129313073148180, 3489017059227094869924712381798939720191520306147653057073136, 1122383622446082001645005897490711949623302225483258775010534, 307962369762692808840788701742812127325721701049294018201908, 87114614591036390390965916545618980789452997424469644568508, 27210919252201585804919627685360623631557732106435202438636, 7727148429013174044366669752025769986059191413583073379976, 1643402295884330742900853781320576468838771477140364450052, 233582972455481958080858385540212372001829393422085725820, 19659627939128749388293715566280702904902103481253281458, 741379510379956590032012563146623074376965606351343563] },
{ u1 := 3, u2 := 4, w1 := 1, w2 := 1, Lam := 1, β := [2965518041519826360128050252586492297507862425405374252, 18150727090249036703338925154197073888323142442665240255, 49342338020592213410485853912551318900983582123993184237, 77947568808081939023019463486113798719397999981913565868, 79839508495673029754881059895375284262987361147205840748, 56040479161935893813920868457292252418187683789547883337, 27661547581486147044618987325345957614898866938110816932, 9634998530999056243842760910873767263892299166395935064, 2323559395602675450134286203506674881208497768894172158, 372496057682978482588659389165079627541754983037427544, 40567118226501389017865054147513541997479480987546392, 5828510308844370725291729444758127556514879349689531, 1770462344908530987580140313099086018472827593991009, 419176386683585440941467863818123972944085251669040, 58029124504406274924736889316829749606956331868888, 4400145941367846154332953897485462031766460664140, 148275639595516875377201165468761338530424694327, 533030744327825138800318053686777258164516212] }]
piecesR := [
{ u1 := 0, u2 := 1, w1 := 1, w2 := 2, Lam := 1, β := [86036297928008664663301821971718389582051380377417714927289896840010541410073458497175, 2982186768868346781105363640036370711037755908083910214152889599540742563203655714919611, 48840891372690570718715488520360267650505632605387023847666009372646218606796628868138340, 502326723940633692435978226962393974993902169116821964217723451939761465249162539051524537, 3637109772401313718720080131699320694811828748322303848268371579071120712541720820494962536, 19696835534349044770689492638436902371549279119211239784614319025425780989695764155968598426, 82734397764658652550265910003067547651907722147064956028910691999883379641838880727972689348, 275830656621846461280950104395501401681265559780120992720856536821519397927143105966040347835, 740758527285607466744893447616541184474587118817389153681662481033980248226189134124051056808, 1616890992744424347044334327793641894486925358020143166816297664968391320199411125285646216903, 2881355451507024619409941428589425923901899005482215317574188660077112491211815328725464291345, 4194599677846114127559644197915591793566225157214766222918445692822686351006569393687809354753, 4973047705261700351558736355152977901063161427394473838784511548230433236179616957982506987074, 4768087898573309508681684370660513593526448397533156529096729872220657651411791613540716050789, 3654166716463762242073053454445119493854362970720128343151123492716334780372055276529667822079, 2199197261755810871881634122670267940306504439289181594005880971260854392481868905872523223837, 1012350270741211112932205535103710577678295927005635158965098990796487875650648121395989612703, 342456166122160308245220294967305566826922254581438351757118377943280300123646017247327429856, 79796721841083803012052093944650757704512752702393208376933799668815644850365649937128663672, 11374087966835019905938647557335903608488039705370237653316701402429640994998753394640799664, 743058671114155033531070503899314692124790931282370072902173026047122864101704771628215536] },
{ u1 := 1, u2 := 2, w1 := 5, w2 := 8, Lam := 65536, β := [46441166944634689595691906493707168257799433205148129556385814127945179006356548226763471, 3222355698609091471326859704703728874718938357343533248973993737490812776260810648346247142, 105477428841119864949528139587907883299880024398780345353930237871091524677174820000049157158, 2164036190696284918798693853172887250888698822689515728396317504885560460774753392014348514742, 31182436502446230811387376512033614350859102389175936062913125096534747497278267124198636689298, 335089077686070965725493224871465158838056041911455852765835857448138013801128705248281437144366, 2782900003888438879083418750318758061740807518758491178372665254622682324781057227705055475666766, 18262803703914697376303853113345510415834413959701361878362372146740972905068124868633244024016558, 96009858571063939108000161903333574991515146773711164463857840142634675124807346980791944795274304, 407433330663200984522347203804001142294929859478547746404676951690101856980737747563601328529189794, 1399662807871202570315064162682114411086680621586429350944302204050489149514770655127420214592321650, 3887307108160595371361950249554889525568418135661320470985941807918625891296740603991866379859549666, 8683803601693700755441952711898636046072338321028526728593377808233844160775495368233261027378110318, 15470319581732163752072201375568797520064240197045016600903985965605096499495550624121979800887853050, 21744343061691077337041839229705333453197964070517625363835699683721077560092060395356127499799107002, 23893884683118700999242118500452649652517735920574960222447684093904918606786431900970390022674498362, 20577441647241510673479061842162792698906985686607824469157443420947807612172668433151970283431408881, 14302292262082932864287460822845300507822541064390592013441740895849908505809503924398269900402360016, 8356340341271917324005277904701307075095573269663909826434797294151304618944838624529744628593314400, 3845034174265543108352222794915469186447460710128665384144631944162244705531492639947309666873207552, 979251749209816661835120286996863973976318996386482561098072597219861180148581801880256148613730560] },
{ u1 := 5, u2 := 8, w1 := 3, w2 := 4, Lam := 4294967296, β := [61203234325613541364695017937303998373519937274155160068629537326241323759286362617516009288358160, 743435414729077938749872509381646319164466156717020028354511753504545886994290672356906477408012256, 4585743443303887307956843746338847141929962212949877582304810548138346493363323533585617463112511064, 18036467060955614740603578366941635869517064994828958104381882121203045037197820053279222337782225768, 49437881422871117883021900574904400916076481782879499094025206416498310643672343332276589775783645009, 99564740340115177424289723042701962614298847218615841826242163395865372184858225640972969901865055580, 152755011552818094500315203134143222350796277032089232139091847793543836434980572891898037284368758196, 183166735826890862297016206603340136202356123638696654003028583488956797637090805945600873342703661404, 174784178268426405333603602890844508422698323180857471744275117132126720192571783920867184994208540440, 134373327925205979681341133249997576428052364393308423608930432232597651899976072676042209451480038988, 83871740451720840153807391662202984719382969275496329141422790581898796271253345969582965496801800804, 42657666335078337470376870856036155105836021135407130656821756895733166490415002032375118333850076892, 17676305451181652016675119645463297635899171130969744951438016666449655933003063814462040150045748082, 5943072654768531862459063217411231648904043526575187162467553741738532734033007970791693922223775380, 1607232877061961953411042368906946394311356648585035424162338884463934070090367862078945380356199100, 344561927042685654064208744763355237394089388583899177532010444132438771209246117790474919819590740, 57229113390724003907133694710936344887895359084802411568408435526975176894775842253901604512563200, 7102079214991039643736779192025030449897656436017161179893390381917017348234646672701988639086820, 619856488318853727625376406752527223951109070939056476007462687370158403992192708243087936808276, 33941295965792164215213970801339288181667411763098549045841539618677504550694197417092928224524, 877276925236497067815142109315274171050467462655242478454293614327649652088331291111455651477] },
{ u1 := 3, u2 := 4, w1 := 1, w2 := 1, Lam := 1, β := [224582892860543249360676379984710187788919670439742074484299165267878310934612810524532646778112, 1196500451097450230636451568484938373207080703757823978330628943422814372774763523174042295302144, 2965538566769765653153169248084906081477855385326461096821392153693144794778719412310083072577248, 4548401686609202672677279336297656467237900767246340119130490847727653020416907551717393453918832, 4842274412659264432771595030682754684728280954797254626764702989270330586051107713665204909801285, 3802860760592677327653879963897224008316061425051799877357655267993678397889688181678024705952803, 2284604626993565209155040551144587737620589225147557015478398293838376180201215400878778071275284, 1073993504949438658676918321153035846217872977435421571714663936331869686674803231632957703147368, 400647994830270206294101235732247955080112431263781445842410540085569304053663533496982219539239, 119537572141685387111173946611664655128720062723333034010659488041126793262936098472994067812380, 28615191997924662892281523810777326780180343008374529408735739350469615955982003183193191012416, 5493592633623238476185696644630452879514631371607755718031765780242639242522944147127597741666, 843757713632767937807785416590884907791202959036024548653487305357800935466497710997422174520, 103561977692479910221939540920767094373674279719372514239880019460589632549000760341316000628, 10240717670785999292538336492273652795112475779147348411798839060546167291890695060225967513, 841902832642803194391824138654169067244008982057671505222842917729625538825570667048139263, 61082147943852217994406397578453616512329624157675012377217072550214533380703101867938992, 4048410821414696087837994052756572616346779639507880487337475522085683427047685909404232, 225825338747919848289490663540047183551088536298342419826851867842667359128774970136384, 8669546158778441510953005038810518991836489733071305246949113834212562796096837567497, 160675144203470112092236926981670206464477174297470789620651248595383936371792470405] }]
end Final
end ThomsonN7
end Asm_cap_ct
section Asm_cap_capspec
namespace ThomsonN7
namespace Final
end Final
end ThomsonN7
end Asm_cap_capspec
section Asm_s99_98_tc
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
end Cert
end ThomsonN7
end Asm_s99_98_tc
section Asm_s99_98_1d
namespace ThomsonN7
namespace SlabOneD
namespace Slab_s99_98
end Slab_s99_98
end SlabOneD
end ThomsonN7
end Asm_s99_98_1d
section Asm_s99_98_spec
namespace ThomsonN7
namespace Final
end Final
end ThomsonN7
end Asm_s99_98_spec
section Asm_s98_96_tc
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
end Cert
end ThomsonN7
end Asm_s98_96_tc
section Asm_s98_96_1d
namespace ThomsonN7
namespace SlabOneD
namespace Slab_s98_96
end Slab_s98_96
end SlabOneD
end ThomsonN7
end Asm_s98_96_1d
section Asm_s98_96_spec
namespace ThomsonN7
namespace Final
end Final
end ThomsonN7
end Asm_s98_96_spec
section Asm_s96_94_tc
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
end Cert
end ThomsonN7
end Asm_s96_94_tc
section Asm_s96_94_1d
namespace ThomsonN7
namespace SlabOneD
namespace Slab_s96_94
end Slab_s96_94
end SlabOneD
end ThomsonN7
end Asm_s96_94_1d
section Asm_s96_94_spec
namespace ThomsonN7
namespace Final
end Final
end ThomsonN7
end Asm_s96_94_spec
section Asm_s94_93_tc
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
end Cert
end ThomsonN7
end Asm_s94_93_tc
section Asm_s94_93_1d
namespace ThomsonN7
namespace SlabOneD
namespace Slab_s94_93
end Slab_s94_93
end SlabOneD
end ThomsonN7
end Asm_s94_93_1d
section Asm_s94_93_spec
namespace ThomsonN7
namespace Final
end Final
end ThomsonN7
end Asm_s94_93_spec
section Asm_s93_90_tc
namespace ThomsonN7
open Kron Kron.Ex
namespace Cert
open ThreePoint
end Cert
end ThomsonN7
end Asm_s93_90_tc
section Asm_s93_90_1d
namespace ThomsonN7
namespace SlabOneD
namespace Slab_s93_90
end Slab_s93_90
end SlabOneD
end ThomsonN7
end Asm_s93_90_1d
section Asm_s93_90_spec
namespace ThomsonN7
namespace Final
end Final
end ThomsonN7
end Asm_s93_90_spec
section Asm_Final
namespace ThomsonN7
namespace Final
end Final
end ThomsonN7
end Asm_Final
namespace ThomsonN7
end ThomsonN7