From 4162c3caefcb6c25876df4cebd258e99d797c382 Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:07:09 +0200 Subject: [PATCH 01/23] added CHANGELOG --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d94e3d6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] From 8dfabeac78f2508825841cbe8f555608dc106426 Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:12:33 +0200 Subject: [PATCH 02/23] added shell script to install dependencies --- install_dependencies.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 install_dependencies.sh diff --git a/install_dependencies.sh b/install_dependencies.sh new file mode 100644 index 0000000..40b915c --- /dev/null +++ b/install_dependencies.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +sudo apt update + +sudo apt install -y python3 +sudo apt install -y python3-pip +sudo apt install -y python3-dbg + +pip3 install numpy +pip3 install -U pip +pip3 install llvmlite==0.34.0 +pip3 install scipy +pip3 install numba +pip3 install pytest + +echo "INSTALLATION COMPLETE" From 3d097f3d2a6a811e1cd3558aca130f806b09480e Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:14:59 +0200 Subject: [PATCH 03/23] updated install_dependencies script --- install_dependencies.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/install_dependencies.sh b/install_dependencies.sh index 40b915c..2729edd 100644 --- a/install_dependencies.sh +++ b/install_dependencies.sh @@ -6,9 +6,10 @@ sudo apt install -y python3 sudo apt install -y python3-pip sudo apt install -y python3-dbg +pip3 install --upgrade pip setuptools wheel + pip3 install numpy -pip3 install -U pip -pip3 install llvmlite==0.34.0 +pip3 install llvmlite pip3 install scipy pip3 install numba pip3 install pytest From 03111b34698490ca46536b1b959ea8ad0cd80af5 Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:17:51 +0200 Subject: [PATCH 04/23] added main file for unit tests --- tests/unit/main.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 tests/unit/main.py diff --git a/tests/unit/main.py b/tests/unit/main.py new file mode 100644 index 0000000..7770ea9 --- /dev/null +++ b/tests/unit/main.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 + +import unittest + +if __name__ == '__main__': + unittest.main() From f0eacccb01fccfd53250238222c7dc96603aea9f Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:25:25 +0200 Subject: [PATCH 05/23] added circle ci file --- .circleci/config.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..bfbc37a --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,35 @@ +version: 2.1 + +commands: + set_up_build_environment: + steps: + - checkout + - run: + name: Installing SUDO + command: 'apt-get update && apt install -y sudo && rm -rf /var/lib/apt/lists/*' + - run: + name: Run INSTALL DEPENDENCIES + command: bash install_dependencies.sh + + run_unit_tests: + steps: + - run: + name: Run UNIT TESTS + command: cd tests/unit/ && python3 main.py -v + +executors: + docker-jammy: + docker: + - image: "ubuntu:jammy" + +jobs: + unit_tests: + executor: docker-jammy + steps: + - set_up_build_environment + - run_unit_tests + +workflows: + build-and-run-tests: + jobs: + - unit_tests From cd9a822c558e7e4341a39d9fddb93b908c4c1483 Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:39:57 +0200 Subject: [PATCH 06/23] added dummy files --- dsmc/__init__.py | 0 dsmc/dsmc.py | 6 ++++++ setup.py | 14 ++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 dsmc/__init__.py create mode 100644 dsmc/dsmc.py create mode 100644 setup.py diff --git a/dsmc/__init__.py b/dsmc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dsmc/dsmc.py b/dsmc/dsmc.py new file mode 100644 index 0000000..d4a8253 --- /dev/null +++ b/dsmc/dsmc.py @@ -0,0 +1,6 @@ +import math +import numpy +from numba import njit + +def test(): + return 1.0 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..6d1b41d --- /dev/null +++ b/setup.py @@ -0,0 +1,14 @@ +from setuptools import setup +setup( + name='dsmc', + version='0.1.0', + author='Leo Basov', + python_requires='>=3.6, <4', + packages=["dsmc"], + install_requires=[ + 'numpy', + 'llvmlite', + 'scipy', + 'numba' + ], +) From 86423ee1f9c667ac5879115e62c9b4263fdfd33c Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:45:51 +0200 Subject: [PATCH 07/23] extended dummmy file --- dsmc/dsmc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dsmc/dsmc.py b/dsmc/dsmc.py index d4a8253..b30dac7 100644 --- a/dsmc/dsmc.py +++ b/dsmc/dsmc.py @@ -2,5 +2,6 @@ import numpy from numba import njit +@njit def test(): return 1.0 From cd0b6ebf6616fab9267b63f79a3284acbe365f37 Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:51:09 +0200 Subject: [PATCH 08/23] extended unit tests --- tests/unit/main.py | 2 ++ tests/unit/test_dsmc/__init__.py | 0 tests/unit/test_dsmc/dsmc.py | 6 ++++++ 3 files changed, 8 insertions(+) create mode 100644 tests/unit/test_dsmc/__init__.py create mode 100644 tests/unit/test_dsmc/dsmc.py diff --git a/tests/unit/main.py b/tests/unit/main.py index 7770ea9..b6e29e3 100644 --- a/tests/unit/main.py +++ b/tests/unit/main.py @@ -2,5 +2,7 @@ import unittest +from test_dsmc.dsmc import * + if __name__ == '__main__': unittest.main() diff --git a/tests/unit/test_dsmc/__init__.py b/tests/unit/test_dsmc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/unit/test_dsmc/dsmc.py b/tests/unit/test_dsmc/dsmc.py new file mode 100644 index 0000000..128cccb --- /dev/null +++ b/tests/unit/test_dsmc/dsmc.py @@ -0,0 +1,6 @@ +import unittest +from dsmc import dsmc + +class TestDSMC(unittest.TestCase): + def test_test(self): + self.assertEqual(1.0, dsmc.test()) From a7c30dd704b6f307094b992074e3152cb59d0ac5 Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:52:16 +0200 Subject: [PATCH 09/23] updated circle CI script --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index bfbc37a..ec2d4b1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,6 +10,9 @@ commands: - run: name: Run INSTALL DEPENDENCIES command: bash install_dependencies.sh + - run: + name: Install DSMC + command: pip3 install . run_unit_tests: steps: From fca47eb46679d085bc679661e6945b749d3722c0 Mon Sep 17 00:00:00 2001 From: Leo Basov Date: Thu, 15 Sep 2022 19:57:50 +0200 Subject: [PATCH 10/23] updated CHANGELOG --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d94e3d6..5f8b451 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,3 +5,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [0.1.0] - 2022-09-15 +### Added +- unit test environment +- cirlce ci integration +- dependency installation script +- dsmc module installation file From c6e277ec1b3adbce7decf5a20686ca08b812d5df Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Sun, 18 Sep 2022 19:26:54 +0200 Subject: [PATCH 11/23] Implemented Particle Module (#9) --- CHANGELOG.md | 4 + dsmc/particles.py | 134 ++++++++++++++++++++++++++++++ tests/unit/main.py | 1 + tests/unit/test_dsmc/particles.py | 65 +++++++++++++++ 4 files changed, 204 insertions(+) create mode 100644 dsmc/particles.py create mode 100644 tests/unit/test_dsmc/particles.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f8b451..4772e1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.0] - 2022-09-15 +### Added +- particle module + ## [0.1.0] - 2022-09-15 ### Added - unit test environment diff --git a/dsmc/particles.py b/dsmc/particles.py new file mode 100644 index 0000000..852ff0c --- /dev/null +++ b/dsmc/particles.py @@ -0,0 +1,134 @@ +import math +import numpy as np +from numba import njit + +kb = 1.380649e-23 + +@njit +def box_muller(T): + """ + Parameters + ---------- + T : float + temperature [K] + + Returns + ------- + x : float + m * v^2 / (2 * kb) + """ + r1 = np.random.random() + r2 = np.random.random() + r3 = np.random.random() + + return T*(-np.log(r1) - np.log(r2) * math.pow(np.cos((np.pi/2.0)*r3), 2)) + +@njit +def x2velocity(x, mass): + """ + Parameters + ---------- + x : float + m * v^2 / (2 * kb) + mass : float + particle mass [kg] + + Returns + ------- + speed of particle : float + """ + return math.sqrt((2.0/3.0) * x * kb /mass) + +@njit +def get_vel(T, mass): + """ + Parameters + ---------- + T : float + temperature [K] + mass : float + particle mass [kg] + + Returns + ------- + velocity : np.array, shape = (3, 1) + """ + return np.array([(-1)**(int(2*np.random.random())) * x2velocity(box_muller(T), mass) for _ in range(3)]) + +@njit +def get_velocities(T, mass, N): + velocities = np.empty((N, 3), dtype=float) + + for i in range(N): + velocities[i] = get_vel(T, mass) + + return velocities + +@njit +def calc_temperature(velocities, mass): + tot_e = 0.0 + + if not len(velocities): + return 0.0 + + for i in range(len(velocities)): + tot_e += 0.5 * mass * np.dot(velocities[i], velocities[i]) + + return tot_e / ((3.0/2.0) * len(velocities) * kb) + +@njit +def calc_positions(x, y, z, N): + """ + Parameters + ---------- + x : tuple(2), dtype = float + xmin, xmax + y : tuple(2), dtype = float + ymin, ymax + z : tuple(2), dtype = float + zmin, zmax + """ + positions = np.empty((N, 3), dtype=float) + + for i in range(N): + positions[i][0] = x[0] + np.random.random() * (x[1] - x[0]) + positions[i][1] = y[0] + np.random.random() * (y[1] - y[0]) + positions[i][2] = z[0] + np.random.random() * (z[1] - z[0]) + + return positions + +class Particles: + def __init__(self): + self._velocities = None + self._positions = None + self._N = 0 # number of particles + + @property + def Vel(self): + return self._velocities + + @property + def Pos(self): + return self._positions + + @property + def N(self): + return self._N + + @property + def VelPos(self): + return (self._velocities, self._positions) + + @VelPos.setter + def VelPos(self, vel_pos): + assert vel_pos[0] == vel_pos[1] + assert isinstance(vel_pos[0], np.array) + assert isinstance(vel_pos[1], np.array) + self._velocities = vel_pos[0] + self._positions = vel_pos[1] + self._N = len(self._positions) + + def create_particles(self, X, mass, T, N): + self._velocities = get_velocities(T, mass, N) + self._positions = calc_positions(X[0], X[1], X[2], N) + self._N = N diff --git a/tests/unit/main.py b/tests/unit/main.py index b6e29e3..d5c2891 100644 --- a/tests/unit/main.py +++ b/tests/unit/main.py @@ -3,6 +3,7 @@ import unittest from test_dsmc.dsmc import * +from test_dsmc.particles import * if __name__ == '__main__': unittest.main() diff --git a/tests/unit/test_dsmc/particles.py b/tests/unit/test_dsmc/particles.py new file mode 100644 index 0000000..e27497f --- /dev/null +++ b/tests/unit/test_dsmc/particles.py @@ -0,0 +1,65 @@ +import unittest +from dsmc import particles as pa + +class TestParticles(unittest.TestCase): + def test_box_muller(self): + T = 300 + result = pa.box_muller(T) + + def test_x2velocity(self): + x = 1.0 + mass = 1.0e-26 + result = pa.x2velocity(x, mass) + + def test_get_vel(self): + T = 300 + mass = 1.0e-26 + result = pa.get_vel(T, mass) + + def test_get_velocities(self): + T = 300 + mass = 1.0e-26 + N = 1000 + velocities = pa.get_velocities(T, mass, N) + + self.assertEqual(N, len(velocities)) + + def test_calc_temperature(self): + T = 300 + mass = 1.0e-26 + N = 10000 + velocities = pa.get_velocities(T, mass, N) + T_new = pa.calc_temperature(velocities, mass) + diff = abs((T_new - T)/T) + + self.assertTrue(diff < 0.1) + + def test_calc_positions(self): + x = (-1.0, 1.0) + y = (2.0, 3.0) + z = (-2.0, -1.0) + N = 1000 + positions = pa.calc_positions(x, y, z, N) + + self.assertEqual(N, len(positions)) + + def test_create_particles(self): + x = (-1.0, 1.0) + y = (2.0, 3.0) + z = (-2.0, -1.0) + X = (x, y, z) + N = 1000 + mass = 1.0e-26 + T = 300 + particles = pa.Particles() + + particles.create_particles(X, mass, T, N) + + self.assertEqual(N, len(particles.Pos)) + self.assertEqual(N, len(particles.Vel)) + self.assertEqual(N, particles.N) + + for i in range(N): + self.assertTrue(particles.Pos[i][0] >= x[0] and particles.Pos[i][0] <= x[1]) + self.assertTrue(particles.Pos[i][1] >= y[0] and particles.Pos[i][1] <= y[1]) + self.assertTrue(particles.Pos[i][2] >= z[0] and particles.Pos[i][2] <= z[1]) From 5067c0ee38eaf9d769d75abce767f8876e0fb413 Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Thu, 22 Sep 2022 14:51:16 +0200 Subject: [PATCH 12/23] implemented octree (#10) --- CHANGELOG.md | 4 + doc/octree_resolution.ipynb | 68 +++++++++++ dsmc/octree.py | 207 +++++++++++++++++++++++++++++++++ setup.py | 2 +- tests/unit/main.py | 1 + tests/unit/test_dsmc/octree.py | 104 +++++++++++++++++ 6 files changed, 385 insertions(+), 1 deletion(-) create mode 100644 doc/octree_resolution.ipynb create mode 100644 dsmc/octree.py create mode 100644 tests/unit/test_dsmc/octree.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 4772e1f..0af8d15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0] - 2022-09-22 +### Added +- octree module + ## [0.2.0] - 2022-09-15 ### Added - particle module diff --git a/doc/octree_resolution.ipynb b/doc/octree_resolution.ipynb new file mode 100644 index 0000000..a4cfe8b --- /dev/null +++ b/doc/octree_resolution.ipynb @@ -0,0 +1,68 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "9db716f6-c301-4d2e-b06f-19cd98de2e5f", + "metadata": {}, + "outputs": [], + "source": [ + "import math" + ] + }, + { + "cell_type": "markdown", + "id": "772d42fa-dc37-48e9-a599-392077582e98", + "metadata": {}, + "source": [ + "The mean free path can be written as\n", + "$$\n", + "\\lambda = \\frac{1}{\\sqrt{2} \\cdot n_{c} \\cdot \\sigma_T}\n", + "$$\n", + "where $n_c$ is the number density in the cell and $\\sigma_T$ is the total cross section.\n", + "The number of particles in cell $N_{c}$ can be calculated as (asuming cubic cells)\n", + "$$\n", + "N_{c} = \\frac{1}{w} \\cdot L_c^3 \\cdot n_c\n", + "$$\n", + "where $L_C$ is the side length of the cell and $w$ being the particle weight.\n", + "Assuming that the cell side fullfills the criteria\n", + "$$\n", + "\\frac{L_c}{\\lambda} \\leq \\frac{1}{2}.\n", + "$$\n", + "This leads to the criterium\n", + "$$\n", + "N \\leq \\frac{\\sqrt{2}}{32 \\cdot w \\cdot \\sigma^2_T \\cdot n^3_c}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f03b0f7-64a9-48e5-989c-2e253ce09c1d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dsmc/octree.py b/dsmc/octree.py new file mode 100644 index 0000000..81b18ac --- /dev/null +++ b/dsmc/octree.py @@ -0,0 +1,207 @@ +import math +import numpy as np +import numpy.typing as npt +from numba import njit + +fmin = np.finfo(float).min +fmax = np.finfo(float).max + +@njit +def _find_bounding_box(positions : npt.NDArray) -> npt.NDArray: + box = np.array([[fmax, fmin], [fmax, fmin], [fmax, fmin]]) + + for pos in positions: + for i in range(3): + if pos[i] < box[i][0]: + box[i][0] = pos[i] + if pos[i] > box[i][1]: + box[i][1] = pos[i] + + return box + +@njit +def _calc_N_res(w : float, sigma_T : float, n : float) -> int: + """ + Parameters + ---------- + w : float + particle weight + sigma_t : float + total cross section [m^2] + n : float + number density [1/m^3] + """ + + return int(round(np.sqrt(2.0) / (32.0 * w * sigma_T**3 * n**2))) + +@njit +def _calc_n(box : npt.NDArray, N : float, w : float) -> float: + """Calculates number density in cell + + Parameters + ---------- + box : np.array(3, 3) + cell + N : int + number of particles in cell + w : float + particle weight + + Returns + ------- + number density : float + """ + return np.prod(np.array([box[i][1] - box[i][0] for i in range(3)])) * N / w + +@njit +def _is_resolved(box : npt.NDArray, N : int, w : float, sigma_T : float, Nmin : int, Nmax : int) -> bool: + if N == 0: + return False + + n = _calc_n(box, N, w) + Nres = _calc_N_res(w, sigma_T, n) + + return N > 2 * min(Nmin, max(Nmin, Nres)) + +@njit +def _is_inside(position : npt.NDArray, box : npt.NDArray) -> bool: + a : bool = position[0] > box[0][0] and position[0] <= box[0][1] + b : bool = position[1] > box[1][0] and position[1] <= box[1][1] + c : bool = position[2] > box[2][0] and position[2] <= box[2][1] + + return a and b and c + +@njit +def _swap(arr, pos1, pos2): + temp = arr[pos2] + arr[pos2] = arr[pos1] + arr[pos1] = temp + +@njit +def _sort(permutations : npt.NDArray, box : npt.NDArray, positions : npt.NDArray, offset : int, N : int) -> tuple[npt.NDArray, int]: + '''sort particles in cell + + Parameters + ---------- + box : np.ndarray + cell + positions : ndarray((3, )) + particle positions + offset : int + number offset + N : int + number of particles to be considered + + Returns + ------- + new_permutations : ndarray[int] + N : int + number of found positions + ''' + new_permutations = np.copy(permutations) + temp = np.empty((3,)) + runner = offset + Nnew = 0 + for i in range(offset, offset + N): + p = permutations[i] + if _is_inside(positions[p], box): + _swap(new_permutations, i, runner) + runner += 1 + Nnew += 1 + + return new_permutations, Nnew + +class Leaf: + def __init__(self): + self.level = 0 + self.elem_offset = 0 + self.number_elements = 0 + self.id_parent = None + self.id_first_child = None + self.number_children = 0 + +class Octree: + def __init__(self): + self.clear() + + def clear(self): + self.cell_boxes = [] + self.leafs = [] + self.sigma_T = 3.631681e-19 + self.w = 1.0 + self.Nmin = 8 + self.Nmax = 64 + self.max_level = 10 + self.permutations = [] + self.cell_offsets = [] + self.level = 0 + + def build(self, positions): + self._create_root(positions) + self.permutations = np.array([i for i in range(len(positions))]) + + for level in range(self.max_level): + self.level += 1 + self.cell_offsets.append(self.cell_offsets[-1]) + for i in range(self.cell_offsets[level], self.cell_offsets[level + 1]): + self._progress(i, positions) + + if self.cell_offsets[level + 1] == self.cell_offsets[level + 2]: + break + + def _create_root(self, positions): + box = _find_bounding_box(positions) + leaf = Leaf() + leaf.number_elements = len(positions) + + self.cell_offsets += [0, 1] + self.leafs.append(leaf) + self.cell_boxes.append(box) + + def _progress(self, leaf_id, positions): + leaf = self.leafs[leaf_id] + if _is_resolved(self.cell_boxes[leaf_id], leaf.number_elements, self.w, self.sigma_T, self.Nmin, self.Nmax): + leaf.number_children = 8 + leaf.id_first_child = leaf_id + 1 + self.cell_offsets[-1] += 8 + self._add_boxes(self.cell_boxes[leaf_id]) + else: + pass + + offset = 0 + + for i in range(leaf.number_children): + new_leaf = Leaf() + new_leaf.level = leaf.level + 1 + new_leaf.id_parent = leaf_id + + self.permutations, N = _sort(self.permutations, self.cell_boxes[leaf_id + 1 + i], positions, leaf.elem_offset, leaf.number_elements) + + new_leaf.number_elements = N + new_leaf.elem_offset = leaf.elem_offset + offset + offset += N + + self.leafs.append(new_leaf) + + def _add_boxes(self, box): + half = np.array([0.5*(box[i][0] + box[i][1]) for i in range(3)]) + + child_geo1 = np.array(((half[0], box[0][1]), (half[1], box[1][1]), (half[2], box[2][1]))) + child_geo2 = np.array(((box[0][0], half[0]), (half[1], box[1][1]), (half[2], box[2][1]))) + child_geo3 = np.array(((box[0][0], half[0]), (box[1][0], half[1]), (half[2], box[2][1]))) + child_geo4 = np.array(((half[0], box[0][1]), (box[1][0], half[1]), (half[2], box[2][1]))) + + child_geo5 = np.array(((half[0], box[0][1]), (half[1], box[1][1]), (box[2][0], half[2]))) + child_geo6 = np.array(((box[0][0], half[0]), (half[1], box[1][1]), (box[2][0], half[2]))) + child_geo7 = np.array(((box[0][0], half[0]), (box[1][0], half[1]), (box[2][0], half[2]))) + child_geo8 = np.array(((half[0], box[0][1]), (box[1][0], half[1]), (box[2][0], half[2]))) + + self.cell_boxes.append(child_geo1) + self.cell_boxes.append(child_geo2) + self.cell_boxes.append(child_geo3) + self.cell_boxes.append(child_geo4) + + self.cell_boxes.append(child_geo5) + self.cell_boxes.append(child_geo6) + self.cell_boxes.append(child_geo7) + self.cell_boxes.append(child_geo8) diff --git a/setup.py b/setup.py index 6d1b41d..13e9750 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup( name='dsmc', - version='0.1.0', + version='0.3.0', author='Leo Basov', python_requires='>=3.6, <4', packages=["dsmc"], diff --git a/tests/unit/main.py b/tests/unit/main.py index d5c2891..da2edd5 100644 --- a/tests/unit/main.py +++ b/tests/unit/main.py @@ -4,6 +4,7 @@ from test_dsmc.dsmc import * from test_dsmc.particles import * +from test_dsmc.octree import * if __name__ == '__main__': unittest.main() diff --git a/tests/unit/test_dsmc/octree.py b/tests/unit/test_dsmc/octree.py new file mode 100644 index 0000000..1ad85f1 --- /dev/null +++ b/tests/unit/test_dsmc/octree.py @@ -0,0 +1,104 @@ +import unittest +import numpy as np +from dsmc import octree as oc +from dsmc import particles as part + +class TestOctree(unittest.TestCase): + def test__find_bounding_box(self): + positions = np.array([(0.0, 0.0, -1.0), (-2.0, -3.0, 0.0), (4.0, 5.0, 0.0)]) + box = oc._find_bounding_box(positions) + + self.assertEqual(-2.0, box[0][0]) + self.assertEqual(4.0, box[0][1]) + + self.assertEqual(-3.0, box[1][0]) + self.assertEqual(5.0, box[1][1]) + + self.assertEqual(-1.0, box[2][0]) + self.assertEqual(0.0, box[2][1]) + + def test__calc_N_res(self): + w = 1.0e+9 + sigma_T = 1.0e-16 + n = 1.0e+17 + ref = int(round(np.sqrt(2) / (32.0 * w * sigma_T**3 * n**2))) + N = oc._calc_N_res(w, sigma_T, n) + + self.assertEqual(ref, N) + + def test__calc_n(self): + box = ((0, 1), (2, 4), (4, 7)) + N = 300 + w = 100 + res = oc._calc_n(box, N, w) + + self.assertEqual(18.0, res) + + def test__is_inside(self): + box = [[2.0, 3.0], [4.0, 6.0], [-1.0, 1.0]] + box = np.array(box) + position1 = np.array([2.5, 5.0, 0.0]) + position2 = np.array([0.0, 0.0, 0.0]) + position3 = np.array([2.5, 6.0, 0.5]) + + self.assertTrue(oc._is_inside(position1, box)) + self.assertFalse(oc._is_inside(position2, box)) + self.assertTrue(oc._is_inside(position3, box)) + + def test_sort(self): + box = np.array([[0.0, 1.0], [0.0, 1.0], [0.0, 1.0]]) + positions1 = np.random.random((100, 3)) + positions2 = np.random.random((200, 3)) - np.ones((200, 3))*2 + positions = np.concatenate((positions2, positions1, positions2)) + permutations1 = np.array([i for i in range(len(positions2))]) + permutations2 = np.array([i for i in range(len(positions2), len(positions))]) + np.random.shuffle(permutations2) + permutations = np.concatenate((permutations1, permutations2)) + offset = len(positions2) + N = len(positions1) + len(positions2) + count = 0 + + for position in positions1: + self.assertTrue(oc._is_inside(position, box)) + + for position in positions2: + self.assertFalse(oc._is_inside(position, box)) + + for position in positions: + if oc._is_inside(position, box): + count += 1 + + self.assertEqual(len(positions1), count) + + self.assertEqual(len(positions2), len(permutations1)) + self.assertEqual(len(positions1) + len(positions2), len(permutations2)) + self.assertEqual(len(positions), len(permutations)) + + permutations, Nnew = oc._sort(permutations, box, positions, offset, N) + + self.assertEqual(Nnew, len(positions1)) + + for i in range(offset, offset + Nnew): + p = permutations[i] + self.assertTrue(oc._is_inside(positions[p], box)) + + for i in range(offset + Nnew, len(permutations)): + p = permutations[i] + self.assertFalse(oc._is_inside(positions[p], box)) + + +class TestOctreeOctree(unittest.TestCase): + def test_build(self): + positions = np.random.random((1000, 3))*2.0 - np.ones((1000, 3)) + octree = oc.Octree() + octree.w = 1e+18 + + octree.build(positions) + + def test__add_boxes(self): + octree = oc.Octree() + box = np.array([[-1.0, 1.0], [-1.0, 1.0], [-1.0, 1.0]]) + + octree._add_boxes(box) + + self.assertEqual(8, len(octree.cell_boxes)) From a8edf3a0a3515d84583e465226ab1ab5ec6b7d11 Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Fri, 23 Sep 2022 10:42:58 +0200 Subject: [PATCH 13/23] implemented solver (#11) --- CHANGELOG.md | 4 + dsmc/__init__.py | 1 + dsmc/dsmc.py | 143 +++++++++++++++++++++++++++++- dsmc/octree.py | 5 ++ dsmc/particles.py | 20 +++-- examples/plot.py | 38 ++++++++ examples/shock_tube.py | 40 +++++++++ setup.py | 2 +- tests/unit/test_dsmc/dsmc.py | 39 +++++++- tests/unit/test_dsmc/particles.py | 11 +++ 10 files changed, 288 insertions(+), 15 deletions(-) create mode 100644 examples/plot.py create mode 100644 examples/shock_tube.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 0af8d15..74f67f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0] - 2022-09-23 +### Added +- dsmc module + ## [0.3.0] - 2022-09-22 ### Added - octree module diff --git a/dsmc/__init__.py b/dsmc/__init__.py index e69de29..9ebec8a 100644 --- a/dsmc/__init__.py +++ b/dsmc/__init__.py @@ -0,0 +1 @@ +from .dsmc import DSMC diff --git a/dsmc/dsmc.py b/dsmc/dsmc.py index b30dac7..5af06e9 100644 --- a/dsmc/dsmc.py +++ b/dsmc/dsmc.py @@ -1,7 +1,144 @@ import math -import numpy +import numpy as np from numba import njit +from . import particles as prt +from . import octree as oc @njit -def test(): - return 1.0 +def _push(velocities, positions, dt): + return positions + velocities*dt + +@njit +def _boundary(velocities, positions, domain): + for p in range(len(positions)): + while not oc._is_inside(positions[p], domain): + for i in range(3): + if positions[p][i] < domain[i][0]: + positions[p][i] = 2.0 * domain[i][0] - positions[p][i] + velocities[p][i] *= -1.0 + if positions[p][i] > domain[i][1]: + positions[p][i] = 2.0 * domain[i][1] - positions[p][i] + velocities[p][i] *= -1.0 + + return (velocities, positions) + +@njit +def _calc_prob(vel1 : np.ndarray, vel2 : np.ndarray, sigma_T : float, Vc : float, dt : float, w : float, N : int) -> np.single: + """ + Parameters + ---------- + vel1 : velocity + vel2 : velocity + sigma_T : float + total cross section + Vc : float + cell volume + w : float + weight + N : int + number of particles + + Returns + ------- + collision proability : float + """ + return np.linalg.norm(vel1 - vel2) * sigma_T * dt * w * N / Vc; + +@njit +def _calc_post_col_vels(velocity1 : np.ndarray, velocity2 : np.ndarray, mass1 : float, mass2 : float, rel_vel_module : float, rand_number1 : float, rand_number2 : float) -> tuple[np.ndarray, np.ndarray]: + mass12 = (mass1 + mass2) + mass1_12 = (mass1 / mass12) + mass2_12 = (mass2 / mass12) + + cos_xi = (2.0 * rand_number1 - 1.0) + sin_xi = (np.sqrt(1.0 - cos_xi * cos_xi)) + epsilon = (2.0 * np.pi * rand_number2) + + centre_of_mass_velocity = (velocity1 * mass1 + velocity2 * mass2) * (1.0 / mass12) + + rel_velocity_new = np.empty((3, )) + + rel_velocity_new[0] = rel_vel_module * cos_xi + rel_velocity_new[1] = rel_vel_module * sin_xi * np.cos(epsilon) + rel_velocity_new[2] = rel_vel_module * sin_xi * np.sin(epsilon) + + return (centre_of_mass_velocity + rel_velocity_new * mass2_12 , centre_of_mass_velocity - rel_velocity_new * mass1_12) + +@njit +def _update_velocities(permutations : np.ndarray, velocities : np.ndarray, mass : float, sigma_T : float, Vc : float, dt : float, w : float, offset : int, N : int) -> np.ndarray: + i = 1 + while i < N: + p1 = permutations[offset + i - 1] + p2 = permutations[offset + i] + P = _calc_prob(velocities[p1], velocities[p2], sigma_T, Vc, dt, w, N) + R = np.random.random(3) + + if R[0] < P: + new_vels = _calc_post_col_vels(velocities[p1], velocities[p2], mass, mass, np.linalg.norm(velocities[p1] - velocities[p2]), R[1], R[2]) + velocities[p1] = new_vels[0] + velocities[p2] = new_vels[1] + + i += 2 + + return velocities + +@njit +def _update_vels(permutations : np.ndarray, velocities : np.ndarray, mass : float, sigma_T : float, dt : float, w : float, elem_offsets : np.ndarray, number_elements : np.ndarray, number_children : np.ndarray, cell_boxes : np.ndarray, Nleafs : int) -> np.ndarray: + for i in range(Nleafs): + if not number_children[i]: + Vc = oc.get_V(cell_boxes[i]) + velocities = _update_velocities(permutations, velocities, mass, sigma_T, Vc, dt, w, elem_offsets[i], number_elements[i]) + + return velocities + +class DSMC: + def __init__(self): + self.clear() + + def clear(self): + self.particles = prt.Particles() + self.octree = oc.Octree() + self.w = None + self.domain = None + self.sigma_T = 3.631681e-19 + self.mass = None + + def advance(self, dt): + if self.domain is None: + raise Exception("simulation domain not defined") + if self.particles.N == 0: + raise Exception("no particles created") + if self.w == None: + raise Exception("particle weight not set") + + self.octree.build(self.particles.Pos) + + self.particles.VelPos = (self._update_velocities(dt), self.particles.Pos) + positions = _push(self.particles.Vel, self.particles.Pos, dt) + self.particles.VelPos = _boundary(self.particles.Vel, positions, self.domain) + + def _update_velocities(self, dt): + Nleafs : int = len(self.octree.leafs) + elem_offsets : np.ndarray = np.array([leaf.elem_offset for leaf in self.octree.leafs], dtype=int) + number_elements : np.ndarray = np.array([leaf.number_elements for leaf in self.octree.leafs], dtype=int) + number_children : np.ndarray = np.array([leaf.number_children for leaf in self.octree.leafs], dtype=int) + cell_boxes : np.ndarray = np.array([box for box in self.octree.cell_boxes]) + + return _update_vels(self.octree.permutations, self.particles.Vel, self.mass, self.sigma_T, dt, self.w, elem_offsets, number_elements, number_children, cell_boxes, Nleafs) + + def create_particles(self, box, T, n): + N = int(round(n / self.w)) + print("creating {} particles".format(N)) + self.particles.create_particles(box, self.mass, T, N) + + print("now containing {} particles, {} total".format(N, self.particles.N)) + + def set_domain(self, domain): + self.domain = np.array(domain) + + def set_mass(self, mass): + self.mass = mass + + def set_weight(self, w): + self.octree.w = w + self.w = w diff --git a/dsmc/octree.py b/dsmc/octree.py index 81b18ac..09b3c33 100644 --- a/dsmc/octree.py +++ b/dsmc/octree.py @@ -110,6 +110,10 @@ def _sort(permutations : npt.NDArray, box : npt.NDArray, positions : npt.NDArray Nnew += 1 return new_permutations, Nnew + +@njit +def get_V(box): + return (box[0][1] - box[0][0]) * (box[1][1] - box[1][0]) * (box[2][1] - box[2][0]) class Leaf: def __init__(self): @@ -137,6 +141,7 @@ def clear(self): self.level = 0 def build(self, positions): + self.clear() self._create_root(positions) self.permutations = np.array([i for i in range(len(positions))]) diff --git a/dsmc/particles.py b/dsmc/particles.py index 852ff0c..9ca72eb 100644 --- a/dsmc/particles.py +++ b/dsmc/particles.py @@ -121,14 +121,18 @@ def VelPos(self): @VelPos.setter def VelPos(self, vel_pos): - assert vel_pos[0] == vel_pos[1] - assert isinstance(vel_pos[0], np.array) - assert isinstance(vel_pos[1], np.array) + assert len(vel_pos[0]) == len(vel_pos[1]) + self._velocities = vel_pos[0] self._positions = vel_pos[1] self._N = len(self._positions) - - def create_particles(self, X, mass, T, N): - self._velocities = get_velocities(T, mass, N) - self._positions = calc_positions(X[0], X[1], X[2], N) - self._N = N + + def create_particles(self, X, mass, T, N): + if self._N == 0: + self._velocities = get_velocities(T, mass, N) + self._positions = calc_positions(X[0], X[1], X[2], N) + self._N = N + else: + self._velocities = np.concatenate((self._velocities, get_velocities(T, mass, N))) + self._positions = np.concatenate((self._positions, calc_positions(X[0], X[1], X[2], N))) + self._N += N diff --git a/examples/plot.py b/examples/plot.py new file mode 100644 index 0000000..b4e91ae --- /dev/null +++ b/examples/plot.py @@ -0,0 +1,38 @@ +import matplotlib.pyplot as plt +import csv +import numpy as np + +if __name__ == '__main__': + res = [] + + with open('test.csv') as file: + reader = csv.reader(file, delimiter=',') + res = [] + + for line in reader: + l = [m for m in line if m] + data = (np.array(l)).astype(float) + data = np.sort(data) + + N = 100 + sor = np.zeros((N, )) + x = np.zeros((N, )) + dx = 0.05/N + x[0] = dx + q = 0 + + for i in range(len(data)): + while data[i] > x[q]: + q += 1 + x[q] = x[q - 1] + dx + + sor[q] += 1 + + + x.resize(q) + sor.resize(q) + + res.append((x, sor)) + + plt.plot(res[-1][0], res[-1][1]) + plt.show() diff --git a/examples/shock_tube.py b/examples/shock_tube.py new file mode 100644 index 0000000..9b61c08 --- /dev/null +++ b/examples/shock_tube.py @@ -0,0 +1,40 @@ +import dsmc + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + domain = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (0, 50e-3)) + dt = 1e-7 + w = 2.4134e+15 + mass = 6.6422e-26 + niter = 300 + + # low denisty particles + nhigh = 2.5e+20 + Thigh = 300 + Boxhigh = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (25e-3, 50e-3)) + + # high denisty particles + nlow = 2.5e+19 + Tlow = 300 + Boxlow = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (0, 25e-3)) + + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + solver.create_particles(Boxlow, Tlow, nlow) + solver.create_particles(Boxhigh, Thigh, nhigh) + + with open("test.csv", "w") as file: + for it in range(niter): + print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) + solver.advance(dt) + + for pos in solver.particles.Pos: + file.write("{:.4e},".format(pos[2])) + + file.write("\n") + + print("") + print('done') diff --git a/setup.py b/setup.py index 13e9750..7963a05 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup( name='dsmc', - version='0.3.0', + version='0.4.0', author='Leo Basov', python_requires='>=3.6, <4', packages=["dsmc"], diff --git a/tests/unit/test_dsmc/dsmc.py b/tests/unit/test_dsmc/dsmc.py index 128cccb..90cdf10 100644 --- a/tests/unit/test_dsmc/dsmc.py +++ b/tests/unit/test_dsmc/dsmc.py @@ -1,6 +1,39 @@ import unittest -from dsmc import dsmc +import numpy as np +from dsmc import dsmc as ds class TestDSMC(unittest.TestCase): - def test_test(self): - self.assertEqual(1.0, dsmc.test()) + def test_Constructor(self): + ds.DSMC() + + def test__calc_prob(self): + vel1 : np.ndarray = np.array([1.0, 2.0, 3.0]) + vel2 : np.ndarray = np.array([1.0, 2.0, 3.0]) + sigma_T : float = 1.0 + Vc : float = 1.0 + dt : float = 1.0 + w : float = 1.0 + N : int = 1 + + res = ds._calc_prob(vel1, vel2, sigma_T, Vc, dt, w, N) + + self.assertEqual(np.linalg.norm(vel1 - vel2), res) + + def test__calc_post_col_vels(self): + velocity1 : np.ndarray = np.array([1.0, 2.0, 3.0]) + velocity2 : np.ndarray = np.array([1.0, 2.0, 3.0]) + mass1 : float = 1.0 + mass2 : float = 1.0 + rel_vel_module : float = 1.0 + rand_number1 : float = 1.0 + rand_number2 : float = 1.0 + + res = ds._calc_post_col_vels(velocity1, velocity2, mass1, mass2, rel_vel_module, rand_number1, rand_number2) + + self.assertEqual(1.5, res[0][0]) + self.assertEqual(2.0, res[0][1]) + self.assertEqual(3.0, res[0][2]) + + self.assertEqual(0.5, res[1][0]) + self.assertEqual(2.0, res[1][1]) + self.assertEqual(3.0, res[1][2]) diff --git a/tests/unit/test_dsmc/particles.py b/tests/unit/test_dsmc/particles.py index e27497f..1921691 100644 --- a/tests/unit/test_dsmc/particles.py +++ b/tests/unit/test_dsmc/particles.py @@ -63,3 +63,14 @@ def test_create_particles(self): self.assertTrue(particles.Pos[i][0] >= x[0] and particles.Pos[i][0] <= x[1]) self.assertTrue(particles.Pos[i][1] >= y[0] and particles.Pos[i][1] <= y[1]) self.assertTrue(particles.Pos[i][2] >= z[0] and particles.Pos[i][2] <= z[1]) + + particles.create_particles(X, mass, T, N) + + self.assertEqual(2*N, len(particles.Pos)) + self.assertEqual(2*N, len(particles.Vel)) + self.assertEqual(2*N, particles.N) + + for i in range(2*N): + self.assertTrue(particles.Pos[i][0] >= x[0] and particles.Pos[i][0] <= x[1]) + self.assertTrue(particles.Pos[i][1] >= y[0] and particles.Pos[i][1] <= y[1]) + self.assertTrue(particles.Pos[i][2] >= z[0] and particles.Pos[i][2] <= z[1]) From 3c2e0b0d3825bf1a6faf9513c7461b86d35ed067 Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Fri, 23 Sep 2022 16:24:18 +0200 Subject: [PATCH 14/23] implemented writter module for octree (#12) --- CHANGELOG.md | 6 +- dsmc/diagnostics.py | 60 +++++++++++++++++ dsmc/dsmc.py | 14 +++- dsmc/particles.py | 4 +- dsmc/writer.py | 100 ++++++++++++++++++++++++++++ examples/plot.py | 36 +++------- examples/shock_tube.py | 59 +++++++++++----- examples/temp_relax.py | 50 ++++++++++++++ setup.py | 2 +- tests/octree/octree_test.py | 41 ++++++++++++ tests/unit/main.py | 1 + tests/unit/test_dsmc/diagnostics.py | 20 ++++++ 12 files changed, 343 insertions(+), 50 deletions(-) create mode 100644 dsmc/diagnostics.py create mode 100644 dsmc/writer.py create mode 100644 examples/temp_relax.py create mode 100644 tests/octree/octree_test.py create mode 100644 tests/unit/test_dsmc/diagnostics.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 74f67f4..99aa5e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.3.0] - 2022-09-23 +## [0.5.0] - 2022-09-23 +### Added +- writer module + +## [0.4.0] - 2022-09-23 ### Added - dsmc module diff --git a/dsmc/diagnostics.py b/dsmc/diagnostics.py new file mode 100644 index 0000000..dd6aeb4 --- /dev/null +++ b/dsmc/diagnostics.py @@ -0,0 +1,60 @@ +import numpy as np +from numba import njit +from . import particles as prt +from . import octree as oc + +def sort_bin(positions, axis, Nbin): + bins = [[] for _ in range(Nbin)] + b = 0 + box = oc._find_bounding_box(positions) + dx = (box[axis][1] - box[axis][0]) / (Nbin - 1) + xx = [dx] + x = dx + sub_pos = np.array([pos[axis] for pos in positions]) + sorted_pos = np.argsort(sub_pos) + + for i in range(len(sorted_pos)): + p = sorted_pos[i] + while positions[p][axis] > x: + x += dx + b += 1 + xx.append(x) + + bins[b].append(p) + + return bins, box, xx + +def calc_n(bins, box, axis, w): + Nbins = len(bins) + dx = (box[axis][1] - box[axis][0]) / Nbins + V = 1 + n = np.empty((Nbins, )) + for i in range(3): + if i == axis: + V *= (box[i][1] - box[i][0]) / Nbins + else: + V *= (box[i][1] - box[i][0]) + + for i in range(Nbins): + n[i] = len(bins[i]) * w / V + + return n + +def calc_T(bins, velocities, mass): + Nbins = len(bins) + T = np.empty((Nbins, )) + + for i in range(Nbins): + vels = np.array([velocities[p] for p in bins[i]]) + T[i] = prt.calc_temperature(vels, mass) + + return T + +def calc_p(n, T): + Nbins = len(n) + p = np.empty((Nbins, )) + + for i in range(Nbins): + p[i] = n[i]*T[i]*prt.kb + + return p diff --git a/dsmc/dsmc.py b/dsmc/dsmc.py index 5af06e9..ad25fa4 100644 --- a/dsmc/dsmc.py +++ b/dsmc/dsmc.py @@ -126,11 +126,21 @@ def _update_velocities(self, dt): return _update_vels(self.octree.permutations, self.particles.Vel, self.mass, self.sigma_T, dt, self.w, elem_offsets, number_elements, number_children, cell_boxes, Nleafs) - def create_particles(self, box, T, n): - N = int(round(n / self.w)) + def create_particles(self, box, T, n, u = None): + box = np.array(box) + N = int(round(oc.get_V(box) * n / self.w)) print("creating {} particles".format(N)) self.particles.create_particles(box, self.mass, T, N) + if u is not None: + velocities = self.particles.Vel + u = np.array(u) + + for i in range(len(velocities)): + velocities[i] += u + + self.particles.VelPos = (velocities, self.particles.Pos) + print("now containing {} particles, {} total".format(N, self.particles.N)) def set_domain(self, domain): diff --git a/dsmc/particles.py b/dsmc/particles.py index 9ca72eb..54723fc 100644 --- a/dsmc/particles.py +++ b/dsmc/particles.py @@ -57,7 +57,7 @@ def get_vel(T, mass): @njit def get_velocities(T, mass, N): - velocities = np.empty((N, 3), dtype=float) + velocities = np.empty((N, 3)) for i in range(N): velocities[i] = get_vel(T, mass) @@ -88,7 +88,7 @@ def calc_positions(x, y, z, N): z : tuple(2), dtype = float zmin, zmax """ - positions = np.empty((N, 3), dtype=float) + positions = np.empty((N, 3)) for i in range(N): positions[i][0] = x[0] + np.random.random() * (x[1] - x[0]) diff --git a/dsmc/writer.py b/dsmc/writer.py new file mode 100644 index 0000000..19a2a45 --- /dev/null +++ b/dsmc/writer.py @@ -0,0 +1,100 @@ +from . import octree as oc + +def write_buttom_leafs(octree): + f = open("octree.vtu", "w") + + _write_header(f) + _wrtie_body(f, octree) + _write_footer(f) + + f.close() + +def _write_header(f): + f.write("\n") + +def _wrtie_body(f, octree): + leaf_ids = [] + for i in range(len(octree.leafs)): + if octree.leafs[i].number_children == 0: + leaf_ids.append(i) + + f.write("\n") + f.write("\n".format(len(leaf_ids) * 8, len(leaf_ids))) + + _write_points(f, octree, leaf_ids); + _write_cells(f, octree, leaf_ids); + + f.write("\n") + f.write("\n") + +def _write_points(f, octree, leaf_ids): + f.write("\n") + f.write("\n") + + for i in leaf_ids: + box = octree.cell_boxes[i] + + f.write("{} ".format(box[0][0])) + f.write("{} ".format(box[1][0])) + f.write("{} ".format(box[2][0])) + + f.write("{} ".format(box[0][1])) + f.write("{} ".format(box[1][0])) + f.write("{} ".format(box[2][0])) + + f.write("{} ".format(box[0][1])) + f.write("{} ".format(box[1][1])) + f.write("{} ".format(box[2][0])) + + f.write("{} ".format(box[0][0])) + f.write("{} ".format(box[1][1])) + f.write("{} ".format(box[2][0])) + + f.write("{} ".format(box[0][0])) + f.write("{} ".format(box[1][0])) + f.write("{} ".format(box[2][1])) + + f.write("{} ".format(box[0][1])) + f.write("{} ".format(box[1][0])) + f.write("{} ".format(box[2][1])) + + f.write("{} ".format(box[0][1])) + f.write("{} ".format(box[1][1])) + f.write("{} ".format(box[2][1])) + + f.write("{} ".format(box[0][0])) + f.write("{} ".format(box[1][1])) + f.write("{} ".format(box[2][1])) + + f.write("\n") + f.write("\n") + + +def _write_cells(f, octree, leaf_ids): + k = 0 + + f.write("\n") + f.write("\n") + + for i in range(len(leaf_ids)): + for _ in range(8): + f.write("{} ".format(k)) + k += 1 + + f.write("\n") + f.write("\n") + + for i in range(len(leaf_ids)): + f.write("{} ".format((i + 1) * 8)) + + f.write("\n") + f.write("\n") + + for _ in range(len(leaf_ids)): + f.write("12 ") + + f.write("\n") + f.write("\n") + +def _write_footer(f): + f.write("\n") diff --git a/examples/plot.py b/examples/plot.py index b4e91ae..18ac59c 100644 --- a/examples/plot.py +++ b/examples/plot.py @@ -1,38 +1,20 @@ import matplotlib.pyplot as plt import csv import numpy as np +import argparse if __name__ == '__main__': - res = [] + parser = argparse.ArgumentParser(description='Process some integers.') + parser.add_argument('file_name', type=str) - with open('test.csv') as file: + args = parser.parse_args() + + with open(args.file_name) as file: reader = csv.reader(file, delimiter=',') - res = [] for line in reader: l = [m for m in line if m] - data = (np.array(l)).astype(float) - data = np.sort(data) - - N = 100 - sor = np.zeros((N, )) - x = np.zeros((N, )) - dx = 0.05/N - x[0] = dx - q = 0 - - for i in range(len(data)): - while data[i] > x[q]: - q += 1 - x[q] = x[q - 1] + dx - - sor[q] += 1 - - - x.resize(q) - sor.resize(q) - - res.append((x, sor)) + n = [float(l[i]) for i in range(len(l))] - plt.plot(res[-1][0], res[-1][1]) - plt.show() + plt.plot(n) + plt.show() diff --git a/examples/shock_tube.py b/examples/shock_tube.py index 9b61c08..b10df19 100644 --- a/examples/shock_tube.py +++ b/examples/shock_tube.py @@ -1,24 +1,44 @@ import dsmc +import dsmc.diagnostics as dia +import matplotlib.pyplot as plt + +def write2file(solver, n_file, T_file, p_file): + bins, box, x = dia.sort_bin(solver.particles.Pos, 2, Nbins) + N = [len(b) for b in bins] + n = dia.calc_n(bins, box, 2, solver.w) + T = dia.calc_T(bins, solver.particles.Vel, mass) + p = dia.calc_p(n, T) + + for i in range(Nbins): + n_file.write("{},".format(n[i])) + T_file.write("{},".format(T[i])) + p_file.write("{},".format(p[i])) + + n_file.write("\n") + T_file.write("\n") + p_file.write("\n") if __name__ == '__main__': # general parameters solver = dsmc.DSMC() - domain = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (0, 50e-3)) + domain = [(-0.0001, 0.0001), (-0.0001, 0.0001), (0.0, 0.1)] dt = 1e-7 - w = 2.4134e+15 + w = 1e+9 mass = 6.6422e-26 niter = 300 + Nbins = 100 - # low denisty particles - nhigh = 2.5e+20 + # high denisty particles + nhigh = 2.41432e+22 Thigh = 300 - Boxhigh = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (25e-3, 50e-3)) + Boxhigh = [(-0.0001, 0.0001), (-0.0001, 0.0001), (0.0, 0.05)] - # high denisty particles - nlow = 2.5e+19 + # low denisty particles + nlow = 2.41432e+21 Tlow = 300 - Boxlow = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (0, 25e-3)) + Boxlow = [(-0.0001, 0.0001), (-0.0001, 0.0001), (0.05, 0.1)] + # setup solver solver.set_domain(domain) solver.set_weight(w) solver.set_mass(mass) @@ -26,15 +46,20 @@ solver.create_particles(Boxlow, Tlow, nlow) solver.create_particles(Boxhigh, Thigh, nhigh) - with open("test.csv", "w") as file: - for it in range(niter): - print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) - solver.advance(dt) - - for pos in solver.particles.Pos: - file.write("{:.4e},".format(pos[2])) - - file.write("\n") + # open files + n_file = open("n.csv", "w") + T_file = open("T.csv", "w") + p_file = open("p.csv", "w") + + for it in range(niter): + print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) + solver.advance(dt) + write2file(solver, n_file, T_file, p_file) + # close files + n_file.close() + T_file.close() + p_file.close() + print("") print('done') diff --git a/examples/temp_relax.py b/examples/temp_relax.py new file mode 100644 index 0000000..8961579 --- /dev/null +++ b/examples/temp_relax.py @@ -0,0 +1,50 @@ +import dsmc +import dsmc.diagnostics as dia +import dsmc.particles as prt +import matplotlib.pyplot as plt +import numpy as np +import math + +def maxwell(x, T): + return 2.0 * np.sqrt(x) * np.exp(-x/T) / (math.pow(T, 3.0/2.0) * np.sqrt(math.pi)) + +def calc_x(velocities, mass): + return np.array([mass*vel.dot(vel)/(2.0*prt.kb) for vel in velocities]) + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + domain = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (0, 50e-3)) + dt = 1e-5 + w = 2.4134e+7 + mass = 6.6422e-26 + niter = 500 + Nbins = 100 + + # particles + n = 2.5e+20 + T = 300 + Box = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (25e-3, 50e-3)) + u = np.array((1000.0, 0.0, 0.0)) + + + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + solver.create_particles(Box, T, n, u) + + for it in range(niter): + print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) + solver.advance(dt) + x = calc_x(solver.particles.Vel, solver.mass) + + xm = np.linspace(0, 3500, 1000) + dist = [maxwell(xi, 300) for xi in xm] + + plt.plot(xm, dist) + plt.hist(x, Nbins, density=True) + plt.show() + + print("") + print('done') diff --git a/setup.py b/setup.py index 7963a05..ea7e25e 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup( name='dsmc', - version='0.4.0', + version='0.5.0', author='Leo Basov', python_requires='>=3.6, <4', packages=["dsmc"], diff --git a/tests/octree/octree_test.py b/tests/octree/octree_test.py new file mode 100644 index 0000000..692f661 --- /dev/null +++ b/tests/octree/octree_test.py @@ -0,0 +1,41 @@ +import dsmc.writer as wrt +import dsmc.octree as oc +import numpy as np +import argparse + +def create_particles(N, radius): + positions = np.empty((N + 1, 3)) + + for i in range(N): + phi = np.random.random() * 2.0 * np.pi + theta = np.random.random() * np.pi + r = np.random.normal(0.0, 0.01) + theta1 = np.random.random() * np.pi - 0.5 * np.pi + dis = np.array((r * np.sin(theta) * np.cos(phi), r * np.sin(theta) * np.sin(phi), r * np.cos(theta))) + offset = np.array((radius * np.sin(theta1), radius * np.cos(theta1), 0.0)) + + dis += offset; + positions[i] = dis + + positions[N] = np.array((0.0, -1.0, 0.0)) + + return positions + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Process some integers.') + parser.add_argument('N', type=int) + + args = parser.parse_args() + + radius = 1.0 + positions = create_particles(args.N, radius) + octree = oc.Octree() + octree.build(positions) + wrt.write_buttom_leafs(octree) + + with open("particles.csv", "w") as file: + file.write("x, y, z\n") + for pos in positions: + file.write("{}, {}, {}\n".format(pos[0], pos[1], pos[2])) + + print("done") diff --git a/tests/unit/main.py b/tests/unit/main.py index da2edd5..f9c8d93 100644 --- a/tests/unit/main.py +++ b/tests/unit/main.py @@ -5,6 +5,7 @@ from test_dsmc.dsmc import * from test_dsmc.particles import * from test_dsmc.octree import * +from test_dsmc.diagnostics import * if __name__ == '__main__': unittest.main() diff --git a/tests/unit/test_dsmc/diagnostics.py b/tests/unit/test_dsmc/diagnostics.py new file mode 100644 index 0000000..ade3bfd --- /dev/null +++ b/tests/unit/test_dsmc/diagnostics.py @@ -0,0 +1,20 @@ +import numpy as np +import dsmc.diagnostics as dia +import unittest + +class TestDiagnostics(unittest.TestCase): + def test_sort_bin(self): + positions = np.array(([1, 2, 3], [9, 8, 7], [10, 11, 12], [4, 5, 6])) + Nbins = 4 + + bins1, box, x = dia.sort_bin(positions, 0, Nbins) + + self.assertEqual(Nbins, len(bins1)) + + for b in bins1: + self.assertEqual(1, len(b)) + + self.assertEqual(0, bins1[0][0]) + self.assertEqual(3, bins1[1][0]) + self.assertEqual(1, bins1[2][0]) + self.assertEqual(2, bins1[3][0]) From 62ad508a79c3d2704cddada04a0b39719c465c14 Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Sat, 24 Sep 2022 18:46:21 +0200 Subject: [PATCH 15/23] fixed bugs in octree (#14) --- CHANGELOG.md | 4 + dsmc/octree.py | 73 ++++----- examples/temp_relax.py | 1 - setup.py | 2 +- tests/octree/octree_test.py | 48 ++++-- tests/unit/test_data/create_test_particles.py | 11 ++ tests/unit/test_data/particles.csv | 100 ++++++++++++ tests/unit/test_dsmc/octree.py | 143 +++++++++++++++++- 8 files changed, 318 insertions(+), 64 deletions(-) create mode 100644 tests/unit/test_data/create_test_particles.py create mode 100644 tests/unit/test_data/particles.csv diff --git a/CHANGELOG.md b/CHANGELOG.md index 99aa5e2..6236035 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.1] - 2022-09-24 +### Added +- fixed bugs in octree module + ## [0.5.0] - 2022-09-23 ### Added - writer module diff --git a/dsmc/octree.py b/dsmc/octree.py index 09b3c33..f1dd8ad 100644 --- a/dsmc/octree.py +++ b/dsmc/octree.py @@ -1,4 +1,3 @@ -import math import numpy as np import numpy.typing as npt from numba import njit @@ -65,9 +64,9 @@ def _is_resolved(box : npt.NDArray, N : int, w : float, sigma_T : float, Nmin : @njit def _is_inside(position : npt.NDArray, box : npt.NDArray) -> bool: - a : bool = position[0] > box[0][0] and position[0] <= box[0][1] - b : bool = position[1] > box[1][0] and position[1] <= box[1][1] - c : bool = position[2] > box[2][0] and position[2] <= box[2][1] + a : bool = position[0] >= box[0][0] and position[0] <= box[0][1] + b : bool = position[1] >= box[1][0] and position[1] <= box[1][1] + c : bool = position[2] >= box[2][0] and position[2] <= box[2][1] return a and b and c @@ -99,11 +98,10 @@ def _sort(permutations : npt.NDArray, box : npt.NDArray, positions : npt.NDArray number of found positions ''' new_permutations = np.copy(permutations) - temp = np.empty((3,)) runner = offset Nnew = 0 for i in range(offset, offset + N): - p = permutations[i] + p = new_permutations[i] if _is_inside(positions[p], box): _swap(new_permutations, i, runner) runner += 1 @@ -114,6 +112,22 @@ def _sort(permutations : npt.NDArray, box : npt.NDArray, positions : npt.NDArray @njit def get_V(box): return (box[0][1] - box[0][0]) * (box[1][1] - box[1][0]) * (box[2][1] - box[2][0]) + +@njit +def _create_boxes(box): + half = np.array([0.5*(box[i][0] + box[i][1]) for i in range(3)]) + + child_geo1 = np.array(((half[0], box[0][1]), (half[1], box[1][1]), (half[2], box[2][1]))) + child_geo2 = np.array(((box[0][0], half[0]), (half[1], box[1][1]), (half[2], box[2][1]))) + child_geo3 = np.array(((box[0][0], half[0]), (box[1][0], half[1]), (half[2], box[2][1]))) + child_geo4 = np.array(((half[0], box[0][1]), (box[1][0], half[1]), (half[2], box[2][1]))) + + child_geo5 = np.array(((half[0], box[0][1]), (half[1], box[1][1]), (box[2][0], half[2]))) + child_geo6 = np.array(((box[0][0], half[0]), (half[1], box[1][1]), (box[2][0], half[2]))) + child_geo7 = np.array(((box[0][0], half[0]), (box[1][0], half[1]), (box[2][0], half[2]))) + child_geo8 = np.array(((half[0], box[0][1]), (box[1][0], half[1]), (box[2][0], half[2]))) + + return [child_geo1, child_geo2, child_geo3, child_geo4, child_geo5, child_geo6, child_geo7, child_geo8] class Leaf: def __init__(self): @@ -164,49 +178,26 @@ def _create_root(self, positions): self.cell_boxes.append(box) def _progress(self, leaf_id, positions): - leaf = self.leafs[leaf_id] - if _is_resolved(self.cell_boxes[leaf_id], leaf.number_elements, self.w, self.sigma_T, self.Nmin, self.Nmax): - leaf.number_children = 8 - leaf.id_first_child = leaf_id + 1 + if _is_resolved(self.cell_boxes[leaf_id], self.leafs[leaf_id].number_elements, self.w, self.sigma_T, self.Nmin, self.Nmax): + self.leafs[leaf_id].number_children = 8 + self.leafs[leaf_id].id_first_child = self.cell_offsets[-1] self.cell_offsets[-1] += 8 - self._add_boxes(self.cell_boxes[leaf_id]) + self.cell_boxes += _create_boxes(self.cell_boxes[leaf_id]) else: pass - - offset = 0 - - for i in range(leaf.number_children): + + offset = 0 + + for i in range(self.leafs[leaf_id].number_children): new_leaf = Leaf() - new_leaf.level = leaf.level + 1 + new_leaf.level = self.leafs[leaf_id].level + 1 new_leaf.id_parent = leaf_id - self.permutations, N = _sort(self.permutations, self.cell_boxes[leaf_id + 1 + i], positions, leaf.elem_offset, leaf.number_elements) + new_leaf.elem_offset = self.leafs[leaf_id].elem_offset + offset + + self.permutations, N = _sort(self.permutations, self.cell_boxes[self.leafs[leaf_id].id_first_child + i], positions, new_leaf.elem_offset, self.leafs[leaf_id].number_elements - offset) new_leaf.number_elements = N - new_leaf.elem_offset = leaf.elem_offset + offset offset += N self.leafs.append(new_leaf) - - def _add_boxes(self, box): - half = np.array([0.5*(box[i][0] + box[i][1]) for i in range(3)]) - - child_geo1 = np.array(((half[0], box[0][1]), (half[1], box[1][1]), (half[2], box[2][1]))) - child_geo2 = np.array(((box[0][0], half[0]), (half[1], box[1][1]), (half[2], box[2][1]))) - child_geo3 = np.array(((box[0][0], half[0]), (box[1][0], half[1]), (half[2], box[2][1]))) - child_geo4 = np.array(((half[0], box[0][1]), (box[1][0], half[1]), (half[2], box[2][1]))) - - child_geo5 = np.array(((half[0], box[0][1]), (half[1], box[1][1]), (box[2][0], half[2]))) - child_geo6 = np.array(((box[0][0], half[0]), (half[1], box[1][1]), (box[2][0], half[2]))) - child_geo7 = np.array(((box[0][0], half[0]), (box[1][0], half[1]), (box[2][0], half[2]))) - child_geo8 = np.array(((half[0], box[0][1]), (box[1][0], half[1]), (box[2][0], half[2]))) - - self.cell_boxes.append(child_geo1) - self.cell_boxes.append(child_geo2) - self.cell_boxes.append(child_geo3) - self.cell_boxes.append(child_geo4) - - self.cell_boxes.append(child_geo5) - self.cell_boxes.append(child_geo6) - self.cell_boxes.append(child_geo7) - self.cell_boxes.append(child_geo8) diff --git a/examples/temp_relax.py b/examples/temp_relax.py index 8961579..bed76ac 100644 --- a/examples/temp_relax.py +++ b/examples/temp_relax.py @@ -1,5 +1,4 @@ import dsmc -import dsmc.diagnostics as dia import dsmc.particles as prt import matplotlib.pyplot as plt import numpy as np diff --git a/setup.py b/setup.py index ea7e25e..005ff89 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup( name='dsmc', - version='0.5.0', + version='0.5.1', author='Leo Basov', python_requires='>=3.6, <4', packages=["dsmc"], diff --git a/tests/octree/octree_test.py b/tests/octree/octree_test.py index 692f661..3856ff1 100644 --- a/tests/octree/octree_test.py +++ b/tests/octree/octree_test.py @@ -22,20 +22,42 @@ def create_particles(N, radius): return positions if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Process some integers.') - parser.add_argument('N', type=int) + parser = argparse.ArgumentParser(description='Process some integers.') + parser.add_argument('N', type=int) - args = parser.parse_args() + args = parser.parse_args() - radius = 1.0 - positions = create_particles(args.N, radius) - octree = oc.Octree() - octree.build(positions) - wrt.write_buttom_leafs(octree) + radius = 1.0 + positions = create_particles(args.N, radius) + octree = oc.Octree() + octree.build(positions) + wrt.write_buttom_leafs(octree) + + for i in range(len(octree.leafs)): + box = octree.cell_boxes[i] + leaf = octree.leafs[i] + N = 0 + for j in range(leaf.elem_offset, leaf.elem_offset + leaf.number_elements): + p = octree.permutations[j] + pos = positions[p] + + if oc._is_inside(pos, box): + N += 1 + else: + raise Exception(pos, box) + + if N != leaf.number_elements: + raise Exception(N, leaf.number_elements, box) - with open("particles.csv", "w") as file: - file.write("x, y, z\n") - for pos in positions: - file.write("{}, {}, {}\n".format(pos[0], pos[1], pos[2])) + with open("particles.csv", "w") as file: + file.write("x, y, z\n") + + for i in range(len(octree.leafs)): + leaf = octree.leafs[i] + if leaf.number_children == 0 and leaf.number_elements > 0: + for j in range(leaf.elem_offset, leaf.elem_offset + leaf.number_elements): + p = octree.permutations[j] + pos = positions[p] + file.write("{}, {}, {}\n".format(pos[0], pos[1], pos[2])) - print("done") + print("done") diff --git a/tests/unit/test_data/create_test_particles.py b/tests/unit/test_data/create_test_particles.py new file mode 100644 index 0000000..9025d0b --- /dev/null +++ b/tests/unit/test_data/create_test_particles.py @@ -0,0 +1,11 @@ +import numpy as np + +if __name__ == "__main__": + N = 100 + print("writing {} particles".format(N)) + with open("particles.csv", "w") as file: + for i in range(N): + pos = np.random.random(3)*2.0 - np.ones(3) + file.write("{},{},{}\n".format(pos[0], pos[1], pos[2])) + + print("done") \ No newline at end of file diff --git a/tests/unit/test_data/particles.csv b/tests/unit/test_data/particles.csv new file mode 100644 index 0000000..c28b5c6 --- /dev/null +++ b/tests/unit/test_data/particles.csv @@ -0,0 +1,100 @@ +0.16720244270111206,0.8208120902385547,-0.15821775757746326 +-0.3539408610094026,0.6094479586781756,-0.2241998042084452 +-0.253602773408937,0.37842838770619047,0.5080805107290469 +0.901801119661219,-0.3547753241315563,-0.7994223817818384 +-0.014540968173746727,-0.6057811852068014,-0.7747150654889452 +0.6652045024170465,0.7496016129090863,0.09269932097207323 +-0.08371757238708022,-0.49569628427213286,-0.5230501995932113 +-0.45628210172061734,-0.7032547855919364,-0.01052801065881459 +-0.4050878274555494,0.16220023223033286,-0.13943218567361249 +-0.44015418512841675,0.4399168343737543,-0.13664372635262478 +0.3822321359090435,-0.03867223327253977,-0.04984480804603453 +-0.5467265015048175,0.7694212897999899,0.5107554092663027 +0.39267358552702203,0.8855795814797593,-0.3874196750436716 +-0.8339217114875397,-0.7277069297889218,0.6932782778950106 +-0.06677305356215668,0.08155865919002991,-0.22499099071269968 +0.7461692085104521,-0.3569676906172021,0.19992850640433013 +-0.3183568330760138,0.8889477004291035,-0.22695163370221572 +0.14226452585971483,0.6749945724336466,-0.10977565633862918 +0.7567553000958556,0.6860849556496309,0.7019398659703175 +-0.45544407366595374,0.8415794987089842,0.4617571900758932 +0.008921032851599175,0.09329133267050382,0.12341660395588416 +-0.11332760346288917,0.4042049964883072,-0.6363589932576024 +0.45801429375353897,-0.9119723962473707,0.4512774411458276 +0.46255470634607354,0.8505216562953395,-0.9625208705796366 +-0.1634911149788587,0.4954169015383527,-0.7514390159518116 +0.9652111916953872,-0.326652317518793,-0.46448051286137493 +-0.012190671492502414,0.3513603108139549,0.21120932266533754 +-0.3219199072922947,-0.6707629224151808,-0.06547558541371457 +0.0003677083723194752,-0.28631549200531037,-0.9589132043625856 +-0.48982911826707265,0.33709944881539533,-0.5705459675253599 +0.24553297910626437,0.8153935258740543,0.7754269872933011 +-0.3597841927312453,-0.30153996145772344,-0.5545584807322563 +0.4514246571306877,0.4022956382825962,-0.49522635923734093 +0.28698107560336505,-0.2816866625438861,0.8615966614249093 +0.09405268228661168,0.3419520966030001,0.7822256998740897 +-0.6883526842679561,-0.716974021117027,0.8038683522503012 +0.8511390374742094,0.898837413751163,0.11732018920271692 +0.10212127918229652,-0.6901138895567802,0.044572452623179215 +0.9742771687163521,0.3900116089700414,0.2849645916426635 +-0.41446601047533616,-0.48501116366070063,-0.21171170708052967 +-0.8985239501161144,0.3231647945259839,0.20482889661142267 +0.2691336467016665,0.019006468602156934,-0.5833077026738216 +0.7753963192748963,0.4078932463220293,-0.17231148296520438 +-0.19696942316303256,0.10696738046497845,0.9229353551086716 +0.5610982192389629,-0.36377857925636947,-0.39267739735571716 +-0.3199431452231085,-0.23776421953278826,-0.7917537970082731 +0.7121864877364648,-0.8806372932737705,0.44221940740157173 +-0.4773400242683048,-0.4846890064033458,0.32609824265601484 +-0.25066582819700156,0.17875327390040763,0.6792664170237515 +-0.34955904993833786,-0.5269472436510836,0.05666029913257997 +-0.9841821357736698,0.4621791724011153,-0.38399251190936035 +-0.7925590286957733,0.8971899467301814,0.9465523534014599 +0.7791035904527936,-0.3065439183432015,0.9668490966958605 +0.7550138781918301,0.9954600710856267,0.15445789110262798 +0.015132235590737064,-0.1279001510759381,-0.7784382777493579 +0.7831998282225763,-0.45035646564466214,0.31822998226315025 +0.25092976269744693,0.9085270898010307,-0.31735361664304573 +0.3805923268337683,0.03787861289930383,-0.6266312154338713 +-0.6040348148625538,0.4530362126423204,0.498118925527959 +0.4136176171187369,-0.9050493502417782,-0.29965017480855916 +-0.42774070010191867,-0.06461591748042528,-0.7976491333955078 +0.09766097044471311,-0.16598582888531488,-0.7608659826062489 +0.33798463823175595,-0.42150973385006063,-0.3713352945819577 +-0.58932187049589,0.3813552375040625,-0.26284015727708554 +-0.4907965754459813,0.20341783229024646,0.6622776161420185 +0.8098477083222237,-0.8719199252159624,0.7488605548345317 +-0.8193929114745129,0.840626931453603,-0.6315912117747844 +-0.24239201418824297,0.47098841467093844,-0.669183593651901 +0.5041947220259142,-0.29544662686416756,-0.5914541788966325 +-0.26262096117978784,0.9801755149383851,0.527269048439474 +0.4275209506977513,-0.667659249339922,0.1347518319999672 +0.9855519426068913,-0.6135765984848576,-0.4287141280807911 +0.20982860758802357,0.07462089616107126,0.5943311631472485 +0.32596254556079907,-0.5523299607926777,0.5000136968687108 +0.6298276916469507,0.7866892509990404,-0.9079439336773338 +0.78142640981854,0.5399877759560965,0.6973205654874475 +-0.3485450193568893,-0.6303033064361121,0.17527538428193168 +-0.8260677718113378,0.40584791574484824,-0.9942842646615264 +-0.20591928046068153,-0.5923212325551002,-0.968679333547988 +0.45672042754779163,0.2149643271371091,0.21071030029661353 +0.057075371525048046,-0.6650594086767447,-0.5251178367633449 +0.1809775156746154,0.4818178472834924,0.3972083715175747 +-0.6207155824174482,-0.4160776878844272,0.6917477102880314 +-0.904590420565192,-0.193648165470109,0.5189271677890341 +0.7951185512115042,-0.6569231762630592,0.3204489978755769 +0.7584068620500117,-0.3176223099304243,-0.870445024417934 +-0.4922227934260852,-0.5001060615332293,-0.5348416435824386 +0.8605684066110679,0.16239313316117032,-0.7627141519458742 +0.6590758735534021,0.9222932137960997,-0.021059658756133137 +-0.5501989000546204,0.26214029221325275,-0.6910176960391732 +0.967198486330149,-0.41117570121974034,0.6945615910511642 +0.9468060139718262,0.5879482989935261,0.08334965744250988 +0.4824650338598835,-0.21178248688885692,-0.9756564237429781 +0.253591146580193,0.08009088613267878,0.4274284592732791 +-0.4389966392317204,0.22920620294282146,-0.0002775036237094852 +-0.7146674493249148,-0.538980218854364,0.879679600158005 +0.8244476665630003,-0.7994155142294497,-0.6359195332795282 +0.6824501498828124,-0.8031118692347363,0.9876378371063732 +0.718260570290431,0.3877012248400389,0.5868224029728766 +-0.7941746749515597,-0.49028054610731187,0.9579007583397083 diff --git a/tests/unit/test_dsmc/octree.py b/tests/unit/test_dsmc/octree.py index 1ad85f1..56a1874 100644 --- a/tests/unit/test_dsmc/octree.py +++ b/tests/unit/test_dsmc/octree.py @@ -2,6 +2,7 @@ import numpy as np from dsmc import octree as oc from dsmc import particles as part +import csv class TestOctree(unittest.TestCase): def test__find_bounding_box(self): @@ -85,6 +86,140 @@ def test_sort(self): for i in range(offset + Nnew, len(permutations)): p = permutations[i] self.assertFalse(oc._is_inside(positions[p], box)) + + def test_sort2(self): + box = np.array([[0.0, 1.0], [0.0, 1.0], [0.0, 1.0]]) + N = 20 + Nh = 10 + Nm = 15 + Np = 5 + positions = np.empty((N, 3)) + positions1 = np.empty((Np, 3)) + positions2 = np.empty((Np, 3)) + positions3 = np.empty((Nh, 3)) + permutations = np.array([i for i in range(N)]) + + for i in range(Np): + positions1[i] = np.random.random(3) - np.ones(3) + + for i in range(Np): + positions2[i] = np.random.random(3) + + for i in range(Nh): + positions3[i] = np.random.random(3) - np.ones(3) + + positions = np.concatenate((positions3, positions1, positions2)) + permutations, Nnew = oc._sort(permutations, box, positions, Nh, Nh) + + self.assertEqual(Nnew, Np) + + for i in range(Nh): + p = permutations[i] + pos = positions[p] + a = not (pos[0] <= box[0][1]) + b = not (pos[0] >= box[0][0]) + + c = not (pos[1] <= box[1][1]) + d = not (pos[1] >= box[1][0]) + + e = not (pos[2] <= box[2][1]) + f = not (pos[2] >= box[2][0]) + + self.assertTrue(a or b or c or d or e or f) + + for i in range(Nm, N): + p = permutations[i] + pos = positions[p] + a = not (pos[0] <= box[0][1]) + b = not (pos[0] >= box[0][0]) + + c = not (pos[1] <= box[1][1]) + d = not (pos[1] >= box[1][0]) + + e = not (pos[2] <= box[2][1]) + f = not (pos[2] >= box[2][0]) + + self.assertTrue(a or b or c or d or e or f) + + for i in range(Nh, Nm): + p = permutations[i] + pos = positions[p] + a = (pos[0] <= box[0][1]) + b = (pos[0] >= box[0][0]) + + c = (pos[1] <= box[1][1]) + d = (pos[1] >= box[1][0]) + + e = (pos[2] <= box[2][1]) + f = (pos[2] >= box[2][0]) + + self.assertTrue(a and b and c and d and e and f) + + + def load_particles(self): + positions = [] + + with open("./test_data/particles.csv", "r", newline='') as csvfile: + reader = csv.reader(csvfile, delimiter=',') + for row in reader: + positions.append([float(row[i]) for i in range(3)]) + + return np.array(positions) + + def test_sort3(self): + box = np.array([[-1.0, 1.0], [-1.0, 1.0], [-1.0, 1.0]]) + boxes = [] + oc._create_boxes(box) + N = 100 + permutations = np.array([i for i in range(N)]) + positions = self.load_particles() + + permutations , Np1 = oc._sort(permutations, boxes[0], positions, 0, N) + permutations , Np2 = oc._sort(permutations, boxes[1], positions, Np1, N - Np1) + permutations , Np3 = oc._sort(permutations, boxes[2], positions, Np1 + Np2, N - Np2 - Np1) + #permutations , Np4 = oc._sort(permutations, boxes[3], positions, Np3, N - Np3) + + #permutations , Np5 = oc._sort(permutations, boxes[4], positions, Np4, N - Np4) + #permutations , Np6 = oc._sort(permutations, boxes[5], positions, Np5, N - Np5) + #permutations , Np7 = oc._sort(permutations, boxes[6], positions, Np6, N - Np6) + #permutations , Np8 = oc._sort(permutations, boxes[7], positions, Np7, N - Np7) + + Nnew = np.zeros(8, dtype=int) + + for i in range(Np1): + p = permutations[i] + pos = positions[p] + if oc._is_inside(pos, boxes[0]): + Nnew[0] += 1 + + self.assertEqual(Nnew[0], Np1) + + for i in range(Np1, Np1 + Np2): + p = permutations[i] + pos = positions[p] + if oc._is_inside(pos, boxes[1]): + Nnew[1] += 1 + + self.assertEqual(Nnew[1], Np2) + + for i in range(Np1 + Np2, Np1 + Np2 + Np3): + p = permutations[i] + pos = positions[p] + if oc._is_inside(pos, boxes[2]): + Nnew[2] += 1 + + self.assertEqual(Nnew[2], Np3) + + def test__create_boxes(self): + box_orig = np.array([[-1.0, 1.0], [-1.0, 1.0], [-1.0, 1.0]]) + boxes = oc._create_boxes(box_orig) + + self.assertEqual(8, len(boxes)) + V = 0.0 + + for box in boxes: + V += oc.get_V(box) + + self.assertEqual(oc.get_V(box_orig), V) class TestOctreeOctree(unittest.TestCase): @@ -94,11 +229,3 @@ def test_build(self): octree.w = 1e+18 octree.build(positions) - - def test__add_boxes(self): - octree = oc.Octree() - box = np.array([[-1.0, 1.0], [-1.0, 1.0], [-1.0, 1.0]]) - - octree._add_boxes(box) - - self.assertEqual(8, len(octree.cell_boxes)) From b30631437646cc06ba5066846878d7acdeb9104b Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Wed, 28 Sep 2022 10:28:29 +0200 Subject: [PATCH 16/23] octree aspect ratio check (#15) --- CHANGELOG.md | 12 ++++- dsmc/diagnostics.py | 2 - dsmc/dsmc.py | 93 ++++++++++++++++---------------- dsmc/octree.py | 67 ++++++++++++++++++++++-- dsmc/particles.py | 5 +- dsmc/writer.py | 6 +-- examples/T_sample.py | 37 +++++++++++++ examples/push_bound_test.py | 40 ++++++++++++++ examples/shock_tube.py | 6 +-- examples/temp_relax.py | 18 +++++-- setup.py | 2 +- tests/unit/test_dsmc/dsmc.py | 3 +- tests/unit/test_dsmc/octree.py | 96 ++++++++++++++++++++++++++++++++++ 13 files changed, 317 insertions(+), 70 deletions(-) create mode 100644 examples/T_sample.py create mode 100644 examples/push_bound_test.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 6236035..c85a38a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.5.1] - 2022-09-24 +## [0.6.0] - 2022-09-28 ### Added -- fixed bugs in octree module +- functionality for aspect ratio check in octree + +### Fixed +- bug in temperature initialization +- several bugs in octree + +## [0.5.1] - 2022-09-24 +### Fixed +- bugs in octree module ## [0.5.0] - 2022-09-23 ### Added diff --git a/dsmc/diagnostics.py b/dsmc/diagnostics.py index dd6aeb4..56b0b7f 100644 --- a/dsmc/diagnostics.py +++ b/dsmc/diagnostics.py @@ -1,5 +1,4 @@ import numpy as np -from numba import njit from . import particles as prt from . import octree as oc @@ -26,7 +25,6 @@ def sort_bin(positions, axis, Nbin): def calc_n(bins, box, axis, w): Nbins = len(bins) - dx = (box[axis][1] - box[axis][0]) / Nbins V = 1 n = np.empty((Nbins, )) for i in range(3): diff --git a/dsmc/dsmc.py b/dsmc/dsmc.py index ad25fa4..3c13811 100644 --- a/dsmc/dsmc.py +++ b/dsmc/dsmc.py @@ -1,16 +1,18 @@ -import math import numpy as np from numba import njit +from numba import prange from . import particles as prt from . import octree as oc -@njit -def _push(velocities, positions, dt): - return positions + velocities*dt +@njit(parallel=True) +def _push(velocities, positions, dt): + for p in prange(len(positions)): + positions[p] = positions[p] + velocities[p]*dt + return positions -@njit +@njit(parallel=True) def _boundary(velocities, positions, domain): - for p in range(len(positions)): + for p in prange(len(positions)): while not oc._is_inside(positions[p], domain): for i in range(3): if positions[p][i] < domain[i][0]: @@ -19,11 +21,11 @@ def _boundary(velocities, positions, domain): if positions[p][i] > domain[i][1]: positions[p][i] = 2.0 * domain[i][1] - positions[p][i] velocities[p][i] *= -1.0 - + return (velocities, positions) - -@njit -def _calc_prob(vel1 : np.ndarray, vel2 : np.ndarray, sigma_T : float, Vc : float, dt : float, w : float, N : int) -> np.single: + +@njit +def _calc_prob(rel_vel : float, sigma_T : float, Vc : float, dt : float, w : float, N : int) -> np.single: """ Parameters ---------- @@ -37,14 +39,14 @@ def _calc_prob(vel1 : np.ndarray, vel2 : np.ndarray, sigma_T : float, Vc : float weight N : int number of particles - + Returns ------- collision proability : float """ - return np.linalg.norm(vel1 - vel2) * sigma_T * dt * w * N / Vc; - -@njit + return rel_vel * sigma_T * dt * w * N / Vc; + +@njit def _calc_post_col_vels(velocity1 : np.ndarray, velocity2 : np.ndarray, mass1 : float, mass2 : float, rel_vel_module : float, rand_number1 : float, rand_number2 : float) -> tuple[np.ndarray, np.ndarray]: mass12 = (mass1 + mass2) mass1_12 = (mass1 / mass12) @@ -55,7 +57,7 @@ def _calc_post_col_vels(velocity1 : np.ndarray, velocity2 : np.ndarray, mass1 : epsilon = (2.0 * np.pi * rand_number2) centre_of_mass_velocity = (velocity1 * mass1 + velocity2 * mass2) * (1.0 / mass12) - + rel_velocity_new = np.empty((3, )) rel_velocity_new[0] = rel_vel_module * cos_xi @@ -63,38 +65,36 @@ def _calc_post_col_vels(velocity1 : np.ndarray, velocity2 : np.ndarray, mass1 : rel_velocity_new[2] = rel_vel_module * sin_xi * np.sin(epsilon) return (centre_of_mass_velocity + rel_velocity_new * mass2_12 , centre_of_mass_velocity - rel_velocity_new * mass1_12) - -@njit + +@njit def _update_velocities(permutations : np.ndarray, velocities : np.ndarray, mass : float, sigma_T : float, Vc : float, dt : float, w : float, offset : int, N : int) -> np.ndarray: - i = 1 - while i < N: + for i in range(1, N, 2): p1 = permutations[offset + i - 1] p2 = permutations[offset + i] - P = _calc_prob(velocities[p1], velocities[p2], sigma_T, Vc, dt, w, N) + rel_vel = np.linalg.norm(velocities[p1] - velocities[p2]) + P = _calc_prob(rel_vel, sigma_T, Vc, dt, w, N) R = np.random.random(3) - + if R[0] < P: - new_vels = _calc_post_col_vels(velocities[p1], velocities[p2], mass, mass, np.linalg.norm(velocities[p1] - velocities[p2]), R[1], R[2]) + new_vels = _calc_post_col_vels(velocities[p1], velocities[p2], mass, mass, rel_vel, R[1], R[2]) velocities[p1] = new_vels[0] velocities[p2] = new_vels[1] - - i += 2 - + return velocities - -@njit + +@njit def _update_vels(permutations : np.ndarray, velocities : np.ndarray, mass : float, sigma_T : float, dt : float, w : float, elem_offsets : np.ndarray, number_elements : np.ndarray, number_children : np.ndarray, cell_boxes : np.ndarray, Nleafs : int) -> np.ndarray: for i in range(Nleafs): - if not number_children[i]: + if not number_children[i] and number_elements[i]: Vc = oc.get_V(cell_boxes[i]) velocities = _update_velocities(permutations, velocities, mass, sigma_T, Vc, dt, w, elem_offsets[i], number_elements[i]) - + return velocities class DSMC: def __init__(self): self.clear() - + def clear(self): self.particles = prt.Particles() self.octree = oc.Octree() @@ -102,53 +102,54 @@ def clear(self): self.domain = None self.sigma_T = 3.631681e-19 self.mass = None - - def advance(self, dt): + + def advance(self, dt, collisions=True, octree=True): if self.domain is None: raise Exception("simulation domain not defined") if self.particles.N == 0: raise Exception("no particles created") if self.w == None: raise Exception("particle weight not set") - - self.octree.build(self.particles.Pos) - - self.particles.VelPos = (self._update_velocities(dt), self.particles.Pos) + + if octree: + self.octree.build(self.particles.Pos) + if collisions and octree: + self.particles.VelPos = (self._update_velocities(dt), self.particles.Pos) positions = _push(self.particles.Vel, self.particles.Pos, dt) self.particles.VelPos = _boundary(self.particles.Vel, positions, self.domain) - + def _update_velocities(self, dt): Nleafs : int = len(self.octree.leafs) elem_offsets : np.ndarray = np.array([leaf.elem_offset for leaf in self.octree.leafs], dtype=int) number_elements : np.ndarray = np.array([leaf.number_elements for leaf in self.octree.leafs], dtype=int) number_children : np.ndarray = np.array([leaf.number_children for leaf in self.octree.leafs], dtype=int) cell_boxes : np.ndarray = np.array([box for box in self.octree.cell_boxes]) - + return _update_vels(self.octree.permutations, self.particles.Vel, self.mass, self.sigma_T, dt, self.w, elem_offsets, number_elements, number_children, cell_boxes, Nleafs) - + def create_particles(self, box, T, n, u = None): box = np.array(box) N = int(round(oc.get_V(box) * n / self.w)) print("creating {} particles".format(N)) self.particles.create_particles(box, self.mass, T, N) - + if u is not None: velocities = self.particles.Vel u = np.array(u) - + for i in range(len(velocities)): velocities[i] += u - + self.particles.VelPos = (velocities, self.particles.Pos) - + print("now containing {} particles, {} total".format(N, self.particles.N)) - + def set_domain(self, domain): self.domain = np.array(domain) - + def set_mass(self, mass): self.mass = mass - + def set_weight(self, w): self.octree.w = w self.w = w diff --git a/dsmc/octree.py b/dsmc/octree.py index f1dd8ad..18afcd4 100644 --- a/dsmc/octree.py +++ b/dsmc/octree.py @@ -1,6 +1,7 @@ import numpy as np import numpy.typing as npt from numba import njit +import numba as nb fmin = np.finfo(float).min fmax = np.finfo(float).max @@ -128,6 +129,58 @@ def _create_boxes(box): child_geo8 = np.array(((half[0], box[0][1]), (box[1][0], half[1]), (box[2][0], half[2]))) return [child_geo1, child_geo2, child_geo3, child_geo4, child_geo5, child_geo6, child_geo7, child_geo8] + +@njit +def _get_min_aspect_ratio(box, axis): + half = np.array([0.5*(box[i][1] - box[i][0]) for i in range(3)]) + + match axis: + case 0: + return min(half[0] / half[1], half[0] / half[2]); + case 1: + return min(half[1] / half[0], half[1] / half[2]); + case 2: + return min(half[2] / half[1], half[2] / half[0]); + +@njit +def _devide(box, axis): + half = 0.5*(box[axis][0] + box[axis][1]) + box1 = np.copy(box) + box2 = np.copy(box) + + box1[axis][0] = box[axis][0] + box1[axis][1] = half + + box2[axis][0] = half + box2[axis][1] = box[axis][1] + + return (box1, box2) + +@njit +def _create_combined_boxes(box, min_aspect_ratio): + boxes = np.empty((15, 3, 2)) + boxes[0] = box + N = 0 + Nold = 0 + q = 1 + + for i in range(3): + if _get_min_aspect_ratio(box, i) > min_aspect_ratio: + for b in range(Nold, Nold + 2**N): + new_boxes = _devide(boxes[b], i) + boxes[q] = new_boxes[0] + boxes[q + 1] = new_boxes[1] + q += 2 + Nold += 2**N + N += 1 + + N = 2**N + new_boxes = np.empty((N, 3, 2)) + + for b in range(N): + new_boxes[b] = boxes[Nold + b] + + return new_boxes class Leaf: def __init__(self): @@ -141,6 +194,7 @@ def __init__(self): class Octree: def __init__(self): self.clear() + self.min_aspect_ratio = 2.0/3.0 def clear(self): self.cell_boxes = [] @@ -179,10 +233,17 @@ def _create_root(self, positions): def _progress(self, leaf_id, positions): if _is_resolved(self.cell_boxes[leaf_id], self.leafs[leaf_id].number_elements, self.w, self.sigma_T, self.Nmin, self.Nmax): - self.leafs[leaf_id].number_children = 8 + self.leafs[leaf_id].id_first_child = self.cell_offsets[-1] - self.cell_offsets[-1] += 8 - self.cell_boxes += _create_boxes(self.cell_boxes[leaf_id]) + + new_boxes = _create_combined_boxes(self.cell_boxes[leaf_id], self.min_aspect_ratio) + self.cell_offsets[-1] += len(new_boxes) + self.leafs[leaf_id].number_children = len(new_boxes) + + for box in new_boxes: + self.cell_boxes.append(box) + + #raise Exception() else: pass diff --git a/dsmc/particles.py b/dsmc/particles.py index 54723fc..7e709c3 100644 --- a/dsmc/particles.py +++ b/dsmc/particles.py @@ -37,7 +37,7 @@ def x2velocity(x, mass): ------- speed of particle : float """ - return math.sqrt((2.0/3.0) * x * kb /mass) + return math.sqrt(2.0 * x * kb /mass) @njit def get_vel(T, mass): @@ -53,7 +53,8 @@ def get_vel(T, mass): ------- velocity : np.array, shape = (3, 1) """ - return np.array([(-1)**(int(2*np.random.random())) * x2velocity(box_muller(T), mass) for _ in range(3)]) + v = np.random.random(3) + return v * x2velocity(box_muller(T), mass) / np.linalg.norm(v) @njit def get_velocities(T, mass, N): diff --git a/dsmc/writer.py b/dsmc/writer.py index 19a2a45..c181d62 100644 --- a/dsmc/writer.py +++ b/dsmc/writer.py @@ -1,7 +1,5 @@ -from . import octree as oc - -def write_buttom_leafs(octree): - f = open("octree.vtu", "w") +def write_buttom_leafs(octree, file_name="octree.vtu"): + f = open(file_name, "w") _write_header(f) _wrtie_body(f, octree) diff --git a/examples/T_sample.py b/examples/T_sample.py new file mode 100644 index 0000000..f40cb06 --- /dev/null +++ b/examples/T_sample.py @@ -0,0 +1,37 @@ +import dsmc +import dsmc.particles as prt +import matplotlib.pyplot as plt +import numpy as np +import math + +def maxwell(x, T): + return 2.0 * np.sqrt(x) * np.exp(-x/T) / (math.pow(T, 3.0/2.0) * np.sqrt(math.pi)) + +def calc_x(velocities, mass): + return np.array([mass*vel.dot(vel)/(2.0*prt.kb) for vel in velocities]) + +if __name__ == '__main__': + solver = dsmc.DSMC() + domain = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (0, 50e-3)) + w = 1e6 + mass = 6.6422e-26 + T = 300 + n = 1e+20 + Nbins = 100 + + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + solver.create_particles(domain, T, n) + + print(prt.calc_temperature(solver.particles.Vel, mass)) + + x = calc_x(solver.particles.Vel, solver.mass) + + xm = np.linspace(0, 3500, 1000) + dist = [maxwell(xi, 300) for xi in xm] + + plt.plot(xm, dist) + plt.hist(x, Nbins, density=True) + plt.show() diff --git a/examples/push_bound_test.py b/examples/push_bound_test.py new file mode 100644 index 0000000..0c0798e --- /dev/null +++ b/examples/push_bound_test.py @@ -0,0 +1,40 @@ +import dsmc +import dsmc.octree as oc +import dsmc.writer as wrt +import numpy as np + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + tree = oc.Octree() + domain = [(-0.5, 0.5), (-0.5, 0.5), (-0.5, 0.5)] + positions = np.array([(-0.5, -0.5, -0.5), (0.5, 0.5, 0.5)]) + dt = 1e-5 + w = 1e+17 + n = 1e18 + mass = 6.6422e-26 + T = 300 + niter = 300 + + # setup solver + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + solver.create_particles(domain, T, n) + + tree.build(positions) + + for it in range(niter): + print("iteration {:4}/{:4}".format(it + 1, niter), end="\r", flush=True) + solver.advance(dt, collisions=False, octree=False) + + with open("particles_{}.csv".format(it), "w") as file: + file.write("x, y, z\n") + for pos in solver.particles.Pos: + file.write("{},{},{}\n".format(pos[0], pos[1], pos[2])) + + wrt.write_buttom_leafs(tree, "octree.vtu") + + + print("done") \ No newline at end of file diff --git a/examples/shock_tube.py b/examples/shock_tube.py index b10df19..37ef606 100644 --- a/examples/shock_tube.py +++ b/examples/shock_tube.py @@ -1,10 +1,8 @@ import dsmc import dsmc.diagnostics as dia -import matplotlib.pyplot as plt -def write2file(solver, n_file, T_file, p_file): +def write2file(solver, n_file, T_file, p_file, Nbins): bins, box, x = dia.sort_bin(solver.particles.Pos, 2, Nbins) - N = [len(b) for b in bins] n = dia.calc_n(bins, box, 2, solver.w) T = dia.calc_T(bins, solver.particles.Vel, mass) p = dia.calc_p(n, T) @@ -54,7 +52,7 @@ def write2file(solver, n_file, T_file, p_file): for it in range(niter): print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) solver.advance(dt) - write2file(solver, n_file, T_file, p_file) + write2file(solver, n_file, T_file, p_file, Nbins) # close files n_file.close() diff --git a/examples/temp_relax.py b/examples/temp_relax.py index bed76ac..dd369fb 100644 --- a/examples/temp_relax.py +++ b/examples/temp_relax.py @@ -3,6 +3,7 @@ import matplotlib.pyplot as plt import numpy as np import math +import time def maxwell(x, T): return 2.0 * np.sqrt(x) * np.exp(-x/T) / (math.pow(T, 3.0/2.0) * np.sqrt(math.pi)) @@ -17,7 +18,7 @@ def calc_x(velocities, mass): dt = 1e-5 w = 2.4134e+7 mass = 6.6422e-26 - niter = 500 + niter = 100 Nbins = 100 # particles @@ -33,17 +34,24 @@ def calc_x(velocities, mass): solver.create_particles(Box, T, n, u) + # time + start_time = time.time() + for it in range(niter): print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) solver.advance(dt) x = calc_x(solver.particles.Vel, solver.mass) - xm = np.linspace(0, 3500, 1000) - dist = [maxwell(xi, 300) for xi in xm] + Tnew = prt.calc_temperature(solver.particles.Vel, solver.mass) + xm = np.linspace(0, 30000, 1000) + dist = [maxwell(xi, Tnew) for xi in xm] + + print("") + print("--- %s seconds ---" % (time.time() - start_time)) plt.plot(xm, dist) plt.hist(x, Nbins, density=True) - plt.show() + plt.title("T = {:.3f}K".format(Tnew)) + plt.show() - print("") print('done') diff --git a/setup.py b/setup.py index 005ff89..689ad62 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup( name='dsmc', - version='0.5.1', + version='0.6.0', author='Leo Basov', python_requires='>=3.6, <4', packages=["dsmc"], diff --git a/tests/unit/test_dsmc/dsmc.py b/tests/unit/test_dsmc/dsmc.py index 90cdf10..bd7a9e2 100644 --- a/tests/unit/test_dsmc/dsmc.py +++ b/tests/unit/test_dsmc/dsmc.py @@ -9,13 +9,14 @@ def test_Constructor(self): def test__calc_prob(self): vel1 : np.ndarray = np.array([1.0, 2.0, 3.0]) vel2 : np.ndarray = np.array([1.0, 2.0, 3.0]) + vel_rel = np.linalg.norm(vel1 - vel2) sigma_T : float = 1.0 Vc : float = 1.0 dt : float = 1.0 w : float = 1.0 N : int = 1 - res = ds._calc_prob(vel1, vel2, sigma_T, Vc, dt, w, N) + res = ds._calc_prob(vel_rel, sigma_T, Vc, dt, w, N) self.assertEqual(np.linalg.norm(vel1 - vel2), res) diff --git a/tests/unit/test_dsmc/octree.py b/tests/unit/test_dsmc/octree.py index 56a1874..5eb9a57 100644 --- a/tests/unit/test_dsmc/octree.py +++ b/tests/unit/test_dsmc/octree.py @@ -220,7 +220,103 @@ def test__create_boxes(self): V += oc.get_V(box) self.assertEqual(oc.get_V(box_orig), V) + + def test__get_min_aspect_ratio_1(self): + box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) + axis1 = 0 + axis2 = 1 + axis3 = 2 + + self.assertEqual(0.01, oc._get_min_aspect_ratio(box, axis1)) + self.assertEqual(0.1, oc._get_min_aspect_ratio(box, axis2)) + self.assertEqual(10.0, oc._get_min_aspect_ratio(box, axis3)) + + def test__get_min_aspect_ratio_2(self): + box = np.array([(-1.0, 1.0), (-10.0, 10.0), (-100.0, 100.0)]) + axis1 = 0 + axis2 = 1 + axis3 = 2 + + self.assertEqual(0.01, oc._get_min_aspect_ratio(box, axis1)) + self.assertEqual(0.1, oc._get_min_aspect_ratio(box, axis2)) + self.assertEqual(10.0, oc._get_min_aspect_ratio(box, axis3)) + + def test__devide(self): + box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) + box_x1, box_x2 = oc._devide(box, 0) + box_y1, box_y2 = oc._devide(box, 1) + box_z1, box_z2 = oc._devide(box, 2) + + boxes = ((box_x1, box_x2), (box_y1, box_y2), (box_z1, box_z2)) + + half = np.array([0.5*(box[i][0] + box[i][1]) for i in range(3)]) + + for b in range(3): + box_a = boxes[b][0] + box_b = boxes[b][1] + + self.assertEqual(box_a[b][0], box[b][0]) + self.assertEqual(box_a[b][1], half[b]) + + self.assertEqual(box_b[b][0], half[b]) + self.assertEqual(box_b[b][1], box[b][1]) + + for i in range(3): + for j in range(2): + if b != i: + self.assertEqual(box_a[i][j], box[i][j]) + self.assertEqual(box_b[i][j], box[i][j]) + + def test__create_combined_boxes_1(self): + box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) + min_aspect_ratio = 0.0 + boxes_old = oc._create_boxes(box) + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + V = 0.0 + + for b in boxes_new: + V += oc.get_V(b) + self.assertEqual(oc.get_V(box), V) + self.assertEqual(len(boxes_old), len(boxes_new)) + + def test__create_combined_boxes_2(self): + box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) + min_aspect_ratio = 0.05 + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + V = 0.0 + + for b in boxes_new: + V += oc.get_V(b) + + self.assertEqual(oc.get_V(box), V) + self.assertEqual(4, len(boxes_new)) + + def test__create_combined_boxes_3(self): + box = np.array([(-1.0, 1.0), (-10.0, 10.0), (-100.0, 100.0)]) + min_aspect_ratio = 0.05 + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + V = 0.0 + + for b in boxes_new: + V += oc.get_V(b) + + self.assertEqual(oc.get_V(box), V) + self.assertEqual(4, len(boxes_new)) + + def test__create_combined_boxes_4(self): + box = np.array([(-1.0, 1.0), (-10.0, 10.0), (-100.0, 100.0)]) + min_aspect_ratio = 0.0 + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + V = 0.0 + + for b in boxes_new: + V += oc.get_V(b) + + self.assertEqual(oc.get_V(box), V) + self.assertEqual(8, len(boxes_new)) + + print(boxes_new) class TestOctreeOctree(unittest.TestCase): def test_build(self): From 311773210ec0b68157c03431654797ac91f0845f Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Sat, 1 Oct 2022 10:11:06 +0200 Subject: [PATCH 17/23] Implemented boundary conditions (#17) - inflow - open --- CHANGELOG.md | 5 + dsmc/common.py | 5 + dsmc/dsmc.py | 140 +++++++++++++++++++++++----- dsmc/octree.py | 5 - dsmc/particles.py | 33 +++++-- dsmc/writer.py | 15 ++- examples/plot.py | 20 +++- examples/push_bound_inflow_test.py | 57 ++++++++++++ examples/push_bound_open_test.py | 52 +++++++++++ examples/shock_tube.py | 37 +++++--- setup.py | 4 +- tests/unit/main.py | 1 + tests/unit/test_dsmc/common.py | 9 ++ tests/unit/test_dsmc/octree.py | 24 +++-- tests/unit/test_dsmc/particles.py | 19 +++- tools/sod_analytical.py | 141 +++++++++++++++++++++++++++++ 16 files changed, 493 insertions(+), 74 deletions(-) create mode 100644 dsmc/common.py create mode 100644 examples/push_bound_inflow_test.py create mode 100644 examples/push_bound_open_test.py create mode 100644 tests/unit/test_dsmc/common.py create mode 100644 tools/sod_analytical.py diff --git a/CHANGELOG.md b/CHANGELOG.md index c85a38a..5a0257d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.7.0] - 2022-10-01 +### Added +- inflow boundary condition +- open boundary condition + ## [0.6.0] - 2022-09-28 ### Added - functionality for aspect ratio check in octree diff --git a/dsmc/common.py b/dsmc/common.py new file mode 100644 index 0000000..0990d48 --- /dev/null +++ b/dsmc/common.py @@ -0,0 +1,5 @@ +from numba import cfunc + +@cfunc("double(double[::3, ::2])") +def get_V(a): + return (a[0][1] - a[0][0]) * (a[1][1] - a[1][0]) * (a[2][1] - a[2][0]) \ No newline at end of file diff --git a/dsmc/dsmc.py b/dsmc/dsmc.py index 3c13811..4b7d212 100644 --- a/dsmc/dsmc.py +++ b/dsmc/dsmc.py @@ -3,26 +3,71 @@ from numba import prange from . import particles as prt from . import octree as oc +from . import common as com -@njit(parallel=True) +@njit def _push(velocities, positions, dt): for p in prange(len(positions)): positions[p] = positions[p] + velocities[p]*dt return positions -@njit(parallel=True) -def _boundary(velocities, positions, domain): +@njit +def _boundary(velocities, positions, domain, boundary_conds): + kept_parts = np.ones(positions.shape[0], dtype=np.uint) + for p in prange(len(positions)): - while not oc._is_inside(positions[p], domain): + while not oc._is_inside(positions[p], domain) and kept_parts[p]: for i in range(3): if positions[p][i] < domain[i][0]: - positions[p][i] = 2.0 * domain[i][0] - positions[p][i] - velocities[p][i] *= -1.0 + if boundary_conds[i][0] == 0: + positions[p][i] = 2.0 * domain[i][0] - positions[p][i] + velocities[p][i] *= -1.0 + elif boundary_conds[i][0] == 1 or boundary_conds[i][0] == 2: + kept_parts[p] = 0 if positions[p][i] > domain[i][1]: - positions[p][i] = 2.0 * domain[i][1] - positions[p][i] - velocities[p][i] *= -1.0 + if boundary_conds[i][1] == 0: + positions[p][i] = 2.0 * domain[i][1] - positions[p][i] + velocities[p][i] *= -1.0 + elif boundary_conds[i][1] == 1 or boundary_conds[i][0] == 2: + kept_parts[p] = 0 + + N = sum(kept_parts) + p = 0 + new_velocities = np.empty((N, 3)) + new_positions = np.empty((N, 3)) + + for i in range(positions.shape[0]): + if kept_parts[i] == 1: + new_velocities[p] = velocities[i] + new_positions[p] = positions[i] + p += 1 + else: + continue + + return (new_velocities, new_positions) - return (velocities, positions) +@njit +def _check_positions(velocities, positions, old_positions, domain): + kept_parts = np.ones(positions.shape[0], dtype=np.uint) + + for i in prange(positions.shape[0]): + if (not oc._is_inside(positions[i], domain)) and (not oc._is_inside(old_positions[i], domain)): + kept_parts[i] = 0 + + N = sum(kept_parts) + p = 0 + new_velocities = np.empty((N, 3)) + new_positions = np.empty((N, 3)) + + for i in prange(positions.shape[0]): + if kept_parts[i] == 1: + new_velocities[p] = velocities[i] + new_positions[p] = positions[i] + p += 1 + else: + continue + + return (new_velocities, new_positions) @njit def _calc_prob(rel_vel : float, sigma_T : float, Vc : float, dt : float, w : float, N : int) -> np.single: @@ -86,11 +131,41 @@ def _update_velocities(permutations : np.ndarray, velocities : np.ndarray, mass def _update_vels(permutations : np.ndarray, velocities : np.ndarray, mass : float, sigma_T : float, dt : float, w : float, elem_offsets : np.ndarray, number_elements : np.ndarray, number_children : np.ndarray, cell_boxes : np.ndarray, Nleafs : int) -> np.ndarray: for i in range(Nleafs): if not number_children[i] and number_elements[i]: - Vc = oc.get_V(cell_boxes[i]) + Vc = com.get_V(cell_boxes[i]) velocities = _update_velocities(permutations, velocities, mass, sigma_T, Vc, dt, w, elem_offsets[i], number_elements[i]) return velocities +@njit +def _get_boundary(boundary): + if boundary == "xmin": + return (0, 0) + elif boundary == "xmax": + return (0, 1) + elif boundary == "ymin": + return (1, 0) + elif boundary == "ymax": + return (1, 1) + elif boundary == "zmin": + return (2, 0) + elif boundary == "zmax": + return (2, 1) + +@njit +def _get_bc_type(bc_type): + if bc_type == "ela": + return 0 + elif bc_type == "open": + return 1 + elif bc_type == "inflow": + return 2 + +class Boundary: + def __init__(self): + self.T = np.ones((3, 2))*300.0 + self.n = np.ones((3, 2))*1e+18 + self.u = np.zeros((3, 2, 3)) + class DSMC: def __init__(self): self.clear() @@ -100,6 +175,8 @@ def clear(self): self.octree = oc.Octree() self.w = None self.domain = None + self.boundary_conds = np.array([[0, 0], [0, 0], [0, 0]], dtype=np.uint) # 0 = ela, 1 = open, 2 = inflow + self.boundary = Boundary() self.sigma_T = 3.631681e-19 self.mass = None @@ -107,16 +184,23 @@ def advance(self, dt, collisions=True, octree=True): if self.domain is None: raise Exception("simulation domain not defined") if self.particles.N == 0: - raise Exception("no particles created") + raise Exception("no particles in domain") if self.w == None: raise Exception("particle weight not set") + + for i in range(3): + for j in range(2): + if self.boundary_conds[i][j] == 2: + self.particles.inflow(self.mass, self.boundary.T[i][j], self.boundary.u[i][j], self.boundary.n[i][j], self.w, dt, self.domain, i, j) if octree: self.octree.build(self.particles.Pos) if collisions and octree: self.particles.VelPos = (self._update_velocities(dt), self.particles.Pos) + old_positions = np.copy(self.particles.Pos) positions = _push(self.particles.Vel, self.particles.Pos, dt) - self.particles.VelPos = _boundary(self.particles.Vel, positions, self.domain) + self.particles.VelPos = _check_positions(self.particles.Vel, positions, old_positions, self.domain) + self.particles.VelPos = _boundary(self.particles.Vel, self.particles.Pos, self.domain, self.boundary_conds) def _update_velocities(self, dt): Nleafs : int = len(self.octree.leafs) @@ -127,20 +211,11 @@ def _update_velocities(self, dt): return _update_vels(self.octree.permutations, self.particles.Vel, self.mass, self.sigma_T, dt, self.w, elem_offsets, number_elements, number_children, cell_boxes, Nleafs) - def create_particles(self, box, T, n, u = None): + def create_particles(self, box, T, n, u = np.zeros(3)): box = np.array(box) - N = int(round(oc.get_V(box) * n / self.w)) + N = int(round(com.get_V(box) * n / self.w)) print("creating {} particles".format(N)) - self.particles.create_particles(box, self.mass, T, N) - - if u is not None: - velocities = self.particles.Vel - u = np.array(u) - - for i in range(len(velocities)): - velocities[i] += u - - self.particles.VelPos = (velocities, self.particles.Pos) + self.particles.create_particles(box, self.mass, T, N, u) print("now containing {} particles, {} total".format(N, self.particles.N)) @@ -153,3 +228,20 @@ def set_mass(self, mass): def set_weight(self, w): self.octree.w = w self.w = w + + def set_bc_type(self, boundary, bc_type): + bound = _get_boundary(boundary) + bc = _get_bc_type(bc_type) + + self.boundary_conds[bound[0]][bound[1]] = bc + + print("boundary [" + boundary + "] set to [" + bc_type + "]") + + def set_bc_values(self, boundary, T, n, u): + i, j = _get_boundary(boundary) + + self.boundary.T[i][j] = T + self.boundary.n[i][j] = n + self.boundary.u[i][j] = u + + print("boundary [" + boundary + "] set to values T : {}, n : {}, u : {}".format(T, n, u)) diff --git a/dsmc/octree.py b/dsmc/octree.py index 18afcd4..cd18815 100644 --- a/dsmc/octree.py +++ b/dsmc/octree.py @@ -1,7 +1,6 @@ import numpy as np import numpy.typing as npt from numba import njit -import numba as nb fmin = np.finfo(float).min fmax = np.finfo(float).max @@ -110,10 +109,6 @@ def _sort(permutations : npt.NDArray, box : npt.NDArray, positions : npt.NDArray return new_permutations, Nnew -@njit -def get_V(box): - return (box[0][1] - box[0][0]) * (box[1][1] - box[1][0]) * (box[2][1] - box[2][0]) - @njit def _create_boxes(box): half = np.array([0.5*(box[i][0] + box[i][1]) for i in range(3)]) diff --git a/dsmc/particles.py b/dsmc/particles.py index 7e709c3..421fbff 100644 --- a/dsmc/particles.py +++ b/dsmc/particles.py @@ -1,9 +1,14 @@ import math import numpy as np from numba import njit +from . import common as com kb = 1.380649e-23 +@njit +def calc_vp(T, mass): + return np.sqrt(2*kb*T/mass) + @njit def box_muller(T): """ @@ -53,15 +58,15 @@ def get_vel(T, mass): ------- velocity : np.array, shape = (3, 1) """ - v = np.random.random(3) + v = np.random.random(3)*2.0 - np.ones(3) return v * x2velocity(box_muller(T), mass) / np.linalg.norm(v) @njit -def get_velocities(T, mass, N): +def get_velocities(T, mass, N, u): velocities = np.empty((N, 3)) for i in range(N): - velocities[i] = get_vel(T, mass) + velocities[i] = get_vel(T, mass) + u return velocities @@ -128,12 +133,28 @@ def VelPos(self, vel_pos): self._positions = vel_pos[1] self._N = len(self._positions) - def create_particles(self, X, mass, T, N): + def create_particles(self, X, mass, T, N, u = np.zeros(3)): if self._N == 0: - self._velocities = get_velocities(T, mass, N) + self._velocities = get_velocities(T, mass, N, u) self._positions = calc_positions(X[0], X[1], X[2], N) self._N = N else: - self._velocities = np.concatenate((self._velocities, get_velocities(T, mass, N))) + self._velocities = np.concatenate((self._velocities, get_velocities(T, mass, N, u))) self._positions = np.concatenate((self._positions, calc_positions(X[0], X[1], X[2], N))) self._N += N + + + def inflow(self, mass, T, u, n, w, dt, domain, axis, minmax): + L = max(calc_vp(T, mass) * dt * 10, np.linalg.norm(u) * dt) + box = np.copy(domain) + + if minmax == 0: + box[axis][1] = box[axis][0] + box[axis][0] = box[axis][1] - L + elif minmax == 1: + box[axis][0] = box[axis][1] + box[axis][1] = box[axis][0] + L + + N = int(round(com.get_V(box) * n / w)) + + self.create_particles(box, mass, T, N, u) diff --git a/dsmc/writer.py b/dsmc/writer.py index c181d62..03c6d7f 100644 --- a/dsmc/writer.py +++ b/dsmc/writer.py @@ -19,8 +19,9 @@ def _wrtie_body(f, octree): f.write("\n") f.write("\n".format(len(leaf_ids) * 8, len(leaf_ids))) - _write_points(f, octree, leaf_ids); - _write_cells(f, octree, leaf_ids); + _write_points(f, octree, leaf_ids) + _write_cells(f, octree, leaf_ids) + _write_cell_data(f, octree, leaf_ids) f.write("\n") f.write("\n") @@ -93,6 +94,16 @@ def _write_cells(f, octree, leaf_ids): f.write("\n") f.write("\n") + +def _write_cell_data(f, octree, leaf_ids): + f.write("\n") + f.write("\n") + + for i in leaf_ids: + f.write("{} ".format(octree.leafs[i].number_elements)) + + f.write("\n") + f.write("\n") def _write_footer(f): f.write("\n") diff --git a/examples/plot.py b/examples/plot.py index 18ac59c..e0e2afe 100644 --- a/examples/plot.py +++ b/examples/plot.py @@ -6,6 +6,7 @@ if __name__ == '__main__': parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('file_name', type=str) + parser.add_argument('-ref', type=str) args = parser.parse_args() @@ -15,6 +16,19 @@ for line in reader: l = [m for m in line if m] n = [float(l[i]) for i in range(len(l))] - - plt.plot(n) - plt.show() + + plt.plot(np.linspace(0, 0.1, len(n)), n) + + if args.ref: + x = [] + val = [] + with open(args.ref) as file: + reader = csv.reader(file, delimiter=',') + + for line in reader: + x.append(float(line[0])) + val.append(float(line[1])) + + plt.plot(x, val) + + plt.show() diff --git a/examples/push_bound_inflow_test.py b/examples/push_bound_inflow_test.py new file mode 100644 index 0000000..d7fdfdb --- /dev/null +++ b/examples/push_bound_inflow_test.py @@ -0,0 +1,57 @@ +import dsmc +import dsmc.octree as oc +import dsmc.writer as wrt +import numpy as np + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + tree = oc.Octree() + domain = [(-0.5, 0.5), (-0.5, 0.5), (-0.5, 0.5)] + positions = np.array([(-0.5, -0.5, -0.5), (0.5, 0.5, 0.5)]) + dt = 1e-5 + w = 1e+16 + n = 1e18 + u = np.array([1000.0, 0.0, 0.0]) + mass = 6.6422e-26 + T = 300 + niter = 1000 + + # setup solver + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + solver.create_particles(domain, T, n) + + solver.set_bc_type("xmax", "open") + + solver.set_bc_type("ymax", "open") + solver.set_bc_type("ymin", "open") + solver.set_bc_type("zmax", "open") + solver.set_bc_type("zmin", "open") + + solver.set_bc_type("xmin", "inflow") + + solver.set_bc_values("xmin", T, n, u) + + tree.build(positions) + + for it in range(niter): + print("iteration {:4}/{:4}".format(it + 1, niter), end="\r", flush=True) + + try: + solver.advance(dt, collisions=False, octree=False) + except Exception as e: + print(e) + break + + with open("particles_{}.csv".format(it), "w") as file: + file.write("x, y, z\n") + for pos in solver.particles.Pos: + file.write("{},{},{}\n".format(pos[0], pos[1], pos[2])) + + wrt.write_buttom_leafs(tree, "octree.vtu") + + + print("done") \ No newline at end of file diff --git a/examples/push_bound_open_test.py b/examples/push_bound_open_test.py new file mode 100644 index 0000000..b899097 --- /dev/null +++ b/examples/push_bound_open_test.py @@ -0,0 +1,52 @@ +import dsmc +import dsmc.octree as oc +import dsmc.writer as wrt +import numpy as np + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + tree = oc.Octree() + domain = [(-0.5, 0.5), (-0.5, 0.5), (-0.5, 0.5)] + positions = np.array([(-0.5, -0.5, -0.5), (0.5, 0.5, 0.5)]) + dt = 1e-5 + w = 1e+17 + n = 1e18 + mass = 6.6422e-26 + T = 300 + niter = 1000 + + # setup solver + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + solver.create_particles(domain, T, n) + + solver.set_bc_type("xmax", "open") + solver.set_bc_type("xmin", "open") + solver.set_bc_type("ymax", "open") + solver.set_bc_type("ymin", "open") + solver.set_bc_type("zmax", "open") + solver.set_bc_type("zmin", "open") + + tree.build(positions) + + for it in range(niter): + print("iteration {:4}/{:4}".format(it + 1, niter), end="\r", flush=True) + + try: + solver.advance(dt, collisions=False, octree=False) + except Exception as e: + print(e) + break + + with open("particles_{}.csv".format(it), "w") as file: + file.write("x, y, z\n") + for pos in solver.particles.Pos: + file.write("{},{},{}\n".format(pos[0], pos[1], pos[2])) + + wrt.write_buttom_leafs(tree, "octree.vtu") + + + print("done") \ No newline at end of file diff --git a/examples/shock_tube.py b/examples/shock_tube.py index 37ef606..37d60c0 100644 --- a/examples/shock_tube.py +++ b/examples/shock_tube.py @@ -1,7 +1,13 @@ import dsmc import dsmc.diagnostics as dia +import time + +def write2file(solver, Nbins): + # open files + n_file = open("n.csv", "w") + T_file = open("T.csv", "w") + p_file = open("p.csv", "w") -def write2file(solver, n_file, T_file, p_file, Nbins): bins, box, x = dia.sort_bin(solver.particles.Pos, 2, Nbins) n = dia.calc_n(bins, box, 2, solver.w) T = dia.calc_T(bins, solver.particles.Vel, mass) @@ -15,16 +21,21 @@ def write2file(solver, n_file, T_file, p_file, Nbins): n_file.write("\n") T_file.write("\n") p_file.write("\n") + + # close files + n_file.close() + T_file.close() + p_file.close() if __name__ == '__main__': # general parameters solver = dsmc.DSMC() domain = [(-0.0001, 0.0001), (-0.0001, 0.0001), (0.0, 0.1)] dt = 1e-7 - w = 1e+9 + w = 1e+8 mass = 6.6422e-26 niter = 300 - Nbins = 100 + Nbins = 1000 # high denisty particles nhigh = 2.41432e+22 @@ -32,7 +43,7 @@ def write2file(solver, n_file, T_file, p_file, Nbins): Boxhigh = [(-0.0001, 0.0001), (-0.0001, 0.0001), (0.0, 0.05)] # low denisty particles - nlow = 2.41432e+21 + nlow = nhigh*0.1 Tlow = 300 Boxlow = [(-0.0001, 0.0001), (-0.0001, 0.0001), (0.05, 0.1)] @@ -44,20 +55,16 @@ def write2file(solver, n_file, T_file, p_file, Nbins): solver.create_particles(Boxlow, Tlow, nlow) solver.create_particles(Boxhigh, Thigh, nhigh) - # open files - n_file = open("n.csv", "w") - T_file = open("T.csv", "w") - p_file = open("p.csv", "w") + # start timing + start_time = time.time() for it in range(niter): print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) solver.advance(dt) - write2file(solver, n_file, T_file, p_file, Nbins) - - # close files - n_file.close() - T_file.close() - p_file.close() - + print("") + print("--- %s seconds ---" % (time.time() - start_time)) + + write2file(solver, Nbins) + print('done') diff --git a/setup.py b/setup.py index 689ad62..9a176ef 100644 --- a/setup.py +++ b/setup.py @@ -1,9 +1,9 @@ from setuptools import setup setup( name='dsmc', - version='0.6.0', + version='0.7.0', author='Leo Basov', - python_requires='>=3.6, <4', + python_requires='>=3.10, <4', packages=["dsmc"], install_requires=[ 'numpy', diff --git a/tests/unit/main.py b/tests/unit/main.py index f9c8d93..df9783a 100644 --- a/tests/unit/main.py +++ b/tests/unit/main.py @@ -6,6 +6,7 @@ from test_dsmc.particles import * from test_dsmc.octree import * from test_dsmc.diagnostics import * +from test_dsmc.common import * if __name__ == '__main__': unittest.main() diff --git a/tests/unit/test_dsmc/common.py b/tests/unit/test_dsmc/common.py new file mode 100644 index 0000000..b6e73ec --- /dev/null +++ b/tests/unit/test_dsmc/common.py @@ -0,0 +1,9 @@ +import numpy as np +import dsmc.common as com +import unittest + +class TestCommon(unittest.TestCase): + def test_pass(self): + box = np.array([[-1.0, 1.0], [-1.0, 1.0], [-1.0, 1.0]]) + V = com.get_V(box) + self.assertEqual(8.0, V) \ No newline at end of file diff --git a/tests/unit/test_dsmc/octree.py b/tests/unit/test_dsmc/octree.py index 5eb9a57..0fb249d 100644 --- a/tests/unit/test_dsmc/octree.py +++ b/tests/unit/test_dsmc/octree.py @@ -1,7 +1,7 @@ import unittest import numpy as np from dsmc import octree as oc -from dsmc import particles as part +from dsmc import common as com import csv class TestOctree(unittest.TestCase): @@ -217,9 +217,9 @@ def test__create_boxes(self): V = 0.0 for box in boxes: - V += oc.get_V(box) + V += com.get_V(box) - self.assertEqual(oc.get_V(box_orig), V) + self.assertEqual(com.get_V(box_orig), V) def test__get_min_aspect_ratio_1(self): box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) @@ -275,9 +275,9 @@ def test__create_combined_boxes_1(self): V = 0.0 for b in boxes_new: - V += oc.get_V(b) + V += com.get_V(b) - self.assertEqual(oc.get_V(box), V) + self.assertEqual(com.get_V(box), V) self.assertEqual(len(boxes_old), len(boxes_new)) def test__create_combined_boxes_2(self): @@ -287,9 +287,9 @@ def test__create_combined_boxes_2(self): V = 0.0 for b in boxes_new: - V += oc.get_V(b) + V += com.get_V(b) - self.assertEqual(oc.get_V(box), V) + self.assertEqual(com.get_V(box), V) self.assertEqual(4, len(boxes_new)) def test__create_combined_boxes_3(self): @@ -299,9 +299,9 @@ def test__create_combined_boxes_3(self): V = 0.0 for b in boxes_new: - V += oc.get_V(b) + V += com.get_V(b) - self.assertEqual(oc.get_V(box), V) + self.assertEqual(com.get_V(box), V) self.assertEqual(4, len(boxes_new)) def test__create_combined_boxes_4(self): @@ -311,12 +311,10 @@ def test__create_combined_boxes_4(self): V = 0.0 for b in boxes_new: - V += oc.get_V(b) + V += com.get_V(b) - self.assertEqual(oc.get_V(box), V) + self.assertEqual(com.get_V(box), V) self.assertEqual(8, len(boxes_new)) - - print(boxes_new) class TestOctreeOctree(unittest.TestCase): def test_build(self): diff --git a/tests/unit/test_dsmc/particles.py b/tests/unit/test_dsmc/particles.py index 1921691..700c46f 100644 --- a/tests/unit/test_dsmc/particles.py +++ b/tests/unit/test_dsmc/particles.py @@ -1,5 +1,6 @@ import unittest from dsmc import particles as pa +import numpy as np class TestParticles(unittest.TestCase): def test_box_muller(self): @@ -20,7 +21,8 @@ def test_get_velocities(self): T = 300 mass = 1.0e-26 N = 1000 - velocities = pa.get_velocities(T, mass, N) + u = np.zeros(3) + velocities = pa.get_velocities(T, mass, N, u) self.assertEqual(N, len(velocities)) @@ -28,7 +30,8 @@ def test_calc_temperature(self): T = 300 mass = 1.0e-26 N = 10000 - velocities = pa.get_velocities(T, mass, N) + u = np.zeros(3) + velocities = pa.get_velocities(T, mass, N, u) T_new = pa.calc_temperature(velocities, mass) diff = abs((T_new - T)/T) @@ -51,9 +54,10 @@ def test_create_particles(self): N = 1000 mass = 1.0e-26 T = 300 + u = np.zeros(3) particles = pa.Particles() - particles.create_particles(X, mass, T, N) + particles.create_particles(X, mass, T, N, u) self.assertEqual(N, len(particles.Pos)) self.assertEqual(N, len(particles.Vel)) @@ -64,7 +68,7 @@ def test_create_particles(self): self.assertTrue(particles.Pos[i][1] >= y[0] and particles.Pos[i][1] <= y[1]) self.assertTrue(particles.Pos[i][2] >= z[0] and particles.Pos[i][2] <= z[1]) - particles.create_particles(X, mass, T, N) + particles.create_particles(X, mass, T, N, u) self.assertEqual(2*N, len(particles.Pos)) self.assertEqual(2*N, len(particles.Vel)) @@ -74,3 +78,10 @@ def test_create_particles(self): self.assertTrue(particles.Pos[i][0] >= x[0] and particles.Pos[i][0] <= x[1]) self.assertTrue(particles.Pos[i][1] >= y[0] and particles.Pos[i][1] <= y[1]) self.assertTrue(particles.Pos[i][2] >= z[0] and particles.Pos[i][2] <= z[1]) + + def test_calc_vp(self): + T = 300 + mass = 1e-26 + vp = pa.calc_vp(T, mass) + + self.assertEqual(np.sqrt(2.0*pa.kb*T/mass), vp) diff --git a/tools/sod_analytical.py b/tools/sod_analytical.py new file mode 100644 index 0000000..9e0c1de --- /dev/null +++ b/tools/sod_analytical.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- +""" +Created on Thu Sep 29 12:03:03 2022 + +@author: Leo Basov +""" + +import numpy as np +import matplotlib.pyplot as plt +import argparse + +kb = 1.380649e-23 + +def _calc_u3(p1, p3, rhoL, Gamma, gamma, beta): + num = (1 - Gamma**2) * p1**(1.0/gamma) + denum = Gamma**2 * rhoL + return (p1**beta - p3**beta) * np.sqrt(num / denum) + +def _calc_u4(p3, p5, rhoR, Gamma): + return (p3 - p5) * np.sqrt((1 - Gamma) / (rhoR*(p3 - Gamma*p5))) + +def _calc_p3(p, rho, Gamma, gamma, beta): + p1 = p[0] + p3 = p[0] + p5 = p[4] + dp = p1 * 1e-3 + rhoL = rho[0] + rhoR = rho[-1] + err = 1e+5 + err_last = 1e+6 + + while err < err_last: + err_last = err + err = abs(_calc_u3(p1, p3, rhoL, Gamma, gamma, beta) - _calc_u4(p3, p5, rhoR, Gamma)) + p3 -= dp + + return p3 + +def plot_val(x, val, name): + plt.plot((x[0], x[1]), (val[0], val[1])) + plt.plot((x[1], x[2]), (val[1], val[2])) + plt.plot((x[2], x[3]), (val[2], val[2])) + plt.plot((x[3], x[3]), (val[2], val[3])) + plt.plot((x[3], x[4]), (val[3], val[3])) + plt.plot((x[4], x[4]), (val[3], val[4])) + plt.plot((x[4], x[5]), (val[4], val[4])) + + plt.ylabel(name) + plt.xlabel("x") + + plt.show() + +def write_values(x, val, name, file): + with open(file + "_" + name + ".csv", "w") as file: + file.write("{}, {}\n".format(x[0], val[0])) + file.write("{}, {}\n".format(x[1], val[1])) + file.write("{}, {}\n".format(x[2], val[2])) + file.write("{}, {}\n".format(x[3], val[2])) + file.write("{}, {}\n".format(x[3], val[3])) + file.write("{}, {}\n".format(x[4], val[3])) + file.write("{}, {}\n".format(x[4], val[4])) + file.write("{}, {}\n".format(x[5], val[4])) + +def check_args(args): + if args.p is not None and (args.p[0] <= args.p[1]): + raise Exception("p1 must be > p2") + elif args.rho is not None and (args.rho[0] <= args.rho[1]): + raise Exception("rho1 must be > rho2") + elif args.L is not None and (args.L <= 0.0): + raise Exception("L must be > 0") + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-t', type=float, help='time of results', default=3.0e-5) + parser.add_argument('-p', type=float, help='pressure', nargs = 2, default=(100, 10.0)) + parser.add_argument('-rho', type=float, help='density', nargs = 2, default=(0.0016036396304, 0.0016036396304*0.1)) + parser.add_argument('-L', type=float, help='tube length', default=0.1) + parser.add_argument('-plt', type=bool, help='plot values', const=True, nargs='?') + parser.add_argument('-w', type=str, help='write to file') + + args = parser.parse_args() + + check_args(args) + + # number points per segment + N = 10 + + # gas = Ar + gamma = 1.67 + Gamma = (gamma - 1.0) / (gamma + 1.0) + beta = (gamma - 1.0) / (2.0 * gamma) + mass = 6.6422e-26 + + # boundary conditions + rho = np.zeros(5) + p = np.zeros(5) + u = np.zeros(5) + + rho[0] = args.rho[0] + p[0] = args.p[0] + u[0] = 0.0 + + rho[-1] = args.rho[1] + p[-1] = args.p[1] + u[-1] = 0.0 + + # calculating states + p[1] = p[0] + p[2] = _calc_p3(p, rho, Gamma, gamma, beta) + p[3] = p[2] + + # speed of characterisics + u[1] = np.sqrt(gamma * p[0] / rho[0]) # speed of rarefication going left + u[2] = 0 + u[3] = (p[2] - p[4]) / np.sqrt((rho[4]/2) * ((gamma + 1) * p[2] + (gamma - 1) * p[4])) + u[4] = np.sqrt(gamma * p[-1] / rho[-1]) # speed of pressure increase going right + + rho[1] = rho[0] + rho[2] = rho[0]*(p[2] / p[0])**(1.0/gamma) + rho[3] = rho[4] * (p[3] + Gamma*p[4]) / (p[4] + Gamma*p[3]) + + n = [r/mass for r in rho] + T = [p[i] / (n[i] * kb) for i in range(5)] + + # calc x + x = np.array([0.0, args.L*0.5 - args.t*u[1], args.L*0.5, args.L*0.5 + args.t*u[3], args.L*0.5 + args.t*u[3] + args.t*u[4], args.L]) + + if args.plt: + plot_val(x, rho, "rho") + plot_val(x, n, "n") + plot_val(x, p, "p") + plot_val(x, T, "T") + + if args.w: + print("writing to file " + args.w + "_X.csv") + write_values(x, rho, "rho", args.w) + write_values(x, p, "p", args.w) + write_values(x, n, "n", args.w) + write_values(x, T, "T", args.w) + + print("done") From 2a01d06b7460031566073182b46dcb8654e7bb1d Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Mon, 3 Oct 2022 20:15:28 +0200 Subject: [PATCH 18/23] implemented 2d sort (#18) --- dsmc/common.py | 10 +++- dsmc/diagnostics.py | 61 ++++++++++++++++++++ dsmc/octree.py | 9 +-- dsmc/writer/__init__.py | 2 + dsmc/{writer.py => writer/octree.py} | 0 dsmc/writer/planar.py | 86 ++++++++++++++++++++++++++++ setup.py | 2 +- tests/diagnostics/dia_test.py | 45 +++++++++++++++ 8 files changed, 205 insertions(+), 10 deletions(-) create mode 100644 dsmc/writer/__init__.py rename dsmc/{writer.py => writer/octree.py} (100%) create mode 100644 dsmc/writer/planar.py create mode 100644 tests/diagnostics/dia_test.py diff --git a/dsmc/common.py b/dsmc/common.py index 0990d48..17bc81d 100644 --- a/dsmc/common.py +++ b/dsmc/common.py @@ -1,5 +1,11 @@ -from numba import cfunc +from numba import cfunc, njit @cfunc("double(double[::3, ::2])") def get_V(a): - return (a[0][1] - a[0][0]) * (a[1][1] - a[1][0]) * (a[2][1] - a[2][0]) \ No newline at end of file + return (a[0][1] - a[0][0]) * (a[1][1] - a[1][0]) * (a[2][1] - a[2][0]) + +@njit +def swap(arr, pos1, pos2): + temp = arr[pos2] + arr[pos2] = arr[pos1] + arr[pos1] = temp \ No newline at end of file diff --git a/dsmc/diagnostics.py b/dsmc/diagnostics.py index 56b0b7f..97a7e58 100644 --- a/dsmc/diagnostics.py +++ b/dsmc/diagnostics.py @@ -1,6 +1,67 @@ import numpy as np +from numba import njit from . import particles as prt from . import octree as oc +from . import common as com + +@njit +def _in_2d_box(pos, box): + a = pos[0] >= box[0][0] and pos[0] <= box[0][1] + b = pos[1] >= box[1][0] and pos[1] <= box[1][1] + return a and b + +@njit +def _set_up_2d_boxes(x0, x1, y0, y1, Nx, Ny): + dx = (x1 - x0) / Nx + dy = (y1 - y0) / Ny + boxes = np.empty((Nx*Ny, 2, 2)) + y = y0 + + for i in range(Ny): + x = x0 + for j in range(Nx): + k = j + i*Nx + boxes[k][0][0] = x + boxes[k][0][1] = x + dx + boxes[k][1][0] = y + boxes[k][1][1] = y + dy + x += dx + y += dy + + return boxes + +@njit +def _sort_2d(positions, x0, x1, y0, y1, Nx, Ny): + boxes = _set_up_2d_boxes(x0, x1, y0, y1, Nx, Ny) # [] : bix id, [][] : axis, [][][] : 0 min , 1 max + permutations = [i for i in range(len(positions))] + leafs = np.zeros((Nx * Ny, 2), dtype=np.int_) # leaf[0] : ofseat, leaf[1] : n-parts + + for i in range(len(leafs)): + leafs[i][0] = leafs[i - 1][0] + leafs[i - 1][1] if i > 0 else 0 + leafs[i][1] = 0 + runner = leafs[i][0] + for j in range(leafs[i][0], len(positions)): + p = permutations[j] + if _in_2d_box(positions[p], boxes[i]): + com.swap(permutations, j, runner) + runner += 1 + leafs[i][1] += 1 + + return (permutations, leafs, boxes) + +class Values: + def __init__(self): + self.number_elements = 0 + +def analyse_2d(positions, x0, x1, y0, y1, Nx, Ny): + permutations, leafs, boxes = _sort_2d(positions, x0, x1, y0, y1, Nx, Ny) + values = [Values() for _ in range(len(leafs))] + + for i in range(len(leafs)): + values[i].number_elements = leafs[i][1] + + return (boxes, values) + def sort_bin(positions, axis, Nbin): bins = [[] for _ in range(Nbin)] diff --git a/dsmc/octree.py b/dsmc/octree.py index cd18815..dd40ed0 100644 --- a/dsmc/octree.py +++ b/dsmc/octree.py @@ -1,6 +1,7 @@ import numpy as np import numpy.typing as npt from numba import njit +from . import common as com fmin = np.finfo(float).min fmax = np.finfo(float).max @@ -69,12 +70,6 @@ def _is_inside(position : npt.NDArray, box : npt.NDArray) -> bool: c : bool = position[2] >= box[2][0] and position[2] <= box[2][1] return a and b and c - -@njit -def _swap(arr, pos1, pos2): - temp = arr[pos2] - arr[pos2] = arr[pos1] - arr[pos1] = temp @njit def _sort(permutations : npt.NDArray, box : npt.NDArray, positions : npt.NDArray, offset : int, N : int) -> tuple[npt.NDArray, int]: @@ -103,7 +98,7 @@ def _sort(permutations : npt.NDArray, box : npt.NDArray, positions : npt.NDArray for i in range(offset, offset + N): p = new_permutations[i] if _is_inside(positions[p], box): - _swap(new_permutations, i, runner) + com.swap(new_permutations, i, runner) runner += 1 Nnew += 1 diff --git a/dsmc/writer/__init__.py b/dsmc/writer/__init__.py new file mode 100644 index 0000000..6847e5f --- /dev/null +++ b/dsmc/writer/__init__.py @@ -0,0 +1,2 @@ +from .octree import write_buttom_leafs +from .planar import write as write_planar diff --git a/dsmc/writer.py b/dsmc/writer/octree.py similarity index 100% rename from dsmc/writer.py rename to dsmc/writer/octree.py diff --git a/dsmc/writer/planar.py b/dsmc/writer/planar.py new file mode 100644 index 0000000..e6101d2 --- /dev/null +++ b/dsmc/writer/planar.py @@ -0,0 +1,86 @@ +def write(boxes, values, file_name="planar.vtu"): + f = open(file_name, "w") + + _write_header(f) + _wrtie_body(f, boxes, values) + _write_footer(f) + + f.close() + +def _write_header(f): + f.write("\n") + +def _wrtie_body(f, boxes, values): + f.write("\n") + f.write("\n".format(len(boxes) * 4, len(boxes))) + + _write_points(f, boxes) + _write_cells(f, boxes) + _write_cell_data(f, boxes, values) + + f.write("\n") + f.write("\n") + +def _write_points(f, boxes): + f.write("\n") + f.write("\n") + + for box in boxes: + f.write("{} ".format(box[0][0])) + f.write("{} ".format(box[1][0])) + f.write("{} ".format(0.0)) + + f.write("{} ".format(box[0][1])) + f.write("{} ".format(box[1][0])) + f.write("{} ".format(0.0)) + + f.write("{} ".format(box[0][1])) + f.write("{} ".format(box[1][1])) + f.write("{} ".format(0.0)) + + f.write("{} ".format(box[0][0])) + f.write("{} ".format(box[1][1])) + f.write("{} ".format(0.0)) + + f.write("\n") + f.write("\n") + + +def _write_cells(f, boxes): + k = 0 + + f.write("\n") + f.write("\n") + + for i in range(len(boxes)): + for _ in range(4): + f.write("{} ".format(k)) + k += 1 + + f.write("\n") + f.write("\n") + + for i in range(len(boxes)): + f.write("{} ".format((i + 1) * 4)) + + f.write("\n") + f.write("\n") + + for _ in range(len(boxes)): + f.write("9 ") + + f.write("\n") + f.write("\n") + +def _write_cell_data(f, boxes, values): + f.write("\n") + f.write("\n") + + for vals in values: + f.write("{} ".format(vals.number_elements)) + + f.write("\n") + f.write("\n") + +def _write_footer(f): + f.write("\n") diff --git a/setup.py b/setup.py index 9a176ef..0b8444c 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ version='0.7.0', author='Leo Basov', python_requires='>=3.10, <4', - packages=["dsmc"], + packages=["dsmc", "dsmc.writer"], install_requires=[ 'numpy', 'llvmlite', diff --git a/tests/diagnostics/dia_test.py b/tests/diagnostics/dia_test.py new file mode 100644 index 0000000..768b85d --- /dev/null +++ b/tests/diagnostics/dia_test.py @@ -0,0 +1,45 @@ +import numpy as np +import dsmc.diagnostics as dia +import dsmc.writer as wrt +import time + +def create_particles(N, radius): + positions = np.empty((N + 1, 3)) + + for i in range(N): + phi = np.random.random() * 2.0 * np.pi + theta = np.random.random() * np.pi + r = np.random.normal(0.0, 0.01) + theta1 = np.random.random() * np.pi - 0.5 * np.pi + dis = np.array((r * np.sin(theta) * np.cos(phi), r * np.sin(theta) * np.sin(phi), r * np.cos(theta))) + offset = np.array((radius * np.sin(theta1), radius * np.cos(theta1), 0.0)) + + dis += offset; + positions[i] = dis + + positions[N] = np.array((0.0, -1.0, 0.0)) + + return positions + +if __name__ == "__main__": + N = 10000 + radius = 1.0 + positions = create_particles(N, radius) + + # set up sort + Nx = 100 + Ny = 100 + x0 = -1.5 + x1 = 1.5 + y0 = -1.5 + y1 = 1.5 + + start_time = time.time() + boxes, values = dia.analyse_2d(positions, x0, x1, y0, y1, Nx, Ny) + print("--- %s seconds ---" % (time.time() - start_time)) + + print("writing to file") + + wrt.write_planar(boxes, values) + + print("done") \ No newline at end of file From ff1f35964a6c9abed81f34ac2640fffb99fa8dcc Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Sun, 9 Oct 2022 21:19:55 +0200 Subject: [PATCH 19/23] implemented cuboid domain object (#23) --- CHANGELOG.md | 13 ++ doc/Boundary.ipynb | 167 ++++++++++++++++++++++ dsmc/boundary.py | 180 ++++++++++++++++++++++++ dsmc/common.py | 11 +- dsmc/diagnostics.py | 73 +++------- dsmc/dsmc.py | 87 ++++++++++-- dsmc/mesh/__init__.py | 2 + dsmc/mesh/mesh2d.py | 82 +++++++++++ dsmc/particles.py | 11 +- dsmc/writer/__init__.py | 1 + dsmc/writer/particles.py | 5 + examples/hypersonic_flow.py | 90 ++++++++++++ examples/hypersonic_flow_mini.py | 70 +++++++++ setup.py | 4 +- tests/domain/boundary.py | 93 ++++++++++++ tests/domain/domain_obj.py | 86 ++++++++++++ tests/unit/main.py | 2 + tests/unit/test_dsmc/boundary.py | 195 ++++++++++++++++++++++++++ tests/unit/test_dsmc/mesh/__init__.py | 2 + tests/unit/test_dsmc/mesh/mesh2d.py | 143 +++++++++++++++++++ tests/unit/test_dsmc/particles.py | 3 +- 21 files changed, 1245 insertions(+), 75 deletions(-) create mode 100644 doc/Boundary.ipynb create mode 100644 dsmc/boundary.py create mode 100644 dsmc/mesh/__init__.py create mode 100644 dsmc/mesh/mesh2d.py create mode 100644 dsmc/writer/particles.py create mode 100644 examples/hypersonic_flow.py create mode 100644 examples/hypersonic_flow_mini.py create mode 100644 tests/domain/boundary.py create mode 100644 tests/domain/domain_obj.py create mode 100644 tests/unit/test_dsmc/boundary.py create mode 100644 tests/unit/test_dsmc/mesh/__init__.py create mode 100644 tests/unit/test_dsmc/mesh/mesh2d.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a0257d..761b90c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.9.0] - 2022-10-09 +## Added +- mesh2d as for diagnostic purposes +- particle writer +- docs +- hypersonic test case +- backup boundary module + +## [0.8.0] - 2022-10-03 +### Added +- planar writer +- planar diagnostic + ## [0.7.0] - 2022-10-01 ### Added - inflow boundary condition diff --git a/doc/Boundary.ipynb b/doc/Boundary.ipynb new file mode 100644 index 0000000..f2bc8b3 --- /dev/null +++ b/doc/Boundary.ipynb @@ -0,0 +1,167 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "d49edbe1-fe92-4a67-82e9-78a877139d5d", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import sympy as sym" + ] + }, + { + "cell_type": "markdown", + "id": "7f598afc-282c-4bb5-8d47-80c77fcc1178", + "metadata": {}, + "source": [ + "**Boundary collision method**\n", + "\n", + "Given a plane $\\Pi$ and and a line $L$ as\n", + "\n", + "$$\n", + "\\Pi \\rightarrow (p - p_0) \\cdot \\vec{n}_p = 0 \\\\\n", + "L \\rightarrow l = l_0 + t \\cdot \\vec{n}_l\n", + "$$\n", + "\n", + "where $\\vec{n}_1$ is the normal vector of a plane given as\n", + "\n", + "$$\n", + "\\vec{n}_p = (p_1 - p_0) \\times (p_2 - p_0)\n", + "$$\n", + "\n", + "is a vector in the direction of the line as\n", + "\n", + "$$\n", + "\\vec{n}_l = l_1 - l_0.\n", + "$$\n", + "\n", + "The positons of the intersection point found by setting the point $p$ in the equation for the plane as being a point in the equation of the line:\n", + "\n", + "$$\n", + "(l - p_0) \\cdot \\vec{n}_p = 0 = (l_0 + t \\cdot \\vec{n}_l - p_0) \\cdot \\vec{n}_p \\implies t = - \\frac{(l_0 - p_0) \\cdot \\vec{n}_p}{\\vec{n}_p \\cdot \\vec{n}_l}\n", + "$$\n", + "\n", + "inserting the line equation the intersection point can be found as\n", + "\n", + "$$\n", + "l^* = l_0 + t \\cdot \\vec{n}_l.\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4abb0e41-5e15-4326-b663-df0b6b5cfe0b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0. 0. 0.]\n" + ] + } + ], + "source": [ + "l1 = np.array([1.0, 1.0, 0.0])\n", + "l0 = np.array([-1.0, -1.0, 0.0])\n", + "\n", + "p0 = np.array([0.0, -1.0, -1.0])\n", + "p1 = np.array([0.0, -1.0, 1.0])\n", + "p2 = np.array([0.0, 1.0, 1.0])\n", + "\n", + "nl = l1 - l0\n", + "n_p = np.cross((p1 - p0), (p2 - p0))\n", + "\n", + "t = - ((l0 - p0).dot(n_p) / n_p.dot(nl))\n", + "\n", + "ls = l0 +t*nl\n", + "\n", + "print(ls)" + ] + }, + { + "cell_type": "markdown", + "id": "d43f6e71-7324-4b21-9c0d-371fb76d01f6", + "metadata": {}, + "source": [ + "**Reflections**\n", + "\n", + "The reflected line can be found as\n", + "\n", + "$$\n", + "L_R \\rightarrow l_R = l^* + \\lambda \\cdot \\vec{n}_R\n", + "$$\n", + "\n", + "with \n", + "\n", + "$$\n", + "\\vec{n}_R = \\vec{n}_l - 2 \\frac{\\vec{n}_p \\cdot \\vec{n}_l}{|| \\vec{n}_p ||^2} \\cdot \\vec{n}_p.\n", + "$$\n", + "\n", + "The reflected point can now the found as \n", + "\n", + "$$\n", + "l_R = l^* + (1 - t) \\cdot \\vec{n}_R\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "91de06b7-7511-471d-9b64-f9c2a784d682", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1., -1., 0.])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nR = nl - 2*(n_p.dot(nl) / n_p.dot(n_p))*n_p\n", + "lR = ls - (1 -t )*nR\n", + "\n", + "lR" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a81e9e3a-d8d0-463f-a5e4-b8700e696875", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dsmc/boundary.py b/dsmc/boundary.py new file mode 100644 index 0000000..b2f979a --- /dev/null +++ b/dsmc/boundary.py @@ -0,0 +1,180 @@ +import numpy as np +from numba import njit +from . import common as co + +@njit +def _check_if_parallel(v1, v2, diff=1e-6): + n1 = np.linalg.norm(v1) + n2 = np.linalg.norm(v2) + + if n1 < 1.0e-13 or n2 < 1.0e-13: + return False + + V1 = np.copy(v1) / n1 + V2 = np.copy(v2) / n2 + + return V1.dot(V2) > diff + +@njit +def _intersect(l0, l1, p0, p1, p2): + """ + Args: + l0 : first position on line + l1 : second position on line + p0 : first position on plane + p1 : first position on plane + p2 : first position on plane + + Returns: + (intersected, n_l, n_r, t) + """ + n_l = l1 - l0 + n_p = np.cross((p1 - p0), (p2 - p1)) + + if _check_if_parallel(n_l, n_p): + return (True, n_l, n_p, - ((l0 - p0).dot(n_p) / n_p.dot(n_l))) + else: + return (False, n_l, n_p, 0.0) + +@njit +def _calc_nr(n_l, n_p): + return n_l - 2.0 * (n_p.dot(n_l) / n_p.dot(n_p))*n_p + +@njit +def _reflect(vel, pos, pos_old, p0, p1, p2, domain): + intersected, n_l, n_p, t = _intersect(pos_old, pos, p0, p1, p2) + + if intersected and t < 1.0 and t > 0.0: + k = 1.0 + p = pos_old + n_l*(t*k) + while not co.is_inside(p, domain): + k *= 0.9 + p = pos_old + n_l*(t*k) + pos_old = p + n_r = _calc_nr(n_l, n_p) + pos = pos_old + (1.0 - t)*n_r + vel = (np.linalg.norm(vel) / np.linalg.norm(n_r))*n_r + + return (vel, pos, pos_old) + +@njit +def _get_plane(domain, i, j): + if i == 0: + if j == 0: + p0 = np.array([domain[i][j], domain[1][0], domain[2][0]]) + p1 = np.array([domain[i][j], domain[1][0], domain[2][1]]) + p2 = np.array([domain[i][j], domain[1][1], domain[2][0]]) + elif j == 1: + p0 = np.array([domain[i][j], domain[1][0], domain[2][0]]) + p1 = np.array([domain[i][j], domain[1][1], domain[2][0]]) + p2 = np.array([domain[i][j], domain[1][0], domain[2][1]]) + elif i == 1: + if j == 0: + p0 = np.array([domain[0][0], domain[i][j], domain[2][0]]) + p1 = np.array([domain[0][1], domain[i][j], domain[2][0]]) + p2 = np.array([domain[0][0], domain[i][j], domain[2][1]]) + if j == 1: + p0 = np.array([domain[0][0], domain[i][j], domain[2][0]]) + p1 = np.array([domain[0][0], domain[i][j], domain[2][1]]) + p2 = np.array([domain[0][1], domain[i][j], domain[2][0]]) + elif i == 2: + if j == 0: + p0 = np.array([domain[0][0], domain[1][0], domain[i][j]]) + p1 = np.array([domain[0][0], domain[1][1], domain[i][j]]) + p2 = np.array([domain[0][1], domain[1][0], domain[i][j]]) + if j == 1: + p0 = np.array([domain[0][0], domain[1][0], domain[i][j]]) + p1 = np.array([domain[0][1], domain[1][0], domain[i][j]]) + p2 = np.array([domain[0][0], domain[1][1], domain[i][j]]) + + return (p0, p1, p2) + +@njit +def _boundary(velocities, positions, old_positions, domain, boundary_conds): + kept_parts = np.ones(positions.shape[0], dtype=np.uint) + + for p in range(len(positions)): + counter = 0 + while not co.is_inside(positions[p], domain) and kept_parts[p]: + if counter > 10: + kept_parts[p] = 0 + break + + for i in range(3): + for j in range(2): + p0, p1, p2 = _get_plane(domain, i, j) + if boundary_conds[i][j] == 0: + velocities[p], positions[p], old_positions[p] = _reflect(velocities[p], positions[p], old_positions[p], p0, p1, p2, domain) + counter += 1 + elif boundary_conds[i][j] == 1 or boundary_conds[i][j] == 2: + if _intersect(old_positions[p], positions[p], p0, p1, p2)[0]: + kept_parts[p] = 0 + + N = int(sum(kept_parts)) + p = 0 + new_velocities = np.empty((N, 3)) + new_positions = np.empty((N, 3)) + new_old_positions = np.empty((N, 3)) + + for i in range(positions.shape[0]): + if kept_parts[i] == 1: + new_velocities[p] = velocities[i] + new_positions[p] = positions[i] + new_old_positions[p] = old_positions[p] + p += 1 + else: + continue + + return (new_velocities, new_positions, new_old_positions) + +@njit +def _get_boundary(boundary): + if boundary == "xmin": + return (0, 0) + elif boundary == "xmax": + return (0, 1) + elif boundary == "ymin": + return (1, 0) + elif boundary == "ymax": + return (1, 1) + elif boundary == "zmin": + return (2, 0) + elif boundary == "zmax": + return (2, 1) + +@njit +def _get_bc_type(bc_type): + if bc_type == "ela": + return 0 + elif bc_type == "open": + return 1 + elif bc_type == "inflow": + return 2 + +class Boundary: + def __init__(self): + self.T = np.ones((3, 2))*300.0 + self.n = np.ones((3, 2))*1e+18 + self.u = np.zeros((3, 2, 3)) + self.boundary_conds = np.array([[0, 0], [0, 0], [0, 0]], dtype=np.uint) # 0 = ela, 1 = open, 2 = inflow + self.domain = None + + def boundary(self, velocities, positions, old_positions): + return _boundary(velocities, positions, old_positions, self.domain, self.boundary_conds) + + def set_bc_type(self, boundary, bc_type): + bound = _get_boundary(boundary) + bc = _get_bc_type(bc_type) + + self.boundary_conds[bound[0]][bound[1]] = bc + + print("boundary [" + boundary + "] set to [" + bc_type + "]") + + def set_bc_values(self, boundary, T, n, u): + i, j = _get_boundary(boundary) + + self.T[i][j] = T + self.n[i][j] = n + self.u[i][j] = u + + print("boundary [" + boundary + "] set to values T : {}, n : {}, u : {}".format(T, n, u)) \ No newline at end of file diff --git a/dsmc/common.py b/dsmc/common.py index 17bc81d..24e3fba 100644 --- a/dsmc/common.py +++ b/dsmc/common.py @@ -1,4 +1,5 @@ from numba import cfunc, njit +import numpy.typing as npt @cfunc("double(double[::3, ::2])") def get_V(a): @@ -8,4 +9,12 @@ def get_V(a): def swap(arr, pos1, pos2): temp = arr[pos2] arr[pos2] = arr[pos1] - arr[pos1] = temp \ No newline at end of file + arr[pos1] = temp + +@njit +def is_inside(position : npt.NDArray, box : npt.NDArray) -> bool: + a : bool = position[0] >= box[0][0] and position[0] <= box[0][1] + b : bool = position[1] >= box[1][0] and position[1] <= box[1][1] + c : bool = position[2] >= box[2][0] and position[2] <= box[2][1] + + return a and b and c \ No newline at end of file diff --git a/dsmc/diagnostics.py b/dsmc/diagnostics.py index 97a7e58..6f5a8ac 100644 --- a/dsmc/diagnostics.py +++ b/dsmc/diagnostics.py @@ -1,64 +1,33 @@ import numpy as np -from numba import njit from . import particles as prt from . import octree as oc -from . import common as com - -@njit -def _in_2d_box(pos, box): - a = pos[0] >= box[0][0] and pos[0] <= box[0][1] - b = pos[1] >= box[1][0] and pos[1] <= box[1][1] - return a and b - -@njit -def _set_up_2d_boxes(x0, x1, y0, y1, Nx, Ny): - dx = (x1 - x0) / Nx - dy = (y1 - y0) / Ny - boxes = np.empty((Nx*Ny, 2, 2)) - y = y0 - - for i in range(Ny): - x = x0 - for j in range(Nx): - k = j + i*Nx - boxes[k][0][0] = x - boxes[k][0][1] = x + dx - boxes[k][1][0] = y - boxes[k][1][1] = y + dy - x += dx - y += dy - - return boxes - -@njit -def _sort_2d(positions, x0, x1, y0, y1, Nx, Ny): - boxes = _set_up_2d_boxes(x0, x1, y0, y1, Nx, Ny) # [] : bix id, [][] : axis, [][][] : 0 min , 1 max - permutations = [i for i in range(len(positions))] - leafs = np.zeros((Nx * Ny, 2), dtype=np.int_) # leaf[0] : ofseat, leaf[1] : n-parts - - for i in range(len(leafs)): - leafs[i][0] = leafs[i - 1][0] + leafs[i - 1][1] if i > 0 else 0 - leafs[i][1] = 0 - runner = leafs[i][0] - for j in range(leafs[i][0], len(positions)): - p = permutations[j] - if _in_2d_box(positions[p], boxes[i]): - com.swap(permutations, j, runner) - runner += 1 - leafs[i][1] += 1 - - return (permutations, leafs, boxes) +#from . import common as com class Values: def __init__(self): self.number_elements = 0 + + def calc_vals(self, positions, velocities, ids, box): + #V = com.get_V(box) + self.number_elements = len(ids) -def analyse_2d(positions, x0, x1, y0, y1, Nx, Ny): - permutations, leafs, boxes = _sort_2d(positions, x0, x1, y0, y1, Nx, Ny) - values = [Values() for _ in range(len(leafs))] + +def analyse_2d(positions, velocities, mesh2d, h): + boxes = np.empty((len(mesh2d.cells), 3, 2)) + values = [Values() for _ in range(len(mesh2d.cells))] - for i in range(len(leafs)): - values[i].number_elements = leafs[i][1] + for y in range(mesh2d.n_cells2): + for x in range(mesh2d.n_cells1): + N = x + y * mesh2d.n_cells1 + + boxes[N][0][0] = mesh2d.min1 + mesh2d.cell_size1*x + boxes[N][0][1] = mesh2d.min1 + mesh2d.cell_size1*(x + 1) + boxes[N][1][0] = mesh2d.min2 + mesh2d.cell_size2*y + boxes[N][1][1] = mesh2d.min2 + mesh2d.cell_size2*(y + 1) + boxes[N][2][0] = 0.0 + boxes[N][2][1] = h + + values[N].calc_vals(positions, velocities, mesh2d.cells[N], boxes[N]) return (boxes, values) diff --git a/dsmc/dsmc.py b/dsmc/dsmc.py index 4b7d212..01209ae 100644 --- a/dsmc/dsmc.py +++ b/dsmc/dsmc.py @@ -7,12 +7,13 @@ @njit def _push(velocities, positions, dt): + old_positions = np.copy(positions) for p in prange(len(positions)): positions[p] = positions[p] + velocities[p]*dt - return positions + return (velocities, positions, old_positions) @njit -def _boundary(velocities, positions, domain, boundary_conds): +def _boundary(velocities, positions, old_positions, domain, boundary_conds): kept_parts = np.ones(positions.shape[0], dtype=np.uint) for p in prange(len(positions)): @@ -20,31 +21,35 @@ def _boundary(velocities, positions, domain, boundary_conds): for i in range(3): if positions[p][i] < domain[i][0]: if boundary_conds[i][0] == 0: + old_positions[p][i] = positions[p][i] positions[p][i] = 2.0 * domain[i][0] - positions[p][i] velocities[p][i] *= -1.0 elif boundary_conds[i][0] == 1 or boundary_conds[i][0] == 2: kept_parts[p] = 0 if positions[p][i] > domain[i][1]: if boundary_conds[i][1] == 0: + old_positions[p][i] = positions[p][i] positions[p][i] = 2.0 * domain[i][1] - positions[p][i] velocities[p][i] *= -1.0 elif boundary_conds[i][1] == 1 or boundary_conds[i][0] == 2: kept_parts[p] = 0 - N = sum(kept_parts) + N = int(sum(kept_parts)) p = 0 new_velocities = np.empty((N, 3)) new_positions = np.empty((N, 3)) + new_old_positions = np.empty((N, 3)) for i in range(positions.shape[0]): if kept_parts[i] == 1: new_velocities[p] = velocities[i] new_positions[p] = positions[i] + new_old_positions[p] = old_positions[p] p += 1 else: continue - return (new_velocities, new_positions) + return (new_velocities, new_positions, new_old_positions) @njit def _check_positions(velocities, positions, old_positions, domain): @@ -54,6 +59,31 @@ def _check_positions(velocities, positions, old_positions, domain): if (not oc._is_inside(positions[i], domain)) and (not oc._is_inside(old_positions[i], domain)): kept_parts[i] = 0 + N = sum(kept_parts) + p = 0 + new_velocities = np.empty((N, 3)) + new_positions = np.empty((N, 3)) + new_old_positions = np.empty((N, 3)) + + for i in prange(positions.shape[0]): + if kept_parts[i] == 1: + new_velocities[p] = velocities[i] + new_positions[p] = positions[i] + new_old_positions[p] = old_positions[i] + p += 1 + else: + continue + + return (new_velocities, new_positions, new_old_positions) + +@njit +def _check_created_particles(velocities, positions, obj): + kept_parts = np.ones(positions.shape[0], dtype=np.uint) + + for i in prange(positions.shape[0]): + if oc._is_inside(positions[i], obj): + kept_parts[i] = 0 + N = sum(kept_parts) p = 0 new_velocities = np.empty((N, 3)) @@ -69,6 +99,23 @@ def _check_positions(velocities, positions, old_positions, domain): return (new_velocities, new_positions) +@njit +def _object(velocities, positions, old_positions, coll_obj): + for p in range(positions.shape[0]): + if oc._is_inside(positions[p], coll_obj): + for i in range(3): + if (old_positions[p][i] < coll_obj[i][0]): + old_positions[p][i] = positions[p][i] + positions[p][i] = 2.0 * coll_obj[i][0] - positions[p][i] + velocities[p][i] *= -1.0 + + if (old_positions[p][i] > coll_obj[i][1]): + old_positions[p][i] = positions[p][i] + positions[p][i] = 2.0 * coll_obj[i][1] - positions[p][i] + velocities[p][i] *= -1.0 + + return (velocities, positions, old_positions) + @njit def _calc_prob(rel_vel : float, sigma_T : float, Vc : float, dt : float, w : float, N : int) -> np.single: """ @@ -179,12 +226,13 @@ def clear(self): self.boundary = Boundary() self.sigma_T = 3.631681e-19 self.mass = None + self.objects = [] def advance(self, dt, collisions=True, octree=True): if self.domain is None: raise Exception("simulation domain not defined") if self.particles.N == 0: - raise Exception("no particles in domain") + print("warning: no particles in domain") if self.w == None: raise Exception("particle weight not set") @@ -193,29 +241,39 @@ def advance(self, dt, collisions=True, octree=True): if self.boundary_conds[i][j] == 2: self.particles.inflow(self.mass, self.boundary.T[i][j], self.boundary.u[i][j], self.boundary.n[i][j], self.w, dt, self.domain, i, j) + velocities, positions, old_positions = _push(self.particles.Vel, self.particles.Pos, dt) + velocities, positions, old_positions = _check_positions(velocities, positions, old_positions, self.domain) + + + for obj in self.objects: + velocities, positions, old_positions = _object(velocities, positions, old_positions, obj) + + velocities, positions, old_positions = _boundary(velocities, positions, old_positions, self.domain, self.boundary_conds) + if octree: - self.octree.build(self.particles.Pos) + self.octree.build(positions) if collisions and octree: - self.particles.VelPos = (self._update_velocities(dt), self.particles.Pos) - old_positions = np.copy(self.particles.Pos) - positions = _push(self.particles.Vel, self.particles.Pos, dt) - self.particles.VelPos = _check_positions(self.particles.Vel, positions, old_positions, self.domain) - self.particles.VelPos = _boundary(self.particles.Vel, self.particles.Pos, self.domain, self.boundary_conds) + velocities = self._update_velocities(dt, velocities) + + self.particles.VelPos = (velocities, positions) - def _update_velocities(self, dt): + def _update_velocities(self, dt, velocities): Nleafs : int = len(self.octree.leafs) elem_offsets : np.ndarray = np.array([leaf.elem_offset for leaf in self.octree.leafs], dtype=int) number_elements : np.ndarray = np.array([leaf.number_elements for leaf in self.octree.leafs], dtype=int) number_children : np.ndarray = np.array([leaf.number_children for leaf in self.octree.leafs], dtype=int) cell_boxes : np.ndarray = np.array([box for box in self.octree.cell_boxes]) - return _update_vels(self.octree.permutations, self.particles.Vel, self.mass, self.sigma_T, dt, self.w, elem_offsets, number_elements, number_children, cell_boxes, Nleafs) + return _update_vels(self.octree.permutations, velocities, self.mass, self.sigma_T, dt, self.w, elem_offsets, number_elements, number_children, cell_boxes, Nleafs) def create_particles(self, box, T, n, u = np.zeros(3)): box = np.array(box) N = int(round(com.get_V(box) * n / self.w)) print("creating {} particles".format(N)) self.particles.create_particles(box, self.mass, T, N, u) + + for obj in self.objects: + self.particles.VelPos = _check_created_particles(self.particles.Vel, self.particles.Pos, obj) print("now containing {} particles, {} total".format(N, self.particles.N)) @@ -245,3 +303,6 @@ def set_bc_values(self, boundary, T, n, u): self.boundary.u[i][j] = u print("boundary [" + boundary + "] set to values T : {}, n : {}, u : {}".format(T, n, u)) + + def add_object(self, coll_object): + self.objects.append(np.array(coll_object)) \ No newline at end of file diff --git a/dsmc/mesh/__init__.py b/dsmc/mesh/__init__.py new file mode 100644 index 0000000..633f866 --- /dev/null +++ b/dsmc/mesh/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- + diff --git a/dsmc/mesh/mesh2d.py b/dsmc/mesh/mesh2d.py new file mode 100644 index 0000000..a409084 --- /dev/null +++ b/dsmc/mesh/mesh2d.py @@ -0,0 +1,82 @@ +from enum import Enum +import math +from numba import njit +import numpy as np + +@njit +def _get_cell_id(val1, val2, n_cells1, n_cells2, min1, min2, cell_size1, cell_size2): + if (val1 < min1): + return (False, 0) + elif (val1 > (min1 + n_cells1 * cell_size1)): + return (False, 0) + else: + cell_id1 = math.floor((val1 - min1) / cell_size1) + + if (val2 < min2): + return (False, 0) + elif (val2 > (min2 + n_cells2 * cell_size2)): + return (False, 0) + else: + cell_id2 = math.floor((val2 - min2) / cell_size2) + + return (True, cell_id2 * n_cells1 + cell_id1) + +@njit +def _sort(values1, values2, n_cells1, n_cells2, min1, min2, cell_size1, cell_size2): + inside = np.empty((len(values1)), np.bool_) + ids = np.empty((len(values1)), np.int_) + + for i in range(len(values1)): + inside[i], ids[i] = _get_cell_id(values1[i], values2[i], n_cells1, n_cells2, min1, min2, cell_size1, cell_size2) + + return (inside, ids) + + +class Plane(Enum): + XY = 0 + YZ = 1 + XZ = 2 + +class Mesh2d: + def __init__(self): + self.clear() + + def clear(self): + self.cell_size1 = 1.0 + self.cell_size2 = 1.0 + self.min1 = 0.0 + self.min2 = 0.0 + self.n_cells1 = 1 + self.n_cells2 = 1 + self.plane = Plane.XY + self.cells = None # this holds an 2d array, cells[] : cells, cells[][] position ids in cell + + def sort(self, position): + self.cells = [[] for _ in range(self.n_cells1 * self.n_cells2)] + + match self.plane: + case Plane.XY: + positions1 = np.array([position[i][0] for i in range(len(position))]) + positions2 = np.array([position[i][1] for i in range(len(position))]) + case Plane.YZ: + positions1 = np.array([position[i][1] for i in range(len(position))]) + positions2 = np.array([position[i][2] for i in range(len(position))]) + case Plane.XZ: + positions1 = np.array([position[i][0] for i in range(len(position))]) + positions2 = np.array([position[i][2] for i in range(len(position))]) + + inside, cell_ids = _sort(positions1, positions2, self.n_cells1, self.n_cells2, self.min1, self.min2, self.cell_size1, self.cell_size2) + sorted_ids = np.argsort(cell_ids) + + for idx in sorted_ids: + if inside[idx]: + self.cells[cell_ids[idx]].append(idx) + + def get_cell_id(self, position): + match self.plane: + case Plane.XY: + return _get_cell_id(position[0], position[1], self.n_cells1, self.n_cells2, self.min1, self.min2, self.cell_size1, self.cell_size2) + case Plane.YZ: + return _get_cell_id(position[1], position[2], self.n_cells1, self.n_cells2, self.min1, self.min2, self.cell_size1, self.cell_size2) + case Plane.XZ: + return _get_cell_id(position[0], position[2], self.n_cells1, self.n_cells2, self.min1, self.min2, self.cell_size1, self.cell_size2) \ No newline at end of file diff --git a/dsmc/particles.py b/dsmc/particles.py index 421fbff..4516065 100644 --- a/dsmc/particles.py +++ b/dsmc/particles.py @@ -83,7 +83,7 @@ def calc_temperature(velocities, mass): return tot_e / ((3.0/2.0) * len(velocities) * kb) @njit -def calc_positions(x, y, z, N): +def calc_positions(X, N): """ Parameters ---------- @@ -97,9 +97,8 @@ def calc_positions(x, y, z, N): positions = np.empty((N, 3)) for i in range(N): - positions[i][0] = x[0] + np.random.random() * (x[1] - x[0]) - positions[i][1] = y[0] + np.random.random() * (y[1] - y[0]) - positions[i][2] = z[0] + np.random.random() * (z[1] - z[0]) + for j in range(3): + positions[i][j] = X[j][0] + np.random.random() * (X[j][1] - X[j][0]) return positions @@ -136,11 +135,11 @@ def VelPos(self, vel_pos): def create_particles(self, X, mass, T, N, u = np.zeros(3)): if self._N == 0: self._velocities = get_velocities(T, mass, N, u) - self._positions = calc_positions(X[0], X[1], X[2], N) + self._positions = calc_positions(X, N) self._N = N else: self._velocities = np.concatenate((self._velocities, get_velocities(T, mass, N, u))) - self._positions = np.concatenate((self._positions, calc_positions(X[0], X[1], X[2], N))) + self._positions = np.concatenate((self._positions, calc_positions(X, N))) self._N += N diff --git a/dsmc/writer/__init__.py b/dsmc/writer/__init__.py index 6847e5f..a53d8ad 100644 --- a/dsmc/writer/__init__.py +++ b/dsmc/writer/__init__.py @@ -1,2 +1,3 @@ from .octree import write_buttom_leafs from .planar import write as write_planar +from .particles import write_positions diff --git a/dsmc/writer/particles.py b/dsmc/writer/particles.py new file mode 100644 index 0000000..b6f2c5d --- /dev/null +++ b/dsmc/writer/particles.py @@ -0,0 +1,5 @@ +def write_positions(particles, file_name="positions.csv"): + with open(file_name, "w") as file: + file.write("x, y, z\n") + for pos in particles.Pos: + file.write("{}, {}, {}\n".format(pos[0], pos[1], pos[2])) \ No newline at end of file diff --git a/examples/hypersonic_flow.py b/examples/hypersonic_flow.py new file mode 100644 index 0000000..d084f39 --- /dev/null +++ b/examples/hypersonic_flow.py @@ -0,0 +1,90 @@ +import dsmc +import dsmc.writer as wrt +import dsmc.diagnostics as dia +import dsmc.mesh.mesh2d as msh2d +import dsmc.octree as oc +import time +import numpy as np + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + domain = [(-3.0, 3.0), (-1.5, 1.5), (-0.025, 0.025)] + obj = [(-0.25, 0.25), (-0.25, 0.25), (-0.5, 0.5)] + dt = 1e-6 + w = 0.2 * 2.3e+15 + mass = 6.6422e-26 + T = 273.0 + n = 2.6e+19 + u = np.array([0.0, -3043.0, 0.0]) + niter = 1000 + niter_sample = 100 + + # set up mesh2 + mesh = msh2d.Mesh2d() + + mesh.n_cells1 = 100 + mesh.n_cells2 = 50 + mesh.min1 = domain[0][0] + mesh.min2 = domain[1][0] + mesh.cell_size1 = 0.06 + mesh.cell_size2 = 0.06 + + h = domain[2][1] - domain[2][0] + + # setup solver + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + # set up boundary + solver.set_bc_type("xmin", "inflow") + solver.set_bc_type("xmax", "inflow") + solver.set_bc_type("ymax", "inflow") + + solver.set_bc_type("ymin", "open") + + solver.set_bc_values("xmin", T, n, u) + solver.set_bc_values("xmax", T, n, u) + solver.set_bc_values("ymax", T, n, u) + + # set object + solver.add_object(obj) + + # create particles + solver.create_particles(domain, T, n, u) + + # trees + tree_inner = oc.Octree() + tree_outer = oc.Octree() + + inner_pos = np.array([[-0.25, -0.25, -0.025], [0.25, 0.25, 0.025]]) + outer_pos = np.array([[-3.0, -1.5, -0.025], [3.0, 1.5, 0.025]]) + + tree_inner.build(inner_pos) + tree_outer.build(outer_pos) + + wrt.write_buttom_leafs(tree_inner, "innter.vtu") + wrt.write_buttom_leafs(tree_outer, "outer.vtu") + + # start timing + start_time = time.time() + + for it in range(niter): + print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) + solver.advance(dt) + + for it in range(niter_sample): + print("iteration {:4}/{}".format(it + 1, niter_sample), end="\r", flush=True) + solver.advance(dt) + + if (it + 1)%10 == 0: + mesh.sort(solver.particles.Pos) + boxes, values = dia.analyse_2d(solver.particles.Pos, solver.particles.Vel, mesh, h) + wrt.write_planar(boxes, values, "hypersonic_{}.vtu".format(it)) + + wrt.write_buttom_leafs(solver.octree) + + print("") + print("--- %s seconds ---" % (time.time() - start_time)) + print('done') \ No newline at end of file diff --git a/examples/hypersonic_flow_mini.py b/examples/hypersonic_flow_mini.py new file mode 100644 index 0000000..109eb1c --- /dev/null +++ b/examples/hypersonic_flow_mini.py @@ -0,0 +1,70 @@ +import dsmc +import dsmc.writer as wrt +import dsmc.octree as oc +import time +import numpy as np + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + domain = [(-3.0, 3.0), (-1.5, 1.5), (-0.025, 0.025)] + obj = [(-0.25, 0.25), (-0.25, 0.25), (-0.5, 0.5)] + dt = 1e-6 + w = 0.2 * 2.3e+15 + mass = 6.6422e-26 + T = 273.0 + n = 2.6e+19 + u = np.array([0.0, -3043.0, 0.0]) + niter = 500 + + h = domain[2][1] - domain[2][0] + + # setup solver + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + # set object + solver.add_object(obj) + + # trees + tree_inner = oc.Octree() + tree_outer = oc.Octree() + + inner_pos = np.array([[-0.25, -0.25, -0.025], [0.25, 0.25, 0.025]]) + outer_pos = np.array([[-3.0, -1.5, -0.025], [3.0, 1.5, 0.025]]) + + tree_inner.build(inner_pos) + tree_outer.build(outer_pos) + + # create particles + positions = np.zeros((2, 3)) + velocities = np.zeros((2, 3)) + + positions[0][0] = -0.01 + positions[0][1] = 1.4 + positions[0][2] = -0.01 + + positions[1][0] = 0.01 + positions[1][1] = 1.3 + positions[1][2] = 0.01 + + velocities[0][1] = -3043.0 + velocities[1][1] = -3043.0 + + solver.particles.VelPos = (velocities, positions) + + # start timing + start_time = time.time() + + for it in range(niter): + print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) + solver.advance(dt) + wrt.write_positions(solver.particles, "pos_{}.csv".format(it)) + + wrt.write_buttom_leafs(tree_inner, "innter.vtu") + wrt.write_buttom_leafs(tree_outer, "outer.vtu") + + print("") + print("--- %s seconds ---" % (time.time() - start_time)) + print('done') \ No newline at end of file diff --git a/setup.py b/setup.py index 0b8444c..800507d 100644 --- a/setup.py +++ b/setup.py @@ -1,10 +1,10 @@ from setuptools import setup setup( name='dsmc', - version='0.7.0', + version='0.9.0', author='Leo Basov', python_requires='>=3.10, <4', - packages=["dsmc", "dsmc.writer"], + packages=["dsmc", "dsmc.writer", "dsmc.mesh"], install_requires=[ 'numpy', 'llvmlite', diff --git a/tests/domain/boundary.py b/tests/domain/boundary.py new file mode 100644 index 0000000..5d70ba9 --- /dev/null +++ b/tests/domain/boundary.py @@ -0,0 +1,93 @@ +import dsmc.dsmc as ds +import dsmc.particles as prt +import dsmc.octree as oc +import dsmc.writer as wrt +import dsmc.boundary as bo +import dsmc.common as co +import time +import numpy as np + +def create_pos_and_vels(): + positions = np.zeros((6, 3)) + velocitiies = np.zeros((6, 3)) + + # x + positions[0][0] = -0.75 + velocitiies[0][0] = 100.0 + + positions[1][0] = 0.75 + velocitiies[1][0] = -100.0 + + # y + positions[2][1] = -0.75 + velocitiies[2][1] = 100.0 + + positions[3][1] = 0.75 + velocitiies[3][1] = -100.0 + + # z + positions[4][2] = -0.75 + velocitiies[4][2] = 100.0 + + positions[5][2] = 0.75 + velocitiies[5][2] = -100.0 + + return (velocitiies, positions) + +if __name__ == '__main__': + # general parameters + boundary = bo.Boundary() + particles = prt.Particles() + domain = np.array([(-1.0, 1.0), (-1.0, 1.0), (-1.0, 1.0)]) + dt = 0.0001 + w = 2.3e+16 + mass = 6.6422e-26 + T = 273.0 + n = 2.6e+19 + N = int(co.get_V(domain)*n/w) + niter = 1000 + + # trees + tree_outer = oc.Octree() + outer_pos = np.array([[-1.0, -1.0, -1.0], [1.0, 1.0, 1.0]]) + tree_outer.build(outer_pos) + #wrt.write_buttom_leafs(tree_outer, "outer_box.vtu") + + # setup solver + boundary.domain = domain + + # create particles + particles.create_particles(domain, mass, T, N) + + velocities, positions = particles.VelPos + + #particles.VelPos = create_pos_and_vels() + + # start timing + start_time = time.time() + + wrt.write_positions(particles, "pos_{}.csv".format(0)) + + E0 = 0.0 + + for vel in particles.Vel: + E0 += vel.dot(vel) + + for it in range(niter): + E = 0.0 + + velocities, positions, old_positions = ds._push(particles.Vel, particles.Pos, dt) + velocities, positions, old_positions = boundary.boundary(velocities, positions, old_positions) + + particles.VelPos = (velocities, positions) + wrt.write_positions(particles, "pos_{}.csv".format(it + 1)) + + for vel in particles.Vel: + E += vel.dot(vel) + + print("iteration {:4}/{}, N particles {}/{}, Efrac {}".format(it + 1, niter, particles.N, N, E/E0), end="\r", flush=True) + + + print("") + print("--- %s seconds ---" % (time.time() - start_time)) + print('done') \ No newline at end of file diff --git a/tests/domain/domain_obj.py b/tests/domain/domain_obj.py new file mode 100644 index 0000000..22c8ad1 --- /dev/null +++ b/tests/domain/domain_obj.py @@ -0,0 +1,86 @@ +import dsmc +import dsmc.octree as oc +import dsmc.writer as wrt +import time +import numpy as np + +def create_pos_and_vels(): + positions = np.zeros((6, 3)) + velocitiies = np.zeros((6, 3)) + + # x + positions[0][0] = -0.75 + velocitiies[0][0] = 1.0 + + positions[1][0] = 0.75 + velocitiies[1][0] = -1.0 + + # y + positions[2][1] = -0.75 + velocitiies[2][1] = 1.0 + + positions[3][1] = 0.75 + velocitiies[3][1] = -1.0 + + # z + positions[4][2] = -0.75 + velocitiies[4][2] = 1.0 + + positions[5][2] = 0.75 + velocitiies[5][2] = -1.0 + + return (velocitiies, positions) + +def write_partices(positions, it): + with open("particles_{}.csv".format(it), "w") as file: + file.write("x, y, z\n") + for pos in positions: + file.write("{}, {}, {}\n".format(pos[0], pos[1], pos[2])) + +if __name__ == '__main__': + # general parameters + solver = dsmc.DSMC() + domain = [(-1.0, 1.0), (-1.0, 1.0), (-1.0, 1.0)] + obj = [(-0.5, 0.5), (-0.5, 0.5), (-0.5, 0.5)] + dt = 0.01 + w = 2.3e+14 + mass = 6.6422e-26 + T = 273.0 + n = 2.6e+19 + niter = 200 + + # trees + tree_inner = oc.Octree() + tree_outer = oc.Octree() + + inner_pos = np.array([[-0.5, -0.5, -0.5], [0.5, 0.5, 0.5]]) + outer_pos = np.array([[-1.0, -1.0, -1.0], [1.0, 1.0, 1.0]]) + + tree_inner.build(inner_pos) + tree_outer.build(outer_pos) + + # setup solver + solver.set_domain(domain) + solver.set_weight(w) + solver.set_mass(mass) + + # set object + solver.add_object(obj) + + # create particles + solver.particles.VelPos = create_pos_and_vels() + + # start timing + start_time = time.time() + + for it in range(niter): + print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) + solver.advance(dt, octree=False) + write_partices(solver.particles.Pos, it) + + wrt.write_buttom_leafs(tree_inner, "inner_box.vtu") + wrt.write_buttom_leafs(tree_outer, "outer_box.vtu") + + print("") + print("--- %s seconds ---" % (time.time() - start_time)) + print('done') \ No newline at end of file diff --git a/tests/unit/main.py b/tests/unit/main.py index df9783a..4cae687 100644 --- a/tests/unit/main.py +++ b/tests/unit/main.py @@ -7,6 +7,8 @@ from test_dsmc.octree import * from test_dsmc.diagnostics import * from test_dsmc.common import * +from test_dsmc.mesh.mesh2d import * +from test_dsmc.boundary import * if __name__ == '__main__': unittest.main() diff --git a/tests/unit/test_dsmc/boundary.py b/tests/unit/test_dsmc/boundary.py new file mode 100644 index 0000000..ed983fb --- /dev/null +++ b/tests/unit/test_dsmc/boundary.py @@ -0,0 +1,195 @@ +import numpy as np +import dsmc.boundary as bo +import unittest + +class TestCommon(unittest.TestCase): + def test__check_if_parallel(self): + v1 = np.array([1.0, 0.0, 0.0]) + v2 = np.array([1.0, 0.0, 0.0]) + v3 = np.array([0.0, 1.0, 1.0]) + v4 = np.array([1.0e-6, 10.0, 10.0]) + + self.assertTrue(bo._check_if_parallel(v1, v2)) + self.assertFalse(bo._check_if_parallel(v1, v3)) + self.assertFalse(bo._check_if_parallel(v1, v4)) + + def test__intersect(self): + l0 = np.array([-1.0, -1.0, 0.0]) + l1 = np.array([1.0, 1.0, 0.0]) + + p0 = np.array([0.0, -1.0, -1.0]) + p1 = np.array([0.0, 1.0, -1.0]) + p2 = np.array([0.0, -1.0, 1.0]) + + intersected, n_l, n_p, t = bo._intersect(l0, l1, p0, p1, p2) + + self.assertTrue(intersected) + + self.assertEqual(2.0, n_l[0]) + self.assertEqual(2.0, n_l[1]) + self.assertEqual(0.0, n_l[2]) + + self.assertEqual(4.0, n_p[0]) + self.assertEqual(0.0, n_p[1]) + self.assertEqual(0.0, n_p[2]) + + self.assertEqual(0.5, t) + + def test__calc_nr(self): + l0 = np.array([-1.0, -1.0, 0.0]) + l1 = np.array([1.0, 1.0, 0.0]) + + p0 = np.array([0.0, -1.0, -1.0]) + p1 = np.array([0.0, -1.0, 1.0]) + p2 = np.array([0.0, 1.0, 1.0]) + + intersected, n_l, n_p, t = bo._intersect(l0, l1, p0, p1, p2) + n_r = bo._calc_nr(n_l, n_p) + + self.assertEqual(-2.0, n_r[0]) + self.assertEqual(2.0, n_r[1]) + self.assertEqual(0.0, n_r[2]) + + def test__reflect(self): + vel = np.array([123.0, 123.0, 0.0]) + pos_old = np.array([-1.0, -1.0, 0.0]) + pos = np.array([1.0, 1.0, 0.0]) + + domain = np.array([(-2.0, 0.0), (-1.0, 1.0), (-1.0, 1.0)]) + + p0, p1, p2 = bo._get_plane(domain, 0, 1) + + new_vel, new_pos, new_pos_old = bo._reflect(vel, pos, pos_old, p0, p1, p2, domain) + + self.assertEqual(-123.0, new_vel[0]) + self.assertEqual(123.0, new_vel[1]) + self.assertEqual(0.0, new_vel[2]) + + self.assertEqual(-1.0, new_pos[0]) + self.assertEqual(1.0, new_pos[1]) + self.assertEqual(0.0, new_pos[2]) + + self.assertEqual(0.0, new_pos_old[0]) + self.assertEqual(0.0, new_pos_old[1]) + self.assertEqual(0.0, new_pos_old[2]) + + def test__get_plane1(self): + domain = np.array([(0, 1), (2, 4), (4, 7)]) + axis = 0 + + p0, p1, p2 = bo._get_plane(domain, axis, 0) + + self.assertEqual((3,), p0.shape) + self.assertEqual((3,), p1.shape) + self.assertEqual((3,), p2.shape) + + self.assertEqual(0.0, p0[0]) + self.assertEqual(2.0, p0[1]) + self.assertEqual(4.0, p0[2]) + + self.assertEqual(0.0, p1[0]) + self.assertEqual(2.0, p1[1]) + self.assertEqual(7.0, p1[2]) + + self.assertEqual(0.0, p2[0]) + self.assertEqual(4.0, p2[1]) + self.assertEqual(4.0, p2[2]) + + p0, p1, p2 = bo._get_plane(domain, axis, 1) + + self.assertEqual((3,), p0.shape) + self.assertEqual((3,), p1.shape) + self.assertEqual((3,), p2.shape) + + self.assertEqual(1.0, p0[0]) + self.assertEqual(2.0, p0[1]) + self.assertEqual(4.0, p0[2]) + + self.assertEqual(1.0, p1[0]) + self.assertEqual(4.0, p1[1]) + self.assertEqual(4.0, p1[2]) + + self.assertEqual(1.0, p2[0]) + self.assertEqual(2.0, p2[1]) + self.assertEqual(7.0, p2[2]) + + def test__get_plane2(self): + domain = np.array([(0, 1), (2, 4), (4, 7)]) + axis = 1 + + p0, p1, p2 = bo._get_plane(domain, axis, 0) + + self.assertEqual((3,), p0.shape) + self.assertEqual((3,), p1.shape) + self.assertEqual((3,), p2.shape) + + self.assertEqual(0.0, p0[0]) + self.assertEqual(2.0, p0[1]) + self.assertEqual(4.0, p0[2]) + + self.assertEqual(1.0, p1[0]) + self.assertEqual(2.0, p1[1]) + self.assertEqual(4.0, p1[2]) + + self.assertEqual(0.0, p2[0]) + self.assertEqual(2.0, p2[1]) + self.assertEqual(7.0, p2[2]) + + p0, p1, p2 = bo._get_plane(domain, axis, 1) + + self.assertEqual((3,), p0.shape) + self.assertEqual((3,), p1.shape) + self.assertEqual((3,), p2.shape) + + self.assertEqual(0.0, p0[0]) + self.assertEqual(4.0, p0[1]) + self.assertEqual(4.0, p0[2]) + + self.assertEqual(0.0, p1[0]) + self.assertEqual(4.0, p1[1]) + self.assertEqual(7.0, p1[2]) + + self.assertEqual(1.0, p2[0]) + self.assertEqual(4.0, p2[1]) + self.assertEqual(4.0, p2[2]) + + def test__get_plane3(self): + domain = np.array([(0, 1), (2, 4), (4, 7)]) + axis = 2 + + p0, p1, p2 = bo._get_plane(domain, axis, 0) + + self.assertEqual((3,), p0.shape) + self.assertEqual((3,), p1.shape) + self.assertEqual((3,), p2.shape) + + self.assertEqual(0.0, p0[0]) + self.assertEqual(2.0, p0[1]) + self.assertEqual(4.0, p0[2]) + + self.assertEqual(0.0, p1[0]) + self.assertEqual(4.0, p1[1]) + self.assertEqual(4.0, p1[2]) + + self.assertEqual(1.0, p2[0]) + self.assertEqual(2.0, p2[1]) + self.assertEqual(4.0, p2[2]) + + p0, p1, p2 = bo._get_plane(domain, axis, 1) + + self.assertEqual((3,), p0.shape) + self.assertEqual((3,), p1.shape) + self.assertEqual((3,), p2.shape) + + self.assertEqual(0.0, p0[0]) + self.assertEqual(2.0, p0[1]) + self.assertEqual(7.0, p0[2]) + + self.assertEqual(1.0, p1[0]) + self.assertEqual(2.0, p1[1]) + self.assertEqual(7.0, p1[2]) + + self.assertEqual(0.0, p2[0]) + self.assertEqual(4.0, p2[1]) + self.assertEqual(7.0, p2[2]) + \ No newline at end of file diff --git a/tests/unit/test_dsmc/mesh/__init__.py b/tests/unit/test_dsmc/mesh/__init__.py new file mode 100644 index 0000000..633f866 --- /dev/null +++ b/tests/unit/test_dsmc/mesh/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- + diff --git a/tests/unit/test_dsmc/mesh/mesh2d.py b/tests/unit/test_dsmc/mesh/mesh2d.py new file mode 100644 index 0000000..e993b28 --- /dev/null +++ b/tests/unit/test_dsmc/mesh/mesh2d.py @@ -0,0 +1,143 @@ +import dsmc.mesh.mesh2d as msh +import unittest +import numpy as np + +class TestMesh2(unittest.TestCase): + def test_constructor(self): + mesh = msh.Mesh2d() + + self.assertEqual(1.0, mesh.cell_size1) + self.assertEqual(1.0, mesh.cell_size2) + self.assertEqual(0.0, mesh.min1) + self.assertEqual(0.0, mesh.min2) + self.assertEqual(1, mesh.n_cells1) + self.assertEqual(1, mesh.n_cells2) + self.assertEqual(msh.Plane.XY, mesh.plane) + + def test__get_cell_id1(self): + val1_f = -1.0 + val1_t = 0.1 + val2_f = -1.0 + val2_t = 0.1 + n_cells1 = 10 + n_cells2 = 10 + min1 = -0.5 + min2 = -0.5 + cell_size1 = 0.1 + cell_size2 = 0.1 + + res1_f = msh._get_cell_id(val1_t, val2_f, n_cells1, n_cells2, min1, min2, cell_size1, cell_size2) + res2_f = msh._get_cell_id(val1_f, val2_t, n_cells1, n_cells2, min1, min2, cell_size1, cell_size2) + res3_t = msh._get_cell_id(val1_t, val2_t, n_cells1, n_cells2, min1, min2, cell_size1, cell_size2) + + self.assertFalse(res1_f[0]) + self.assertFalse(res2_f[0]) + self.assertTrue(res3_t[0]) + + def test__get_cell_id2(self): + val1 = (-0.45, -0.5) + val2 = (-0.35, -0.35) + n_cells1 = 10 + n_cells2 = 10 + min1 = -0.5 + min2 = -0.5 + cell_size1 = 0.1 + cell_size2 = 0.1 + + res1 = msh._get_cell_id(val1[0], val1[1], n_cells1, n_cells2, min1, min2, cell_size1, cell_size2) + res2 = msh._get_cell_id(val2[0], val2[1], n_cells1, n_cells2, min1, min2, cell_size1, cell_size2) + + self.assertTrue(res1[0]) + self.assertTrue(res2[0]) + + self.assertEqual(0, res1[1]) + self.assertEqual(11, res2[1]) + + def test_get_cell_id(self): + mesh = msh.Mesh2d() + + mesh.n_cells1 = 10 + mesh.n_cells2 = 10 + mesh.min1 = -0.5 + mesh.min2 = -0.5 + mesh.cell_size1 = 0.1 + mesh.cell_size2 = 0.1 + + pos = np.array([-0.45, -0.35, -0.25]) + + # XY + mesh.plane = msh.Plane.XY + res = mesh.get_cell_id(pos) + + self.assertTrue(res[0]) + self.assertEqual(10, res[1]) + + # YZ + mesh.plane = msh.Plane.YZ + res = mesh.get_cell_id(pos) + + self.assertTrue(res[0]) + self.assertEqual(21, res[1]) + + # XZ + mesh.plane = msh.Plane.XZ + res = mesh.get_cell_id(pos) + + self.assertTrue(res[0]) + self.assertEqual(20, res[1]) + + def test__sort(self): + mesh = msh.Mesh2d() + + mesh.n_cells1 = 10 + mesh.n_cells2 = 10 + mesh.min1 = -0.5 + mesh.min2 = -0.5 + mesh.cell_size1 = 0.1 + mesh.cell_size2 = 0.1 + + pos1 = np.array([-0.45, -0.35, 0.0]) + pos2 = np.array([-0.45, -3.50, 0.0]) + positions = np.array([pos1, pos2]) + + values1 = np.array([positions[i][0] for i in range(len(positions))]) + values2 = np.array([positions[i][1] for i in range(len(positions))]) + + inside, ids = msh._sort(values1, values2, mesh.n_cells1, mesh.n_cells2, mesh.min1, mesh.min2, mesh.cell_size1, mesh.cell_size2) + + self.assertTrue(inside[0]) + self.assertFalse(inside[1]) + + self.assertEqual(10, ids[0]) + self.assertEqual(0, ids[1]) + + def test_sort(self): + mesh = msh.Mesh2d() + + mesh.n_cells1 = 10 + mesh.n_cells2 = 10 + mesh.min1 = -0.5 + mesh.min2 = -0.5 + mesh.cell_size1 = 0.1 + mesh.cell_size2 = 0.1 + + positions = [] + + positions.append([-0.45, -0.45, 0]) + positions.append([-0.45, -0.45, 0]) + + positions.append([0.45, 0.45, 0]) + + mesh.sort(positions) + + self.assertEqual(len(mesh.cells), mesh.n_cells1 * mesh.n_cells2) + self.assertEqual(len(mesh.cells[0]), 2) + self.assertEqual(len(mesh.cells[99]), 1) + + self.assertEqual(mesh.cells[0][0], 0) + self.assertEqual(mesh.cells[0][1], 1) + self.assertEqual(mesh.cells[99][0], 2) + + for i in range(len(mesh.cells)): + if i != 0 and i != 99: + self.assertEqual(0, len(mesh.cells[i])) \ No newline at end of file diff --git a/tests/unit/test_dsmc/particles.py b/tests/unit/test_dsmc/particles.py index 700c46f..0bed9aa 100644 --- a/tests/unit/test_dsmc/particles.py +++ b/tests/unit/test_dsmc/particles.py @@ -41,8 +41,9 @@ def test_calc_positions(self): x = (-1.0, 1.0) y = (2.0, 3.0) z = (-2.0, -1.0) + X = np.array([x, y, z]) N = 1000 - positions = pa.calc_positions(x, y, z, N) + positions = pa.calc_positions(X, N) self.assertEqual(N, len(positions)) From 52ff88d719bc3714632afc55a7f329fec6d86a21 Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Wed, 12 Oct 2022 10:47:31 +0200 Subject: [PATCH 20/23] Possibility of centre of mass for octree division (#24) --- CHANGELOG.md | 4 +++ dsmc/octree.py | 49 +++++++++++++++++++++++----------- setup.py | 2 +- tests/unit/test_dsmc/octree.py | 46 ++++++++++++++++++++++--------- 4 files changed, 72 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 761b90c..2e2cad2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.10.0] - 2022-10-12 +## Added +- possibility to have centre of mass as division point for the octree + ## [0.9.0] - 2022-10-09 ## Added - mesh2d as for diagnostic purposes diff --git a/dsmc/octree.py b/dsmc/octree.py index dd40ed0..54a8062 100644 --- a/dsmc/octree.py +++ b/dsmc/octree.py @@ -1,6 +1,7 @@ import numpy as np import numpy.typing as npt from numba import njit +from enum import Enum from . import common as com fmin = np.finfo(float).min @@ -121,33 +122,32 @@ def _create_boxes(box): return [child_geo1, child_geo2, child_geo3, child_geo4, child_geo5, child_geo6, child_geo7, child_geo8] @njit -def _get_min_aspect_ratio(box, axis): - half = np.array([0.5*(box[i][1] - box[i][0]) for i in range(3)]) +def _get_min_aspect_ratio(box, axis, half): + half_loc = np.array([0.5*(half[i] - box[i][0]) for i in range(3)]) match axis: case 0: - return min(half[0] / half[1], half[0] / half[2]); + return min(half_loc[0] / half_loc[1], half_loc[0] / half_loc[2]); case 1: - return min(half[1] / half[0], half[1] / half[2]); + return min(half_loc[1] / half_loc[0], half_loc[1] / half_loc[2]); case 2: - return min(half[2] / half[1], half[2] / half[0]); + return min(half_loc[2] / half_loc[1], half_loc[2] / half_loc[0]); @njit -def _devide(box, axis): - half = 0.5*(box[axis][0] + box[axis][1]) +def _devide(box, axis, half): box1 = np.copy(box) box2 = np.copy(box) box1[axis][0] = box[axis][0] - box1[axis][1] = half + box1[axis][1] = half[axis] - box2[axis][0] = half + box2[axis][0] = half[axis] box2[axis][1] = box[axis][1] return (box1, box2) @njit -def _create_combined_boxes(box, min_aspect_ratio): +def _create_combined_boxes(box, min_aspect_ratio, half): boxes = np.empty((15, 3, 2)) boxes[0] = box N = 0 @@ -155,9 +155,9 @@ def _create_combined_boxes(box, min_aspect_ratio): q = 1 for i in range(3): - if _get_min_aspect_ratio(box, i) > min_aspect_ratio: + if _get_min_aspect_ratio(box, i, half) > min_aspect_ratio: for b in range(Nold, Nold + 2**N): - new_boxes = _devide(boxes[b], i) + new_boxes = _devide(boxes[b], i, half) boxes[q] = new_boxes[0] boxes[q + 1] = new_boxes[1] q += 2 @@ -171,6 +171,20 @@ def _create_combined_boxes(box, min_aspect_ratio): new_boxes[b] = boxes[Nold + b] return new_boxes + +@njit +def _get_centre_of_mass(permutations, positions, offset, n_elements): + com = np.zeros(3) + + for i in range(offset, offset + n_elements): + p = permutations[i] + com += positions[p] + + return com / float(n_elements) + +class Type(Enum): + COV = 0 + COM = 1 class Leaf: def __init__(self): @@ -185,6 +199,7 @@ class Octree: def __init__(self): self.clear() self.min_aspect_ratio = 2.0/3.0 + self.type = Type.COV def clear(self): self.cell_boxes = [] @@ -226,14 +241,18 @@ def _progress(self, leaf_id, positions): self.leafs[leaf_id].id_first_child = self.cell_offsets[-1] - new_boxes = _create_combined_boxes(self.cell_boxes[leaf_id], self.min_aspect_ratio) + if self.type == Type.COV: + half = 0.5 * np.array([self.cell_boxes[leaf_id][i][1] + self.cell_boxes[leaf_id][i][0] for i in range(3)]) + elif self.type == Type.COM: + half = _get_centre_of_mass(self.permutations, positions, self.leafs[leaf_id].elem_offset, self.leafs[leaf_id].number_elements) + + new_boxes = _create_combined_boxes(self.cell_boxes[leaf_id], self.min_aspect_ratio, half) self.cell_offsets[-1] += len(new_boxes) self.leafs[leaf_id].number_children = len(new_boxes) for box in new_boxes: self.cell_boxes.append(box) - - #raise Exception() + else: pass diff --git a/setup.py b/setup.py index 800507d..60e7633 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup( name='dsmc', - version='0.9.0', + version='0.10.0', author='Leo Basov', python_requires='>=3.10, <4', packages=["dsmc", "dsmc.writer", "dsmc.mesh"], diff --git a/tests/unit/test_dsmc/octree.py b/tests/unit/test_dsmc/octree.py index 0fb249d..41d4843 100644 --- a/tests/unit/test_dsmc/octree.py +++ b/tests/unit/test_dsmc/octree.py @@ -223,29 +223,32 @@ def test__create_boxes(self): def test__get_min_aspect_ratio_1(self): box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) + half = 0.5 * np.array([box[i][1] + box[i][0] for i in range(3)]) axis1 = 0 axis2 = 1 axis3 = 2 - self.assertEqual(0.01, oc._get_min_aspect_ratio(box, axis1)) - self.assertEqual(0.1, oc._get_min_aspect_ratio(box, axis2)) - self.assertEqual(10.0, oc._get_min_aspect_ratio(box, axis3)) + self.assertEqual(0.01, oc._get_min_aspect_ratio(box, axis1, half)) + self.assertEqual(0.1, oc._get_min_aspect_ratio(box, axis2, half)) + self.assertEqual(10.0, oc._get_min_aspect_ratio(box, axis3, half)) def test__get_min_aspect_ratio_2(self): box = np.array([(-1.0, 1.0), (-10.0, 10.0), (-100.0, 100.0)]) + half = 0.5 * np.array([box[i][1] + box[i][0] for i in range(3)]) axis1 = 0 axis2 = 1 axis3 = 2 - self.assertEqual(0.01, oc._get_min_aspect_ratio(box, axis1)) - self.assertEqual(0.1, oc._get_min_aspect_ratio(box, axis2)) - self.assertEqual(10.0, oc._get_min_aspect_ratio(box, axis3)) + self.assertEqual(0.01, oc._get_min_aspect_ratio(box, axis1, half)) + self.assertEqual(0.1, oc._get_min_aspect_ratio(box, axis2, half)) + self.assertEqual(10.0, oc._get_min_aspect_ratio(box, axis3, half)) def test__devide(self): box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) - box_x1, box_x2 = oc._devide(box, 0) - box_y1, box_y2 = oc._devide(box, 1) - box_z1, box_z2 = oc._devide(box, 2) + half = 0.5 * np.array([box[i][1] + box[i][0] for i in range(3)]) + box_x1, box_x2 = oc._devide(box, 0, half) + box_y1, box_y2 = oc._devide(box, 1, half) + box_z1, box_z2 = oc._devide(box, 2, half) boxes = ((box_x1, box_x2), (box_y1, box_y2), (box_z1, box_z2)) @@ -269,9 +272,10 @@ def test__devide(self): def test__create_combined_boxes_1(self): box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) + half = 0.5 * np.array([box[i][1] + box[i][0] for i in range(3)]) min_aspect_ratio = 0.0 boxes_old = oc._create_boxes(box) - boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio, half) V = 0.0 for b in boxes_new: @@ -282,8 +286,9 @@ def test__create_combined_boxes_1(self): def test__create_combined_boxes_2(self): box = np.array([(0.0, 1.0), (0.0, 10.0), (0.0, 100.0)]) + half = 0.5 * np.array([box[i][1] + box[i][0] for i in range(3)]) min_aspect_ratio = 0.05 - boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio, half) V = 0.0 for b in boxes_new: @@ -294,8 +299,9 @@ def test__create_combined_boxes_2(self): def test__create_combined_boxes_3(self): box = np.array([(-1.0, 1.0), (-10.0, 10.0), (-100.0, 100.0)]) + half = 0.5 * np.array([box[i][1] + box[i][0] for i in range(3)]) min_aspect_ratio = 0.05 - boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio, half) V = 0.0 for b in boxes_new: @@ -306,8 +312,9 @@ def test__create_combined_boxes_3(self): def test__create_combined_boxes_4(self): box = np.array([(-1.0, 1.0), (-10.0, 10.0), (-100.0, 100.0)]) + half = 0.5 * np.array([box[i][1] + box[i][0] for i in range(3)]) min_aspect_ratio = 0.0 - boxes_new = oc._create_combined_boxes(box, min_aspect_ratio) + boxes_new = oc._create_combined_boxes(box, min_aspect_ratio, half) V = 0.0 for b in boxes_new: @@ -315,6 +322,19 @@ def test__create_combined_boxes_4(self): self.assertEqual(com.get_V(box), V) self.assertEqual(8, len(boxes_new)) + + + def test__get_centre_of_mass(self): + permutations = np.array([i for i in range(4)]) + positions = np.array([[-1.0, -1.0, 0.0], [1.0, -1.0, 0.0], [1.0, 1.0, 0.0], [-1.0, 1.0, 0.0]]) + offset = 0 + n_elements = 4 + + centre_of_mass = oc._get_centre_of_mass(permutations, positions, offset, n_elements) + + self.assertEqual(0.0, centre_of_mass[0]) + self.assertEqual(0.0, centre_of_mass[1]) + self.assertEqual(0.0, centre_of_mass[2]) class TestOctreeOctree(unittest.TestCase): def test_build(self): From 882fefc32878d4bcbb984b53384e3a2bb2fce382 Mon Sep 17 00:00:00 2001 From: Leo Basov <40352679+LeoBasov@users.noreply.github.com> Date: Thu, 13 Oct 2022 13:08:19 +0200 Subject: [PATCH 21/23] Clean up (#25) - updated test cases - removed unused files --- README.md | 41 ++- applications/test-app/main.py | 164 ----------- data/input.xml | 94 ------- examples/heat_bath/heat_bath.png | Bin 0 -> 54319 bytes .../{temp_relax.py => heat_bath/heat_bath.py} | 45 +++- examples/hypersonic_flow/hypersonic_flow.png | Bin 0 -> 69961 bytes .../{ => hypersonic_flow}/hypersonic_flow.py | 21 +- .../hypersonic_flow/hypersonic_flow_grid.png | Bin 0 -> 198869 bytes .../hypersonic_flow_grid_nrho.png | Bin 0 -> 784515 bytes examples/plot.py | 34 --- examples/shock_tube/plot.py | 62 +++++ examples/shock_tube/ref_data/sod_T.csv | 8 + examples/shock_tube/ref_data/sod_n.csv | 8 + examples/shock_tube/ref_data/sod_p.csv | 8 + examples/shock_tube/ref_data/sod_rho.csv | 8 + examples/shock_tube/shock_tube.png | Bin 0 -> 95141 bytes examples/{ => shock_tube}/shock_tube.py | 0 .../shock_tube/tools}/sod_analytical.py | 0 src/IO/__init__.py | 1 - src/IO/input.py | 108 -------- src/IO/output.py | 7 - src/__init__.py | 1 - src/dsmc.py | 85 ------ src/geometry/__init__.py | 1 - src/geometry/domain.py | 255 ------------------ src/geometry/octree.py | 120 --------- src/plasma/__init__.py | 1 - src/plasma/generator.py | 26 -- src/plasma/particle.py | 15 -- src/pusher.py | 10 - {examples => tests/misc}/T_sample.py | 0 .../misc}/hypersonic_flow_mini.py | 0 .../misc}/push_bound_inflow_test.py | 0 .../misc}/push_bound_open_test.py | 0 {examples => tests/misc}/push_bound_test.py | 0 35 files changed, 176 insertions(+), 947 deletions(-) delete mode 100644 applications/test-app/main.py delete mode 100644 data/input.xml create mode 100644 examples/heat_bath/heat_bath.png rename examples/{temp_relax.py => heat_bath/heat_bath.py} (55%) create mode 100644 examples/hypersonic_flow/hypersonic_flow.png rename examples/{ => hypersonic_flow}/hypersonic_flow.py (83%) create mode 100644 examples/hypersonic_flow/hypersonic_flow_grid.png create mode 100644 examples/hypersonic_flow/hypersonic_flow_grid_nrho.png delete mode 100644 examples/plot.py create mode 100644 examples/shock_tube/plot.py create mode 100644 examples/shock_tube/ref_data/sod_T.csv create mode 100644 examples/shock_tube/ref_data/sod_n.csv create mode 100644 examples/shock_tube/ref_data/sod_p.csv create mode 100644 examples/shock_tube/ref_data/sod_rho.csv create mode 100644 examples/shock_tube/shock_tube.png rename examples/{ => shock_tube}/shock_tube.py (100%) rename {tools => examples/shock_tube/tools}/sod_analytical.py (100%) delete mode 100644 src/IO/__init__.py delete mode 100644 src/IO/input.py delete mode 100644 src/IO/output.py delete mode 100644 src/__init__.py delete mode 100644 src/dsmc.py delete mode 100644 src/geometry/__init__.py delete mode 100644 src/geometry/domain.py delete mode 100644 src/geometry/octree.py delete mode 100644 src/plasma/__init__.py delete mode 100644 src/plasma/generator.py delete mode 100644 src/plasma/particle.py delete mode 100644 src/pusher.py rename {examples => tests/misc}/T_sample.py (100%) rename {examples => tests/misc}/hypersonic_flow_mini.py (100%) rename {examples => tests/misc}/push_bound_inflow_test.py (100%) rename {examples => tests/misc}/push_bound_open_test.py (100%) rename {examples => tests/misc}/push_bound_test.py (100%) diff --git a/README.md b/README.md index 70e403f..a6f43e6 100644 --- a/README.md +++ b/README.md @@ -1 +1,40 @@ -# dsmc-python \ No newline at end of file +# Octree based DSMC - Python implementation +[![LeoBasov](https://circleci.com/gh/LeoBasov/dsmc-python/tree/clean_up.svg?style=svg)](https://app.circleci.com/pipelines/github/LeoBasov/dsmc-python/tree/clean_up/) + +# Table of Contents +1. Introduction +2. Requirements +3. Installation +4. Test Cases + +# 1. Introduction +DSMC implementation using an octree as a variable mesh. +Implementation in done in python 3.10. + +# 2. Requirements +- python 3.10. +- pip + +# 3. Installation +ToDo + +# 4. Test Cases + +## 4.1 Heat Bath +ToDo + +![Heat Bath](./examples/heat_bath/heat_bath.png) + +## 4.2 Hypersonic flow around cube +ToDo + +![hypersonic_flow](./examples/hypersonic_flow/hypersonic_flow.png) + +![hypersonic_flow_grid](./examples/hypersonic_flow/hypersonic_flow_grid.png) + +![hypersonic_flow_grid_nrho](./examples/hypersonic_flow/hypersonic_flow_grid_nrho.png) + +## 4.3 Shock Tube + +ToDo +![shock Tube](./examples/shock_tube/shock_tube.png) \ No newline at end of file diff --git a/applications/test-app/main.py b/applications/test-app/main.py deleted file mode 100644 index 01faf30..0000000 --- a/applications/test-app/main.py +++ /dev/null @@ -1,164 +0,0 @@ -import sys -sys.path.append('../../src') - -from dsmc import DSMC -import pusher -from plasma import generator -from IO.input import read_xml -from IO.output import write_particles_pos -from geometry.octree import Octree - -def diagnose(number_bins, z_min, z_max, particles,area): - print('Started shock_tube diagnostic') - dict_part = {} - bin_size = (z_max - z_min)/number_bins - pos = z_min - weight = particles[0][0].weight - volume = area*bin_size - - denisties = [] - - for particle_set in particles: - for particle in particle_set: - dict_part[particle.position[2]] = particle - - sorted_list = sorted(list(dict_part)) - added = 0 - - for part_pos in sorted_list: - if part_pos < pos + bin_size: - added += weight - else: - denisties.append(added/volume) - added = 0 - pos += bin_size - - return denisties - -def print_header(): - print(40*"=") - print('DSMC python test') - print(40*"-") - -def print_footer(): - print('Execution finished') - print(40*"=") - -def print_praView_file(file_name,iter,particles): - name_string = "{}_".format(iter + 1) - name_string = name_string + file_name - - write_particles_pos(name_string,particles) - -def execute_boundary(particles, domain): - if domain.type == 'specular_scattering': - execute_mirrow_boundary(particles, domain) - elif domain.type == 'diffuse_scattering': - execute_diffuse_boundary(particles, domain) - -def execute_mirrow_boundary(particles,domain): - print('Started mirror boundary') - for particle_set in particles: - for particle in particle_set: - domain.exec_mirrow_boundary(particle.position_old, particle.position, particle.velocity) - -def execute_diffuse_boundary(particles,domain): - print('Started diffuse boundary') - for particle_set in particles: - for particle in particle_set: - domain.exec_diffuse_scattering(particle.position_old, particle.position, particle.velocity, particle.mass) - -def create_leafs(particles,domain): - particles_loc = [] - tree = Octree() - - for particle_set in particles: - for particle in particle_set: - particles_loc.append(particle) - - tree.build(particles_loc,domain) - - return tree - - -def loop(dt,itters,particles,file_name,domain,cross_sections): - file = open("number_densities.csv",'w+') - - dsmc = DSMC(cross_sections) - - for i in range(itters): - print('Started pusher') - pusher.push(particles,dt) - - execute_boundary(particles,domain) - - print('Started building octree') - tree = create_leafs(particles,domain) - - print('Started dsmc') - first_leaf = tree.leafs[0] - - _execute_next_level(first_leaf, dt, dsmc) - - number_densities = diagnose(1000, domain.zmin, domain.zmax,particles,(domain.xmax - domain.xmin)*(domain.ymax - domain.ymin)) - - print('Stared writing number deinsities') - - for density in number_densities: - file.write('{},'.format(density)) - - file.write('\n') - - #print_praView_file(file_name,i,particles) - - print('Itterartion {} complete'.format(i + 1)) - print(40*"-") - - file.close() - -def _execute_next_level(leaf, dt, dsmc): - particles = [] - volume = 0.0 - - if not leaf.has_children(): - return - - for child in leaf: - if len(child.particles) == 1: - particles += child.particles - volume += child.domain.volume - - dsmc.interact(particles, volume, dt) - - for child in leaf: - if len(child.particles) > 1: - _execute_next_level(child, dt, dsmc) - -def generate_particles(input_values): - particles = [] - - for set in input_values.plasma: - particle_loc = generator.generate_particles(set.number,set,set.domain) - - particles.append(particle_loc) - - return particles - -def main(): - print_header() - - print("Reading input file") - input_values = read_xml(sys.argv[1]) - print("Finished reading") - print(40*"-") - - print('Generating particles') - particles = generate_particles(input_values) - print("Finished generating") - print(40*"-") - - loop(input_values.time.dt,input_values.time.itters,particles,input_values.file_name,input_values.domain,input_values.cross_sections) - - print_footer() - -main() \ No newline at end of file diff --git a/data/input.xml b/data/input.xml deleted file mode 100644 index 4ea3dc6..0000000 --- a/data/input.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/heat_bath/heat_bath.png b/examples/heat_bath/heat_bath.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa05518eaa86671cdc39eda3a3462e697211514 GIT binary patch literal 54319 zcmeFZXH=Bwwl#`vt8GBK6;x1y3X(yRl0gx%$TD)|zY1xt_<$iZbL!XpWGPk&$C= z-B2YXJ19v;_KWs!2jM%yjcnK9KOwBNHdf8S9P4K6WJac7jJ<2?fVH){!{BP>_m++`85xB!`nNAzBFl=544;U( zaZTMladyxnF_<{qw7BNd9v5JIknhX~-slfuwoIl^Y!BPrY)Ow)t(%p_9ph9Tw32>u z;xN@Wt;oSp`42eNzK6xF@3hVH`7A2tC1TY~4w|&K3OKjTY`7=N=r4=)62&d%hj-TX z#e3Jb1myAj2jEWjUbinE&)fgEFUUp(Xc+$X#T!>k|G&K_>wmWIm%n{s`{>|re|!Ie z_J8;fC@<_O)x*c#lbmxX!+JwY_ua`Fzcqp+>gy zwZH!QE7z#5Hd8(hH}}bBYjtYKYeD12jfb+)969D~@m8N-n&~uVWMoWb#2Bj9coHd3 zoOm8Y#h&Xt(XLzNY8SGklyF4>zTY(#W5o5S{@FAkFU4inZP+I(gjOUMJJrReksI0f z$}Z2LcH>gZYp;cxtNp{xR9gDsRs--Gre^{TeK*GBn`#V;Hdm%D)?Z#3aPAnJgb5}i zd#}g!V`v)`yuH0M>m-(2`E-l#1VnQiB~Q6yu~>M*SGIA{Tn4#;mJ&u%dc1>q?*AOD?qzZv-L5QW{pry9C{Jy2#ps5|Vv99&p29`8J! zBJNX(!{M-P0=@4imYe5XEkx$G7V5O}Gz-x8Ea8cG71X$E*Pr*5*e!+~&+pN3Spi=v{42awP8@`x z+ng=wz^+WH$Q3RuZ;akej6b)#)WSVe+(d_8o$D`YO?Uqqa2nlmfl-}d@Y$=Y^b4Pg z(`q-y&(00i=$U8R3iDTsCQT1Py@7}$eJnn$c46fTakAb<=gqc83%5>?{_@tbe+s^Uy=q4I|Y*Xp5-kGST5ut^aiRH1+0(d;0ijp#N%)POg-fz3p&$cC+ z6LyMkbTM_4@9u^LMpaVMpUz|S4v?J9R6uIVVn>P%pFAAT0{m^xVQ7KPUJ_ z!u89WeNpUMTrEPpAv<2P4-cQDJasBl&!L7e{31uUEEhITp>CP=7-se9_OS1kT_#hB zC|#(ZP@$hi<#cWymY|`PV_4&fOV`NLw0isSurBPbTGFmp6q^PczQV|3j0)5Bt>KBw zpiA$Vjyc>QS%u7gv^-hv55dRL3OS8dk6gHLVQDs=LVP{-l0tlX)qJH~1hbN+scAZd zlZ?+L7IGgdDWiBTeqs<|sQTk};q zzC*<(G6nh-s#1Z+I+w;;G-|y!M4OMnoieQboNZ-ThNki39!+Cdzo&`WYFQ!UZ3$VA z=se#`@I8m9u~|pjk|4sRWAvRK``Nm?yJu2UQS(NJeTY5$(q%?dY-a`Ux!7@z~;62^5$M8JUZc(ogSxAtv(f-`um6hG{jDi#3bQA{|ng=vyS}so8Us8Qi`~T z=OA3uW}-c5b7yUs*uq_BxwSfXgn}Z5vCNwAL1O*`dr|AltiY8H@w3$Ak+6qa_!SI% zh=jPt1Hb-?Hhot#r`{4j>HF9EsKmtl6yHq@B!`a>s9a!|z`dD%9uO1Bv`Q|^>8^0L zXiJeW>VIXY2LFgK8535n=-y5TQZvARl7E;soY1B|R~MXfK1gAO%iCKtIK)n+_`?&wFDjj^^af)|ytr6+22g zy285MO*x2Vm97gzNoG>3;y#;`1?59sbLGQ@rw!e&!GwH#_xL0cX3T1;D`VHO*T5~Q zuy)hBp`l@FeR0H^kQ=3{s=Cs6)&b2#JfsG{S(qY?5_1LO{Ggs%ru-s33D)`w+|ez_ z8aV9sx}(qPXA7L7oi`mVEhnb$rP&k6RcWwqSXfwYC0uprIm%s~3R5x@XOY~DO%hqC zR)butik9w~K!^(&T1Gw^kgo{)DMatKFO*0aQkBTVi`J*8@TRD7aQ0kU4GuZg$C2Zb#=Ii2r3u|#Ux>?-R+HB`25T@m;{6Y zJhvB{2z7pbv=YAh$}f{-R5WM zZQ?Vl4U4J`9WrfvmYSJq_{`-qO{h~WRwg@xo;-gdbP(o4?-!RQAws5W|zdBh*+9|TH zoVw(9lF{T9$|(N#jbnvA3;h9a_g<;L8K1=d?TgzY{E~lr??3lrq3nJAN@_2f?Y;kW zoE(MVz1RQ!gMT+lw<~hgvOZisHutG`yNgIYlks8M29*txb9TT97&rupewCzF?u=Em)yJParGg*$-B-sXTvpto|c~#CDh+ zXB0hz6McRCS|es|Gp*hf9VvQPd+@;s+J+2KkiBWRt3wMjeb%8`WpQyaS3RfeKwY_N zhHOx1s8(CNz)n+7p+O#xN#i7fv~j#CGMZi%$&;btJCx z{(`E7TD=0j@>P0notLH|Hmv&EJ3c&X0F6u^F})xoix%lu-|!?(Pa#kV_(S8RDTa`( zBE?<({l2$&ir+w-96t&_001KxrKP2tFCU{0{F-tnWsp}BQltt#Q$eFpUnn3jFjpn* zW<0N1kUYMXXtB9I5=zL|;X`{B;)E&$YJLER@+L!mBp(A8g2s{K$2BXQ#;}0MY-V~2 z;u;44d?FyfyS=RBGSwxG{tEt@A3LcGwSgH;mD_?LarUzsf?V3#v3Ks=iG&wZe_YEI z^&&$93DR~6M3XU6ZLU@k*VL@s?E;;Wn~*EiAd;eo5^xyOH-hMq$wOV&3pjc5>mzzi zs6yV>*SoZEmRl|i)tugpf{~+)g*(wgp_h^M(xsb$#_KlkXQSWb8rD=+y3XYm)o#iH z1XX=}f(hF|r8Nnuv4h{9w7cUu8ZJXgOIrZTBji8nKBqyeG3ISIsB($6OAlI z+5?9Uv5Si8+x5R9K*-%OQA`%i`QzeE7B)87d-v{Dj^gB2Qb^m(Ex2N#opZPqNDR5s zPfnq+8v76>0I0iSaGqmi*T4@zcm42}GkoSx>sDK11H4}`y;!QWKS)MNkK#^%rm8A# zzH)|Z&}VHBqV+w9llgF+$+S>$;TbQqHWBQ=@w?6IH#9Y|i;Ek=Bf(ExXFojyd~z$r zd+G6bds3dBeT6jSuU@_m(TKbOK$@lKQ(?k&)Up%_)gH^;Rc;P*0~L4)^MTinm89J* zjdFW~wj>cP$ei)M+lw-Q9OeDs|IFozL3>Ce3NR)3?TuwZmJ+=}?B#1CO`&U{LXO`a z_LVynH9R?O1D~_Gf>)xVrp}3tja?p3y6TW@-JSgm%CF73A`ke6%XY3t9u}fGI}?*M z@j^yh%Cj{3nsbwyjF(;GcG5Lk;b}``KH<70H!?lBc`7pwnjLw6VE^&=F zWn>bdSXd!JojI4uxcq=Z{5!oD6xlBm7ltRGARy|LxYros=Ufv^nnDEX>+2O#I$}oF z;xnywiM>Xd_$mH{%9+BF5FzYjn9lPXhfCyQxZ*;X85v`t&>v578=8{nf$3MnZ8S5d zn9}rT$emt>T5*l!)0K{ayMP2A*GQb}zuL0K=ec6J+GKuhVQ|H2e91SHbavH9p7?j6((+cl%hx?($IxAVXFqsVN_ca9BPH|9gJ~l zGNIxYjaK-~I9w}~cx(A4wVTuIaQok$aGMK@d#&2S`*x89{qGZhK7Pz27s+CLiHXT< zlS512QTmn3PTfo^?1dC!Ns@$`gPuO^7UGZ!Pl1l{%A`K zw-$^#)u~gLpd$14CqqzP`0f{ffZ=Y}CUjq#J_g9LyPQHwbdmS=u2xJG3^%J^g!nhP zIaAd8(yWD-_UbXItAkjzOcM)V3V3j3h+_l@nms-Z0SQ!{3AqBL&OjlFn&@H_M#LYB5t3#)W1F8kw%kJdzVc)9j*RR7n zp^bCso?v*@0XmU*vhZ;g=v_SP5}8u;TL6OyABxHKmf&I+k<&1&IvM1b)O)!$knfSNt&QWB+-{IU*wza z-@lJt8f})J*j^*I41E9oed42zdjLk8`P)j&JKirjSnSe0xPPC~VBHPSnR4t{x~tDv zl-A1kdWt-l^LRdsklLM9Js;A}8f;IsLhCe`%si*D4^D#ZyB#8jj-Lx_8T;_E;v93#)-{phmz=k3 zHlRHZ42VXqdb6v1qk4aF6AKq+W(R-DD?s$_< ziQESbUjP{2zCdJF1r)C>ww`=leTA;!SzT;>Ybj%6<4ySMNT@>ruVu@}@zMxbM<#nOVFsN$#1I{Y1!g0dn(rp8dKxj$ zl>{p)Ke#lJAFr#y2e8wTGRwpF~4bLO%7*I%{~0K5kE5V4i7!xD-V>%q!0*sxcF zX+<Kc~LOvu;0}IM-Zn8a#siLK0u}E*ZN270sjQ&=gKNIbh!eZjQ2vL?(-VatHl3I0L!L97kQZjF7dQX``D=Y@>-k-1kh{OMqcu6ra8^#eLcb?-&qb^LEP*ag^ znJjR!nh@U+LV?G#pysn^KPN3C!w%Ix6wUEh9fqV0)&S(;jL&!y30i!#N^){)5Phls z_yd*02%-VhZvT7;cC_R(Nin3hFqB*Rf5|uRNG`bc;Gos$`|!R}s|ZAUQRCHg$z*F0AypTTIDQAeNI%nClyb#kD1Uw39iu8Q|5Q~? zt<19X0x1^CuN>RYFJWhnA24w1NESl@u6B3RX3%{kn1;7PeEx&PM*?0AGZP<+c%C9{nw9-_<>qP?-?XRk~GeTRo&$-Rzw z?L0=$bLU~;G3sw5FIm|jz$m#8j#xo#xnBtLu6!mvGcyiv_;o`-p$^x7(*=mV_)hbZ3Wf!q#RfErxDcqbNAs`R0zJ^e>$~`^!MZE`F%%>1 zLYGDog(~cAZSzrr+yPv&s|8gZ@smmD6qEwdj7UP;w{Krudqiw(HmBaJL;(p{P)8`H zRnWpZ{e+r9Fb^US3q&1-cz%@<^R^X0t1RcwUxQEsF)C;`S?3>(=+s(4e3$_@03K_uDnZ9zBHh4E=Uo20dpA zc6p!_>ji|h(ygXs)t#-9t5cGRLJw3#*EDt@CkJUIva&~Pxb_3Z{n#_pa%2sHTafTHwRZ3x@eRKZ zYxds}P?FiJI zQQoN*;oM_gXDCCUTqSRCd$j&wpZvc4%b7|n%Ky~EsVHF_63AH|6 zC{5yHfogbv`Kf#n2xnv8^x%U28b4O~=qcE5gxSv}0+t^c5cUG3rV3b-0CEZwBcrK^ zFI1t^T^UbMvQ|jAG6j`-xBtHV`~V6_v5-IB@t;aH-l-Q zoWbmx0RC4Ar4!?~A9&3%@`!@I@W9bimcaV$nn2`20Fa8Fo*NVN__2z$buOqUqxAS3 zHRdQzJxxF_tppb)Rsgtw;E^T?*pPXu`=lF^2mnpR=XInwwu2%M4CMIqIqB>ApQcEe zrhcORYw3wQ77(;QvP=_?5iL7+cOWh(cf7G~g^cktKO-Fqzj&Nh*b*|>=UQfQaq*UQ zkd&?AzMQHCC(cDUwh!oE6%#X9s9p|1kr4Dtv(3*S+fxEw0z?Ozps}#i=z9-wAsB}v z`+o-O7Bd$zO2y{p<|WUXTg3s_=N2(2uN$zD^N_2E)X(>Nx zSWQi>gcf3&|F(>n>>fzc=b&K_WUjx=yEDk&#?jP%b+>gyNXSC5vDB_#Q)2u315jd! zP>65#+7|*3ldd+yX^{=s0@UCF5Qi*B8iN5sszlGi8$1B+_RY`me9GVdw(jI^pVx!R z7S)o;PJsT5qO-p8-neJHm=KE_p7Dnk1xqsMt=yDdtd&Sd{PV!?*fw0>On8b^MGuBy!{CeHXiAm|M?9L z#D4vJ{r926sG)u=;qcFoW6=AjMEtkw{4c4Buk(+SrH1`^v_$ylgOiO?|7Vlz5k>to zUcokbfF%;d7tiqX zvbI47e``l#Tu@MuDiqK(SMBo&d0HvXNNwnT?P!83ZOCZxq8?7sJkH~-Dp+hOkdi2g zL(yvR-DTw4H>3!$Ff!gSYl+r?%nPM$rMw9gY2Bb}OW(MGegxb+etxjZd65$?{D$oZ zZgzSC7qT!+&deybTXn zyVSgmhE~i|9m=k#-kG*X4oKkk2>uy!F7J^P_ul3Jj|xd493thYgeIb)COf4dKR}(c z{{1WBnO@lsPD}I@8A;d;RqH^pi%XArwqZ!sK;k56fb?VA1Y3`R zq_S7Sqbd*CYuuNNZ^Ca4y`w zc=M?;)YT;TS)p?>n%a%fy{VP7|4&uV%hwCff+rJfT~olt5)g0UQ~`1>CCLSF6kw=l z=O!qQ98tBjw9GsWpPqm1A3(@^O?WP}nV96FO@(Vsn@@le3+RmBriY_t9TdMjOvEMR zIhu%l>O4MPNiC082WEpY2Y4L#_IqsdyLUJ2KEE8Ro`8|?C;kMQ96-e@yOUG%-T+<+ zmDqq%Gu?(fWWdZb4SY|!n%c_R?B_ICvKSm9QLhertAX;S0yQh3%_5)yEx`!0>kO4D z@@aK}zlKob<%Ud1pmP!6%l}(#e9b2S zM&tEw|9{oSp#OlwC{KL*yA&)&Bs7C}r%bcRumFJSW(VKDs+_lXr{O-s4*ea&|5N20 zw9{i0a+LkcOonN#edBNmZNdW{Sd=oh1|5|9|9g2GuDkcz^C%xN)c=&DWh{c$5PJ1P zV)*fnj0};X{?D1Kbm&`u{h5rub3;<0G~gHg`8$aR{wsEx)prM{etdvr@y&mgxsgej zSRH391dU_dMo7KYmE|{``NGrAH4YAUYMj0%%~!0(u*+P+NkVe(%))CFRezWVc23 z9=tI&2_9IvG*PFnAwxR?{q6gGaD^8V(QkiFP|&~en1kh3aE1Kk3xtkuh&_8A&pv*Y6Cj)@RAzr>GflciRrT9&ruS0C4E*-QI5xKoY= zP&ZN9&8qV?aaT@hSAGciRhRZ8{NnplBq!^O$SMIO>hek=#13@;<{%Y8F=J9-ShJZp zq6HQ^U<%kF8vvF45d_(ir*V+hpQojPIXHcC(h`#T!u`S-*D3)ZwGr=z_yGX)E}%;x z+e%z}XQskguslrxUMbS|J$aysU!jd;9NJf1s=8xg-*sBzl6BL)5n%C2dXL{rLwH!@(0%1j)v5W#fNb zGid4+19ud1aDv^)3NmH9h+CmAX~zwO3r@MrTAwZ896L##5T3a=y_%Jn2Mx&+i4P98 zZ(e)M%B;b|e~V!Sz{6`B{g3-niO)YF|8ltYs(B9@x-UQGo^*U91v z^QfLpoS4@XXsRtqo`1CEHr-I)BsiJ_BpIN-I9i2AP|!HAWPOln}RLf)p1t=-X4 zQ;!-$jeKn${35u+*%0hpV+8k#$k50li;&O;qGRF`W|BocRFy;*A0iKle9|ZqWr1Qt z9|FOLr7ez6rhLGuMMq*8$QCg6kNaulsE*~EEcfA;%PooY&1`>s>6W43CkUvFIc*Px zF~lU#Ic5w!w#yHb%=$(WPMvq~NlQ8uGG=lIp4&N%j#HO7*(VV}934nu#Gsw0gsr`P z{84z?8cpD{gu>kXqC;g}8jV+IHLV6me6Odt>rPmh!c%{#w)Fqh3Tw9jyiq!^w>5y- zjD+?F@LXI6x~Uho3$pEHgE2rzJjK|wc8cd80Wp52a?l>B~h%YyWz}f!5bA?_ygHAzczUPaQZ&;H>uFQiEG(BIJ z^plu*IkZdmH|181ob?#(8cBY{KZq9(#iPV2B(wkBO(dJcC`&_{&;W2+X3;?hLXFy7 ze@f*P3)odbw2n_ZoAc+Nzk$fXp;R%~U(Vfvze^2-Ui-|xyYe#wfvZRjZKSdh8Gw)jV`E8I=l+sypcrAI7t1l z1A+3~6W$h(0vx@F`c**L1(xtGdcM{v7e4zdr1cRB@GW%vNqKQ0&*y-BIU-SqiVuv% zar<^Y8?h(kQ0DHNvz}-cVvjuDlYgj4BT4p|tayCpC)Q!Bg|8<)ob1usd`2f${#HA* zaNRCtob*ELxRhsx#RKR0YcXnp=f%c0Z&8R$$l)5@J#9kD$D~sbBz>(6DJ~t>;vO+N z0!>xO+W>{eMxI7qblNg1M!klP){L6jT8%%tly}&+? z5w(Kw3u9bmh)!KR8gNAZ&blTl>lTrAMzZ=cj6| z!1Fa&J)Z-WOY?pqUo-BnEbdp($h*$Ul$qEqw&0gl-}LzmeJfk1U<1spxS>7WfAN>O29U+C$fjSIeG{r$^dAOn`G zg9p0?JhYXd5AK+NZ=n##*{PhYY!G(C5!0+P13gLg6vD6DBQv!_JnmA;vaA% zXOZn6wG{yKj2ha|7P~s+o(48f&aCBcDb`imnO4&q0eVcBt5>UU5V;PwEZanqAMP#{ z@15+y*bpab)22o2YRqF556}#W)&cnRzahp(mE@_86JLJSvtUjYFqKW`($=xOd^V8( zt$^C0*2`_gvhMo%dz-dOvbEi{Fe;L+$M{UNBq=?PKa%nz?Ua9r;ZB)aN0t|8!l4y) z|M=Wg8Zt~SNDI(Ah?|()&!|sVpsgR-lYOUcm&@)I%m^up?*i>xTgJN%D;_Sh(*v&cUDJn*VW+#Kq#rME`3r2jf-@DHBHIHph^iC5!%Mc|s-QE25p&(v_v?Yh5^s+1Sw)4HE zIv13IG8(~RdM$pc#?a+yQe{)w=(Yn8e(%r2y0W-eUV)=53=+=Po{;Vi6moZGdh>lc z*#9clc~g5QN>wMc^;0S}g?>Vo+#3`oKR?@dXFqs{!WfZi4xWoNh#+Gm9UvA^IJfGP z$R{ojQ5FokN-92jCf+Me^_+ zXE&kzsLhsn5>2ROC+6vBFuAC@3CEoNvc}V$5-9xgWO^{@3MW!AISdVyLSk^Lc5$`Q8vO zxom$B1}umT9`LJ_gA7JhX+joilOrpAc178#`+9q$8G{qcrTyk4bW?jlFG5z$^gr3b z_yuwh69& zXOQAo6Q1c#RmtM8<<2=w)CWuR3T$j5@r&3Zx*hij#rS>Eqwt&lJH@|h{&5vJh$t?D zK9WWKm&dzrZQBC}aq0auM%FrkeIa5rGx51iViZ$U9dp*x>lzB@>hz-FE-CH0)1+Ix z7hIM;F4>rw+0HY#6E9^vWYXoD3RbO{Ep zo?pRd+KvfR*|s4eSE7E5yoW@rmPM#I(?cY?#^iynkl#ywRN~D-7lo}U)FGQwS$_63 z$U9Ca<~a#Et2zMDfMy1a^Of0f#+n~L*a)6i*_z05xC(P0oh4)9@B zQcU;tPW4rdx;PE0Z0z9ZcF(k+wU@_%L41BZ-vMSgM7b(P6!l35q zR=o**!!f}9szZZ=58MIjq2g53s*cOd36Nlt#o60i4lZetPFW{@l-uVZhckEYx5+54 zExY&atzylQh_|ta0ii$jEWNw6gca)>D$aRxRYD?xS=i_q%S9E;kzPx;h2=W9L9*9m zko!i#>8Ayq9E^LdSkO*a0ERL$5jmcrw;Qg2rU3M`)WTf})M#;R3 zFB68QUCr%>GIYxRiJu~l(Z$Kv!V%{ec?>&6`sGsd`4sUrgDmNxyn+z)lxNXXW?Fri zSjON`?=_b}C0`45a*byR!)#4zZWGSu z`L4$b{X)hPm@RX(NMena@M@=tk|DHD&{uHl%~Q`TGK;rYoVIfwB^_nNC{@xcFR83% z0;wT6lnPe`YfWcKhj`u;KFbEYf0c`kXPGd_-UdD?G_*cGn^slFJHt;gH|IVKPoB!D zq8d7=DZ}QiedH*R(6Aq>q3X}2vm0O6dDeLN3EouTqkxRdQ(EElE}E@jqx=xWpCq75 zK`Tivs${`QtA0@?L>*{I7+UB(gluQ;Sov+HXh(+FRGa1`bgZnV`aZ$&CE;VSf=}WT zxb2DsJP+UdZ#RI$V0jMLyPIDwh*|xGyvXpFyVmiI(%Z|11?w&;gmAdv?frY{ zxx2^+c{SCdN4RTNaEa}2%Vt#_Uv96o^_K~}rPAbm^Nru)>N{dw?UF&kp!tEC*{Ph) zefYge2|6>~d7XtzeydG+C+vz24*S6QLBqZFdD$k{!3F(nw;BUt_k>=l`(5^cUmaV3 zr}7^#fvB00m1VOwKPY?amNI}LEI%5z9S8pluQ zS4r>|;8aw<@j?_*u8wl(DJ~ly7bZ++<8clC<9cVuMGsbuPjD9@bJ<4|<+WeVmO^IML>rRUhVS*pD~|Kud> zh*TC6@#0{Fc0khJgbo744^sykyQJT7fZs{F>qVu)rW~WiVds)~&V%jC#RB;%*}8ZQ zVn})3?nu0YOZwYK)b!AW^~AIEJCA}@@S3{RGihT>|IySCYZo1l!LIKo+6GHylv+11 zM#o+&?o&)2goX1a06izt?@^7*UikX$G>hO|0=~saposeXqcqFy{gOf>ePrZf^L9TNHm6hhl{D*!5qCHzw4AOSNKl3)3SbNZXf9D6XvDK~LfFk*qizII$V% z(CJ0pIpDqClU1JGrWKm%86RZDrJpK$qPhRw<@Dmh9H-{AjM_`O<93!V>G$h{`JpNN zrkL(JWyX#~J611Ej*x9lO)IxH{h8aZSokTKaJa0zMHm}F;DuB1RZj?tW76878pIWY4?#{@_Y>g z5rgm&0!7Vkp-23JU7>;b0fp6}^lOC`nldmQ0cT)3Ue0_u%)~CgZz(&ucyL-!Xszh; zYa(NV;a0Ht)8U+~35U+-_X;R24S3=6DS3WYAeu67>TExGRPIwPn7kq>OU+DFeLBHV60Y9Tg+KJI%(iX9@ES8eLh zBC%cipcjFB07{D=t?9CUa84V*nTUk!#S zqvSmB8}Ii`cfK_lX|KnnH--!skUNFHmHpN7MvO2ny*Fm(S&g~Sj~xR5o^<40v$aqrh(_EVWq zpH02W_V#RQ%9Kj4w=|2iUtE+xTmN5so91_P0p9@^ZE>~A8(SKkg0?P+qJPZYQhw?j zz-W~(qA8AlA@~Pe;D`uNKyZKt(+-T1PDl~B(t)jc!Jx8O#tKlU;Az>lC1tCThk+I5 zayY}~f#>_pI}Q6_`bWjk%-{=QW&%U<>q4K~X3wZa^*HXB_I$J$%5MWOO!j3Mn3nfa z6k_S9`~>z3HVSmQ@10BnRVnJL*KA_H0)xAvwZwx_t&w{RySv=ptx&bJSW1TSxt3_T z9`YVh^1@nc>hMwn3QzczULvD|^qHLLg?MI+XER<+rtS8RRdCrEe0v@fu<^A(lSIe1 zK)V|29_B)`SeK9!lMYD-b(^qJx)S%|WGuW^63bb{(PfU`$ohGT3^5yZ^^`N4jD^6jHoh@8H9AqNdxCL z0U#(M364RuB)n_XT-i3EF8FSna%vYbxF|V#o#yX@*VE@&Nmr9De>h4Y1VD{nshe%L zOGrv&p`=*d-8_OLe6;c{1ft!5_!@Pe1tN5r=P<9Wkl6n8LIn%|TdGttFE@oxPjfm@ zpoLsOn?Pmio*x2r1P1`jbz7l9vd4wz*mleuW4-U3>0;@{x+wZxd-95Ls=w~|WFO7f zy(A%dzW!L)1uhPbR?-o2ast@BOMx{dbzFsn0|f#rM{8}#A4g7>_ht=8D2kbBWt;mW zYs}cQM+QgL4Ih=_pLVM|WQmGhg^>^j1eTKWlRw zre!vY;#Hh>?6nmepUMJ%9yY-_>TNKrR0yjF0MLHl$T-8%9B=&R3?JujllcXYb2e@3 zxf=8h2-COF6x~3CGIU7SLS;K%_c@Xg+VoI&2kAl z??x8E>6m|(3^-~H@sy7HHyS#MFj?l3H%>oDP{25y$xOz!g)z2$e}%td#I(0X*i}Mx z7dk9xKFsiG+>}wbx}HvOJaWUf#5z~C@Zl;g246+$w|6-Qw?TP<4pueC81r7xY zj@Mw5NvnTEF$2enpfm;7T$G==e9`Zm!m?$@*ORz(-G=;qsx8G@HHqwun2w5t=njrc zp=Y53LOxrjV6AD2nxX7z%_(M9?LgznoU=2xaOQq>a&;u1cR#l8G1$K9mX_JqrJgj2 zQwB&k&W8S}dW}tu_v1JI0}f#`d;yaWuOtW%0~U1ma?KN%uMvu6Rg9{gNqGb2h+)L^ zSa*eCx_2hOy>U;CCEUOAHh83$-qSZ=H}Z~+1*;RCceHT)LxXb6ZDf0MPRR|>)HR-p z2~+muGn{imw}1`MKQ6`Y+g~K$$G8_F$WDReI~p#rniOwtRCQ<3*8f)5{`P>}><4{m zOY!4#x6zXDzhl;P&jjk^E@9wTOkK{&-H?7bId78(&CYtSH4Ia%952BAXg@yqTbK-Q z^cyz&Ex&EO!xs(e^;2%)hQ6%qZ48K+K7SQB_$C;z;@QaNFc2FL%G8)DW45`597 zoS7{~W-O;qWXtsT;23MRi4MZy^JRPaE&n>u;BdG}2I@S7M#wIR0RGkbe+l);^dm`&hr-{SG#CHFNYIf8cLtc)&Lx)(1AAt zXW^*dy7edY(B%WsD+3v{4I2VxA=GCNu1+M`f{COQz7GQJ#A@%Z39kZc{tf>NvIoXn z1cGogiF)0Aiw_2zrlgg)e~jF9F>3=cwjI9x=^)7;I3!4P&uU@9oYdOR*^vQ+4H%t_ z9nAnby#cjCf>U(`8qZi*SuyDJ0`QyWX&HJ*gJ-)gbs4dxP`Yxzqvfc5H2cMf;}-7JSIb&a>%J{rtOmMueJc zW;H!|Ux5l@;Ek>ek}Ec4<-mBp-SIc~DAJM|p=cvNXSdKMIHKCV?xo#h0)6UF!g&WYi_LbMNceC$U3DE}D(siqr9cghYgFif} z*_%ejCuwU5?sjxq1u9w5sW<4*DA;oftxaH9i4r2&?TG`MP^-mpaI*o3# zpHx7Ii0Pjb|LNMo0egL+{<3qSQxs~4j6^bi`LK>n4qwDwJGDhn|p)GA7Q_+%PtuO$4y zKW`9Ng|^`5s5Ka&dC&ooZyBlE2<=1bMfY>*qctFY^nrxw(E$ffaX^1@5EY-pZ3Adk z2T4>SL;Rmzc?0@uV7&1B_Lvz9_U}!RW-#v^Id)7P^aE$_zkB}1)Ek}l6Fx+>E_ww$ zIMQfLbn#`y&@4=4VDWolH7o`4OP-7yV~Q_B)4E900xMVYq<28#aVfd--2xXs+82Ap z>5<<-7mI@vyFi3hgf5NA8En$hJAe#dX`oV{_&6ZBW@6G1%KE&`C5xaLj0O&)fahQY$~Ju%<{R$HX) z79fjq;gB-LBAKMI4)E9fO3Zd4TE2xOsA1)Asshpvv2wH9ZDadw!P18I0U8u7QSAhh zTqk5$IENz+mCw86XZM2#A6i3~liA@o8^tWX7Q7XBTw9j-^-(*%ZBvy#SHPo3DbCO~ z$URzVU#)NZK3%S@Yb@-x5Pym^xi8Yvzfr~Tl#3yrocOiT?VsLr)sjkHIOFIqc% zIE>-A7nSt;MTG|jDHxpL+Q4(lh)Ylaxk`&!D~PdSL=+{$)RGR~dUdd@PX7EoMZ2M- z=iI)sr9Vb>Pi=%=F+Xck9Vjcx&`Nz8``-~56HqJZzp)_Z@3jQd(8Nzgovflr3bT@B z+Mg7}LKT~~MtPN|Ju261wQ52F&0Qls4Fu0TZaOn3TGn!?Q=KBUNbPlLn4-?ZCk zBD?-W%<(R%0vlPJ;r6svhQ}vnz*VV&=(r&dW)n|R9BO`ra}SP+5C1Q>C(JCmqZ1^M zl?KsRAS~`EO@iN55e}q*#yLFl@_>ti4cvs_Il@DQhJ|AlKuWJR2(+5G=XXU?qSxtI zH0!UVGYh=lo^J)@C|*CB@^N5psEnRG@qie!kL<k106KzU^meA?*26q{4ZM{ zpeM+dT8{b_V*LJVoezW1k#UMcn*pOE-uqKS#B>3=1+!~6bS%RGBiGU4HE?*u7}vxM$->6uo`os_C9!^4TD2(O08WXq6@rN!c%1`6t%K;g)3tQ8e2PXe~v z%JNYQzjwQmr^!Z2WsM_MK-94p!a#JAErlB=&+%|lQln0PMxcUa!R(=S`-?=&Wl%D6 zA<3gK4edF08t*Rr?1uu+w9v%Te#fJ}J>6v@E6RB^G@TiW`!0!wUcbCNA}_J|yqj}J zhj$-`uEe~d{u@%4imvqY{vDuUn(k_TN8;n`R)`sVFZS+DrJ3FtpUR2g> z1f%u2Hm}zqT=;2It7eQCH@(zny|cRZ2hol?BmC-3y)$ss;TC(gC#B$7D6HSWfH7iF zC4!DS-A%#l+gdxJEm*!8GKUDrqu!kS?andcN8Akq90`}n$nF|Ls2m$66RS>-#3ujM zkcc;)e9WaaSxZsd`^d&^I@z3{5fC>3U;-PJ zee>d{3g?M&6Wq6EeuX(9>~$R0>hpHzW`I*g|~j~br|yooJLO91}wK*HMey*DfbH{0?bbGVNjRnAYDBlEG}wJWA0N3`hPX7FnvL?Af#Y0yY!xrtYUv+od~+$_ zHINlVt3N>AnW&JWi|7Y*LRMuAx7rJ5%7EiT9tny7xy=$yhE^McMLQ#Vd6QpNJxpjj zddk#&CD!KE!Pi?ec1l_xX=g6o%td_8n*&f=Yfc{y4ax9gT2xlF7wvkLXt-n={ zzrX*cTSc@UEozAIKx5JimhA%v4q$N5`45E5oj=D8a%Do*szOhju0{&G&J6zR>4bZLgq4r{XXr*wn^ zgW6X+Sk6#;`Ky1ks?rDTuGybD2;-+)Qf=pwvdm6!nk_>U|C+2jt>=R~L)HmCobw#l zgsRWvTsEzF`Ves-`!CHyzy(Mq8;7f%)vfcb$y7=ygyUInK~w(=;gABe*?n(MXjk-h zFXr`$^t7;NL0PVY=(JH_Rqsc{zI{6Sgv!#L_}V6#af)^!xG%=DYp+aw&kn+TI2?*G z6CyJI5!~%*&{qeCw9<>`gT258yzRNF89`%+-H9o_IDWjSw!m81nH zgOT+%6m=O+14T2GjOWAU$Z#uKG`U%uZWjiRo5jCaaSN`>sNEBf!VV$21P+i1@1N@d zc<=K4%Qci@;dFv1t9W$mS3!t{2vo4ZPDC(je0yB=Ep(_USKYP~sTdA+(RZj`3N$KwHk`P1`q)S=^B({K(lKafh ze!stS&$;8AamKm#55{=MEA0LGthMG`b3XH#&pZ&@$x_lFb``nEc-|6h%OTAsOkp)k zFtK|3e{ynvLnuf*{dT`s3~I=Qne$@%N(k>zA6ZzGCxTu;u}#aqR;=3zcr}W=^`Bnc z+XWnmlq9y@R5vMSx$t4u@|7_^Hu)P~Ue|ie0wmxnr-KcNdk?$iX$89h*?G6$bZ+%z zWHD0F^AElUNvyHYUl}ChLxN*ZFS7I<%ow7&il~3_s63GbG`R9eYi0#wm`5y{g;WFf zW*)jF1$S2HLgpUmRrS#Gg9ICc1ebilo$M=aa*TO%_Xm@e3l$<$OzN~GOayHzEry>C zd%;TtFox?=JAr-0m>%&R{s0{cM7zSUM59GNyptuaI~&AB^C0V@%C5?7vK5YB0;fRt z^FUMeDdX_vltj12Ek9zuFkF!!i2y=EWao5L>K7h(GSrBM*^%1n7`Oz8?! zdhwg>0$_uFAOm=vH^_z*hpE|?&zYUnP1h@Ic#B~?D&Nj*y6!p1>izx{An$ZdI~VY; z58&gYo_fhT%P>R^eX+>FcV_#b8Nq0;p#e@g(fHs%$gO}n{|71;v3pbmFo@sQK|Bv| z!uJUeR^>>|E77O#8#~kG$kth`O6<)itgZoL`NK?DAF1;=Lul}GGhYxX2F7xQ4gtXj%8?_QdQw3s2gyq8Nys;DdX^nb=j28g^f z(%6Zp)&Ru~2r1cslv;RQaah~yLxC?JBbD|VbhBP5+;65j7@#&saF>V+kmX!|eER+= zI_CYKv9fWiZ@&zRIuB+F#bT{+h~5G|oPAY-EPk?xBelMAX(2If#mJPsscTW@#ds*rZLsLkW)=>%0o2zUK#1XJ90pNt zta}h3*A_VV$B+{qe{&XlqJt#NAg;p>2L{?YR}p#@WFw`td=|P4ecI|ObusHZ@{w0{ z@vqO4lKs+ebF2mD!%)<( z!PMw+!FX;gF#;z;Ln<2%o;U$9AwAk2_uGPKitFdn;1qON{l=)X=SDfqI8m8lN@gg_c zLgxP~a&)*PhQ<3VL7uG*%hHMAbNjKp!UkWk(3sA^tKsM`jqr*(n%Qw*jwY`!BKQBm z2MQS2RABEF0vpg8u1ZAhqNHJ!izI5Cf)7nRI^D~5&_5{!iCokCO2J1w7hG|+0%{(P zTbq7yKI1DR+k)r*N z&Kl@A$bz=EKv6TvH$T^cRj1$7=H*3c1_q2$NLY$a;K%lkRw%@r&u%q8CqS z28Zy5%)jJzp0OZvbXipg{WL>>gPyO#KOBZ2H)R(2C; z*_{0R!+t*Py)PTw)IStNUr!$iH*qj++bY|a%82RLgn|ljfI&a(fYW#Q$?Q&=*b8l%1$V$L^FI|15JqF|{)>oF1Cy4D zwIVl!4PtBcr_q8c%eThzv6Fs1E|ui(vv~mCNB_k=HlvH;&*w>P762S*ihjxFv4{rx zaRmE+JTZ-0rB+18Dq-*Rv90V1 zk|FN2N>*RaL6Vn&*oQsWZ!}3)_w%{_Y}~v4?rpe zQ9J=n4MUjAf{brL^gO41wtBQXD^Csa^Oe?z+-LsByjzY9&O-AK12YFh&O(onM=oPPGTTV47_Q& zm4x&&Q|-{ZR{1FD`XzHWPKeJRg}`^61H}0qJX%|)jIGxshfj8)3?)Mk*OKtlB(^eQzV?Wp zhD=;&#^P;({=woy+^r5FHDPS%aDkR0qFjjxAtH@|tgNg8%9zM8zh+N!;*X#vJ zDuIB%6JHzSp774AeMp)G-$IY!nuqQvDN5}VTqL9x{uiGK(93(Z?q{=mHrjmi^V9C0 zI7dwW@HEKOprwGA7y1Dd$+0Q>Svc4*MXKW z0;4fN?%>N!QiQOr_kZe7Bss+IjVPaSu8&9y7NywK0S{w2mQOa2`?PUc)x;dBhN|6B z3%7`6+R5w049(5k%YQ>%`+d+Tp~J?|k6?zLBe+Ncbx{#Q5HoD{MA=0gB?5sLv??&cpGbF=CyNzLQjw2lv!q)r-V z_Fqnj2zIf={k+rEG1v_WJkZRGHVYYJvTn0k`CqgE8eu5uzx$E=R*QoFJ6EJ5+_Zuv zk;nW<|As~CTTphusi;HZi`9kL2N`7pdXBu^|DeQZ^YO*0i3YbqtS+d#A#o{atSUwV z`4?%6f~VZ?bX^@rDBL5UhYh;0An~aNSSYd((C=qEk`4(bZqAfj*d$MgS{G}E3Th!CbjZxkX<1L5-!be!=1 zqsO}c`;^aC*7kIwbbuZrL?|>So``haL3IKlPr!*plvNSA45SCj-RD11$0I*g$W?E%KW(@*c9xc0zPdE0fY-(MB+;Qn?GaCTz(wuN!=V^~H;&ExQOmuJ~P#TEEG zWY8mSe5(FCC3N$oF(Uyra*0lR%#JX4OwCCGiX$`vWMEJNX-T`>OZtRY?_t6(k+@r5 z?2qC*U7UMKn(W=-#AC27ur-=6hYL|zx-4X`3FY335Txt`4U;atE;)Zb8NJhJyFZra zzk;EQKb)nvLe#g>cAD;8u{Tyf&I9>N^#l?YS?Iz34%<9^K>ZE?X z!s)j&S36>N0viDRE=k<||ytupNDu}-Es6niGK;W}>vg_gYZ|W9Z1k6g)g{JmI zm^|^8>V|OundaQ(8~|IiXudg-kAz(eYWn{LK1Wmp$O&_HkKdC1XP&*5z$()~!t#U3PB)#^zBfISkG8+Qd_G0&G?{C=1R z@}jn}k*qPd0JxBGqi-C}m2qoo^lFstnayAm&@a5ld^rPB=mqNkZ~054z1wYBw}DQ= z#roPS$rMZx>d6%YsW3K5XS0CX=j$$#yty9^9DdxF5j)?DWiKo*XG1Z^^%gx*t1{a= zY~1_0R5dt;zR@tFtvbdPeBr84Sg3H?Wn;bUrfVEKj)@6$Gb?XN#PAZ+KqsAY^?`12 z#4!o4+EWGzC+qz}b*YlJu_JU?wcAM=Zy3_Y^KSickHJ>iGRm69Q7dErO2X z&#t9F8Qt^qTdB=rq2hohD+KPTqZ7er3>u-u! z)vOsYI|Pw*N8bKrXT9E0j}@0FoEF_V4wF7`ZU2u;{QW!`C3BFvsu21+YMOD~iC0_v zaijXBjHM|L0|t&KKij@zPC1eQBNKUUTw(~M1A$$Tv z0DfeE=9KgDA169y_n-Vq;!J;1=r>nfX5IAXi=QBcLw^_1g!OkD+dPKv;UIiD&~cfc z$qv=ZRnH@5^1$o|wCE?3f}cdDK8i#Spw3=DXX$i)AqJ{!4W0G6k^EgQsVWKlwXi00 zG0qK)WZDTY$Z9*RBB%`mRr_WQRRgc|jMo|bog~*qN+_+`xX*F+I$P9#o;Ns(`39Mj zZvi0FYZh#9%~T?b+p4#ZdB9LBe0Ed4y};Z}XQ&`D>s=}~i$CfRszLrAKJ(uT?Bxde%d#UWSX?sZLJ6 zc53^{`h~)XVYUDoxqxs5?Nysp0YT32B*Y?g%xLm`2jQ2x_}yW=x5$^zjw#6x2B*-h z39{fQR}t}k^4gFkMw;I5BlJo8?<6X3x&Qa^?_gHlmn+bF(9)RH?OOe}Ff9L-Y{TIf z{$hl#^(WlV!XIwpLWR##K#AmD8I~4l^tlra_UZ`s3|sp5laZC6R4q@C>1u$#2eg6} zZwmC^nRUa}3jb`4A(&IOSkiS@1Q@zl#34@cWg#D-{UKtd3u;_oLIDY3_sCp(Vpv1n zI=RM4aSXfGYXFqpF}o9eABc3_23l)Ro{B#B4h4@3KCY^g$@)^EY^xK?KKo@y|fWgamS`l6D;O*?=^9 z;|1#6IQ@YI+)3M*lH!L@+;_DyGIxAK_=-<#b-K>h{-ipxMe-~VcAr1kf_ZQahJRd*(4$;lTO~4%+F6fP@Iz zDp>`kZiKCh)nFuhA*xld{I=C9> zMLxNqJ13GrDSYZRETD>Pw7Qk}$}@D1l^e1IZQ-~jAdBd4`;Ia#p2Z(%Emx)xqrM+0 z+pwW?TXh3kyT+L^CMKJoXmTk@Ex? zDgFW)!inE_FB-y<;Vy;SWWu-fM6g@;GIEeer> zq6#MQ^ig%Y&cM%ma0~)2;65QYdBU>7jG2t`K3GI4p^|#UVD*HKiAECxuA$C${prDq zm!=gJhm`3+XZ`Ur`Ok8}&q?%5An;ckPwAbJJ1p*j^q`ZEVVci8>+!2K~&`9YEt zUwW~<(SFVKI?l*~^+EOF29dp=Np%LM$ytwGQVTlYygZ3%xSjW*xiH#Z#0Q=dBJ~Vjh`U=8mJGuad|Ep+jh$K1G>Enqzf(y)O6>A<bhm8# zN{~Vj|Iw^-*t0z3jlbSYfJz%B2|?ZB^iRvPWYH;|;OM@ZYH@I|?BdYp7(@sTgG~*E z*A=m}`<4G#a?F&FNa4@>HR)v2-@_6kW9{qS_<@ces##Z z#($xW9x;c158&?|tA5yv$-k}Q!zb(rzB%R9BO&kZ39ZY@OrAFircg9&_$YL!yDcG6 za9XAri(TdL`1dS&8LJ|U>Sls$ois#HMAwO#(X_;4*w_ zom#7=8*JasfoUgPEn{b3L8}ob&JEo=WR_>X48jb5(0e4Bg2(4EtXnVx^aJJHD*F`a;Q8EmrWo@=nN74Q@#a(%Y`-v0Zz6txQct$lWdj zBPtZz7cHw|lulsbireHoeq?{>dv4I+{WK#a>MDKyE*m}vt}x9FnS{kPhV=+IQ35X8 z4h*dFfj(~|u74XyYq&)!-DezC5c}qVLSOF?&0gvPU#Mdcuo2a+;ht)BQy$L0%8cje z2%YJ%Qsj2tA%*^u;#mhYWS{yX)}n0ta(*;E4xv$$i&a*GJVpyudT`~)mwK1-)c@5e z{|IrfzjX+1u}^W(;=Rzg1?%j~-NLD=a{N_XR?i~&zxR8S`8I-e#1zjp=|$z`j^zLw zXx=p5GR$>oN^ZLh9b9O(G!%Yxy5q;MTq5|d#3~BN3Qbo94p{|8CF}&ETwA_i#GAN=X1v>0IprKA>#Ruxn)gZeK0#-oogRzK}UA{ArP#5@N zPat8AFr`5TPQH7*u(V_Y3TjBJGyr!<6&PsEl|Bq<^RoWJg+GWWHN_aX4YotpjN}Jr z@4T$)PozT}S>D7Kx$LR7bIcdfj&#Cg;W@&_8XqdEKHH{qNEq-8@wYPoMF|~{hI(;c zIaR_4SWTnz;gTiLr6UJ3#K+=zl+T*@;0t1MUIX#Fr4l)QAI&}~V%%)ej zN05fS6yB?I%)&<0b4oOSeT^jaUuQWo?13~8SAX6nlj9c7a>qE zfVj`?5Ks`FI65|#T^^b4S5a9B{1uZ^6Qod327b;M@HxAEXQ2F!fT+mqcNo%s@q0>4 zOg4bMO~7qJ{)*KK>0yV7LZEa2V!qhhl78;)H2|l$jdx>*CX{MVoD77FCTdLMHwrbO z`^auF-hFzRF4v?dcGdEzWF_p$MbkRfzK^M0qT;|k(DV-2SJKvw1@yL!L8bm(_yP7P z=Z<5wan(#_H;*F!_+S0_4T2X*?=LfYklpHV$!33QAKPv{uaVq^lgG|@+||l+w^V<9VC(qlD69!+c0_noYHI24-@ns>vRX6z z&$&M{a`ej9y)7_)l2Ej1ol_cqGS_r<>I#$w%p<}XyXCePO@ezp8)Sns+&#Gj|2fgO zN1O=eMfKY1>d=bpAI$qb(@wFX&`3i;lM>VHa)xH0DPfbKa^;triiy-Z@#x2~dmqxd z)`Srt%huNR$2;g=kneIiWR+LB%z}12*r_NP5uWs8m7fdC%c8^V4;0Ld(5T zd|B9g_xAvFf-Bw$8(Ps+Qc~)dj@-O+a*p|25#9@8Xd4}>@fexbEu|kB5MMuxF_#Sx z<3^#{-ui6oO3-oo)4&06@=AV}=A;8O=BDNPH}AfJ(aM$uh@mu%prA4W^N#?m7ea)} z99oWR0MjjjLn6O9n_dI5e#c9aCoA62L6QRlmp2eiD`XHCOn_a1NpAySs|20&fX4Sq zVttVDp@_h(1op@Uk?jQn2l4)gNCexnn{76NR)ttryYFREkyw?+tSnaOU0Q`I<|smF zMc zjlCB3GjN+~ojFArZ3)^|6D@u%DW1P**TyU5Kzk8U@CL16_OE_tCZSh?V9lV)G9Bho zS$=ze3n4%vV;T_Qe)yrN0)fvs0BLhLQl8#LMr;A+CL7B7g~0Q>lByGlh;73BZoWSU zIf?ebp}H)jqAI=<&AI~qE~dv~2#P<^iHU{5H=1=}u4#*Tb*uwxkd;CpD?~tQAJ2!_ zHmyCC5vu!am0tQXWsh_~`0#L!97IjZt}yMmyb(aFi5#&+VT)&dzv^436ie1I^%t@5 zj)XhE5(7mB|ENdr*}D_*I==Sy?%t3PIe4s>)2XV2M9`=+I9%cfsb0tUn5+ASLnE@v#aMGhyHrk)or9G-pGLV|j}4BMrAZ zYxT+|-eRd!&r{x#H8YF<6@a^vYLf&mQ?i`ayNj=doVQEn*<>)UW9`M$f+UV*ro`Za zDPU<((&c_v@930r(nb_XO*{+1N50-%#+l;*NyI-m@~L#NA)G z2-ZL1PcbhgJ`yL(hK3%)2b8|mOljVO`ece^o}rBzRqa0!5`dl6>=qLLb6<17k~eNH zf7u{ZTAFkx+#WlozV@|?%mXSyD07IwUiqJ6CaT?qsfcENM%tb``L(6S+fx^D5h|NV z&1s@jl&`{vEJh}!8}qduMY}&)T&eMhUG0Bxq5{Q{f=~yy=aj;FgbZ4(GNUnG1G^OR zg9bB&+p2wwxL4K;JZi&5+@{)+UFq1VX=(Xe=O&_^bUj-3DxH<(95dVAeGU=smaVwamhgYn$Ed~p`D1)Lv`HA%462{H0Se~BPSqomY)oyb2!Xp z#nQQH+|dcdovVjFg(R=ixxx@rJy;t zwZxYiboh6PNLJ-PQ$>E>2U_m0U>DhNy9iD}ONMsetM6~*1f4-lzAl-Qcn(AJC)_8f z@DVfTbp?($58uZCimH(!#y{;M^^^e4EN5$N1DXf|i309X;fy_o`H_k5`K}!pi@o`Y z$DadsEk@xsP1ASmVpym2R}U@sEs)g3szz?VUZOadn!JunB_XxGd){YoUa*ja>Ox5a(;!foh@sp_+8jmU&l3`MTsv%ZxqZ+EByJ$VxE( zW{8S3E+RNW^=+xEEL6)a^{T%WMZI9k3 zJj4c-lx2P8NnH2!i*L>(f(2=N1%HqKq)yHswb(yZp~EDSqVs~>s(9Q`sF88(8J{Tb zTQq){5p!#@2)5_G+5NiuWM7^)T-EQW@3wDa%2lxRJRii;U-=SqrzQ24{T}7-bWs?V zDi%syp&Fa-GE;^us(=TuhKBOX#>dkq4X3LVBfBv}O&d3c#xT2q$VIN!jVvqWx!!AK z{!yB`gx8YDF&1MNxI@Sxb-V~1G6vyVk}-NfJ`1vM2Fc!Goq10Jun92L6n>F=hDHTHb#46#N{ z9RDrl3uGzamqcw$<;UP1th0^}rfrK74OK0}X>~R)r@Y;fgp4NU9P&7yZMB2h$=91vjZm{9E46YGWHO9?fu-nf4kpvRfG7?}7;g8ps(>HQ*o8t*E_Hw_;JRBU{e zaoH6Sp2oxUE>3zLpYxf4#Z=OMP34*P61n+4Ion^pne6QDwdkm&fziPBLkIsbvKfg73hnlgLJseh0F9c|`A}PBw>!CwMii@0wz#KPy)+%{rgFFXlt?`+!O;-9 zw_gA&igNks)}x^Z?6+{kQQ7i$?#ll*yp&JYJu8rr-18;rNwK&h|$zDw`(^YM2y_ zkgOXl@a>CHpwL=vM3lp3I&Mm%k`5a=qU41LR+CoyY}(tcp>K3C0t~~ew=1LNscpcYXPtGfE{zQK?of{*p)~Ikor;4U%x73g=ZXWRO&TA$7ncdmkuiGI< z`FFwnR{d_|=FY2QY2~sep2j-|k|wHTj6(7&^9j^?_Yn4quumlkycax?vP#|SklUL( zzlx1^mPicbBXfNA8rP2>#)mCzv5`V3^i>Kz?)$?@kAv2~FIKP1wY)EObvvm%=oq_- zJ8stg4(`uyf42iqJkj&$*7ifJpx20mJb698!P) zE8=My2CuIvgIg(UQ)2EPPeUKE?EGz7T8+gS%Iq(@VWwHEo?iVr@|Eb&4m#%6TiWfz z(z`2OLnm)nMeXz(7X3?n9>0sV6Qf!02S0O38o*5gjfZ$LB6iwMj&|NnuD)kPY^i!o z;?fJT&G#`wmF*1BFfMSO1?``4TGwxM=@%ygZqNMondV>gZc44u%K5r%26eGcp++<< zz~tJTj|aX+lCGv?s0Qt5&U?L^Xu#%`#BaaM;hpZ4;ed2Kej1kHVs4CixP;4*Oq@aN z7oNnFBcISfRipIZAEM}!>3?SYhC|`?Bhe_0vS}<7p@Rf=e*UD24TihBBn^N6=yuLn_4l&?O+^fRfvAHr))ch;t zcjn0&T^ID({EoBP3EF!$+MINR+tg|qJVGL)A}7tLwbB*6$(DsOz3rX@QlpcJy9fY} z`!I#iLXDgwpms0skr^u1Ex!vLi38?wMmeBCLp}Kn@YV*< zBpS(8WkUWDY1KhSX+bX&;Y3z;wiP7b2=53{BZr1|Yaoj1gKTPj@8O{04V-`qG(>s8 zkaSfA1%<)vIOBq(q@=X>2>bxKI>(=cTj1A-h%h1$jH z$bcl|eY$#kM*#x4WXboi6@}3GK#Y}a^aV|k`mRY++T8ZXVA>)Vrxii(RMP&Av(DZ|ZrX0qwBP=PH zy?DxQ1BhrqYBT)p4FlBPR&C6-v^+c6e*)th)F&@8@SIWWKZz^RYUQPj}VC?6XtVG@_k{uScNvHHty^9EKEA2uA3ql>x( z@%r1C`1oreE&^!PX*-ASW$A-M!Kv+%;^Ix;cVXmLe0+R%&9yrgoJ%}Dyw__$Ud$32 zBoHP&ZhRZiCmYrqFbYTC{!b`mg|_>tg?wFEzcjDwiyMyNv40P&HJQj(M?np*Y3JAi zXUx;iX^}4pQJQXm$u4GY#{6SMEne7j&R}_cyFuQq7ha4Xf3CTS0xb8m8$mNS|Vln?Ja&`RVBx9m5tqVuxnL*gkJx$o@^ zS5axiSD2LFLH6~d>Ne?$DCX);S9-LZiMFw!Mdo@l(LfK`WyH({&c6M~XZ^5vQ*5g=xKjkm{6g ztU#IJ-7eA)0pd<(wUao2U9EQ#Tq|I{r>dO*mM?oK^`=}NnW77#I3pllKPcgKZuBi9 zUR$(IUdJPrHLt%1!v7EhctS2z;UCrweI(FV9(J=_Z5tVZY#`ybt`N5JTHs9|UV}b~0z&XnV z2WbO?Y9o)Nw;dYSYS4#(xLN@%6E`!U*dQ1AU1ad-b}In|;Y0|XfC9YJ2xwm*(tilf zy0z3dwmgt2Em3MpgLq)$r*o%3pF$BZY(pEV4UG6j z@J;&oXhJyY(*;$Wem6K;e%}LE7;?z6u%$4FNMue;83KdaSM=$hG!Ps}2N4M_5Xgy4HnBlyMEbZ-{g|`!+G#RWwVbI$R7{MU ztuLSES`&0-DukA*9i3XDDTL^#7&-|Mh#;Jb8`!wd~QHym=ZSH$R zdO#}QK;ipzPAh)F>Bf-^F|XQw4+_JyMz7k4o=3}*WQW6kKktSf`c#wCI|Yc{gS_Jv zgz&_gmyCE4`MYnaTv&@5zJFM)_y*F`bc~^@P5nm5f2IyTiSuQ^?D;f>e4Wnp7Q=CE zm(HY8#a?^P(!ODDt4Y@r#o5*B{X|#cSxElzP{PGDc=)d#+|tn1Bh?tw_3IbvJro$- zeRDM?_mYK;(UO;}pKIuVtjYY%Gf>AP{yV~}7N~F;)s|G2*Q4@t!>{{O!@<(p^!6N+ zSDsxa4MXqV^2q+>k-cn(o!$(dE*J0XoRETYQA4C%aBa}hD$6dm*(Gcwbacb)ovMrP z^vJA$)MKOes`fZausn|YE62yc=(!DWTDc)R7qWRx=BofL%7PulaKcqZ$o+S-?sQXkUUGv(C;mublDtkQe^DFCXC6`nUZT zH%3HnUJuv!cuvoVE4$1Vd@$$NvfbbI^OYZB3y zaV!592?O$0fsT^boWb&&&dJGU+S8cC_ustW@#8s*HQ|UtxhE$DV=XgTkhEB-)n1el zEt(_0gz`TRb;-PDQt5_I4TjVPu{O_3U(Vc5L6C*jrYgGw%N6(OwEcsq9TI_RvwyRH zG_{`+oJOTV=@m?X1P+FEX~|HI_hHRoTM+M{$>|!ccA8wc@T{hO3#@`>fS37@NIY=cuqALfWLXuV0TW)6J&OqM^p+ z@rc`|2|J4U4mZMLV;AeL(70hRGy1Y7d?zJ0RpO6vMzKX?%Jvi_Isf#9TMG<%JSp(i&Zx7R5QcHn0u z*X@P9cx^ngR)W|05(rR~#JHo+{enCx>B5F=A-g{N=*ZSs&6qU7gyrXow$C{=ptIt`t{g$0 zUw2L8Yxy}kXL~-f)!2+rj%P>!;z0OYFBe_O@$z42pzt`2ZL>f+bL_6iwsi^9v%X=! z!I~9}n|Dl&XUm}AhR$81pc2gBy_XFFrkX@RMWKaTz&gx%iq-6vl98oRHc4?Ic(^=@ z57d~)OFI+EF}ZQrTB*|B$-H2G*_TBm2>fH)p&ZwFQ4i&>k1)`XyTMv0xI-;<^v&v! z=z~V`#nnu0L70~(xWO{=-=ivj$%zJ{zY7t|1BU!X?R z0ex|E2%!T2K{a58}ri`bIO&?@Bf%beC#g#|2#526*Oq z41ie|UzZuUK`7dgZgauze%}Cx!=0k|8HtJ91Fs?Pn3qk=1-*!D@8VDB)y_+-}C>9$)OnaLA%q z%*6}o*Tn<}N0R9ZjhsVBPk8W9NvtpNiTocW#at}r_|3F>Ws=`_9+MH?p>rsU4vQQnU6TE1>VA%n>~tsA$RFnin0zWd+X_!TJSa=k`&d-Ew4HvET)Juv}h0eJ%WJC!Zr@uFDA zAP`&%fFg1nj3S*krw(Qlnhtyxd5`}XJ)nlVn8|Dc2r zZ&W7)k2&lTe?}K87I!1yauc`Bf{&M9o%9*hk17P7exCjjr6S|{O1wp_1_zkw{@d0i^CGbln`c>UIEWi&ZnG?) zg^=fM)^C#A8eJcGo_Q-_y-97TiJD7a&h2m2CAx@&EQ#U^mlhYUv%vk>iM4=pza98{ zkm}`WwR!&6Vg1ERfc?&v|W!(2S+3im9u`r9Ml`elzP(n)j`7u9YyTHy|&R z5!e5`k|9Xu`XKSN(ljwDuLcQv9ugAyzg2^>^yS9v<{Yeh zkv2)*V(Kw!)S0B9ANe1Dr|MU(&2u5s)k$hD%NtIFo)95QO&P)WA40Ck%xyhDl)p^W zShD)Qs8E!>d-3l|Zt)oeGW4yKkT$p-z8o~Wi$Q+su?D$0PHwKo7{VP97AbLqjzVJw zxw>|Epqq$65?kC-auX2D$F$aX9lfpGIc#P*s9|P0w!+{c2A#NPHy}x6|G+3$8SX@# z)X}r6zOpa$*<{OO8Bl3mxPx(r9BuCWoqN?c5c_EJ>vOwmwyoFAda3CS02+RcJ)U^> zBTquV!ib4yoVPtfls`;sgYUfS4DH#~!J_7?zegSY2vMz87PkA^? zaPs7BYp&jpF3=3SNS6y^wo z-Bde94@hzvR1$e58q<*j8)Ot}kCHzKwA2%SE{=( zIU&onD!O0FgetfUsh66TE_dLB&>O8o_VR1Lm#pU{XTU1|W5H{2sAR%DeA`o?+uTTD^W*RJZ*m~3I_=!6@mPNVj()ykMgwx%?q#p@&A3wmRf zSGT(v?FZo^)Anh{i++BN8GT9f=@PYvPYlQ4DW~byWt9)qJ=gdllYV@SH;tu@Ez(+J0S>GaTj% zTRx9*HhN^lD=)ga{H*xd!W|PnsG^-syM+fd<8!*e1_?WU(MZ z8gw#j!|Bt6S-Lu752r!IpX{Kiqq+~kpIw?dP%&E{t8{XTwWt0%&s8Hs1(xij7NQPF?*-J3$owW-8* zO74E6>&C1xKl_MtF7v00*}j#hm%v3(1*CxP7S5yIN7wY1c{#Y)pLx>gxTtrTy)(g_ zv}e|nd{#0|q5qxtX=~0-Js5pk6G3f8>Qhv=wSg-kAE|YyyIethf<9sPweW?hW-Fs1 zyG&6l*H_D;-DirP7U~)V;c|@fbhqQVHczOi{w=hzFLc4F!*HJ$w&@dhru)A8MmtGL z7uBxZKd6Huznr7x><-d(sk)4i&DYl0efa!$2J%;DmX_9=v#b(z+0H!rsgrgaFNRE6->!SOyhzEt&@_RV5a&G;Hm zzSnN5Z12_2ySVo((NS^d-itV8vt^|MrcN``cXV0WU5j~!UW=uV*$jPS-K?H{9sK6) znx%Ery&l6wj=~$yiY{xVdtHcN?hYCjkfHhma=L5<^`XOR>L1f|Z{fB1jUSe>pGzxg zv(HnjK0|Ju;c>Vsmv{KCYeeK!S5)&UH0b68I$8aQkGYIbwQMKWij0m;*kXIq7(cU# z%1mn8r}vw)0>=BwPEiUq=BWBu#I>sgJzjjRX3;9QXi$iDjYnN+WtA+9?!}tf1@qgE z-#pLXo{RPRno-q5A;%{Y*u~koU7FKl4rY8(;?1~+$@s(|J*mvgnI9Z>lOsl-M*bC4 zJ5;vMNt!2~3cI-F7nqG1bzR{D&)Taxjkmia+oA%EnY^RASxoxFVZ6IIGQIIFH!sMmJ8Gx7vq4y&8efdkN* z6E5Ggp;={1OqJet)lXVxZR|W6ZD3gLXgN|*A}f>i$raAxIlJ6>|0d_`Z}TS}eNVWR zpqf1ukw~LMb>kh!IMp9)p@N@sO47S(r-eB&E?u2Rgtera_mi<_Y>5&fSPcc)ignE- zA-XX>^CQ5aDek-)ra#TQEDeGb$`TRRUOYV0wKSIep16f`Pt5R%tmF6zXX&VjI;ruX zc2QD(>1d<>t{ReFT#Kz%_?ml1`aR5&J%hP@{Iql#TrQ2tqn{EHc!0d966c+Iqr(Z) z(jg|`bAoB?%vUV8OcEDs&tK&Z7<|c^%RZvHF-LS~4a84rnqaoK-f#y@p3i$GuGF<0IT!Z(7cj?AY=7*ImQ`qgLa{dtPk3r`#$uVC+JtxC_10aCWr|z3-=*CsI?RyRut$I+0=ARPrVC zf88*+8fI$E$zXanT{Ec{kCUK464ec1cc!U<#@lo?!Rx#^Tk`Q^T7~5i*s|cUV#D1` z=>?(7Day@<2pWBL+j3OY5QOeeHel~W+?>`4T#o$u*^XH<#l|vbsl=&%V`#qJXJ*|w zPN>siISRnqB@!Rn&T}IERdqf*_3bJIcZmjyU2lkrv$v#qh)SnyiMpE@D zUdL7ntlJ)>31H4^&kudqie6?HxFb6l)-q zW^cGhj7VC^_T-BDuhj&%T6@g7G3?|BqD0?)R~3aB%RUh$t4N< zz}Lolbw7Mrw_VdeW?sJggSd~l{2|#vVaAYdU$(S93i54K`Dh77l6E-@~e9ZE2+|h)G0zOv^ts)8;GR_LC8txnQ!L~hJ zrF`walr>~_md75yr2hGc&(5vkX`h+7X6R`tVp^U_8MFi>!)DulNc-LxzFe&wumDeV zK`!|X(OOkj2YxJ*=%3aB=zOA8e zPGv?GWrh}I%r4hx%#1e)6uAnI6YP;F2HYQv&^qUQ%uKZPr0BUL6!Bsw`o8aVz6|TK z$=LDN91$|!uD@C&NslL9bGTg$m9)Ran>B@dkg#|=Njad5zx#(DE`Z@=G;3J8Ntr>p zBSDBR+34iRMMesJj*n6!XO@Y}88JBlCK&;C8G!>bQ6WYni?k6sj@ut^H&L2?zAVq{ z|Fd2JQ+mtG=7xG>afy5t-{Q(!(_LF79^sI||H15A<%Y%tDM@NlvE%C|Q8kTOpNb{rMHAQ9McLuvBK@f=nqUZUH0c7h~t*8ElL z?_(yUoW2jq@n*Nr%JDZF_M4SUZ?Ww0DO?R9T;4vk;$Nyh@ORnXnhhHziGf*mXH31Y z1J`ikdUt~WVS2t^AcXbR8f%k*1EYk#@7c;9hiq>}YIt~AioPv0U5t?vVUhf6hjAF2c1R9e{*nT>;yy)~c0n_`JNcoM+BV0)43)CK;56 zp0fy%0YdL-pi34_p%fJrA^Ez*yTYA!T$<+HFjNV$sq{R7{Dl!kRN8$MRY`TP$AL^t zo?bNE^d`BqBoTmP`UPh z)2jKDiGUY9q-wnKdbiirAeRx{eAY&O?xf+SRG*$mCvv30s_Xly4>&K}_MZu5TZ`56 zBbrInWRc1fF9;REP0FTb$$jw8vFt7N=KjZ%`RB@t>4#tX`yXv`F2`Q4%t)DW?&Syk zY|wC%R4##yS<~Ua&_v2?UZ-vDBGJ4%bAvYr!lR;o1B|8sQS{Ag3{&3k*fZk+V}k|G zl@j@C!uh|4{{t=>bCFD(>@6c8c`d+B834#Eym#h^ZFoXLUPp&6zuDV2UunL;ZaXr@ z&Jr9OIkFwHQU8P0a!iM7?;mG+dbY-V7QPa>cz+ILhmqL^wpMR3c~*x7yADzsCA*)l zUy<_Qp5vH48}^cxr;(=td%2KNnl~652enK&4K+v72bwm&ZnI}pb27r8{C4YN;LlOL>nbwmQ7Z-2#-j!yv zw6a2qiJbqzS>?BYlhtkq)*}HRWM)3-tS)kIh_zlOS)YKhzto>eUt+gv;aaw z{NZ4X)Uhwu_OJ1}E$UHP%~R6|7nIHY^K+NMNTIQzLCeL(<&B~Qb~tS~Ej2f{CP42f zjzMzgx5vlvt!)OW_*|UcU-MeJPLNFGJ$kg)@KqOwXO^Xf1${Z`l_qH370ft@#Sab* z{ewk{kBB(k;A>zCvVE%dLoVfR02@rH{3#?Pv_l9T@{~+;kqizw5#&G$#TsJwAfT1rlox7}9yK&y?FNGccTlzF29r3Xe3z-7$b5bjz*uge-)i^a(V>d9 zN&FJ9r0upgC?KP&RX-+5tB9g8^3g=FIJjn{1FD;)j_G%4;t$)19I2eGHbxN|9yS9L zQ`P~tJMsXu>gJ3#(Ka+a2xmSz^1m-RB1WF)j9Q$9m|a)1+j&+i;H@{KJ6-Mv(_pKC zYTQGzFL>uz0WDW8;NuN3r*C};LYAtbx9)*b>8PP~q9u98qev}YY!u+QjqYY75w&EZ zbuf$gm#eC(LW$~GUT_!jHCtV58g7=zz0 z(Y2+1*bl6o~wMB zme!e~0J=aeqGVX^nk*!dC4d|A0H8HAG_>No9}Vam$EAo-C=_N8c?1bVdIp9Je13(h zl;=-cTUW3q0S8juf`S4h=?Y|H_wm-$z^x|?R`3Ntet|JPVxLCvgS75S**9-I3?7KI zV-O$~_I8@-teOpJwvePdgNKl|1AL`zPhkck>{5KH<>Sd@1IWXx^54#@BF)cpw7BIS zYlU^bB6GxJMy7Ni?1@AWK{#Q=rJQ&0R&qr9TH}nz)QU;eCGF@p}k)4#a(I}rGB{=ZIgadI7IkibsVD=R9>8VSv}&7b5tjFI5cJam;x z0T{qmFdr7!w^swoJ!XttK{?q91S85pT;g_s{*ASjStk%@t{er7VoM~SL7ah!vwsiR zA1;8O+XFGd>eZLWF&Kw0F@JyDfV{N@fOGNBnMH*lf7s&ySXL`B$G)!#pnzQt9ux~7 zXaq$-=+wqrI!Qi$*Pi_`Kw2IhtPN_Z4PuH%Kfimhhi_>iN#IJffGAjOI(m$^z6Xl7 z?sX}gdoy@SH^XqndiFU7lv_0X=?c$ybc3?cGH`F5zxDCfJS5X&%|ORq0FM`uGW(vJ zXv$lGazhJx9ORC!YJ?!9tPX|5Lm_mIGZrA|)MRtR&B3`l%@BZht}j~9-0@4iIPt2w zx>x`myV(!iAGz&olQ8(Buo!QuC(HJmfb~vnRFu{7c-zNmaGgUB{yO|EA#`tNxVYj8 z)oZq`)#P@AgLE$1F72A3;ZeapB5uQJoTu3N*;S`{k7Io z(AJF!k)FRC!;$L)i!JlCD~La4V&gK2W5VHKVa<@q|J`~9*4?w`&qW77RFfpKsq(Df zQ9Mg6p3$ZV=T@cVC%D$OjH-<!wjD;+s;FI5gzq?=b@yY{NIOyz)eGMOay>5a20Y{8uB;L6otg-{8cTz zYRFnuv|%qgjfIg1B?!7nCa_wr#;xyPvjq1Dm&$$x2S|D&am&NgH^bmNVA{aqJwRRrrykfw6i7C@T!w~-83(RI z;TO#@#IXe|>>A#`-XG|MXU4HU!KZuLMO)6Ly%46w?U&)ab{vB}2+YQT%IoJ~48D%-?p0W9ooI`3lXM63 zzBcnZuhky`k)T-uQxZzD#;K)A2xi?a;sa-&));fe7 zhjoyJkSnww&-t0fXBt`+ea3Kf5ErE{7&b<$Qcz`Jx2nwy^fXqt-)Ji$RCSNc2%Aow-^fRGz&H`TcAg% zs;hT_?lzl^vN;2xa4jQqF%i6|)WrKwClj-vWRLEtE?q)q<%>{xV=40^Bf({*OANe> z5uc0(718{{_+>^D_5NCe{`b zh&Tz?%xcOg3q(N<8(+XpM*yt3Lr@_43Jv4ggNs){Vc4>)_aS*2bSwY`exw+%@L50v zDR!G^myhSX62%Q03@kAa1AUoiuDD*}7<@FT{^pF&FB zviSV@bKC%KC9xdx&v!!rj{hgLvar|z?wqs}T7g5=W8aY-8k?Aiu@Qz`v z*JT%56(5L|ln|iEXaeO5hH*;)z0lSM)Ez}sv;7JbgU1n$@=!|DB$me)6)Nh z(|Haqem08Dc)jwKOR`3?!|9+IyN{O*&JvCR4qqr<)Xqwh^+*wHYopKy{eaQ-57V6< zg6`Vk;yI8{1GAoHkZ>VQxW$bn`&Lt6gWr$g5*P1gmGyaZoQcUAgm&Wg95^BZ(UGmg z3TObMV4K=JK5io{DM@Ap9DGI)l&_pR+G)K%!tk{O8Kp*ccvKl^{LU!&3_vc7Og9*Ak2@)g$2W zQ&F9~R^?ri|7MW7-@V&(l9Ux9P_?KHnr6b;Esz)@;rm4QF2h`%tYAjh?nO9|%WeQy9`O3^Kx@*2c>x`@b5*}S&_JNB7z&m`^5^^} zZ#3uT=EBnZD?RN%=4)-rd^;D07H!(dbJb(^+bh&(?{Ho9k=-2F-b@BQp6T=!R9aQA zK|p@0e!UkWPee>iHi}$eE)DWq1zW3ia*ehnXfMqo>PaW4sW6a~g0CFogmdu#)}kQ0I$l;ZnK(J*?0*G6ZV zlR0vbNA(jjv2IC_C|dj?^sk>1ZfEPymrWRH5-RT88wX>eb&Hf=AJ zfV!u1eE_PIydxM%8%Qv`;rWY#`3@4;8s8jCa1DlNe5}13?#huK2WxW;g8WIdzxe3zyZ1}5yQzsDW?@5)3(9&aX0v`^dM<2PjX@) zw6+oX2`!%MlYU`&#%1bIQgooE$W7Fo0LpR18((OQ?Q~qCYk=cz=8cV=LzFBm77JA5 zRM5TBw%DE{G1FI@!R%=*1$*&7XDwh$%;v9G2|0zR`$ z6(H9->oEZF-n~tU3HeR6{iPv&RQnk^p#i(53{5-h+e_){H#U}P?yg$dDmMX)LzjRG7ut__E4h(PX=A_k2fUFgDJkVG4w zsxnj;)W3;WRJK)M@};%DGTRL++r34!J7Ez?6lOveIo@sV+j-nNAreA2_a4*QFc9VYq_i@2UHRtY{CR=Y;0^lEZ+CWJX*+_LOW0M-Gp^aCa7aT zNVCPGRufPqli1*hR;c$&tgtej^soD1P0Js|`F7=8-<_f7lOWs4c6Ykq^=A|lb#^v_ z9Dpzbm0uFNk8WV57tpbcHe?u^VrT^i-NU z(D8(KJFkxOAbIfb8(UU5Oa14S@)_VH|GxSE>;sB#!e6dS>CU@%@*x!^^^5rzuKWED D(zLIV literal 0 HcmV?d00001 diff --git a/examples/temp_relax.py b/examples/heat_bath/heat_bath.py similarity index 55% rename from examples/temp_relax.py rename to examples/heat_bath/heat_bath.py index dd369fb..3c4c52e 100644 --- a/examples/temp_relax.py +++ b/examples/heat_bath/heat_bath.py @@ -14,17 +14,16 @@ def calc_x(velocities, mass): if __name__ == '__main__': # general parameters solver = dsmc.DSMC() - domain = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (0, 50e-3)) + domain = ((-1.0e-3, 1.0e-3), (-1.0e-3, 1.0e-3), (-1.0e-3, 1.0e-3)) dt = 1e-5 - w = 2.4134e+7 + w = 0.5e+8 mass = 6.6422e-26 niter = 100 - Nbins = 100 + Nbins = 200 # particles - n = 2.5e+20 + n = 1.0e+20 T = 300 - Box = ((-0.1e-3, 0.1e-3), (-0.1e-3, 0.1e-3), (25e-3, 50e-3)) u = np.array((1000.0, 0.0, 0.0)) @@ -32,26 +31,46 @@ def calc_x(velocities, mass): solver.set_weight(w) solver.set_mass(mass) - solver.create_particles(Box, T, n, u) + solver.create_particles(domain, T, n, u) # time start_time = time.time() + # set up plot + xmax = 15000 + + Tnew = prt.calc_temperature(solver.particles.Vel, solver.mass) + xm = np.linspace(0, xmax, 1000) + dist = [maxwell(xi, Tnew) for xi in xm] + x = calc_x(solver.particles.Vel, solver.mass) + + fig, (ax0, ax1) = plt.subplots(nrows=1, ncols=2, figsize=(16, 6)) + + ax0.plot(xm, dist) + ax0.hist(x, Nbins, density=True) + ax0.set_ylabel("probabilty density") + ax0.set_xlabel("m v^2 / (2 kb)") + ax0.set_title("initial condition") + ax0.set_xlim([0, xmax]) + ax0.set_ylim([0, 0.00040]) + for it in range(niter): print("iteration {:4}/{}".format(it + 1, niter), end="\r", flush=True) solver.advance(dt) x = calc_x(solver.particles.Vel, solver.mass) - - Tnew = prt.calc_temperature(solver.particles.Vel, solver.mass) - xm = np.linspace(0, 30000, 1000) - dist = [maxwell(xi, Tnew) for xi in xm] print("") print("--- %s seconds ---" % (time.time() - start_time)) - plt.plot(xm, dist) - plt.hist(x, Nbins, density=True) - plt.title("T = {:.3f}K".format(Tnew)) + ax1.plot(xm, dist) + ax1.hist(x, Nbins, density=True) + ax1.set_ylabel("probabilty density") + ax1.set_xlabel("m v^2 / (2 kb)") + ax1.set_title("final condition") + ax1.set_xlim([0, xmax]) + ax1.set_ylim([0, 0.00040]) + + fig.suptitle("T = {:.3f}K".format(Tnew)) plt.show() print('done') diff --git a/examples/hypersonic_flow/hypersonic_flow.png b/examples/hypersonic_flow/hypersonic_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b07cc1ed4279173fe6d0df6f50c11a90bc517c GIT binary patch literal 69961 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

P>*2xX;I*ApA%>j6%zn?k*`3W5jl*W`v5#)wH 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ᩭhV;)Rm;D?x3g{XruRL4} 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

@m3AgSzaBDqjlw##l44 zPG$`UNYxr%8LUGrhHxS8Tq4>^zY$CHXw2czFC9E7N1(6^Yheet00#K$& z$^Fn+johQ7N@3uF*yV%x_Gl^T0PyjCIhTT$XwpdWnbJ zRn_^75C-5M3~Ytt&6|X1U_|zd>bAiwhz|&$>q7(aQWSDbgc9(Xzcc}7-g)E@Pt00; zvVCVvAb44nEmCB6ea%GRS!3BiYgkAV$%2yEk8iIhykEZJqhkLOJVMX zO&o%TQzbvt(*kt(7kYd4gl!fq%8WPm4D#rJ-`(Q8>Vc7n3=d^mF{_tG&m?u~}&GIkjC3ff1Fh15_IV7~3*e&%PPv#)dSZPaOQEn4@(i#X&!TAp%L<}aR$dw*Yz^HgIavSjmO*&Ogo%~bns0$D$^x>In_HrU6#`$X`2}4y>y&20M11|QNY0GS@GEK zE4fv(6rVhI40= z`$6Cpf?nTJ{@hMsIyT5tuy@NH!Z>ONA)2%x1o9@iTaPY9Ycx;*F+3=uP&XW4;w{wu zX#XbBhd?w&0#_DY1Q)Wtem7v-&}27d z9RP{{oh#cVD#wZp*s$(;fGJVdSGm)N01X}f&?^s(s=qB1MMuZ+NW2G?&Z z-$RTaM=ckELDUZ>RFv^;-azH`5->#AQTDVP80L=~2O>|ym#W_XUYfWKZiSJP7_i=( zHFhwR(1JrCjYuB<%Yz*=44VdJC@}zPi=fdJ5fdCBh+8Kf+%q4$7o{NYT%&81>{t!g zA;Tuz&33YI5smR{^bj5s>?m*ybxJ|mwZ6^hUGTGS5x_(om+!}|zy_BuVQlOj8kY2Dy&ZC0on$Y`OSb)_>e>{>D}D3xynQD+MA2X~R;e_mWLC~q*C4GAd4V$6uqbc9xW z2rgy5pt0FWm+!`pN3A53l*kbQOKD?5o<<(0$4(heI(i7wgh-c4EhXSN=GzI&2iyXstoTe3~_cbb|V%W18 zp#8veRsa(~AORDbKfxCoOF=$cPAdz?RTFB(7**DIct103iIMXy*hD!~xoN=9Y% z$@};>Kz*3w`*l77!J>$!<{l&`(yL|@Yy0|2h=KK=-b zw|+o|{}ZAu8MJDP5ZXj#UD|4L=re)e0CHw0X9glRpwxi&Rl;k%;x4Dd`+<1wl2Ie6 zD0;L49%^*Ye=WgbCsF^n)AVlgmLHj6xcZS8PahtD=1;_slf6xom1a4Ua>uYGFEpvtfXSOgelAK~`IZ{MVRa0nEc)UFsf)2=+QGsJ z#dnHojCKl=i=#Xfr4H>lk@=^?*c(q7J5K#-$Jvx{wvhqd1z)ijT>VMwQrRPFjfhcF zum5y7Q_EtQuqJ+uFka+{I!?lfe695+5;rV|1{`gls#sb}oiG<`vrgMTEYE?wa$byv-;uUMP(^){@(xJjR%@Y5G=hyNq)`7qdNG zV-rgn!<=+T8Q5zmM$(A^@vA(Hbr?D>7w1nKp`?o&GF6Zy%UXYnl|4oSbge*#P@nJH z5SB*m>nvwlO5&P!W#zSSWlDZad7->1>^?u+{B8NYiFve6VPZE}w@*Ao6A24CLzx!y zZ&8LT`W8%$zPi|YSy~e^_F`@59U@_0`FW(K{{$@7pJ+r_i@gt%x4|_cDYsL%aMm4o zNGz$3nt%UNcknQuj6U&X^zwKKaF1VQgQJ3eiiyH@v%a_M_0Ct!41w)V&kEK`ytc*&1mRd# z)o&S5b1ft|-?o2ol$gFKkq9O~bBkEfO4rxT=;`WVCPg5}+otv%w%gN6P)wX-!pED( zgrlLOPD*Ka>%TPG90sGQf0=9ylHLHAVP>19smIzuvm<+PQNx?i_)q{d3fSVnc!fSE-u#3wCgo_~ZA$}@ad*Fx zTtv3+8skCh8wh|wIV`b-{2{q$HyNr6I)YS+kw9B(B}G>Q8hH3(Y5Vo-q?srNA-=Ar zUK$u3g2a*LDdPu_rD-H+YqwN$>(>&#Zt835WTe-;go_LCTQ+lyN>LeUTVISIPa}xM za+4Ul&Y92Sg`)+p8%OYx%~!oWafg-%d!|*nwb|r@VOk$H%g(*JrBi>mk{heS+G6U0 z<_HCf*alse2xO$YzX3plrLWp#4yN#H+T+``=!t_Muq3L}e)aQQiDD*JMonFVr_MFMqmE~* zCWh(8|I6+NSlMog)1NX_BSBXm?7Ywa44SVJk;5CCC2_WCkL`e2>9l+oNHYU<(uxZBMY_BT&Vbdu z7{0pTKh^RYf%d0t&o_XQzygoEQjcEu=Q@$y{m$6YmCHGsQ#zbK-W#g~I-#g#LFf!mm%CdIIYT?x@^$I#A!_BF-scwBw8Wra@U!gKi6p zwx~p!1_&JS2?enK-Q|L7amIJdjKiLKf|YIvy5ETB zvpCdMo!8gueB9Zn}F9-mE+2dKuvF;hOEtRUHZ5 zW7&>}m%Z7YV>%V=U{FO{iED3Z$mEJXRTTii*AK~h0_|%huK){v(tNg%yON+F;HP8g zVd=7UcQJTn)n9R_uchaEf5fx+2V+*KlAehy0>q6PzigaO<6H3cS31y8$2>E-ZBd%JNrh?~}MJaiv>*JqNJiT!L~3t%p(^tB6nnH&4f zWOsT>jFcFhA^#^O+vj;_-;M}S-}%JlYPR}ph*)%nc;?xfPY(sKBteo-Bw>}4O5PdQ z39%%(InCTpNZ#7Zq@Rwy3@hs89=j{+zErKIMM@4Mrrtv&fiBoIw}cEi04&Ld z2n64$&u*?$#-eUj+-6Agz9U2nK95}AVs5UWfk-My-Q>IDZhc2AeI#W+ zsbfC*_KyldYKt37gk2aTtwzhg@O-Q6@;}Te_fvB57n{;9kbQ7>Huk()vp#pF-^R|- zo#k)rq?rbG97(aUQ0L42l?W=ZQ#}2dY1H@5;ihl$xIZKRcw{t~)HGg>EPYugz3s;B zrg=)(Y;*Q@pC<==%1nFi`ctzpP+gOOg_ z_2XT9n(@O_>d`+C52Qi=H5dZKe2`0wDU7}Y}uMJJI9hbTcjx{62=mfK@wbiMr z9(FEHH^VDt+kYw!v-Ot<3`jAr>tLZecjMF5!KA3p;6Jj%IvhD01h1%< zSdLm;Ddg$yeSHz)X))-jI`8XZeBHZbpLIG57?dV-w6Hy#xBt&jT#rk&=Y74M!V1q3 z_n-aHdkjC`uU|tgX5r6X`QB*l4`!dZ_g32LXZ>Y{x7kaUb5hT8ABi4dni0S@^xtbI zy=Sw~>17Gzme_#D=C%;~W&wR!efo$p6_dRN`8(h(@&1;``(ndOGYedJ)CD1i^JIfF zjW;PaAGw2>c~@4%YN+-ZhCwt8cNRo70PfOZrW@GlqkC4Um*AMIOmS>e1TaQHOalQYY<~SQ^EdJ!+|S-uacd;m%oyoK=d8Zr(XW4!lg|&j&hI%3WzIc%|w&A zgz=-FN#BN1nGgIG+wNMa1fsffx?-4oz|d%!+hb9F=_@QH6-?gn3%;l*4Z`f* z24HF@T8%QJfRSuK#3s4i1^nn=f4_5^Zd%$*FT1pJYx|ZAOr)w{rB$}Hb2;xk+H)0Ms?Ep!S4P_i7dkAf{Esq>_z zO$!BaEv3q(l&5%gZO+Bo8sDh{XAcqLK;eTS$=N?F=}e=rE`N7~2QhOx3Cz$zxM)3x zUchG|#subdd%fW4ui7*-n5$+EzVIJSeGtO!p8}rVL0W)$lqI|qKDcgJ{GEA>c8H3g zJrzm@Cdmwq{Q}#%gWE_f>nI~|Hc5J6HB~R-dzF9gj%PHMUgrpl(FFzElzLe+Y*>Hd z31;R4?Jid*nZZv+Y?TiWXY>_MV>T-ujA|+d{GNF=2d8FoqE>_~tyc)t;K) zTeUiB;OVURsM=YzzMdb5+il5+NhU4UAZ%NS&7-~|1Vw)YOWB?C*XC4p4!0J6q!~iM zUZSYbC|4_0N9`@SS`zGKCb&v7CbS;n&TBthGOAN%c-I<*^@K3}gD@>P7;Kg_G}3H) zXrcj1)^@KOG6IWPzguUdd|(akbY=3RwAjIZVwsU*wR>gptt=h-j+1 zIK3M9{t8iTG1HAQ>5kB_x20TNICv-ypW^k8kZY~b0(A$(LsF5kpqZhvP5>|eW!0H+ zwwFQ<*vc~ZHfFN#tH_(Pw*&OAQQafZ-`Fn`EuaHyp5^=}Z=-tx-B0*Px~f9$(IS?@ zEeLPV`9hp-%hCQ9#YHg6jg5x~DqnW7a@N45iKe(OL8U(ArYW4K@*WxcH~+&l?8X)t zFgTOXKc~7iopOMBT)}i2kiKtAA$9um8G^t(9>9z!v31(FDl98`eTMuHSMl1y$?UagYhJ;>x-M|U>gh;`R zioex&QOs^9vxyThg~!nC85&1~CIMUQi&3BP_j@>|wk;qW>H}-HXbOnM#s_0XCb;S> zv&V#sY)M5cvXN0=-rlW0<5J~f%w*tnhKqD66F`4Uk4y2Rn>W2VdQQpUM!v4TorXoc zvdw4S?`Hsqm?;Nvi4Vrtx%!3tLhswz{6br1+!6pk4QHcDArDTMC)&`*Im>fmASJU& z#yp@`(wEP0J>oX!=u!I`te^HTi6SUPE(@#U0%?p^{!|tKl-t%Pg%JN;69D_Eh%G*s zG@tpp-7+~hR$3nBN!j&?wDC>OAV!zH*2y6a?U|c58n9d~{C@j&92FuF+$MFw6_6e` zTatSL1Hu(qh^Zn~4I)50xfYUY)0V08GyLr}lEf`yBa^aI3aslp0+^KH7N5WP?hjUO zI0p)0YyCNEYUWl8Op^j^6})CAcXxrXuxzC?y=WIoe>gV2{ksYz`=fFv3tmfZF@m){ zR)qMvymMSQ=(BV1mX9r-BFye%`^FGUe4Q=#oa*f9@O4@G*oO2!V>zo~p+^IP*uxnw zEa#wy_>$Kjvk2?RsIhA)F(%fpkhh+{vILd@;(lz_u((UvswVXuQ1(ml(h8#MFx0qo)w$Z1w4i3UC14Mt!0 z3CTO7nm+(Fakv(6eoGe|EeXXeNPIj9aPYiQj00l6drF2mjU#;GhsV}GhW#a`3=0%s z7e_1dcKg41iw^fRM*Sb~BFEU@YJS;U3kF#T;71fw>zcP8s$qxuYhg9wKV^taCGV{j zI~518W=6M~Gf@k&&>S*OvPF^ZNCJQ(IIEl6cj?<;xO3($aek_pT3G+L|C51)QhN9J zHYJnMz?}NG_KgGjKr z$5A69$B$R{_~U<8xMEMJ$Yhuxu)Qe_M1<1_q`(4m=E<1y*-J70P~k#HxRg`CpPb$G zJEkN>&zBnLwU>Kv20ZutH9gFa4i&I1A z*wRg)E=ISuQmS5t*C$9e7tox1|8Oicq2NHnmhz$x4E}RU@yOW3ztQ2i#j_cf)J?+Ux8=0_f7IAtR2bAs_x3pqSum*J42Q7HOtay_?k}1Ir8DLmx zR@!_^pm^RZcSbusNI5#qXRWEpiJ4lELKxtL(#--Zwy_U8I(3`FoHoqjmO#ZFybb}G zdYT0K85`Y}-Zgz~o0@=AKeshj zN1AgnY%&R)Mdf8sFb5QGvIhieHU+)i6QF#bx9~ME7DvqHT|f`B8?W@K&TrH;)fu)= z!`$r+ah4;&KOh#U-Lzujn&iK*hMQN|R)aCH2Pl|jw@SI&+tU(p>SpIw+;L6MX~i7q zV-=J@W|I6nMRW=<6Dg~dR@03Ve34sP{yDp%zMjyrfHaGShr<}X+{H?zi%uf)+iOv} z?#bIvbl;#rMu}*WZpzo4>girl&wA!kWfk&)>(PtpRTX$orfp^sfoZOU?}(Ab6F+4p z_zpEca+o&QH)|5C;Pg+pu}au8n48WD|G*iQ>vKq=)*vvq^p93X2{H$Hb0#>m2^?bT zs2@4rzV0skE>4fNOZys#v9cv&C=bp%AX0$=f~ntz8CbC5QPCk~Ge~I5zp2dx$9NlV=9THl39 z8O4XwY^L%nDAg=Std=x=BqP|x-X|1^36-k}2}-x+!3(FE*7PThPyM;N4+yiy(;%?M z(m4b8+D80%ie^)=(gmz7XyW2ExY2`CsW{Rx2-7&)Ui?YY#Zvx51uA%cq>Xtjg7FG* zlv&c|t?H21PN9+ZU)T8h)l6mCaG!Q>hQ(O=jVb@<(V6vEOz7IrZRw9K;-%kX0Z(fr_CSp z<4Rxz7aaiC$O_ek(BL~&##MD*fH^Uo4JRvNIyq@2q+gvP>cEK@ui!VXicM~Dt>S5+ zQDfAK)`)a%h1FtM_a~{-4MN$1Eu2@oZm3JcU2LUHm-dTEv~q@ViDMsoI64$VMYl<1qf;l!`U% zSz(h)BMUx~{@-iG`F*TD#Sa~kCo2-qP!4mCPH>YHGBTPi4l$0v0S-T&{*rt0YX9|2 zs;DwU;uqUsd-E<{zLxDx7BvM+lxFJqa9L?d@Q<`Gv%WtFQ#B|-G)C-V8(s-|+8`UN z)FSvtYM2!>d-tN%wd!D6R20LG8;E12Hk+jYN<)2Mkmnbe{}jIfXMDSkUmokuCePXs zRryz6{+*3K<+&H9<+q9#Hp?vX?>5x4F7%?D@sx<<@ne@d+VRqH1(B8wu!6+0#qpFP z1=FdOxOjc)8PR;|^h-h2*7FE)a;9Gd5coW23t}B-z_i|}qc_z`qGKJU;tcNY z6|Ge=pLQSokRot}UCV|U7KLk8p)_<(Xyyr0|la(%X)M zV|pA5(p}P?NX#VvXZffBo?wHw{?x}IrjEhzC`VWK#coLhOux?{e^UD2E*Y-sjMbaK z+^qr_rU+@&dGxVgdIE`PMdmD>Lo*Kkeiyc3 zhISFS!2I?nrpvZp>HbY4MTZ;7=uq${V!;ZQSPCpS=}n|wcYk`WdK+19sDyW;EKjJB z=tBFM4H-Wo_XUb8Mh;=P6vQ<%3T+AamLapAj#0wD*cM3UzuU$WA+5p_dGb+)BK8i(0f&yHM3A)i?*a#y!_pk3^(ROOCs zX|e8*R!3g+9Xja8!Fl!q^fi~y>FNC>IOV?WB6+G4`Z1G;*~Y_T7F2j{6IaS^LqLv| z^~*8Dbl5>=*2dqEnz)y}%cRRh6EJ|1-CCIWyafZ+=)hi&J#&uYqnEX_CEA*3ekk6E zJyT8M`yqA0^>6Ez(Crpw`p-JcS8pzkU!U6AY1~slC@3>78;Rd%y26kE`JNK$bBf_N zc#DB(oCy4ZB~=n^>$57r5B2gl5RvNHJ8foj8flW3B838tF29=xzujnft@OF>iHl=O z`z_z{mL)R;CoLDw6MgWw#XL<{+)IYd%vT7-FZW!|zm)Sq0?IUInIB7j!!oNBIV>*~ z;caN(1>H#jqYJMtQ0{3QTs1BzAUcqB*rH!oC3YO?GZqO8ItxjCWIysy@d(RCoCaU37VIqQbCV3q@5QiSW67Jp zT!wLjizKEqX6`LM@vC4fSe{97XYVLj6$c08p0SV5z9-EfA!J^Wk0M7c#ikI)PCs~y4_lZY_66dOc1<3 zya&q^(th4dbt*QiF`S_c^QiS1uq)Q9A^%YM0o}ArXyh9=|2yWJZ8S^ zDE=IBXg=NUrW0g^CW-n}h4*|$((wZSau&iUC>nu5!5RkBwQt__vXlKdrmQKNF3V>p zp+ESAUhnr8ik+;%1k~{jk*;dmfL*pDY561*^DF~zxY+zqoiw_69O;?{6(JY^h$8#4 zm8Am@f~Qw}Sk1<3lgL;o?^sLoQTV4Q8;Z!IS=#7>im^Gr9djzV{i>+>!d#n+^i_r7A6pEUxC{t0Wsv~{|I0-c6#5KOp7|Ye>Q~_Ni!5{I z%9x|Sk@3$dEIHkeUiU|BZveme8Mi6}jDTMVCgo2GEaWc{Z4>E!XAP zH%4E+d-xvmq&RY}9AZ>rWxQutgF0ei?=Bp`hAm)451{&2ZKT4}oc;3J>4^x>g-eZ? z`fQxfgI;5Qi)ik+^{4r)j-=z$_~TMhs_^>iEfd2DF&D{CKZ5&}&O7)mgbp%?bFSxD z5@{0t$7$bn$uCG74!1&&EBY^EO>3cFj-I=RJ0ItL&-cx5o}TG29*;Y(PG81AwhGXB zdp6?xDD;%gC`gF*bk%wN++?RWRuKOHKj?dJF7&d%BuFy8LpZi^wDF=rF zwtg<>nEe(3rOFOLopc5!NZu$wuq5vwsWE zOw5e_{3#l?m4%6}FSQ7W`4VJt5=x?=+`umDp9_@Wg5EtG+;OK6#Ib%oN%X;11q;*@R zkbc_gPalU<>~j;vQlh$Ho1aSHjuzJk{K%(WP`ai0UiUfi2|hco!gWC$T%!H9(OG(h zdDPHnui7B0^Vvi4$&7jnp0^+CybL}=@5nkGCcBcXonYI0o8Jt#OKd}CuW0ImT4pQe z6;IR-Ily1Y?Bc0&>Irx&RV6Cx`o53X)zb33zT6ld#svOe^lv9d7LRAomA!s*3>3ku z>vwp7r6+Xf!RmG#y3;OUl+t08QvT$_v?F>NDcd&Z>PnrA_Ls}*1$CU_%Fb!j+&rHoYAhBr>xSEfr}ii8?#hPoi+N7jCK95f zOoWCVx}B4Firk7{Wx5YcQbYsKda&jea{PEX?v2XH7CXJZjDs z0`gl+z`%Ar|Ez64dO~$>|Yg4;kY;)+}}Yoe}Cz` zKE4xrxI2t5uKB~>3^iO&^R#sK|dN$mG(BzYGF7;3l&mvgl* zdCq&Ez`MVzS@;(x>iZWDRr(}zfPv3@@2jcDfL(YaZ8Z)UZxX*X((ir$#|7xPG@|t{ z`VPSkb-Y{*+8<;>(~2vz3NCt=R%w~`tpg^X&YybNB0;Z>`QmJNB;E?fyD52`lBtqW z(Cc5Vj%~dbG)eRhYbi)FiO%W}*1j!rV@y}5sH7KgzbCY%BZ(fY-Je-Jn5ui#gA)9M zVokjS(crq`Xq~O*+S=#GJM4O2CX($>smnpzSNP+^v*o6s-^mx_zk28^Zy=}j*@U{Y z`itewux`B}6TTvK?W;4d47zF!whg7B|GBZC-|=`8{}ebi(D1}ZGIyg7Eo^1xX!fuJ zDncip+nss2ep6;;GuZyD1BnaWj+D2{&X!x5D}zlzzhWQ0t%G{d?hE+AQT1}FJ|nO9 z@$J?1*FD!!u>48mMbqV=6g*2na*1frxJIM4xrNtt_q=lcbWtz+xCQjHJFz921W=J&ym{Fm8>D!;^q=fnCB7^z&ZwTqJmmt; zd8t48bRp^l6m^CnwRcaxzG_Oi&lI~ntu~wK=yr0oW+?3uQAQ9MuO=fe2C+@C%dx9Hrz+;%?CI<_>n^1oz19t1(z(Ph@cz@_Z0q& zQNGFg_{X-%EFlhcVB}x6PmqyXL?vEgAga99v^(-Y9a7!)%&Q=&qBX@jS%GD*v(g^# zr`Lops_}%pdyq)cA|^LYxtZ?7iD0SG#`Gt|rklp3I#A{Z3(EYAJ?%YbPd4}z;RtFi ze-PVLnc~j=Ks+E4GL%3BtS%3~bY?E63r&Q|k#Y}jCr=8b(r)h_nm#e!uwCN6

*7d54`kWkym%5(V;^>_q(_D2dfbOVpOW;;wX*4vG=!U&RF ze0*(xO6J+s-uQX67rlE0?EU^=F;wrE<1g0!Z1VlH=Gj_wSW^E542yC_G}3o22*Cn% zA$;t?+I2ko@Ara12zuS7tF4yXTgQ@J{7nWb{4|bkI{ThSBcV$O{+Q}j&)JZ!3jS0vp%YWpE)zj1e zUFK0tSB9<^k&-PS3+ES!toe~GsPTHw6c>=AVbR8)Y0ZJ|+WDeBNxd%snTjN;Q=H8> z5HJmdb1=36n!m8nd@uubqvzGj=kyj^QUD%P}nH=`pewhQ3BS$x{D z1ChJ(YmDvv-0Xg%$^WMt4O6LoT8)gWbUl}nI{fhT^2<+B^yJPOrc9bdJCzth?lvT7 z?NfjaCFwe)3um(SfZr} zWn7>s_=Y#F*Tr-hR6(RC7gH|$;Fuj3Ku2ChRwIxp%mun;BQpvJW{d9c0=`snUG}N@ zQHoZ^pY?aehs$7;0Z|m+z>DQFd!06@#v^I~Lp^I|2!&#eHEPpX56^V(HPV{HDUJ&; zGMJiJ>j0h$czRG_m62M9VWaSn+&oxT6zaVDzZLKXj z!j|4Z38$$wj+tkJ8%S382=BL5Ram@r zii3-9mtat$-3%fz>WDQ#-Co!N>MJEv9L6)Uv_(Mzk43orh<|F!tDe(yNzdBKuuxNA zlHYUpdcigN^ZGra#`qSlUpstNi*uoz8^g8QrOtFp!vy_fy3^xUFRBYX;DF%QZk?JA3ew4 zl^4|-Vq<5G*q1B5oRIISE`09^zjMUcLd;lM{XVG~`|XTvh24Cp_RG2(QtFZ2LNyKv z$e$Q$!+U!756Kv{lmLg7OZ;jzhB;BWM`LADFOv1XGNf1WHDv(T6Rv&^eqTR`XD-F9SViiL0Rq@A9r;AD)P({UZ<9)o{%$u zj)DmG(7x{Q+Z2FZEjakx?{?=#ACcW!clm6;;0?CBhagmD2I-GXFJ) z%yrKBuF=Fm*Q>1{c5>K6-(pWV7Dnz37N7JpQovy;vvLDPI+p7hF#uT6bstli`b~(g zi%mFP3nfZ$wMm~+pU^xWK8f!>LHYQcm&ZP=7Z(^x;&^=s$G$^uV(?~@Ab+ms;FIrL zC$WDP(0?t6_@tOi5z(3`c2#`o3}F%du0q_ODPgGy!)B4rl=FXrq=bx)14hw*Un~6~ z^l5|$|0%_}(dO{u!UnMdA+$(UJ(6LK|LBajxsV@qIP#1iqD1-K{=`76$%R954wPRF`rKAWj1`w<=N)_vdfCcOY-F)*&JLU z!6K4T7mjYKWODh#@}$#Rc^~30FX_6X+DR^IIWBeON{Zm~!>N>6+Qr1PwczJP0_*f$nkM9VyN(V1 zaN{A(eJPt~QTvPxvo4A0+|ltNw#;E{xg#TK5aAJ{_xXUH)hK>`TG`M!8el_@ChyBW zbdHI19Fb+}nJ*aL_Um7abB;>b!5}Kt9uL) zc@UA7uh9|!`eIMiebzwXV}~kcp#_nfB%hnD2p5qf{j+PIO&c#TUEuS?CRl^%_0`R6 z>*`RFZ!~JPKY!t6P+;I~VVK7A3r}lX+MH*2*0vYV!TQwnv?R2qBz=gaVKnqNBr?f5 zp$;5#G~2qF1nZmrqSuDQ^c9Dv84>;4(l}BlZsW5O<8#Sr)bc9=y?TL~9`8C3Q?q7q zWP1hER5)G(pUCCjZvm84=fkZ+Kv%lY(#X5YCs0e=V0%+iHxvP2>-~a8*A0r+3EE`Y z+h@P*?1=@d;XaYUT<4pepCa5+XvDu_A5Hb3VMQewup;^NkhN1vRe5y#HXbFZ-8Hptz(_eMMsJ`Bmicd!1;Gk4-UH!mvWvw8=ljL*McwM)7q3cr!}c=97KCW z0|HchA2VO_RfYgQ%sUduElj7i?;1axpa&u(iDWn=pS(53#@xrilI_M?a91k%8w3F6 zPGrMxn<6_ecH}%q-MXehkwxki+-82%uWqA1s%}Bd^}rdTe!6MtW=9NL}f^@r8}oD{M-r)<@{SlfGL=nkpzNnkADeyG8i zKB%IpBYdbwrM@ztQ3hXuu|3!gGLIZMgd4yv)XL7~gsvP&z;|`jux70~JvNNdWBrov z)`o_@hgdz)(Kzg*(I=zG&b@+5@gK&T4T5D!(W)ACYEt9HcXU|3!in>76X@pNjUsAw zV1EB^0&OE9er48#wA&vYSh?_|Fk@+Lzjcfw*5E;<3H?R_X`?Am7AVLoGH|}%IIT3= z_}rkj-dN}kUQ8wzna?^AlMFpXwO+X>D3t0w5B+_-)qAM1X}NsNyt{rLC(&yW3DBe$ z3wDh9?9k3WsK3qfrR~LoSzC%wG-@3{(4pZi;)g9+ip2FQ`;~Vc8KIn60TNNfpnM;& zqBdnhWY5Ef;HzDpnbSXKhheN^Oco9v81|8iJQCtYAkw725U#`k<-qd9qGJLUPVLEBQf60Z*pArZ6Lqi#dQ#2!iD3nwlgcac1OtrGH_+gQ7zS_Jz#1UYFlN=kg zFHs-fgs2h&wxzoKw3MNV6NbPFeit2s#Bk()5B!smpNq%dpziW62SROh4y;V?(=n(? zMXjHo20)(r5rH}f5jj?&qkhI;41JEux|E_ z%{JWC5gad^QG6p1GYEjgK|zJ9NP`X*;(d4{O~sfZ0}uXA6gy<61@BWu;rvQFA6mYO}9R@8@Hs$o2yNex+i{OzqE=I`>OXLeld+lKc=QbxcSJ+P|AY zY0ou1hQ7){h)>=4fsRcKr15}yrq0o{0W};btq!T4OF0~*rDKv937CY|1{yw2HRy>a zxTF4C7}>U4QV?%d+n$$5D<}@HJ>LLg>6I!Q{7!p9*O7vB#`poh-WJ?CLs1AN#({OE0@`a)5RiZ{WPRO&Q6mu!pz1l zL<3gbA49%jE2|16y!dy8>5l&<5{pdMX#X%#yS!Dl)uRO7_5hJ#q7tRa`Fk=s*Cjq6 zwR=iGB!C!5CD$VbixGwfq!H0EXemU!?~Nw>h|6Nq15s@D4xsN9D3XayR-natZ?>S& zc6nzAnX+&h!{vu1p4^h=5HS!Fow`Y343DE%_ldrQiPct$J2(#rebDyPH7BH94Scmu zTVR5dhxKOU)kFXmEm}lWTb9I@5NW}7_N&z%a6w7p2%(DX3)#9-6@*Zb^IfXV3#ju6 z3tw_>yIqw(PPN{=^tr+J{(4gFvrgA~JAM6}^n8eMQVV7Vu8(}~il2vkemA-}9zVtT zp&_iEt{={{xF+bE%2&&>Z&elcKkTg2Ej)=f`J(bk)&*bcwcUzESK@tTfi+{p~ zTTer3nC9Gqe6uwfL@J%%Zhy^wO)J<6hX~fweXKTMZoMgmkg+lnekR*MTllr+mka(fvF_CbBO@_B>8#T04t zVBxP;d&n<8ms~tKoF>_TaK`U8H=Jm3ZG;8qrFePMe~2t@Cies|#nM@v$kJ%;xFmj6 z5^htXIlaEUS&_15O&3^K!L+3aNQ=P0doxYp?u9gU`>KI}xCl;dlxzmlh7xMR9Z?Bd z40n`%PwXz={aww&)DS5g5K#Kf-}zP30-BZV)SynN&t+f;fx5jI0M|A?7BJXS#cgNS zUqh4gDh0j3W}1`h)ziF$w?q3A-m+o2^#-pe2RPHeM4ErIzXtpS`2)f(YqcbF@YR!y zxAV>k#g%{3*cQuHpL5}Sg~Jr1`hbD-8e@^Z_6I^t95zHW$8_*sk9C-gZUW z*DTCs3i2axz`rKR4(9{6{X`v9D=+M<_1}te?>_{rA%b&d=;=NdmZCLJnp(+0lg+Q3 zp}Wj!lB5F~(Ct)`eHqoeu@b^mjaHbpZ7Dny&k)B#UDz4EQ>yY|`f_m`|6-OLQUAG% zhh-Wpwxl!zPq?i~vOoU(IkNLl48-?B6U^{!)wFaoF+jaJI1#{=yd>+iyFG zVA~}B45TW&Q;u(Q0Owe3tKp!`B2`6umOZC0x$jO?uUBB^IUU=QH$(EsC)$Yo!->iJ zb(<7%K3aX#?>b8kSUt$n4icF!NSXEr;e*VPho!%sB+z+^Z?Aqq8dSX@{{kRo7(Nf^ zJ)~v|FWj3vuSLO8rbKTW(|JEqJgFoa>A=iO?bg$yT5tAbqcSZ`xURy~AQ9g*lL<%Q z+xq)=pWe;Dy%Ihd_NaXtDhC4x?1;-g$sxe33Vk~sHb!-jBMHL{*pd@<7?yG4RY{}T0P zBgN60xTD?GZMKQtk5NTil|K$Q9_IQjaay zahC0g$j{x*)2-OH)j@JT5z)@kWZU%=;%iWaEO4*JMqJ-i2^q#JqV`wCor3lVfzU)c z0BcK*Y`cE@>n9tuyh;TteZGdy{AYdakyu3EwrB)v{Owt$#&zZnXKf#B+L2g~-aiWz zhgT)dHm$9XlkJ1y12eTfZzEMn}FGu2w{O9U^JDeYmUl{^Y8{20|E$qIBVuNGW&AQv0 z;0Bkf;w5I8Hqy5l+wXdIkaFDf3*v&Ry ziFsZ#sPJO3i=`mx$-3n)FDb#Y}QXfwSgn3QKpi-3XT zaCEdRIO7qX+(w1UoIw@zmN--EN_WVik7V=0S;zKwj?CwM!>|5*)SgZ$X&DzN5oU;y z7q13FLD{-kF@56V^6gkL(9W{p>&4O(2c~zbFa-=5Q1`1dM}UF5hlhI zB^yT3{7(`HZ$ce+0ytoA;C!>B4KyUgC@^E-;GH*i6RTZH5!x_c17Z_cp6JwJQ{~oh zCo9UTlg)Q+6-jHaDBIj<*2{(?M%aN5RR!vEQpwUpD7+0=TCoNCTsEkbdBR`bAXV=1~^hR^i7|2j~1 zopf{T*h@CtL>krC2+30NW@}CJm!49Ki^KJ<^<_axq{&So$1Q3SZOi@Gu!+a#v>8!u zT0LzF!-8e65f4K|J(Bj-RJCaGSj64gRi~X;G&RzSd1$fWd3P1;gIcgE z_dJz5CwMK|{ql;|&{7~pLo==Me&y7zQnhr-NLr2#r#Q^vnnHvTH#G7{mX&4juaE8X z$q4{d%`J|vjdx07oZL2Z#K`82pP$P{kuUYWyb8^Zm!bWFzQ4D48@Oq5ZN0YcW~ckS zaW-A;!OPTp|JrymEQViUI9#!$`Ip1}<6ev*-nX8+!+?i**#+L#eHcEDcKN|_gR-D& zo*Ihf8#*I8+UfEm&+jbwmJu6t(`5&X-UJl0VGhr9)8*C+=yNGg;6C7dI zk|>e;#*ae$<16@Yl@^DW1usfIeT*c%O4JUhsK8=!1G6+a{a(xuSQvgcLM;-MLlxgC zW(i++N`8$I=$qy9QqbS?H*F$IA|(I-_b}g!`d7MyeD05=ZI$MCFRq5`tZpj`vWPn~ zurYA+Br)`fBgOY9_f3Bwyzml<=W_SYK~J7N;xj?zvIQ$9%Y%AG97wTicJkYoH`%*M zXED(-8PK|dsl$6yNj6;KnhPjoT+6D2LK)Ow+@3yGj$Me}OzGKjOsK5uJ)eSI)$Fn!c%S21XP$8gmyB_$TrGOG>S9~5aS^JUf>wiQ#|I-0c{iAK+RdlIi--nH{@AMQyE z4-gr8N+6MPP3Eh3V!}B}jFe}wLn7H*Anzs)Iefis|3$WKTuV0FmYOnFuEAnGi)ZEuwxivb;yIX{!ews)rhjAwNQ(EFLw$p0C@a*+GyvXy= z_szMnP6K(XJ#gKY>_S5j9s%F-^NDq|!1>45nFztg3JX@GU`1rET9y{NgY%2~Dc~kq zkcqbz3ZD5xE%fUFh55fQCP3s7d<_as36Wld6`ZBIwLl(iz8T7G&mBVrGAz#%g^3F?Wu3Vu zCd&8noOL*of;?&9GkRLiL!yb~brjQP5xiKuWw;-BAEhG3!?>8KdeVXD&QQ?`v^nd{ zI;NjKL!?QcQNKEH^m6`GEJTTH-*?!NKp#E_GPxgwJYdhSF%M>()^0k@KDf{k#f~wb zAv0sTJ!^;tmW!B;VJm6^Z$#nOafuF08SSdJ-DyduckPrwk`VMPD?CTCa9HMw; z2!_1m(!M4TW+$P)lD5%q=y8RWR~YQ^=m*z&x)O1Djo|%(=C(|6OgHlhGR##<#S7}> zq6RsAKl;-qI0I3na7s0w;c+1J&knFUE8Tv$^!OpONi+^o%s5iRkiAks2H2QQ?0)?1 zZmLVW{Clkdg)GpGye7J&=JcVc<&;CBnnJnD5o~E{XtO>mr6=2+JIGyp? zv#DJ`$P9C;6P}rC0)Cj4KJQXIFWWrE{Uva{n(@9Qc$)cpFHt|vuloegy5itlEr9Va zxOK&cE9h)-f?OyOiv$CUQh!p+;1@a&Xa9Dtpcjd-^$hgxOS^NJ;PQd5^N4XHakSAZ z=Ra4;JgzBm*b35>J^jaXuy9`n5P;6N7*!4^T?gj!>uqB^UsgV#d0iQv-@ zdyZ@1n&3>)Y8uEcj@w3d<@eOS;Dg1f6MA6niEZ+}Cc?-64 zuprHmck6~5R$dqgFg02gW}${ZI#~7rL<{F!D$w4 zLu=wV5^T>Yqoj|R$fP@aPn1SW?h)*;TY;$xzU|>$Rhg50a!OWU@@`| z?AfP{?ZKH2Z>zud={JTE#?RPOz1!T(W{=~3o5%IP=PhEkuBwZo^qz;3tv5bT#k^lO zZZx)%o{vVJrfr^=B`N-rbRF=wRh48ugp^Z|;xyZ(y;0RW}x8k?2 zs(QO(cJ<3$8?6O6d79}2Zj0lzz4S?twPU4C-B{c|H)!%a+4c?}=@Sc9c!4bztScUD z_FX}{-P6-RH;WiW9H(Jjq^xBKOpvn`%#g!YQoDmNuBtjpgnjfYM7KoU`SPMeo%rYs z(>%H{lU#w|fu_guK?E^5Y#sQAl&c5=B?to0gzLbO77qXl3eN2I@IYNMLEJ%mMI|m^ zTd5k9M`HNQbj|UqtqaaK35OLaY!8pn2VaOVi-P*k5uQJd%n=^&0jw#N#{B{xp2g7W z%JejyiPURhfPHLmV#0&(ufMH+ZZP6CYKD!bQIQ zXRf4@pt*_>4q+n=f6O=!z05?VAZ0>xeW0E_PQMuq2)Pv8_oUBc=S4kkvRW7S=f6oc z*H>k$1 zWq$SVgBpa-`k(HJJZK)!OZML%i-l9ljF#$iK$F%$0OhK8wnw7%cFcy3FRz<&fqE`% zw_1bLkb1TKt6=ZQ?9Oo=^A%{FX*-0*q=>@5D>KXQ$6eQM#HrF`(0{zzgh%A?+g`;P zb{EC)6CXuH?#u{c|J}XDCYLPC6YvkYGQmDs;X$L|=~_WVA>Ghwfc!6dr37}+I_*Tr zPrTIedG{a?Jw*HbRQ|B&AEfxa`~1L02sPG3dS12hS?Be+{(Bduce|T;H*oF{*Z=L{ zZXn5fm%wMMN01^@coYM$C_eXDMP+-;@j1KC6c5Y>EtQ;4<@?AB9RODQ(i%Yx`vSTwS@VdCl-1E6rc>LfV#MKtu(3Nizr8;)d5=Q6 zrrA}^6ZdmaM@xY>m6lco2EMclg}LHaLQ=vxNX4&ECOBW75iz5Mf&as?u^0d*%|Cl3 zQkk4{0${G6AC^XT{k6wvy8Yh)G;N@_$@7lCG5wROiWxC_ql(nZf%mGy+i&g`3}0-n zP?+uMiE{2eN_o&-zPTpK^<5#`u;eDZ%L(fKO2o;)r5(vGGf}`D?yYa>mzp;YAubw{ zT!~&uIjZAY3YGlI%$0GJ0cFPlJF;;d^-YqvFKMd7OQJBZ1vz@IRE5Y6P8*=eE--}; zo}i_~rx2)dhMGe>XLKphvH3o&MAQ8EDcGTqzo(FosF)8eIbTlgCKHzDI`PP>8_-zs zv#_y#ABhR3&s~y#rZ$9_$V|yawx3JcqlL;sB;)L2G&2>8VOi$jQ^8o`{)xshi`zp& zrO{;L;&RTODmSNfO-wm66X1TRTCKe~hI}-Ri?vP$qUB|9-*6T3{TnL=ln|kTaK&Ga zXe?i57(%n@wIZuX+935Z~ztim-$sR+3UM$OtwPl)C`On zfBwTz{w4K=sRS%}s{VVCk+hi}!qRw-T9BIz>17 zyCf8b_`3ToEcfNH2b!>0HNAZG@+irpcEq49GibeRWyU9wK`z)$5nrpmrL_xg$QGwG zm^b`+am*zoX%9&W<*MsWn&zy5>Z*jhi`Oz^zK~gqp;0R2>vZ_WIIOcY$c>v*M(p&l zoC*3*xwE1{j!q*(e3#F|ic4KRqQOAbf<=z{G`@{GMlywlse(TJt6mEvlz)<#ha%%+ zvNlh@f%Ob)gqlUEL7`@04M0h&TqV^@BM|rPMaG}JdUdv_8DjU+EcJcxi!6LMM+wcR zDzWYHraqN^zVn{q3Hc#Qo`}Td=}Vj?K8^)CsNJ}A=3b9aZcm8WJhkO-MQ!)gyd2!nS!&V=p>ED^oIS|!3E>=i zZcasoDWz%)d~i#qBwHb78N^%C_g&+cS5n^sdgS_$$xTo`n&KMG(u>EvO2Oxkm$ol& z;)ANkXTz@Map*mVXf(lTrMW*#tiDR)W)2GnXIpYNp!({!J^EAu)6#yLi$14G%#B8n0N%#8lyS`c`oL75T| zIYr4*W!xR}`fU%s+5*@ii1x^~F?Zh>BQRz1##w1&WUd1M zB8ZtE9GQhf&G`5kOnRhYFUXn=qn(HAtf)GhW%V6 zrNMsOl1P5Y^tW6httL_>#DFN)geZ~L5W89+RZUw$h3oUssC-a5HxG8PqnSUAmGUZvzL7J3&8HlTvCo=&686TO+R%kESi8i7r zU)?j4!%8Y9w7AIWh)vH_jxi@Gm$VoNmGV5f!BTNwAwB8Idzc z^)w~xv=^uoqV7()14XN3Hj!kL79NI<%oI)4%@wg`zu_flZ7*WQB@{0Z;hHACT$}aH zJURxNp}~&GkH^bZTmur|yj^BsyZAjBN7k*4Ww2Sd3mzKBaz&q3K`IXIutIme$@ln{ zL)h1Z4d_N~WCRgVzVq!7;ya8;0XEmoO@i3|SpvQ0hi-K?k5kdpnJ0${%i{y`r+m@p zzt0{n%(VOoA(L>H2y9q~Kg) z=7mn%Hd0sXxw*A|P{m_oPSINTSGiOPqpJ2- zLDm?2BpJj#zyt0Cm z%OL|fZ5KPOeDz;6D!_MVbVULEmzsB*(=rRVu@_QVj0nCcB-AcI%e02qfXQ{w8srxK zZV)&UejS$EA266$1oq70fMxa9btPKJml|OsVt(a-FofyUl>K(Z0Zc>VKbB1^IpsSG zeWa3J*+cJUcO0a_4(Y4XDOFQcoJUN$dg)f=Khxkk+5$|6!;ln&n@K zQITUoj7@Eyd&1T`&{QFQQetTIP-Z$foA2ExVy8}9b`U^SHk(B6tN;MyfM`nO2#HR1 zG{E+G3f<%a6B{vWS;=uJBTveahE;ac{P3sM4D2WUCtO!Ke*#?^Z0WA9Pr2Uq_G_b* z(ktdpcpgsxW<)rRfkEXb8$r*L#nr-JmM|$sR@^@kzlVZ;FmTdVC1|Nk$OFL=lH+!( zb(5MN%Xs5a?UqDE)n)AR&*(>G&Bnzp=<9=o1Mobi>4xyfYT~g=Bu*n_LHyUJt3;gX zU!!E?Yj)3wQu+ovmOiQ|U=(&zPp5T@9Hg!9{623A z^B+k-SmBSCwR`yjPZIkj_ABN;x%H2RA9u@&EU!o40Zcv!Z1p-S9%{~~?M1-lm(x@A zu&kfcTF{W1PIETtsxT{TI*CW-PQ>@?k#8p#_l3EE>f&56IxC`Rz())%?A?dtU(MRZ z+*+O9oR|v;u~OT;n}QX7$fgX0WcBGg_sV=d5DuS-tiHTV1^FL^(nfTH;k!QO;h2dbNgHD2!>V_ zfApi4oOo!j+*3i7Vdn2jz*E(wQaJp75j%+kKV$55{m z>0cMEN8$8*2mKumc!=){Amo0a<+U~#aOe2$dUI!=#$A2u*JiyAsiv3WgrY@+3Wkn!cv5 z6;N`jExaY!`fl7%YxWt;UmBB%XU`bycDs^f6RCxB?|&AzS*^U%lElZve@FS@{QD0G zv1^(7-S&kZI;`Zl{s?>W0r;l5x^A)}&Rb z4f~5V%P+@QQjL<2&virw#B3sw-}zIGG96@5RZJba1}3uM93NuS%RQ@c*@oBuXg}rL zRXO0f@NnR9HBP%0&=hyxqxgDpr{9LOA6|jA!{)J~7(yGKx&M8keOZ$b@lj;e;P}oH)Gg_||)_X>ZKcy3!nqINlPQ4g66P16zS-K3Z zU?&Z7&8s$Ej3G*%$qXF>!QA((sq6MChXeZreDU#f``S4+J^>_q8wX(>0BvB^R@}^A zE_a0UyVD5FC*$4z{ob6Jls{!PCi$FpXerSt#Uwe$i}P%sYx1m%Tzk0VOr$bCrg1H) zPdgkh@za0io{}b4<>q3Q;76)NTO;J8twqBf{6D*1^GXJ!7#((?A{i#{;cP&Oy zu9m|a`3NHe?SVLoWw*OIT`VB4Czh>L{;%7~#z~#Qc2cgPMHrV0g{KzF;X3IrN6yNM zikscI-rnvtGq=;JVS+Bp#pFl)W{!p+55`5rE#LW< z#rCC14~S14ExPC1oup`q^k_b;r_MNwwt%qK*4AZ|jm|>-t+UxZsQi0&ek%)}=!QX2 z6;yprtHyS`=thy59HeqcJ8c=BIwM+twpQIp0m5i*{8ZoQ^3{K5EVl+m-E_`@z4||cekSv#%h)-}VbaPRl)Ulo-{Z@^@gj~pb%V50!W^a5k{a!ILY}3579o3$P zOj{3De|Z?HO*g0o`!xQfr$UC0lo@Z_z~ z`!2rGcR3u~b7CI0AE=%o0@oTS3y+yf^~SUwJOHvdir-*O5Y!K-ZOBLm-$QZ znTnY0Zc84{jGuBm?h~Lq%;kFcy9DYIqIC{RWfq<1ce_mcImg~rdL^dl_t2_i>x_@^ zVX+)rdv~+i$JRa#+D>|IZig~YAl*S^{dvko2!smEy{c!K8 zk`uPIeRf7NL)UtFbd+O)7oL(C-+K3F(nVyJCGp>yW78#nzVc`c>ZTo5Ir_7|T__j( zIKFvWySyaKSR?{+C%&Y*?)MCXF${CLX!_UI2m7a?V=IaT82C3mH>0ztzuwNaC93=G zin^`L<2gh}k}Z7a&ky|*orX1R<)Uj_m(Q~n)qiiU;tVwR`}cVVaVCV!Y8BDfKUmb5 z&G+v|NnnQlXlZ()cs_fe@IF7adslgW=cHm&aWg#r&K9p5bX<@?J7RtNC+j z4dbO+v;LnqEV93tKUGO>a|%VgdA@5@#E42T|5DDaH3icxt!0-N>iP2~LH<O%z=xt|W8KKYnUYqf)h>OOk&H2cX?w>#MtkNqp4>cw> zp2>igbHubX@!WwzwKC0{OV=N$_O>nu;LkhGc7m?2iqT7RQ{{)0(n+mK8c$QXZb603Ad-(V0&!xq%U7U zF&_m;F<$W-m(`+tYTujGTs5gNIeFwrK zZjVWclA=v6N`)3h#^uHKWcx-QA++DN&a{r27hZm}VC3s@Qfy>YW-0NHG^-9o9rEHr9l4>PdeH>ah zM$rcMTU)sAyn5w#t}WapY&3L5ot0&mIx2Ac8{Hl`wh~ImYHf}Pm|&nQnbADYx?LW6 z%r0*`LJHH%bqB3ekm68eu8jQa3@2Nw_ghiZhQ_nI<_@%heGJhhmkiwYH)_T>dd}6;JIh9pT4Ir`pecH zn~`cAgyrDhcYG{)h98ETr_1k#U5)v#zcvprHO(96JblNJlsHjjoM=AZi-EGt_2v&$ zt;`gts7bRnH!dvlaxCA+<;gW;9Ac&IF1i|PHncHNZZ?}vrS&yW*GNj_Dl*1rTJn?# z_VW~R8@(jQ$KUF*|5<8Iv9x~?OeugqC#MBoW$EH-9;ci+xzl>F(b2pya9Mv{50Dv);bXn4$VjoxiZ z|9Z&2p)jSp$oX71s%;jf7v2Q6REh(r^V$;{YF6kevG^8~)PMTi=++7VM}CzJS$M(| z!Ua?+W-!S}c2|6n78f+Yc;O7iepMQ1I5&I=t|8mSxeF12s$Xl>D-2WIipWdaXmwBwP&EBogd9SIA%Loq}XO@s# z>ihgBS4AAoS0-gN;?(?9NqtWa(J}Wk+1Taosr~86&xR2o8L!5B9+H>0*Sla``ez4y zy>5(M)xlkN&c|Fe47rWZTD8X9**e#~?vT{h1#w#1+Pb;&S(S-E0{GP-GRCuTz8~Q~ z690z-^M@*GKH@ig-r}Hn^Y(Sz2k#5jeA_og7bfQ~xXPMj_9;Sc%$aRK6GHYIS7RjnZlAKVQ7@G&Ot zN8}lOEUJMTVNIw=WGRh1qm!YzZ6$03Nq3< z?%p3&KQfBQoz+buhRte01}>+U=+fnHE^wRBOTol9%Rf^PJz9PXQ5hS|%LCfBvb`p} z9##keiL_>k@_F8Yp7#xNoRuC(fJg6M;R`Toj;by82tol4$QbkKrfVW}vMm2D8FR?nl@JXlmKnZcAfD1ce!Ihnf%Gr-Bl}hZ*w%Jmm9q{oYZt`rzaK5 zEx+MSF~|S9wsA7f^0Ln^=n(;ce_3(Zma?+f^>mi380Ho30bE*!7D(y{H789<b~@(Eb#4HVx7>5%zkbzT zi2~@=2`wvKbQ)d?9v?b$fsn5Uti_dEPyNC`^M3tU=!Nfuvz`ne0AN!8AhDv`oP_?K zqk0;fF$RMRRWtAP(%xoKBw(j$&Zdx5)Ibs{;@>fg^by5pLQOVw?tm z4L0)0Bai_=&%>}%Z3cC73k<%LN7Qu}{DZ@P4aOz9!GFd6vg>puoT$eaC71BU*{Oacdq&OvTTaexQ{DJr^C4K!Y7F(O7#!O z8G#dmG6e|no$@=cd#_a5(Cks+C8usa=7PUotriV-;?$DVz{#I5L#HV|#v&V^ilEl+ zyKW{lUG<>At!vReEsrT!8RU=~DtoAE#(nm zxc=j=W(Moc-D=Eqw8jSt7$oF507_yqH#3$TNW^;8)zjfHm;l5)`tk|@5fR)W=ENF| zhD#6eF_KVk9kcH_jTAQO7@>^70iG)5${x(>7HHFd_X4%7Y};Lx3otEpW_S-QM?$J~ zESB6=0pH;2Z+oGd>IWp|ULvJ6^PBGbags|sS>t6)R=%`#9)_h(_jZ2aj?=Lgmf_)T zXL6u{+WnvaQ1GVUXLb67m&y~&k$~_I<`(D1mD6{YGYiocEC~DtL-NL24a(}jBqOH@ ziTGbop3sKZAWb9ROD5RMzaV5#o5BgxNUr3-GWe;Xtf&xjYi9UdpjB81Q0Er8+Y4|C zT9M*1PQg$x+mq|f*1_0m3fDJAMxMVWc$ZeCn~ZvMH1xcTl`f zYn5_lyhzf+ycC{V`JwZmLjs+PN@CJHq@v{NLBi`fMU5dGFzwEXiHie|4{h@`S+Id2 z8NUjJq57%$Rp(;eF!*1gTFs@Y6JZhlCZ*;KC_mJ%_VVQ&%!|C6tR@*DzRJpsYF)`0 zqcvKqZ7ptgcGfj!H83T(A361j*5*YGjUGQzeji6=+Zvdot5`q);B1{=p4UR={9Tf~ z)DAR@1gwXLZ<|lE;$8OQY_n!od&gTc^s(37#X0~7H5j>|A!`pQ9^9X_T5Y7ncdvbX3wVi{(agX9m}h=zW4KG&{D|A^ zQS@lyU);xN3{*~q&O;)FAe-RMzKn&ndoYRc0K?27psx_j7=E4Uv1VC+gq(yVS6c`f z5;yQ=FUvz;cew_;RjL;=L5v! zs)!JuJR)Qgvbb*x14M3$C6dX}eZIVAr+A~Z;u`}8eB@>ZEcJa25%e2hB0TMdH$yQe z5EYodlw!p6ngHV5KVcsznUlWQ#!wRQyJ3?p?#B!%8+lr?4S>KiF9=AixKX+6S*A#^* z7r%vP&egj3Y8%}8(y(wdvT~sW7Z78ixHe!UBd!67BMVbXW&pI}lqXLOi89`NuABZ6 z1sE&%?9P7ap09G_z?+8?+on`J!veV2?p+Fie7W?>qG_;3-3dC=uAwWJo2QY%0Bk#m zN?6>=*XEHNIT5ZT#n{PFq+uMjB5?3^MU@jq4ln``?q?_(pyXv1pJ(=Bkr~OANAcQW z#M|h_A#k%qOgi0L;Zx!}6$Dpsf3A!U?68GQP${8Rl=Rrb+rm!t;ei{5?iF{wEVC2! zC%K{seBh>upB&rPj%Lbb00pteOl&j*A1OW$?n7HFGQ##74DvYhp>h~zWVN~%)9cUs z4IX63`gwwA=(_4h4pmf;b_>1}<4T(VOqaA)E3=6k66~T^OZQM-+Rbi6Ysn`M;-~4q zMX#!P*EpF2Thiy2f>4d7P&jESSWWLNB0%l$O)V3;lF4{)xhN<&7>OS*cDb|F&b3~n zpU_J_v|C7B>`(X+qW;iRanU!&yAB06Hz6LengiOGuBOOQX3D>ivj?trYV{dkRFqiX z|J?Z`(8_rE^yhb^fIP1`UPXhz=i(VS=4S4Tya~s2O0kK@Bbla%dz-D_ON2j@miCok zlqB4^INXTxrXqgRf~)m^?`?dV_yg>4IzVR11lo^RQ<%lX2wGe(0-t z1B>+oh@aIzW)pck|0@Iq?Rwmx=OJ2tpzkez65!)>1?`w{ta*Ak3$WR7_+htpY+`Wc zHjao5%#P)*@OeiUM;W3N67CzUalQmzrMPfZb^RkZowVNg(}c3ZJsor-#~$c%*xGkA z3nYWx^eewn&~6&cYA|AUIvF1L7_luNUhquPh2y>ibR!!Hb;IF&DZAa-vuAg4pB5ux z7MY+K?N}eNfN%YR?(jh0@Cm%{Vo->aqThWz#l%^}`npVu)_{xjFEl`^=ir_Uq_>j= zOLy~M?{ycnpa*JZ`c-lrECw#(g)ixO_EQHDC43bdxEphc=ReH5R0^`5t*8XdBFl$gMczUZ9B#wh%y(_K%j+=ek!g-q}5@G-8Wl1k0wU zWA5j8%MGfB>4#6|-|KA7+WfO7{bX_C$XRt&4d&1j}R*kc9`2 zhHdHX2`1jQF+^-c@B2=K z>B9ebOyJw%Q&ZwAzW0d7+R$; zHZP!kBbnFxwseX-1ara=yEnSpjR-h+16}8ojzoOR8NmJGdpJ#8xI}~2$UvFUy#kpy zSgEX#D~h4t=EB%H3W34xXMvTVe&TE-nGe(K=z&>w4;*@#rAEB+(iZNY=K5@L@^9$+7{HoyW zwL)g#m-c6c$X?EMn*X8ctpnm_zVG4S?i48$*9TkN-HR4l+}+(>iWjH27AwWw-Q9}2 zTX85>;0>Se`}+s7+0AS+bLS>I=bU@```C5>1NCx+1CWKojsxnk8>s1}Miig}RG-}v z3JB@BEwMhxC%IYtGG$IqsKNP^{%+RzUPG5vP-^B|WA2SCBWahwz{GWI?k~Kt`CWO_k-7m6+RoWD7LAnTQqzF`DtH~Gr)RU)r zf9ZbfxH>5OIQv_k4VzFwj;S3D$hVBh8}dsu)mYNmO8>Q_Z z|2E1fKB2fsq{}rtt~g}Ev7O;dSe9Z7L-u?9u(2XNT~vw^$78|u_?Df6H#uHQiU=40 zFFg95)-enT)0&AAJ7Ran5ujU0YU(?faYT+MP%T|};>4Xd;*k7%$oW;K?8&OWW%sZ{ zg2FBp9-zW@ME+D^Ngk=f_FW2*+BQp@DCTJHHy9+te};~bn8Qhxz`%$pb_Q~P|EI%9 zZ_J-(97k1nLm)d{J(e0Q+s9^1B^h-z-B1C=#Y87HViZ-_)t{i^))QQK7fDb9evP0%tA|22FjCVLUMvLHhHAMvG|H4zQa;= zqSbQy=&iff_RWV|!-K>S+EST=jgy8`+ZM&Z>hm^%lbslR08DHSSn@)QV^=RsbW=XW z{xFPGk;UpBycuLN==42;4?AQ-i^vfCOafm>B3ZgY`4OVAhZP1o8KTvY8FtWs{!?fk z>i~OCtWM5jPa!K=fboz^rtkB|mt!w<9D}g~nlX*gb9>)70jSvzzm*BnA+sMuaAW|( z5F|MqGs_1d0+eY?KViPlcDXqah4C?}`%mc^>dq`kKVTn(fWaG>gpzxx*MX`%smbHvv zw6Y^LLmLXH3Mc^8%L-+>!xNRpLR9?_6(65#Ei=d2fhkl<>b6w6@hTM~pB*i??*6JW zP}tm(t-ajy%4TF^bnE11H*Pxmu{xqYrKbD~8Syu!vHt)K5wb`#Nl&YX1lC$qKm?GT z2EUrIB36mXKh1RgLt9p)om6E}3jxGcpmc6+wk!7J9J2+|~woRQ0 zu*?uE7}5AFvr!q^d+UtE47q%uOW8!nsM2P40sqfRP98sjO)WcaTHKN~(ZhH@F%STU zsz77H^;0e2=xwaqbFIvnISo1=ujc;MyJ`z$lg~y3Jl9Th4Ak}zEfiPSFPRWWu_65} z1-JEUSOtRFWVwc%xyW?x6Uagji{r>AFj<$JOSXb@5Do{@jBbG36WX&|1bAKhR*>;4 z#|@S1+JJ!Jpm?=d{Sxpf;6^Nr9o>alHTze%^Sw~_3A;QRX%5kUahneoK{f$_$&)F} z2bE<@1YASdD7D3c7}2j%wr1G>>ZAXK*0R^W3A0a9XjqtHp#hM<6=B+i)+~lZ z0OH_(8lL3bt=lh=SjG?IC(VU&21MAG5x1qFx+5&Wu&~Lx7ZdmtX;^rFKfsw{)+Fl0 zTWSr!+J(O}P6U6qPgH1#0HQakqkycp+f21PyGE>NJ#!hd~}V%{I>00uhD$Ax4v;hs-^$shox3%clJ;&?E&Wj$8O&0`C+)$b^7X;9hI6yj8OE8tDO4Tqqx$B2v zvc=C(0&IQXo@ZilXkd^mCk|>fPMUhJx3x9IXleY!-_Z8BcjZl}I?Cxv5mIw>zdSQm z-Wu!v7X^T@rY~z{wZ2{$<|(^eKc?W}kqGz{5DPnBKbqsK=Lj^ZG7~q%3iWzEKg{7b zp8EtS_3rFS2xMjaPvyIIJROq(q7JP!PnXfl-R#^^{{JWN{S`(sHc-E&{igI?ZF{+l zw&v&VRA2Ul1|lMs{uQdbowcb8uDZ@1{vTr7>C<+wf7{yAx}v zZ=TF0~Ls?qR3(=;OA2LnaAz=@nAoN6htFF|Jl8roMaL5y2(|h0}qZuxxPCS z=HU^51=YT-ZFMep-8(x*!{aCV{}X0{dgk4I&`Wf}2trIR%v(>kS zX-dSXMVi?;Mi#p}r|cX(>ZI?Jr3R_@p85H6&XNEFGYUsr=c_gCl{W?Qg1;$cEUTT~ zD>#RuwO3XU=EO7=2JU?n{VZL-naboibk+*V=2VGows*1aii$q`MQDGTbm7^@Sq=WT60{mMp+7lU@pAVivkr0Ed)ufEO`82MBO<6Vk}8 zbw!RMkE&B@(#Ny(xh+|YGXIEOVz~99Jo_OCzOoc@GMfXx!6?N2nXLPI8g-!==&ChI z*-PBsr`cVo*zLSs=Mu`sKe+YZnrWI;#5Pm%CV8*FrjQ5*S8!|Vy~kTW*iyc>$7TyI z(L;6pk=P!2gq5Q_aXD;3&c`Bn|BfNL6{GQ0|L^+lU_9eE&eOMoQ+`XGtSA<&Gm?zK zgm^-%w0c)XS8J&mkpP!CMQ1$tI2TL^?T7szqr|X?&{QJ+fv_?NqS#UvzdtLftM92b zOG!x#kZiT`yHk!^5XsJNr4dHAO18KwDx~;BXoq5j{WE;eeWQGR&YPA|uO8hi%7p%H zojTSN?%sxRe&!oCnJqcdK8ek4M?a|tHb-t1A63d0LQC42J3Z~HQ{9N{NV4WD+v*&x$ElKZa5O0eKg2TQ4F)!LtR$mL+;IL7K?-N33DR%Nu^puf3)4 zfX{w|vIue}5^!{P)f^*)W+|I*N7LOG2VAbJ{#2NVNCq$sT>m z<44;|=Y{TQm&en?>9*1o!Ntn8edntG)vqmR9bKj8xv=jWejQ;k2WbCR>7pYJb(z~y zuxLiFBAE|^m=7nTng5=2=3eLZYxS|?r#2sn2hwC9gntvQ{w+zcahDM#8esZPvOjlb z|I?-kbKhnIyN`2jLu>LcO?&h&YYuU@FuMKZ3W_x#he`r>0gvuveR5_eYZ#!pJ+^rjg zR%u%o0{i^(519?}vqA#4+{@`FEll;^I<^|gy5)`Dp-b#zR_(T$Tvr27BBw6k)2pfW zoEFT7ft4>Sb5XVUaix7f)0!@aF0+T_T0;Z-Z7@RBErC7x!04)Ml~uf zD2r|XVoiF^w@+0pJn>2C?~_@js$iYBZtKG7XN(WCB7U5}p>5^j-y=WeTM6Sjw^~;( z6Kxvg8%o7|w`2D_I6$|4?q@bnLkKizmw8l2RR7CXJKBqr2U4Y0y43KcbPiMc?ex-3 zSN_L4?1dahhnlX?fjSo3dS|Ut?S^P*3SdgDwRkSnG@1vzLKWNehUgwTp<+|b#7t5D z03+_}A@^H+Ba2l+)R?vGoBGcSCiwBqpTF7{txp8O zL$MAXRvJzjweGqw9GScB9aWr2$SC0ZO+L9^gN)1YYgRfwMx?0!65x;lV)G^dCqy~v z_1o4hC}&zZxZH&Lmz-Ixs#m680Gb{&%0XVP13UxBVuUe(JaZWo2zDnij$~-?0hBOU z%@EqF1+O1f`&eAu*GCvLLvqnFe^xUH!CM0yUrv86*V)i+%3ISF^vjQ? zO<6abzP<6&s`#z5*DN^DdO1*Qr!BM^-lgJY#b{N2v0afed=AN!Rj}1otM$Vs9$qOU z;ZKf$eh&B+Jqt6)u}m3UuwFsJ_qJ_-yGFD z-d5jQ{GQ*-wBF9B2{7aA!f~QT4N4gGZZKV^zslp__FR8yS>GVQL}v2mStI~Jq>c@+ ziTUMk@~8tYuYOr8K1`53{^Tm%ohO>TjfZK1v=0RR^!E)vuG3wEV9}i5G70z2(%r!*xDg z@Wm#tmmI!(KAN3Ddt`Z=?rZ%Goeda?E^$v{wt#*YFKm*6+ zdR>+!db`&BIgprhqn!oSo)D)l99fqX+bB z=$Q3iP@!7~F~|XV z5ZE7^5#bmYV*khk@R5;tP8IP16lX0z8S1{HmRg=DUElPc;04dG*|51heitpd+`R1P6yw4xM}0y7g8 z#eg>nM3{z%`knz9H&a@JSdfXwm^X$U2=IHA4*>#BQMUxRXq+;kn#^Nv?>_0h_FQ;< zEoPHDFG{)ZymyoK2&IzfmWZ1yB*>=j(#1P6c64Ze;K%Qk=*EO}*uk=vKn8Vdh$W}i z;^zg4lZ_F9pV5_LcHzP6RdU<+O|9~jxnxd@R2C1SuSkm4Dp3l@ocJPHGroaNnN#1v zwDYr~_zS)xP{eWj_3Ur(3zW1yH$c<~wX6_;gafCE9%#vGnKM>pSOjTT6BK!TodX;O z(Gq9^N<)5~{bIts!Qinf4u*>R{ZB(!(r9z$8Vcx|framqs6xUYB^ktAWaHJ3j9}CB z^OA>bOq&R&u`wm%IWhZxodu`7{F)F#6FG=@K7H(NBxyPMv()QCaD3?U=^u+L=}o*`(GO{RI2vRRBpduk(t0$4sC z8rv)$z!Acv;O{Qx#xm>0b-QZve)vX9Sqv4RP!zmnoInT|Bx-gU^}>Q{sdWkNP!`mr zKCl4accKADm+7+on6dxI1t?)O5Gi)*)qvKm%Y*`G(mo7eD+W1Xo$H1!2`Qz{)Yv%w)Y929_QzBvGICyxmW$m7D^I70d)0ug{un+W2ly5ZspyIuV> zETrPtRDcw=Nmp8jGRaR0?`z$7O;j@K>Tc}#1dR*c3BVaXmC=bgfYIr2$KcSAE|LJ1 zyy-ExI*J0xA&?5O7-Keto7K`jT9Pyj#(mpJX4RFvxT;%6>crg6>-k1K;Gz$MnIrEC z8NckOXNWTtG9k0ZEeatz;F0VA6&k#C1BWT!Qawkb^C`~g&jfWPav*ikYkHA^fA&#j zP`BuMSr_)<4u{Gv=*4<4d}Q;BAT$qU?-m1|#GEFC^V2;ti}iCi06YeZ+MpYXe$TW1 z(XB`-2qBp0F=AKKMTMY};bk;s2BHAZFAne?=;JoEJ2%}?_pzh1f854sK8MrAZSiA9 z8E?rY)1ita;~m^831Or*mHc4IM5#F_A|;SF_Kb1p-Xk!A5Gd+Eh2NEz!FhTz2Dbvl z!C}Sm`~jQWme7Dlx&uP(?Ue%rwV{?M+plj;hA$+_IUYraG8lZEkQ^p9Zj){^E7}8(-ohg)v4eS@afr=>u7l};?%Vg&Fy=%MFy`d3A*HTW0O-Vg zi%%u&AXpVk88QOMY6yb0J&bs+w|!y0%QSU!nsR$hXbGS@Gc!&ZUGnVf63FWWos)*F zp}FKOu{q^JV%ZgR3d*kc2<8XB7XO3IYjHx3(n%=mffkv6MeM-g*jhjxtn8{xWBdRN zJevmg!}vR=3$VC$v{rWwzc(a+&e)5UH!vu%Ct14N@(HusMg|Of8H=k3#vto>P05h8 zR3r?y!=9-AY(_#ADZu# zB5o$sT1rDR_2GjtvA8AJ?bDP2j|jeVRW-Eb^cL4 zm=U*bqo{Es_APwM>E4?O;|ggVG;T%23 z?XK0!c$b#Fa9NFI);4g1+FH6|5hayP$QhasUh=ulxK+!VE`>MFJI`n=4|@}pJVn=m zJ$6PeoW=}e#CY+ntFs`+8UBo;3cHigXg7mheiZGYgR-iV2WYJRXmwip&>Vjt)a@Q_;n@P!%A! z-BV3{vm7DnS1S2Sca7WM>9HrxO#lm5j!&3umLU{~)Zgnq5CKV_6R5(I65xP3e*cfd z*s$>`Y+4&r%L%24GvywyBuR)pZ#6 zZDTX&H>sFRk%6fhG`*xf7j#;B-YgiPPOu_%ViT5gPC-Q$T%FyZ=TX2c_)!pssmlM0 zF8rewIii>>12AQAHiXJiEBZwG-xj)3q5I`08D-6 z)ZBGCqLRdHcA0U_d*>jdvwI}>J=1VG)Rd^mHkC^OOF)qoS5fur&@5tYbNZZ@;$)q7 z=q$S}6)LLa6fXHChr)Kqx9}KLCKHLsJ~`0NK1esua%6{i-pewr9G5DzhXD==_@yA2 zc*7$b*x^P$%Wkvg;L@wsYJ3&3D?mNN&1~*stP(0qEUg+*cu^p;u_*8ETK7#}DY>sO z0Tvj{o3qTPLqj;L?$r19fK%pFqR+jBDu=NsY1WAcx>hPXDI8J#JikB(^!{o{*kZ2y zNUT7|=6mPWFk9c!vNql31RJxd37R9zC+rgt8~&~+v~nx9?%zor!l96k6i8E?CYCc% z8EemYs4#PPY0cOCFpkF~wkZ=xJ=G{6SD-rfto;yU=FZVN$HkXU?eKLd5i#uxL3Teo z{eJf;^naqKUVBxz%oksW;+Hr^Yb9vZszHIR>vyxW@fl8W&Z@-3I?0q60D@wY`8*1w3JA3Fh&aKhHmw>%oqB zY}CeX8i)8@_;^{ws#nJmJ@0OqTD zLUcmk)V-IildcGnd}Rt%=s;pE>RN%s6>2;#Jw{d9G@AAa@7h#4*UZ{y3i>gPI}N@% zE|n(6sRb5u;+1&?ZSFtWTM$HXEXHU#XoW-%!tybN^HtpR9`%~_nf8QtpUAbXm$EI1 zc1i^mu!yrTJ<}m-T>Ns$ zC4nl!hA#p_V*c?CYo`cKG%l?U8n7zfIZ;))uJ=)@P5n3SXo6<|Q*n_2KxUI@bEkPz=A z2~4fHs;TwqAkkW~szU>H`kkq|NPiOJ``LOt`0w*yos2acRIn6PR2pCbuU1w=QA?}D z!~~m<{4DMq0OXcbL`-Z8x#Ymxz<<;KMk&4t6pLVT){hha+$F zn3F;yRDdyPa_x~U1CMvB2Il8-bN5!~=XA?E)$Kt>tKEg4%M{W!C9{K5_s5YxGkgJ! zEVsUq8F_oVWw_L^E!s9Y()RIZX_wUag!UzbjYQIa*IkVFJ!9nS`0HCJ{*HC!k2v>kK>kqBU6DMzXETB%gkD)yxT2e+Ip2xr{ba$v?(TpK>B;QF z>6=5td@dFX2a#C<`~fX!QDZT*?3HXxGo#D{P8ywQ6Y|fGys#L4_ecn$Aifq-U+0alY8>j%9%YvagKEc_VPaPPNn+aVF{4JLJ ztPZRW^a-1u6)SU$E6_j!nP>KF%ZHV}6XBGI2|IA@rQnhaJUlI(THK9dt39Dik3)h{ zpNWz!A08j=RKILGR-$12G&fqMC+>JSy|^up5JItqS7tB-+}kJ*)+o%NTY6fwe0T?? zsPc`B61~M5R+c^J_eq`YC@iWo6s1hUo@9IJ@=LdSIQyDH`AWSHx@;Wrqm9p}DR=F6%=wSV#O@dZv>;`E+B%gOM5~TCG_40y~lp z8h<*vR;p1u{z0pDg%ni>9|lP8F%7hI6{En4HC6GcpO)Nf>X6}>%Qoc2d?d)+A5^A9 z|JVW!Xl75=Z*i0k7Vj-~fR@dL09oCnX#MzTHcw^2+mK!$%fxD2lK{A&9c7H3awVQD zM8sR17M)kEO)igipF)#nEyQ%!ZFVch}fQF-DW7{9i@UIhQ9b`6IB&bSBODs^$4Ben`e} zmyFE`px0~*JG!!K`wF##3G3u*qW|B{yC-pgU~E~~d_NW*FyJ8$#JOC2z1et8d_C@b zT4><(9?aNskg{5pQ1hU`deVQH^Zz&b+W)#Uwv1u{N!7h_vC??k{~GqX+xgG_mE}e} zkPcUAOeU*)XYuu4<;#)qEB@=932$x9{Z7O^2M&Np@v`!|lXFVy%D1)SP+jGP5J(&8 zxwY9ed!)EVKjyvVS(Cbhq1dAPdEzq>Y>dY6Wf-lNdXCWgY^klh*}ihXk)i9 zKpgajcl;t9yKXK;Cgn_C;MO}-y~IHq-p%TvXsC3YFBZi06#|>S#(u-Uzg6tY%{m#A zWonw&ZC2#M9W#hxdG@mi4m%2Rt7bp&@YAoB5Lun7=G6a$z_0#@DRw_JsGz%pi-tHM?z&o!lcEDWnj~{cYO+m z`p;8L+;Ecy`?7$FViojB8IZwi&xsHdFQ8F;2`p>(>FZhcdh!ofVE#6o-u{EZs1|eJjSFs!N*85{ zuED#J&eunSpzGmAX)pr#$b(G7>&ARsR!S{IBL{;sLMBN_IDNixF;og$T)3c%HL2$K zxqr4N+WHNI_BAW(y-GKtbiVFmhSbrJ99=W!h2KawsuxKs?M65RpKmbw;QgXoHJF$@ z>Fi`*DoN%`TX>z$B1DraHxrvJkJQgo{O|T&Fe-@v2UFb#Y4D^UY|i)e7>2H&Z-aT+W{E2;1S3H+lC0`>QT5U{&h_qM3|PN8?qIuOBrS+ z?NWqZUoK7!pX&0=RsVR&{yS8Am_7dsq7HQDl?f?AEni;#h6O(-y0sTFuxXFTo^R0k z-&#~omm$!5b61x6-Sw{QSe4FAkCbT8l-tK4RO}P%jkg zynS$cuA}Muc$_ZG|ck2fO z%*&NLaWmuyu8N0=fZ*U0|DJsgNj+cauUpsN?4c)P3kv$FbKPPp)DI5fef2S(0@u9qz$4h9hVfBiEtvf=BhZ2$hSSQxRF?Q0h{ zanvsb%grlYO>1L6jI#RQ+$NtTfMl2b5NM5=g&Ou}>py(Mt{732Dy|UwJZYBHp2h5^b9b@?`L49lyraI+ z#_^4RXXDeB?qJ*g_m=~&PxgA*^ImUlUFw&;o^*P;y8IY_`>JODf2FsbFRk3PoW5@- z;`{mGMEFnk{4Jd4v;S@Fi2X~IcaVuaC>>0=2G3Pb&tJ{Z&$aS~JLf!S{x;3?Su^Be z4xzvEc{_KR1MJb)ZM#c%eUjhlQtp0wuag@LFE1y(UZaQL49|fac-7YMyiNMY@^A2*||g>M$JgA0N&A4X3)y_sJ3c6Q7L zHR2Zhy<0DqdfNr{J5#P_f;0A%I@Wya7l43hr{iAj?~|lwS-+*MpVm(H&i!}mi zy|{+UObYoI)I0rd{$A9b9))MR94sH-P2OQBt;ocJ@2#k-`+K-f9le)1&&_lc)+R2N z728ZZjW){7gO9OHO}1RZm7T(sjfa)Q5*W3yP10{$KDB5u)GD$hEDC|DlFy`}kEHO7 zS<%q&Vo0d-aegb;ULwox7$zJvNM6 z=Q>$TW3ISDQ!| zA(?bd6B{Eni>jI^`i3h?TP2-b75(OzhLmsM0e0D0rJ&*Sp(@E#XHe)w~HI!-&Or*;zk+(H?p zLr%HTQuBEDpl5(xpgQ8cFyil1$E|Y5`w&d@9UP<3@;(G^IsI3M-xeAFfA-w=Rtl}> z^?bf_L+*Swx;x5%2W%<}g?|6M!!UwYcQ4hOygW9941c+ZAUH9pVKiSz1Wn%uZNt+k%sYgnT>M=14W zn&Lc|la3S>4sKZp1Px=)xKw6aL$~&JW})pZ*b*vCoW~fE8|#4RM*p| z-;cz;mgwaxf)g_5?|AX`qi~zxRSEe2U0PbW%owQL^*64|S93`0 z8>aLL@6WglZOb(WWyvjpB4DS51b#^zaL}36#XmdU?Ii}98WStQW`#+ut4xV*lUW@G z|3mJGHa3o4x@5)3QMy^4_EPkRENxoKH>u8zW+Ajxb~^|mtEbICR!U(oyktYtAfityQg(U61d0ilsJS&vmyEVrKhv7 zh{(2qzMVyv;!x-J?AA9ny*IR@W-aDCx5@7K+b?!m$+jHJ@W5)*AE*w0R$i}`X<=JX zLD-peMu?6~y6MPcdk8ojd_;c(WwcnFGub$Bi?l-r%DV?orJw9?C$z0-ZB0rk92 z5Z}Psc&}+$jP^V)_-bB_;Z|xEA`krJPH(WyL*%(fxJaI7<~;sVyao#>*g}gK8WS~_ z@H8D7w5%2q4avd-?YgmOnX7vrcClds)_*l`?sK^-=WZN`xSbSv)evPS92iddQ-|m7 zD&7tqTLM!hB)tDazH@?8Hky|C1aHs}t+{m;m~3<`)nn`2U>u4{8*~D;mqAVhjEK7J zZMB4@ZCeI&(mZoMCd|DwwAz2xw_fAI#>#L3^&{_*<$=vZ;-1_3slz!U5Sp(N%FRd7 zZK~5sA9RGmu!~%t)<4gI2KH&;(u!=;-Q+-hFN3MVsHmPGkh{P@6tbh$I(-Hul3xzh zH76GmJnIH-8OQ*3Iun$Wq*F&R%x=Ey{-3|pXTt%~U*@WaL4wC?+hEqXkLszQuWGHB zaMlbOt<1-kn(VVQMe$QXPfnU%!?F5kFj%cl*LPCbAq}U{UD4xpc6_(Vjj6_Yg)|(R zkL>tcitaXnR zswnB1-lUb_LEZY()wCtx@CY+|oHOqYT)aeQ7Ol|MucyQ+_PonW6#`JhE?yKXN>^w( zpQFM^;7w-{2!Q)dvyM{!LC)uE`&il$OOAGz>8D1N4{JgdM>)REuz5-UcC22Te!+AF z^E2p<^9jtoTa?zz;s@WP|G z;JGh6Nk1{W6H24R(L(TtLIk}4#7 zFq(0B%}HT&Whl_zzID5xe;vxA0i%TD=>FS(@|Dxmh)} z_Bn5!j%AI8>C?2$6H{>10}?~epjX?|y?r4wqhP1k`}j_@gstnZ$=t~oPoD|;eWASk zWKv+xBiLIK7y|`nWVF#GqJ{IuhO4k*t44FEuC0<~_N?|qw_K+l@R4mV;1ElxY zQVYmZ35Ur>tF0`JcHli#t;|G1LFQcSYp${Vzb~0NF7(QuV+S+FTt>33`bl)dvZHRx z(tKCQ>FxI_S%bw(>y&}tf=v!PPKIM2VVml|TmKr!=e@FA%FbNSZU=(vtUPMS_}$KB zPA%|&KO`jVk-jU_fc-uDq_fWEK+N3SvF}~keyCq6!MBU@(zL=x{?(ETmM7@3o*1R| z5YPOS@JWaDX(T9|=%c$=LBxC(o}L4c>K5b&n>7s6oQr~N(T&jp1w4GFeTn$Hh3TI< ztC{)~iX5SWRTGApm(WXm<0r~H&2TK$mD!#-QRCE-j&{K9_36FyKnx3+r=AQ-Zpq?rpKUY&5@3;1f?$0NtN9&rIcT()jbMTWCeO+n^Vy zLH9QPtyntf7&_t`Y25osC|bnJSRTrSh5YOTNEk0CFqIJn!J&R4B_bDbPS|;vq>R}| zfP;>~=RtIzy{?`Mz(MCGLl(oPj9Es~g8~HKi5U7yoFWptsCwuK!-xUii0cdLY%8zW76N1Ph?_cEP@Q;{; zAYcPEh{u`>_3XQI(cj#7%Z8MVko|w!ga&x4XN3S@;jRGUU&+RJqk0^?jrhhC?|x`@ zp9oy31%$A>AF1HL%|_>@Oh3_C8@pe=w_b$Ebs|{T7oUj-9L@P@QOaAR-E^2Uzc(!K zO}3QGkf%^MuQF5BUqESkO}In-qqo;|_dRQj5KkX2kg3V>^+k&~zhh$1Z|WCp5q| zov$(a$!yQ_d+qPaH+G`@qG-08tU$`cx9I5~Mn8BoKk?Pqb(^=rVOFz#;_E2OeCsAU zG`*l{ifFy00i7w3?2<#I3u;FWeJo1YoS~c!CA@D0<)Ok{=$LMf@|jIkZ7w3|vP__Y<()EN;*zC_CCyj?>OR>>V)(eErT|K0Xn3;7 zpu11FKmdLr&=rNf-(rYPOVbUfC=XAprUK}wy?^dW`aavuKp~|D1So{^9wANK_~)?& zCp^cNV3P56Z}m|D1JRBqz@{Yc=0y-J&KfQiNCIKq%)K*=p$qRW9mIk|jLq(91rml3 z0D5R?JYI(s3GJ!IEuygXFkboy6g@0@wv!mpL#cK%hUZX0!)(eM7pygsZirBM{gY_V zGoS+&$I@0JW@DSD!w!lu0^W^-XqB44b?G{QE^nBQToKpuOG@7(lLLOg$+O05kJx9N z32M0Pa2UX|p^C?oBqV@zk9P9!|EP$Z^Gbb&mSvr`&`srkdoXAF9`uib)->Yg$1eSp z`O{0o0EX;6qntT4Bg26X<24vS-MRnupgReT2l4ktX`az!HnV~}tmSNw-lsOL6sn0F zV38FWq^YHzB!=hzR4gvO;9G31>G`&ZcIGl)R*2F5f zfkJNQ#B>;rr{csjM3+U*gJPYNI6OM%1?Q0!pHI1BrQYDM1*ZzgU-6*uE1`lCsVXOz z+rc3gz&bzvJ0^Yy*$|ua`a6a*i76S`7-PMWRyaO8we^x`U!N^lJev)NDLF1(O^fIL zF**)&nsCrS^%EKHj(4%xL=ck153Pl3OSgPFRt~-4sCGS4fcXnm%mB-GQ$(r)#>vDq z&w2w^VGhehQGa7q>>}wV6dd|b*HTL7yo*UPaM(ZYY=~nk@u^XR-J~a}mYnoVEPUGO z`i+%skJG5Mhfz2}Dl5VxnxfpaSj;5TL2Nm&E6l=q-A5}|)~CM9eMPWN(?@HI9-GC~ z^S`sYIXfw;#7G%T2|X;nW?ub!TW!Qy_ z%caaJ<2x>^YL~3m1g=qVN2j$dtLU^*1?(AQaS5-OfV}hA=+eMkJM%}#zhg*DewJ;B z4XY@tSjYCj_FBxyM|xK6K3T1??;i%C09N$@*^eU?fJoH|^BW|`6OQw<+lVhLF)5V^ z-8iDi?&1d(gJuv_p}ZkTvsrs6bjc=@;msm7K&oS@Dl0$=k}qTz56^24R<#Tv8!AXR z5*Pcz|AVXmH-rr2BM`P!xBQa(kxNG(M5aLd)8vSGI2_=gVF)6Lk%(hTqGNH@PjibxUd)Z-A|sMJAsY5h1V^z-bG zvC#~Y2_IoAYrAS!uyWE_7{v_$st~1DIh#ODh@?fQUxJMMPk)Jn{%N2QscGH zaWL9!63(K*OcQN_R_9QOl=?})onKbM{K*hdn`e6cZr}L#%HbNB)L_|s1R^}o%z8`c2Nw}hMANh8m z@%}6*VVeAx=v+;(P4yjBG_J&@;S{~qDhj{QgikuIAd|TX^W>K;U)rrrfQ}{RAZLAl zL`{-P+?P!wRukUvG-yQ?u?m~pCxC31fkzUh`3jOewTvdJ()R~hamJ`)+sM%cIX-om znhu<1P-InB*i@8zk&8nU^we~Hj)IB};fZyb^aJqX?Yj7yQYtgBvPDTQZT3f}d<+a_ zjN2d+X868K0!^{V1ezAv66@pyh?|t562+aN2;_Y(qKxp7!lHv_F^BtaU3wstE{Y>U z{R*1ojsiNh8zp*amO;x&TJ>6^+dn5D)G^S-46>22!lI&L5sDIfHHkJ zYINm0!BYO>Dr-q3aL$E(_(RNI{+U1hl-YT{N2*6aW78xA3dhRYGDu9qp9&dXsqc+? zXv*>`({tscp0{wX-tP%yO<`tLYrfOyu^83#V|F=yE6# z;YSu+4ayV6{<7>V&OQh`dmDskPwd9*Z;L-Slt*i;zff9oNfj70&sa!53$=X#UWe{u zh3Ph0oYkTXkXn&e@~P7gHV)NzcZuLh3Q_S*{it9 zan71VmRxb2ZMth4wjX)s_`5a(Q8EgF!B3Q)$NAftWop0y>J8=&8O>1tuaxK~aS$0# z_C{My4xJ^NiK-6TW@d z0!!r+cL`v|whvaqwWaJ@Tnm(=5*Y$Q};BfyVv@^K6`&}+(vfDJi*}L86w1x$n zDjPQq1PUrC$sGfWE((SOn!YsG>jD=->l^eNtM8xXKJw*&_=vy%ByJ%xH#Xz@V^Xp# z!SC5(gNq5~Y#%2JF#)n+9>9%cj|#Y^co9yQVLM*TmWy23X4Ap%($$*2a$}U1Am_gE zlG4%|QW1f50%^EsDej~0m9b^ifFGCp@h z#dkFpPl5y!Pe)tt;wHRQRw_!FQuXsiB6T0saYU89Wp6kWEi&<*r^BGAGOT8o)92N~ zlb_E+LiA^=C`*t!`v-Z4voIdYlc9bHFji|-(Vil0h8ns>HGZ+ZJRiM%Y+Bh()qnMG zet&-X_`L^ZukG8QRx}4RGfO3W9jfK7u+dOM0(3y;1682s`QvfDBg)0gc#UC9Szm#N z&|`btKDbKk^eP4AQ~kQP1|mIIGD#Zml|~O#r#s#2682tt+~d|f?QD)GT^wFq=z>Vy z-WZ|yH|MDnyMf>j5V*eDucnjF(Y%w`pt!8_+3EGNln>BZQGU4+-D}kU)4pt--}Vw+ zb924YUl=0tH4-6h?6M6i zaY8M+Ao%&zDt&6DI$5xI`{QEMZ0|bE`-#>TgabxoG3?YjJg@Mw`co2`zL&W?9Um{m zZn&+?k&XXbo`2jiuT%m{Xa0X|eRWt=!T0w?kya4t21)5=X_b%;=~TMATWKW(q)WP_ zyOo9|q$QVJa_NSJ-}U=_fA90W&-4DnvU~5$+&gpT%$fO|^Err$0i9Qw&3@NIr>m3AVvZR^Jl7NDvCpUi!k(?0Z`P$$e)pgX;ok1N=)9FGr_5^$;MRU+`0(LjoOpK- zge#M4dQZ+kt3njBjH9fit#7@;LQJ!Y<#UPOTKd>P!2XDNq`=DRrzjGKYx1Fr@PWqJZZsA&R7f~%M%2t?C_1t%H)SDtHYIi zu&4rL2T8su5zrZ~Y^P-=kWECrSn79!I4DC319soPqc^_#hduUR79`j)aJGAv4@`t0 zh7(m{X#d!{-WwfJS>$AJX1b}($kat)u&L<>t;&Hk^))jYB3*Q{xwE@|QQFT`(xT@` zPw7b{1CJX0JY;nll6E~mF+3}qXM$0*iCbk) zoxe%a=aldCsyu70ycj=jW3GJYPG=Q;%a>FUjXkT9#HdU*uN{lq#d`W5Y;MlKSsOh_ z!F;oOAyK7sshocvgc(6_j*}XZv+ix_A`dxk-zzhgAmhb%Fk<26E8&8eHqvl&x2c~`!Hb`$T+}GQDdBsct5rt(G+nMpK(NuM%}c9n`kRq*(If~@ z8?{~KtlHX`RkwNF2kVJpo!o$0uifXONmpd2)Lv~RVP|pvVl=%7H@*IaSzrFf#(e$d zviNn2q1XvqxZ=luKzMA&PwF-lP-+`|kPaX8Fg`Pze=V>*Je0V9DO{DDNFX=(-9cQ) z>k9IpsZH#8pyYbdiOhd5hP43swE4C``$U=hL!7RZSP+%uK~1mY`7TXt@K- z?`D7Q`1m=naTC^G;aTSf_N=wbZKFA8H?*65nHCpLt}>= zE~ziI+&EGS_KZkOGje_(YK+4KEm&44xE0VXOBP5z{GZ6#(U#ubCx&=*X3FeWGY7a? zZ8mOvt$A}QM*MEw*Z1B?63Pty+0Hj z;;kns%$ph5Va8}dR!?I>R+DB4tA9((ZHG#)?i#PB{~riS@GuWRP4T>DmEXugI$%EmcD9r2CAyWp$Kjr-Ni=)nqR8dQ{H6eqcq z);F#O8pVuhDW6t)V{Uo-wY}V6QC~5q!|ElwR^!&0yKOb4Rqutxa zr|r&HXqx5MvWT2MzGpDBttCy|W#I;0u_GbFdViO?!@uys@c^gMqw(<^`vqB9^xq$Y zWW&)L>?tWJpP-{rQBln|_`CTLP#F7pd6~`4tj6_Qmt`WmO`#33F)B|d`4msLucm73 z`P%YO8Z(!IZ4?lXBoz<`R2gXvlul{(h>?JL7&X@vUEBxeTnUnn<;o}FtR2f`U@u)% zX*pU0s*XFHp0mXju(nlw^586gC5CcW!ne|#EdYK;-IPs<+m?Zt$4 zuXob*Iwe+;1}(wxOS(ab0%|2M%TN?Ho&Q%ZHkA8>(Pol50gj#@_(b1dgm7-5{EGb~ z|CPJz#KnwYfw0&cuqFlWFiyNfX2)n1139YQj}$(P8a>OzFbd@3=6eRnMH&UY_M~Ou z=y-2-B%E+3bl>$RHv;v`x$HNUGcewBG?W=UT#dr+Fw9L>t1~~ws@{Dgz!R@Be5?5xjZ}hlL zr#3I!)~1m?%GP^W*VP_6z;}=-XV&74zbd#ai~gGbh{~PbK?IssrI9T``JO z?(<;52J@+BM&WGXvoYpVxGws*TPoWt*-9oAEx*|7^; zFET9sC$087)2du$l42dFr{bPG`O&yrBzybfskqo;z5U+C#$P_ANj^}n?H9y_g?HUF zWQkzHu%3Z+N7%+NlD|m&*FT zm0xw9XC%x-eU9YeQ5e#No5@h8)(Xl*1nKI{ssmECif1v|*wQ=aDnYtfK-0j=l`DOi z5#Mv7e%;Z`q@EjV6G&Jj%@$M(9~bXqq)yF&bnH4Ojx)zoV~!_LT+i3?Pu@fkI~o$) z75o}o%$8*yidq}Dq)qxAJWH*#rH+BRS!Kx?{!iYdBhT}E>qyp%7RK7sx3z|_sY%!p zQ=c<__Txx6Wq5&wLLYEEY$eD3H!D?;KTGUe#&~&ZAOM54$ zAwHssWgRx$t9fQQu*l8Z@~w@@{lxRB85@_hNmZp!3_4`7 z{ieY==@I>ApN3fMAcuq#yD4-kCpfRyoB^i{+Wr-}xKS2^xkI&DQ?NpA)K9Tw2?RSo zd2EJ@-_t6}Q;?@dwpe(yjSG0kd`Q)On)K%7dNh@V$m35hyPg`c%9qEm9PyH6yl;|! zt?CE5I~4M-kkB!xh4N|ZKA+^NRm+df8wVpOLQ0jtp!ER}>R-!_~mT zLSsYF!rgpkyBUL*MW9wDR+au$k&~6v%op|d{N70)m?`>AyFY<1O#f+!aZX)XmEOW$ z+Qyyj(@O}NY~I#cI7Kv*v~aqK0)&=<+x7`~u6K*fv4*75`<7%ZG7pB$9bSgFteUCs z%g7nAGAcoLaKpqV<)HgM+|3Q~b#|>1BxHq|@lEoynnOj3(3sb-Iy<=y>}EyrGMxrq z5*#+DvVsO<@|c-Rl6hKE>aSyij&CFI+Xe{9nLTtv3X;iLSkv2K-sHc){Zvc704vd~ zW2&+I_Ya9}cO6J3TZJ5}tv{6H*-gxx>1Lfq@j&l+hxxPHXKVBdX&8>Z9$!|T$V>FJt)Befs*e- zeofT$n5*Y9b2Zo5%{^;rmWwR=nJ<6+{iCo443XMES6kMrQ2?f&3kc-eCXJ!1wT)QE zj-;#IY-`g}+zl%y7x=^^AU~wXZLJf-OLBq3lxfD9sBX(Dr^)M`WX8<%O(m(%{L?7? zoQc*uc|{0kLu=Bncs9gfl{v1iaoAT~P!bY9|J_faQ*ilhMmh-59>V-G{Il}iNX%e0 z>f6=hzxxG++_rE=2H|WAZEO=pZ~_(-+Q^Fz)}pRjC!vhte^Df!*x&t2HUG-1EgGqmn_che@8sDCX0M)* zD$7mONMTY8@}Md)VTi^snUI8?qrd&4_($Wjxsw`=d7N@lieDIOWdu3l^^m!=9M5bc zZ+QRGo20R=CdDsGLv_Cr*n)Zalvj?uMB&etyl_na#c!(pFpC^zwxjLW{<2muy)ivf z7jNQOVfHLWB$UE<05g>@{kyf=523Ih))Y)@ky4^m-8V>DB?c?3EuA+6#ovd`CJex` z@)HI1Q`6;c!o3FuBUBWgS|@(AtY#B-@)oL)Vs5Y)(Z6D$Lmx5J^5gR^-X+h(Yd7-j z5V)?(UmP{PAHWQy$X090m-;F?=wha-{D&p$B^X`C@apuT_Hy}kyxETb-(<~1&UO~# z>FEy3mZJW#mbs-%K%rI`1id9-OF33vHw`-*ar0S zi$VKPCA)(DUg+0_k0TUVTyP8hvNpb^}$sWw- z82^r2EjtdiR0}>sX0m9R2L3i#BRP(#Sl`o&++DjiskPr?0C}Rw%pcR3K%5^I=h*66 zJdAP~;4y6Fcw@N+0+ZCJW*qOorxsv!Hq%YZ?~nR)%(+$}2`W2upUC|F17Vl(hyO z)Kc1^Ebc%?*Cg$AO*8)P0rx_U(VEt-31rMcARg^iXRVQFV_IWo7K}Wl!I<4eWUu$M z%v;*^iGxOG?YisBEQu#E87ZdMo29DX{wAjF(_6sH6T9FpzpF$iFPOiJH0sS8u;?_P zzZPnA({F zjd1I{-30w&4kroly#zS16LZl9}V6;0-Aox!yCL-hS$;YpncGFj@m3AD)uh_~7 zZJ~oW$+pm5n{H>rS@(DGKc{!6ZKhA#0|Gw?J=Vo1t9NPFx)80LrT$==XT(y;mMBBk zsAf=3Y}bGJ^6>}P=B8!l;8tk?CUmGT?o>Nx<#VE2 zmcO|{C)s1)G-Ib1AkIH;UbQd(s=CvQT$p3dGG=w-m)&5=k|r2>h6ZbvrqqX*P;%$a zD&+Iqq!wLLyr<{;9GO}F_jN^L)2Zz>Hn}uZPKYJFH#7PTc`GJPs)AV|nYo24!_Kji z=MRA*3$G*?lEz^_AKF%RA;X*T1n^7?mS9i~;(jmIKlkY~A3LG2iH3t{x56avz7nf@ zRBGa%e8&SHYkr0Dp7QBlb%R~&=aEg1D`&1?x5&z_OM$r1Sag*9hr{~L>USF;!+hX` z)Lj8JvROKXS2*vnV+;7K;DIPvWdlMpGdzEd0<1_>5Jsu|@ew|tT^=tp|!hs4#7AO#Lg@=6v-WnBTe zQ?5J|lk{lW(W!RmRF-fQZ2qJ@-BdY7J`S__aG!NUIytp?Qx^RkJP>Faqi76A zVr7pkXmxc6CX%GF4caM?UbF*!{Xz-}1>*r!lTI-OgD#)!J=i9XiWWu)Yix1jbf^ZOp^yfrYq-)R z*9%PPkk^mC?h+mx^-Qrl4p1^=y-a>}_d7Bt-879Mf`jG=V=ScQ(-y!8r z%R$V*yTz}f^#;Tj&)i3x`m>cjsW|0@=Sr5dMPB0aDS39TAJ#B@(zAYdd8w)C$rPW- z;^vY>C~Z?uyR@LKY44}9YyJLYpq4)J4YMqH`L7h_SDpcRN6WI5vj~(=xD=E{W+PFe z?>;bO=^5c)KI2!)-WHI$QrS?;W8A0SN#icCMd<``5us#m|uFi=)2kGB2 zGWMDR$>45fVZh3IHJ2vh5ys#+U!IbTjJXtQ)D+d&51U9a2mL~RU0+%Uv!sa7D15;M z;Vzb#VeP+Uk?xHWeA7eT4bxA#fgqPTpHvCEnC%0d&KJB`G3UPeq{{G(ZG(|NX548D z)lmiN(XuiBKS9mWv8^eXeI#kWhU1wu}KDP5urV%%*DxU|$Q|oLd z<{&YNpgcF&bk%xGLsC~2Ihcl|rFSlFACuI}#9N;B5mJR%p1LfB#09bc%1?}V8YBQ$ zR4hS}#KXBQO07fbJG(8WRDjobz4>JUk@OO9tQ8r1;-&hP4Ek>8lQP*dERtMA9-F%- zB#;33VNj?>coE|cqsG}J*lH$UFUZpJ<=rYn^~$-$#NFl@dv%rnI8?0udi0h8g8PEE z{^IX@Z$EA&BEOn;xD`>#jAbEy-`zkg@{aA-C5H3X!v);{M(QDQUHaSen?dS_)4=0! zaa;iAb+KuDEpb0h=cSj%Ado(CcVv8Z*Pk7bZ}4gnCUO@nad(p)uwF1{GP)f_C7x+R zJkBfpQn6oYvw2pZy;pz@RwcT0h6CNwRo}oHqsw}!z;ilPUtno0X63=YbjCN?t^DH` zZQR>O;X~dRJ9`Ra9X?zfA&gIAHgtPxi@#fDbyT12m!X$e*bBYH#1x`UVjCQGgS<$w zG-|s1ja(i4mF;hGZp*n8xECw{7%aXDSS_jFa-gguSm5&SK5>KAvSnL#XY?@m+}8(t zeE$aW8XvQnY_p_tv#Z2%JrXhEwRcZR`gl#juXnVk0P{2NoU6xK$X55|IXye?`}#+s*MFl6s)r)6d!rk= zxZ4zLgMr#gsyg93OzG4(DL!4_mQUO-m*9i8 z?`?7AM8iVMj~2^=wPwLKUBtRifFR4~6~E$#m)ly-ieMcN<5@0K0=Ci)rn>hVd8}hg z^PRO4qOijku|NIxqPt^ke6uX)JFIUD5zb)pPJCkp@0-4ZiSh+>!;uCGSdAF;*uI}L zf;346Cz>Sf`xE#?b6_uNhXisx1bk*C< z)bh0BzRic^<1Q;yJ8RJw`DD|}5nM~e4Brbi)6bHXB~!KD&Nt5AQlm&#S66$SN47e) z=TaO>Tb^=M8v1P-yYUZ-qqHh1Nz``;rY@j$ILu*FO6_reLWQMB2g0jiottlHgL!eSM$&l6y6p;N{xmh8nQMzK^*i0& zEjy%e)5NYk5VRjVeB4iyB~1~Gg?~G6FadR>W^O4bZO2&er;IgKHOi-MuRB8s;#;M9PRzi|I9%@R0F!H5*u02?E=b=NReDnB3kK^_TF0fG?(vxl}jK*On4 z^A1Y4RD2A(9E|1+M0Dr9csp$%?MXPI#;=Xf5+@t~4*E#5@exFM>pZ+g8ab|9`}ZTpHDZR%U7B&^ES{$ps1n7^c~u9N{JQ^TIflH~UUme@ zKQHWBx0=NI5zP)`r?(vvPVHIipba%i9~t_CE%Xg0j*<(T?kgALySr-`GS4%eeX`DP z0h~;pU`rPUm4`R&SrSLS{tG+YZeUBUW@vG`WSh*dWYu)T7^^c};%?Uh8<4FJ#~!uz zX@!oEj`fh#W8^2;-tGMl;=#eq8v0b)L5k2Cf+2N{m>jvVL1(sC#B-bhA8$SHk1m!! z&Fsum_8u?`pr|reJxS#l7(R)Y%G;+#4x*#Wwpe(5fx8jPj#KF7pYlZOe=O;HSlMa} zJdA~j2+e?frCC%4Njrf4Z+6kyvOC;>gT+I!(|hO1F8iryy;q#$p^sQ2-P(u!ABqGz z?wF_%lsjOZn#7%=-=y`3O4_72HLnjJ&cM`N$h^G5lHH2J)-UkV7FJ9Gv>tzWY)8OW zvAIo4*=|;8IEma3dX&gVn(WTtsGUpP!ss=Hz^I7 zvyOi<_HYrE@qGgEWg4Z3fVh1TF)5J$>!0S{Fol9SV2$4Y76{7DK%viCgJ{I>#4cI+ zohBla);@^*u3>zNf3rg#T@vPCgzjDgn2Ucm)|SjqBm|9+0S-^R$?ouzn1Syp zoG?)vdau?aMbK$2?d9%!Ub1p_c>mS3XPP=3gb-mGaBy-7dL$cp-~K4qD+I%AE$5BG zfSA`5U%k*a87}%l3$$SnF7^c%(S>8Sg+_|lg6Gh0IMF&}a*zDoTaV{kZ%Yq8MD4Zc z*jDkGSjFeW(Q|1xBpZA09sG7K_D_0sO`bes9C&&E+gW>dx~*rHHMFdiyt4gteAT(A zj7&PUUvIzs@*rlrerZH-`Fcf2_*H`*he30d`z=z$_f{6DS}Zo4pYz$fKtG;qD{#5) zy0{QI?3g7JOTS$5bZpccdB>UD*yy<&c$n#NDkPfTs3F!V79em4AKkdDznH9mWp!3}FEF^kE1eGW!1P*u;pH_!9z@AY)P8o03YW zaKLlBWve%MHlqTw8a^)RPgBoM`o>k>?EIBU zzm$2B+Sjbb;yHx=7_`l{r0ByauUts)6N&;)5ATm)4+p#wC*8&aTLsd8(SPWgJiy10 z+S4{W4>uz)aZv}uzspx8*>^bwKGzBla9oQ)NFJ}xwj0r&L|(XL`~8oCzm;wN@n&R6 zj`QL{n1G-MYayah^L7SdaRQQUS$ejB79OlzrvY{_U)km^O4oDzv_HIo5Uctw$)?lg zmfmPc3NL6q1+c&i!HhO%jQqsRD+IWscc6_?Xs7mAc|VsUyG6u?cN+RZ)Y?eUlKBOgy~x z%}=4YH!=~`cOJ7H=NFj3#sJqCSS0~DP+^RrfZPqivzHk`UDeBG;h)?EUr%h_p3$Z$ zZ@$q%&~=WsuzcQr8ZC%*>lN4|trumOw4^3lywMB<7L2m^O&7wE^Vn!4yvz2&@;ba9 z^?;Xv{25YtK-7t-4!5k)Zop6d0oW&fQ7sTCgqKATD2isy$M^#&2GwQptZCZ_K=t<&*O<-XZXLc4+ED6?enDKA@7=mz>Xq#s$d#2_qe*IwN1>Q$&9<*w$WG$~*~#+X zyteRPnpCCy5e{9V{__Tj|0@$)XojrByZfW(5p!R)?57>>NjGzRKOt-AxfG6WI zHUOS|F9~W@`;K&mqAd4kz(auipQMh&%u(YJ3m}m%3-VF`so@=)(N@p+;Fu$J80Z@e z2DLe8+4XmN77Mg$g#msPuuX*UGcdTd%=Y5O$-H%04bdoW)u(>*xXU@SVGa0I;7SNR zZcRId-;P+7zXF0Bu3I)AOLBo?bgZ%7cE8NU8~h;x3(7{^kpqPT4`eaq*f(lQFoOOxgoW6)zjZudHoU0>+;1Ak%*$&@bFG$&#W zOUaUE_vbm=x#?sD4VExAMFR>fbOOpu+plioVB{50btP?nLm@Pv$-BN#|6XqPeui9@ z`^OfpU8Cn>4X`q}=e~5NJU`>gNlpJkT|-;V5TN1dNtoSh+2j|wz^}HXf zUzLz6gl$suM?3n7%w7J-n@1?8G{%a}{CRqqZ!UH@gaWK=W&nO0#{e-(6m)5 z{*lVgCSnB|o)FOX+5Odl24uH2my$XZ?fGqzdjdaT3VhyDUYQ;17a8N{Yr*$bNgaoi z>1hWItux7;H{yzUp!s+5HN2V=2w17z(pa*0|0&^R(SoO#s@QjqR*^gv^78C)wn(Lo zLz!vdbt-Nj)$`OGEXEqre(E3zfc*3CE0Fi;XiGfMXnHB{#kxv%XZi*;6?u3+8sG;v z)z$RGjg77p^A%*#9j9Qp$zS26)}M8|T+w-$uk|#MWK2*p5l2p?*))aA%G4A9lG6s7 zu9q=SfvcVutZA#1StMf}b;Ov1Am1}dI1^aq+OhePQ*1h1Fk$5Bj~&pI@|8uC@`o3j z2b>mE8Lu+Fvw*M1vXd8jPSs@jd*>gPw2%jypPao^XxX7|{Ap<{KCl_4MLWvX@$lF5 zY4?dfB=#bfAS=q^0q)w7Qc)4mpI50^|zqZ`kKj}H4Eh(&tu@qOzkI(x>+ZBxNCJ01BkKp z^fO2fmd{}XC;pFe!)kG=NQk=_1JvSGe|dC*Zr zeX3{F5VOl-v@aYC?CdsboSe%{L;|!um+z|*hoca}?7b*KU-bzW&P7U3f44u6##8Dd zdW|YVuDNhdxa7UnT{V@81DLtB7A=Sk&&?GJS9E&*tgEh28y5c+>Z*_uT$9>h^OUBx zc9WWdm2&#g03Tr)u~~y45@}kWrw8bQWzKM85-V&TnduqUO3*Y2w&z*&R~Z6AHXftp zl~e*ESX!Z_)4>OQEuK^RrKL~4*_LSmRUHSJd<#0*o-f(`ChTm}Fu(2DSWs6T90;Xh zNy$vtfhtBILu*fJwk~Dz@81|9UCqfFcOM8_1v!Wzeu>n4x36Co&`NrUG_ynW0Vo40b=T7MIZg%?hMHO6l{&(iU2_z(- zvcX?Tq{-A>A2n!N{PXM127gVFHdFUB@GFGwb5`I%ypNk;kJ~f!=8Vqzb(^J&rOU1` zQ~(H+yaLbwJ>5%DZTo}f(k?Th*{W93*##Xfz3_@0ZrvlCt>SEVf#kH225SqAI}ChjPSw9T|5&r=*q>uMAzL7|jI{wqY>;Te)-ms`QpkcN_>#i^`<6uyp9800y}-V)|iyBQa350oAEh2`Fl$T@w?yDzqo(i zAlK(l-48C2dxz1A{Pz4OSe~p}U4y%0PCtHPYJ1ARp@j?W1Sk{P3S|uHCw5nayfu68KC6tA2 zOOZDSi!NmpZFjxW$3UzRg(IV4LP6G9tEr+zZUNWR&(0(9g%|M$AiN1UA>S0tW?P^7 z9jbDrT#)v5znnckdXWBwo>yX0X|UYkcYSC4K>naQi312htPiO(?kXQvIs@UhoEdx~ zy!4slq+({mU(d70yJ=1PWM@|2PsUcd0ylMr*kL44bQ85VNw_;a!R)+>a{BBYq_CS0 z-@EX|@`u^t*L!CnfF0&X`LL^m42TlI!fWTlThfxm zvuJFNcx=&#Iajq&IPr)^(VTfsWB!=Gjh1GV9U!q`+SusIE5j+rmfW@x?AuPm0@4b5 zC=77Z3S*q(`GXHLtAQ=%<_c_-rUS(&gctBfEjndV^C@8R`LWQSSWK9TOI4k&*}OQw z*V(x7Fe(mdJ28N2fU1*e|GfQn53uHGzyfXkKv~3&Dli_Upqwju6Se4$7pr&@4r&t zuJtat*03$MdtQljUJjpfE|PWMaXw6r1>SB727-qrUZo-2^X*mFedLF$k`jfu;%%N@ zQ;XuA0spoohhz-1I@#l-{#$&oy+6dE?2r{xX&lw6ck|8#e;q527Ot5G~?yy-|M$yl{<{@ZjVK3GB^q(czY?QnOuQn~I0 zd`k{VdHID7c$Z7!>cv8B93D8-ODo9{<1ExnV9Z^8%>y`v4&fzmq5#R95+s&yc$kRS zZT-3xLP>%SWra+rfRJJ-fF=STh{&aIbrOrnVzQypMIJUfCqR&!1?dcwNqPT_2$x9uc;ZUW z2dk4qN#l9=&epzrmiSDdPZWNizNIDF<2r9j5^U#;WeP>InoJ`|30k>iZ|ocfCm0)gV0# zFUjE&%OJPOak|GJsss8jOW+mN^X~ua3otfkiXx$h*WX`#-z@V;fcDGFmN4@55HcHe zOQmt!E)v-op(`0>fL<=DGKKM<^k!~g)>yEz11TqYQLJ%mE zhy?s7J@JGF)qzx#Yn;s$x4dAK!f$&*TzY+jEkj=?$qVS2aDdccX%AB$q&U-kibJSU z8p`JHVnIIm@$XR?1h=U+)!+D1o&;oW<`{U`YN7>srAx=q&XUJ( zo&g`)X>$w&l-^i#Ve{6K)D8?zDP`01ZfTtYc!#rN-1Ho#ZN?I*&_eDfM5J=!Y+o|j zhn-48h`{8xad`Po=Xn;wiFog{neW{0YbHYtp;e+h$xBuPK#=Dl_(7rMzyY0O%WxZ( z|D^9YV8$ULq5P%0<21OlVSTeE)kk_pm~k1m5k%!M5~1dRDt~nHNvM2gzE!ivxfm|6 zp`Mt}+&m8iS-rhOlN)z2XW>0MuBdmhPX+I2zyU@F{o8EW<*L>F34!5JOzmQjKQ`VZ ze;y0yX`LBeLrwiz5+%Q6`i1m2;!0-E#mTVV>X7$C-prghE3_TFPCmdNO-rPzT zMAO%%L*F7hn%QdI92D2{3_M=5@f*ZTh|EwcPo0M3dpp}g0yvWGHOv7kRv9%oxn^o1 z9(=n+>)VwNgG%1Jw@uiM@4wL9B{EQ^dJ{*mG@@#2B?7aG=tpF?_V%- zvJE1_r0&9g$vjLa^gY9|cvs`uv^qds##-mih1w zmbwuK5feLlh*gQksUb12;qp|i&fs^FN_fK8Yn$NwZNGXHU{y|fQ_t=ihn*-*Sx-EU zy$(&Xhlwzb@8$F?O`V^-i+gB3N%I%`9HL}S>`fnmVVlni`u5B2Dr++OFT1H zs3>77ky;*s)fa<`O_U!6DGaIl6(8T4IKX^K1b)4d^Z`%x8@0@Uh|9fLWZqwNspkF9 z{3uDX@pJVIgH>-Njz#d|`zqzO7)3)$7~2Jt`=*tGQ{NYx@rEkzeHk9#XeJ~z>Gycj zT3sZMp*}^GU;N7rv!FMlreH$w_oeug-wzVxPm%k9r!S1JcU>PYJMVF?#)5+r8e!K* z$@iA_pEE`-Pk(&C0}Ct>op0mE}9?EYO6L`mYI>BmMDD zs7EC3PDuW5Hg&InyrIC0$mw+L-IQ)_vw~m$0MDXI&fY+dnm#8`1;C!Bn>N4l1CRGc z%DV9rvG*7}n=5po9V9eo5>6Mvy1Cc3Zpt9ykAaWh5FrU9yPkjIp z!dRoykI!Ti3Pf)sWwpSgAg^StBt`|E)?d*o)n;SP?IuQTE+4zk$xu;27D;-HuF-46 zdHp#KsuY(bK`-V6yqBC+zZH-KvvR((C8pM$Z;1%~MlkZ_x?UmnMlMD}r}@kav1m?* z0X&K~A#HB*JKxzI{ip0*_`2mo6Ilgq7qs(?N8n8Y%h>|7*H{36Lf>0u5`Y|f5shG7 zRgvSO+veC1Rk0x$LBLG*tUhK8z)7CQEbRl01wKkdziO$-F zhL}wnDa$p7_*D?6Kjd+xo%?&sOaY#te0 zT$Y&!)esV&! z&P43uq$xP%JwN_lgRsvW#v0g{P%a(BYJ0s8YKOmqBadLQ~KUjQB-DZ zIT{$imasnZg`Uv)uCLul57P$8#D&d&;hW-%p?A{ev~zHjalylXa_qyQ<`K;seU8#H8X9IS?W-y^W-0kcw|@(!6}H}Jf6f_b>(Pr5>@St8gl##X zHR-%dLowG0$m@}P$mbi?-FcP4E2Sh@!rLK)G_~wVq0->g&$kW@O_f{k3pkw2J`X^?FVXlu zW?z1n5O`CmlN6cyrBvdft6ar@t@=`;NxLj8+j5*Q-u$C^Ga8tUXJy4{BPfL1XSH|s zzKdAm^lRsl@dFfg2V$4-YggOA^P-0n1C*6E_$`PN%GG#A~vh_7LLviG}UR|oSCvd`UC#f-Z6T- zVU1PaIxlhvn-;!3e$||Ly3h#oZJe_!O`G`;{HCBIV0Av+v3)|c2_4uhm@fZ1d)RSa z~zMX z66U|9#amqw=(;r&-e`Qt7rW+;+!{UXcvxOQz~$;HIz8_1LNAwFm+S=Ar$29j5SaI6 zdx8b4(QKfDZ9*=yac>hiJx)mE(boXP!8+mm@nXq@hzGuz+-F5fPM@Ws- z7}g~e|0&=dnf2lzS(?mvE9BO6ID^ucxPcLEfR3MOu~YS3)N^keIEI{r zi%RTov_XpDu4^nhhM^)BTXX=S6HHSXT9|blDXXWR|m{^I|kymT3w64MZ(x zmjeP1k5GZ6y~MKCt>q@k#|)2XP4?GP#9A- zt2%sj_qd52IFwn4x`}*dTiAzjc)V0-R4C&g%t&hX_h{@cm{v z_;kp;``-RJbmhWE`Q{)AQsM`ifRHr^CbELkJ|p>=eA-p4LC)OM3Ni%ZV&csjcp~>y@~)2866V?iV`m zFPQ@I-{YY^oJ!nm1#TAIufZN#A1L4CBbu7+;D^XyUDj(M=kn2 z8hg%LJi7-IQP(r%eH$WsVkB<-4QJN`(BA`_%jP@O89df zf_$o_qNwxrfxKTM(V}bH8+K6x;m#Ay)%QY4!n`?r+`4L#r`$CW!JTImv_eDsw?)W( z;i&U$j<$PMBN9o1Jc)J+Hd;<@UQ;C9Q`CV|Q{<326qkC8zEpxlxVkPbs#;!7=_|XYcL{f0Yyzxf^>iV0o)JTKf;7&;+( zVt|f*gF;g$*1)kQDFHXT39!4CG^?H(GnUg6|0h2V#o?ZLkG;}SB>#u4w~UIT>AHp+ z4X%T`O9<{ExChtZ?ht~z2A9FY1PdB01h?P>cL@-j0Kwf|-p+NeXMKOZKeM`LrmMQE zPE}X!ea_k7x(U2duuFcAnSgc|x0~W_vA>=Ls%cJsH0EHV`zdoZs9($X{bhN7_8&)b z{?{%AKxcUQW}5{P)!?Fr5_Qzu?L9VS)>?~4k=Q8SyDxwlKcgqvHVW>KIs`PiM4Giz z<-6eXWlXm1qmUR?^p4ufjE3i2$q01xt=>D$AE<`p)Y(Eah_UwIHmY&%xGzm65VJoS zERJq8tWwpm6hzLYU!1SB>YJpcQ+pg1GEa+)ySPZ&Wt^GSO-nX%_4yxb4tYG9+-=tH zTaqK|pl0ZUgu3dERbSC94>fnRAN-%I6 zg|SGTQ)R!(3K@4J*RD@D6eYglmH|y$Fh2Ar1VaMo!J?0aMj^TW`Wnvllb3-QRwDE% zu@06@&StrnwDc1Y^fk`od}AA71CO%$jyDbHLE4a{Lq+=Ol|4ahy~iJX8XBb~$;~5b zz?grGAc%OVhQ(E#2|rFpT~tgU5HmpQ{{{{pU~II+@xcSY5k>Y`G{c7)Y&|=&DJuy7 zwxOAGA3Y#?7!Ft7@%MyW92vVn9P_47c5o+O205;9Vzxa<`}-;(0ODhfUtpMUg5?NV z(5V_4l#%y56{Ui_Ifs#c=I;*a{28bnUCZ3y;nEJ*BIB(OIPufz`_&c`QH7Fbmnki! zUh2%!9=}N;vs3^kJYKcR1|f@=L_k60cV+@keC9Hc5t6@$3@~TFAqoX!fQUYpICBP} zz^D9OAlFv^fuRLFkT&3h>*9APvj%sABh#V>nDU@D7?w$!#JfWai>&+-0Ca(J`QE^PvR6LekHs{)+?;KMZk-zM$yWo!)d!BT!x0M@idnc(;GyZFoF7F2K$XrP^NvwTivsw-MhggL z99;L;Cew8JqELuI!x({{Wv4LdZ2I6;Ay>BWuhTaS{n8pVNFT*9W_^-sAJPSRg)UhD z#E;@>IFd@drS#OHK(rKRQu>eV!jms>XhnMj0PYJ*8MLc@D$M*G)40EvoRMid0Ux8M z1{nwU!>gZ0v^KFOj+F=Lx%AJB!AEF&qE7kpJBG)$=B7;)h7W4#Y3pig_S_B*UwpZz zyQQanqcOmPh~tyqR9kG#J#}u#RwXV@GrsbA!eVP~AZBGq?Vbr)3Fn9jFM%3}mg{a8 z$e<<+EjURDLl>R5iHaU$iq*mi?kxBzZG`L67=7o1g9xWo`Rm;w7T!mO6t$l&4*_S5 zX~+_i^0Y}@eC!_t7bM4Q4TAH&aQ0v@MsW5g;s9?`9-nRs457iOu~zmbphGaqoEZPQ z&3!*I*J##XVhG~abhS*+Ij7`f4|(P=re+VS3 RkvssEDDaY8aR7?UEDipGYK&Rf?7*BF210OWQUJhN z&4>3mKc1XXfh2C5bO<+z4rto-r*oz9Bj!4wZAex}RDd`XOS;5doz6W9HRqz-&A3vB zO(PTq<>0rvNND*L7obL8b4NER{*8#ATy+QtnH9|ikeSf|=n;Sj^^}z9mf#Ua47PBe z8?bdB!NSRPASEElZ!W?`j54e!RHAwn2u&2k1L&b~AN5nyE(e){O(WwqGVz)W2@;zguwqrdU|d+mgv_+o_VFUmh>=-*kc=11(Oq@dZMW=j07f#dQA#D zggfmOlLETEcg8)5Qk)=EmWTK7nov0dQxg;|qB>g5e0r)JK`P2G`1|{(+4+l(XU*p) zubk-g;rP8j_f$bwv(LBAZLa%=LLJId5;zY%2?3`kRkx{?q8%uHvNjiqyKqZ+;POm} z_j$j{jMIwU6grMfr+@BF3`Gp~jgA$%gIQS6tU+09MZmUu-}^h!wtkMu)>`HT*|f84qE@X#~d6MY#fD)R@D}F&h5yf*|=) zkOhdVOcS&hm+V&aD7jeri{?_Faxrn7{zQBMpq(XZe)2)d73_mE-SHWXzc>EJootE_ z0iRN`svJfSz(j>OwQzu$nj;h^3VHZJqW=|Xnq5(bcj+=Y#yAZ%p)GTW6wV0xl+=dh zdibrTo!NJ>K;f5+WM*5vPFxBu%t4~26*zji)L`1;h%U~@-3@Sd0B(x!1p(k;1)#Mn zrg=yYWyA6crYP_(e`Esyd0J&a-i>Q_Lk;-JlKC1_Hm)5zEi(G|!Fcxv^uEv^w!9KC z*KpWjxZ4(lqx5T84Ifs}b2B(sP9DGZ<%k7E_}z?TlT9g2vnlt@>h(-86VLLIccK(i zyK#QYll;P$*L#Lfu7`J$bHn(=(~2EMFNcQ|j2kP1hXhDwl(mGbbqu3I$xXOUHADeP z`32ND*C-`)6;}FxEzAnQweoI+5ypzxSH~?#8n#1ldVY97;`HUxQXWzb5m9j7xP6m= zNQozo#8E3EA`WT{CyR@7YINs|$MG9VY@woTy<-D9xnrG%Z)R@1FoHk9gx+?Q2!t86 z-XYqAObM_S>#Rp{Ra;>ZS~JF{5Cl|;VAoDmDx~0KGUoNVS$xCb7#g?aS-bxV4iX|k zJrLb2T4WpfkP$|Rst_-6&Q-cJ-lX7vJdryal=~dJQCMj5SpVl?jq2{f9)DI6pbx3~p0UJ`Gzda=TeH zn!jr|^J(5CfsNOG9iYjU5s`ygMpz8w_ZWgn*$&LJtv=q(!YpBo=d^COhJ}C5+4^f8$6ftljC#n` zyyhett2oL@wBuO@W%E!Q(EZLEx~~b5nSvNJrBJkoWiXYDG!fO=VPz=ly{-g+ zyYkP)(-g?7)cy8tAXuv+1@fhm9RXM=;5RX1WRb04+kL~aVw3ZgxU>NtxEiF?Es?+E zOSUe&BLzSzNSBPO@1Ws_KkBn$1(wkN*oX$<0dmHvuG0PHzG0-MU*cfd_U-%d!CK#F zV%R@90H!5I#zRCye98IfslFUjFto#5tDNPKiYF>sD4CSOtMM_{jAl?q*0zo*Q73*P^E%g@Arf3s^^Z?VH|g@wRAOyz9gogv1eyx(?g`Nc*{F8~ z#sT<9dg!{4hP)D8g7NpgNyJz#_((+9hLF}654jZVe8l2&893^S63l3+ROsL%S!E)& z2V6sZ))kfc43|%MyQh>?HxdWvLge6MS&<@a1~o!_9u$>ljI_P9yAQ7=@Dl0OYQ$5~ z<2v&cLjulxjd(AJD7BB?)YD>d zq4KNCBdsX%6BJU&MTCC(7w2N1PT;Neszz1p*N(l4oXd#{w@-Akj4;RK4BpEVt+uX! z^=JaH=22~48)oURmLV0o-e^{jQ@uMh3rIVk{NQA`?le(DZod31-MsKc$QYU_dnnG< z-)9EZd%YkpP?!nkT1Oz3MLL@@A>U@h#zopH_A2t5V)mFb=wj>GCTrve@r)`@^2J|i z->AN+FS5t#b5BK-{kpGhyk1(EaWa@$_HB!~xy%;&ttnZ4koFaLkw!f?2Z~nxNWjDC zCUl)Sqaa-rSS?0MuYd`K6x&-J{Y~JA{GthR_As6U9;>Ur3E{+}Cz5gE3h;PH-*nay zv9w+O!~(=AM0QIuWeh5->h(Qu9tV=`?iXyu`U8F#T6$xpqL1L~I)LFH5oLSEj0kuM zQ~5*x`a&_J$*26ie!I1I1}@YvNscx_8qN%ZGSz#;KEh@pP{a|5y-T{XzEAW2d;tm! z1Rj$}g6WX3QqM8Qb2ZG7tH@0nMI2}7ZIbhq{`^o=SJo8}@h5B?D9BerC1)MLh{X&B zE$trq7mT!+d)jDitk2?Hfk{1LCH4KW9Y{)2tEL#Qdz=I#GsyK4iD8UZA?-i3p=_8O zpV0*wvr4Q&%$T`3xLYy_zN3!}$gdLjF!F}7af0VlS5EzIhS(06Fd98lF5a%R%>}ht zQ;KTC6jXR#Wsa}~rfE3}E6G?H-*`#OHVq*7#*!2*Db;-C+#e``oI}FxH$mb0Z|rX+ z>kYp$*XXnNWx49fGEaATzj#(G6)Y{qmE3eyfTPN3*JRVh$&bkk%rW0a$v0$%;mB+b z^8uZ&Z?=c|xXttjHc9hsn|=X+)K9WIjwFx^hXH`|DaYp_`rZLPM~d+K%k7=HF@<+> zGn-1|v7RSX_0Th`(uRxzlF|m!=a@>iB#6|xhSg!KLuR&1I0 z9$>ooWLYYsz7>lUBRP2Y9Tp3rjl?A4D;(efy(ovT9Q$jtCK65UlJnI0-wx7tPgojT zvcK16TjZfI;qjlk5{%d&4y*J*B^$ZebhBDM!t}R8=k>4>Gz-i!Pbr8h4UTp2+wt0w+RPY=AVQe!c+ zCP$nYbrH~6SC=5=*909SW z|6J&Ijs3jo{M52-@`DfAZ_8nvik!b#F--;%9=KKcc;o!o(Gldnq#yPM41>7&|4Ap{ z@Wi5&3QuOiSdSSCcPJwngKPb*3r&`bD?YRzbfC3lZ!z2iy?_taRN)zWt8lGdr}l0N z57~qiGN2>@$FGe`s%u_!R{yP+OHSYXRz;PHvSlq;q@V=waPyR@Nx-MrmR7UXV(atp z7>B7kzgJRE2C+{Z1WM@vtr#vCPfNsZQ@J>}@#fWIuNs9~34>m_J<^Ah|K$tl4wHnM z&!eiSTQ8@(%Zuea&&+iMLxr7Bfq>ZV1y=$ ze6&i#Wv`M^(CAOS3tzaMOgd`tKN_*7kR^K`0G_6%wJ|zLwh#xWwa48MsQZRcK;lu7 zdEFZTQvyq)hUV@IZvo(H6$epSU@1z9h8|61Yn5=o`d{tAp z0&aXFy({=A*;Fp_ByRZ;1*NzufVd_zM~%^_Yd)y+LAoi^P@sQW$;r?!D3yW~eOO{9 zhXxE7Ht268EOw`dDDst9YsB237NZ0dup3x?jSn*KxYZ|Str7V7l_l#Oh3O}8GL z@Y_N)I_psVA~Th74B&)K@4s{cQP)P8vdNJDk_#|xwRR)C)2gKBoWlDnMW2={UgTj-kr%Rvsxk>|3~as|Fx9rcV#>u`zCh(qyA@)o9nt0@1VYgvT6pE zj;DmcRhz(5?9fs&F}RBrVWx~a7}qu^b6r5+BY#CQ0(44_pkUl zDL^S4ERs@DbL6SpSdNu-b^UnW@X*@~~6_V{r`U1;}zJ#xq_u$+MUYA>xs+c8Iw|B5j2oiM1PJ7(tNV9W!z=Rv#^Eqq8@QWkEwrh_X0JH6*=| zoJXWNk`rP)f;j>ly*ZfbR9dIAp-8yJ0K5t*9Wb`15Qy1ubJ*#z_aB8|E>1wdJTZ+H zOaR-@Rk3NqMN`%QPZJTgxm#3Xj~~`K5Cd@bQPZHZbx%4?>fv_sy;`s>kDliOk~?o9 zuiUkccStQAc^5Qh`S>TA8SiwOrTtkmRq7Wg!btRAs!xug#l}GAS2FfZJ{yr)n-;~>qUH{2tO2aBEM1!CUuWk(e#j9eg33!(=lFNO|v8Pe#?&R6e$TnbZ2o0FG-i%<@J zL8`BY)2D0sO@%_9> z-ij$|rHfYw&zb6LL8wv~8i&s)QvY^oMpJsm&m;ke-+qTXQ}L6A@?V54<;*@0h7So` zW9>V6@K)wno%m<8dsLr|wsp%Iq%dt?`lSW8KB)^8_&my|>%XN4kjz#T9`g5luA;Gp zQ$Q2o&}u(7d)TFqtIVYlDoD6U;_fb&GnXQGzB`g=D_8u+_my*aHJsODfBnLC--V4* zeGM3~HGVFCi~n+S^YWSiHagk*WSG&;muE$8Wy{vz(uh|-64v^3y381T&m;KW=(~Tw zb=8VaYEo+;?5Ep9Si1nN<%kn0D0A4Pd3*HJOmhMrRKJ}k@gqV$yGtVHeHU?lXD2eO zIot5kWO>=oiyBmf%`wV&ygOPss$Si^4Dxlk>SvNWgz~dgiuJE8I`DYqw2FPNSMSp) zOl+@dJK38dbDyIaiUx%-1D@8ki`(}%FDt)0wfUZY)vHvb$dm86S-*Jrz3G(@XiMIT z6ufk?-gPyz+%MKpc5htqxYYFWnCh9DqWzqE)_VNUoS(OW$jbTIoelfaLdSEw_r=QK zevWa*a#Pdw4%EAKd-HPqy~!Ux_ZJijk>I}?E05niwQIjV`y8%#eRfC0&(Rj}AoX|k z4X{zPP1FdopI5osVprfV0-h_PLGK(c&hI|Yj<*Fq{g^ND^?58SBjYd;b(nT|ZyaRj zT^0ankT%Q-kJi7umU$r!g-1AvV)1RP5T_)^t)TmvdwU~Pu;|O}*pA1k#qJC?_qeszCx{+9cgOARua3vlQFY~i ze>j`+NtWM{^$HEaiI%4gserSQi^Nl4oY03VR-xbPe%p+3^)`)HPMU8AnyQg zw#HtteqK49n87~}=DUqSfqsU%VEYF>-mW`8KQ!p;BK&vK<=hcy^4~*s+_@ih1hyGC zF%N+w%zR~cyT9c7T5Diynnn8$u6wG+Yx`HPs4J=BhkW1uYsK68bg`BKKMmvOZQZ*x zg@5A+Y~v$|@7GfsJ0vW9ckmz?`0@A*r{Ezo00v;*9k}*mCt)kw^WoJ zVkKyxNNQnuct6LrjKUP=Ft5i2C5_BFBqW7i1=l;KkpHtycH06zgUpn&wgB&F@H;jc zCT6^1dD>oXhvD;toHo&lMnv_YlRTyga-M zjg5ltui`7BBJwgL%!r%Kb`T}-5To%C6;^q>$2cl{J+U&^(dU2ZDJE~xbTcyNo2s8z8@yZhH!f88}0)Ly;z^jB z2#=ls6WO-~Kgyd7kZzHYT5O~TiN!{5xe4lN&+Wm z%0H&Y&xv&W{FTp|8-)!*e!%{!y|bDaOzN8R|DXm%?w$d8C(JofCa zqm@gb^zxnWNI6EyO$qr}dA%1=q7w^rlXQy0vBiA2iGC<6}xsSsQoRAg2GqsuRSQR}`csjzr6E(`)QmGQw4oo9gt`c*|Jq zuXAP}ZKR2de%m?#A8_Fi509pv*0O+LB>`P|^~vwD1}*n>q~{cWn95+^^?{h>+DBq+ zoY;O53=G!49Ox|gu}#50NtJKW;Dci`k+f?`Lp`0p{;skAa)U;?$SpM#*Nvgu%Cd8v zGxPWY)2H0au8mXQ;RYwXn-gKEB;}>mwc`hZ_tAHcHXeYyDReBNln)UTV1EyR1hnEP zq)%`k33;b9_atWJ5x$RJc-;1Q&Py=fKl~ovXuMOdM8CT3D=||JD_QmvZ3>@7k9p76 zUteV{2qrl+R&y_7u*Wu;h6{EdS9XZje>)AVKG;jlyn^r}Z7YfVXw~!eqvn-CTAI@2 zaQd`BaX48VaR?ry#0x^MXpCK;be#rdS3Fcm@T#wU)UHKhV`Ber(W>*?BH`2KpVo z^OvEX0NcM}V9bla{_s=)lzNf>JBKn=Q)A6M>}Nzd0Y0cKEOdg?pz})NS9S-*&i1$W zitnG73|VcP8RQqH1o)nRrl>U9y#%8h-%VgRbTH;`{CWIVvTFoUfv-Gvf{8$9#o8$S zmb4s$%M1#OO5S*L3F7d+{mtgyIu~9a`b|$+qDAbzxJSz)%fBAXo`vgtjaw@w@Sad> z^jl*+6&3chzJ`)a{e)SoZbO#cMn9AG$rp?*p>yEFrXgstz6SSelfmQ=W6wy zp_(^DIj`L5|5h z@3OzYlOHP|CQ#rn!`#fw!NPynvHm3bu)Are$F=|J@IJDi($t={h|Ipe6doW|u7`Qv zKdCRx`r2+#YS9oz{%iZaIK>W}=biQjqvRQ`g2jZUW}{DhwQJqEk2v%*pR}gLQh1Rb zL7mUVnw4L|F<7g_sLDUN@bHd&iVMzHN@((IVV|d)YPX0{v5lu6Y$RKV8E_-rULt8X zKJe6He()(<%4v4Uw|;jBy;@%um&i`SAv46CXgp;h1GJX4Jo?S`OxWz3!$F1W?|fHH zsc7q~F7CFiZB2%|0}Ex>+JJn|7cY0-p{|Fvk=`s6KzL2rfv4#=B4_&1gh(N+I#8@maKLLqUM>VYR`-8ygi}Q zxOhyzN7h+E!D*mbKejB}j%GSRSxOEpDY2Ij0JntT%;JIvGu9W4gntBbQ80m))|z-n znh)RUTIw3;bgubk2}v8EcZAaw*JbRoIv7rKNBYZzq}pDhXj_K`w1qP7_g#}8KdDPy(J^MpLLGJH6;S%bZaZMgF21aQ|E1D{Pt_uLIJ0x zT&@ch)oZxi{JvM-0yKnVx`~1-sU^L4I`My$#Un3EZXMP zN1PsQOLr`$d<38J!?c=XFxmDnI2RqUvt87DL~B5YYg`71nPl z1%#(J#Mk&=MqhtbYJ7e5DhXt$dG5xQ{<#p|3DTG$bF?%DRVv$9{bRO8;##@H1=T^`WK9Cd4enk1QT84xP}ROK<+&* zBp*aoUI0C~&{c;w96QG{7SbjYRJdr@FE+RxB2bUYU4m#6wr}1SiuD|CBQhx$v~T>ls9XFuZm6s}VR|$rH5j zc8Zqh7&(f008q~+CXy4w#y5xWJZa$UCPo0l#4(boJsHi(#dC2ae!)>Eorv{3zeQ0H zEF@==P4M9vHIYB!`8YN7vsw^9p>VLnVeUy2ZfYnfXZ>*ME5Z+IcJ>p#+v?!NMOB3+~>co5>> z0jA4H8IxJv2*_d+A2HEM9+z}{*GB*O2;oQFn*oV>i>5#dO_nia`9eV|CL~}9rT>r4 zPHj%N3yWV>_!PNAi|Ez6Umgemx8XB?VH5ov9r^VY&Cr=b@H@{md^{(KKgbr4WyE0r zzFo&#UWE5SQemR^LIscb0a#b{pKL$&LOEx`TEso0=;%w=(wNnIp^l+WFTBUp&2y6- zLowmVias*Qp>;(i!V?d$Dpi3TsPcT_3I-|TFh#6R z7AgGXx@#y|4B_(q(1F>cX-4BMH&ANvm=9TrEEqtgKuIPeC!C)>2SlsIc1+S*!8xi#%tVnV#u+!RwRc-Wfp}nIpXDf;4CUMjV_(nh>7xA%>T4C zCkbWv@I6^IiEDH|RkR;Z(0Gtxlac|woc^a&%j}x+@CMy!LYQA|(XkeS5ANN&rD%MjZL zXVyjxkMA`i@M9fAHgQ*S9@^V##Mxm^q9im_52# zp7P_D&Xi$I+Bp5Xiwut+lgb~`y@-tW4C|+^G?>83(F1)5jY?ag^^Ij|X9}Xuh>b6k zrn1CVlUCCJc*<_=>-l|B$JMULP>E^XMPb($$!8;8(;13cl|xVuDr^*^XBAxorp*KD z(&p`5i@-|71aCCWSfKVR>zyWU)s#8I^yACbAEl7mi*?>eGZ#I+2c|FC7*|tJ$9W*% z{IZYbV_Lp>2(}wH{Goi2)5q`c=$I6*uJ>>W5IPA75L|r!M#N5V!R5Z%TOMTU$T`Q-459aRwEN`^Q%dJmXnea*E&hB+lP zlKb(?e@mC|*=Bt}1%zj9+PgHR&6_(*^|65>bVFL)aWVM5gs8k1A#!wzYsNr4q5 zI<&YsEJbiYIUi3iuZ(FFU6ck)6^6bmEmBd!n9L(gMkfU1lEB{FI9>OUM8y1#@BbTa zSmDJzL%3;}!Lq@P7((RQgztw|UezQL`PW}It?4QCU21n z;$;Ol7)2(x5)Y-SnUSS3c(DXm(H0M8%z^{KN^{V%kUokx@M|mOd9v(Jo3CD8dKFgUTlkwIoEhHBENxUo^#?? zX1vUog;k{~Flx8k4W*=RJeO|Xs<5fXgQWI~*Oe}5r%8H*uL7FQ`T*YU3(DmTy2xVh zz|l0UnMV7rM^dJ0aXtiCwHk-VfkkiL&rL?eu=`EQwZ4<){lQG-+n9Ct#rVj5_aP(-`|A(doT>8a}d$XyQG?6rUp)U zs7IU4Hy+F|Ft&3XFFHa8E|@cS!^cwhl90`wl{4DBHXu@;f-Lgh(% zknsYMK6_u(TMriZn zQdFHYuUZS`&vY*|c~&(`7%97xDPpz&KZMB~M=D=MszkVWd|%ELgi_UIgF3qbZ2ShX zgxYacbJykGs-@?Nr&Y83i!#lvgMSOvPR!Uy==&&6ge*#YVUt@<3AcilNs~l!ncAVI zjpFunl6h2+nd)fOJAKmPRKP;rqbyOucscuZqj1%4Y84EilTktB3z}Yl zK#R8_fojDs4qDRz|tKF{r{Cn(L$k6)gA-=-l7Q;Z!w1sfGe0@O% z05N!p=7x!He~#8cnriI(dj#$r4LeP*F+GyE5oTX~0xg`D4NvBU6t=pylG_iKi17NG zAZ}(3b^-Id`2!C>T;EHWa5=rUMo2`2q1K8KjK=hap4~~|Kd&K_Uz?76Ep`vYK*VZ} zLV^qaj$DkXhck+RnPs2Pj4wKqONe#eQl4&pHcaLw;F(1doL40o@w9%o6n~BtSp*(q zsoZ3;(+9Z(9Nn#|wqKx1m`kOGXf|d?qMnk|5klbbJ&7cbv~0J-s%W1)cPt&7M=gcR zQ$ghTBIk?BJ}#I*ipJbd#PrSEU&PHS`i?lkRwuzT0t$a|xfDpT-<^wCF>Zc*JtX~2 z{c9*ZY|hqIl9d207+aH(_@i7OA~ShmE^}If+NoMF75=KXe^i!ucqtBslvzLK?N~R0 z`vK+9*QbkL2LjhuSl>XYTru6P%B;*h1-8y*TGZD0BN4yLrysv1Nel`lt!>;+XNHSM zeKD;nZO+4IW=21AWDm);)XXWm?keTAR=KP#*WQ;eB(XK{@ctyS0f%{e(1#X}6GDJ{ zD)#)fz!has0#>fY4Y^51`Wr8&>otno)%uiKlWdTXsDEB1JGGr1-Ou?SJHapf9;&dd znHoNSxL@FUMfuD*WXJ!FxiW`Ci?D&c!|yCb?X@(>3a<&M9{t9?2B=NajTV|Owr;z1 z9*H+EZO#e{FVCHG#J=$xAk+um*6CH|wLbZaHa0Xrt#6+Dwyl}EhR4^}+i)09?_+*? zl{UW3|ND3Lo1kbc;@k*D4Mw#IwO`cg;@xReXp?@~(cf^VpJN`xceZ0^>@gx#j4Y2jg` zh!!Q&q^WhjFcXBKpftI%!2$j;X^<5efL#U=F{%jy_x|e>uQZO!@g32W94+1W6s~6b#g(gTA`PXZj zSg;+s>&jr%FO{_BX`FO$W>C_z!^juMSWD?X8P5;D4s^xZf|?fLgJ+sX;=kx+bSXQm zJH^z{PSEQ(3|{9P-OrLbUrP8qPRRt?Sil%h!P;cjcZ6A%64+o&99{_yuRv0A#HK+2 zM)}51v-~x`Qemf4d8J6e(@+PRb48_y-)YTO#dNs;dk>#zdQ?tEA@Bi)bcCMTJv)z=P)B6Oh$rJ&)aH?+Eh6rs#WneoJG)GFa%= zv;^|&AfuiyzQ9wK86gj~o7|4|*nZ zH|0oSshWCQ`&uA!GppnDXc9aAV2DdrQNRJ;%Ug z(f{ON)TR7TKYI5|eBle#KL-?Vl_egCuz9AX3xq*2NaW%EzSR`Z z@p~MawbYpP5Mk@$GqIV z-z`#b6rc2+U$)4F&Kz=SC2~U)E_~noV?i32DP}T??DD|SVRvEk0%IQK+WC@};*olT zdb;81q+>K7W&-D%AFRS-PcDL$?AuZ)m0oj1*D2Pj_aAQFYR@RF&zkyt;OxS!1%9m6 z?RTBtS5(mG{$A6M#ZWFe%0mdT%A2pCOp9Qg#-hN|n41Wfotc10X@<$p zaJz$d0w_2NIP@2p)$Pf3*I(63wHXU2gG`K(N;fCwzn`n8N@vL;?DBCCfGG3g-?kY= zdd|FyN4TN=moT$5@ME>E$zRLC!;cBVb*iFHzjAo_uLbl&{ogt5M{I7BYb`dL(W;UG zq)t8^3%@bYkxYQxNu8^*!}pDHFFaAF%|cr+rOcM!J9jLAj-ncIkAI=o?tgB5|F%d; zOug!V6Q zg-_4%YnseAZ&ly{abcORe)L$)jnXCc7$xu7DICxdTIw2}l!2aRRM}BHo33r2UXtt1 z6yuJc!n?TD1~~;7>kjS|O))=JQ-TQP1z^+0g{uKK*)I^yXycBUYZ34GO#>3Ri)H#b zQ{oXn93q0P#LGj4k}-Lxx;z7&ISfY&sUip|I(gr?ZQ^hReW8<6L|riRLgt()34b43 z4^8!7`z+*Zl{fxJ0`!3GyEVZYC)l3atm6!tM<~i3zo5j0uMt=bU349 z>dBR7fL=1cv>`iQg7pXv@?)pjRy*d818M|P+F^HV3YD=b(_dK;012EnV{8!W2kE^_ z-(^nae>VUc>g+N^rc7t$crfJ$B@kSQi3rgHOL+2|Y<{c{XIR;d6AQ3%M z9tX@1v*swBOtx?(m_57aVpv(f_B4O;ER_9MxP(&9gM8X|qO$Kp1`wQO5czS*F>lu; z0s>pc38I<+G2!3MQ@a>0t(`wP)UmRR#AV$ zjUoiyP3w?6(pKMpY%gzF#=fkZT-n*q#R;036-&rOL-cgLN&JZy9DTM5^Kh+%U;fHz zg5DZs#u*_qIT)QLpEtNe%#ZTXyry*U^tV=6FdLrh-HEWW*#~=}9rd3qRK&p?UxYA- zCFLc>(@1+*|0?E9%>Kh9+`~1BbRTaJ`4xQ9sj?$(#IwX2_8$l*WbF&>^GiWbdO+$!bV6p#--hi}WxR zEeCMu(gQ`5D&t%SfpJUI?>W@+fOtrtv~g5W)JNL;l^4gVDBQ4&?yRe*FMt2WRYPUj zm^pgHdQKf_WNhI8LgIZUR6LM*7%qNeT8+`z^x19IWiKfX69Ya+H}8nzfsJ)2_^!-M z5{?QNe{T=$%4$w|63C9+M(=*4;6Jo+W1wFM4Ih5;;b`LbM-+kttqHlVFjjmtl*cRQ zNEMX>>^maHkZ+oj0ts3D@?vewXyZ-;o zsRro$8bA()0V#;?gZ3m#^)BaWaGKMm?sut{eH4hQuXqG^-wG~qMsB}5j$s~UfD6tb z_Yya;y4jdeeaONX$8d4A`-i*!G@@0E!Vk#wYN6V*D`=Y>XR#(Zjw$(M1%w(K!|BeL zD&6d0WyXpqaZB=YD)yXwBI(IHRR)-ngxFL_@#c_pC4s)hX)8Pc@P;7@d~hR`#8Y8; zQHY6bBP~ml(bo#*h*DV9#Q*D%*K|dN+ud~k5C%w|-F4@@@c$&(e*H>-q&r{0PEW@_&|8)17tk|5*~_n}?Sd z^R?l`q6mN>Zt^TPuoShKLRs}LVv(GLGVmNh59w!$kktC>)vwdws-B>e@0%#Hl8`@4 z3n{IGeX^fI^G)+#;&1guDD&C2$Ec}=DW;x_B5?G3>xzNO8I+F-^ZgPz1%*~&FUdFA z!&u2#)IRve{oPa1VT^GgdDrs?YyN8R#Upx(7r2GFRw-7@11BcQPf`7@A|7_N)GuM* zGm`CxzNLQUg7u~FW?NQ~t8zhLnG7rTj&Z+B{&(41O^oo(U(`61uLRZzLWIcTbGs4d8GwAFtBqIGO z7WU;CkD<0~!UO*~oGdgcHgPlmfrUKgV$wqIy zq#T!fw`3+k4KMV_JEDNtH9s)~=E9Y1uNV_+mZiA)L!o@T`vf9oMgndAk^OnPx_tYk zeEmi>5+*Cpcg~N+#9(c_(P*p#84P7b!gF0E-JJ9=k}0PT*}cT1sv7Siifz$`zm|Za znhIQ)!;-H#X=&Kvi#6$$&Cdxaf!4=6J3NDulNTEK&nqX&ia{p&VnT z^r=IiTZ*uNQhyQ<$m0dCs<==1{X#@V)@X0v~(r;;7{| z;#`^A1s7wlulM^=V>q;ce^?ovyr^!S5;Q``54`}Y7Y zz(3GObz-GjTkJHdmyyA#|cxVyUqcMlNYOrCe|{hc4I zYgqKm^c2O&vPDCXejHWeO4iL4%M(2(5G=cOK|H&g?0Zs)RS+SEzuL8(h%U z!zqIbAP!{fa2HvjYgRwH;L&H z(PJ860i3HKu50L2mTL}3rrfl=O)LRNY?m!$4xB8fc+}RaqTnL4@O5B-DKTg#9#hPa zbs*8!8RA=UVt!bEU=0U@ihD#q>JT8~;-3S!M4)onqC}%lB_8R$EW9oTRU}rE>&tON zh{<$Y#0qaTkz}C~ZW7D`F#$1Cvdo+r{mO`O`%vh=Jy7;yd&S}qA75B zbBb~Brb^0a4T>*XJEmvdg1ZUHD;bdtRWbs5KDR!PZ zAdIG=@~0H9lwk;6mhqK$Xj_*uI(H~Fe!lUtYm|{g42660uo-poF9gl!g8@faso3Zk z>*9F#&r*f)oFbGFT-+nyLg-#ciatIs_Sw?~#10T-6-065Q5fnF?2TKC_N?&B=+S@i4WWgn7>3n?+&YcJ#a2gP@ zLl9}Sj2S=$MG31a1a|nIk@a8aQycw!$ zVNoj(nR(dch)v$ayub-t7Z^q4*OttbE!rDqTKs_bHY!ZcB z<%tEF*d)^85-iiQhZ=$MXcjSFfgs_bpHdx(M*N-J8*zw=ENg+GOga(U9llBZk)@YX z;u05+oz4-Wx(%sLOwA1Hm=h<%#Ygu$g>&B#a3f5v2=M6QNu@)n)0CCjQ=C73HZBDR zVb|S7Bbba3CS82{rHuHi2#)PDg67HdQ+)6l--?R!7%NBvX3C5@bnpiEWc4YYjirq% z+1?cNajK}SVogkn*8q?m)ygcB0CEjzrZG}#n!+yZew z)$$^9G3OC;!H}Ab!w@mVj5DJ6r*p)rCT(e3nK`f=L>zp>`Dlhq*Qdx9PXG1A^uQvU z3>_GIp~V-5pWT~EBMvHhUd*@5?|CG9l0rSfS zi>!zf68a%=fD@hAE@wtzvT0qfD7pxoa^S=jl{+hD+{gKHPXz}!O(6Z7r})JcbQ~yMXKx=) ziGRkhKv(nrh+|XFh6R~*zxA@QizAQhk0qCV0OiztgOaM%aWIfQUoFnVZ!^W?mWzdw z+JOpBPzlTfCP*%u{j(+cZTGU+(5|FZN{5bA`HW6rV)VTw&oMBK>@c&=wI!F-6=TKy z=t3Vwdd()GC`y(^Hbs9(Vdmh5q>C=k5|fv)11uxZVysvbmT<+tAFZf|PKfNl3P#>J zF@__fIBp-1#?SmOjcA^6h(Av#VlUoip>eQF@nr8==)f-?hCL;r4LyBf3o#j_Nieog z##Iro1+Ulck4J|ZCuh^aEq3g{VKg=R^>SLU?_xakFu#!k@ZiA`0Cy|(*Y0(d*v6O^yKSd zm{1~h2T|L&JV#-OywudlkphMto*3(f-KV>jcGRHMHEFi+{aNRNs(hmf!`dBfxrA^! zc@8mErymA|!=lLr+WF=9y5JBp^kdA8i_$iO0g$+{Afk1Aj}jgENQ41r2^SjFBqgrq z3CR`~h$&ODjz$cfUgSpr5(r0bmPYR!F1f7WEdULiC0&u_x-<Y0_ILipO^!UHIP+*y(lMh4?~E5k*=fBJV`AM@D1D(jW;ooVtFRWG|`lb|2k(u zn?jDyKt=SU#G{%%tW$5QuW;E|LJ4uM;T#8q3N=_8MNJcGu=4Fgza+t)Qq;1dvy=BD zIee56ZeGDr=)S|B#G&w30<9z9=~qBaNSFadTy6B_=`XbX7UAUw4^yIKdgGK8vaM?_ zn8lKGtYNrh`2Li&h!PyoSkO__WN`q|mFrP*MY@IWAZLwl-Sg9(B8RtfEO{R@7)H30 zj|nw&bHHSn`NL>XOpejH0jW7dIlC&wcCHK_?E^ErptUF>*rFq~=m&m;{-nJoo7yPz z5R#Z$6|??_Wp*%bWu{roNd)h4FgFYeC>Ne<fPjF=QyQ1Y+QklzNX7l(T~fqv)1vc43sD_Ma*V7t4-h2XzE`i;=%a*D~jfz6vOZ|N6Yu0 zb8$mCnB3wgaI^#H^-1%a1|{UUefmE(RZ^|pq8-Y=HA;Q@m2?b5rhn_ojQ7Z4Fb@x75; zZL10<6V4ue6!~fWtddODmc_#t>J($#LPrJ|RytLuY}`tgjDQ4GA=b3m!ykI)>(4~=FUl3IMw8pe6`_)Gn-@ut zEiL1Fc!TXYbvQZ(2l&tH>N8TEF z1}JANV=B|#c_*(e6wP0jY;#ooIr}vxV=Z=Gxnhj=prq<~>oj-~vvyTym~%jy3OZU? z+PWel1qkFc5o4BybF+lwoXD~cxU$xo)dW$w)H$8MS1gkAMCeRK=&~h$daI$QciLiu z&NRjwLkfR!*AYrFZ#?un&<(H%+%t2QFCzxoV?drTwTx1$1Cw7m(lX~JC zS9Y66-pzSupQkpV5A_6#JHPB!o5s_@=1y2_fW&n(gW7*21VpeSY*z>K<6+JNps+#oxIU&E%#>uB+weXvh_jpXI_5TmClc4>Q zzVv=v6pmH0-ti{SsM^)$rC?V^I6yFQI#qP6jiL3!6-&ICr%=Y8VNe~2Zb^{xE?xT{ zytfbZCE=N93~{UYUx$Vk(oKMM%iLgKr2f_gp2OraG%^nM_L-GnQUTanvJ$xXw0pno z0B9e0fsJ1IVK$38Gw+&C0w~qy?dJFR8mC}K^MuH%e_(epzTw-VUe(;u-&V2agrY|f z5&w}-bxwAI$z=m9l}V;RNf;+fp_cL~r_((krb^_=Hp7b6E{D&2>4)N^7q`CFD(Cyb zvCq>{Rz@g0U$cwHo24AO+FtOz5fSD`)?J!S z>8|;>Yj1k(AKU}JhriD6n@hVhFEPcQsWbXWPE9r4et>(7&%W+Y=5!&F zYC#--|LpMgX<^|$g)wL8^xjosSEW>{8QVmtRA>-@0p?D2mTFy*Sxv7gVDbeS*`6; z$RRPs=E?aP5vJwoV#+uoJBZ&mLu%JBYz+7lI0G%4)JRDN8?K#;ABc+?M!FbJd_e9f(V@ zL+g{#|J(5C4Nw2W)=o-ZJ+%|Cly462l{xYDS`qJ`lF|g;Tei$C;w?WC_T?;$wWW0f zB*Se9@xv+oM9$OLG&1GD_7mbgKnnQ%_3hrAUCrmujGx-3hJ6~#sPBGpeQe2#kSniq za5QwH`&G|58veFGb=&=7+q|eSGxhx@D}haKe5SkO%VWEpYXy-wUc%CQh4yXt>xoZe zHRAq#eOJeuzF*g$OFvI14b|Y7O>3+37-ZXgjvTU*$PvH41OEpqM57Qn!x5Hni*HHb zJT#4bKfoS)e;eYMXaeL|uBE5fZE;U`YRpzc+_%g5iRy|oW&qe(#lffd-e^7(cWb-> z=wLYqmRKX(#_V0S!5w0KpSNJGK}zk%owE`3}q3I*Y~@z1pql5^Au5K!{{{j zzhkEQz1PkNi+HeScI@}IaMJzv!la-GnWo@WcMOjab_k>I64p4a*0J&;+~Q%}7T8H1 ztA8fyLs#Y`l3=8Dx8wa?KQ7?YdIP|Ux_0H0_$cB_Or4)DT-vGB9z{9YFw;mR31q&K za+P`j-JQdcHCSQ0M-kBeyY%kvq>uzPBglx_(wy;|%dlR?0468H^&FYu z$z(1)P15 z+2PA3GryM327rq7V{`9s3+)n&_@JMi=`Y`>J^_v2Ds=M})%X$?SlL5wo)a1p%KwhY z?W1g6c5Py0{$133i#&DOTHo-izqC&_{gb1g@v;Z#!$XLcHoa+D5$>Crx@mW--<7F8 z;5bTytY@0=bG3MQkuZ<>Lb0Ht;`ABWR>(cMq&lnR1CoO}iwl`gNJ z?WcJ72v~1}lj|ELFJ42CTAHRZe;aR|wglD*$1L1_6HJXK&H}+QuUGDF?=2gsiH7Of zfJ3|)`$AxYr}U$&ka+96dJ}eb*D5woc{zT$ZGMMu`rxa~PEg5ZjAd0a_2Jyt|53qL zEBMat)3~k^IX@?#{gue2s=?Zn&aSSu zx0?woXF3~ppqBXmf)#SuPrn#r{k{oFT9{BrmXIuR5B7Ndt@mn<0=n5>*{_QHH#aZ* zFsYp=Zux)l3`g#p;FQUO2m}DLfez`pxQ{SNGGyBC7N5D8~6p&0;ClIU8^T zpRKR^U1ho7=~*l#c>nuCr=`_zYlkycadJTWl6c+rq8q~hY<%|bWOS#50NjF)V)Bca zfZsMvUm|wOQuFt!f_o>R8X=KoXG+c17Ydm56fnQ}T@HT{_-}fv@%4Pa@xcJ89o7Sr&imWUuZuW)1vfpBr?c5JlpjB| z@&O&uJ`d>d4aGBZdDMm1*L&Ch{Sr0uAI<*oX3$wAUEuLL?mnfcG}uzRwa#N5Vbme) z8px7wJW5XUl%rSf?ezY0#x=Q=x^*f4H08 zqg}OWs#ZZ2L{HH~V7}%AvoM`zV=QX0kPIP+U;%3_6rf-frM%bZ$idxi+#F~G zE-%tZ^!W&|F#|Wx-SASowX?^rQtBK1THdnI2(f*mrnp#{oV(?v1`8r^b7ucqMQRSR zcPLq zqrq63zJT7~H5ID8e8T;N$72O8*1SsiI#a<7a&KR160M@J1lijbz0~{4TpACbTjf1^DfFu6HRa+L3%U9Ily;ik5Z|vmn!lPpXzTyVyXw$ z@cHq#G)Gqt4+OvsnuTq)RbVefNss>F8ITa<{8lEdW5>l(Lw}6Q{ z)wRCl#uJ&|srO|r5CT2;zvO1{NdTQo58tPnx{jG@!cjv6bg1&-@!s_5N}$LhNVwiK zjoZ=W7oVP;twF11jVl-_^Mm{O(^H6N=jL%3NZGK&=mXt2BjEbAtjH$R*Gf&na&faG ze#Vp#@&mzx4$MlB`YJinZ4_Z2Iolg4FrXqzp=vYW!(RX3&S;mEp8s%Va^BCeK%HJ>uGR?O zneAh+k!IBSE7070^kb@}Cm;U$aVfcE zm2dB);3v%*;FzZ(aokL_#E%)E6tH`!%ocZ-LLko)1(hp8;4i{iNA# z$O!ne43-qL71I7GG0I;YMHVd^ET6Zt)u=+8#?a?;d05c&ITzNF^HVA1hn~YFGoCsR z73DW?GdoF1ZTmV2z~EU;jz7`#@c#Bh56Zk7{9|D*uexz`67;m|dsXAt1s)YID0*EZ z*6ZU;Pj{S5iTAcRrg|fSxyoQn=82y%FMEIZuFfROC}NC^2oIe8r?Zo&!qkQ5)UJ{i zk0ZdA3LYqDpSSbnzT*h(M%ilPr7tt>EZVq6N_J=bA9&dVm{B#Etz_>XUdi82p|erx z(7L;n<5erzsiDY=|B^qRxGE}EX(_j}+Bz?3eeNAjUop25;B_>Ocjtu(V(m$C5)-T6 zyofwPifVqz&)2NkMELH)6(CE>dOs+)!pe?b4a?4SS%rukR0IQfpMuTjCZrS&85=3TzioC$gYwUz{SVSYa{!#p=f}bH%d_4G@taj^ zF79IW)N;>mF0KjYBCMOqieAQW_)s1xHG5BM5(@xK3M$9i{A^bH4119t!ntNON2uvl z&%vbb29qKTD83z^?%krYd888WqPAw{zZn5l6y91xH&ZOnQgG;D_2Fh$r)pCLj0WnD zF%RnG><$CEHhmn%-t+e_aP=T7tnmp(Aeg6R=wWh-5h?XkXbixH5{>Y5wg3lVtP7`V z$?OW&gdpQQlQkd|l*{~ZxhTn|*0Z$H3W(M?Wf!zKhy1upjts(FBDZH}1fqV50ph5{ z*ZeqLVM9F_1}v%KY+^B26BSBfh8<0MYVK;_l6wzI#y-SU^?B{`>tzDv%BBfI4ScPn z|MaErUtop#$GVlsEPeWal;*)uNaLt)V^H9{*FsFWHV}{W4s|@1Q3MFlbN^0Ww%(vW zU+wNXR8-;^A05pn=ODKhEdy^)q*3hr7w6P9IDcx_P+SKjqgHhSWfI%SdKPx9rae#8 zfumNudh#-#&9ZsNSw7C$?KS^845==og2JJd5FL6?W0uA0r^Gwo%F73k6IQ z@;HCD@A>80^os3=$WV8ov$3%koVRCyw?FF5X->299pK$Y65Ie}@-E%AC-lP+EsaK) zWkCBdsj$p3wS?MBt-oSK`M5Di6!pd+H8vvSAAskt-A`kO;cgP5G71Hnf*|^!P=JXk zv@?u_a-u=UBPS9_VHN3c%2j|(0ECL?@M90*8O1=D>qc;f{yWC|`?A*@&PeU~ z*E1&amYP}#Q*rU?BpDOc#V+UWi{=I>DWlULd@x{l5Pqni#)p+p+r&-K_*aNbAH0~D zNQ`)K{v6`meEZw?llcS0YIgR0(`I{Hd3&4Hae4J9A1izOFA7OG2i9wx}?V;hgY%K@{7;eGCS2^!;VgPU+l#=socA z9!KS055D^bLVg8AvJrKeB*iVWPL0Mff8=VPEl#~S9YY|#>R^Ni%2oeZOdq>DV$Ket zo->*L$Ue7N3qMA^H`W_9G91SuDH0r&?@Cfl0>;=djYqXqN0XrjlQzJ}^n1#}!#8d^ zO*;`iWR4|4=!^7ki0TilU;Ji?v*8RUs;U2)A|&s#8pp>VH6_cy+D5hrPU}nOKrTS} z)x90Gkm@ky-1EIItT(Q}BJ-+1P1HPWu>{3RkNk(V`q3KGaw>bhsM9neuuO)f8##U2 zO`Q{pkn(tb(6!<>NKNa1mihq!x%{H_qB9Zh_nXf!0x0~wA2CqpQUV05RUeVig9n^$L8 zY9Y4^qE{gC?MFRa$quoRF!PM|gl38LK>&g2FC#J${CxPxH+ z4%M4!&CDsEl-9cw8ZjAT&&iCRiFVzmdi91?7~oG5Z4V^`0s_q>IQN#yF^;eE?I_|< zIC0}pCi%Yy9f2fOfQ4_S#WXN+Hrv=*?3K)^Rq5G}1W@c$_o*a$DME^PYH92w80Z;uHt z-zY%zjwI?J@c-#nQVLAw*>YwGC!tk2A0Zo7#DB^a-_v)M8OfQClieOS?!Wg>wQ{gU zaRx#BR8bhvn{3kGBSVp+IvK<=t2BVBf?>vr9 z!r`7oIq+dAA>tkWFhhbP@{&KT`IAC`{)mnCf6OdE48(o+V}?OL3dfS9PUyen#|}~y zst45QmW7hwR50g*Tz()~cV{j_TW)uibKH`j(4mL}N)g6Hdad-8v!#s?r2n@8?&QJm zoC}CCQ~jbgi1=hBoxy{k{@H7OT$%dAzg9x=Y2J!XQQta!GYeUYJV4X?Fc~yq`yb_Ig&n%ATtI@i%nN*uNt7?@B{dua=M{Y$%{#p08nZIa07dQ7Wh;nn?&4;0q`z=~l8; zdyP>nhrm%RX%K3qqztNYwZe&E(ET%fARXpM;HxEhbg11wr}u|I`L(Z=-9{y|Wy1Vs zk1(hA|FS=u0ynM^$Vz7>ha^bOk}Eoh!2NgI5=jDw!24&5k2Q(l!cSF`@^S7(nGpWK zV?^|0kD`O1PJ!Z|dNeYf{J_!Pv5GY%VYVE7B6LHMULze7W*0Bxe=>@bqd0{#OA051 z@D8X){vt&ddbDQjS^Rye@pdF!jsXL0ElCyOFY1+Z8ZyYavR*uYW-gGGpOv%bCujNO z%6(=e-=U*PPmN0d##f@DAHIJRI?e}%`|m@H8GnI~TH!Z`rC6jJTrwo5=+s3qPj#xp z=%Q=rrTv8f!Dq`2P>ig)b2qk;{MQwcJ=!D)vm&xuek$OBV}yCCgKrpt*o5sO74G>N~1T0$SpHB=ckae z;}>JKE+bI_>wW(HPmVd@D?@%*(65MFC?QOQR>}iFI2cfIk3VC{;0&u3z;I;h)R6ya zMJ)f2b`21UNTYrRGaXo17s3L{U3jV=(9A5X8(8sA7)gPPkB@Nr_wN&cKb$tSur0QN zKD{rY!P_bNM(@iD|GhAz*Lvv!bhmUiq@T!r}VO&$r zbIf3v{OtZTt%AGZEX{TCCU?IYx`bwqJ|#8&ngu=g*@&NtoMi@nHQB@jY~keN<6(j3 zAQ|}E-PYu`yt5;Q6H2PCqouBOkFLgO8xka^6ct;h*TvQDiCYyCo`6YiTEX*Z#sMVA zkeiK4)m`pV)@zSQbca;GbY;}N_Z4PtNUYF#m$Nu6jx+$_#N)m%P)iKc0T*cY^hkBG zT09{c!l0s7i~ZDGJym7f<`40$^rMybQaNpgZ**|u{n$d0YE2B($aU}P^L_{g&-N9s z-|_6=?k)?c1q2ql;_Y^@@Ud`!A0d&u%Qzz(8B>JU|dJ$bSQm) zQnbQ!xGCpiwqeJPnT?h9Vt^ce2&Q~Si?dzb=Y4#r8qi*I0`(}k%jIu%wc6i0;==#L z%${O$ICdZ58A}uQ5B8ns8U=e0T_KE}%A?yQl?>TnKpU$fOj0b`xdq)eQ;wZLAJ(J( zf8!U_Q|E>1!C|!a0c?#9Zyeve!|Iy+o9|J___N6y$Cj4o=_0TYv+0d8cfSqp;x8RC zfqHm{@i>aPZpAKM+{)c*-1}HW_CgSEJ9!q?_`lzCxrLf^d0Fi|?6Z9HhhPGFCmOH= zq^rxhfWtHT7L<2YIlSJg)rp?|rP!f56j-HOJ9RhoGN3_-{`pr?J?kBH&K?u>vH4+9 zJ)+&a$zyOl+A{bR=AWHu;!!;wP7X$&>mF(2!BE+qb+vU(4gP>o5qNIsI;ZXq--(1gbFFdJ>J3I4QODr%-O0|@d%`kRsBkRXO{rAGnG z0Jk>}<=lV0r(R>E3BvqJT5p71|M&cS;M_nE9R|OYwA01u`e2{y${*_X;6CIu!vtin z_#xTXK#;6;eE#7{Hj&fFt3PVA-y?-RGlw~j<$5pM%pN`Mmg!Fvv=4b2oEKYP8l%JI zdevq-H)h-)p|HMbcjmFoT9Ui-{-Ytgj@Ca}_)fpNrM!3aeNWt`f>VI8&tM+RVEBsd z%->%x+7C6(%*idEVI3=28UKoLUXpY6<4jawIfH+wQkB(i11PybW;lrum6nWjg4>6R z#_H^t7N$j&OginMRb=>YHfX_T3>uXt!!WQXGeRHE6d5pr?qv~&Ow$P3OGgS2Q;R4H zPY8Xu-t%eTV+1@~epSzJW?n-j6XG&cCM_X#&Nfcjd0}Dp0#fmHbOL_YHw}7^tW7uC zr&cxDyq1e{9RQqWVRCyiM)jkiKwVGI&!M`_$LjHVsA^6`*A|X|D*4l=>dlRpv!KBX zC(y7eBfU;%`{UDhb8JqvQJJEr5L!1kffvCwuRIRcfLVE9`g9|lX-WvbBguQ3ICyVzr***d6xgu#+R;MZ5o(}_38)K(ahX|*q_*2<@ zRZCXXH3B(|*3~rv9uJjzHBTO|12PpAU@7t77n*qM(b0rMed0{Sn`bw6bs|0w5AW5F zKw8kH3QV!D2#<4^ia?riuQo3gD}dNr5k45)FM`$Y;4W{BIiVa4>*(zKGqbm3ULhj2 z{h8u;a$x{Pz^l`b?4`z2(yf}I>(SipT|+$FC8^HYujF~NZzGpf)vRc34J&kzy!VwZ zns}iRMS#cs#)S~Xp6qD1q4W2e%Bu$XH%ZQ2be2c*AbH1~aTZ1R*E0nX!S(Up`a>FW zdr{FV#ce}lL+Gx!sNn=OQuR102to8=iyd7sYJn&TL{D}L)forr+6DBXoow<3(xe&b z*h#O4%12E{alSK*VW-hXL z@I&tY$#WRs5(JjU)?JGi!}6~8+8(a4U)tXYYT2kZ*2;XZ z%sF`L*Eh<1|Ew^qMq%&YZ?&E{DCoU=b2*u{KhNyxHt^Ze^o=JKYOl!<3;4RYlNHQg zw#GaASOpY^S?u_-VfkKrKOPmXs5A(N(qnZz-4!khvz}Qiw$-)X{4tgG(f+@&0LL=_ z8xD1~&--&V(=heatUgvo=VK-Mjd(+VmIE1IyRPq6<~%#AOQq$$IX>+c-B%q>by?5L z`=}`BXm34_?hOZ$?B5JD-dCmQ^Hvg{LkjvfwRt|RF3Iy-Eyl1F4In5rY3QwXJe-V( z05_vDb$mkarMfu|$XOETZgBCryq35b$=)olPwP<8(r9t?db~wh`_6b@oC4J5^)Py$ z@iITvmHQl4ADLwJ_(<$Yz^;sHT7kf0cgE+b&bLZvU+rghd5d!D#Rwwl{@M1^$Lqf< z1^}n0>b80BEnuVkUX4oul5I9LIqVP2F`nEj2glqz?Vb!KQB8GmSA8)NOA^h~7_P2i zPzJAL6LA?+=Pz0dc-M9Nk#T5gsqLCZrnReATnemi@Fkzh^5vLRm>h4)-It)~3HSlo zdSoJ3nr-R2UhFUL^Sm|YBDq{G!&a#0lmM*8!AUZ@N^-w?QoBeKOHby#Hm zAJNv>AVAwVy~hu|JTn4YNfHmmes692oIcsnvwbhuYKTGCAJFkXfUF^LeLbs!?BaO1 zRYM1YZaL8HUxI=P;6dBwz31}NAdnAeu>x}j77jV}S1;_;(7H5EJ(cxfEHkt8}m>9w=m3P(UA_+$bRz6vM{(J&L@E*g`lP zb-Azm=M2Kb?UtfORhEsp)lsRcne%%vgIJN5N*m90EcMZSo8@bdn!NdV!vaQ8*X44u zXUCca!LDxo9H%vLx9geQi}8|m_V``9>8&W&rVE`i*QN+TfkQq~=ZWjr`=iDxnx^7X ziJJE0GNLY)Qwdhxp-SSi@4)XX{HqH|Fom;ivnnx<1Y-&@kIt<-hBUGkjdI8YW7b&& z=F$ibzYBDSSoZgHJ6%57>f2=jEOm^{!s!=H);0^R#VF6t1C1=t&P6p7>h}HWdu)1x*W{uk%e+;+>Qgmc&e& zs`95_)|#yD+bYX_+=`3LOBzE>)=C=1WoA$h|1_+e-^0aUw6gx1`JNY)TdLRWr(_4M z4M&vI#NFiMy=qBggZ;BOpE#?jt&?9ip5fckQL6~7Q0#`@<&|g|N3^eB@g^IxTw=_= zI{|h@<6WoGN<-!=M(g723xn${lj{%6`n@wE8Y-lMrAMyh+h+y->eEglf~EVV?{zZ{ z|E!sovObTJu5EnDl%O7$+HhDg^q4uXR>o$PiXtt>N30F!uFaGmr){Ub4!ZB2`c3UX zLmf9qGY4HkF_N@x9MTw4Cd2}%-s84CiLH>X)94<$paQ=aKDXc7=Ibt0j~BV?-#mri zAD%Ig+1MTFcCdaE8wke@g~j!sxAO)8HS5rAw~%6fMh(Xu5q!cyLpCh?RpZ(DHvFqT z7{OM9iyE;`z^85Sg0!@(LtsTUJ> zyyoBu+UD#GFN$6=#LGMS+kf@^)zWk~K$gt-$NAl$fw<#Mb|9hvQ>q3*sKK6Y?$&K} zvW?3x=s04ws<^;uz}RIo2yOqmNcOQ1NK7U5TWSe9fPDQJGx%6{>HN`Pm-HhhC=3#- zE4;HBpMXHN1wdxh2XtAy|Yn?lD4() z1mqLD#R9@sxkaWdm4FZgNdhC&ykF9dw;^A4{wKd`NgUh-7!jMbzw> zFd;yQvS0B}UKj=yjGNcId`dIf5ZUTG_!B2$Zciln%TMJ{Voshb$XktE6afu5dGr45 zpi|m>_gau_!Symk-_K=%+ddRw!R19YDm8Z0#u_$v{s13%c3*piHXel;UfioDGNapL zN&kAKaJ5eyz%z6swihZJ$auXhh4kwpiM(&F-ATk*@k#2T~_n7m34wiV#d?9 zyv&@cvDjpdieEx)t54fxQuY=14Cz$qwxh%Y2`@=N`^8 zU#CMQQI{iksN>zL?U<{!T8th~av4DPw$~ti)JVLgT6kB{hJcyP9|KnDQ10Sm4C=- z7w;1+X_c3wS*WWv?rBvRx%`mBs-I)#$?8*vZj3F?pZKO=cT$70Z`(}8B>M4#bK%_b zFzF2xdth4-^P&LfVn%yO4Hp#e_W~z(X-Mm%tNU$(cWO>k5L74#6hPYhHefCUza9<0 zxu4qC;{estGxMj#D};K{ETAV9YEvhXXWfkp4;B<7{e37U?zE2y3dA&b4`x|T_(g?0 z9~L+yu=$=a$R9IUYs}BjEl(Fy0AI59VyVtwd0dU~{mbi9_5Y`mwX{4NdijDvQ577(5 z^tY9%1A{MJVTh|6WE4Mq1#B0O!jr4TiMDwF+}Ry2FIB6tRK zN7n5l#}7Kw`_KM!)1fi4e4+W%|ew^6rZe$XY-HKMf_((h?^UozsK$%E|N=2NX0DliwXgAi$-^=oc)3_x^y34aF}_$=!tS9nzm~ zGMUlqibjGn?Q0>UVV&J$(E?dUK89S&DIe2K#pq zm3)scGQ!%67v6TfzI53&yKw0G2wun7OsbH|wiLoIlZ*FW-1Lt04>l;q(z6o%4n&S< zHDd;4iw0d=2sbGu;zmAX5IRVTT+4)s{6_Mlba8e=s(z4~1R##56y`Y5a-k>U%?Cw; zi+fGYKa1AexKC#FD6VZII}9GWEr>u%r|!i#kRZ~}lNLgJU}FiC7e|Xk(7fAWBAxMUQ{n3SyvP)<`gedf?Vp)mKz&d+1`{IPomt>hAT?NZPB-%b|u zHkhCY<||5ZZcRQpOKI4Z98lKc$w6*BIAuB&fW#}~?I;trYu`16lpKxnO;Vv)9I|gY zsE@4wGt_A<>c@qDyLJ-R=eu3UBhIy}-F@iZv@gFGN+)-!*5LPT^1jm}0}!{wSpR^O6et$G-{V6{6F=g&iYe(vkbzM6Qekb z8Rj`aCDFqilE%DONcmf0I?J-!bu7a1$rU(E$0u;6!by5h4tH-ib5nAA4T_AxE4V@a zMB59Pb*L6Kh=IQo#pR_SW9C<&YDI9U zW_a|)e6#2zs_ z#XNa%$St3ESA~@>`jGW5x+>muIo+VyMWUG?=9fn(T$F(YFV*Z4`^R$)BWDTLvnB)l z&^~5PY^C05cfI_Y7nbxL+;L_o{Lj<^l|vQtKbbLVh^9OT_F0FCPF78YShF00ZqdK! zSxx**zz5p#3~V>?dt#H_O=C_ni|XZb;Y~@;-%kXVubB?PBObic^2);ZA#PkqsZ$z9 zNy=CJk*ptyxND3Kv|T=*UfAob;ONY)U1O_V@ttDv4)s3BB3SxH{mxZ{vIDA2E) z7PfH4ap^`+6#8R+^-%>dgZbN&U z5X&Sf+T{g7MUJ3@DXjRLp$z-D7HJ` z-LxhHxDx*7{K;iF)r`xaHiV1^Mv+|UMpweg zU0#h*;@`f2gF<(OlMiq@V)HKb=$jK`%2&!w%hKuXgL~p2W&YWvS$Rc(1Wy}Tb+b*s zn~EB28kS@FG05aUIkHWm4iLN!MswXc6`j+dc_?keWmCv_gc@BN#=skENlRF0LrO^V zl3o?|#O?F;If*h)`5rEI5cPHX5%AOmtv(oMw=@ZJticxaxpX_?BL zgZ#k?xN(V4<(XzsF{$)*c3Zj%tI7FVb*ngmtvzv~&je&MhjH;gZmwsZ=$sh_ z{fTo03iu99qUO#MMB7xpbvw1sDsk7X#;tvFZ_bDpt<(AD5krT)+3 z1&-Ze$4C~EWiv+yy74ip2W_ACC2Q^0a!pCthA|^gk(FUzGn-u6<6$DhsoeBOvr`-u zf@Zo|xOZ|_y|Or7V$=SE&~Nx~DzR+31DtG9X^(@qd(8=FaW4W1Nl49M7G3~t9q-Jl zD_^sj5KjfXcDyo}b!`qg3P z-3j{GSc)m?nxK5-#bqd-FUMPev}PaC^k)JCg{@>z(KDF3OB^P&gbjq{=v9L7NPs16+ZHMZMPTYctwkh@XOgDl}0iR}ck$%%jURVgvg?fvQ9sKoHw%|qW|NfUn5G0xbsUA##z`}^KbAnU7<}6EbA1+ap|;Y&8lFb& zw?#z%;dEB~j89xB9`G74drN_K&aFp-w7RfUrZ`*|>4Yw_qZzlUM~hcnl_96>!q$iE z4<$TCmn1F-nRfw7n`8UM3?;G06>dt+OEt5^5s`k;aId)a-N@m0yfMY|^8u*A+*ERK zDFLlCJiCBtphj^J$hcDzi^65q8cSpnuOFlno)rxl$QHn?GaQZd(Ng}g%n2h3*G=FU zUz?(U^_P<|H7^|or{UqQn>+!2cidO)`ra1iQcTu;276Mz8O6xIg<(*v7Dw3!T#ksp zz|Jlr34zTVf~tlV-WGanm9~~J$p@nIn$>ogU*>?7bR!!TO0uMT2Qtv_lsZZJb<*!j zyV*{c=96QM9`WDbX2h>6`hU-~BYl)36ka$~cA<4qLEqlrF8`)DuwXk2G2i*Up1$ul zSbSZ#f|I2)XMMI{0c}#=ph04oTsfC3?LNq}m8^*%4AlYf2XjfZ0bgIewzcLSq$u|n z{as`QArNZ$%pc0+U%j=p(6Wiwv zHp|y4i=(W(x{iuq2oT^XOG$0B#vz3L&@)%&n9XBrF62lpyUP`B@j29j3xbN4g?`{j zgI!5Dt_A$Fu3S4g$bbPRR(i^qqLzlX)0P;-G)@7ZdFWA9wc6AiL?#qVz=%_Btxfm? zNPk6wYdKc?b-vCa!ZbK4uPHMIe%laa5pUXGna9>n_yIJFiSfpR>&^o0+R2G_Sf+OFs{C2sDI-chKnpeaOt^ z)SF)Y{H%I)DOuI%x>iT;ObZvd?a{SitKHN*g(VfsJJq98P$ftFa22rA+0c z?heU?R9s7sleBg-9llGg^XH^7xaj0nAm5iJcxQ`d4Z>f=k}?PFq{`L4{Z-q-nXV=m zXft(lZ@PATKg06K7H%e5yw3rTO_C*@g==Up7V<>Y0JZ=vi{cM{ZBe47*%8j z!yxWnRl9Khax?U{-vNQ|qu9!WjLsDzIn8h%&J&IFXd)@WJeqH9S{NZ(ZD+uN&9L`p ztF`jWY1Zz@ek2NGCp?ULr$OT|QO4oyt@#yvy_v?)D`05T;mhf{((Ly$r>LZXx_-?N zZl391F@n4$PyXF5?(p6u0l z4#zJ3__&)%=!MPmi`QMz^D2cRuxzF=4w>!xoAt8N1zmd?=|8-7k7Lt~Q=S5s4s4*S zURP9GPiCy0PrSfbKBM6zB5@yOyCQdmFAGbF*9-s4{26p3>n)RF993>es-juc{T_7a z?3B1^X*IDW53|mzt)Y?6QFg^P4XGvw>w>_?_-b03P8j}@z-RHi-YF91oQ_GuFv{G` z{ijSgd52l=yB@~Oo>BPQ=EA1u%&>@%w{F(4t5zJqsv)le*(lnJ=@tM)PSVBScWgPG zryCQzkC^4?7uw%H|BgrqulwrCXzJ$rwS%P#!Rvk$=tZ<>pV)iMkisWC7@8i+@%P}1 zA_zdrlziu~Y$kkk`<55ey+HaY)p(b42PvzBPKJ3rE)@v~m>&ng0k5s7BjuC52-X5UY=8*$Ld*`joD3 zN`v$CF+cwm;0+`5kUh!_(+v-K$7_A=Qn6%JVX#yg1|zUIl!$oW>F&v~k?cq}6Wnt*A zys;ch4w>Cx6{ACoq^FjoRN4-Hh?N!NhvjXQOOtvU-m=ssF<^%FQ{G&NeM51b)J`= z{kC=retKOJKfCjLoy~gP4?!oJFdqxCa&B#k`%zj+nuozTB8Qx~)TdLEn^sHn*{g>$ zoiz8m**^8r+O%HnZQUoSo$o z2FjavbKjNnKmT1XTTwo*?ftjlZYyVjhk5mYg7Lh2b04E_5lDY2@;Bz?*}{SULDxAS zS+GFTlT8dlGFt0wi-Tp#jH91O1)R_<=(Xjj6{^HKAMZ&fGWVG7Za{Ukc4l*Yl{WKwIqgnPJw)ptAV0xuR{dxatMZE)k z`(~}V{qK6%f*2M3l4Z7L<4Ht9kxmC+37edgMniYGjitxU)2QeP>#%LtceAUTB-HI$ zKN7I$-O*qf15tgHHh4cMD%NKnFEKxAt419&G5artjP_nui}-DhI{@$H-oxIT&v(Qf zMFeN?cqR!MkB?ESDpA_-uFwBLd!69=*RIcVv`x;u4R4fx8ihKbsGJ^qy!ia6#o4}L zI9~R;*_OY$rWWVY_zzFan?KM4k??xglexH{irGByT8y@Ss>l*$5D@|bc21sF4kr2Y z7DIKK|h^I`pJ^t*2u0s4H- zt_CL(`^ZViEwuQwliJ50Pa@600h84Oo-OMa3<`-j|8ADFvIK-Eom0YjKv%EQ*1&z| z%A_r*i2h6&n`NOXk(hr?WwFrgkMR%_cjKQLv(RiBGU;f@mtca9I=;L8KRLN6fo9-X z`?FQv79-Zg6r38xNx@;R#C1oR1OJQ5+0m=}=E@}dWBV@;AQb3KO!T9JA&d38y}w*3|7@)!^1J^< z`^)Fb@#kZh_vVGWH$g$E;0paj*Q5C-S$d)}BtU$zfp zA9`>Umr4Zo9DExF=$|MZqRf48)85zRwfmQ!SuZ!Ed5XOM4*3~}hIyr?brwwsBX^jU z3x9U2q6UjvkRjuTMQ$-Gm-9sNP}3eA&YosG07&F(cP4uMy;2DpTI_FsxyOJydsaV~ z@ZY~@n=o^I?z+FVS2fnxhT3#?JmK)WI%+PE|0{6GJ=gX0=Tt%~D{(>RQ*GC+=uObs zDbYeii0ktX?4yN^67;ZRC9V}6yjZ`s1Y(cssK8+GaBCgB4bK1iX9q8IE9$MebR93) z!z$7evOIs-F0v|(E8q0kQXu7bV+7D$%}2P}NTp@|OB6_GUomVWNmUo|@n2QvI1})S z3*Yv<{>j|wV07y@*-<-q_259}vG;R%C@N~IoQWQk-p?OX=@2z2%`$?KkW7d&PDdxr z$l5dI5?EwoInL|mM%^Uc_dPt)%HNncvIj2|&DG7s<1}y5`A$|{Tiuz{!Tld4VC8vB z8LXxWQn@Zb`?xuM%@pd$tekvbIX0mJ_Q& zpgvkmdqnlBB|g>K^wyc2`k=;ZNnt&Zl6m@v(0QlY>f=%?aO2vt#WUSTXk# zy-p{e{_5uLjmczIq-Ic&Y}aztK?T|bQZ(wwws9EI3q)6nCabMMi_jb>7&|GOL(m~= z#1dw)TB-KKQI+sDG$W&$Zfe@|yw&{&>M#BZQ)^U6Ty5n9Fc8&$oXrd2IwB17q%U}R z4GFKzf`x^>t~0B|P`G~CYD1qhTEGsN&OUB8DS!T)8k5PLxe&D+5y;#_yWKbFe=Riz zX8+bb#U`qq8}iTW=evbFH$g_Q2C5jSMcoK8%3ybLyKo^Mm#jJZWq2jm{LOT+>3;=&m0FLYokb zxAE^nvse3otw)(@vWzejF>ghH;sV`Ld6N{-T=VUhbP1z$tTciW@aE8swE z<@+K1RZkL?50Kb9c*BZywK1!%IvLFLKc1;8@XgMS*zkotYp?fK=l-->dUA~mDURhc0+;!Ab#JjB96Ma-{bn)XjxIa8PIJA#I#FZYmN~oI?`P;`u-M;UI-mLi%!i5&{oz&qwgT(j zmujvK0;_&qI)5U@IsaX#Y#r@Uox50V4r*iRl6nR=j~Sa$1XYLC{(K^KG|OwCc4pUv zbxB*0)CQ3I_6OeC%nsB5!3e~qRiZf1YS^Dt`#A;09Rb#^R`~zc+stX&jvjFz9{5<* z!wB&5?mI#Lo#nCl@*xte#KDS?J~PO+T?jjpyRu=-+ptR6q1vU<`5m6K$@@0mA*bDr z&^2e>#`SYo?KBVXOai5g#%1djEq=u;xwM&3D(DMAPgm9Oz9G^K5Ga$cv$DvapBqRp zepZqPH9blL@XoGwE!t(YrLfUL8n^Te^tqrbFLmjnBUnnd^k1{p=C)S0wYKAS_U@-z zv|iXd7kfC-wHf^3RYCBcGyhYYG22?6h7F|uG8%P?4ub3}w^p|>SJjVKX`|8zqI;E@ z0NsQ3BlQGdSh74lK%(P<#lGke6PGsrsya<-B6-;^4nyE#rXE+|!HA|d;qbMVrO4|y zNk?H{^0w+1Glm#mgKqAqiI(h!n1IuKnA_0(gMet-b?(*4sL^(o-`d)lW`@;p9-*G; z@FLxzanq-?tRGA>ZC2yeQ363VIfZ*g{tKzb6=tyA6(_OQ91V&07h9wstX7nj7%r}E z6Jm`Q!Bx|HRDkXygAyt99sqz-ZF-A9MT=D8A5J{EMJH5*?#%R8ev^?IQ!=I0@kl^N zr91S&a;e%v`pQr274N5J!ZLS-1(@}SBL}NKKC9$2J`M;D7PXz0%hq6eA$QRm^5}z` z2O#^O>eTkvYwyoC6HRQ7^_9@$Ex&4_0xLER?ae(6=Z{t^Tow3dp7sFXX-$_*c(Skb z%Dd_8Q*o-t_fqJ#UkCb!+RYE1o_DLhM$WSbc*&_KnZf7RQnoMi{#z{jmQI@@w zmzjm-ck$RsXz8CJ$7d7bh(_Ly*_ErsJxz@|*~5oPeojc23VOW*;PPl)P_cAVc(2!7 zcP($i1OPXMajh4tMPeH`gs>k8c zo5cH#y-Y}?0V5A=_Ovm<(0r<~;(<56HoSrQ&md7u;1DY~z_3@B{E18qV4tBmJ}k&x zwNp3WyHN4-;Y#o=)MtN(`6GW?ZrnsiHW_`&=2I2+cqDlfLY=7jV1TZ%*#S`9pnj~X z)ndix%2{5tg-cje(7Zk=M?HZ8II20rG%gs+XY;RXcCeN;jwiJVyZvg+X?z2yRwQya z&d!hFv<(5?_ah+P7Y-iKb!ahFYb?aqIeQzCWjXb^=r5jaH zB4KP(C{b?=fL&ga*EDC7;Wd@#Z=eSi*F8g22|JFU=PyC|npm(ATpy@U z22Aby99LTA=v$nAU7#ruYEtX8a&-%hE84EW_zETeJV|1&%oFIMdL_5mT9Qem8u%JG z9Pu$o`FQ~nP~#4=79bJ>A`JF zYi(!eHU;PjfyRZs?Z*4mkCLDy9)0h6K$O1HW)L59iNfvlGa{B$n_Efz0!LcteaRZSoFXw( z;Znxa%ytzbJ^ci~>jPV85jhtRPsLnn*j$UPIIpr4#(mdaTbGBcg>>xSg*GwhuI$TU z#~pDm<8z+ZIRdfQpMRbD4FKV6>Xae`gkPv~eNcG&dsvO+;J01!9M1L1=aWl+0;{X~ zrKPPvXek`CU@(8bAk4Gf#5!``Bq8lb5fgRx<|(Ci?l}cf8-jl|`zr<8Pge?YDA7b+yxb>Gr24S3(`mc>7azXrC&@$yN9MCG~BRHDn(ZFg~b|LTFX z((C+L8Zb|laP;8zPJTu8eCyUu>z8%#)7u16SUhXvyyV-wl%XjaVV31&8<{9yI7*=q zo4wcQxFk*T%Ff6P{6PvNM}=hJS!UB6Ab$6c7VYn)1ay-d@i{>zv>umrd1mCBzU+dH zpub`q=q!Y(v@xY6%!ITYvgD(+FpRYJk`3i=|K?bUZ0I^CgLrQ#1s<+xnRKdvh8}Pp<8jWPPae8xTun$| zXAh^>sKri4cWrWqG>Ed|U(cB#K4h{&xV7RmJU~=3cIfZEq%3S8ZXT!MZ#j{Ffc+|iJ4`X{5+Q(U3&;JFIrr= zl3-3M!b zzmIHoc$?b|qTdAA^FEGYcSw$3KTF=fCV!ve$kyisvlvKNnQfFT@dbBkKYtM2c!Db3-o zRY8Ko8Uj!m%|uNWs|ENvmYfV{cfV_e@2594G!|(HCqIU*5K%#TfH%qjo%`~X)&hK& zGmgWUxEJxk3i)V)MeCc&viG`~eAiD|)Slw#c9fB? zOj#A#+`q%U{Zn4b&ef)<`3^_(OC2CENB_A#*W9J#jwEq0i?8>i6@CVl3_|d)MtEH6 z(w#^oy%$qFe@Whnymy{ z3~^@o9LW!)mNNt*n`Qt>@O8h@H715c0TU1^DXWp^6-=4nXGtE6rJD`ccnS zf0Z!z_P4>n#mPIRH($JtZO?A~VO|06-jKf}@5;QNT`~=3JdR;d6gDUiGS_rwEas_oA>@#AeGc2aWa-F^%KiycxXJ9=?LD60Ys;TT?|WpgZw!n*d6_)0fKlxVtbd_# z0Z6Lpnn~<60TBKRgV}cBDuxx3iOh1HZX>rqV6yy#OQrbhVTFQm2*3o6LV0s3z}RQF+l?T0`*Pvc;AMNc6Nkf?LH3K1^%&%AElqzZhx$(V zX$HGfXP_lf$YW6X4H%g|D7yFqF)|T0u2CF450@O7p=`#?(a7i@E&h`XXSgK}igAEz zCF5k}KxWIuck_midbk9iukACnw4!m}>u8;SWYf@9!KNU~kc5pTt0ekM^G=?Is*?$= zHFG%Gvw8lYSp5|)v@0Y6*`yYnA!YF&QbDb)LfuAvyp!nm=m1FG*wKI8mtBUROM-QMA4_ef}eqBYI4 zK>ZOE(UJ`7lM-u|*~#!_eL%`p8U{7FT>KJf;0*!3ZPAhixek!=$PBPTf$K;u0YHsI z5lgZw8H?hL-I~E5ac~`umogSy%U}Rbz*N19d$eh@W3D-AxBAVIsa`4m31mdm?)~0z z1=0T(N>nr~Mk1F&V)6^> zBTkCyCvIQ;Y>5)?ppqnBYCmm(RC1imxJdpvi><=I=wNKKIy=EH@boN`Kd3_8lV>!BU~@vr~rG;5VDK=8K7YzDgQgyyO@P4 zXG;QE`Uy$EyRkHtK@t+cF#h!);Xx-g2^_HU9LfZb85ogqYsLEN2O*xb?bmd0D^SMh z;LmVaL{?)pv$-KW<#ww{YY zk9C+Kgp5W7&#RB9U3a%9RocgiUpf2psfA+y21w!oph#e2dJ0w=1m(NL|C{8xmm_cr zNl|-tM%qdMh0AH@n-Tx3Sq$T#i@>QHLlq*Z&+{N)l`^@VIP3wOMAl%@fg%u1oZJg@`#0O=hqnaqD{RqzXjq}oE zI43(i94_W}I3eDJ|5txnd#VMtG7GGOyStscm323IipJ7hBwLu?CqNF46!{o*vTM*c z`27x|339bE*HpXe>+2B#mURrcp3B~u-G=*}H~9!uG=Vr}D%O*gR_+8Kv@YfN*obK> zo{Cn7;5=nPX%=eSzubFsHfFsl0-gD%7OiUU^z-zEqjX@eYytlHQimt2{ik5Y z_^7Vl`eRmmMTo#RA5Z%|Q}WJ0!MKIPC}I49L^Q={7;T!$$&O=pH+(pWcqGmzD{U=J zH3Z;n?JIs**w;*T-)&b<4-W&ok=uAQ|89r0qa@`-Y>yPuNE87KaCr%z*5WIQcp!zH zk4cqvWjO;V)S{KdZr-4*Xi8mX5x;$Q(29rExy>c<19&+d|^catLKEhqxa-v}S<=HzAJNTPk! znfZI^IV@z0%A$`6bPho>ioH8!`Pna&7d@snG^kq5gga7Xf;t#^yI$3R@tpr>pJRX^ zNEh<)jZfl|O6gLPP`9Wdnb3WR{xhhpyu9a%W#Y!>?D(pd_(5W3_u-*73I@$ry{o>a zzB!x&PSBR8tFgr|8(v0^fT7${Q%zO-3LaDit9)+6N&N9vf~=ppYtsN1BstjG9X%`` z8V8fpTWL8fv%_c#WPcr2YO)!x)Ow8rXu|b<rK2Atd@SWLUC#t{!)Sweg`i4VB#m;$}rMxOkGkO#@J-Qk~yY( zkTJtPvaL(8qmc;(s6+t^EKuxL;G=wQ`e7=#aSw?zW$G3o{1_r7awb#RAMzvOw@)+L zk8&wygV?uhcAm~pzg=WrXZ0ocbg#p?>GKXzG(_T`$0_s7CsV*be^gv^G*QS?qbd0{ zHoR1fu77p4qxA8H;pGn$Ft|SGqq=e!fZk_4Ex?$#mRv4DC+=X@>*t>yp#%Kka%of5 zppS=*n8{5rIEX>JphIWcvx7uV%u?c0M2kpZqy+oM4%#-sluULxG(F^@ zI!!y(Qlmasq`iwIC8J#U?Mp&^6!)J})8s#;=IYuTht*cKkPbHqY{fVa+c5sj zvXaN`@-lz^@Q{l7&fMU6X4YiVqT&6|LG|I9(KHnuUf1A8ePJ5o(KPP1EHD4t;V=J# zmJ)mA6Lo?TU7X6*rN?8B`o~XH#{GW=eoj1h$a>BH_IL}l92OkjoE`JK>2R*Tsr^gK zeOGAb+x`M7%iW{+36u<9;1XKpK0bbk0YR)DAYy7U=59TvNb+0|kh6)Jwi>_2ez zpZ+24w2QetnvY^gHHtNu?{bl^-t86B( zSlWfm_V(4lD1KQ~R;P%@45%AEiI|(rZ0F&#f_K)lu!CeikJ#;vy0U^k5;t`g8W$jGXxZQ+1m z9!`3UP&l~A=sDaEcJMK1YG@Da>VueQ!@;&))X{)ItOn4^E}e%v$^-IU$PxUnzP7|fNW}J zvgIg4)6ipX#hYjfn$gQE90rS5kmwcFHJ95bvkGO@%ZJaOD*gfE0R23>vo_yzyF9-c zZ7oSKh`Tu&JPynbnf7UG$G`C3uF@*U(n+H}&idcs9kAGF+Z@f)FKL|^yDfhTBETRM z7uQ7e)kZ{&hC$*(jK=*R&j7r5~ogWsQ>F!*=*vbEX+7ybme^ya zJiXcOIcy0e0(i`DtvGKzd|fyt`0;|?DyE{VO4=s3?7p?X;UUt8OY^}Pd7$HS6wynr zqucu64USE_$KMf#!=On(KwDL#`F=k5d&6#YWr5jDgUiW87*$rD5UEf@Em-DjWRI%h zs@apFDV!z6QoXgaVRJ{QHod*2&ObN;f5FS6Zd=&W6q$CRjo8Dp-m5fx^P!;0=F`*h zR-ejHD7eF!TTho)px&+yykA}x%s7HS6Gplou`=ds%ug(OMXA{y&gaW65_p~dsW6}W zNRQ!83Hsu>OnXr^&b!C_CH5J*43oXy!GUH)d0sC;c~NH*eNQWEk3p;a+$X1li<@wP zU|}>Z@|Wtmx>PfD=*Ak9!L8#Dm18T7%-Z;oL1In`BVJo9?fv+6E`M8REUn;XS7*Fi!NfRSZ+=p{p~yHrkFfpK&I^Q>eayM%`4_HxL-toEo7I^ zBs2}r#v^ykpMlM#aUQ1!?l#C_>zG{6Mj!7AJS@8}N_QnXg3xs->bBw^Y8o%$cNst~t-*MwpV_f~56-(%!6uVXqmVN}FHfHHq&^jxGGoJ^ zt2Ig;H+RjKKWtzbWlp;()!Pru`F!+kv^E-i1dAui4eB*?b;@Op>V2stN*0Mmq)jh8 z(k+XO()gSpRA=Tm@zHU%c4~LtD!{W#HU@4CC$!(a<3&w+`n%%nxcxWKQV!fNJLh}U zWNODM(89TkB)xI!kjaR3%E#b~bi4;XbtmXRjPKhy`h~e9vCzV$e{Hvu`mjmuQmQ8m zXA(VlNWD;7Cp?fPu$euH!}pC4BsKV^6Z0CCe9m>7VAT`vn?2Bd=3$ZQ*t z@m{^tyx*PKs=Beov{bX!= z&=XVZfGCURSv%|YAd6!4=;mK+m%h2#iOI!d2RC=CX?Zx7|LzdPC9`wI?ecg7hli9- z)=k)=Cwlios@UU=UqH8iig`6!ayBHW81GXt5{U>)kIG23?2i9eYC6ha?6=I!S1O_} zr)ST7-B8Mxkvbd%{G+ewd%a7RlqoV)Z&619v=EWp>0xYL1wcA|ORVLP0rJi7U@E$WM>_%KPU&7qc_f zG3=DdT`0?)gBIsdvj&~Ymi3rsMB7sORB@igpXEt|RLVtcWvvMIMXN}_z$x<@{gIga&$B&wJ=vd=y;K3u^8tV$%k-{Web>wtJnQG zbc4cq2j;>8J7*H4c6XdOn42Em)Izfi74rOde=hWa^;NKX(oW1QR1?#!^kOZz_Fq@act50I?U$smLtX1rNrQ!)xymZM!;}HJ%ifuT7Kxq9!u>26hjeJQaMz z`WeW$CLN{y3Xb)&Y4Pf?&>L}@lYzz}Fh%F{!vx2^JAf2_gAwMX zTz;%GD~6F)sCX`@UoU--q?Nhi;$Uys@9b=-D45an2M?Ms8eDkQ-&r0Q556Mo6Q)8Y zMV6?VW}K_mtd3MQR?ASq2+gOsRCLiaeQRMHFT@!(<>Gn6oWeiTtWeAPz)zkketeJL z@qe+bgt_YVhj#pe^|*Dm3pCi(d#waeqS=NdcT4Nwk|zZqjY0gYF%c0%HhOi13^}G` zaLIF+f8aU6!uYIt5^hg#;SfJRTtN>}U+OxJ(j?T{-5(c;pI*G4R%Q9i=idY888$1A zL(p-4WdG+4{$~@f$F=)auj@PL%1y(7p@Q4dxQ5sHBXs2Xj`+vZ`m{}Yt5>Ls{Rf;rh zX;WNzC${~oWKl^`f}j|M%D_YgVBI|Vf`8APZ0mh|bUe=jB9b@ak+iyaH)EWzAlMJm z#rlwPAHVaTx39yxWFiE+uoWk^JF-=vyH3EM!B3RI03&&VS*zM@MM6j|ImGXGDOf- zLYW@)3AZn(8?uG~*L?6wvq0F}rr4f?pQiV3z%~j2%=%vrFZfLVY!d713a>6?a@L5J z$u-sFjnQ8ycs}xWpRD&3F8kzgy|?&Pdl5hW8qhi6AZ4`W+_+6*RCP%NY@e72Fc~8R znx}amp0iM|dPq%Wgf$m~YPwA^-fnGP>+R+>b&)FjdpCPRNH*8_r;&FGm}-ZCv8li1 z-#4}%M!eT%(0y=YDFCw7cUgO`$%b!XT}t2?xX|pNBJYE}RlrED7V6EDkOH6b>)`O& zYAg{l1IWi1r!0e1^uWZ}Rel(6^f=%xd1Oo_VmHNseR_=$5*ddXT5I$>TU(hL;oPA)`&R>4 zzdEoqX)>K0YrqE=a~s~d>GDYP9D_@a_j|bM2Iu+WOst7$C2313mFAADWqFHQ(PFg#xqlvBoo%F6<=9?Px)&uFh$QSz0fvs&@et)eC4-{^EdGNGSH35 zSS(P;fabklELe@oSbFOawl6U`Oll-H*7=KzhJp9;fhO~iBZ=U`>bY3lkbg&))++-) z5pQAsX`q}g7`&w~hr85$TI1#=R~9a%a*&W3*35YEz}{F4S9k7}(^SH~%;F7yQ0&xL zOCkg}<@!wf1>MMoQ5)4d=a*Uo)fJYofrL+MLyBn2mz6-Hix3DE+~KY<@?3ZtUVIis zDX&lK3C)ejNzQwjkY5$!^`(>Dwva&N1hnEbje|<-veW`RkP-z6s9}xFMDo!W2OnBf zBXg-WsUl)rB4cW=88W6?EM-lC@6_265G`v*;geu5M0c2NUi<1q|Z0xUH* z$qIPO;xNTx+lK+@cfn8&36z!rLAt=P%M|_e?E9w~66~Y;rEqGL6j)IOp+?qVk!idJ zp~7Iy{A3!AnEic%B?3`2h1PWu{nLXdT*1%-A^y;uKEnc~*Hnm18TcZ(H*F^{^Uk>va!KYYuDE5)8<(X!!-k8FV< z!H{CfFCZ6rhQcVedq(1q9ofFf;`fg}TQ2PMF#j4~aGg$=;nVh;z8UGSpXpYrsWCuf zPOzA3H)kLj65WTe)ah5=-xVm3=#mm&zY-W)+?~OY(B=7BMQ`lbHv`eY$IFo*=tE5H zhfB;Am(nd6->ENM(pnK(iK1izO&_~rIYKF!VhTPdv7}mC1O~W~Nb8aLuoRzNU`gwf z$y!ytMbJ_qzLibv#d}{QAti*HxU4PV80a?`8shyu$oVfJmDGG)hC zT=BQP;CBM*g;LoWMuHTGm9# z=&BQAuF^Skjg!i`Q+1v&2S{WlO^Ci39lhe+ZLR5RYv+ncb0)e$7LK7!9={?Ctgi+V zA#PR-dG+H?3+B$!hCwDsnFDIbU#ZL@2NjVHS0mDA*yAJT4wL;l$?g5SL2+k32J5J< zS&HY8Q|BDhk`@ZDD>e>?uZdmez%27Pld5{*T6==9xABsxqZBAXjYLyT-wT$C-8JQj z%Ux^Huyh=E8Zvj3^559!m_&!|trp=D>~f`Dv&4HdAh-A$oQa^h6cM7hq6sv)unc|P z?SL<^YUC=MVOO_OTt|wbf{#RVB}>!ij1-srb=O&wf6!R^C-4tTMW@+~rMvE*XKfqZ zyVrq#$U``=qXxI+3BvSLSLP!!!CF6MCh8tb zry9y#3;6rSr~ow?QIwb+PoN$XL0GIvI>jayo{1@4O15jH_|LJsu8z`!#zL@&9m_a) zMml$0HIKH1Ciho;`!R+DVPZ8dmhmYZg8kIYGBLkfGT@${ZK_IBEAShwAt%3im5Mv9 zqL2f=Y+c|==;C6NpW}uMNq~FWrS`^#=;gdDHYqEO|GTJLNS%qA$LML^&*=yvK+cc= zwC5eL<=LgjD#haze4hB6)DVL{N|dbZ)f#9=78qfUI~3?-`aVzoO`Qw-K)XlNZ%e%K z#A&7PKs21f_K3f@aV+a3`XAQE2zQi<$Umpa#nbY_SCCJ(BJ2`ZkWA^Bvt^oWq5!w- zZgf~#MC&g7bE#0*M;X1`GYPVgRy)cOTe?gMW}B6Xybbp0N%%vA%8{z}-A(H_n3ZhPl(!)KxKI{D{-#%B6mX-p2$XQT5QG3CN2Sz0=nr>18m3<0Y~HPc1^d;478 zD!1mTm0G*+u|^K6y-xZNN{VhE(WW`^l^v~2BpKfU5$US|hU^R$W%YK$oS{ZTYw6tF zu_+eEYZIDuBU>MG8VpR=!$ouTS*vfvm57i4reA+ULC+0ZGwG&p|I!G)o+(BVjnp=E zXfQeWj!V@ud$7I9p-HE-3w&QGH&DLMv7R|0i>}H<4wG&H7Kl`JD~OkO1nb{?kLB)L zXANMXm|$j=&;|1n!}j;tM!LSXOa(ZZ7!Kh$IG;M!4plnb!UFt4YjrTRl+wwNV!?Vj zCU~hNwvh#41Mst~Z)TYxvy9TQB;v6oNa-Yqp@nt?Ns0$V{ZpX~R9^^&;zr`PL`0o$ zDeTgt74AtJ#P`5|X6`*HR;`=hBI6W-<#rxoaLKe{)4LIwVrxr+o#oA1hFoVOT95lK-!KqofnHmigLci0m3Rf!4_JOITUI5IY^1%byGjg*? zh4GlU7;*52gQDtl)8crydLo{K?D}a3x4(=d3hWYl4P$aw1V6u*TO1P{ieqt(g!Rkw zIQ_ydmu^x=>3&=vSl6FVsFrVSS%6kxclQh8(HY^0c{uimA;+W|Ao8)!L@UoL7<#m(C-v$MLi4k7`U(BFU&`~Jw6|D+r^n6#8z-Rod*d9yU z5-jpEvG#}{m`vLe3*7&kW=jZUzpBhZ1b`{5M473Cz{2sCC{x5@3oTR<=39PUQPHQf zh;|O+_ufMW0TA~e^9`bRHH@7f?00{sB$`36qu#L`Ppb_zBJAO&RQ?i6mJj%gYd0_; z^BE>^0NL!ed8Xmyg=g%V@Ej(`ObQ11|hw)YNdqs)#av)BK02~Ph43I4@g}v|gb@mN6toJ~kSxOlzSI25K zzZ@JTQvD1_Ff#S0V2m*VUvR7yru{Gg!H{dDm2+#Nk!W{_x8D}r=*5c6Qmqsa%<)zR z4MJsVHNgDF5P?cO6{kVDkKHl92Qd^IL%nR8r9LMxpIUHU!*OZK#C$4i)eD2l%+PSL zJR&v{5S3$PFgw{r#Owj9&wgmA_&v|)jw{35UhJfv$l30M`cAKKuzu>@H*|s_G596` zc>Z(nT@<89rEfLM6djo_FJ9?`1(q^U+2B6ejzOd~*yxt*0ATY%RbkV7Jkq@m)114B zZ8~eb(K!55Ik|-9=7F(>1H<2e&1ogyGIlN}n{~kZ6;{XxxYp_S`h`LC&Cin4l%J4q zea$f9zO+`Frs|RNVn^-79-CEI^5?gPc#yeoVj0|ocAo|vR`x~Qc>MNQjz`p*Dki8o z9*Bp~0_fZ|Po0!7b-6~n>s&}j2@|+8?vu*x3FHa%jGcG@lJnn(xz|6s%+$AVQe9tQ zCN~BMyuL5qwoD~-Z&`eusZ)`jJ(PZOpx_as+rICMb8_#DVZ<1GE7(7uh%u?nCgq@1 z98%DO)F_OWhmq2e0tABwcmq6M-w)ZCTM*Iv)8C6uiNlFjxN4rJuPGdPH(?<0bk

~_P{C>Zh>gL-1ylo0YVmwct;{y| zX3T%VB<9$Uq!K>>?iLF)8p9nhX%3UG>sM@Gn4VqO!D2{vaUw4lZ0CCi%nzlcYdkfl zD}0m_km@>F01$g{x05SjF8n_Ua6j3vK+}3B@y2_de-++Vqu*^#9{>&JINUbGXKQY# zSWo=q;Q65VhB2`82zG92fq`KIvWaTi_c~~T;}4(pP83aX`W|hum(|-&R5>I_H2Aa| zsr1E{c#b)Dy>)ljV#8jEx^fIZiTr58WjN@2VoMK1D)&U)HZJ$Gj5ICO^VWlqJdy&3 z%#s)7lWX(0?6<58o@fm}Y`mcq8p^=G{iTt(Sgey5Byh{oqImR4{y9^vyCeCr`K2O~ zf;q<$*H)puxDZ7tw|i*6oFW1x`AyY+GBTiam2;{Kvp-gYE9=DvCU&IvwufGN~%z6836$oossU*e`*$yCyR2 z4qKX!DD&KU7j0$SN(5x>-R>4JDK?uGyB3zD@^`%Csbv~#WVWfjr{HDm8UCf9pM zPNwj4DZXzJ+BKs+ae~M1^a;B@e0uqh8w!yjS7o1QWHtE4i35Rts%Nq)m)`%K#PW&z6Jv~m`JeACxok{ZAfY5r&#{S# zal)=C3MNBDr1Xcp4wEKz&`A;RO!Pnt+X2G? z3-#maO;2~c>Tm~nUTO3PAE4aOi&L>L*^rH9T%=qAXS#sf$$K+zZ{MTU zAn&0RYilo);%$RRqzatU@X|B+n9y7QK5bDAVv?!O+RExdi6JYm~-MyUVVg6(vAd?*;Uy zwM?ZIHBBve;M-2-&k9Nv3;fyJNg4R{or;=77=xu@}GnkVzSClO*Te%P_1 z#z|n|W?{jFN;4%)B5$tA!C`~02|xaQhf)ehKoLh@jH*y&k;5*n2iF6(-SUfpuVp?n zrgU#710<`~l5Yymd!FY>dL1W|LUtYN;NqwI<~F=2)1hB?bIGh(uk!5-i6HjWRMH)z zMC!M+*QDYHtoC{w<%&O?6I_&dvxTo@U#E3NE$vI9X#on|rZ?8u6uF%M^kt1vav6vn z5o4_d&Y7wf4;r7h98DmS-Nvvqq~3t~9<+#wlA%fSTW>rQq{sN{-a0az7XGzp1>u*_ zi7Cqk#nXT=&Jf57JrFAwJd&Hu*R~NY&Pc+K`7I*Nr~(57G4IhsxfJ1(RpZBM1~|(p zex#EgAY~E|=BRgADlDyu3ndzx)RDwqc|3?;C)M#NqhZ^9vx~ggg5j|%b5|2M4O>q7 zp;|6G@z=v368fFK|HV2|F^+bdD^+d>Z?gS}Y4);?xu)Np` zO=`aDOvP7K{MVu1J-#ZA6P`P*^ZNH);)KSY_gKQ$RRcD>x_h{7Zf-F4T9FJeEHpIU ze`NA_#Agxwke=31NIY4{mz{Trdhy^dXHY^yA-!jx{_|8LY|x;Hj^;};MDclweopE3 zD8i>O_)(OQN4%nN1lrJ$;QKhp5(X9Z^F0R=p<~5rvTp1h_A@-Z;_5;jAsFu>sWMNr z7Kf|VcK;$j)fBOndhjCw4Vw$mImL#no-|*g)RIjGO%B~XD;K2)5~*Qy`q3HY zpTa(jT+Gv=qF!k!X{^zz)SA3JpZjtqBYb>s@Iy$6?+V6{>->9{s<78sU5l%sni|N) zrpvjjd8^FS`9Pl@*Z&e0oO*kT&@N0EW*lJqwoWAX#b~0dn#6WsTbdsxQ6Yv|0@vP) zlswEKp%J)^E}GtYQ$kp`fiODrAIFzr4q!e`v*WCQ;!b~}#(f}3@)nwATEY20M?EV# zyp{ep;HFCUOa!&q{$-DsEXK1pRD6(2Wi!CPqA-htzE6TCFjFC1^s9B{+{2`>{fS zF|IGqBT_Vj%l&Rp(?z+qvt&m*Gkl1OaVw0kG{|f!hvu%Nx~V6JSF4jG&2TBG@lTK7 zUlX45q#?-*eF*SMy#V~;`arLNu}rG}pgk=QR~Hx-Q~xq?qhe9%uKf?xJx9Qd_yNZ&7GlBf&;0-MD}kHjw0y+DV6$#GFhn=lym2;r`i} zyu#K@%_%ENe%W=aZ_SAtnXj#NM6&8k9UnBeAC)SD>d3cLAMh{UcCld^dIOU2ezC9l zt`18l3>a;?Df+Qo-twN@6>dreC$kR{rh*pv0b!r4AE@7CyVjXX34MbfG6j=RVxB%w z(bxZFO_wgIP;{t+K=79Zmw5jh#-N#@A8<5mFxs&)dK}il6nXSjlHw#MA?5|?%VyN&q{-H7(5-eR*D-c{J{5vk65uU8X3{P&^nD(t?u z8?QIx?mf@>qaRS>Cw)JUQQvFNDKX{b$u`fw+C~-;L|NZANnDsQ^;SJ|hnHLk8Xxc?9J_K(BX>mCZUn1U$N#e~$6y)dJO49c(oGatq zrEJa4qvoqRzL>EukKbx{&eD}p%1a#gGR#KX4=Z~-({U)fP82mEQrIe1sQuAer#;gX zn;W8A2wJhu+3P5N8Kgbj&lBegm?2BY-+ed5k6iK$72|>gPmXPtiA)BM?y{sP6u)#; ziQa7N_EK0k!@Ui5&elprpo>Fo8q(-A-IkN}Xj8-VtoH8G|=EB7f;{7qOXz$D#Lr4OhS&z8L#3#ICsGt35{gmD_L)QOj-19lLbQ;NaqnAK-)>vqsEx2gEt z9pqh)bJ`14QIVOYA=mHfCX%;B;Bv_%SUEhzhS@qcb5BNM57Vcl~YY%`Q;P4 zeaWXoNMIRqW3{1lj?c}>lyg7+Js=JF)vx%p+r6P z`Te|y?WNQtuRLM=mpP%EH&i_Pl1=MQLhXjU7eCn+2})idWD`h%uz%yX6TH-!x!|6P z0;QjANESmdtpV{kTvS&`6l{P>lG-4fUq^56 zu9CyucSZt|XBJ@f_z=@ZcO@}}Ws7i;3%4?_GdfLoZx`9Ak~-{8o(FuxhSzA{Z|bQM z1P{UQ!toCIpDs;dM!?SBs-`pFRhK@+oeToDsq&a|RGq_r3>U>ASNh?rH1J0g)fewp zqF*!ZKTy-!2A5Ft@;a0SN$Dt|Gn~q-coq{;S|8Dwb$}6qpSQ0x!+;n050|Y9r{Eej z@=>*b(NPps6@|tC-b2y1SD!8jCdiaA2Tn3Tv+=@oZ*dI-`Fiw<=Z;r))GOvHAE9_-+2Z1Zl zC9J*m9GRJ+eLQTv`5alJnU$f%p^C7XI<;)zZ11%pv-4m|Su0Cxbt+k_2eKpdc=cNs zpa+yzjzdAwczgRw(B+-pIRu16md=+fAmTPt0-Bb!Z#hyJiaY2aySs!Xh@*-uLD2}Z{}3$ zIE41T2<|o_vP)JrQqD*<^Hk4fn`xRFr=XkPu&Tmmn_J$y&e%F9^bu7qC2aFrIxLnL zd!OQ`p_yr|dR2QNKYi7B^`{k8oVCsiYn^-;#am_D-j4f#r=uN{Y}u#>L{VNiWFBeU zn|cfeLxh_X@jTeMVl$NH);W_tTYsnzaJ1{BfS}_HC5x~AQ7Y>&S?b|JUAk!E3!*9~ z!5sna`JK8t82!48|Z}&`x4Ud z=rZ5EG0IddAOx<)G*Lp9i!CBVnyC|RgGX?rk{8|IJ_GbWo#A2)c=vtPF&bj0N9SX^ zRfIFROPas@6PgSS{_frXM^a&SDv;I0hKC=MreID?&-eEwpofViE4;aC(9`c#6bs1V z9Nqr8>V}OB%00+-Q$(`RtAx4z)6WSLk=tkk9j{3v2;`B1bXs@b{8@}F-sjjmn$PRa zVRTyBVoCY~^eH(z7Tz`(=s@6(@86rBf>Y-p^M6#n9?gmeKDaYabJ1(OS9`$&XE`Ep zNGO)VMIl}bf=+~G1awODD^V3n5^jURaSKZETt$|=91#+Y7v;ibJDaxqTW2f8i^oZ| zT@pZB?PlfLNBnZ6gjZ{#wfp}f?Jc09T)Vz;8x$FGuzX z+V5t~s|qQd-EuSenVDMhzL!X5)t#OkBPBY$1cBclz{Vx(RJs#GO7j%EUn+z}C{+im zjd|}}Kx`~A5K6rTgg%N8Xyk4_~ zqMz~1gBODu&MSF2i_UvUz#yL;UcJV{I14VZ3#on2;@lc8l{s9_dh;mLt4R?*Kl>J; zC5hJDu-Z}J*LBog?3Ry1FPhGI;5nYylWj*|r8H99O{3byr8A+3iSda6zLiar5dh@$ z2lvPQ)D8E^Zm|MZ6moQ$TF-Me9MLNShpT9toH#zE{%R{aypP~pN;*_+n>*tgcnJ3&EH!==3 z>WKx=OPeRSZytNlX^7Njg0Hm6u!N)*et^S+&vyurgq+Cz?_J0@giLzEhY-~VXxL18 z@CPsYs*uEEsXsYQR^p}ZBo&5;E#DJ7`gHaMcEdLTi+RVaK#|{{#;=_$((@@;AqxD- zYQfHDsg*QN%775-LD}g~0h7@n@h5w&z-sc4RMZxP&-2&oxLyK-neJUNqo{slo$&MO+b_}^s7%c3Mr9?LeQrCdU@B^$=6u<6 zWI40z8;*4sb+GfKK5q|zYB)hAQu9GOhHTI02MuwsKHu7^4K{{p&g^tX#sMY-n`1~~ zchrv}*W&u|W0I{j>7r$hF&_0L4h$Q(Bj@H?+&GW+mjb%g!~R<8W%w6U*CxW#wUYWL0DCI(!)1`75&+g@=^_2E1-Bmm?=(O+$z;_loe=}L zUv6=+&oPc_%0(}Y_6*^bN?@x8GQd;T+W36_m%vz_H?*nVn~<9G=0^f{h@I6Vlew$7 zn+AMcYFOW09E_Q%>BS1fL_7R?G5&WCbs(F42vNFB*H^wnI)AoSkkN8pb^|`ve>OY= zy&uN=)4loz-)U>@Vpq)96)Por*(><1$;a&df@u=rRwTHNP|uQ@mYgq8FFv6DH6f0% z)^~!y$?Fs`2YrtXsG{PMcln$yUaaW% z#sg_U9kHsB9s!~AjyVMORuVza!q0hM+u3aGF=o-jz!C}_A|B)!?$ws1o0cC3xJ9Hz z;~bWWr(4Op?fki=rjW5oo^tu~$WOAIbFh3UT6^w`@GJ#fOhN{Q;(_eMdnb!xYbkNU zm6;#ydrKYUCFSWDp^V1$Z$@)T=v3JN{4tIIo>7=iQ_oS(SwnT)MQO zR3;t4b};&Bl$?uUt8jyjE96$<-mfL54duE;% z+IGLr@oDHHE$$TB-=@(sGdHs7`MqR=6rgfSkh3Xp50Fa{vQXaS)vT&dW`rBqYk9Zj z(GEL7o`8y+OBg)^9|!823>HH2J7VDABTkGNi6LKJmI@N0T;t83mWOmLLDL zsJ{JZ~+LP4|TP}kxaLbdF>X&LO7npKHkKKI&}&4=i`#!C#X55b;;IR zmKSe8Dox%n=?kcolONYu*mzDrHN5b~u4i{>PhsJnnD9N6i=h{DG>XAlGq(T^P(0(d znLMdg2%siKS2j}=$; zMq4H1r~aX_x*eUE*{X=WVZT5ZD@*;V-jWpuif;RWcLz?b$O(7fR8Dpl*;h>Dzs6(= z>MY7&qwj0`!d9WxV#E9uCWBHX*rL!{h9>jpu=Jq*xQx?IF0Jdq$?#GUB|L@AH7=Uh3rBs+7I)oMvO zIbr#&Ue8pZR$`K3az4uxDn@>RK-4gvZUDZQor*E@k}55bq5Q-r?d%=7H%>|n;wOVN z0>lDF`%^EAAtz2O2%=(1D8u83ghmGo(jucr3I#>$YY-bL3ycRO#UD_eeC`c2>QasZ z@x`Q{@NS=WeY1D7gmg!CSiK-V44dohi;|JsDS3Y5zO^8su&+mQS^s$RmERa3;Ci}0 zxV)Z!GmIZFvKylC7FE_|C9|Kw0Q_Ty`bS?b*7e*Hzy8ViugRU4uXyvA=8@6Aya3zb zKa=dw?+kPN1@ZqVj0a%bOV*No3zRySX=DtOSZ%Mduz5601a zb~zEtDRUx(Tuw{@F-Rq&ys<2o)fi-c4h0Wyg)$>2qUTAzSQV<=NIS>HIRW4sHSZ67 zS&@M&tfOvg(9M;JRIq=N?5LIJm;bn=$s4NGUsq-$vMYkL9uU)O4|1LBB5!tPXtU|S zWjtwkmD6j~t29lX2wB}zc6G*9evQo+^vZiyiTHj%O_wH%wtf`qvFUAXNX(_+nsIWs zjG(IX4EU44(I(eoD!U??p0U@#^CZ+ND*N^rf7pH?gGVT&Yx(5^ zMkF$=rw7Cqeb*FP2g`Enffez#M0M`Kra2AF20$UeC*G4e-K$XNi}M z9~||rkP-YMA1lXSnyyK>piP_4Mg`T<_?%X@F19Xwd)@1GOQ}``0~Y@){Ck~`=GRYN zR|n7o?(|_=&BY0Lq(r~&xYlCkw9FTFA#t_~fo`>P&^EcY+5=LWFmc zl7w=q$fE78!}_YpVdnKi(Zz+V+^wq4{h4|U66d8z+P`cLA21<2>&=f#VHnftixx-U z{T9dik<(d#{8yWT_B;cm)JwSpkXImSV?!f{%v&WA9tUqLAbs`AgL*(e@z!wBQLEZk z(-v>~Nu))j&tRI@`qJWcKB~Vyt9cNgHo!r>;m&6dP~^ULvAbbdGudvsAVUOFQ=3Uh zS54#FPGzP%n)7?`UJN!zh-_#&Ji7_h_0vp&p%PBRrJEPM;WH;?_gf{o#xG_AX~t@| z$2g+FksMnFjR!5DlM+yaPn7A6Bmm01eAjjKr|@{B@uM6K_O!!(gR^2`#pln0ynKrz zbeMqaOE2=}L0)U|(m_#y^4F(P#rTReW#qz2(?1R)o(#&Va$3tLj%aG^Rwr$~iQpsr z{PB`1K$~mv>)YCu-0Ed_opa)hAS3pi2QirMv(FpwFLw_LP^n2X!HOQ$hqWc{@<6~` zim3`x?MTf-kBqtLKh=pcJ?dhiX*dh)YMGh0g+iUNgfeMsQazsz^QD>4sZu@l9_>-i zj&T96ZFWNR@^)?#q1m06dKomX_pOm-zv>7S;V8P-h@%{AIqX2?+HMg)nrxA!Psy#2 zYM!Tz(2Z$j(#_3)3-d;$J=sC6Nb9T{^ule1*Fcz=Sr^f z6m?5diHdVF|A|sa$>S#JtUu%B$6(R*kNFiFYln1Bl0g|cA#?+BD1tJkoP)`#_r+i) zk;lCk3)MXwJ<<#jys1Jxk1%F)_Yj^%hYaEM6f~+z*j2#KhofFQH^AxPsQRI(d`6`gBn@7Zc`)RYtpegB5)a z0u=z}KN@KEm<430eedSu-URG^-}`6#bGUs5E`3soCftsLOKE;4wHNtY&m89dGFq^>4JL_EiKbye3tOZ=)@ZrH!<I4F%2Pz{$Y-owW-y=X*MyIP-lZl09D z-7Q8|s{jQLdzRZY4;V%-)!3++Ye}KM_8K?+X5WQv+tQOwcy9Ws#7vWGN0_xj%WwCA zD;r9&Ki-9wkS*xF$(jEb*Z4;F5t{e4suvP^asF+_glUk{{R?P9`cgl9kmmg@vGlkj zLEin4W_8~)hGA-I4Paf=g!kz|IVMXLIu4RsOZ*i8_rPT;e$i8EBH{ELi{%pDTHE!l zJ-5FtwXAfDtU&zAq}-wFNcIXmch zl#7(3Y1y<-=m#T?D!hE{QgXfHdog@*-f?)#$8(H$H$wRM`(gTV1R$65f_qAU*`G*Y zp2G@|qo|MkeRz}4VnB`_Q?#Z>tNV+unyRnx5&yGIRB1Gl`7B~~BgK!uyQg_90Pind zzX=%Pd9v#0bF%#ZLoDU^3edW8gdSQ@qLm-t{TJ80_u1||ksHP5z6Z{j*T~E)8~h4u zIo@(j*feq+?TWdFUGtx4w`NcpN-U*gt}6O~`g}S_r@7MTprFItfySR0dN-K1+DY&B zG2G_Upui;q-{)EIxw5PdNPw%Y@ULETTYVE zzQ^3Y2NMBS)v-O8w=Vw$;SdF!H9#0%i*)UpRC16i zzZ0hbgH=L7V<6l$kC#u;H4?H)d6@96mx*A+7M)qDxKZ5VsYd;@JxMtEs{0BqS+2^r z;t?Cc*)2~g55ue|un}(0*x9S1Rs;3ETf}`QQ3HQkQKT=NQn}EH5Y7rcEpTs21jAb0 z9h+wxYLMv;qo1~W3b9BU`!axw^gDGq7xY!Xf3Uxw?z1F=5&B9o@5b}5GUSTYZvaKj zn;*aB;P+M9EBE7yDE0kRR5DiYx;mr9r$Lkg6lmSak!AX=7{!Fz4>MqL|`fL&YQQ{LE629*r+P)O8IpL zhtkjr1iihspH;O|c^!q_+EzZWclI6^d=^?Oz154ND?O8LSAs|{1uyT`b^(Pdaz4W5 zQ_v;r?o8aL!i-id3pykPxFaRw?Mxz9lwz)jP1GX#acnSQY8lw(L5%SGnkAv!T!cp6 zE7hd|P{_i)6|g3-8|LRk#XDIoJO^t96dBT5_oD7%Uc+*dSrppIY=xLJ+KB zz!4*Jj0hT<&RSys>@3Tf$|%&+{wJ|8p>rldGKga>-ibx6JtlP|g|XJI@Rk>*&DP3) z)o2TmmrdtH4@KjW^Rq4B$!=XY>0+NHhebEysY^oLwVwHhBRExNH_98&Fi*ChY23Oq z#S?C{7J1uDj=1t3z?}TNz2Of0$JcMrHNtiEUihyEu8__A0x$pqD!KM=2uP87?m8dw zuL*I$q{x3vv&9|uXMaF}?Jw&|2vE)uap4^K#~IyBW?W}`TK1&obA&E_nPdxj!D$nGSGXw>l`+E|5T1!$uOKRU_Bc9aXJpjE)o_ZSRCOj~{Gcx(~H zy8HWRvrCPUH)!NJsJ4tk!X{3h3f;AcARAE0bzI=6{< z+5;G==MmN{@?D*{dZC7xDT;h^4=^ssZb}W}?7r#{wlI#}%S16O@9w`R7#hD4(Duvi zRZOxc=yOHtZY}Iz5p*R?@;BB5kcPh+{YIKdZqZ$P%J4rVnc^n_idP@s03BWgyw9<_PddW(3@Oa#jnZgik)4lNZBHge_pP~v-xcq{i;q;C-Bel;;(<;Pdn z^6uippReJ-_|?-y(-W;e@&V_wrI8lQ!CL!Fu%|eC5Z1;)XyY~RViC8GS1a|LSe#Yq$nm;H*j4w{xrWrghtR@`@#BK^ z5JC_1lj->rCe6E=?h7RqzM_y0P;yibOd)k*H&9ChSq;AoqOZod_VV(3PDM(g@3Jaw z6vfsXB4m4p?t!4?=%LD$=y`5v&arfRqYQ&v07J&~SF20oVWijczP5>nR5Fmidw z+(tRr+;M|)B}pWqvX*oDxwb$S<+0X#_qGqk*ETL$dBCU;<4$>46WBCM zOvt>xvk(HDr{{7aet7=VCKs#rdZJ8@#=*+{V(y&FXJwpYn;|$-c=h{8+_!RIYHYwI*J09ismHo za0al1vgx`0g|wkTJFj$Gd0Ss=@15OMiG%e|fbsr|-aq3ERcvO$K zzp#Y)m=UP|2E`Jfm-sxjTCx;>cc3Q($2%I7(2EL*GW@8R`&wi(#Sl#Ws!hL_-#^wb z?M^DxDD~9~!7!P(N*W(m31C`Lt446YnXZQjaBpv*60J8wru*{00f3L;O`i$rYT^s_=?0EP;3Bq8)Pd zIib@(5}hD|M#%Gp_~7e1mBqkTs-G&o2?I_q?qwfn;A?bXgx{_f6bQ}(nGmK=ifWb7 za#sYbZV!y9cHJ2;ewb?iGE+nk(}xm1l#+EJa|DcH7W;}H-(?^|M0ul_c<=OlUfX^n zo;UNj++#XWdW=glm8?9R!kFIpJuuZq@hf(doAKpZgLm2?;tuJlZ*Hma;Secjqm@~# z*gpzt8y=^Lh{bW5Y3%}nBl_$h6}DiA$6vv3JCg3!;g2yL%VbBY`79M2ra7+z#@jrT z(*3=IY=zgKWdKtu+aH6!ve+Mm_pzl!=_h8L&Wz#8W-lRagAd)mr2_=>R`_J4wHD{; zk3gS_g?`(MlLjiP4Z}IW3ie;ha+Tli$h7?90s=%2Qn~O+TVOCHi1S!U1*>uwZg-uQ5Jct*YhFDurK&G$PTTS2p$->3nbmuU_R1H6`tiq^Wv;^-q zANgUX)&dl9f9EKLnxONMmtVIOKKU8T47;)a6304k0D?B(*u zthSg&cOytfRmEg`4?O^nS{(RR1$C6#5KrM%wW1@%<%PO4u1`>YqAt|8mc3LI1O+42r*90@Ce!|FYy>=@9%C9#@_={qsa|$L{glrN2xv zKlh*xL0}l$6Px|?n7NmEL=$QwV7rT>I)G&^i|<+~rX&0;-ImnK=Bz&xkUhL`@-`{D zOoo-P^z1re=urNkp$VcS!5<)c;pj@e8%PKc355`Gj2XM!dr-<+ZH~c5dD}}(C74hT z&NpxX>=--pmNBAAHZL+wcQoDqm~G2O5P>67+zl7AsheOKA-V6Uw`5afsiPDULO&!{ z6q!e_4M}bt16GHXA!KdWbtY46kV;R>s4e+&#`+SZ!hY;Dop-CZ$fcT4gVqZLzoWCHkbia)R{FTW|ZX znTUV@OZ)EvER5^LwNKuE4UPW!>iI{%(QWU5BcW7)CYG>Fz#!;L7a{%ih)0iw5GSTR zG%2c#Bo4~EDyS=s9trIEwB3Ir%Uv4OIVxnPdmt{nKO^?2wYzMMSfj!GgMziqNu6}6@sE9z+G@eaSBWCiN z>dyIOz7h)$OX@5wAz(T!1dc~{Rz#X}5~fHpy%WLsm~|1a?Q}jkCB9s{l_|tkn83BkgE-8O#F@E_y;_en{}nn^ zT18KT;5)HNsVO+NUK4Wgq)k601!T;ca*fGGWFJlJZ6YL$HEGu&&T4~O@J1`lRmF&W zs7Z~ga8J6SY@SvW)he4v@0?I!KsSK(cQ?tSC-JsGuUOp|AM=nhP9;TO z1yAr>JR3%U+3av;h@54=C*3i`1?l+RD9TqENa+_{A_lFgJvEaP__s{)3qAlXF7xEi z{*DI&jy>AgE4Ti#bNqZP?6(zk&N7wufe zqS`yNJLM`dKi+3O@SU3k)^3oOyi~u&Zc`$x18FHZRA?BYhfbZR~LYhEre|abuAuN&&l8Dr6WE#Cu1j! zq{=!Kw98QcEPb=t!_<7_&IR%gS`1K1>PBPEqBOlrQgs2K^m?{vsATn(4CHt5fAe z?Y2a8v0oI}7wZx$BCxERsiYvzcR*d7f~P2a)t^cC^Q1ybAgXK{AJ`^2*%zV|XNg2K zsk91IxhvS+eLi?FCdh@QUL}8p_#;{*b;__s+gv!&6VX=A5AYJLBTAHoM>a(Mm70G% zf`h&pd-#jgnFI5}Y_N|f#!x%T45}%SLe4cTIPc-$@~>7JDlX>h+Kev;v$5QeuCAp+ z5>nxOk3lP<;33e;hN%l@Fl)_8)U9~AxaA=b`Oa0{DmjASVswj|bl2D&kJ!?|yn0TB z87utwN4gbx4-Iqp21P5Y_1E1(q_LB^Zc(5NLND*pQna+AXurBwe3vLUkCSpPt3_%W zzZ8=x#N~#AS;wtXPRWxy@W7@|X1WFVE8g0@hUY9AzA+?aR8ci;f=YmesKr-`@g9AJ z`2UU+fyz`=_^Jv?xz4|A^;SQ40d;BTWAK*PY!|5%ky`%0yZ|&VEeqX*>H5?Ajaytl zJD;pM&)Y!F^%sJIK3knUf%cSpnP)UUKce5_o?TB6uSNhJdDkHu$SR-8d;f^P>{kCD zXfQOx2cuIuQeaxLvE|6nt-8Z_KkUx0b@bI{F@1$a8!F*3K;?eEQ|~w__T3kllv823 zVv+cIHHDb1A(7o!;K!Ed@5pbr6H>InZy)KMCUFKRRX7(iAA&ouew%-<$1n(3YxQ_{Cg|7`Q3{^Yzlj0!vPNUpr|<<9_d ztUR-eo0w9=SU%Il8~J)I!wQ&CdpwA){dCM`7zaM;?lan-){1ESeu@Wx%)Mo_C}n);Q#?c zl15OTo}SIG_fOfHJVmT#AphCvxdV=xYZ?7NIq;(T*A4 zAKPzz7ucGGUVeE2nrd|T%};p;ox;8UF0!w2r{D;W-GrxW>w(<=2Hoy%;rV5)0}YqP zE}!9Axtl&%wM`h%iv}#`lg-#j5YYG7#kH3_ww{RcY+ZXG4EULooD1(i{PP#KbR$tK z(f2;6OBY}HL61)H+9`=;=I||FOM(fq8&!HFTLPBH+5+2R)aUY)6!D*nCR)+Kt;_kA`EZ1(E6 zYy$oU?2&$e+?4bf5CF>jLJ$&9Na>ccd!8^yr^G{_ar^ zbnD7}Rd<&QJeEue`XHS8UZ_1UH&b$a4F+6jDr>3E`Cg2fq3>nbD?|t9?K)&%>O{!O z%a%!Uw<(ZI)Fug@C_Sm{B@s0+>Ek&~H;OBn8G|8?3E0 z*b_s?Fd3W7u9WTcw#;VDTn`Y-@U|xdpfu_h80)o;seXi|hml4Lna?Ua1RIl{!vk`=fjj7>(G>% zAY``i0&jFfn=ot{G?gEE-tuUmq8RHMN@?LR=cMm+#R5Rwe>44+2D4KR^Dn>H-)wnc zzjyxrm)*(W?XU0zX666pX7g`SzuWTdH|nD2Q;q6%vTOf?W~94wkLE-ErDyUXn#6Nwu^gO9arr^HdK|70tcd zj5vb)SA3$ki-w5%Lf({qUCizpOBSc_S6ok#p03NTZ&yhvj74MwzF$&FE+5^bEY$P@ zb7Isc%@>YwJkvM8_TF?TjLa-emE+agMVRYt|qR%m%wRl_>m z9k=*sn*rH;FQv^#$MlVac_1n2R4q<57bc)g!)10d3Nny|U3PEg z4z=3XlvB@QDkiLz7AMzK^a}_JX?by9KYUC1LQ?p~w%ZA$4b`Tu>!aw01&^M6!&*EaHZva>pys{_r!|% z&Bi|u0Fm=6eOyY3{}lDbU6-Pg@-K4WFXQbfOr~F*rK7GK;IMTkE4Ss7S@OuT6wmD| zSZW@2l@SU1DupZIE2nk~sYtI1Fgtm%+6<;$nj>AM#d%DS(qf!0Od7NiPyDQ`f}gmP zGXl@Z$YfEV1|k3qPsi^QDle$D;-dT_lQdM58Lfl3eY6Y9e*m$9<%ehpfpvp-zjO;* z7A3Mmcw-MI<80);-Vq3vzZsIDjv8f?-9+ipn{xHgee|FWhL(QKVscKRSHQd(iVc)0 zBU3JecEsDzI*H0~7=pXLe{T!c62q9%)9_N4o-MLGl&PQ7=$hNCN=0S5pgGC8QjU7a zl|-;Y8iP4ntIt!pOdyMBI2qC(2^Ro2FQ94nZ$pPkrar22FZ}U6#}l*>042ce@svQj zQ+hrY}2QE_v+4l59S(p*9d&~tOIEjj^gFRzkJ*`OvVz4cybUd2kt z(841*R-6ifszanrJt|zgCT*S6JuH8AR^@hn%EKh?!ZnTzUfM4FrH#{TvICD7oQGHW zXJ(Zn{ga}S>Fjj&4>V}oW93{9%dV0K-YM{Ck;A_t%J*yEcv)3``;<+$EB%i*sSkh4 zEBJdiE$5#zJ-wj{oYM32CK|_}5aD}b_~58;%xkmkWL~Z4bgXZyVdEg((Y;*V&r(!T z?#5r83YV`pD7_8S(aDQUJ8S}`47>)~k4(y(_W`BgbstNoYI1#N)rhzINsK=Q!-R$i zo!PHI`$P}x4#g8%_CN9cCYA1SFxG1|+_;2?)N?UDcBDC*jr6(vZ$|g?`!O4FEDaGI z_;0WN^Ud?4?&;)8zK6azCAoO|RW`ljRcnW^^SxrOd_1__ziR#etnbUt@_+LyZoev@ zvWT1t(0Xci@|z>=W^=Op=%tLbUXfgV$KmzT*d0Q5a-VYY!CaHqv!KvT*zy3|lKuE3 z^egV6#Qs#LO3EkXhWqK4Tm16Xt?Xo>_`v?v8d1HDpni0M7jQ&dMsA;xRf{ql1n*zMd0QtR&zzxlA=F<*RyzB7LBtyesE z$vwlv>(Uz9-sFFzIX0}`OSAi3lAHU#I_r369*;e!Fl#xuQ(O5jVO|u$(xCS2+f6T1 z&!ei;R4T)F|LAO8fJ0F&x&GvjPmPVwU^{J%5LMm^F)m%#;(p<4S&_f?b2myEP)EGu zS7rr7Z;b|yg1|3PMtA$$TsCjc*3o5`Il-9Y3|y{hUma+cbUU+#7zzD~!e55@oK5Fe zbp;fv33>*;IO!8MNdkKNY}YPMP#q9FF|&000Wrt9KLP6_FUsqoWb_ta%-&k3p`e@d2n-Qni zXHnhy4XyI%u0K!73=8%(vx2W)K6&YqwJh~9M#TZW!|{$zpdLZWzGCimmicaTjSVB} z8WTk-9&W=H{+b~#5t$^cLgmG!ulw1cfDoCu(vF^39oKX!l{6fNJn#N9)C*PWX#1|=rt zq&u8CyjwxEgsxxl{hZxQ@x|uoZxOdHGH_~hVrm@EG~@wCdts9#Fw8ZSG%9#O(6vQT zc&C&%P+6%L|3`>{@#odV1{~U%50AXo66WHCpKLNF*qW=GtLdY8HYt1A0-$X`pOV7* zu-f8W_%)bxDQdMU-=WwW0PcR&r2M zQgZilpPUo-V;s@9z>(s>;cDb^R7Zk?XrcHYvc(F~k{o;6M->TCcyo;KJ_jHVnZ7=ox zSxWEk^w;Ryew8q8PcF{0ZD*V&XVP3w@p&Q2hEt83CF#>A8;=}t6%PP|1SI`rEH*-7 z4pqmzB?24RVQv6ix~;$rrkd^-pN(;WV5IW-nXRcZn?=u283R|O-n)I*;Nf&!J9PN4 zyhZ98Fg$bb_Ryb(*D0q{bvGOHLYg?fG=LZvtZtNUTatRX-(1|GCfSMrx@w$zXbt;d zx6__wilx9O6zOSHf}z+Ngi6oJbH5_wpAU=^50Zl1huXu9tpw^g9Wdz+?TdgQtk|+9 zFWt8HQ zR2Ni9f_FOxFQ^{vC|hn)X^gZt8f#R=xHo6o`9fm$H`fjalpGY|H2H(Z-{Rkq zJ#D{I@!4ULWZq(7M&>DmlmQQ7Vh+irYd(nXDUA^h?yd9X?H7zPj0uVHaGzmDyH9ch@5Pn>hwebK=|=bK$X2&JZfWloY5&7>{f9ANzn8 zQDY_>0GmyfS{;H3goU4{l^r_-_Cv?4w3?|cz3+2-db!fCWD8r`b8nrm2N>WrwoT*j z9~uL`$?i5$`$f)H!=OE!LJcK5RjT9x#U0e)GX_r@rNF*I5B+AoEDu`K(+XldAICg~ zD{fC{d2jqx83BEhUcV64WhwlNi~bKq?3d^b9GUcQ?MA-}7@*8n3RJwp2Lj!T&(v8k zt>4j<>CKey4D35;HQ>zJ4vK^H3M=}4k4My97aZIaUbUo@v-VKY#x17s^| zoa{yCYYv)JV`)Y?m3RR@9Stox-Mf|A?{#gm^9rsL>DUbDYD+)QWSonWgy^qSJ+{kv@<2bvVdM1XKJ}zZrxBI<<7(-I`24DJQ<{df9wPz4;1xl(6CIAXBM%3AH~wUq328!jnEClvlu8mB_fe z^vxd7a2&CgFC4P7;!h@HT9A}$H@i`Qwk-6d+(CMy9u(=?_07vqQ{$JZIOfe+^MPYU zA*D${WCLr}%Sz|0rXgISXDqpD=J*jv-PICeQEtOK$>yDlT$RR7 zwb}j8`xKze#LOyv_+F;nqSO1HpxnI=B@do|lbnD0GZNpp#{M-(=Kt-^M2hwm)v;F; zGiDS447DgFg76>~He-3)h`}G#`eWPkMPu_Ul`xhLi}x|#CS$(k=Osn2t||3B(dmJ8 zuTqCr#R+)DhC`*5L9ZLSnZHd|BHsxf_~AP_9QOFUszBmKHe~TVLv=IjwpLnhXTMJn zV7iGs;d@Z*-mFCKwcB#~)t=d$c`HZ&i6h(6@ zFQxaWo5Txvt09s(0hztlwW~8xsjL`{=1I3?`phazyn8F{uPF)^xmCwvO76OI3_dr2 zRf!Bhi;O<56l{9ZYV#V_I7$pJnM>wC4cFVaZ4VGgT(z<1#k$s>yzAw-5_IL5=oumW zGPa1-jjvGCk6C(lp~5F^`TC7efl!^ssbZ6WZoq)d^KG7qD|$%Nw18UJ4G)Ne4U2~ zw`j}jy-e(&V!^ozXr-4ay{&b9QhaiO-rJ#K0`D0gqMRlysP{Gf9ct4FJXvY>_Q?kd zkOZf3yo8QZD}_J{LHmkV>>%EVPQNoVY4$OfjRZumG16kBV6Izplmj*^W@5JuRe#Y~?u8VVmM(E(?#EBl zOZBm)ViB-pb}`b}c+P2EN`8(E}T+RBSiXb_o%%$k-P6l5eIypZm7}gjZO`ef?A|p{ zl$58k9J`Xw^Xd9BYzIvNVX5t@*Im*xG#j}{L^fHjxqQVUx4mZpr*>9i$)7eR0}*<1 zDg_1?E3UeZ39G|u<{11+ORcBc{16e{fi=6@b-aNQC6{S>Ou^Xxr1ueTgNQ)I1hA9H z;*I^lH1HmE86#;}2epkw#s*)GZUW1l!tLbqYJU|xR`3NTzFN43rfB-l6>`4H({EIT zOB*puRhi$9?6zp^cW@RQRFecrk%Goi7{V-%4N~j?r=ikGM$nTc=em;~uA*``y+HRq zdtK5^q1}4w2N0PVz0Spub+Vk(#jm`e7VjcKy}$H;6b|RV4iow0@L%0Yj=kIBU6`u< zt!ne2rX9!uowSjqU!%fT2Kd?hE0=vb)V#v#x-yE#F7_q&)!jHE2dQT{N&@H5GW>}c z?edSiRMDk=K`uz0coawQ%zIIEuuW+0cHJnc^=!dXLClb*c1)7jT|I+7xoSHNJ*utp zJ-#f~21}LvyLe-oTXwQ?vt_l?27TDk}SI5Eg+I*#u{hWAhd)2;br`WB< zY#~)g)B1agn3qI?+BRLf&)IHyvO4r2`r9RIEqT*67lTIaDyoLc4R;G-nCSJ4n1&)s?QagWhlFvA5U>mMRM!U>#q2jN2KtahAbI6&z$PwiEC9Dn(p{ zKEcietpc0PQW@Buw=ops_>NVL3!5Rs~+s>tMLt-KDD3Q`YRW2iQ2J6|3Gt`j{ymSj$;g|ppdd@`@Rhv ztWyJ!>0#^vTu@4!lh4%){3xXXgw4|g#`NvVm>vgJRu);l06TNH;(4QjafD^6QHa$? zf3`&!Mn^%nRwQyFrBlnAtzJYwpH-nRIJ?#*q2xsmyNu|7hig!FZ=QhwNjz$os-dC$ z{>T#It%aLsrFs9ythnKa_#82c3Ff3a$!y|}3%|?{l^q5atro!WsUUXso`L!EWbDMn zwqpiK0lV{xa#+a~E#HxW(dy{eb8P8#5-P&l;13wjR&lLwX z(wdWhc>$?t%Zu(~O~hAo`MY?X-GqFrI18gOhxYuT6T&O=b(ydR6@q4NY;Na^Cc4mV zwRC8EQ{G%n>1oJP#8iuM{euuiJ-vbL<$~D<1=Qu@SuO%Gge_<5eA9b>W%$PbD#QQU z1uj$lq?Ud6{9sh)*87B;gaLvukNOM6e2#96S3<%P5E&fEFWO4+R14iT=Ys;3W$HV z!EbAAT1pxoBQf5Fsed#uvKSR-&kG;#p79v+W9yrLn`%xY?njO5?NzFZ9HIww?dy4RRVuv<)(c2;{UYwrQvL*ZU3FM&n)H97Tri| zsoJ~Qm&^=mLQw>@W@@dS#uiI59a9vQmJ$ScYAuS2eQ#??BS?u*`w~KI5o;tO?~V7J zPyY`yAO7DS$H8&Mac{Y<^E|KL?{}W}brl7j*JnMont|HF$!x(9;ZKzKxVW@uOVE{$ zv}`P`(B-r|V?2qPMCxkOblJ>Ipqj6gIfQ`j=qHYZK?T#H!T%N~+fpqj7q_I}$~vvX z1AlvF+q57J_KLYu9BHo&rLQz=DmgtoNg#T|Wp~&&ucjt89YsR;!S{};BR>f*yL2z5 z7q&}X2vnc=EU4SuJ5{L`LTv6CsZx|s9jRW4Cs>95B4Ek-dI|B$YU7S5clLH4vr3|6 zK21wCe_qS&iQZ`N<*#-tEyErjm#yqR|0lTaFA#VL@YXXf_I2$h$IRrP4mHp!e%E4U zGL&A!UE7t;?wH(G0TTBHim_vE;QDM}h<)(vnV@FCtJ`O~kn7WI4ggxZ0Ft6UR~Gj` z_TX~W-LZW^ytxyGN1`T3mk%1XOdgnBBl2-<7Jg=9;&&}INtcHn!s?*mhC#xB85HTlWqGM_$K zHD1#i-+{|G{wCCKEB^vs=W} zo9SDuw_${wv8yaEG{Z(#65wSU%eAdsPm(lv!O+~-Mk0?5VmrAu+R#F^yQ!4RO zEJpM#$bmPL5(|M^d)RbBuq+TMO?N@Fctc~qRLPTX}Tm4zIa)v~b z7VCF*irLb>rg^K#N)&HkH<>dp<8G-d(tg{+KNWG!$AXy zDBTH$!`Ee)W4$k%pG(eOUM8{V0Ra46P$Oa^Z4?S=8d@z04@^NWjLfHTvx*_^uGyDr zi~2LX*d;F-eRb-_Wfyt%NnJ@LJQM#7=s&PLHs&c`yGJRk@Bn34WVl*3T zsp%N#2d@Tc$4Q+NiY4Ga3kr08{o^JJ8IVzur^R?+tL}JG$oFoyU}wB`j=)azruynh z$y|fe{>GDu2ngq9T@urbtO)zoN;~`a@+k9c@#2Z{`vqc-iD^-@7I&?!0_`AFOj_z> zeynE)tK3DuL{B+YHBXp8NETkxacRoLn7+RUZNY9@&I>>cB_(2(1lC5r^prNPOz-mf z$&UO}k&3?l@<=?jc`p2p%lMqk13RLH;}@MjXJ07F55Q`9DPexTBDPo(UoCBU!-ydz zpjR0laW$| zpNv^w8`b?3C_cF0dDSg5TgU~ZAN(-t zZ_=Lerf1eh52L;+^JLLPKk_XeszavjrLPr6-_9xdzHa3Vz+}=~zoh3P6zxrXWrqyi z>*jjz#~aay%n>AO|C%#guRhfthn3u|Gfg`_(0PjZogVmUP-zsFn1+%Cq`Y%@L7&d+ zr)(M4REI5TUWd`aQ^w#V1d);;&_|V6X6#v5J@TmbB5gYu=nWee$c<5%Tbjno4U622 zEa|aYhF9W8G`cz_?$Jnozt@@GCfD@%i|T1_5N@z=g%Mhw7d-ghU2M`*TfCmXlH6x^ zz~rh%MJ+k1a_-t~z6mp+l8bU>dEs=oQ^lq)Ww8|vOJU)#v+_}DG6iauPT@8_W4-CM zS`|{y`ixs|#auxcp3>`Qy;(zady7|@ImC~6VSO){O`Vx9?EN0yw4c#JEYU~@ppv9B zJOBv}Q{r9tPuQ8YcwPpQcn>*00Cz}D&F^>Krq|g9>ufiVo6;6_o*4PH#rQEGFLGpC z;#thhcBsvRY26_f^jOU4yZpa9z1&y(CylyZ$T!n354D@!!Rx@#-%^22*r)I1R_ock8`gQ4U_b?|8u+2}VWQ>6Q%1i29Jb9)yx6U8?1t|~d)YG` z%gI|bN_vpHto3Jgwc|@x;KqfK zDJIrucMVj!_rxn|JD>0WyqxiVJ@PJDq^UakuG)Y@5DQ81br4QvP{!DE{o2n;&Gx`mEoG$bI|; zC&NjCGkg`V`1b4>%fT1e&F#;xH2E_*Gd2op9nRB`;){M2?>lODkS62{z! zs$KWSm8=L&z|JPQ&jlD3K4fUkVAD&k^eGYS!@FFIvI3u%jXMSfUQQ+2UrtfeTAm&;e-<>l1Tgs=gsjYN+Nn+jKYW!} zCNOtg^4T~K9+%427zbhoAo@2~g2t<9ha@qn0x*`eVQoP4zreq-?0Vyq@95e|Ov(EF zY(B)&ZZt7Yqe(wan%~h7SG4h=)7no_)?t;qwFNLU-^7B<^q%o5+ma9P(L^Z`p-R_m zPpgxg0SBP!+_b>E-{xN!koFFYXqaR(k;*QLRT2{heoT5 zg~s8(i;9sKO6>|qzPl~5Ydw5VaO67;5jAtG&E(awD;N2%D;k>0maha8Ugo`Mg939p zDT&!zNb6!ygTH>(Y4mHVjO$gMaXH5bZAE*X3j@Q*v$*@QfY+Lch)4y34KS{6w7m< zzf_9|Le7s7gdi30JJ?L)}f2W};BmBGlr?lJJKC!&%fgKkf z-t1D*98JR6G_PnTsMThOf{9#@XQ6YGDV{ru7dNfvNTU9DAQO5)TpFN{9q zh3o9p!x5+F@uoj*FfQO3c3nxHwlU4I49$mn$UbJ5?*)Iofn@79nHmXXFXx!aN&D=&S?Oyjl~3 zwlIU0pzXu2{w7;kS*jd0&|)=iPc^C!rlP=wmiEP&{g%Y%!r}=OEk$inK>YFPwpX!l zDO>za#fTAPqEi$u?brgOh0MbM{m=TDQ=#{nXF!$5Ae+R!IebSv^o zU}zLL>^dDi19us~btT&mZ_V~rO`(jM)*C-A!?BZq3#>}hB{io}!mz%-EO@tk0mZ_j>)nVd`Q4?4Jz?^#!Zf=EuavNuPi5>RR(w;=s+T zI=G@$jf;t-L)qL?5+U&WTOyc!uQ?=GYHes7HBq6;qT`)znBA5M0k=J3;kEssc)4IG7 z>lRLHP6~QmTJTb2ZFHCV)uX1frlfQB&z)cP0<@tqp`3Oge}o9o0@|t zNI0vB<+FMtUBK%8@gE2bdmYrf(DMtxJ}yd5TtF$}kH2pKyk@1)RetiC_2m27%#5v- z3G~E%^vdT;;i`8CR2!w{>I9N(j}@-`t5*Y|jvi5O1S(7DTc@UiPg|E%2%Pvp{$K7t z`WOBCJB>q%DC2F+Itk3;Q4B-V&V^@)=7N54t5c3sdd5xo;*#`~&jAZv8l0<@r8E~+ z7^NCuN$L2KQghAmxm$2QZKFR(hq8cAC?qlq4e*^C)pKVkzqw7$6$N4ik{{lf_q`kA zujY5igrKSV77%%Qts*4SX~XtXjB6Q_-n^bw*6j6o74HsR7{Jeo!SEYa(mHT#snrE#Av7l^U2*KjUb8nA6E@VZUa2k1 zS(?Y3u6r|DN^Ktr8pT&63U45gIPZ!>T!o2BeH4`fu0qFGSPXolv8!zo z>)f^ZUjB}3#oTSbTrXu&*i7~xIWmxP&F`35Im%ny*4A(9iT%g*gnui+_m{K()j0C{ znECuKD^vs^Z-b%z@$BbTkX!Hl;lR-bL_#CD8<(og-SC1IsSl;c{ z^T3$L8Xi5mPm|RBAoq{o+vvaweNT(wD-#~--IVa{L9aKC9};**c+#a9^$>7oR6b*3I@00`xI;=)k0Uu8Zh(?j~`wY;A~!Z_t`dUvcgR% zkH!jvt8+?9&s3aicF?>`y{7278D9W>=0pyfx6`yw^(tV7%MpL<{5r8SF;sDI@V?mc z$o)FU;a{%hYx(tP-OTPf^B_x8?z|uWOhlTecjsVX>Ns*NxBkRZ%`lKy9hnR1^-=j1 zo7?L+mRq`>rQ&uW!Q`b%1*aY;sYvrfme>>-nnS{OtrmU`|3!rPavxbyK5eq|FU`?; zU)|3^JwsV7UJ{2a-=P^Yuz0V>nIvaxchG|cm{ixwh=|Y)sVDY%pD{qzIIZutC=2KyLVlT44J0_nVwfJK*@*9 z%>9*wt)9}>wKLvt>bbZuxyG0a)79$0^6J3PZxj0td^_GQYFim}=~Cnrh3tS} zd0Ej1I)9jAuZ4<estw=&>UxYu5@ZI1qQ4p-@HdwL*?@6W@|-H+E^3J#vs;*RM83~aKrp# zwptJVxLrZSPHw$WYhg&L@%OqDY}$4i9ul*~Br|Qq-cvLAy}5aroW}i*!xNY5qIQ?} zlaJR9So`V`ue4GOIZY&00Eecou79N_$&A=(*wy7a=tokTrnX0?=HQIkC;s8PO%k&a zu-&@7qg4t5P|ufP&)V2YXg^hwd)0ntXyg|4Hx4$^?_ehfID4F%6QxvolrH<7+YPAT zS>IuMS?^~S`Zi-FW~bNTYFOHY-$m30Hu8W|caVy0BQ8Xdb$6HinGI%06TbQ!t9Fjn zWARc9-$Uv>wM6=FhHWphQ90-I*S}X|=PHxKpsqZmA zuzC*wnw%ka_{6>IinMBw&mmk8^hHGvHSM62dqk2Dz`kOe#IR3>C~M^(7&BTnVq|xB1~BM17o%Ie-Io8FrLk= zhpC6&8s2mRV;_(sMw3DJW5-q=!0tLXUY6f$7&QM`wyh$8SR(MD8r?bbVi^%W{uNc8 zd0VMmz{B)=*vKBB^bKVZ&dn0Y+J#zY1Qh+dZ;% z?T3J^&wOa(`0f+iS^?{6CHgauf^672VAby~iXY67Fa#TZ9gcDqqm1?sW5>c21LiwR zQB0WwrVW4F1Gyu5l%e_kWQ+s<`^Xv5=C=x~0|jOW%LT@j3adY~O+Oh<+oQ?zm(+H& zxyxIcPxcHHYF}Z=50jqqp^I> z5_yA9f<>V$I06@AQ;Y(PVs70WG`Q9ECd!4S*m)%Zbk<{FrcnC5XC2V@s{vVEf@r4^ zK~uPsdYT(pwHm1GFb^vHROq_`(OpSNzLE{&Eov8jPsAWoX;4YO?q=-J(gQ&Bn*uN#Bn;j&XCZe`p@ z@iW0=c7cqXN;~5r_`c3q+ET#9iz#*deuTut~}_yUiZRy?OS; z6!7}eB_JAypmjB)W<*T|!IuaGN;_Kjz!r_duN#6ntcAMWYyDI7eN^=Kz=hs9)J&AVUXI}ClKQwBonSdA^ond@@h5$}w zB!}w2$FDd8*{^NLycH!GCZ%>4QB$;`wJIWZcN3jC<;1O%-n9p3|kp$hFh|1 zG<>SqAt{2ChtayVCrK0BUs!Ona2rX*KZI;z8}%e3Y4V;!oH02DB46zFt4yhdiF51e z_)N-&BK&24zOAKVv}gBjm?6~wL@;rJYbrCk&~a%dYlD{Xf-KCNwGss5q_s*Bg&P0C zrFM{Xb$2kU%`5(^hH&>e6WQ|V$d@HUZm~u-N~KGooa-e{UzRO~j;=VGhxZH()Sg?? zD3dCaaPGO|S_f3LwHMHCG|QjF>m~56cFlXCI*IA)H5p8xZY};_cL{-D(b%gB0E)IhaNo>~rC&d`=-Fr_^q^ zY8zfeVF3l4!-!z6*sj*O=`Vt01XWGP+~If7jLu`Clyx3i4if+A5zqTk2%HBe2u2^; zNPyv912XIc5r8d)?Cq<&4#(BA>bLdK`-D!=w)!PGo);-=W7nVyKTegn}Qf_ z^Q2&=!C#{Ht+W?T*$nkmpj^yC5fKkp&wn zN8HkR>(@rljmdF`3Vx(~qP+JDt=_N?zIvh36v(%u&MS82$)lCG-5Wa9CPyB{U?!J! zVwm@^;C3^IG!YVBK{2gX!Pj$BhL0Lk^mU@s_Sl@|{e^c?kaCnsR}}}&Q`0>#1bp!K zs@z@D)Ry-f%RLK!&Ej{_^Uwnuy2o5ukX#gGq9Jn+>NvHtVi)SMA1c!pWbwtc+5Q3K z8^CXyc%ZPEHI1saiX#m8d&IBh$6#>C(Mgv zYI8vx$=+`l%tkHFYzl&d4rXG>ZTlNF7+AwjH)+@jIX_BLhDFSeZi|9Bl_1Ux?oG)N zUjK~>K%V>>GvYR?7slBga25nd9-d6N2$sHftR@AtB`?EL5aLeU3KSo-pF&1b3JBs6 zbCm>fM7s-Gd*`zx6~*QsB=9RZc@c{Mmw@qund})5FV@DX*-n_<723AExVQ+^=yNH@ z%c{vKKE*$Bw@Jyd`4GxY?QY%Tq7J9H z6Yola&T*}4D%fibVtnB5ukw2fj70(7k#q2>Dq|5HC$H?pn=HaTjVn?DvjA4(#5FW? zLLM@mL;A&$V-dyV>aI`jMos6>?hXL#WQ|_2 zxK{}D6wrTa(HJEsHt<1Sq7|S{QpdWksnl@W)w<+m)Dlq{3H%=S5}5)HvS39pxxjYc zhj_N8t&ksuv;-gC_?;p!v!>8!XCCn|N{(!LC`vDD6-MEEI&lGPyXMXR(5v4DqZ}cL zfaOD;w-^lPRUBj<2upMP!?)G;_6fkog;V<`x?pyX8D~}J@Tw>3eg&LA$k%|A zKa3q+=hHSl`{V~c4aThy4__QlmABy+F*#$y<&NOup$JBF+XkG!M&@ar@~3*woe z@GbXsBFQXrV))=m9J>j;gPz)_6F{1%wWrGAV_^Ohm<}!K$o|wN_XTjbRxyP*Hup~4Q({Ob}2d7%e;abe6VGH(&h z%k$^eGFvxhsfTo&)-)CTi{sJP)cQ$_axv62KdV;9KRh!xNGFF3PRzT5UVHzNWY^so70Q zU6k!)?U*C)J!roe#0F0WtrnR42#VPHVCWRaGRB3Cd7ySK;=(t+Ya$ooRyyA)G0ff@7dkJALG7yfX>$|M z0!?kZk3}c<7A6lq(?t2b;7#FyW3p4>&(7q}wdofBxZA}KUav#Xrac-5Z`z~z#R~kIUCUvYyasTLrhj<`NM?;CS@k1o3*MydOltk z-h>FHrD6`~)lU(j79$Vg+;!~(f7GgfBnicZiHnJ4LoXd(bNVrTfkQ6mdvNoV1wgvR zPzQ&}edZ<91f*as<_xNuF9QT*fBv}H{ywX}C@O)W2HPZqFS1Vha|d=hVXPMk{zqZ$ zgx_P_GPp_HUTM;(oL@OV3o%$rMqFA5Y&I7STU_MGx3k}yotlh07sJB&tEx@18$jIL zA|w;8tIRb!vh-^J=y&w@g>AfN4Fh%pv>sW!sG6Og93d({ zcBM(8+It%`9NgkqB9fW|zJ*$CU2A2__7m3L8B(+9<0^Me{zv8JeHNC#FYmvXYuGvs ziy#Va9L0=r@rHw2tE-zfJd6FH)HRe##PZleg%N+TCw#L&jR4}mS8iD~CZqZ-Ni^K% z0A&8y9bW*i>VM;O4u?YSKSK*DBc1Cn2%!~3f$!Z~6Gd!9<{l#stqwB4?U#_|$BZhJ z5@vC9{)y?k|L8rc{~mne@4ayL-;VlkM;*qq|60rc=T6}Azaadl&QfwqSoyHOAqJ-U K<-h#)$NvCYmK2cy literal 0 HcmV?d00001 diff --git a/examples/hypersonic_flow.py b/examples/hypersonic_flow/hypersonic_flow.py similarity index 83% rename from examples/hypersonic_flow.py rename to examples/hypersonic_flow/hypersonic_flow.py index d084f39..e2668a4 100644 --- a/examples/hypersonic_flow.py +++ b/examples/hypersonic_flow/hypersonic_flow.py @@ -12,23 +12,23 @@ domain = [(-3.0, 3.0), (-1.5, 1.5), (-0.025, 0.025)] obj = [(-0.25, 0.25), (-0.25, 0.25), (-0.5, 0.5)] dt = 1e-6 - w = 0.2 * 2.3e+15 + w = 0.25e+15 mass = 6.6422e-26 T = 273.0 n = 2.6e+19 u = np.array([0.0, -3043.0, 0.0]) - niter = 1000 - niter_sample = 100 + niter = 2500 + niter_sample = 5000 # set up mesh2 mesh = msh2d.Mesh2d() - mesh.n_cells1 = 100 - mesh.n_cells2 = 50 + mesh.n_cells1 = 200 + mesh.n_cells2 = 100 mesh.min1 = domain[0][0] mesh.min2 = domain[1][0] - mesh.cell_size1 = 0.06 - mesh.cell_size2 = 0.06 + mesh.cell_size1 = 0.03 + mesh.cell_size2 = 0.03 h = domain[2][1] - domain[2][0] @@ -78,10 +78,9 @@ print("iteration {:4}/{}".format(it + 1, niter_sample), end="\r", flush=True) solver.advance(dt) - if (it + 1)%10 == 0: - mesh.sort(solver.particles.Pos) - boxes, values = dia.analyse_2d(solver.particles.Pos, solver.particles.Vel, mesh, h) - wrt.write_planar(boxes, values, "hypersonic_{}.vtu".format(it)) + mesh.sort(solver.particles.Pos) + boxes, values = dia.analyse_2d(solver.particles.Pos, solver.particles.Vel, mesh, h) + wrt.write_planar(boxes, values, "hypersonic_{}.vtu".format(it)) wrt.write_buttom_leafs(solver.octree) diff --git a/examples/hypersonic_flow/hypersonic_flow_grid.png b/examples/hypersonic_flow/hypersonic_flow_grid.png new file mode 100644 index 0000000000000000000000000000000000000000..51b243ca33618f31465eef3946620f4b0c67bb77 GIT binary patch literal 198869 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