From 4e36ff767d4eeb01a21b0ce9358985d3dae010bd Mon Sep 17 00:00:00 2001 From: RiscadoA Date: Wed, 4 Sep 2024 19:47:45 +0000 Subject: [PATCH] =?UTF-8?q?Deploy=20preview=20for=20PR=2010=20=F0=9F=9B=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pr-preview/pr-10/03-is-here.html | 374 ---------------- pr-preview/pr-10/author/cubos-team.html | 15 - pr-preview/pr-10/category/release.html | 15 - pr-preview/pr-10/feeds/all.atom.xml | 253 +---------- pr-preview/pr-10/feeds/release.atom.xml | 253 +---------- .../pr-10/images/brand_guidelines_1.png | Bin 0 -> 46854 bytes .../pr-10/images/brand_guidelines_2.png | Bin 0 -> 88936 bytes .../pr-10/images/brand_guidelines_3.png | Bin 0 -> 50094 bytes .../pr-10/images/brand_guidelines_4.png | Bin 0 -> 43718 bytes .../images/prototype_logo_1_horizontal.png | Bin 0 -> 7580 bytes .../images/prototype_logo_1_vertical.png | Bin 0 -> 11477 bytes .../images/prototype_logo_2_horizontal.png | Bin 0 -> 11168 bytes .../images/prototype_logo_2_vertical.png | Bin 0 -> 12243 bytes pr-preview/pr-10/images/prototype_logo_3.png | Bin 0 -> 119507 bytes .../images/prototype_logo_4_horizontal.png | Bin 0 -> 7635 bytes .../images/prototype_logo_4_vertical.png | Bin 0 -> 10526 bytes pr-preview/pr-10/index.html | 400 +++++++----------- 17 files changed, 162 insertions(+), 1148 deletions(-) delete mode 100644 pr-preview/pr-10/03-is-here.html create mode 100644 pr-preview/pr-10/images/brand_guidelines_1.png create mode 100644 pr-preview/pr-10/images/brand_guidelines_2.png create mode 100644 pr-preview/pr-10/images/brand_guidelines_3.png create mode 100644 pr-preview/pr-10/images/brand_guidelines_4.png create mode 100644 pr-preview/pr-10/images/prototype_logo_1_horizontal.png create mode 100644 pr-preview/pr-10/images/prototype_logo_1_vertical.png create mode 100644 pr-preview/pr-10/images/prototype_logo_2_horizontal.png create mode 100644 pr-preview/pr-10/images/prototype_logo_2_vertical.png create mode 100644 pr-preview/pr-10/images/prototype_logo_3.png create mode 100644 pr-preview/pr-10/images/prototype_logo_4_horizontal.png create mode 100644 pr-preview/pr-10/images/prototype_logo_4_vertical.png diff --git a/pr-preview/pr-10/03-is-here.html b/pr-preview/pr-10/03-is-here.html deleted file mode 100644 index 9becd63..0000000 --- a/pr-preview/pr-10/03-is-here.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - 0.3 is here! | Cubos - - - - - - - - - - - - - - - - - - -
-
-
-
-
-
-

- - 0.3 is here! -

-

Cubos 0.3 Release!

-
-
- -
-

New 0.3 Features

-

On this release, we focused on adding essential features we've been wanting to have for quite some time now. -It ended up being a tad smaller than expected, as we spent a lot of time working on non-code related stuff, such as rebranding the project. -TODO: should we introduce the rebranding here?

-

This blog post covers the most important changes, but you can check out the full changelog in our repository.

-
-

On the Editor

-
-

Console Plugin (@Scarface1809)

-

TODO: describe changes, add a screenshot

-
-
-
-

On the Engine

-
-

A New Physics Solver (@fallenatlas)

-

Upon discovering some potential issues with regards to NVidia's patent of XPBD, some problems with how XPBD handled friction, and stability, -we decided that this would be the ideal moment to switch to another solver. -Recently, Erin Catto shared his comparison of multiple solvers, and the results of TGS Soft seemed quite promising, so we decided to give it a try... And at this point, our simulation is already more stable than before!

-

In simple terms, it differs from XPBD in the sense that it uses impulses instead of changing the position of the bodies directly, however, like XPBD it also uses substeps. On top of this it also uses soft constraints, which is what Soft stands for in it's name.

-

Since these changes were mostly in internal systems, from a user stand point, everything works the same way.

-

Additionally, we added Friction and Bounciness. For now, these are a predefined value for every body, but will be customizable in the next release with a PhysicsMaterial.

- -
-
-

Raycasting (@diogomsmiranda)

-

Raycasting is a commonly used tool in game development which we Cubos were lacking until now!

-

Raycasting is a technique used to determine the intersection of a ray with an object in a scene, right now in Cubos there are 2 shapes of colliders, -the BoxCollisionShape and the CapsuleCollisionShape.

-

Because of this, the new system argument Raycast implementation can be divided into 2 parts, collision with boxes and collision with capsules (notice that a sphere is a capsule with no height).

-

Collision with a Box

-

The collision with a box is based on the Cyrus-Beck algorithm, which is a line clipping algorithm that is used to find the intersection of a line segment with a convex polygon.

-

We can easily define a box by the minimum and maximum values of x,y,z and the ray by its origin and the direction.

-

A ray is defined then by the line formula:

-
-point = ray.origin + t*ray.direction -
-

Being t a scalar value that represents the distance from the ray's origin to the point.

-

Our objective is to find t, and check if the point is in the "right" side of the ray (the side that the ray is pointing to).

-

For that we can rearrange the previous formula to:

-
-t = (point − ray.origin) ⁄ ray.direction -
-
-OR(whendecomposedinx, y, z) -
-
-tX = (point.x − ray.origin.x) ⁄ ray.direction.xtY = (point.y − ray.origin.y) ⁄ ray.direction.ytZ = (point.z − ray.origin.z) ⁄ ray.direction.z -
-

If the point is in the right side of the ray, then the intersection point is the point that is closest to the ray's origin.

-

Now, the only thing that we still need to account is, that most of the times, we have 2 intersection points, one going in, and one going out.

-

For this we can change the way we use this formulas by instead of using the point, we use the minimum and maximum values of the box.

-

If both our t's make sense, then we have an intersection.

-

Here is an excerpt taken from the Raycast class:

-
static float intersects(cubos::engine::Raycast::Ray ray, cubos::core::geom::Box box)
-{
-    (...)
-
-    glm::vec3 max = corners[1];
-    glm::vec3 min = corners[0];
-
-    float tMinX = (min.x - ray.origin.x) / ray.direction.x;
-    float tMaxX = (max.x - ray.origin.x) / ray.direction.x;
-    float tMinY = (min.y - ray.origin.y) / ray.direction.y;
-    float tMaxY = (max.y - ray.origin.y) / ray.direction.y;
-    float tMinZ = (min.z - ray.origin.z) / ray.direction.z;
-    float tMaxZ = (max.z - ray.origin.z) / ray.direction.z;
-
-    // find the maximum of the min
-    float tMin = std::max(std::max(std::min(tMinX, tMaxX), std::min(tMinY, tMaxY)), std::min(tMinZ, tMaxZ));
-
-    // find the minimum of the max
-    float tMax = std::min(std::min(std::max(tMinX, tMaxX), std::max(tMinY, tMaxY)), std::max(tMinZ, tMaxZ));
-
-    if (tMax < 0 || tMin > tMax)
-    {
-        return -1.0F;
-    }
-
-    return tMin < 0.0F ? tMax : tMin;
-};
-

Collision with a Capsule

-

The collision with a capsule is more straight forward than the collision with a box, as we can separate a capsule into 3 parts, -a cylinder and the two spheres at the ends.

-

We then can check for a point of intersection by checking if the ray intersects the cylinder, and if it doesn't, we check if it intersects the spheres.

-

We can determine both intersections by simply subbing the the ray's equation for x and z in the cylinder and sphere equations, and then solving it for t.

-

Code excerpt from raycast.cpp for the cylinder intersection:

-
static float intersects(cubos::engine::Raycast::Ray ray, float radius, float top, float bottom)
-{
-    // We are gonna use the quadratic equation made by subbing the ray equation into the cylinder equation
-    // The cylinder equation is:
-    // x^2 + z^2 = r^2
-    // The ray equation is:
-    // x = x0 + t * dx
-    // z = z0 + t * dz
-
-    float a = ray.direction.x * ray.direction.x + ray.direction.z * ray.direction.z;
-    float b = 2.0F * (ray.direction.x * ray.origin.x + ray.direction.z * ray.origin.z);
-    float c = ray.origin.x * ray.origin.x + ray.origin.z * ray.origin.z - radius * radius;
-
-    float discriminant = b * b - 4.0F * a * c;
-    if (discriminant < 0)
-    {
-        return -1.0F; // no intersection with the cylinder
-    }
-
-    float t1 = (-b + std::sqrt(discriminant)) / (2.0F * a);
-    float t2 = (-b - std::sqrt(discriminant)) / (2.0F * a);
-
-    float max = std::max(t1, t2);
-    float min = std::min(t1, t2);
-
-    float t = min > 0.0F ? min : max;
-
-    if (t < 0.0F)
-    {
-        return -1.0F; // no valid intersection
-    }
-
-    float y = ray.origin.y + t * ray.direction.y;
-
-    if (y < bottom || y > top)
-    {
-        return -1.0F; // intersection is outside the finite cylinder
-    }
-
-    return t;
-};
-

To use the Raycast argument system, you can simply call the system Raycast.fire that takes a Ray as an argument.

-
cubos.system("raycast").call([](Raycast raycast)
-{
-    // raycast from the origin to -50,0,0
-    auto hit = Raycast.fire({{0.0F,0.0F,0.0F},{-50.0F,0.0F,0.0F}});
-    if (hit.contains())
-    {
-        // hit.point is the point where the ray hit the object
-        // hit.entitiy is the entity that was hit
-    }
-});
-
-
-

Spot Light Shadows (@tomas7770)

-

Our graphics renderer has received a new major feature in this release: shadows!

- -

It should go without saying that this feature has a big impact on the visuals of games -developed with Cubos. We've tried it on Scraps vs Zombies and the result is stunning! -It's an important step towards the kind of appealing graphics that we hope to achieve.

-

For the time being, shadows support is limited to spot lights. To enable them, all you need -to do is add a SpotShadowCaster component to the spot lights for which you want shadows to be cast, -as shown in the Shadows sample. -Both hard and soft shadows are supported, with a configurable blurRadius.

-

Behind the scenes, this works by rendering the world from each light's perspective to determine which parts -are occluded, and making these parts unlit. A large texture known as the "shadow atlas" holds this information for -every light in a quadtree structure, reducing expensive texture switching. Finally, soft shadows are implemented -as a post-processing step that effectively blurs out the shadows. -Below is a screenshot of the shadow atlas with 5 spot lights. Lines have been drawn separating -the areas of the atlas reserved for each light.

- -
-
-

Initial UI Plugin (@DiogoMendonc-a)

-

TODO: describe changes, add screenshots, maybe gifs too?

-
-
-

Arbitrary Input Combinations for Actions and Axes (@luishfonseca)

-

TODO: describe changes, show input bindings example

-

TODO: describe changes, add screenshots, maybe gifs too?

-
-
-
-

On the Core

-
-

Metrics (@roby2014)

-

We are excited to introduce the new metrics and profiling utilities! -This started becoming a priority since we detected lots of performance issues in the last Game Jam we participated.

-

These tools are designed to help track performance and gather valuable insights about code execution and data.

-

How it looks:

-
static void compute()
-{
-    CUBOS_PROFILE();
-    // ...
-} // after the scope ends, a new metric `compute` will be added, with the duration of this scope
-
-static void myFunction()
-{
-    /// simulate profiling loop
-    for (int i = 0; i < 1337; ++i)
-    {
-        // simulate frame by calling a function that does work..
-        compute();
-
-        // register some metrics, this could be FPS, entities count, ....
-        CUBOS_METRIC("count", i);
-    }
-}
-

Currently, metrics can be accessed manually through the singleton class. However, we plan to -integrate these metrics into our editor for a more streamlined experience.

-

Learn more about it on our metrics documentation :

-
-
-

Networking Utilities (@roby2014)

-

In the 0.3 release, Cubos finally has networking! This is a big step forward for our engine, bringing -powerful networking utilities such as ` Address <https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1Address.html>`_, -UdpSocket, TcpListener, -and TcpStream.

-

Creating an UDP client and sending a message is as simple as:

-
UdpSocket client;
-client.bind(8080, Address::LocalHost);
-
-const char* msg = "Hello, I'm a Cubos UDP client!";
-client.send(msg, std::strlen(msg), Address::from("server.com"), 8081))
-

Learn more about it on our networking documentation :

-
-
-

Groundwork for a Standalone Editor (@RiscadoA)

-

The original main goal for this version was to get a first prototype of our standalone editor working. -Sadly, I didn't manage to get it done in time, as it was a bigger task than I anticipated.

-

The initial approach, to which I dedicated most of my time, was to have two instances of Cubos running at the same time, on the same process - one for the editor and one for the game. -The game instance would be running within the editor instance, and would be launched by loading the game's code from a shared library (such as a DLL). -With this separation, it would be possible for the editor to interact with the game, pause it, restart it and so on, even across game code changes, without having to restart the editor.

-

So, with this in mind, I restructured some parts of the code base to get it flexible enough to support this kind of setup. -Namely, it is now possible to step Cubos instances, reset them, restart them, and other similar operations. -I also added cross platform support for loading Cubos instances from shared libraries, so that we could load the game from the editor.

-

This all seems, at first, perfect, but after discussing with the team, we realized that this approach of having two Cubos instances in the same process is not ideal at all. -Any game crash would bring down the editor, any memory leak in the game would affect the editor, and infinite loops in the game would freeze the editor. -Since solving the halting problem isn't in our roadmap, we decided that we should discard this approach, and instead try to keep the editor and the game in two separate processes.

-

So, for the next release, I'll be focusing on following this new approach. It will be a big task, and it will be a lot more difficult, as it will require a lot of inter-process communication, but it will be worth it in the end. -It will allows us to have a stable editor, whose performance is not affected (that much at least) by the game, and vice-versa.

-
-
-
-
-

Next Steps

-

TODO: I just copied this from the previous post, we should rewrite it: -We're very happy with the progress we've made on this release. The engine is becoming more and more powerful, and we were able to create a full game with it in a week!

-

For the next release, which should be out in September, we'll be WIP

-
    -
  • A standalone editor application. Our tools are currently integrated into the games themselves which is not ideal.
  • -
  • Audio support, as there's no sound at all in the engine right now.
  • -
  • Actual voxel collisions, as we currently only check the bounding boxes.
  • -
  • Basic rigidbody physics, with rotation and friction.
  • -
  • Shadows for all light types.
  • -
  • Web-support, so that games can be played in the browser.
  • -
  • Tracing and spans, for better tracking of program execution.
  • -
  • TODO: what else? review stuff above too
  • -
-

You can check out the full list of stuff we want to get done in the milestone for the next release.

-

We're currently a team of 13 people, and we're looking to expand! If you're interested in joining us, or just want to learn more about the project, join our Discord server!

-
- - -
- -
-
-
- - - \ No newline at end of file diff --git a/pr-preview/pr-10/author/cubos-team.html b/pr-preview/pr-10/author/cubos-team.html index 36b1747..ef046c2 100644 --- a/pr-preview/pr-10/author/cubos-team.html +++ b/pr-preview/pr-10/author/cubos-team.html @@ -40,21 +40,6 @@
Showing only posts by Cubos Team. Show all posts.
-
-
-

- - 0.3 is here! -

-

Cubos 0.3 Release!

-
- -
-

diff --git a/pr-preview/pr-10/category/release.html b/pr-preview/pr-10/category/release.html index 3c6d020..8cacb01 100644 --- a/pr-preview/pr-10/category/release.html +++ b/pr-preview/pr-10/category/release.html @@ -41,21 +41,6 @@ -

diff --git a/pr-preview/pr-10/feeds/all.atom.xml b/pr-preview/pr-10/feeds/all.atom.xml index 41359bf..15550c2 100644 --- a/pr-preview/pr-10/feeds/all.atom.xml +++ b/pr-preview/pr-10/feeds/all.atom.xml @@ -1,256 +1,5 @@ -Cuboshttps://cubosengine.org/2024-08-02T10:00:00+01:000.3 is here!2024-08-02T10:00:00+01:002024-08-02T10:00:00+01:00Cubos Teamtag:cubosengine.org,2024-08-02:/03-is-here.html<p>Cubos 0.3 Release!</p> -<section id="new-0-3-features"> -<h2>New 0.3 Features</h2> -<p>On this release, we focused on adding essential features we've been wanting to have for quite some time now. -It ended up being a tad smaller than expected, as we spent a lot of time working on non-code related stuff, such as rebranding the project. -<strong>TODO: should we introduce the rebranding here?</strong></p> -<p>This blog post covers the most important changes, but you can check out the full changelog in our <a href="https://github.com/GameDevTecnico/cubos/blob/main/CHANGELOG.md">repository</a>.</p> -<section id="on-the-editor"> -<h3>On the Editor</h3> -<section id="console-plugin-scarface1809"> -<h4>Console Plugin <span class="m-text m-dim">(&#64;Scarface1809)</span></h4> -<p>TODO: describe changes, add a screenshot</p> -</section> -</section> -<section id="on-the-engine"> -<h3>On the Engine</h3> -<section id="a-new-physics-solver-fallenatlas"> -<h4>A New Physics Solver <span class="m-text m-dim">(&#64;fallenatlas)</span></h4> -<p>Upon discovering some potential issues with regards to NVidia's patent of XPBD, some problems with how XPBD handled friction, and stability, -we decided that this would be the ideal moment to switch to another solver. -Recently, Erin Catto shared his <a href="https://box2d.org/posts/2024/02/solver2d/">comparison of multiple solvers</a>, and the results of TGS Soft seemed quite promising, so we decided to give it a try... And at this point, our simulation is already more stable than before!</p> -<p>In simple terms, it differs from XPBD in the sense that it uses impulses instead of changing the position of the bodies directly, however, like XPBD it also uses substeps. On top of this it also uses soft constraints, which is what Soft stands for in it's name.</p> -<p>Since these changes were mostly in internal systems, from a user stand point, everything works the same way.</p> -<p>Additionally, we added Friction and Bounciness. For now, these are a predefined value for every body, but will be customizable in the next release with a <code>PhysicsMaterial</code>.</p> -<img class="m-image" src="images/complex_physics_sample_tgs_soft.gif" /> -</section> -<section id="raycasting-diogomsmiranda"> -<h4>Raycasting <span class="m-text m-dim">(&#64;diogomsmiranda)</span></h4> -<p>Raycasting is a commonly used tool in game development which we Cubos were lacking until now!</p> -<p>Raycasting is a technique used to determine the intersection of a ray with an object in a scene, right now in Cubos there are 2 shapes of colliders, -the <code>BoxCollisionShape</code> and the <code>CapsuleCollisionShape</code>.</p> -<p>Because of this, the new system argument <code>Raycast</code> implementation can be divided into 2 parts, <strong>collision with boxes</strong> and <strong>collision with capsules</strong> (notice that a sphere is a capsule with no height).</p> -<p><strong>Collision with a Box</strong></p> -<p>The collision with a box is based on the Cyrus-Beck algorithm, which is a line clipping algorithm that is used to find the intersection of a line segment with a convex polygon.</p> -<p>We can easily define a box by the minimum and maximum values of x,y,z and the ray by its origin and the direction.</p> -<p>A ray is defined then by the line formula:</p> -<div class="formula"> -<i>point</i> = <i>ray</i>.<i>origin</i> + <i>t</i>*<i>ray</i>.<i>direction</i> -</div> -<p>Being t a scalar value that represents the distance from the ray's origin to the point.</p> -<p>Our objective is to find t, and check if the point is in the &quot;right&quot; side of the ray (the side that the ray is pointing to).</p> -<p>For that we can rearrange the previous formula to:</p> -<div class="formula"> -<i>t</i> = (<i>point</i> − <i>ray</i>.<i>origin</i>) ⁄ <i>ray</i>.<i>direction</i> -</div> -<div class="formula"> -<i>OR</i>(<i>when</i><i>decomposed</i><i>in</i><i>x</i>, <i>y</i>, <i>z</i>) -</div> -<div class="formula"> -<i>tX</i> = (<i>point</i>.<i>x</i> − <i>ray</i>.<i>origin</i>.<i>x</i>) ⁄ <i>ray</i>.<i>direction</i>.<i>x</i><i>tY</i> = (<i>point</i>.<i>y</i> − <i>ray</i>.<i>origin</i>.<i>y</i>) ⁄ <i>ray</i>.<i>direction</i>.<i>y</i><i>tZ</i> = (<i>point</i>.<i>z</i> − <i>ray</i>.<i>origin</i>.<i>z</i>) ⁄ <i>ray</i>.<i>direction</i>.<i>z</i> -</div> -<p>If the point is in the right side of the ray, then the intersection point is the point that is closest to the ray's origin.</p> -<p>Now, the only thing that we still need to account is, that most of the times, we have 2 intersection points, one going in, and one going out.</p> -<p>For this we can change the way we use this formulas by instead of using the point, we use the minimum and maximum values of the box.</p> -<p>If both our t's make sense, then we have an intersection.</p> -<p>Here is an excerpt taken from the <code>Raycast</code> class:</p> -<pre class="m-code"><span class="k">static</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="nf">intersects</span><span class="p">(</span><span class="n">cubos</span><span class="o">::</span><span class="n">engine</span><span class="o">::</span><span class="n">Raycast</span><span class="o">::</span><span class="n">Ray</span><span class="w"> </span><span class="n">ray</span><span class="p">,</span><span class="w"> </span><span class="n">cubos</span><span class="o">::</span><span class="n">core</span><span class="o">::</span><span class="n">geom</span><span class="o">::</span><span class="n">Box</span><span class="w"> </span><span class="n">box</span><span class="p">)</span> -<span class="p">{</span> -<span class="w"> </span><span class="p">(...)</span> - -<span class="w"> </span><span class="n">glm</span><span class="o">::</span><span class="n">vec3</span><span class="w"> </span><span class="n">max</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">corners</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> -<span class="w"> </span><span class="n">glm</span><span class="o">::</span><span class="n">vec3</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">corners</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMinX</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">min</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMaxX</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">max</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMinY</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">min</span><span class="p">.</span><span class="n">y</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">y</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMaxY</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">max</span><span class="p">.</span><span class="n">y</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">y</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMinZ</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">min</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMaxZ</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">max</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="p">;</span> - -<span class="w"> </span><span class="c1">// find the maximum of the min</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMin</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">tMinX</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxX</span><span class="p">),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">tMinY</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxY</span><span class="p">)),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">tMinZ</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxZ</span><span class="p">));</span> - -<span class="w"> </span><span class="c1">// find the minimum of the max</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMax</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">tMinX</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxX</span><span class="p">),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">tMinY</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxY</span><span class="p">)),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">tMinZ</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxZ</span><span class="p">));</span> - -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">tMax</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">tMin</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">tMax</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">tMin</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mf">0.0F</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="n">tMax</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">tMin</span><span class="p">;</span> -<span class="p">};</span></pre> -<p><strong>Collision with a Capsule</strong></p> -<p>The collision with a capsule is more straight forward than the collision with a box, as we can separate a capsule into 3 parts, -a cylinder and the two spheres at the ends.</p> -<p>We then can check for a point of intersection by checking if the ray intersects the cylinder, and if it doesn't, we check if it intersects the spheres.</p> -<p>We can determine both intersections by simply subbing the the ray's equation for x and z in the cylinder and sphere equations, and then solving it for t.</p> -<p>Code excerpt from raycast.cpp for the cylinder intersection:</p> -<pre class="m-code"><span class="k">static</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="nf">intersects</span><span class="p">(</span><span class="n">cubos</span><span class="o">::</span><span class="n">engine</span><span class="o">::</span><span class="n">Raycast</span><span class="o">::</span><span class="n">Ray</span><span class="w"> </span><span class="n">ray</span><span class="p">,</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">radius</span><span class="p">,</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">top</span><span class="p">,</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">bottom</span><span class="p">)</span> -<span class="p">{</span> -<span class="w"> </span><span class="c1">// We are gonna use the quadratic equation made by subbing the ray equation into the cylinder equation</span> -<span class="w"> </span><span class="c1">// The cylinder equation is:</span> -<span class="w"> </span><span class="c1">// x^2 + z^2 = r^2</span> -<span class="w"> </span><span class="c1">// The ray equation is:</span> -<span class="w"> </span><span class="c1">// x = x0 + t * dx</span> -<span class="w"> </span><span class="c1">// z = z0 + t * dz</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">2.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="p">(</span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="p">);</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">radius</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">radius</span><span class="p">;</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">discriminant</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">4.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">c</span><span class="p">;</span> -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">discriminant</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span><span class="w"> </span><span class="c1">// no intersection with the cylinder</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">t1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="n">b</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">sqrt</span><span class="p">(</span><span class="n">discriminant</span><span class="p">))</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="mf">2.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">a</span><span class="p">);</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">t2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="n">b</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">sqrt</span><span class="p">(</span><span class="n">discriminant</span><span class="p">))</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="mf">2.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">a</span><span class="p">);</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">max</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">t1</span><span class="p">,</span><span class="w"> </span><span class="n">t2</span><span class="p">);</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">t1</span><span class="p">,</span><span class="w"> </span><span class="n">t2</span><span class="p">);</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mf">0.0F</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">max</span><span class="p">;</span> - -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">t</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mf">0.0F</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span><span class="w"> </span><span class="c1">// no valid intersection</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">y</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">y</span><span class="p">;</span> - -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">y</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">bottom</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">top</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span><span class="w"> </span><span class="c1">// intersection is outside the finite cylinder</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">t</span><span class="p">;</span> -<span class="p">};</span></pre> -<p>To use the <code>Raycast</code> argument system, you can simply call the system <code>Raycast.fire</code> that takes a <code>Ray</code> as an argument.</p> -<pre class="m-code"><span class="n">cubos</span><span class="p">.</span><span class="n">system</span><span class="p">(</span><span class="s">&quot;raycast&quot;</span><span class="p">).</span><span class="n">call</span><span class="p">([](</span><span class="n">Raycast</span><span class="w"> </span><span class="n">raycast</span><span class="p">)</span> -<span class="p">{</span> -<span class="w"> </span><span class="c1">// raycast from the origin to -50,0,0</span> -<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">hit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Raycast</span><span class="p">.</span><span class="n">fire</span><span class="p">({{</span><span class="mf">0.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">},{</span><span class="mf">-50.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">}});</span> -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">hit</span><span class="p">.</span><span class="n">contains</span><span class="p">())</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="c1">// hit.point is the point where the ray hit the object</span> -<span class="w"> </span><span class="c1">// hit.entitiy is the entity that was hit</span> -<span class="w"> </span><span class="p">}</span> -<span class="p">});</span></pre> -</section> -<section id="spot-light-shadows-tomas7770"> -<h4>Spot Light Shadows <span class="m-text m-dim">(&#64;tomas7770)</span></h4> -<p>Our graphics renderer has received a new major feature in this release: shadows!</p> -<img class="m-image" src="images/scraps_vs_zombies_shadows.png" /> -<p>It should go without saying that this feature has a big impact on the visuals of games -developed with Cubos. We've tried it on <em>Scraps vs Zombies</em> and the result is stunning! -It's an important step towards the kind of appealing graphics that we hope to achieve.</p> -<p>For the time being, shadows support is limited to spot lights. To enable them, all you need -to do is add a <a href="https://docs.cubosengine.org/structcubos_1_1engine_1_1SpotShadowCaster.html">SpotShadowCaster</a> component to the spot lights for which you want shadows to be cast, -as shown in the <a href="https://github.com/GameDevTecnico/cubos/tree/main/engine/samples/render/shadows">Shadows sample</a>. -Both hard and soft shadows are supported, with a configurable <a href="https://docs.cubosengine.org/structcubos_1_1engine_1_1ShadowCaster.html#a450e1d2c732f1c38403a428eb0536660">blurRadius</a>.</p> -<p>Behind the scenes, this works by rendering the world from each light's perspective to determine which parts -are occluded, and making these parts unlit. A large texture known as the &quot;shadow atlas&quot; holds this information for -every light in a quadtree structure, reducing expensive texture switching. Finally, soft shadows are implemented -as a post-processing step that effectively blurs out the shadows. -Below is a screenshot of the shadow atlas with 5 spot lights. Lines have been drawn separating -the areas of the atlas reserved for each light.</p> -<img class="m-image" src="images/shadow_atlas.png" /> -</section> -<section id="initial-ui-plugin-diogomendonc-a"> -<h4>Initial UI Plugin <span class="m-text m-dim">(&#64;DiogoMendonc-a)</span></h4> -<p>TODO: describe changes, add screenshots, maybe gifs too?</p> -</section> -<section id="arbitrary-input-combinations-for-actions-and-axes-luishfonseca"> -<h4>Arbitrary Input Combinations for Actions and Axes <span class="m-text m-dim">(&#64;luishfonseca)</span></h4> -<p>TODO: describe changes, show input bindings example</p> -<p>TODO: describe changes, add screenshots, maybe gifs too?</p> -</section> -</section> -<section id="on-the-core"> -<h3>On the Core</h3> -<section id="metrics-roby2014"> -<h4>Metrics <span class="m-text m-dim">(&#64;roby2014)</span></h4> -<p>We are excited to introduce the new metrics and profiling utilities! -This started becoming a priority since we detected lots of performance issues in the last Game Jam we participated.</p> -<p>These tools are designed to help track performance and gather valuable insights about code execution and data.</p> -<p>How it looks:</p> -<pre class="m-code"><span class="k">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">compute</span><span class="p">()</span> -<span class="p">{</span> -<span class="w"> </span><span class="n">CUBOS_PROFILE</span><span class="p">();</span> -<span class="w"> </span><span class="c1">// ...</span> -<span class="p">}</span><span class="w"> </span><span class="c1">// after the scope ends, a new metric `compute` will be added, with the duration of this scope</span> - -<span class="k">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">myFunction</span><span class="p">()</span> -<span class="p">{</span> -<span class="w"> </span><span class="c1">/// simulate profiling loop</span> -<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">1337</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="c1">// simulate frame by calling a function that does work..</span> -<span class="w"> </span><span class="n">compute</span><span class="p">();</span> - -<span class="w"> </span><span class="c1">// register some metrics, this could be FPS, entities count, ....</span> -<span class="w"> </span><span class="n">CUBOS_METRIC</span><span class="p">(</span><span class="s">&quot;count&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">);</span> -<span class="w"> </span><span class="p">}</span> -<span class="p">}</span></pre> -<p>Currently, metrics can be accessed manually through the singleton class. However, we plan to -integrate these metrics into our editor for a more streamlined experience.</p> -<p>Learn more about it on our <a href="https://docs.cubosengine.org/examples-core-metrics.html">metrics documentation</a> :</p> -</section> -<section id="networking-utilities-roby2014"> -<h4>Networking Utilities <span class="m-text m-dim">(&#64;roby2014)</span></h4> -<p>In the 0.3 release, Cubos finally has networking! This is a big step forward for our engine, bringing -powerful networking utilities such as ` Address &lt;<a class="m-link-wrap" href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1Address.html">https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1Address.html</a>&gt;`_, -<a href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1UdpSocket.html">UdpSocket</a>, <a href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1TcpListener.html">TcpListener</a>, -and <a href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1TcpStream.html">TcpStream</a>.</p> -<p>Creating an UDP client and sending a message is as simple as:</p> -<pre class="m-code"><span class="n">UdpSocket</span><span class="w"> </span><span class="n">client</span><span class="p">;</span> -<span class="n">client</span><span class="p">.</span><span class="n">bind</span><span class="p">(</span><span class="mi">8080</span><span class="p">,</span><span class="w"> </span><span class="n">Address</span><span class="o">::</span><span class="n">LocalHost</span><span class="p">);</span> - -<span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;Hello, I&#39;m a Cubos UDP client!&quot;</span><span class="p">;</span> -<span class="n">client</span><span class="p">.</span><span class="n">send</span><span class="p">(</span><span class="n">msg</span><span class="p">,</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">strlen</span><span class="p">(</span><span class="n">msg</span><span class="p">),</span><span class="w"> </span><span class="n">Address</span><span class="o">::</span><span class="n">from</span><span class="p">(</span><span class="s">&quot;server.com&quot;</span><span class="p">),</span><span class="w"> </span><span class="mi">8081</span><span class="p">))</span></pre> -<p>Learn more about it on our <a href="https://docs.cubosengine.org/examples-core-networking.html">networking documentation</a> :</p> -</section> -<section id="groundwork-for-a-standalone-editor-riscadoa"> -<h4>Groundwork for a Standalone Editor <span class="m-text m-dim">(&#64;RiscadoA)</span></h4> -<p>The original main goal for this version was to get a first prototype of our standalone editor working. -Sadly, I didn't manage to get it done in time, as it was a bigger task than I anticipated.</p> -<p>The initial approach, to which I dedicated most of my time, was to have two instances of Cubos running at the same time, on the <strong>same process</strong> - one for the editor and one for the game. -The game instance would be running within the editor instance, and would be launched by loading the game's code from a shared library (such as a DLL). -With this separation, it would be possible for the editor to interact with the game, pause it, restart it and so on, even across game code changes, without having to restart the editor.</p> -<p>So, with this in mind, I restructured some parts of the code base to get it flexible enough to support this kind of setup. -Namely, it is now possible to step Cubos instances, reset them, restart them, and other similar operations. -I also added cross platform support for loading Cubos instances from shared libraries, so that we could load the game from the editor.</p> -<p>This all seems, at first, perfect, but after discussing with the team, we realized that this approach of having two Cubos instances in the same process is not ideal at all. -Any game crash would bring down the editor, any memory leak in the game would affect the editor, and infinite loops in the game would freeze the editor. -Since solving the halting problem isn't in our roadmap, we decided that we should discard this approach, and instead try to keep the <strong>editor and the game in two separate processes</strong>.</p> -<p>So, for the next release, I'll be focusing on following this new approach. It will be a big task, and it will be a lot more difficult, as it will require a lot of inter-process communication, but it will be worth it in the end. -It will allows us to have a stable editor, whose performance is not affected (that much at least) by the game, and vice-versa.</p> -</section> -</section> -</section> -<section id="next-steps"> -<h2>Next Steps</h2> -<p><strong>TODO: I just copied this from the previous post, we should rewrite it:</strong> -We're very happy with the progress we've made on this release. The engine is becoming more and more powerful, and we were able to create a full game with it in a week!</p> -<p>For the next release, which should be out in September, we'll be <strong>WIP</strong></p> -<ul> -<li>A <strong>standalone editor application</strong>. Our tools are currently integrated into the games themselves which is not ideal.</li> -<li><strong>Audio support</strong>, as there's no sound at all in the engine right now.</li> -<li>Actual <strong>voxel collisions</strong>, as we currently only check the bounding boxes.</li> -<li>Basic <strong>rigidbody physics</strong>, with rotation and friction.</li> -<li><strong>Shadows</strong> for all light types.</li> -<li><strong>Web-support</strong>, so that games can be played in the browser.</li> -<li><strong>Tracing and spans</strong>, for better tracking of program execution.</li> -<li><strong>TODO: what else? review stuff above too</strong></li> -</ul> -<p>You can check out the full list of stuff we want to get done in the <a href="https://github.com/GameDevTecnico/cubos/milestone/27">milestone</a> for the next release.</p> -<p>We're currently a team of 13 people, and <strong>we're looking to expand</strong>! If you're interested in joining us, or just want to learn more about the project, join our <a href="https://discord.gg/WjTtcNTRqD">Discord server</a>!</p> -</section> -Coffee'n Jam and... 0.2!2024-05-21T10:00:00+01:002024-05-21T10:00:00+01:00Cubos Teamtag:cubosengine.org,2024-05-21:/coffeen-jam-and-02.html<p>Cubos 0.2 Release and Coffee'n Jam!</p> +Cuboshttps://cubosengine.org/2024-05-21T10:00:00+01:00Coffee'n Jam and... 0.2!2024-05-21T10:00:00+01:002024-05-21T10:00:00+01:00Cubos Teamtag:cubosengine.org,2024-05-21:/coffeen-jam-and-02.html<p>Cubos 0.2 Release and Coffee'n Jam!</p> <section id="coffee-n-jam"> <h2>Coffee'n Jam</h2> <p>From 26th of April to 3rd of May, &#64;RiscadoA and &#64;joaomanita participated in the Coffee'n Jam, a game jam organized by GameDev Técnico, with our engine, <strong>Cubos</strong>. diff --git a/pr-preview/pr-10/feeds/release.atom.xml b/pr-preview/pr-10/feeds/release.atom.xml index c8d3f92..bd72b88 100644 --- a/pr-preview/pr-10/feeds/release.atom.xml +++ b/pr-preview/pr-10/feeds/release.atom.xml @@ -1,256 +1,5 @@ -Cubos - Releasehttps://cubosengine.org/2024-08-02T10:00:00+01:000.3 is here!2024-08-02T10:00:00+01:002024-08-02T10:00:00+01:00Cubos Teamtag:cubosengine.org,2024-08-02:/03-is-here.html<p>Cubos 0.3 Release!</p> -<section id="new-0-3-features"> -<h2>New 0.3 Features</h2> -<p>On this release, we focused on adding essential features we've been wanting to have for quite some time now. -It ended up being a tad smaller than expected, as we spent a lot of time working on non-code related stuff, such as rebranding the project. -<strong>TODO: should we introduce the rebranding here?</strong></p> -<p>This blog post covers the most important changes, but you can check out the full changelog in our <a href="https://github.com/GameDevTecnico/cubos/blob/main/CHANGELOG.md">repository</a>.</p> -<section id="on-the-editor"> -<h3>On the Editor</h3> -<section id="console-plugin-scarface1809"> -<h4>Console Plugin <span class="m-text m-dim">(&#64;Scarface1809)</span></h4> -<p>TODO: describe changes, add a screenshot</p> -</section> -</section> -<section id="on-the-engine"> -<h3>On the Engine</h3> -<section id="a-new-physics-solver-fallenatlas"> -<h4>A New Physics Solver <span class="m-text m-dim">(&#64;fallenatlas)</span></h4> -<p>Upon discovering some potential issues with regards to NVidia's patent of XPBD, some problems with how XPBD handled friction, and stability, -we decided that this would be the ideal moment to switch to another solver. -Recently, Erin Catto shared his <a href="https://box2d.org/posts/2024/02/solver2d/">comparison of multiple solvers</a>, and the results of TGS Soft seemed quite promising, so we decided to give it a try... And at this point, our simulation is already more stable than before!</p> -<p>In simple terms, it differs from XPBD in the sense that it uses impulses instead of changing the position of the bodies directly, however, like XPBD it also uses substeps. On top of this it also uses soft constraints, which is what Soft stands for in it's name.</p> -<p>Since these changes were mostly in internal systems, from a user stand point, everything works the same way.</p> -<p>Additionally, we added Friction and Bounciness. For now, these are a predefined value for every body, but will be customizable in the next release with a <code>PhysicsMaterial</code>.</p> -<img class="m-image" src="images/complex_physics_sample_tgs_soft.gif" /> -</section> -<section id="raycasting-diogomsmiranda"> -<h4>Raycasting <span class="m-text m-dim">(&#64;diogomsmiranda)</span></h4> -<p>Raycasting is a commonly used tool in game development which we Cubos were lacking until now!</p> -<p>Raycasting is a technique used to determine the intersection of a ray with an object in a scene, right now in Cubos there are 2 shapes of colliders, -the <code>BoxCollisionShape</code> and the <code>CapsuleCollisionShape</code>.</p> -<p>Because of this, the new system argument <code>Raycast</code> implementation can be divided into 2 parts, <strong>collision with boxes</strong> and <strong>collision with capsules</strong> (notice that a sphere is a capsule with no height).</p> -<p><strong>Collision with a Box</strong></p> -<p>The collision with a box is based on the Cyrus-Beck algorithm, which is a line clipping algorithm that is used to find the intersection of a line segment with a convex polygon.</p> -<p>We can easily define a box by the minimum and maximum values of x,y,z and the ray by its origin and the direction.</p> -<p>A ray is defined then by the line formula:</p> -<div class="formula"> -<i>point</i> = <i>ray</i>.<i>origin</i> + <i>t</i>*<i>ray</i>.<i>direction</i> -</div> -<p>Being t a scalar value that represents the distance from the ray's origin to the point.</p> -<p>Our objective is to find t, and check if the point is in the &quot;right&quot; side of the ray (the side that the ray is pointing to).</p> -<p>For that we can rearrange the previous formula to:</p> -<div class="formula"> -<i>t</i> = (<i>point</i> − <i>ray</i>.<i>origin</i>) ⁄ <i>ray</i>.<i>direction</i> -</div> -<div class="formula"> -<i>OR</i>(<i>when</i><i>decomposed</i><i>in</i><i>x</i>, <i>y</i>, <i>z</i>) -</div> -<div class="formula"> -<i>tX</i> = (<i>point</i>.<i>x</i> − <i>ray</i>.<i>origin</i>.<i>x</i>) ⁄ <i>ray</i>.<i>direction</i>.<i>x</i><i>tY</i> = (<i>point</i>.<i>y</i> − <i>ray</i>.<i>origin</i>.<i>y</i>) ⁄ <i>ray</i>.<i>direction</i>.<i>y</i><i>tZ</i> = (<i>point</i>.<i>z</i> − <i>ray</i>.<i>origin</i>.<i>z</i>) ⁄ <i>ray</i>.<i>direction</i>.<i>z</i> -</div> -<p>If the point is in the right side of the ray, then the intersection point is the point that is closest to the ray's origin.</p> -<p>Now, the only thing that we still need to account is, that most of the times, we have 2 intersection points, one going in, and one going out.</p> -<p>For this we can change the way we use this formulas by instead of using the point, we use the minimum and maximum values of the box.</p> -<p>If both our t's make sense, then we have an intersection.</p> -<p>Here is an excerpt taken from the <code>Raycast</code> class:</p> -<pre class="m-code"><span class="k">static</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="nf">intersects</span><span class="p">(</span><span class="n">cubos</span><span class="o">::</span><span class="n">engine</span><span class="o">::</span><span class="n">Raycast</span><span class="o">::</span><span class="n">Ray</span><span class="w"> </span><span class="n">ray</span><span class="p">,</span><span class="w"> </span><span class="n">cubos</span><span class="o">::</span><span class="n">core</span><span class="o">::</span><span class="n">geom</span><span class="o">::</span><span class="n">Box</span><span class="w"> </span><span class="n">box</span><span class="p">)</span> -<span class="p">{</span> -<span class="w"> </span><span class="p">(...)</span> - -<span class="w"> </span><span class="n">glm</span><span class="o">::</span><span class="n">vec3</span><span class="w"> </span><span class="n">max</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">corners</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> -<span class="w"> </span><span class="n">glm</span><span class="o">::</span><span class="n">vec3</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">corners</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMinX</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">min</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMaxX</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">max</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMinY</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">min</span><span class="p">.</span><span class="n">y</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">y</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMaxY</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">max</span><span class="p">.</span><span class="n">y</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">y</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMinZ</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">min</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMaxZ</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">max</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="p">;</span> - -<span class="w"> </span><span class="c1">// find the maximum of the min</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMin</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">tMinX</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxX</span><span class="p">),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">tMinY</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxY</span><span class="p">)),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">tMinZ</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxZ</span><span class="p">));</span> - -<span class="w"> </span><span class="c1">// find the minimum of the max</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">tMax</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">tMinX</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxX</span><span class="p">),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">tMinY</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxY</span><span class="p">)),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">tMinZ</span><span class="p">,</span><span class="w"> </span><span class="n">tMaxZ</span><span class="p">));</span> - -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">tMax</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">tMin</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">tMax</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">tMin</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mf">0.0F</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="n">tMax</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">tMin</span><span class="p">;</span> -<span class="p">};</span></pre> -<p><strong>Collision with a Capsule</strong></p> -<p>The collision with a capsule is more straight forward than the collision with a box, as we can separate a capsule into 3 parts, -a cylinder and the two spheres at the ends.</p> -<p>We then can check for a point of intersection by checking if the ray intersects the cylinder, and if it doesn't, we check if it intersects the spheres.</p> -<p>We can determine both intersections by simply subbing the the ray's equation for x and z in the cylinder and sphere equations, and then solving it for t.</p> -<p>Code excerpt from raycast.cpp for the cylinder intersection:</p> -<pre class="m-code"><span class="k">static</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="nf">intersects</span><span class="p">(</span><span class="n">cubos</span><span class="o">::</span><span class="n">engine</span><span class="o">::</span><span class="n">Raycast</span><span class="o">::</span><span class="n">Ray</span><span class="w"> </span><span class="n">ray</span><span class="p">,</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">radius</span><span class="p">,</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">top</span><span class="p">,</span><span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">bottom</span><span class="p">)</span> -<span class="p">{</span> -<span class="w"> </span><span class="c1">// We are gonna use the quadratic equation made by subbing the ray equation into the cylinder equation</span> -<span class="w"> </span><span class="c1">// The cylinder equation is:</span> -<span class="w"> </span><span class="c1">// x^2 + z^2 = r^2</span> -<span class="w"> </span><span class="c1">// The ray equation is:</span> -<span class="w"> </span><span class="c1">// x = x0 + t * dx</span> -<span class="w"> </span><span class="c1">// z = z0 + t * dz</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="p">;</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">2.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="p">(</span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="p">);</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">z</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">radius</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">radius</span><span class="p">;</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">discriminant</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mf">4.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">c</span><span class="p">;</span> -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">discriminant</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span><span class="w"> </span><span class="c1">// no intersection with the cylinder</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">t1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="n">b</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">sqrt</span><span class="p">(</span><span class="n">discriminant</span><span class="p">))</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="mf">2.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">a</span><span class="p">);</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">t2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="n">b</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">sqrt</span><span class="p">(</span><span class="n">discriminant</span><span class="p">))</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="mf">2.0F</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">a</span><span class="p">);</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">max</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">max</span><span class="p">(</span><span class="n">t1</span><span class="p">,</span><span class="w"> </span><span class="n">t2</span><span class="p">);</span> -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">min</span><span class="p">(</span><span class="n">t1</span><span class="p">,</span><span class="w"> </span><span class="n">t2</span><span class="p">);</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mf">0.0F</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="n">min</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">max</span><span class="p">;</span> - -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">t</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mf">0.0F</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span><span class="w"> </span><span class="c1">// no valid intersection</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">origin</span><span class="p">.</span><span class="n">y</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">ray</span><span class="p">.</span><span class="n">direction</span><span class="p">.</span><span class="n">y</span><span class="p">;</span> - -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">y</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">bottom</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">top</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mf">-1.0F</span><span class="p">;</span><span class="w"> </span><span class="c1">// intersection is outside the finite cylinder</span> -<span class="w"> </span><span class="p">}</span> - -<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">t</span><span class="p">;</span> -<span class="p">};</span></pre> -<p>To use the <code>Raycast</code> argument system, you can simply call the system <code>Raycast.fire</code> that takes a <code>Ray</code> as an argument.</p> -<pre class="m-code"><span class="n">cubos</span><span class="p">.</span><span class="n">system</span><span class="p">(</span><span class="s">&quot;raycast&quot;</span><span class="p">).</span><span class="n">call</span><span class="p">([](</span><span class="n">Raycast</span><span class="w"> </span><span class="n">raycast</span><span class="p">)</span> -<span class="p">{</span> -<span class="w"> </span><span class="c1">// raycast from the origin to -50,0,0</span> -<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">hit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Raycast</span><span class="p">.</span><span class="n">fire</span><span class="p">({{</span><span class="mf">0.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">},{</span><span class="mf">-50.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">,</span><span class="mf">0.0F</span><span class="p">}});</span> -<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">hit</span><span class="p">.</span><span class="n">contains</span><span class="p">())</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="c1">// hit.point is the point where the ray hit the object</span> -<span class="w"> </span><span class="c1">// hit.entitiy is the entity that was hit</span> -<span class="w"> </span><span class="p">}</span> -<span class="p">});</span></pre> -</section> -<section id="spot-light-shadows-tomas7770"> -<h4>Spot Light Shadows <span class="m-text m-dim">(&#64;tomas7770)</span></h4> -<p>Our graphics renderer has received a new major feature in this release: shadows!</p> -<img class="m-image" src="images/scraps_vs_zombies_shadows.png" /> -<p>It should go without saying that this feature has a big impact on the visuals of games -developed with Cubos. We've tried it on <em>Scraps vs Zombies</em> and the result is stunning! -It's an important step towards the kind of appealing graphics that we hope to achieve.</p> -<p>For the time being, shadows support is limited to spot lights. To enable them, all you need -to do is add a <a href="https://docs.cubosengine.org/structcubos_1_1engine_1_1SpotShadowCaster.html">SpotShadowCaster</a> component to the spot lights for which you want shadows to be cast, -as shown in the <a href="https://github.com/GameDevTecnico/cubos/tree/main/engine/samples/render/shadows">Shadows sample</a>. -Both hard and soft shadows are supported, with a configurable <a href="https://docs.cubosengine.org/structcubos_1_1engine_1_1ShadowCaster.html#a450e1d2c732f1c38403a428eb0536660">blurRadius</a>.</p> -<p>Behind the scenes, this works by rendering the world from each light's perspective to determine which parts -are occluded, and making these parts unlit. A large texture known as the &quot;shadow atlas&quot; holds this information for -every light in a quadtree structure, reducing expensive texture switching. Finally, soft shadows are implemented -as a post-processing step that effectively blurs out the shadows. -Below is a screenshot of the shadow atlas with 5 spot lights. Lines have been drawn separating -the areas of the atlas reserved for each light.</p> -<img class="m-image" src="images/shadow_atlas.png" /> -</section> -<section id="initial-ui-plugin-diogomendonc-a"> -<h4>Initial UI Plugin <span class="m-text m-dim">(&#64;DiogoMendonc-a)</span></h4> -<p>TODO: describe changes, add screenshots, maybe gifs too?</p> -</section> -<section id="arbitrary-input-combinations-for-actions-and-axes-luishfonseca"> -<h4>Arbitrary Input Combinations for Actions and Axes <span class="m-text m-dim">(&#64;luishfonseca)</span></h4> -<p>TODO: describe changes, show input bindings example</p> -<p>TODO: describe changes, add screenshots, maybe gifs too?</p> -</section> -</section> -<section id="on-the-core"> -<h3>On the Core</h3> -<section id="metrics-roby2014"> -<h4>Metrics <span class="m-text m-dim">(&#64;roby2014)</span></h4> -<p>We are excited to introduce the new metrics and profiling utilities! -This started becoming a priority since we detected lots of performance issues in the last Game Jam we participated.</p> -<p>These tools are designed to help track performance and gather valuable insights about code execution and data.</p> -<p>How it looks:</p> -<pre class="m-code"><span class="k">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">compute</span><span class="p">()</span> -<span class="p">{</span> -<span class="w"> </span><span class="n">CUBOS_PROFILE</span><span class="p">();</span> -<span class="w"> </span><span class="c1">// ...</span> -<span class="p">}</span><span class="w"> </span><span class="c1">// after the scope ends, a new metric `compute` will be added, with the duration of this scope</span> - -<span class="k">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">myFunction</span><span class="p">()</span> -<span class="p">{</span> -<span class="w"> </span><span class="c1">/// simulate profiling loop</span> -<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">1337</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span> -<span class="w"> </span><span class="p">{</span> -<span class="w"> </span><span class="c1">// simulate frame by calling a function that does work..</span> -<span class="w"> </span><span class="n">compute</span><span class="p">();</span> - -<span class="w"> </span><span class="c1">// register some metrics, this could be FPS, entities count, ....</span> -<span class="w"> </span><span class="n">CUBOS_METRIC</span><span class="p">(</span><span class="s">&quot;count&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">);</span> -<span class="w"> </span><span class="p">}</span> -<span class="p">}</span></pre> -<p>Currently, metrics can be accessed manually through the singleton class. However, we plan to -integrate these metrics into our editor for a more streamlined experience.</p> -<p>Learn more about it on our <a href="https://docs.cubosengine.org/examples-core-metrics.html">metrics documentation</a> :</p> -</section> -<section id="networking-utilities-roby2014"> -<h4>Networking Utilities <span class="m-text m-dim">(&#64;roby2014)</span></h4> -<p>In the 0.3 release, Cubos finally has networking! This is a big step forward for our engine, bringing -powerful networking utilities such as ` Address &lt;<a class="m-link-wrap" href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1Address.html">https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1Address.html</a>&gt;`_, -<a href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1UdpSocket.html">UdpSocket</a>, <a href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1TcpListener.html">TcpListener</a>, -and <a href="https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1TcpStream.html">TcpStream</a>.</p> -<p>Creating an UDP client and sending a message is as simple as:</p> -<pre class="m-code"><span class="n">UdpSocket</span><span class="w"> </span><span class="n">client</span><span class="p">;</span> -<span class="n">client</span><span class="p">.</span><span class="n">bind</span><span class="p">(</span><span class="mi">8080</span><span class="p">,</span><span class="w"> </span><span class="n">Address</span><span class="o">::</span><span class="n">LocalHost</span><span class="p">);</span> - -<span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="o">*</span><span class="w"> </span><span class="n">msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;Hello, I&#39;m a Cubos UDP client!&quot;</span><span class="p">;</span> -<span class="n">client</span><span class="p">.</span><span class="n">send</span><span class="p">(</span><span class="n">msg</span><span class="p">,</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">strlen</span><span class="p">(</span><span class="n">msg</span><span class="p">),</span><span class="w"> </span><span class="n">Address</span><span class="o">::</span><span class="n">from</span><span class="p">(</span><span class="s">&quot;server.com&quot;</span><span class="p">),</span><span class="w"> </span><span class="mi">8081</span><span class="p">))</span></pre> -<p>Learn more about it on our <a href="https://docs.cubosengine.org/examples-core-networking.html">networking documentation</a> :</p> -</section> -<section id="groundwork-for-a-standalone-editor-riscadoa"> -<h4>Groundwork for a Standalone Editor <span class="m-text m-dim">(&#64;RiscadoA)</span></h4> -<p>The original main goal for this version was to get a first prototype of our standalone editor working. -Sadly, I didn't manage to get it done in time, as it was a bigger task than I anticipated.</p> -<p>The initial approach, to which I dedicated most of my time, was to have two instances of Cubos running at the same time, on the <strong>same process</strong> - one for the editor and one for the game. -The game instance would be running within the editor instance, and would be launched by loading the game's code from a shared library (such as a DLL). -With this separation, it would be possible for the editor to interact with the game, pause it, restart it and so on, even across game code changes, without having to restart the editor.</p> -<p>So, with this in mind, I restructured some parts of the code base to get it flexible enough to support this kind of setup. -Namely, it is now possible to step Cubos instances, reset them, restart them, and other similar operations. -I also added cross platform support for loading Cubos instances from shared libraries, so that we could load the game from the editor.</p> -<p>This all seems, at first, perfect, but after discussing with the team, we realized that this approach of having two Cubos instances in the same process is not ideal at all. -Any game crash would bring down the editor, any memory leak in the game would affect the editor, and infinite loops in the game would freeze the editor. -Since solving the halting problem isn't in our roadmap, we decided that we should discard this approach, and instead try to keep the <strong>editor and the game in two separate processes</strong>.</p> -<p>So, for the next release, I'll be focusing on following this new approach. It will be a big task, and it will be a lot more difficult, as it will require a lot of inter-process communication, but it will be worth it in the end. -It will allows us to have a stable editor, whose performance is not affected (that much at least) by the game, and vice-versa.</p> -</section> -</section> -</section> -<section id="next-steps"> -<h2>Next Steps</h2> -<p><strong>TODO: I just copied this from the previous post, we should rewrite it:</strong> -We're very happy with the progress we've made on this release. The engine is becoming more and more powerful, and we were able to create a full game with it in a week!</p> -<p>For the next release, which should be out in September, we'll be <strong>WIP</strong></p> -<ul> -<li>A <strong>standalone editor application</strong>. Our tools are currently integrated into the games themselves which is not ideal.</li> -<li><strong>Audio support</strong>, as there's no sound at all in the engine right now.</li> -<li>Actual <strong>voxel collisions</strong>, as we currently only check the bounding boxes.</li> -<li>Basic <strong>rigidbody physics</strong>, with rotation and friction.</li> -<li><strong>Shadows</strong> for all light types.</li> -<li><strong>Web-support</strong>, so that games can be played in the browser.</li> -<li><strong>Tracing and spans</strong>, for better tracking of program execution.</li> -<li><strong>TODO: what else? review stuff above too</strong></li> -</ul> -<p>You can check out the full list of stuff we want to get done in the <a href="https://github.com/GameDevTecnico/cubos/milestone/27">milestone</a> for the next release.</p> -<p>We're currently a team of 13 people, and <strong>we're looking to expand</strong>! If you're interested in joining us, or just want to learn more about the project, join our <a href="https://discord.gg/WjTtcNTRqD">Discord server</a>!</p> -</section> -Coffee'n Jam and... 0.2!2024-05-21T10:00:00+01:002024-05-21T10:00:00+01:00Cubos Teamtag:cubosengine.org,2024-05-21:/coffeen-jam-and-02.html<p>Cubos 0.2 Release and Coffee'n Jam!</p> +Cubos - Releasehttps://cubosengine.org/2024-05-21T10:00:00+01:00Coffee'n Jam and... 0.2!2024-05-21T10:00:00+01:002024-05-21T10:00:00+01:00Cubos Teamtag:cubosengine.org,2024-05-21:/coffeen-jam-and-02.html<p>Cubos 0.2 Release and Coffee'n Jam!</p> <section id="coffee-n-jam"> <h2>Coffee'n Jam</h2> <p>From 26th of April to 3rd of May, &#64;RiscadoA and &#64;joaomanita participated in the Coffee'n Jam, a game jam organized by GameDev Técnico, with our engine, <strong>Cubos</strong>. diff --git a/pr-preview/pr-10/images/brand_guidelines_1.png b/pr-preview/pr-10/images/brand_guidelines_1.png new file mode 100644 index 0000000000000000000000000000000000000000..72bc15468a384dfd9ab7029b8e0c0cc73b6f038b GIT binary patch literal 46854 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 JSko!=-vH+96FC3? literal 0 HcmV?d00001 diff --git a/pr-preview/pr-10/images/brand_guidelines_2.png b/pr-preview/pr-10/images/brand_guidelines_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a4f261700002e57418087ce6efa8b401a9bf56 GIT binary patch literal 88936 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
h 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 literal 0 HcmV?d00001 diff --git a/pr-preview/pr-10/images/brand_guidelines_3.png b/pr-preview/pr-10/images/brand_guidelines_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3c86721961dcd315db3b6c545a50dfa18eab6f4f GIT binary patch literal 50094 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 Xz5V33c0=Gg)7`tPqgHmuGU$H*>|DY| literal 0 HcmV?d00001 diff --git a/pr-preview/pr-10/images/brand_guidelines_4.png b/pr-preview/pr-10/images/brand_guidelines_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d4752bb38a32e2a2beebc5990796686c93b40c33 GIT binary patch literal 43718 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 YTx;-;JI1_K4*ON7Pdc5bu)P%jUzO>3cK`qY literal 0 HcmV?d00001 diff --git a/pr-preview/pr-10/images/prototype_logo_1_horizontal.png b/pr-preview/pr-10/images/prototype_logo_1_horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..ed316d4ef13b4ea88dd7ff6572565631bc369e1b GIT binary patch literal 7580 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 literal 0 HcmV?d00001 diff --git a/pr-preview/pr-10/images/prototype_logo_1_vertical.png b/pr-preview/pr-10/images/prototype_logo_1_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..0742bd8a633c4f38e0292577fad4213bd9548e73 GIT binary patch literal 11477 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 o%>Vn8`~UGB`^Mhj2ZEN07Um|kN^Mx literal 0 HcmV?d00001 diff --git a/pr-preview/pr-10/images/prototype_logo_3.png b/pr-preview/pr-10/images/prototype_logo_3.png new file mode 100644 index 0000000000000000000000000000000000000000..78409f5cbbce7f9275229649ac23c380a3f5d8a8 GIT binary patch literal 119507 zcmeFZi9ghD_dh=NJ<=FbmKGsP){?SHoGRj)nlgj=k zR0zc&ktGweeb4JPm^$8T za(UuYsKPIbu*arLQtxgyNCdeZ)Kd3)wX`*ZEEM+X!i^lM|2B9j=tQ&oFutXM_475odH#ayipt9$85g1t74_)5ZT}s?^uV|CT#Boy(gXuM`qw)T$b52}rS+7QxwE(Zx;VpQwqs&Lv2Pgq z#~gDv5kp@M_g$L2d$06+nEkg-q;=66g5Ex@cNzs#C9B&pAaC^{)+tx{cTe6H%hwJO}K-c>@79-T{?(OkGcNaCdJj!8t!HjB-Qsa21=3H!vDjjW5NU*+s7nTRSD#;-2daR z;vhKkA9K5XT8LW9|A$)XD&FSiMUjslY(e~RzMl?%2M_nSfGgObn8gEw@Xx?N8)2Yk zfEQ0y2si6-5$|zfe?jeAqUvqFJ&)IFCl6v@a`pV?hIuacMA{E^YL{qp%Rvq^OTa&> z6Xe}T5Kil-HxAP=dT$u|DYPHFl#?6TXpwk?3FIvMs7DW~5wgvABrv4PD((G=?9YhE z2vzUuB~IeWw=VHyAA8sTe*V+7eo2xdwaaH5FXqpVm3I&;8!t=hDRFUUAG-`R@3;F3 z-MC3pTS2pq;)LQE2t}z(KC7LiD%DY)z%ya7OP#sL-!TqcWn{171jc3+?`m$_s7GsE z`|q4Z6#6Kr$+gj!c;G0@Bb*ajON0qpTW3kCLMsiFRz)dOvX@8h4(ID}X(F@sf2SiF zV{Sy%;GA1`x86Amu38ldGzWo31ZbYK_V@p#No^$n4c0)(ir>1~S_Wt=dtBVQiNX-C z$PZ$c{HVVBE<@4OTkC+2vU;_WmLAo?aV`V#Kk|c^#RWirt5SU|2^#lGICF3HBc7{e z-oE))W6@K0NUFRJC z#_>jfwTZib6~+Y*|K9hSK=X~R_iK`yoJeb66b<3u%=?AO{s}-c#>n*=+*TPAV7Dao z)&U^(ub&6B3rZ^|N-M_^H_xHkhp)sIk0g^uRU_J?4g%TCotYUkUm?9F#_v0{9}$d` zd=yFq107kemcoRyJ6q2tSB)m!MmQ$V%v|l4bdRO|(4%(g&SmhWW}F;n=M^KH?o74F zM-9AtPs&AQXAmhr1Sk|^3I))!NnlWPs9gu=GM1-iyx`EUxX>pZ-+ZBK(;cab!Ev&= zA)b3T2^S#a)lKZKVe(*BJj4h3xkxx%grY>Ik#eDyofa#+37T_c1S`ByFe z>JopflU*#L5|=7RB%c_LBa)j_KZP&jUetoyhFwyHTXHW_$u24ux=17o85~iys?|{4 z(@NC`Owr?%U*W67Y&w$n^*~+b9$o|1!_U^`WR5{LHy3|p(-FKKwTGKy;>$-l=MoUO z%*;6!p51BdrH!J+&9P=AHnZ~tYRqzuF|B+SdA+Ct$4G3Q%-mz0KB2!Ehm4Mh55Ive zinT*D>W<)uzpvtXAR9rLy!e|{DxUh5h(fM>9EFk}<$N?o#q)8*yWh&RH$cVfa@^O7 zwaEL0dQX#s8%ZeEsn-?}W&pz&75@ZV^b!^J>oQ0D0ToX%RG3WPBGEtCqDv@|s1@h2 z)!3p$8-&p%4%%k+u};qS5v@fnI5g_mBF7zw)-pAe(3Jbc%J~(Q%ukbyiOH3wL5%pA z$_2^>IiJIof1aN<^56WQIjjHim%%p!zJG?l(myGLec#Pv_QNMGvxM4d9Y%kjzi@&} zsr5Xyq685nEEa#WwC^qZA2ep`l~f6WI)NlI1f# zE4xT#d6*D5Gkuk3EaB;+(z=V8xZI>QW*V_h*hi&&Y5SlcQ5Q>o#A|)@U$j2h5=SdP zufSNRrzdT<`KXpyGH=EV~q1}tnw#n3Kj9je2@fHTO z>L~?|rTncJVr_el=-1^wP@JHW#Xd1 zb#Flni#C)oQaW&o&Ji|asqCCO&#=7_PS~P;Az%y;?}r%^7=QQ|<61W3ag?zV!r1vi zDPID_gn79D#6))JW+-ux5{}x1YmT4c5#5aj(Rq~n5`??!(mIVCNL#`(8VJy*zWsN3 zRAo}9VQ<&-c@JV|4;R>3y)KqulURd0rWcH;))zs8R&_BT#TO z9w9a~ha*xP;2{|J#}wUP?)h~#X~sWkhNpEMwd?pqenVlt)N-K+(Gni+>;9ok%I1>#DcqluE58TXmK-H(Z86M&>Z?D)c z0uO}>X>xt=CH`z+*5c;as%>=j+YK0Cix6{2s<8y}vSG0<-AtsED%Fp^4`PzD6Jg(_X9Tne!$941P2d@@LHX^f`e-46jU9J z-{~dwWFj5F<}#wZfaDAuj6=cHx^eQ2|UgBZwb!un_t*snOKsCdWe8^a|@VY zwxP%6Xu)4U99Q|53FPoWT_c55jpU{i@y*2{I?%mdFnJSWsxnq zc&&_!^`O=c+~X^>ZGbtbO%o?{6VaIc96NXy;#}1e8BknC`+APZpcUR5r7oy+V|Ig1 zxjinOAnjb6vpVMYjw@iF&*%X(7yy- z8SJdyd;}0fVv3{)&pjktNdF_yzJd7b>ynJu%ufU5wQ64-PrMRK^I>hKS5MM13%Xxz zU=IAE5*hdA~MWx+?Bp)MvOZ)a8fL{4RhJ5PUNuzZ5|HZxiVs+*dcPJX2^U3xSx*ZbcZj(2gxd_Tc*%gRU(mY7jK znpDf=`4-HojWeUBTcAeo_$O?{WUNr!^iLH%=zGnp z_V)o#+F(NehmvoJ=p^?w%g4v(y8m0oUTbWz;AoFPyQTO_OPob>BH`V>p1~v!o1{II z_!xWF({l$x97^g#+Dd# z6T@NAXs;`Nu)M_xzY<%taoNZgQ_9@dN!x(!8@x{iI_&G&*KJ7X*wr&RyUi_5VmM5z z{8yFVG24}$hojZ%^0*F(tiSCwQ@>S>e1{Qp?R-%Gz8=}z41vUb-JctcSGFFey`Irs zXOR~wcy?8W7j0l<(l!fMeEx!^?8{PpPq!aVwrYNr?U2xti)W)ouL@kxYLl*u_`cpz z)kn0&XD{s@{`@R6(4FrQ zaNhr&YqwvnHE@;%&Pg$H>k-bO`#L^sC5g&-bp+SfBy^_iq|(1>VU$PK=GGVKb&1Zd(~_iF4n4!a3>{+wyH zR=^fbO9IMX)LPrVtl$ma2QEmoaq~L$A2i5a0_|cD6_E{OC)GWwK757xIeUtm z6~yzjC?meh0}UIZg&HRvp-fPm2yyYKS89?#Z3 zfSF34Y87TclC!-mpi-B&@e?sT4_h3oE4~7IJR>0N^MjlNG2p;YA^7p1CQkq;Qb78% zSVB3rcuvz(X(AvvlWbvIhEF^Z*l!@|ym5^u*Dk+YuCmAvYr7E6Q!r(ye2=<4Xuo0{ zUv(H;{6t%Pg~U08Gb!f)5*qJ|6y~PorOL@te-35G4cgDv*gwm(9}LS@7A9bA$D%ym zqG;%sW7DxE>)*-kUsr~VzRUG6O3ID3gmTuyyc%NH{iNCWDd`>z_s3gpbH%t1y;G)! z$uLaTd%ERj1*Eo4dfJK*$`)hp=7CZ1M|@~x)Xh5i?(11k+HaF|2ZcElU>+OG_qE2B zd;r#ED&G3F#_FUlV66(QHGp+?N0`iSll4w+x!(d(a)|z+IV~;^V>$7B(;^ReqdX>yVR%_s7LJsauy9s&%R#QGatvzV#{83H$yED2`nfB@k@(B#`M`})|Frn{I zv*&c$v!WV%wM7FQAAS^nBxZsb(6Vnwa(&n6#m>kN4~meiI(L$lgs{!*6qT2-e!*%y z!HR%-utrNSi3Rq8peVVFw^l|ymloH=CY*7u8x$`Ds@?Kkh z)btK=IGA@O;PvO|Jp09v)ZTpul*jw76kF-Me&x@j@A8lSFhBm!0y2skJ`v}%e=)Oi zilS^4WPajb6|k!Ig7PcQ0Q-P%bcwr&=Arnf4EY1OQSB=upf*J0IYjM`ZFOBHo}hLbs7+>d{L==A95CM?erqnna~w~; zQDa~7GBIXu-ZNDpSsCWv%!!zXeOYIui?KydRHv6Dz9LKgC(&A#U(gbxSNUNLO80ko zZhbci?Mt02rbOO*SKl$)FI6Fc@MN0Wd?qHlu_BVN#V@51uu}%;t?Ch)-y4Qc98bZZkwc89fWrkv;7eYc2uUZBk(@X zicrHAUs{TQoiapkT?xF~8^RKQn0QVih`f0IdfCLG?y-lQ38Iq}%y9kO258qJXp35f zWdy?%-!~lJe@p%o@rZjM%eF(9^ig0B&01zo!C8>kvNL6;N9)OekN3TXxT+!XBdw{RW;Y07~rRE0ctL2*DrprOyBG(5&}}{lv#Q zaTQIIJXk^vOrB-Jgj!ET@!B(CIeQ^WW?w2y{FW~&0#KwnH7737tB>)b!du^_c_|KVM->{tR2=597 zpU`+G0_Z*V_EA7xQFLD4BH-tI3dJ8G(JdtkfG_O-PBVn)zKQ_8&6PE3SIw}r&E5J? z-uNdT+PhlD(Hav{Nf0MKoAFpAPPTs%@2arW(17SZ=k?L(+dnm(DvLSAP=8FIJpyJ5 z9sYZD9H3Yp2tB`d5N8w?P zKB-)O+fV#l20!x&oLMZ&8E^S&OMfxLKe*+t|0~pal5U@5597RXG5Lxms=ItNIF$Tt)<>LG8C{t^+PUH{&Hb&hcpJ!re{`-yRUb`swDP&W}< zR65qf^8{v*8Om~+c(3HUg4Xvz?iu)|(1oirwLXw(;u*glkB01D4=`!B-wtTl53yv} zgjR}?Q`NIN;w!UFoUrYzzPe_~`oT_EX_(strO*4{?Z4GDj=z_L_wjuU2Lsq=0kTa# z6A#0Jc7L!%-5GOLz@)gEsC}q|yXTrMop!QjZ%*y{3qe`o- zq-H44e_4J7@hu?Ubn?~m<^W3;H@TOD~{Yd$wP_JFrE3x<5?QS82m_O zjoz!AcVN*Uo__z$aZCVDZ~LjRk`C5ct*6h^`O@sVBO_8(e9A^PH{>&+Ro#Dh!8xat z&#a-x&P>Ca`DloWr~i31Z7`h79IMTs|G7OYAjB9J8cD6eiSF==+l?)PHm<=|Kap@; z*}ZTlP3Eo(K`Za=i9`D8t@vmSnM8}5^(ax|PK2m528f_}{@u^`d>-2PX6) zl{@s8m7u5W={t!jQeW?B_5R!2;zBkJ^y1|mvGvfDfyVk?Xez5zoA7izf1IPQ6u+XO z6K(d-!l{VBx0&6WERd~!9q2PF3Q&b@8lFMlKgjtj6s*vVH@_fEs5*$NtAGVI24iy> zn(86G@tC4x8i>4wTdz=ge$YX8IEX!pDn*h6r8<32V~VgS(Gj&nNE1IY5L+DnNjv=3WFZbWg%PqXtJ#wkUvx zENIRPZS1OQ6U_dOv#_rr-*vZ>jizR_hO2Jekwa`E*aOj8=dX~Xv>zdIa41AED717F z>Aq%BppIf-2%NO|{pE9%P)-i^vuq*&syod>djp#YIJGMK%jG=Gg})kW=J%nSA~vAY zjcXQuE~q%sEq)>-@nHj--CYQpJr%(lP&7@131;VUb*E4d%fOC~*`DEzHVrl?(Z(z( zWG{sT8J8pzH>iVh@`X;MMAT-n4jojdlEx7f0u@kPr8zS&DHGWiNd=-uq7zoqH)n%i?Tyb?8;TscckuJ8#yKm|HI-Fq7WEukH$%;_h{YW&0AAmp^ z(+WWPnHyzH;_W&<1IZk;>Gh5lTG-kmI}qmqBAZK_MWEkTl+`wE0E=Ph`h|hlhG#2O z)+0e;h6Aq!CFUZMmj6z#SM?kM$i6^`G>x6&NLme&=G?AxL*GWKgCL)sa{&6aPZ3EQ z7BX{?sKp#m@!@)U)CVCsfJKyfvfEGOu3a~G&E;Z_pk=^iSX&v4=6)jm*Eb7-Nm4t!5EAuR zf^T{aPU7%Sj@4U$%l6|FNSlez-UtN6LYFWdba`nT%&|xl)XmbOAZ<;912lTWh8ntLZN@7dn7I=tV?-rC)PljZ?#@0Z0?9{!0ThaEjKf;U}ho$;Be;Ac-?~^TV&n-cvZvJcEo%^L9%MYQM zE>u?Ufwd(nJv@6rf^Q|4X`&PqiNyGLk=tMgxOh30;0 zuQL%F^1A6gZ~#V_u>XJ&VnUU{UrXJgF=223m09p-Gwi8LMr%BA*Feb3D*uvQHuuX7 zvO;s&=V6L01_S-G%$&}sNY!et+1kIBCSpsH+mWp1m#YzW9o*rMEmm3WgqRRs`j_2E z)S&&j`)HCqH(v&+;hAms>f8|&xIrx<0vh59l65ShE*hP*5{4*PkhtQ0)q9>DokKR!@%rt}_BMw+A~XUZOmIHngmQE#A8| zxK}c4i%o{(=XoHyhs7b@67d*;x;zun1ISeO`E83F&?eO2Qm)D)P?J{9P*i6GK4=ru zb%>lV{nrOOk8G7jGXC8ue>fH}Zs8VpfS2!{&=N(38H&z~z_d0|Q7JE7uZ0t?{q!A`rd>kw?t z*y2PB8}hY&Os6ifSexi-GIMgpi~#!!Lapj~N;??#W+2H!qa`kmmyZU{zcAcV(WsEv zLjQDco@XWrPtyU`qR0lz=Qej_2LZwz8?CWd68jyTHq)5#x>3QPh5o*Q9>M++Zp4FZ zedvspmp(*N%AH5#x@D1(&v^xYi40pG92TcX&fDFc=c#mM-Z{?1^o){$?tsl{4sTqv z#&ur4b3#jGlIHF1&DXwb%y`+Tu>AzH10^OQ#J01@E&voKDK(w_ynLsYuGEs8$%d4( zMw|Hg2$S=rDlHs%=3UyR2ByM5$g}B|y+b0MisT7C!7OZ|-#t+(ZAPK+i1oO=arbN>GvXprq-|Prb*WR^=!}$lc*iczzB(6VvM`K1sB7WNu=4>5( z6xl6~@C=NC%zfQs7fG((kvyI{#J4Ay zHn-<>H_pT)H)enZn1J(0got^2u_NU2UNs&f5G%5A$u}|PrX1LB%C%06RHJ; z9k=*ar8g?vO>9=^uA#dL&BT}_;nm$BLXvPLOJZu(U=~Wol~nxls$`(vZ_R3%fA)4d zgVj&1oO%mq3S=2Ss&pnR{>0Q)vVKhVFJpI&c(riM$>#C@@1XXHCZ=KJ~$w#{3FK^Q(-{M8{g@*6i2HRCcZurZuoQa{GJPk`+v zzhJZ3bl*to#gpmuv06(?z3JNn?V;n!c;@%Ifr*v##(|OZGmW=H)~6|iJN39^msO@u z<<`2{0Qy3jn~%%xU#HB}%Zll=RKF~~H$83?4qu(QM7lLTj!%8=%36w@Zq$?6GmdWr zaUt=-o32nVTE12`HdwBg1}C$$(>IsITZwFnoXl>_5Kx{}f(k}zB0n3B0>UP?uP`A^ z!ud?8#Qt^C%!MHFJlvbwB7ffrx}av6a?S$-nt049T0H5-i)z;+tN~$~c&&kL>CV^6 zfz}4jBFUPm3N#r9YJq?BifXFd3}xB`jUs&q}vBKGfUH zpIYD*ozfO{dNS$Wq#P)JU}6K!pNFMs#skAusdQy+4@oC!spGn>riDvN6*U)3TTJkg z4Q_(#J+3oOiY})rm=9ov`J=8dVqh1sHW^j_s+(sBpdJvoi zZ8d~Lazu8RclHYr?EsQ7H5LKETbBedQlosn(L2fW>4?xMUy<`gcK zkbG|kT933pA$ioz7sQ`)|7luW=&S4W>!-;K6po6*R0kM^;c<|_R+Wy|B0D;W-o}MX z$cjD-rq58`g6oCq*cWJmrOt1WO`VOrcXxJ)=gDoj{OZEj;&g@TUQrl;Dh{nSwe#vdYx|aczN6&+!8dIDsMv?1_@9SLM>Q6mDMEF40nDwi z#jwLuyvo5Q>6oDUZB2P6BS(oBVG3u`02E!`1W*+1o07<|{R4ovo6y7?@7zb6>Atm- zq>3o6uShk$o9o-Yo8wH*9ueO#_A>cd)4{9>59*lR`H{7Z@{1d1o{ zZeiM4TEY+_NA@6NXcV>wa335IP&#bay01s{mb&w~{*1Iw<|5$1L(C`JZAH4FXi*l@ zY*2xn5mI6qV`{YGVVeXxmCF&u8WEVegacR!26R^At$fSy!dw zv2ed=fUn?6KH(?m?QCTuwBi%7vw&qRfqiCUgy`+|iRgM#3f22uvS6|-B*X$Kr%&~s z(mqb&73C)n!x_k{9~ec*=?*yQlq;x7@leXyBMV`&PQht~vqZ{*VbPf|-g_^E*1MgY z%Lp3BpA-^4>8^w@ALu43-sVRWZcwstvaBI6U+(m!-buBma1n5sG@92&3k{NRw8qAz z&gq>_Hc5I|$8}br;iuiry{EZe7J=r*yKRJ$J`wlA=FU158flf>D>L)-ebb zQ;Gds+}OKdywPF;NTdY8CfkGR8mmE*fxYeKcC|1i;anBGihSF5apF6iJwb%8Q-O-y zHmadB>cfM9DxJp*T$O{7-LtjZ|5=z{ZcvKdzvcLx0*LAC$y24?BpMXW?zd`i z2Y<^tZ-?ClvxwvSX1PfHkuqa$Yp$FRGhCv{m(XfJvnFs);1BUfx1qyblqS9(m*abT zb|GCt$6YuONhMe8OI77KgT^)e`Xn@*NFK1S+qTWIg&7QTk zUzfcUOg2QKIyO_<=geXTaa8_=%)l36i(3jXJ`6)Ks!HemwCfEw^YKBqHKRjxUSR}^ z(vP0L zp9nTdXCa(lnJSK#DxUvMzBzk7Ocn)sGtK&-+yvf=Ke`-EPOyWf_bjW%>K}-Ud**gA z5OVf5r=wHK(U~1OQsY?zi2DR##j~zZ(s>Tb9y$KI?={7Rjnpq6GWA|to}O_D2@KJ< zOuOy%H0x#NZuv+`ec#OFF+U3_)hWn&#L#^VfmwK@$oIv6ln&KDi-g=EI7qHq6xq-R zvHYz{=hJKz8Q@p|I2iQ(q5y{$M8;vBar}YEnm%Oay?u=#5II`vd%GjpT4uGoEK)JR z^2ztbV!2=@FNH>i8Z7u9@Ausdn>V6RF67Fuv{%2p)!2J&R%%9M^+S?mU=6xgX?>IA ziw5&JqO%yxjl0T~MWyt_&O*#Bzq+sV;0jL6DdtB~?`7gzp$@c1LL@fE-!gfs#rBu(JOiAU>xm)JY$TiK z`$CTsbY{z!qdI#btq}*`&9HGJD&x5Bh5XtRpfli{m7XCN1vry0Gfpb-OyXbhMx)^j zsExwruUzzyykEhfE<5HH+Wze z&2rD%TExvXRzS_Cs|BmuEy*jKh1X}un)n8P{~lF$g|Dsl?V4uTszE^RPJpd!YFE@j z^ZTy9R4J6}3;~en&G=FqXf#aDkaXl_`CtV?wFP_(g;hVnB zH+c9x&)Y17sZeu^oiq|{H-PDKxRRh8wWYe>1AaTF0F9d_T}t0FUMpn-d`ovd4y1UZ z3BM6;&(ucK8knMR+&fP5LI3pd@UVvYP!M=g{4?*YG61oK2_LI=fkh4442kJ?1;9uqrbS9P_P(iwWT!*09jy#bA z$MyM9rNq!n5aF7f8vq@kR2nLRA8oRkEt&x*BO~`hnImBvj_ycEz;uIfG7G_$D5}7+ zd9|=3dQoBvM}+&mK^!kCLXItB(TdL?;ujfJ+iXR`FJp_ILErod>{lVWj>HV& z#yP*o0hUiVmmEgoq4WO$@kFds3ZP^GX&IrPg?9f5MAOymTNxG{kY=rs!?5h%k7G;1 zpK=U%3%zP8^cybku+257L#s`MO*rVUjco6%-q-PDuOC|ABEPRHg|_)6w))6rjqYf+ zS(sSDS(p(J?UMm3?@Z23kjzqxO>FLJE9*2|rJ|8dGYkg0cY+-98ZZjS!M`79YB)+l zbB*f-M|t0CgSaM+Q4?USG{;yi@K+OuegNo|*}ta~=O&api+^a2|M{eMj&yGA7MaXP z+P2$mg>{bGtcti{r!QxJ?yZf`$;7=my0co_le8Ke6y0KD5|V`pup+Yg^g-bvX?yi! zqv4x73e3Vp_n!M|^kb;+ck||e$@00wM7+ZL)oagB_m%yaV7#JHLn#>Y9pAVk7o9ML zJ96}m2XMYIuIzg!MHdOj)^u=_EVgK@uF>e%u14bz^Y|iRd^`9q?xIuA)>6JGTIfr#^k!KP+j zQ|(tq+E-J0|DSKQE{ty*yUe> zun#gBC3Ny*OD|n$@^oM}#$K3eJ%IB!P<{~DVssm$uZ4ecgC;Gy3$CZcN?R3J6aO&c z4;uSj`Kw6d(Wz~#2XI{m(htZZ{7;UB4a-lsXc<)F&VH}3uxlK=@&&FqIDKbY2vY=H z<>Hhjg-S}BHY-M3Y-;75(OpX2fB<;bbu?4;#FXAf%1P&Tz0g@-gV$#aRvtE4xkN#1 z!<(tV)a}Gm;R|KNn>F+IAGC|kO%M16P63fG5WW1}5JZ8`AqFe^3|B5Wy)wRDfp)}J z7Zvq(_{ZMZXSm*Wz4E|hAs54@m<>G(@n1JHes@jVA`zu zuqsV!SIYJJtPR|~f8HqL^*bW=9@0CcGd4Jy?Ls@kR~dT&E&w2i>Fak`wPUyBNe{9b z!-Y?2v%G8Ry8M)rguEvF!$Yw{`K4EiDqOWKcdMuG&^uP8``LJ1$7d zz+Jf{9L(?JC|tCotv53y`4Qfv{Kwe7O|~pbeEm1VaiT!g-R&tE0?EXSPErQtw}-w^ z!j$IR?hLP4dVf_J&MG24cr)SrnmR%H9vkcp$qh`;~A z^Ax=ZTy5J`ZCyX9wW?#a1vPHMu7gF*Hv2IwcR;~;o>mb&+*|ruMD6TT>U`O^dCQyw zNh3jf0s}r|pZ0cD*zOUj@$#Q9HP7!_*gfs4vpda`Idj`VM5MtZnK?JxEVe1GV#CFf zy%~>2n~T~}r+jx~dPKoZ4p*-VJ7d=H&*kIEfS@6RQPR8Zu*;K$O~Oy<)u{_bE%SF+~Ie*4KW+vVycgsmr;i(s!Ciex= z#NU02u}yXboSu`Po@>MYI5pML5I#b`)3$?rZYEo>?;7h(x~s_N6HM5Iu!DQEqSc)` zni21@}6-`Fu z8pYt045MUXPvv@CUGr(V`1+R5F}5k<^RZ?oP6ze)kkq0;n~nK8$;>+JG(h)Nn0$xn zc*lstHj8TA& z<)ZRBIxEqn_)lQ(4zTfNyHWI;g3fyv=~bJDDaR&UPQ~Gcr$n+U6+5iSd`7Y;RB#!q z47rmYMe8~=;nHA$57>;a4N(f_>XT*gxjCb#YkWJ01dK3bZoSywE(VO>)1$1u^UJ)- z`)VddRO;!k6KM|LE?`&ZNy6oG_2g$S0$(=Imo?9G<=m!qottp!+Kh+)eM@>Yn&7^f zdUTS^2Yi?L9HN|C6>SlaoWeJgLZxqdJ(N}y{;;uydWJO?9>3+m@kovC8y4+4IBU=e zG{cH_qrmmxZa@G{=&t5as!)0 zyj$pWQEGn0AC+y%O5KrSj(QK5hfaN`KS1tu-5F#ioS3EEo4I{rc1AbcAuFKk<-tZ1 z8HPoKKa$gfOO=pu5^#7!I&)!K&niD|KBB0xWx}O=%Jy=hkD+{g#pSc#mSxcQck-NS zD~#V4mz@#zGj21BlA4ir#}JQ<1iNNdxrSByS<2@iWBC+DdDZ1ce5e-dMh(3^zTI+F znErxT=v<(2h5mvUkH28aj{R$0KbXV|7410ImR3C~=dksG6mkFD!0dHG23|hC&rf8> zKF=^sEmkS5;y1930 zvtXNTtMH8V7Z~zWv!to4lCU){U_gF6^K;d{8V$+gV#zw1>d{URftn+;6RYyK`wtpr zlfS;YjCp^irDZuqfttTJZE(2cv_;dVr8B2{0$d8kvo@MaF2#}EKjfCg2m6IhPurSf zzWA~}G@!CxfvkZ&Pk&!>6zQC@-LQ7-XO<)?;8|7E9>{-2ZLcoB4vZ~*R&iUfYNcE= z0Luu`4;I*^5WVB}>ss8QPe0_=sV9$-se>N*nP2B0*Y;8Bjl8)YCL+6mtD@(##j^2I z3&S3xxWIbe?i;>w+g|Zo8&%X^ghY$$l`<@E@4T1g@@YfT@`${jCiqDMKuxTFcFEA` z$yuZFAlyvnNWS)bV2nm-P3B|Gyz-;rGj`IG23%V4G>1ct_y=07j>#=ge?M~+DISt5 z+0pUY$Ojzb)^@05Q!_7Q)dzJt zbLeF=8r|~r+%k{Q!%z8W$b>NGyF151IBtR;YMFrS(WFgfQr=vzJY2)hv$&ICloQmG zKkxf8_qw*s*p1=ge@BT9M6{gOwg?i)?It!P{jNvhRDb**SJ*&^?sk4tV1r` z#qB0JOt^&VA~xNQaTFO-?pfW|H*gnqTtZornDwNDP6Ld%RH0&d_4!Fmx6>t*4a|l2 z9rdmq{{d`tall4;!sRFm&5I0?f=;7s$A(*C>(>CcP7XII!_dNkly*H61E?IGq_f4~^hoCarQ&_*uj=2InBgnS7$=xkAgT{cA>Kp1#lE zvkeedo3<0>A{GuMXS6ipCtQxXL4H66)pPg3WLlqg)%<`ggnGvZMw}NKp=-aWcXEH2 zzD`*Ca#D^H5DgS-1^>X&-WQrdzQHFo6dsG|xxGcfYBKU}OJL1rxG;_4*4-73%O?J= ztO)ZBb6lUAQNsE{qz~D<7!xxwP?@-iL9_)Y63@h*%-erLKPLvpX*^FJVN%OY{-{{o z#3ift*&3+!N3nlmh@oGa>ep6;Eabe|bkWJ|M-BY~Qj@%EHof{;5US)T0dZrMqt~c= zDZ~AAa?Q7ynGb6Df2z4vYUs7QP+wtuz%hf3mfY1Vx4@#+J=HZ%^Psa%`zMRrGqrng z31$a+Dihx$`ANJ=sz#$z!n@#x4XpYMS9NE4;jEptyxP9geIqQCZ1kxcAkRX8@{q%Q zBx8G_+aJ67@ z)!<`g3xsSFkllx=q82sS%)CZpNu&lMRZG1Z*K=g5Y>;*zrM%3qUv$#k&y3AW_ zH*$m}YMFQSa-4Nj&KbZ(uQpS%A4knUkx1O(#^lOL^!3^knKvMaoO`I}CHO|y*%c)_ zg1sNX-qIRIt`plQva5S!<6OOD5RddPsm3+BPVK+8P8uZZtFPz6`Ldo|LXwC=_$8r| zw~F0k>4--Rc9Z!;9F3*g>oVWZtG>;YRE(fGXtNm_uI?F2am|HP0}R(!% z**AAXWS$RdiUlu$%oUg2Bw7Z98-WnsjMH@j9VHmiJ#a0s+I|KBv1&b1pVYN`A{fHr z7hbZH|FNesH3N!bjI~h7=XKqlcM(%|tnQAKb2M%`(RTLIj4r(Hz-B2m|5Hz8vv1f5 zc$Yxwj?$0os_p$zp6fvPnz-yZ_2d)2VVdwNnf1fWb08mH7GwczUjWU6Rd?IM4tZmf#u?UXmaJMu7y6yS~mb6d9~MV zb{hyWN4C1t6U7A9rz5SAfXT9!|Hj_Qk__)WftVPHbQLi?e;jzcDgSTS?k@FiT8Ci& z5~7i-$H`buJ=qc7!tgKfz2vJq%Te6!@v_^!<6BD4rMdoCjjE^5>4UwJ^hs0h4n|{8 z2IL_>MmpKkc{2axtMl^cHRJu_e)fL&DT9Rt{MS>hJno7c@I11@K{_UGP;EHCz8)h6a z?M`APvZAQwm=zo)TcbN`@-A_dyu^9>?85}#+z9s5WFC&}Lr+Y4o*1xYkMH2H?D7;V zS%126&t)vu3 zNwWxFwWDmzaxSyofbn@R<#T+IPLhpy)$))Sf)PI(idZ2wko~dcHF4Ph+f6uU8b??AAqnp5Bo4fw>cjUdZljmWtJ%eZ4H$3XOzw6xvAE>v59s zMv@iAa5d*uN@7i7B_}vfFX24xDnN}UIB*n#SqF7DIcxVoXA)bs7KVexF^L#L3CA~P z9Ksv6f+c%7VWGuQ95{sU32PP+Ls`K;H#m)8K5#bVLQ9n5zxOk$`WjaNP%B|> z&sGx;J0j0JCHl8m!OWfLgTMA~gvs<+byP;8fH`!I^xmVrN(_0^4DzO23NjfBq0frF z`#T4QmnUt4zm{%?3IEHlYU{=*67s@IPA_utVSjko+{pCLl^}_ZRsTz{s}K|vYrmm_ z<^DBGyPh6K5)7<3%z1>_4=et!hZUn;Mb_K5p%07w?}v+_;t@VT?^hl+xA}Kf)SVIp z*BHVzpl`Wa%mh(vKiB`_?J6Frkz-bi8Z8CyF z^i2S-EglK4!~CBQe_z`jd6hr-*RmN!cb@-lcJg3CbWbNDu&qbe$+S9D789lT#t;0neF$gZ);475*=zeNI>yb4w({ngeR519&{341=JxYTv) zgv%%Pio?}$_?kCrEYuR!-12m6dtHMmQemu`JIcTqdJ zs&T0U)z-RCE=VBDx~Og8gr3S|_Np`dMAD{YH)ISYnv?lT0)MqXT`$kO8Q(OmxKt*Y z=J0~O5^5El+5Q4G0BSA(BOMzAyv_nISCt8uUiQ-2tf+BCuNIZP`?PNaqM1xAbP|Go)$Tc|09Z7BH(zZd zMcr_MEwajUSnLEEkXt3Z+oZ(997oIB%QhR}pY{XYo%xsqwot8q1;Di`MiNZ-7_-{d4jHb!vVdPh>D$<_5Wx z65)J4TRZ2~lD;*JMt&Wm(3zypIq26ZKw1;EpR3ZXO_wK}@6HkX+H0@S}bG$-60U zj1Z=WmI6~USyVmUK>6@~emA%O$KIE?#n`<8Po;eoO)C`=?MaI)Q<0qp?b9+!mevWO zXwiy7sEDX6Z=+0&m>NZ^NJXfoWVBJyP?EGy-+i8j-|PMUgYWuW@Ab}HPtUo}y`6LJ z?c4($bJOPNYYB*N$(TDNeTb*j=LA(lm$19i9`#zGc8iBCq2W|lj2C(EX=lyNWvAp* zP7YO~Z*=-B2uf3UE2hU$#=9z-q$2z3Bn7;Q{V3z*;_N7dxA80r*rABNzN){{PqG!l zr&uiQQGGQNZz)p|&9vXjH2#NH(qEwqF5@PUXCSD+1Qtcx7J?d-J(ez+)grA z{lb`V#EK&l3=fDXbdMK_6@q>(Mlq?kh`h!)MtlwV3z~17e&qLjaI*x3aUxbMi*+{a zv{&66Ixhz7Rf{GNzSlQ|r}wVDo68)F=@Mz_CU^9B+^oOC)0Pe8MD4|F?_Ij?rk&sg zAy?IPlPltjUyJt+#oKy10=-$1B;DWR9Dk3qMto_CbuQhG@de@(Mfpu=zU&4T;F%NS z)iK$4fb*L^#i*J6p@(YLcm|>YjWx~INPM`GHmbiF^BggTaejxJ17c`m3@F+sjK23vV3LFSz|eilcksz4V>F0o#?$Qnz9PnB~_EVOo!^tU)9g)QN{Jhc+(aWLn=7* zb7);c80)4sLr*7ahrA6#Un|O4KBb)6oAv9r8r{7#wokc7bx0a_S(IU7|`s%&<7Z=Y_$JODL+)drj8J_Y#NuO-q`wb3Ew56k19szY~auV zuic72i;j5%aS!w95+SPzwBIUkGp~*id?mckgUeUFg_^uA&+-ycTN?4!ARc7W5mA-K+`8WAeW$bRGfeNkg}6rvMCmevl=KqpP-MhMVJ13K+r z+35eK^U~$9tnEGN%V3M0kny(5Nycra+CkO?hlA21EXgn7?Ye5XfC@-E3Ndb^xBb>c zP3a*UWgs;*99N*x=)In1nMBNyL>xlJHLhR$b}KgKAL|R+q4*O>_Fh4F@@F$CsU!F; zn}$LKzLr>GjuT_nPAi&;D6BRz1$5{wr()R>#<9Lo7+FM@*nB;`?Kg+^srIC=!3r<< zHZE-JTYs0lnc5_bu!U+NYlje^^AVJ*=x9Z?0f%yjjQ;HFzNl0M6Df`(!YE4C&XDyU z-h_A?g^rOO_>^+D_^dbhu`A?FPlwf^21uo9c0`U2oktq62QaUg0mDq*}8f&jht zEnS@`8q5i5`v!p6_wH-_EfvFQ$k$y7hjb0DXEyXY$tl}RHC~LcJ-i*TT@Tx)kG#z- zkmn9i+twkY@!xY|gX#$A;A<9Tm^mrC!2i)Umf;QzS~gy>>`L*meClJLpD|trBa@D{ zZC==^5L_|&;M`cRC@dFH1&9c{7?_sHdIw@_#e5;4i%&V~>b%Oy_Qt;5!OeGuJa+`& z!1k41y`lPLJ?X`DgjztiUlw|f+)>*?tx`b({TvOd;OKZm9&eL=mCGgX2u_XZ4(^8Fu2<2lu20!|sq8-eU;;6xAC&?!>(z>}?}s8_V+kwIva+OE*0K;@LhP zcYZ#1qS+)JESVZxrJ-OnW9zc*Ctm; z;2%BeKhX_7TOMf3{wmEiV|Skq4SkW8Df#upfzS&nGl+|VWrs6pNIu&5ORMxZ{eJo$P?T1 z*#_0v2rFilQ5RAB*Oc^)=_{0Y?f&B26E4ti#7{5UxiA#IC2XCUky4(3PR6dg6IL{M zvHC6N6h%CuYi~51LU;oRqaw5{_E=Np=J-qc9>6~Ihl|vq>qoI1+JXfota*^~EwR5Y zGDas~?1SMTFkH&|O+;Y3*CmTYf_(sr()h8z(%IO@RGZDOK#W2o1()+! zb@)~kqOXQJjD6%54(#g0m*LDYR%M9Juqq>X9PQE53D35?H<7iN1Y z&enz+q~FPsv!ZdLNh3c(gRWD=Gpwv=$AJZ4 zsvwLk7}3u0qJ{pmy>%C|Lt+PRc>x$X8E@UiY<@^qz`2RTHO=*kmb_1-MElfc=U#9&L&`0?hCabN?v=7_{nRZ$}*jv%i z;IR;A4~Lj0o8JV|{Rr3m+0du`F3ezeS*TJs)7}-xF%n^9FN9arXI?p?*_iFt1bF87 zOGX2%B7pJ=jwKtW;36J#i)VWqXJrGFrW7#*g#=KnXn0^7Bv#NgWj)c(FSV6`9j*43 zfUNg5inzi>Vh$K7WH`FfD|E$7`=j}>FhR*&gls5SA!}v4gElY)>v-YOi=vF8LLV63 zM~X$0fwlWuBh!8)np9@TTY<)zEQ*OF4EKDe4y-u~_UU0us<8@G?WW8qy5m-=@#EVt z+_(S^#!OaAG|A#pv~wkJ_9&0}@1mX8;bR~e?N34yWNt%++*IpzOuFUvDzg*cJIbf0u7?kPjH}=FJg$VQ^V48leDCr8N4@j8apBYN;!K+}8e|33 z#D}C$x2;r>Dh(g!tkz$=7I|mr%W%5zFgUMV!U$TnknQPVn5gsPpRQwR99~xpAypdRp5q^z)fMxLNkJmi<9j$9lev=Qo~t+(;q>xEw9h%$8a>b|Ez;Wzxqj@l4OS4=#o+u6vd(yL_olynyw$x&3f|JXd z-JOT0PQFU!djqkBeJ^e_5f$omRb z&~|_Q;j*WZ;`1=3I~Hws#u0a#A=*eR-cd>8ivp#EwGglMjX_N~TfkJ=-}$hQ@8uc3 zK&r4M+>)9npKKVvr9%qrGNG&CM}VofVn{vdFH^%ab{vYLSumSuI`x+8#S7OvIrd{4 z?>y(@uCVpd6m;22Sk}xzw1B!9{4(F9s&1Tk)@|Wsq5@qq(vcwqf+7Z8A#H4*yFeYm z$%@vpq%&n~pJ|Wk{<^nhZ5jWdTh)io@2H@Gt*D5dL;`o4Aqw^SDm>#uNg8CZYb80` zJ_~VoIr5m&`iZYjNWh~Rpsywf&OlEX(>#B!H+?~-{k;)N?c{@%L(hCZ8gRLANA@wu=`;*bmS54^n}wQUoOR=i1fYT*l&b1+07K)$KUD@r`;p7hpbQm3}95%K;udH5k(zE<7f`yHTgzX0bMi1XRIxhE@rp~Y%% z;wq#?izU%?byi{?xWvKmbg_bnHh9li0m&5#8(OUM;%gjz;%j5^+pXs(&Q*}P79!JF zGxp^eCf6G94;x=kHh59xd~|^|w$CR8Vm^rhbe4at$WCYRLMXOBf(0U0E*TD8+QPs7 zjWe@}h!}rFqs3zvxHz6P9X(}7Gr3T;ofHe-E=%IK-hCO?UUglvVn*O~$V$!z#)txA znwCvl?0tlkhLNf+kYry$Yn4wCKn5C1XmhwKp#J8etiLfzbVlgRBKdlN19R_Jl~ ziTfH6&ms7G@_I7jIm?&-k`W}Py-9GJK<`JW@mjz3eUZB4!;Dyx9Lf%7h?L`V9Bp6i zdf%0QGiFz^w3(KQOisvka69qI51d>op4Fk4g`TYUOCpI0b^GVWgpcgpg4U^?Y*HPO zMBG_Bv?P<|TT=guYJ6(0FW;&iB&OY)HQV9-IWT;7d`*zIlZ!o_l0ANMeN{lYa}~#a z92~D)*w;_j5ja=Eq0WFt+=5`Ij0v0AlMw71vWfSITgW@dgOi9p#_dNXPkf@1#XEAH zD`;ZB0s(EYNZq~nsqFP%s=Uf$cFmDC(2^>MyqV{D7d*2^it$?uNVQWltFlTEq&qE0an4^Ko*4=A1 z>*|T?q+Jamzps?At8RCiUCVG_T&a4 zbKv(oM;EK7lb1F;hpPkHQEb>*vR3v$mx5%n_GdG&l)MsGZhSGkYBK~!F1KgVVw_Ks z#mP6=o%YW{(}?0!2(_-%(W@*j2CrCq&HLr% z($A#yb@8pMEVrj~ns?^`znvuGx5RpK@2;&xS04DG@SrEXANc)`eH1OD6WOgNpF|}; zxdFhl-+USgs*80n?OC zku*yu+k)Mks_t0vEIn0~BXfNPuZ3MNKpcNbXWm}flWtE|0M+PhVu-U`Zw`qHeu(ph?X4mxSE zArv#v@O$G$(69wS=QD4I0BA1^w6iiW9Eu_h9=Ao&)I5=4|GE{o_X{j~`@(z|`SlpT z%Su?WByEh}TOw)OoovtT{?c`@yy8H$aGZc3sr+W%5F0dQg+%<8Y)`IY!0sawz-|FYrKfeF^C3|5Ot1O$8*K3;K7UK`DMyRv@HTprVtkF^OIMdy zz>%pAN*P)E%5YHW0BE>WZP&%FI)Y~_1-LD_-ycNT$q%ptJx#K661T@ za+PnzqSd38_o$PVfRqr5pK|8llU4TW=;i68tuj+t*&>#EBWg?U^P3mv#Ba$rnx<^L z2E1k?elX+4;&vw}`3j15ru6EvmFrwW0OzhfO+kBpVk;*p(486Ng;*U66@F>f8oe&g zE;pRaf+@%1$(*|ndKat#PP>o;U-Z`z(jJfjWiX0i!N;Z65e^6ZBx^g$_y@OD80iTv z9|Tt8W9 z>2%X+dgK`N#w~bNEax9H&7O*UXGIP5F2VQ3aGZuqc*{kO^cE(!jLFt_Tu|Z;ewuJ^+@lje)p5FK2(p8pILPJ7 z3(nFd?}?Kw{5~jyhu0)0}!o zm+-$oA{cD_XZgcZ6=RC=2t_|EwpAtrqkcr4Xopd$9Gi9+_18xPjp_c=Zvf_MFhz5< z&P1qkMGMS(g~v)9=f0M0PA_3XN4I}};Eo5De%{iLM#-a5H8XKEC|`{F9(Cfqj@W*f z)qCe_?cVN}ofE>jrw*GC4vUp^>j3g&9W=F&nbMCf!9Nh=?-EYZUYCOjR^ z(#s|M{b504>-W8F1s>kTcxXIB*QHscRXxIE`8r|>K$jDYsvFMIX;xhiQ>JjFUyF^z z=R23Wn-RRAj&A>sKk>V&d0~n5wKs8L&xSSin^i{@o6{e=gm>(73IB0$iqE+_?1DqU zhZqUA;!|;fhSaF-Cq(h>=OPKR!T@N;Q$O?-JHHWmjIoQ^xr0+x!yu8?fy3r$d3`U zwWe1s2upO|`%{=e*Jw`ng7;VE5^7=e5tr~3SS;&dvV@5$SNIt)Sgg*A8bcr-MU5oK z+fAy4Ux!hu&FLH%MaU&I1BziT;kk#V_>NUfb(xREbJEf|2*r&kcnHml$nlH95=(2N zRI8s4_v$tO=Obc>t>1sJ)DdpeZJ`cNzbj5BZpojZe+=5Xykfo3`6t^Fn`9#+68)TI zHu4*0zHiA%tlF;|;5OhJHE%E8sqUcj5}EvKSusi5@O?4zZX&DBUfA?0hPM8qp-4iO z-^t4d7^h>+lytRhZJzuJZ5sLD5MAB+{4wdB1$7#r7G0P)R zZXri2y-+wPFcCNvICb&~lM8%ta|w5W1PP^-QhMsm_&8iFAc8l&yc3@YNPt#5lK z{i$+TxFwz=O_y(m6dXP09;svQ+#Bp z5pj>kk}%*{(ncy{MJJxVv>bme``g*aXH}QP&4458=R$QsXP9L|E9*S$4YHz)ivSW* zk{8x}!9YIxFUX`nAXfrNsP*5JjA7aMe_?sxH6LYr%h9cmz1ji^0IFjbrx7>Me7qOjBo>Vz%~_$chillK3_bLThVTLDXX2%UT>z_6tK7fYre56gIx2>kA0r0yA$ z(1p_tswavc3<})tn3)`D6YdbxUBjeQBWzAf&JyEeqDilpl;iD~Aq%HJ62j^O zmc&2#)#_8voywao?)M~&oM@2xip!A7R;nGE@BqYKCGJw?=CS-BADhP(ZWa>6vl|||EvKc@G zYXK~bVQ>&jit!Kp74pAHkiXJp=0TCiJP7EWrLCnc#Sm2i7-Y%*g;0zE_hIJh2mKpr zT4ksJE}~DgAj0F@JnwA~zlVJA5*T-gX#>{@Bmhzx+v;DCIuu4AA#xS2gr2!@{NIoc z_d|)(L&&b}$$Loj0ZIVU27uT4sYn`UF$B04Y?l5Pt{IZKLy*h@)AHTje{&|n{86p| zt}L1?UcLTXCJU$nK<9vQjpacqIGjKDa7UV*|2?zU!4E>X2ohX){_t@Azi6;fbjjkw zkr$Wa6Vr$s*r5OrVn+2P&N3WMXHg6PMJ!i?WQ8~!OqmC8jDQy}MHyWveT%W8Y>f;2 z#Io8&vUp1Z(Z}_Vq!ME}Iyl@tsL8&!oyySt1HL7eqXo}_6Zh6rlT-fSf3GqKx-6SO z!s4bV0ND8R$0;;QcikwIGSYV;k+@2axb}0Iw{{==%fSLffSmRgOpMc0f`KC2nS@ zC2BVtL#25FS^U^0Y7_nsRoA>u`_E z3RSsU>2Al0Mv&I4Ipl5u{ZxSR)^*e>**~oOR1pL%jl_nH!aklEdhgmiMIV+w=@m=l zn1+AkK4_nQ(yr*Cn>RmR;ti`xe=>B0Ll~KS=aU)U)8v_{dTvDT)NbzX`#EF1KYsie z(9_p1{Uo>N^zN4uKF=pB!LfOLPCaq-&h$uW$>6=|FE(I5fAV%S4xpSnKUEt(^mUH= z_>TuUoJ9HA8^7&JAN$%K+Gmu`Xs=k%qv~;j+i6<*b1bfXa;5$P5e#hfCW0`67HgE=;hKaw5l0{yN_bf#$f-!G#O$9}bQU%H2Xh+hxx_ZAfh zAWToSc6WEvkF=FAnH1Nq^`7jJALgFi-Rcm9?#m*K{?ecNDcl}5n|NZH6zyCuSx)0TZCsfHXTWTm;t zm)I>Rq!3@gb+fc(p4_q9l=y2~VKW$#E;N|N>5CMabr&FrOLMg?o<)<`)d&vmp#|N} zO!%_O)j;A34R+V-n?dBny%m-kFRp}}9ey^skll6XJ?sNR(oofdHi)>CS2;bBQjgBz z1ZVpXUL1>4_%(IlG&x6BO7H!VXO`Vb6sROB9T57`vx2(Ev?slQW-u*Ms8q1L@#?ba zS>9ihw#y>T3b`LHU8p9(kd)In%1%~@WNw9PA+_udN$C-17D z75R-%cqf8ey*b~DdzTbBwt;DPpMe1x1|V8+tL%LU0BL*~gl;6}cpxCp;f~(0iVI7l z93w_=Q@E<++onL`CPN4{zuV27?Qge-L-eVc+%<1Vnl9RD@4B--r{`=DQwk>ue|rjC zo%r?L27Foy#i?K(Mvd3|;gOeWuB(KT=R&iM0trM-`OY}!T|Mbtso@ceppNZ5q9*BO z`tgk26|~6I@Kd|f=eudNcqc^F=I@~(*=TLCFSQZ+(q%@yt<;mAzsC&tDwcngYV5^b z3PGfn7`OrV=p~?%KYB>&`$bBQ8Y1U%+%?exrS6Vp0gCf&w~H43NEsf8w=_R4rF9oF z2?2t2gbG?hH{Ki4Y5DuOeEDkZ8dCpIcJRUgu8RPBBQx1>NZRmgW#u;@=ny6KGCxL8 z@Y24Ka<%L8gp-$7PF}jq-wOn-KM31=9pN1ml{m@zci(vk%636M{2brjIsRT4Tlx*s z$?@_kF8w)WQ8i0DStVz}K1jYTK1AFEg~1cq5SH-&MukJ92FuS7XTckr(;Z$aPyFb` zclbht4P(o^6u7T?HmdfamKilo*8h%O6UR4k`zuS0ggU|jJH!=Pt<^}|76CnH7O^+y zAho}cLde49%=XvV!&Q$B4Kf2vZmGEV=Tu;r6l90FO1`~zh$w1mFzuUj5;TR8*^2bO zzNe00As0=0pB)MU@~utZ67f=`&;)~W_>^W#*COG|9Pf^dgPWO*+<)9QME&ejv8~wJ zlOAM@P_eg#!_tfEbbU;idXeJeN<#t)8apJCm;e`r*%BJ!7&t{lPskA^`PY$n<{8tbvezcrYVEH z5^Bm7G|+?Q)bN!1`cm&99E}&goTYfeUxRJ_l5;T9a@<}@YxlyQ^oBY@Aza{7gWorr zJfuA&9YNvP_cS%sDQArx5=_+XWQk($WW5uP`zBg&s;lFNc~m`=a&R6?i7VW8@63>u zHJojy62^MvdQ>9-+vZe<%Z33iz4fy#45LZHSaDPCg8|7eA_b1t9O27C z>HBG@WeJR!YBv6zjOV9X4@bq@m5MJlh~uWKyDtO1C5RN$mia|gnh73Ou>J8sbvnip07DS zp+Aw}79$2k_eHoPsQR7RO-=Z+y zr!DjDJunaFpNK-*FJJ=!7wv~; zi-*Ibc`iyP&RilvAXjT+Y}CW3&HJOr;x;;=NP0e0uw7YL2-G{LuzMsk@i-$d#Qd6z z?-BD4Lguof4WZxl4N)tWQjXA90_MNX1@v>E#R9IUWhJ1W;x~YypLzsEreQCI0Ht6{!m9!jU)=gEY!WI5B zXPJQRynO-6PzAO0Py&c_=U@${x)EEiO91t02QlG|$CM0Ane2L;qs+45PK1v~m&X~c zx;81xiF=nT^kv`W(vg!fmr3~04j)%o0g>Vq$#V705D zi7NN}G&|M7sn5G@lrTNCL$k3cl~aEpe8Mz*-a+nY#-8-?x_vL>o!-sF7e>* zz8gj1NPlhq@KwKkQg`HNcBd%GwzKc_9CwkaX>LnBcWrZ!>gZXof`PDsi4W-~I5x%U z({C>qhfh72HkkX(ZPi}ol918o?c)u*1wLPX;%x!#Av{iu9B-d~ie4^-qJ9;qO}MDJ zEKPDV+u85xvr6X4Y4aFJN_gbnU^$hlm#Jk35@EP&I$K6TuITv!t4- z9H^}aN+SfLNs^=x;tH>}{qNtx0a@-f#6B9~`t%i;G(Eav$QU82LZ#3B*^Ma->8tnB z3(TmqygRu~cra<;RG)=RN@*>)H|BR*5>0RNJXENqs&(i*C1=GBa6!j}`=E4qlSyP> z!La3};a#S{0UEos5AJ3_4%YDkSd2cZw%b!p`wEUwjk`PYL;AJL^a^eO{Y@leWP(`0 zF0lONdZO!2Rlq+ekSO{PdRyqt;4dj!sFgnqM}F`vJrWp$QhGTb*YJN`0NW2c`_(@f z0yR*Sr)*jEegY)0^jg$r_=N>`FQaLh%1MDmi`ZI@eTaSQ-yvI4N-w^*gzu}z05WqQ z-<}!1uq9H!BocO1gg;(58K)XJtp$B|6na#lMF=hOYbfI1lG-+SJ*u_~od4o#Kd{5( z_BA7uL!cY(j?FfS{E;#N04@OoaL*rwcf(~EP=UnRkP1GylA5+G;FE44CV*dT`3Tof zYrycyzifvIa8k6OW0taI@KU5hFXE#%M+CD=f50XP9IU=V(O&on@m=F(qp765~jUEUxDYtjrGL-t89&OI{X z4zF(x3W$}N|0{Hwe&KRfaHOso;O*Ch@b*QJP1vOcGkAl?;9nh5`(NzoA=r2Wbp+pBF+vz!rNH&MJl%Zw>!BE zy`l5Nb3i9-p(OTZE2h(&Y%qckQXZK%2a@HX?_>q7$qphtso@2IYwryo8!d>doOY{n z^h`5e70T)A=yhG4%(3j$7bpaYi}}u~IxqzsIo&Wm&esw@;gH4}aA(=1v6`h{&+W92 zW`P$_ryS^vt=jd6J_sFoGY(pNhGmOcyEY=7!-h=rpRD@`xF$J%vuFVs)PDP+*N3kT zAG$g$kf=G5*T62_{vZtg!?}SG+mZ2O`OvciRrxC%vu%O+#CiN6pUOUX*5(1>R!B2mY%keXj;>DVf<+Rc>=Ei&HdV6!xL&(|{l;d5&-SIq&x(2VWZ|Vj{e^BsdvplQU5b$e27Sa+QK`20K6vt-@w5@j;eW_ zWCFl{?CjtH*VGpTV~Um_Qn=>r$W*1_>!M$`X@dtyHpRKcAt9{q^#dxCX_{;AHH}PN zYE(7)0*J4Dgb=T}_HWqGU<_b)BgB8$m;Htv0OuLN7A zt9>3*IHcGfu)yoU>^?|zy4(n!PLAG66&Eq6!Gj9B{Iy`;W^dH)v=`}oxzMJmNTu{! zXTxAGn^V+(*09n1=d01%G~pKn%0*dU%aa9dpj)=4pzE@a!e>{G@6MH}_?~=rSJZP zDR=5409sB9aQS9=HdfPb_3&*7j}~N*eUJdX|EC<3OLN@ch&(*dgus(n2)y6B--`o6 zRjAZvt+#k#tfuF@;C$9p$v`^$r_VD@|4{Yl?`@-k(GCcDQOE*$Fw!jrJ zhgf~R6Fxc8DWQP(f-MMeVD%rst#~V@LTT6Fu(I2!&ig-Yo;`=&lcc#Y$EVkCVY{fx zG{SZo*e+De7s7TixKpr`rF^NhG;KnBq9lC26*Fy}dr39j1DXN6_CwM&tNI^wqi4uJYmM+@ogDr&^NPDl$H(TH0H9t?JLF zndSD;!F;IekHsgv%r`jj36BH_yo7MLgixochNc(t5b-E)8+4Wtqy)qToK>_qeH5xwqe3?_U zWTuPG{;K7ykOeG$j}O0S{Ww+^X&?WiD}(6k&bq=^DmU2kt*&stD+9SM-}4@sjvX(z zubPFjJr={T!j8Be9qAZSDJdE(aTIriR6xraqIh*Od=d>aSx>tu!K+3yP1lNCKJ+X7 znP#Q?*09kxDXKcql?q)(u@hI9IDaYp(2o@%`FIFm;_3KIJW&ijZ|+=6({3R9v|I|& zkN#e@t6eEDfzftt^82mMyRO&59)1ND0)WPT54KwIvJ+mnHq;1QgA7eCG#9!9pR>VA za#Q$q4Nwen9eGtQEp5n}sJvA0OmpvQ#gbE$N&ZSO!x}VwBq!{pWy41o&0L-EHvRB3 z#BA!s^SnJLW(SS+S(CRxCR7iQ5(lI#Aa4N*g6m5FgbarBw{x9mY@UTnIZ%DKY zm80Aak!JX`=+O7E)sI4Eg^G0cX)CmwO-?@F_CWKa!)muyH360yo8KP_FT5f7vYo2e zXufHPEkoVGgmUx(RoA>HDVcW0VRQQsZj_4UnY^;iHqfA^82lbn|_74oZtFeWnr zf-~F$ld_%XJx{4*wMTQ%$Xb!3&-C$+P1k&w>K|>mao*ivbPrIuA^60n+cP&*ypJ6H z@kr90HrjSUwe$u3!Y?@FEWui_7o$Ux3hFudwR*Rzewkc(WVP1oM{Qy%W$gjx$CMVqr)T;r4uvu z9$lRN{`%mBA?bh4Usb(H%Q>YTZLp3sus!VC_YrrxbA&D=T-_kp^)Z@6G|t4ctuVRT zE{!%g%K#Ve+a{;VLV`*y$$FrP8 zI#f#A-994yT+?qJ_jsE^Nz6@nA1=vsgKDHfZrOT{ce&LJb{dz(3C*3PMJ2)CM@&~U z#L06ibeF^t#mV#F6BPLsBbfZdyl z&>9Y%Hj9>-xT`Dq7-yovjywVB`L{Cumi7>RlbylufjTo}s&7bKo&9YhY`jq?0#bZr z2o6Ss!l#3kt|OF(!F<$rA9FcvW}}n+^T$l$ve?%rA3V1gPn^?{GXoOah6Ju$GA+t%<~OUBj0wgEdZ^>n{p-svNUgLWFxzbug9+1mb6V zmv09G%N|Lk(}xdF9$9;6^4@afAmnwCJu7eRj_+DiVVRW$bfXmUv zs%@kjxq?YhR$~fff{k!nS5uThhPrQDhfADI3oMmH&FwhcJ7B?!@9StV)a|8V-uXaQ zm9FXtY45xYe1-0)Ch*Qgq_9IN6Tb(kW17!+v@R~<9te0z^!Ggp1^q8a9pe;xPip$` z8O!>=S(b^nxE4)X4t1KTh)wY^GGK!!0p-N#l7YBK-C-iTPt~_8Ec{t{jPqi&`TMLl z8^Rn;wu%<+KMmz0+nLtKA;JoECOFEuVz4#YIU=~EJ)`*3o>v5+X=e=-8kntTT6e=s z&}I`}S{YaRtWXp*6F3!r71Zp?TBfyEv@;P(+TqV%3fIkor3XLyuo+tAb-_olHxEeRB~68ev1aX<((h1iCQd%%1P253{u)4@!i~Yb$_*biq!1 z>Kt#&P9%yIQc<*G^=Q>?V7`8Dq-9l3U#=d5U3jK10Qj2K+7d8S7=}VgPGTe_z7B$i zvWWRAapkP*3ro3eqowld(Ve0$(qN{3ooH)dB2?7a9yWl=FZkSNrAvjxFV1mMH05Zg zzT%C?!`s1^jh2}YO7~P-Y6kvNUE6*H`tJTpY-%SwOJO`g!se<4gfT$AgH&rT!z5JLnJqLcMgLYK2llA=} zE#R>0h#)p7^q)@q<{*CMSHQ`PS_Q7J7gw4W1qC+xFiOCWev z^KblPyvok!L=h_)7!_YKpl>vhm}v{WJ|I{LL4sD#HuC)(N)D%J-^V;THvMUQ(2zTq z6aK*8EG}5CrOJ-k-K6=fs;Wx=IA5k@=D_jNCfnX2>C!LI<79F)r}Wx~=MNvq2e7Aq z1#rh(zxz(9?3;Sr^?AJ0PCa^e9CvE)i?hT0kQ8T-qkOb(8NRw|xSi?>GgpY3ZDM>6d*c)4)dD z3tNT?x29xZ?NU`j($gu9`AFX7I>J7Bm>Z-knxPnGQ{thr$AcGxECD1xh&p1G2nv%u zJ>P;eA2?e)JT#m0{FzMx*dBvRNpbzs?I!oDZA8R6xWn+98jy10K-MI!C(Lru$#cQC z9!Q|#bIHBO$DLZx;f~mRM@vDkiwSnNj}^`6hNc-FEU~BJ$#{j zl#``s5@ruwszae?Y~|#G1sq|rVkiE>Rf%ItX<#QlHOTA#Ts`M!Iwou!WkCWy7Y!Wx07QPDmD@Wq3pN$b3|J|EZ* zG40uvkFTDTsVM$9ry%z+ct4dX?sISv3X!_|_bn48# z^gX6;&5k9fCLE0G2+H|kI5;d$HLmMuC<7~eL2R(`oDDZ}haW@sePj!pt;U<;oe3n!cD<7PS?cGC^7;VpxDK1;l1cg=rzL0f^oE z4DAan&6dc8-XAvJqX;aiHSK5F82U~wlCe@)KpQE_Ek6F;eMs(DqWVZ41U+Q|C6)$z z!OmnpVhs3E@d`an5@#ol57?9_49S1{#)o@4+qYbl;kU^CA)oD2;J7BqBy2&nOzihQ zFefG5Ek`~#KHDnN=`m??D$j=dMjkBtBu=jg?a*`$uuvFSXaX$E))LA7&BFUK71ut_ zZ%?iTE9@b+2#0$LK{E-4?;?9TpY10!g)#^g@HN@jwrbRL^_Qal!O_Nh+LeVCk4?D) zjYt{9Cmv>Qf(}*&(_g_OX-T2PZ?v0bC0942J4Qz<8yK;gy#&801|RN}MoXmN=Jt&` z#{{TnfF1SzzLWRh5a3Fxv;1N+IJ)=oNzbQzptwK+yvhS0Alt(Rw%=z2#E^lr2uBA$ zA}zD=>{EWzi0l)fHj6wz?i2V}xZ=d2-4Bh|IZKCj&r5narL8z*v;LlH#6zH1YnhrB zWkzY76O}>8kikfQ$Zds^9=HoWd-MB^I{O8vrx8ATG4U{0hP|)M2?#x=Kv_L+TB*dY zYat{~s-}F505K=jr^A2tU1|n31AHrMi6QTk&-B?RMmiRTvqz?;Snl$;2!==jS@4eU zB0Qb15%F=Ku}K(C_TaSh*)dH|5JU+=Yk`3lnTHl#reflf{@cgx;IaMzVErgy(cZ^= zpJ3U~sRY(S!(ZqRd@o&rg+g_BNY$NN#?v@$Jj+f@*clh8)RS2N<#4*c}RS$e#r)ORX~59bJ`vPshW^&ab$E!vp%DK39F&tjUnR(mZpjFMCfU;}{1 zFk~+5a~dOgMver1KnGF-r;@BQlFE5PwNj5BIE=g=qoKpF-AO{wCi97@>`^xE$Foqu z|3=TCPx!`Sp)D(aqc3O0Y!3QxTsZy1P{}~}{o!Uo99bONwUxUmpI+&U3;tLFJ|i!j z0M)3#v?HQdj$D~pqV{^x22Y(wq}J3Hj+cbDjC1&LbZDdSb;EwOe4bSeEF$(6Aiwe&v5hZt6(l$+}g>rkNkN z5eoMd--Rp;tV9zTk^dD-QD-lB`%ig8EN>5Z7A?~cf$i%r_N_*&=HyA@%Iu-lTqey# z*0cqI`L8_)2jj)iC<9NpYca^I0`pr9=S=i|31mkv64{Nx`u8|p|wot-rjop;Zu^O-Ck zKHOI*qZ2&+VPgWq@d^KbaI_ZOHG5_jJ2z(M7v~Y!tiHur9~t5UB3?iIUO*I~WGlm0|^l7Y1V7m;4X+59}Z^c-*hiwi3xZ zZ_^wy)sY@tgvYA!sAcT4PqFz-|2v=4$) zM5V~s*i;#RhBduO0$~G%%*ge_sToz!AlaD>eh{iTogr|~W~QBKxjl6EfYM#)4~Jfi zsDmD7i(0bJA+)dXx|+T94>yQVFXSLa(GeXoMVU+9Xh|H zix%X=JqjE+z%zWLrctzQB57YSkc)V9pOx|Nwx%beG7B7(?9Yrgte}DE2<<#zG}QfL zQrMqF@o|r&eZWRTw=y&hPDzv98b{V%fsN*MkwGi`cEPWS<~JV+OBX4s_c0r){A#zzYPuo?8z8hkx-R zg)H@!Ggu4qGc(Zv;AsWTERqJLvoOz1-aMxku+7hteGIYDzp>1b@z-70auu%7fco)7 zR+b%28WJghidjG%ZjfMvLm-0I0Kd+HR1IgxQ*%1hsRc&T958Oc#TE>qjWfN?HPAe- ze`C2xv~bOWnLgWoJQbqH!}a!9)LsGJTh61V*xQ)xZ7}oVOAe12pKdZJIhiwEs3~xH z5=~=a5BI{Ac%8O4@TRWb`K{BwsvJ|Hj#)gAPC3TxY#zuuUXSk#5k?FNep(B$H$sp% z&D=XFl$=Q3G(x=5)>^CCTD<<^>!A1@%}so`vy#R?gL#=4Z?tXZLrPA@%xL-o-e|j} zP@2f=FYfyr^W=llh0Az-)s=b7ATnGkX%aIaEs)oO{#{KZF_W=I1yI}kySMqSgQA7Y zcyzDiA@ut8lS&|KK}^PObm1K;nNhd~{oCH6#cuuGEuBXV&gkAee;R5T056E~^gKe4C01z9LsF1O zVws{xCGFGyK$PS%B)d0zkSS-!|XvJje^W&#&1*78OtzP4i;3(e@jGoA(^GG)gU z^_QbB=%0lW4=j9-SjQWQ{&4!=BX~%n=ZkneK;Jk1yEpmo7V+?0jn~5my@QI`(I@)% z|0kGHG+@R5XA!pTBCYs;OpB@sLsoDrhMrYhTdNPLkYA(fk3$0k2ZKu05w*BRt)HO- zrt+{FK1o^8Y_@aX6Xv2DLa^^@W4p$t>ms}>GjL|Xog`R8vf{t5<3KwxY*VD)J@xy- z4bEZ^TerR*RWpyi!!^PvqEr6Fs*a`#r78oV^Ut>ki!U{tmGD(<1>f^TnMIzo{EN-= z^>1&pQ2w~1di|EA3FTLOCuf~Dd3P+@)UDdFqPoLO{P?MbkCpZ=x0lUV-lVqscrJck z|8ZA`LQar_L(|>tL)_lUFtu4WMnmgEIXA|ON(P1jQ#G9^wA$?%okX8%>}Ciqf+A4> zj~uJct);0~&g=yh2I$mP+w?4xmDoA6b5|LmN8}5UvCeB_XRNikwP<6Ga1xvEEvd+3 zkqQQXvFP$frDf>W444lJLg@7bu~mN_sjbA`(#zgYHQs|=O2S!~U~i?}J@)5OSwDu@ zvFyzMVNq;|u-NZX`9EAu_8}3xUb2>!BY`f=fT@~*&Ojby;TjruOys_kSQvJxdP? zA5Cr!Z;eNt_i-}m<#_tF3pPpLPlGd%y#7ahan`g6yDK}4I!u@z4`2Ocds{H)Wt0Q9 z#j34|(j^}<3j28;_(6m|j6Em`0H|D*i?2cIoUsvl*H+Smw$Ae&#^i#-^#MZ` zy{A)EkcOV2dvXog*{`8-WBrVsks&2SD)U&0Peyuffma+l-)S$H^7rg}YoW^o!mW78 zl4%8h!6fs>K1{~2f0UEOuiVSHc@V9ymUZPonsx*u_Ak;*Zl=ZGW$@?sBv5pys# z23ZP6>2_pWSa%~i&^LBWdNS=IXnzl{7v&AVWQ&F`YYF*__U{=tXJ%(oyI?pY>dD{3 zjpZ@Y%63V117{?^uKo*mB^GhV3Zxciz0H6$np*Q;xa}ua&fvD(iW^L3GA#Q4V%%#P z>ux*X8*%AauT~{ZbhF}LY?mb3Zr=;AlM};XZ5Cxb{A)1L(7M|L2FoN(KDYw6aMsdp zlw-S(#XO0E468FWO`yOQGC%6Qud4VbulWmYt(#PK0?IR1O=Pvw2(H{ScAtLK` zIH5J%a%ytdJ()_H^Iy!i#GR=zfQ3lb_+g`9Emi2P{1-n2ciF~z!NlS(2)pG#4TJs? z5^~N3V5Y|^UrkDF9ciQLt1zJtOT0;{Av3xDJbI%*-G4_|3=nJhi&{jg!9gEXm zELkY=f7tu-f2hCj@j=K^yu?I{p|XZ#DN2o$7Am_i3PprOrL-Aago+4R%2G0AjYdPs z)|4$$wn|yDR1%Ri88hE=pEK(HAAEoL%;WWV^y=Apo_n@?@44rm=Q-5o|FQj385GwQ zfcd^WTeFqkmzde%CcxP*VA_T(P*Jsqi4jyZK)|2f&|Uuc@rWq3;D08rcdvy7qyI~K zf$za$)*=Pg`07IT!+lrEWN#90_7RGd7!i`2ExeY5<~I%y(7GeHBvjq5wNA;zk!i7J zysL;}UAOi{9plrY_d$E=iFY*HQg&=MP+}uc9F#h*7Cy}UOrR^Yl-XLV4%|5SoN=2r z&sG6C448Y#FvevVf(YvZ#zj*6^+#oA5wI>vffWKEgX5>2MCtZo=0ydoLA;B zL)GpI`EMhhe`{2u@EwHlXk!3NStHYLLQF-JT55A{^K~*BI>=VqyP97H8`{uI3IVEq z28>3BFpQ(OJLWLvuk8xiA*_nH=E>V{y~LZE-8;F%PbeWC`T|m@h3_UZncz9W7sUhS04wa!+Noi2ci39xJR$+F5CF7D0gf)g#gP$Bnvir7t} z7{@Z5B|_EjXDQQ6{PedRG0v{GRclVql}svHJKSP3(J~Jjy#9EayKxZi5 z*zI>_%RK}w+MHew&|1SSt`jZ%fIA@$pyRpF#sZ|UyUKRE{bVvg0jjB!?rZ4^tB$kO z6xq_A7n3#;Hjwf09Q|tp=pALdJ@It6>shazb9XnVw*%3N!!4czgqnr~z?yrF1DYdR zI^Wo$C|NP8(F4(7pGHizaI9I-oc^+o7*=w6^GTNXcFazLKyLqqWI3<5!6#WDMQG`f zPl0NAhFg39Yu9QZ;1ow}hPOpal~c0hQdOfGKO?LMn$x`{lXO}b@mH8zf0Q;yz~4C{ z^8nAy*iuq*rK_L4sl}0^gow!;=_u2bPfV3?=GF(L4FGzu4wKib`Jw7jS<1?`m->rK zfh{j5_$L*Od$%TY>?XwM_DBLz3Tz}=!$BY*Bunn{is(iMMC%1Ta*es8-OX#llD zwARF863DO=Ah~8M&(8&{zYtbZb9#|vQrIw4$do1jxb6IB^gn2#1~o`S-H5D=CH7H` zw#a0U>XGkf(pD`SHq#v-6x*kWt?|Qefb|KtYugs7Mn(Z$3UCVr%XQy`rUEFoH~~WKuqw;3K{)ovnVm{L+XoW651F5iv)? zIWuyLjQ0Z-<1Hn&DjK9UstZbA>ycBkX{$C4o0SX@)}2Ni!b*<`LsNj{ZDdhZpVe<^ z!MF^K<(mn6C6m52GioE5wTBA^w+@RbahA7vF7Sn(B){X@do*k7TiRVIFBr8_QKsvL znSH{Hi1r1OnUfK#If_$GgW7@SlCaWO)GTO#1^aU2nw z3y@Y>NEW?%(?9Y3dx4ep0rw(Z7~Lq!G)|vvx05CRmi&9P=PaF3%gdoda_GhREjxb< zoFh)YTf_c6U7pUa5_@vBsvwQ1=6Cw^bbor_r-bJT#$_WnAY|>M=Kp$tW|nU#b8A#I?9T9PLM*oNa@LWZKf>V3 zAr>`~{KEr2@v1Ug>7SB3l)xtX7HwM<)d&Z54Jp-6X+(o{(`ne7<7S#WCuh;`@1`oWuEyoYs%#ltXB$YB2R%xX5TgtW*+zujIFQ}%N(`S zS)g)D^`8`jNTQ`XwH|4HR#|xefvJUln~C2&bD3f05z<%vUc^ND5NwlnI*5sPifmlj zHx7p0zj_F|2N;SUA`CSRmevc~xng+tuw%LcQz)2!?203l_7kj!yFd)}7zW<|5rZQz zu}fX_Y*eUbl(K4sCszzd?Pq4Xr=b}t@g;0;58yNgbVW1y1}x26b?yWRSN*jvoT-fW zHP`%_j2t~>+iS*y=11w-NSDyc<$}`;GKL%(kfbdfMAC>ykueBsAW8E7Bf?NMR6QqoV5uq9c_Hc<~4;=@KjN|f!!6M~S zV}XdD{g#BB zL6mABNqn#dB8<6`@P9iq(}qc+9Z8}QN#Y(R2@52NcftRNC`Ck6AR?T#ZD3loMwwo0 z&>J>ee*A*dA50QUKoX}gN%$j4sA7^>`ad?+ffRb$<(1X4yt|QE$CbGz5ve{sory`J z2E3AMZb+fekV)uRBcrnI{R2~L+W>2jl~6PF=}&M4tkSFYAv9_ot`_>%XE~M?dGGqz zMr?kCDZn8oyAGQm2jhU0B^W6pv_M%}AdVNRSogB1K_kP!-6_OXH=3)O$ypO2meCxh z)Uq$6GZ0fs%NWDFwfXf?(n!M(>Oih0g+h+RePw~phrrxa zvXQ|SSX%GRFps1&7KLtErF)zeCePmOO!K#~K$Bic0JLn}s*~LRg}1ZCwSW*5LL={i z-oe2m?pmE<-p`o{MTur#K2`z$FYwh*XX zWtIeohm+*tj5KU!4@>G|<2Q#>ly5mAKZDo14iYrLFa`)aT>+8u#Vv*X{e~9c>WRo; zh-9+xkm&#`3b+F$p-~Z}Obn3>2a(TxH9+(j5aj`)^%x?%IuKB+aOeSJpa`5x;UyTN z1Fa(GG4;DDv0cqueOC`4Yp#cl_qc_Qo0aj8fj{-z{e)txW>+tT=`tbKgb1Qs+_J{k zFN301)p79(n%YV+4#MX+cvi9{<;E|_{lxHW#qdb2bOk&r;r$ZM0+1k7N4yhDc3uH9 zeA^n)v%yh(#%{r-s=ktFv7Na;y5k^bMDC|2%z}A8EWVE!(G0Rk$vt#o3xl%2sBGFi z={}Z?8b(pKGf?CJoK+*vf~X?P5oax%Jy)xq!({aK3UiTR^>pNYB%_win2fBXjqzXr znxM598u_9;JJyI5yc(&W-1!&_|=!r?G7nwD6u|UQ0XpqvyM7$x|Rnz^cme#+{qeZM_10%<1 zs6i4q#2%U`^;u zE2n}s|69ptS<0#{7*WGAK)v>N({P6vJ@Tz<|n>x7zTsmycZH8@Fy39<*bAK;WUy0qcl3n#na?kFQ z4?ymk*ZL)tqh=O^zXz025`i*Ffuv2U3;(e9TU5DTsQww@bY?cE!n0GKtTED(p1$#X z4mf`~MXN4O4r>9CF#_v|nr-FHj1$RB?JG>a_ZB)2UOh7F+%x>gg@>*Xo4~9!!o+uf zaec|E zW4xJkEbx_GbQ#QpN5_~SObb6O7vmK_@xe*E@FwfiAD6_(j~_2)|2BL2D`nq;I%Aeg zB#Slp2RzA$C9^jQRlSF;mz^a4m?oYX-N9cS+85))pgPSyn@gOnqp&bzjLJAV6BzVt8+W@VvX6Tox$3 zlKl$qfV-~s$GyPMLs6odYvh2YP(02dBjBL(cU+@ywBUrc_(f*zp%Y_H1qATjJR+;{ zt{F7%_rhBso)zRfkY0M`6|Z5mq}fZ;<&H8wy1N4fvf{|^63@cM@Nf?+6Hb}2*ZPaq zm(C6Fu78UN6hd3_@K;p>6!w|WHWy*!sC)HPIuegwgL0hJcu7M)`$x+|P~@qvj_5y` z!H>I@6L9}yM<|2?qk#APf%NjD7hr(4JuK*Mpd8g-tReFk{s+MOSQ*&3kMTfM%6Py% z1EO2|e?0|`zph|c#Yn?fW|Bz{q{MX~s5XBGEAl09e8cRAlRd2#fP4*$qa0A^+FMGiq(MP=3(s^J~98?(vT}K+T zf=5J4<#2Sjx4d&4Hw*#Cd1gPXpS%{d2q*E!r}JpUlN)UR%r;J0tz!uKKp4hQGRaLy znoE&Nw4ge!XcOJaFKa;t#CBH@`F5{lUsrgCUcfU1@4^c~l1XQ5=2)n21Qxo|`&Ax) z4ppknzdYa`F4B+I6JsIV zrJ6-^+!s1Ggg+W$(8?gcfXWl!*AWFYU8sXERgswNlbC!X5GoQ@(Rec--Bmn;B?Nx}f0~xweN};#6?Gbwf^xtr3A%1r{;z$Hyz#-PjqxM_Avb)Jajx+RH zqIOG^+R@(TYZ@p(+3LlBq}TlgP{C0EiU-oOGal%3W+X1CL&w}e#`9?I*SR8*%OFVUv4@`y$AANw5ePIjYnU)y_yn-N1FX4OfOWgyU#yFY0^lynl!6E_T&&5a zkrU`se0g+d5!yXC9=uY%^_MGNNwaVVx7BB93Pe8NU0;B!T<-#cTtYQo)BXss_21RM zpu$K12UR=~sHX7|09}pm6f3$8prr4Bb$$z`I0A^3A7Opqw%n(_1*djxBM?9z`olA% z)y0c{{}{Ns53zTcn_{?EDWZt0{iiU{JeM)%Czj3PPBBd&Al7>Xuu}ffdP*4x_*(h} zX~0>8gd|X27KqN0LG5|_L9;L6(vBmnmjVba$reNV&1DqOwga)gSKy+kybaKL{6lMt z(7sF5>5fb1sgu_QVyQ2u_(UPXotjJntfCP47QYH%mxqV9fVSv|N|3g23O7>8-IW1N zQ+z*xfR`UsHTW0!X#OQ2tiRqodhP96b%sok#D@k@>}5Epz(tc!IDN2X`O`N-OPYMw zb$=}xjGk)}c5#EIi5|HQ6VL=UZl@>m7-&G(y!a8S#Ei9gCC5 zKeJoT{kSm-H*<7!Ggr|u`})|^32)le$vS?k3o|D_7(&G6?Et}c1-mGW$>+LOt2-oB zl#07VX(9HoU%OwJy#Y*)uI*aU{&|NDU!L3V*21y#gYnbEB|jPojQ)M(t$y|M%%U4k ze?0pprpN~X5S8l8b0D5h@E>}tj2qR2cAls%Gm2yzaYw_bQRPb zt0Q*Hv2n&)-3Kpc!i~-=2-P!;P(nV77=2882! zkgBu~m2M6c6sR^EBT5K~QG_3J#4xRy#yARAqeHUt&-Y#X4u@$ZIw_3&h(m zH&(a?{vdwB%zuE8ArwyXUyI11H91E+N+!LcbR)9*R8%8(Lv6NLG8{;Q6lHwqhfy+{ zX0vm2HvnCFE!(D|QEOpsxd@I;Ml2y%_cXhOU!dWfK?)|Bv@nwd78=gLSV0$1s12m| zLy&i|v`+#?l(Q^AL1fir+d1y)UE>exzQ`=mX9zm;g_GWEAu-q`RpVPB^e&#iiDKngu-8K94IDA? z6D?nXuH|rX*og7CRDiTCn-;d)feh5|zDo%k1Qm-gl#-czvB7<|DIMu3Eb0ByIr=k1 zyBCRlZC256hat~mVD7NPX5hj}lL0K0vmq9$?g;|B5@5c5uiu&YEQwMGF@qM@gTVN; zx|a+y;9jQcsc0$XO233{|CSF1QH{gOsxCx~{z+Ik<#4t6CvKr32Y}0b7&2DS|A=H# zlu6xAOp8GLB?p4f88lujut>FXtl1{pmY-VbQHMr+kuP{^|ZPQ_l5NzkeK!&6l?4XFh2h&hm>b0BcMgu4Nq z#?bO7s>%rDFP5KBqn`*^+_by0{2>{KfK+3$hk&dbFcV?+WN{rJb;TdJ-UKR zfcd^8QF?Zk#Ai(PVz~cCH+4@iVI4r1=$cph;|`uN-}h*Fl&P_TFSzuWTv|K01ARSM z#6PL5p%O0WfAnnz#F%-l=FsHNq1h`yD!SYs=WRgodM}JdvNOTdguA5d&(**O(NZ}W z=|h0|i$fx4q$2RLV5;%RWtDM9dIvZDBj%39GGbq)wKLI3Bv>6VMV9Mw308-ZH0TPs zKQgZBYe**D%#!GeoTJ#6);>F4(L70jIrIyJyzbU!XGR2(9eSELzJ|U3bO2k>z}Kai z%!;lY|6Vz}p8Zbb`3g2Gn?3pM*vx3p1TXKoc(Pqy3(@SB0ptBl^~)UM?2*u=iZI=I zpJ@HqL9Gc5q)pAPxzG_^BheG6V<%X*h2>Hj!5W!mKbncIWY_1MsmrYsoe*o+Uly~& z$p$}Dx47~v?~+!c?-@36W?xjJh(YXzPQmuY2Lh^h^qZm6j%*Y=sk=2^$!t4$Rc!y# zj+N}o@#N?A#NmQL!t@#xjedQZNwKAwY<5*7{*h6RVxCBznJLSi?ffxb(AP2PNNl;r zJ;x<}3SVzcAJh;2lzc5~;&NYyerUe?_NWGVxKGw4Pd!^{3W(cXx9WopJI(;ZnjqVO&%e12!w8Kd)4>xzEK(J9oL;f05 zdoRMNhTNZ%6Jp}A{c$RA=h}UTGSBE5`PPwH)>9f=tNZNzsgWJ5Oa%y}S=e2D?7#JB z1ybu@S_6Z={HivA( zbfGX%HY)lk0B|h=T-1&UgbUW0c5{Rak{J+TiGWK*!%J)#m7%%1#`G$ z02dJECHm;IXsNk1@0BA8>;P8D729yqf`P3J!Mzaf$tqfwbarcg1uak4*HulmrEN3h z9uy^TFiFi}(w{C2f}PJloOD#X%QG=c!oy*d@nSOlXgh%G!Bwj!#GoWD4$`PT6e>Q6 z%6~Nklu1Qd4&G958KI)#V#u|QQ=eE;K}^RF4P@i zJ;rbyqkvaTop&`P8gN0sDj9E-Eu*3Vw+I|dJ2lL*k%O%$te4tA*sg-X>M%Kh`_1gT;(7_9`SNh}NKH(D_A12J!eRtxAo4KL2-JZ}Q zX-YByr`;AuHelD^hI|WtxX2EUKeECuSS8iEFws)0wgIZ zxH~dUnVX_?U-r9TCSQ?8ZT0 z2M!$n{Hbyuzf-^;tvH&;V|)D8yWt?U5O%28_#Ck3M`eJ+PdBjHQ3 zX=OxyQmb3_LQy-U0^NZYKwN{cQkyQ6s)G}evlBQ&nq9(XK-g_%j4)#vAO1QZ zEDwe5gd6?Jj#07~CuIv<4F@%5i#;+~?yZZd@m?Z#K1#OCdhsw&V7;!!clEl^{34LP zOu{XYz6$9}ZGH$`yz{Nr?phI9bKFs7eVb);<7?iCjI;LlYV%(UkfIu3!?fPP6@HB` zJH?Py)-c8A>Ozx>ueQ~TG6@Q~o&v}sGu!%XgOMt)z-7QT7yW{VOFfU!-Bb!=GB)fv zQkxHVzEKTu*KWOa4w)aj+>n(FzC1z}U2Q9kkR>D{WZ59(Ef_Mm?Lo-e1U0fHlggY3 zTl|wP!%1a=fQ$~?C$=cUa_dq?t|!7ppCLY+1RJyz$V_~v3X<6k6B!?=SV(Q?g18Kt z+$QASxW}}nsXz1YkJN4IZqV(rv@Y20x66(z|3wGlr`Istb&)sIXZu#PG%A}iZ@$`T zw1$;-L+Aj}b(2GvMgw1xBYp5AFj;;DlKU$VT`!e2zyamVqWi7SW=&adFT)<^LbFi} z&F@!M7ugjUVZQ2N1HDiU`uV1*MV+5NMYO=jzfrr(q_E zS+W#1-Wn)%EI^`zomqRs`Hcb58(E*x8^C5AEN#d%EC{r3HjX~Cz~-56y4~;27G+bK zfXyFhM#Acv<6zTWIe>BkawzjW>JA{8Z5V|Yjn1o=8Y>vqmNvu8Y&!}s zgd;v{xR#M9s6moS@~Ye%;+b5!#3z3fXaH{tckXkf$;f|qnlO97A?F1{;SGuwEuX1=MHn_PiMeccp(#B~hlu*O0RStK^UyvS7$x2vQS$RO(hll`&SpMQ0BYS|C!mq1yz_`gsu1MugeQ z($v&7h7n;m6Bj-jS_pOmmzc#H(Uu9@dY@|&*a=)gB0KSdvq7$vHE&T$Hpq`q9@f_p z0=Y) zg=yONpsY4u25Ah;t)}7 zs|C0ogG&Rr;$XoMLby!0Rszj(9z`{Jfy7MKyU_fPg8dF`^Q%9Mj3kD+HO?4jX#_g& z!Me6*grOgtB@yK9GYA5cKH){vjf1&Bf%6)g@&>+Vh8+C#&tI5lqfxf58(M2hCOBr& zT>a5RK(YI6@nCRb`_PduoYYv?QUd#m@^dOoEHNv`r9S(S^sO5>6HAtswiKT<3j))k zgUc!gxOU&6x$0uL(wJMbq7h+{9OFGRFkBA{uB6uu;L+u3pYMnT_!$|;IquYC)nM^c z8Z(DH+p}RyLfN0bj>6fmN`Z}h&UkajxZP+Caa3f-etw_R4aYt;*kHiY_N*lKfRiS7 zc{7_CU&&mv<}9n$an^T)%p7L_=7VYv{Nx6it^ljX7wT@N5Rlz@|@(Q|$(-ibAoo6gK&HW`@} zrb19+GPJ=2m-TtFh4?4IX{>yjT-AByOyKVW(_&* zc#Vh|@ec&(`_~v$>}AcI7W;ti627ltv6Omd2MO#0)02eX!6Om5;n2vdGjM9rtkYL! z-`&0`K9C42x$pMEP1#qg6rYvwFM$L2!_$6$9f<%-Z4}y zBIbj62C^h^$RRQq-yU&OpBx}J_s+b27X1)(=D6=pqaXTM$p=x;(*A1GTF5YjR1~O2 z1}`m`+#b=CMqKchWZn~O&(y+=I0%nRMLc(ni-4!j`T`%y0Gi~2WTu(o8JW^ zL2Plwda(n%^%!}FR5U3Y$h<$cM>Ob>c_Dd$qq~4!mQ-}%BHSvi?kM`qX=fD(wDeV* zR-3Fwew~{Lk{&-uuR)(I47SculW)SzzPIQ1!Cz0_X-(n}75Sdm#$Tco+oOTZ|&+j_+R}U^Cnj^`te} zK8?6Kjy#YqIT167E;@^rP8a&0SJ<* z@+$jSgUnr!yj1smcJ-Cc1-Ov4-6o%AHx{iARnG$M!aFeT3_`x1NF!>~0-bG|(`Dc! zIniS9-KoWo)dYz@%HcDe1_zXI^P7FWWXF1f9UJNj4L@0kGuMY063n)2&8{rlJ;VSD>$^uFIBy-Vdx1p@ zlv@oP+V5uhu}xO7A%$dx=LMP@gy^muxj-A7-DnO$KhMs#(8b1s|Gs*_Q0C364m#m!_#qIe3k_TYpVEO)pSQJcF_(C={M=5EmLrRUDk9T(4z zXHnElAHo3YdnuDIruc0BX8<@`07Zsz9<}PA9ExaZZ*mqIpwafMp9%$E_!)Zvf+BMi z!4UybWRt)d0dAz4rKWm~Eo4m5y~C2d7Knuu2w%gTU%`NMCzGWld zoN}`o-&FDy(L{pws{HLkd1pb@L6EKjxw$(bE-v2su2vl)vl$*g?ayM1EOBYn8M;Vpbx%56Tn15us!11?%F@ir9csT(40}~ zM(hPxO!E%?td7o#Tl**qURb)lg#foU^8dI#>4lA8J=o#fICDC~AHre45dbm#StJP*C@uVrK&oXwJjkID&8hi5mwdIG9kH>u;y ze0GePbGnC2FeoPkWGCmX(O`czO`pzMo0=s7u~(P1*am>xQg)07x93X)3A>i)3m!rQ z%C=)qVC=m{UMD*D65ERo;(Fnc=;VSh3f;0RRdQ1UH!CkhH z<87!*4vusuC+!$QG^H7GQKlK-_dCG8xQPReu014o`U#C%TJz?|ku&ylGFQ<(hw_bn ziFXjA2-waFKE*|n3n5D!U7^j?LdX{a;ZvN<*q{y>?=66v5|Jh0yaW|E=MZiH6!Jh| zOv6~AN^3&w87Gk!mj)NfRgy{K2zog@=0ZCjF5;ImcQh&k=k9$hIm3}dN|j!yI^|No zL<5l01u-~%dEx`H}@zp5wdaPrl0b+vHaxyx_YOMrGS3@mO*lB&4Fp zm*7UW3xeI7kc%J8ti8phb*;w!sU3BS;E_!1DQI=H#;JHRzilI5imTUH2ZrHO85rxGJlkL;yN*}|-#>VpjLTWPxoA@xY-6!Y_}Iz1 zy=WhNqlhgz;tnH>vOc&HrpDLyjazp5r++X1-d-?r;48WF(~khVksjxm9=;4kINDiN zRhqV!HYnzhzvq+}%y>Yv3aB9TDTXz?9{vh-@!;t3ed^PX-yb?E7j_?p9xV=Hva7s` zt2{M}R8@ENU0Fy6?{gI!%ovH=I=h|O?F^p6yVgG6&(RHH3&@?+=ho+#vN&oSIYplR z%_G|T_)*-t{=mGcWI%iN#~NvSkicrXLS%~S!zIFbQ6?a{tv|3G%O4y-SOjdm)QRh_ zLoEK(Nxfy?iHtsxq^O3E!s(h17-KxIgdw~#(Q=i;#F*JK&jp+GWntg3r2#v4T8$F%KZIJ|HD% zYpkI1q*dMkj=2+NyRqc1j3dr|*oEuaS*;aqJ3{niS~WA5l2F=^^;8E0i^MS-bJrx;Wcd z$JH!dejj5ek|X``o%xKi8ek{kZJ%$z%uf}u>Fi$jt1muXa5=*sad$IsxZw$k$1#+| z8A>I<*Aekw)EDgTrR3QcX5`sJ(<=*Gj04o)!U@mV0>pOTC@+gEHfu9vUyvz_PC-?d z-c6h^MyV9y5w(4+MRHI54P?^|SnD0m6j4DXRWWr$$gmZD;J>bn-FoT8ryq~CS$}2- zt-rtQs65FY`_;F?$)H%PD{E(zsf3M1tc|#xRKguN3J%pFf3X2O4f5Q`Ok_H40b3G2 z7_%1kuBy@j^r_62fd)kw)e8FeRre;5J)1vAuY<3cbija&79S4g%gu_Dgu@C)1F-(9 zq|_6q$t$LQD(!ZH3g_9Z&d#&We?F&^*`EYA|M@%}0L#D(fi(W-N5J_*S9(O0cl=~7 z(_;s)Wg(zpxCuq=(w(8Y$oKRe=iSE}({D_ylsW>30eR4bWU--$G>3LUxafzaYzDqf zXtiePFIzZkKC-ozee{apU7)tTPyAa{CsYxg@-C(@cc!e`a_GqvO)~27va} zuveKAQRvo8L5sEX*^IlmQ{#_wi$F4&Dqy20`)qx=HVVYUl(XLs^v6TngRZmZ#v7+s z-fw|Y1^Z&ieqXjWzKPkwtm#b}BX{@3i;zci%=n65Y(8xuTS*(37U);rL|mLkenKup z3fVZ2P9I2ba9!rTAbsDHKm%EFMSoJtMK~*kz#KHj`|=BL=3sCF#@$_5o?6c%g&a%Y z-1n7~Bj4WnI6?M??81noy`e=(va=JPaU(T+Z)VJT{}d6f%s;BEOI&<|oKi_{hmQg? zHci0SYG&DB0Dp$%E27CXQ5Y%;4JCD)pPxI_6>KQTqJz~cZP~(z8Naqi;bIE=mUu6C zv2VJvB|?dLp*G^~W;c-~Rt|w0%8-I%15PA3Rq)}Q+2C>4c#-t+QL$)0FmoGAn0c2% z3WB&ZuSgrMB`sJMd3vPn5^wcCZ|<8$95B3KQs2T48$;oC*x6xkiX|_3aC)8og(bh8 z7@-Gu!zsQU^xfdl#EEc}u>@gdT=)RN^O5_yvhmyE zV;A~iP5p53x$f9x!>f>EPyf`fAy2lO1;T2%Z|{1y8=nT>kUw6q{@Q+r&7LYQj^qE{ z(zXwMgfDisgwGAzh^qW2%mN7n=F%r?Cwn}8calFhI0@?931)s{L787j6<(fW#>=kh zCH&Gqr0(-Wh@?}mv^Ulx$?RZPpPBUUZ9Fs&rLZoA2+igo&&%RzX z`}_x13Ffm7c4e^LuZEV5Xj{HDAwe)b(*qy1%6dYK+O;7SnbEb5PS}M% z-*yW8^fRshvBoNhH}TRHzN}Nht)H932^ib2cp2_1Rm66ik&jP}W|P@p(trGT!`Dt{ zi)L&h4Gu4uh?!Zu7>3eJVs1T2IvfuZ992zUdr1ARR#!i}?w{)Fy zn(|$(ZI<&^9$M6}FfC0qwwlG`djF8Gb--e2*$op1?(%p9x$Cv6%B_)FSz9f8HSDFS zbvxkQH zA+GOq8HxxwYfOq|+aFr@pVtGxn1)_0!G~)L*hZTSjbB-))6A^hJwz~ZWko{U+cwwl zOoKyk4@F-E<%ALsvN9!2TNDqfCqg;d|A722S^WL{bL7*iIj=gic0qxnw$HB_j1ag0 zSiBg@7!~PEij|R$qfwy*)^0RvJU(jC+^D|L)D*hM4%9K@yPBLwE{fOWBt0eTE%Uz6 zF+Dq7{KU@C?{0Gov_oxiYC=3fAGhPwHt!W32h~H=X+d-a?JEwNSLfKTS~WyCti_Jy zn>14#VpW~|&4N;vW(=Mqo&Nje!w6#)UuvI@IlY{Y;!#+#kr)Gka`FRIQQAwJ9h<6v zNq6>W-qfqm=4B!3H>&&NlJ{yXGZW3jCp7gfUG5C6tU$OstC{i1{2}>05#qPro_jMC zafh%sfDLt}1ACx!u-{bB>$KE#vnJxLN;|0h7Gww99Slw>}YpsZ5CxdK~ z$v5hmwM&|a$)sMvyR{o#Ka9?>b}ahHej{EZa_(5l$q0=g{qV`jk8lkUZ36|~c0%JZ zRS_oBrS-;h?`N^lJ_ueq%wooikPIpr50rdO32}oW2>X#`Us9n1E0cBpC z7F#od5h0RH7A|?F1zn`L0v@^0Q%UTf4L?16wsLHybEK>s9f+>?s>Dd-4Oh31PRlxe z2-FB0e|{B&VhX3b zLN0atg{XA9gk0;k;H^txM5r_oFT1i-x{XeEZTR^*TxqP>zxTUCI#flkC@)-xM%72P znej=NU0mvA@Ck+%@PZ4gPju2uA#r|b4S}7u=e$34`fkK~kCDj7hyC|IDl6$Q6F4S2 zr4@xgbd((v;Hf8Dsr0qcxAe0{Ei8fvMpvbiNaA{5FG5BI)p z^69+LM+;R&(i@@oGuGwsBM zrKg~)v)j_66;GzMBE=r9IWpV#tJy(}RLMe!?m*4l%l3|?FKdeJ@d?+KpOLxw(sFF- z=@@Zopw5o|f|(0F58IcT zw4OQMy~AJb=kX+UyI}Y#VkrGEG|_}#&|N6IYKTudT2z#G%h*i-n9&X!kFSVvJ$aIP zr6Q0RFgd-j;_?d3bVkmCq4clNJQBS%bktx_)$j~5*D`N$3?=`#5>ixLAoE2D&-*%7{oW~&sxA*g( zr>8GuXgw+zo3)?cw|9QuW7+q|XFr*-v!+bV%U@%gn<6F(WaLgvWj<43lgTr6(m~z^VkAyv|&BLVl2J92PFPm(w`mD(6102 z)t5~c?%=AD9Qtzkqo6WhkBFQpgWQTV3!; zXG)5iU^2Ls7rfuL@7O|??T*{|1taU$ga%M&b$@~c3QGg`$h!}vKS?$y&2gX01t3H7 zYb^F-2Ww^#t?Bwjw^M4WtEo``_CKQlm+|#XwJ_iHVZP)U_OZa8#`m<5X7a*2_eUm8?s=Qu>K(SlsF1)s}(79G4$wD{naAAP?%W2OVgNND~A zZpvH*gxnw(yKo0@wbIZin(Y1h>zr7D4{i_a9fCauUd4Y zj+)x-5{hdawEhs4XS$AESSQ~(Qm~>8Hq>y2(grRtRI7B>iEg9;@B_-giv67zHU#W? zwr}PsVKOeta0|3%OD1PQ-)r<+1=U0qOK6vCYmWQl6CCqK%5%kQVx~W`VK44EZJc=k zniDq>bD?)G`nehw@jEubwHH1y_W{K<5v)Q;{=DXI?e6^|OI%p?NpPOy3jQ(({;iru zr;AIOUbM;K_s<<*`!y(;cHa+*O3W2Gx|W>>CH3{VG>6ZF3R7wtNp3D>(f~dJdh)2y z50H7*n=KA4>57|((OimM!MRdv?msSrPb{&w)*^NKuL%=BAR_O$;QM{5A9=>|lGy$u zRm>96$rf)eExbTWyPae6A(u02qfHdwhufz*tvS|ndYW8$exRj%sZoGw9=~WZc?kMF zH*v#-;_xBFhUmsdJG;GyE$Zp8LMeoeS6`ZDdoT5@81v-Ixk1)A1Q}6WaJg!{_!at~ z4nFZV5cU3&v)ANA#Oax*l_Q>fRyW9Z*Rn4k=GcTX6z{wQ^e+=>EKyUnhXSa7e8>3PpkdLd^C#;HO(qvAt; zj2-wyd;;!aEpu`QH2B6QzoE!Hl3}TXljFK4MGpb3J?i`|KoG&Ou7*;xZ@v8e-uBkK z&XT~DHW6QP$J2rFByUscZd*l6qfKynHIUZAMOX_6{T%Ea*A*dzLD!my?cA53{%eEH zOn-6z#cW{Dv5sk_#(4+l1kNu#*Wb^+4;u)7kfj3sF%S(wN}y2Bwo+Q2hszNQAsjRf zcWvZIq{<>hJ!1n^O=Gp4or5*6Axvv;F2j0Ip4>Y3C*7?YBX8$3X8dI?zE&V_%4EMI zo`#XP8+s~otxXf!?RacI65SYri76I3l6!JB;|PYRlXIQ!#)IKg4r92lzB;IcSVcMW!DZ`Z}wicj&7WXk=MJH`$8TR zXw+HN557LMzb_`E5tQ|8XP@F>4Q-mJS(_7-Y^3^Zycf< zr7+1Dt?3k_(hj1mtxYGA^|*>acEpfBKTi;z71%BrvdF4b@}hWiBGvaQx>Km9|P zL{`ngPXhev$0z;HRAcaU;QL?(cojI_rseOa?}EX*)^qWg!I^K{x>J7o2eIdp)!gS! z0Ke+EkKY;Y^Er5s_P|wj4KXz&?I2aI*gQbta*JvqPY@fG0xmFSa(JLptAym}vlvYm z!znJe5C5m2ta!bZ#=kPPZ~(%{MfSQAD|gBH>$U$WQ@i4S%G7TApE9+V{ugT`rwAW< zTaMEt3PWUw&XwHX{|&%doBmHk|7S&Wa{~8&6Kzfu{~wo%^R*YTVyHpq4cPsr#QE~w z;4uDVC=q%h8NnaQpH92Y@4NZ3P;lR)%AZHT?=Lbq%_(mmB)CUO3Bh7tl)?ugtx6Ld{8>Ca13=lmoWjMbTY_D%{fG7=q!lH9x|A zbc0*@9VgXJ03(4o^XJXtsQWDAAPi#<8c9jREc?I1rITTX_{ zw!MVsf6!$R5(xHkq-O{n7FS^`WO29LSpH1B3`P#}ppYbDubW4UVobGj<+;;{V$6ev zs_K8*7sop=`2E9UGW4Y_na%kAgfWylcIFZ;C(0|MRs zgm7(j;IjIbWQN*W`|GnODBF22#z0El&NSO zE<$u`{>=(!FKBnE1Ko3C>%t(Tk*e$_&k!8Q0W955rTpbWp*?NbKsyKh4|ac zT)24vS7cVC8|l3I7-*tv!(z|TG-%HOG%NxduBp)|%Zh39aK)~0@LBku_nsA94bV#| zXz0oU>M7_W}BgF$p zKw^e|QnMKHl-bT*yGU}=kY8pI2HVDvk zeyQSr-h+FJ_zkBLg{i0T9A@BffYWw+!eIuFyi@28Gsldl`f|@vHEHkB`HzB7mro7r zS5RrVUjj$F1dgL!h_jbOwe3g1VC|l7?&W?FlcOZaQPZLtQaYnean6!Rj;pFWR)wJ6 zC^*XVcOdX6j7Vif7+l`_0@->0l9cWjAjzEL3_~nH&}BG%ycA(Fy5)0@Ax@lz(#`Hg+9^1D!Ma zxRBfv$2PgHlx;-`>tUYJcLL|D;Cm0yHy#)y;S+X%atyPZh&y0PI2->ZG`7MKu!@G{ zFYm*nUM?QDj0Zh{A#$~}kK1^okEISrtnIG_lti$&QI0Ij>uiC5g%^4E&v zRx7l_n!|>E^I9AC6vq0L7iGItjOmuGZ+6;y{m}`^^~wM5sVbFZ8#Yp3xp!0@`ZMgbytlQNFY<4T4pV< z1bf!pWUlhak8s$yKoBhty=x(0vLM>zDh!|DFhsZt>!Z2uUq$JeQvBncM^@LUd!#}B zT60$1HCP=e;fx4iA7}lK&Z`oh%N4uMhWLss0n>|vFq;vKE!oJdy@&vf|1xw-u5H7f zBLC|EIC))g+0Mc5Nj+y~){_JN91+7=8Jzw3`Ag;OW3i8?T5-ztif!fRroSKCIzM$- zb5hLe=w|niAI~p5dK*Q8Fdj8D2wwwxaOSaI&fa^$|qiG8QgYfklbEI-{H0-fc92Es^b&{H~N+sXrf ze5ao%cK64gNMGC|g?4m92P1V`#qN*>fb*XJs0%tY0h|$Xy=LwP%A!3UC#RK(zb5o3 z!x9W&V@-Z3^rum73A?}KR+`P?Ogv5@N*p<6 zUnOSzu;vw2+ls5#mkPKZj8&LDsZ9<4-+qafPALLHp^q>`DUl_?;8g7Es`fTl? zA=Gu{P~9^B9te`Q<9(lAo25Kz3SucI781BJYI(x?UR3NhgX z^$SsZSM}jhJM$FzZU^Yi6eOXG2`91roj)cV^JSU%-7C67puLXa3DkQEbY&5Wbmeuc zqc9c8IOv-Y)fwN1--ggAbf;{Gwz-jE4rby$dp>RWfVs|c8=+k_SU!q!yj@^4~g$JqmM}#AIi8(;T{8`&1(rf5$_-53;Ol=3ajJ7fD9>ZrC_>Y33ruz|ckT z?3yW?x}m+1`HIYrubv3Y2egLeyd_2Ozv58Uq1GK0~!e zT^gJ&O)ID$f#eS$N#_smlZ5TRjED-nH@+OR=2?18SUEhF0Oh4_B2>2_8gaSyqU<#-MI}IHRK@v## zHWgHa>xI+a}V_L(Dg z=;Z>ycXSb29V87Y{7uk9S|41qZFj@DVms&zg_7D1rX!iiZ8cJN-U3Kq7VZ4z$VH;w zthX45)q_Uv;GOei;)_=F;oHIUaXl#QQ_(iN8JXo3^XSO%zK*Mmh_x8SLi4FXm%>Qa z5bRyuMY0x%=DYjuB8fecbJ}sE;t3Y+-nW}XvvcA%zQSr4vvrC+GuAWz{l=^1;kzH` zpZyv}5VeM=*edpIP zo}FIF7%TVvnw{n19MEjwg~I$n-wYN~H?s#m&5ph4dF+3o<>otd=jqG?i{}f||Hs~& z$Hn}8kK#doO|v$VYreYpyZShDN!d(wRTXW z$==WB*S4pPT6`TBHQ+!1C5FcBDL>P{Y3Wrc8|3=Rkrghbe((Bk#8xh(m0>=ngY6G`n z=B(SY-dI6AG8g1G)!l`vT>ri!|W? zFPe{uWqzkTyhPuYgcjDJcN1X&*hr|VaDZ#UCI1K}74`Qlu5Bv@SPKF?HQ~4kOYA*H z-OYBi%ci+vplwup3lH#eKuaKrb0g3jLc|c6FIRjS?M1$2Gjf?IM)!3d_f^;HF}kG? z-P;h|Hk3OUY>$t-D>1s=>>WA4m-QB|kmdjvN5F*;a9B?e-5-3XO$=s%68p=AnCrq` zr~$u)5(EWEf^k_PAi`BaY=KH=M|T9vZReNW7ck(y_D&e^5TM*w1Ou)h*&#n7cIDXs z5aVY51zWv?sgX;vk+!Hgyue1NC7noCH$VoMQS|y;LI+&!L-Xv*G(@|B`{?d)47^Pj zhxQPlT^*lpS85c!F_&N$#5Pmz$b$u9xsNFt(k;WIpCJqj;2ZmzV6KsBaeoJ1@{@8+ zQKCvmUU@E|RAQvl6>7xAyTK07@jWao8#&mcMxUQbO^_p30Y7DK^wu?ONJcAIn7)iEmQhAOn&WmtSl;8oD5RY zKj$#m3*+7N!945bahGZ?3<<{b>z-wLLrU_6kEhD3ieP!Cm&wkD)v6Whm4gS0uYev4 zu%QZOGSQ*hggnm(Wmg>$lN)5Y?tB63wck#Wc-UFOus{HpSbIOKMlIsOSgkTIhea2g zx%`bug`w>F45n&LF}8O|!;(j>!X}1?1x5NykgyAxNY-?9T<#rg1|oTE42e;gs?~*P z-F1^juNQ<*vsBycQy5j z7SvO~=T(74Z%%|hC7MV9q74OULa=FQtMn=flAjE@%Gqm<*nP_-NVQIF zuf2lW`7c7S%P`ol6uQ+jgM>3}O068hezzrvF!qlNGLq8Jd0G-^|l@v59XAxT;gcyy&%8I@kq9A!W92T8;U^=u|yO6E`m_q zG~Ug2IYZXE)N0G6?>>5u-ssdZCj!}De>~S#l0?P~yP+=XSF_jDyP=g&hZkR54UfHt z0IuEam;T7F734>99rD`WT6fQwuqwmZ)5AUGd$o#=c87OH{jlp?du+0GJiedR@U3YT z@RbhnaV)aV!NT-#t&2V_Vyjmt)`dlm-vih1C1(A+Ro>;y-$NkXsI51e9YK0^lMu@h zdbe|#jQFQXk<^u;{xbZ7BeN{(KAjg_(*d=IT8Blsa(35EH9g6bk7R5su8<4&?$>~4J@*dVb*n+M5q(gv*miXMclFjIvGJHS2;)3 zPdEieaYr$1K+J1UBjWsnsqJ8*sRXmTVIjMs)E%n^N4bav_4X2A!@(LNf#+}D{5xKU zp}q?oDJ@gm4aqh(!>koK_GBoK@dN@ZKz8O5Acs3VI_GVxcoP=*pE=)b9$a=bRwh7N z6&&~PSS!eoO)!{!-il(iC70j{_xslcXbQs636daouZK?J{%3f}ai2YB;H@q$DEnPIhdks#r>poBcr|LZ*RJ|~%~I-su71$Zg*D&A5}E@7<&0p>+K?)x7PDO4Bcl_t19mX=22^sJ0>#j_(1 zEWbN|5L_5YdRAbXv@LTffTGkbrvQ_y-1;3aB<}=i)S%PBh@A&M{i^}|u+aLI%~XZ> zWHh+QSD(2dpL@4tfH}BNr5c8aVNL`^;Y#Nna7cK^a=l=sA_wWUFW3vGgtBjdUj@k= z`SZ6*Ua1dm)Y@oUYUQ9Qitp)`EDiDtc7l^hN1msvV?9|iaukETN5Oo5~)2ZHeRp5+}~fLWN1%|io%m&{bf15C{+ z1~JT$y_ZvyIQh9e7QifA_ zr@-6vK(U(}4|Lh=o8_Gn4`{G}vtvO_bByW(X#;WCf}9pU{@KtgAjZnN-$52!QiVMKEAn@J&xh@|}UAW+~dM@N4cOnEjr7#c%2u7Os)!ITU z9|s4k0~5QuLsT{Q^ffDj4;=FkeDnlFaX7 zhHtE-gr?|Pb0=kU7>eSJpV9F3o{R*VqL(nmx`Ybw_Aqw3=`%8=95eWo_#Tk!^}P$w zxviPLj-;s`vk!iNi3_1U`OZL+1vnAqrga7u4&vJ(0-Z+#FmM^{Pk;^gMcP$F67dH7 zD8TE&6s9EDlNUh<{nrv6nXluP0;Eqd`?vw){#o8rDvUx`h`_JsCeO1o5^+ZZW8goA z2FAm8YznHBYeOKU4OqyDu+?=8_n??;&(FeBu#e4pk4Np*UNat-LQpMCp~SXaakpPm zx!xlAne)CFo{j5UHXPwyeC)MXLmS^y8=i-ob-b?xr1k!4k3H1zusna8jQLN2s}hH} zmO9+9*_dIv33t2klFe{Dr{;rPoal?IeI*uMU!v zve1&aA?y3)_t(C~g!zgBmC#T46-)tJt12sfuqk6C@%-!TjXuPqgNym24p4@AkCcl@ z@*c3%+=T19mgU{Dk^yJnK>V|OmU~!LJ4i8D&QO9=_@`z0xC}kf%6zCOooTMjh`nq` zE}EUnV;}rA@HTbVgm3W8K^Bw0|JWlxeoZL-$oe7HKiL?1GS6Rz)X(jZ6)}U z^3A6$sDAQ&$KFnZyD4N@x01O*0X;K_ydM6Gu6<*91uJ_|1#np@5!yr8Bj1@(tYUpF zsc;59iM$`HAhrvZ3L2^&zv{ycdq3C<>tz9>&tKW$%s|}WNO5)tcaK@zSqsz|w^`ix zO#VyM-U@syP_kFj-<&VrJxmhvNr+@a=~{5)=<*lf1>@b|#&#oe@8!G2YPFnz6nYrt z<%w?lfXX6;ZlxIeQ6N|X`Q0cf5Yev8PzTo8U=+YL8*QUPcTL(HU&S!7PYG5& z0k0@d_70f#%Ng7QNM8hK%ayQk!hy@O0@ebsS0GyjpQp6%X#n19O|jxGpxef~D6*nAi((_!wYI=n5&P>w_$&BMWHF+OIK#2Z zn&PB}#=%~=0qb`&SK{h0&&_!{gnNjwAM6I3kNu$&*{Zl&GfKMMUpn>Sj_+KS z$sg$&z&R8LX8d1HGa>vW(*t=*F(Q1?1Oik~1po4ZqP-1AFs~}`p>-1|^NF@EVf^Jo z0;qhsL>RVZP``LLIhefp78cZ_NYyZDR)I8K+Kd>#H%z+1Sp#=^fp4%LPzui97mLwc zLwZ`jh{yfP??cn0ysLBJiibULZ2ZX6jo+4#H*0@A_a%59JpJ()dKt{ToJu(QvgA?q z;YRB0y_u^Wgxt5=Z{bV13!K-Wxd9r`b>qUWqaUBwO@67no5dT&7#dMHaP#KPOEdBl z_h-nvr+%c)vPwE9uJ77L$sv**oA?u&RZ7*ua|dk4e45U;5ptV?8_(yGjFR5+xWw6) zyqROv=b^ao%)?u=ufERo=+IckEfIGyCD>9Rtxk`lw@zw&g z%yUyo3m@@@hOiYM26Npor>JzBtVcsnpDT$$8S8Ix^}QHoG4-ezNf25AEWo~6i1SlJsf~kBlfpIMJ9N)fKunsc(->C zSkLj}`o_WR1LVm?z%;nFq|w;rF9bi@zD8=|6>RyXBoWD1UF2|Jb2-^jtUBOz3G@D0 z{gJ$yh}|&;0|y%M2_Lmg3%SjK(KmX&&Iv_+o*tg9OuVXKgANW!JR(tT{Ap z!)Wx^#AsC43&&^-5v*__b7=e)?*STKTmR!=4p-67JLN|D`z+=PUcCiINTxL*-f?pDvO=`fJ2ZuFJ zV6DB45W&1}53JQj?2g7*tCm2ld7ayXh(VjS=%0{1#wypowMHux9ys(Y!B}%rN30F(g({>V ze(7{PVoiY%s}LPC4dYF;SQjll?UV|nVZ5VYYskWtfOI1jRrpqbp42(r_FHIG&4dd>c4R9WHd&?aqcK6F z^Wn-JM$H8rb8ehbTcXk(JC#Wqs@2w&AIUSiB@BMn414kn5`X?)3+m-~_XQSIqd|O| zU8&VUP0?s4fy!M9U;$>50=}EnhvcFkoQY<18WHHYo)Ts_NEa=jN5ElU9`e$|B?Cmr zN%%G-yXBGEB1@N!V%ee+t7cEIyY7+(JQa4?5+8KVHNWo*c*4?j zM&zSEA|!2KCNjA7mUn0Ge32JtL5%>NxCn{Cz_N03L^$&0Xn?~=4RDy5Aoe}MT5>nr z5bs7V`4nnTp=l1{J+?yPdlXWljw~tro6kn%Ll>WKo#G!j4$B386lqYjG#H9I5F>s& z!I;Ve9PmpgDGbNbtAJw_1@RG#dPHD7c+o9nH)34}dceKRB{v%h5FcL3-A{JW5g*_u9su7B19lGQGkah!iaq?!a5l3ke@O=chfrL_PzVarlFz*W z6v!cH1g|5e5mEc$Z?ycKew~D2ZJ!HZb}1po_0XFI<0sq?}|1VS>T!(lVgwHuBnXi)I~TuiU|v zWHgI2kbw1=at^7qVDHZ4UL4(<{{}8-TdJ(c zaLu%#iucA)EZX&L-!rBj?c1wG|`E zBLzlJiKq=IQV@z>Yt*9{u0fT48>@9IZK$$>*EzayyeLgJ9dw5MT6j?>VP2@X?&=YF z1%5Odxo826Ef$~|JwM&q@I^=3H~4ID6|VsxT6;-^GCN7Ao&0!Vc9<~#jn46x^-ms0 zz3m}=dAZsIPJe`eZ``5>*pI2R-&j4f$XNIF@`c*sBudOx+|G>xt)_$@{ufu3(UOKTI1OV*mqa< zt=Uhjql~r-pdF&&eD?hS{qU-vgZEaq5p?xa@4Q`~bjkMJNvqt(OJs;_-MDv;`08B? z1u6r|>?5=#d`~ahc%)%bzxbLcq7po4%Nq}l72Ia@7xto9El@GxVPyscL`e8Igv7hc z1^K3_F!stH(<+87+zvYst-?^cvrg}4G4t_#OGH&N+$ zbxGKf_%iw0eu>|7U=Dx7L3JT-*<*%iJRfz6q_qpsg1y;i48i_ zGK7l3b}YM47{LLzvqslPg;5+?P(}oB_1Ei@`|AOm01P%!X{)Ze5NrtOTiz{nL#YZ3 zu=%EVckg(2FfdbtN@V?b9UG}8y_O9bkkl8?7Yw|02)k(K}rBHjKctL3V_XqC$MYNVPDLfH2cMaC2773SxIH0&m9g5o)>hHB0C z6|A(`O_7oUB~H_`|GGLqMLyg6-&%5*Gpue(j8}p%4)#k2oegb7^5fkjO08poa*Wl< z#{3^aCEW=&4T!h{ywZ_PAAc3N{vU?*kHvcuEn24~0usJ! z!1HT#jsxY~0RtjjU^lJhl7!0x#L<@o^RYqao5JadV2#b|;XU4Tr2U&E?cW@M2Sniv zg5r@>mr49+e5=W`O-vUe4beOgab5UMHsF1Q{Q}=5`*CYx0>#BbSoTZ)O-r1;aAqb3 z;U0b>wz|5UCB8p?h7IM=l%EJa82%|@VaSrylN=RUgTd;)WFk{nT0{QM%b8k zNcPtAsNs2;SsZPu)}9{%qZSnz?9>=MQkI-PxxDacU`3s#|pz zsAei809f=bb{;%Ag);Xa9kxBwf^m5TlcEldvLH;X`?tyT@uYN)9`5+m zNW328H`ZfKp=GP{tu3JY9*;Ad_}9=Y*eS_MT!hSO`%>25e2udz`A}15@3(|jJGQP< zQIaFD^!vJ*YZ%!`V4jy-V(cjCBK^8)|6UMU$UcedANT98;oJ1CM#TP3>?Ak>)}H^p z?iVYujkCDyXl*3kgtYHKRytLQ&#b_?;`lt2MBsnSF$FQDMG{-sre*uiVq|If=qPkQ z*}h_&-09bHo}&vit@%Zwl|@HE7n)l_6r_Bmn^sHhZ(>QRW}c9=O>3M|?LgoBbd_Yq zr=R;J*KFXBb!w8wf~xoK_qwU$i4f3;mX#f&jl|+0ji11wv<8{Wf#RguPb@Y0mrA%K z2_&v3lf*t}s$kPa@6}=f+LQCG)5FY#5I>1_S&uKmaos_q&wxXx(@tX^CnW#G0`P4p za5gyJ)Bvw<{|C23*FqTyD%5#EVu+%{;r_QKMI3H=?JC4ec+Q$q_vK<_TSY2U zkji>((IX1cvfnS3^7_~6K94DWJB?B`zGn$jIphtW+N=0u`~}WAMMwK1FIlK?7Cpbn zJwciblOHgXdTV?JqV*;elAS^wf2Z9b}K2% z@vkEk=y6omb>Z4@HHK{6ItwjPqXRfNKSl=~C1oqFYw6(lqQTXY;_0MshlW4s- z{BV~ArFq@8r84Vu3by@$#aJa;nF!KqJ~<(J#X@WAyT!80fi8WtUH?5b%{#Dug>o_b z*tXe}G;D^SF@?L6?Q$ktkFT?M&tb7#w>J$b<@`f(@%EP9?jin6jke^tT!7} zfqAk>Unh6Z{`mCi)1%kq@Sw8xmF32V!INc2h`c^}kz{nCQ)?qLwSv@OZ20tX_!y&_ z8RAE-SQ9?R`qgo9O-{t*sA7D7>p<#ySHsyyZT+tjNx0^h$HxNK%~}fdzuB-lD5ZTR z^9|m6qfh!8|1%r$wqIw;InvJ`x7JOMz0 zqr>V4~_Wp-8BY9xw=~R6)_GHJj?%cUE65imgd0odYyKq)OzwgAF zfZ#;JEA}+gQb*RF+;UlB&xJ)25EifW_>y&qi^o{0?vXKg6eCb^lXU58qUpnecA`K9 zUkW5pJH&EvIorsR^k!p+^lF7B;jQ=bH5fIIr$%1&b*eDMu1E$f*i*Cy9PaVsKe**wN`hgWWdptb+w-FBsq(^`w}Bg@jo=L)4(;AmKE=Wn)FgL!UZ5H|mPsNW zZKM`uy@cD3YzTMGR%Q5REDBNF+4DvSy?kT{D>7v7`}R+k?_B&cs=dcT0CX~xIaxWv zt~n1;US}nNfaO4d*8C12Ko|(vJ-9`3tH?pVN3qnHx7S2QmJ;w8SKz3dMOyxrd+WU6 z8nf5FP+Y4tj1CF+_=lGZ}z#o1Z@aEb*R6_)~@$JY7P`H<-4Y4=QI0iF0HsCcxdy(c34*lMa; z13n3MvXF+xkgf+qWfKYJp9;S-VE9Ib0*iwV_~;w0?v*u)`jmF`uVQ4K7G5juGRp0* zG3Y$6!TH$;JgdrB#wbo+2%z79{1NSqi;-SeV7Kfe%~i$zTCY2Az;rU?lGo>1iQX&B!05;^er_I?>oPzxXUYz zgFEy0U)<#jWuk@BMtSLOO;jPkO;82gaF%yybIDo|APqqcx+@2rSGJ{TjMj{u`*K-4 zFJ63XBC_t}HA6zwTem3R(l7;j%{PO=8~Y$|CRtD>Bd!?gkZH~zc5~b+?Jp9)IwITT z&LUg*C`X9M9{mTgkxaav;}hN&uNtYzu~b(S$%|}5dYfaGWPm3yt*bxi3=<^_a_BIR zG^#@0oG_T>g@VL41aMTe=KhuC8o}Ly6T@|3CRcU(eDWw;NTu11#9z6qe@NwW*)+4un(0#7T zUlr%9eIf%NAT8xj4cP_g*kBszNjhzq7f?v_J04Cgxj#N`$bO~=`C~RY z!_-KI6iINfKju(<2q~xSK5Ca&DSQlK+3x%D_EF7PY_k#>v(18)LIM@e zrl~oke7Q#IrmPrQ2pT?bFPskp_Bc~fW2HkWt@(M;~^rX^J{Bf5W( zJ6vH#xCZYrZh@>Nqm2p|tlqmd(9Mp7X3;Ej8sKC7x6mw)l)nq@%g~08+}cOh!2^l( z;L`Nwh}V#-eL;ZAN+!I9NncOlwKwWnsqK|`!`8QyCUSdS?^MAf$aq&X;|;0d#^S~M z7|hM9Q#T*4y0^IJIlZ4>RMP*9a$LfDh1O=z0O2?WKHZPsecoXEfe^uieCXq&&I2K9 z{%#>sO}rGzs`~2PHwT>)8=Rd-4uCnbxhf2=FS=TwvIDNIDW^tdRrM{Mec`ny%jiMn z>RI0e@jjGnurcuVNm^e>j}|!u!EYqtbI)Omw*hBlZ@E6Pu4?K=;HYl97L?Vp3r^{weL5D3ufV#09K?NwLrmdzyPN2MpZXZW`je@8B3Gsoth zO>JqXH_xvyOf@)8`q2~!8M6jX_3vYCY)138f_?vMC`eZdmIuv{n8>jN^N-{w&tj?O zT7z4z7qsW!!K54aXDRY^3Xa)Kp`~1Hr1Hj6l`z@9a&QINJ}gwnu7z{27LG3W+IT5T zvG=!I|D;{#FH^(t-kM6LWhzYBH+P%N;Aj#HTZyYqRVPiC0`cOohp8FVt}wl`=sdQE zjh4-Ap4;y!=^PQHeb)`IGT2w@bckZ0J8O1KNUT!xrHj)b^6W<|^X|4@X&KVg-9R_4 zi<&-GyU5~*&ihGp!+O>cme{rsuBcB5<_Cc(P?;5jTeN_wAJ`I`^oJ=gsbDT!O8T|x zM(Uzis=5VIm{(3NNMW3XFs5va^GDUaHcr3*G_I;!XZ*VmgMX(~&i1HzRB?himHfmF zgm!aq%Rzvjfx*xC1Almbgt;xnDG?Pqi=!4}@LSe0%Jwhw%fcRhd8L1YB|zChlE*zS zK|J6KtE&VSx^-`Rgey*fOYBNx!h7Ob;UCCXDU(j)b&vCC%yF~KF+YgZuzda>HEe$} z#GPedV!J)T9UwU+A~n=)(F8=7)v~bQ1bq6_Fd2Pi)hu}FySC$N`$hSh*ON0Z7S*vi z`;+OXX?EE7(s{6wtM76VJ*(Zj8{DlhM1G|PE*iDhVTii1A!7a+qUW_v+L`bOEKN25 zj7Ny>L^vx#knEm1W6!{D_%@H~dTs2`gT+9~12P2$2n=?>uKQt{eQ;a}p^}A7L%SxL zG}f3;v-14XKqp@RT9n@9Wq%B98f{H;JBFA$*~3iI_r=F&L8Gz6l9Tp+@Zv|*)d=yY zE{qAXtZX1`k-oAF#-Hf7@~2{TeUmenjY(QxU=6!cknn!shVbue+VkCZIzn1skzt`g zH{pYP5L5#T^_@QleOeyJ6`CGD`}4@+U8bhrM<1qc|6#O#mjX=TIGDnlWPYWBXMVS11uU0EfC`S@R9=J% za_@mnv2r%(%qHzpcq(wn7o5taFZLq^$6d?DSXv>8v6QSg7`9kn`CO)2?<>ZN(R1RB z)Qj?c>)p}$=v{qh9U-|k_O9RUR5-ne=xFjk6=o;l`S9tTG#Dpskw7;wz{v+V?PM`E zX(K3Ce~5)(=OBwJX~BwYQH(i{lY<#5i??h>FIR9c2L?f5)duDX4*G4Y`&r<12vr)JFFH?KA{`#2nNTu)R z!u5M$(Z5}~_QT8A0q?rW&N!?0dt#|GiC>2ozwtKr3C$$>5nw~d2G6(!7|Qe4VLs2SX@LiC zj*NbrxMdB~{KxW8%(0Xad~IFv4X0RYm1*jsJxN53j&G9QbEnND;YgF;o+Ci+e!WUh{Se+7xVdo!}1-6K0FOudf<@*gd@RMJ{&h);PnNr zOO`2SEhk)-C@%vyb3hn;p|CGalw-o@G(1cXod=i3J)i^dWu^reI@}1P!EoO2RlXe% z8Uj`sE^~8F7#tD8Ed(avl$ogWd@?fpI!`X&LtSO4vXLMEG$O$QcJIg#~eU z9mnDMScAaBF4(WuxUd)fHUkNuebJW@W92SM!9%&RQsCx}dOv%Vo?3QJi ze7VMj>(Xn$?|;A{^_t0Mez?dg|M*ZK9afwIWgTY=V?G%BBBli5YBOLrKlwd%r0}Q zITXu#-0I=(5}xzoZ~;8-cK76PI56⋙25->dIMVKT{Wp02LJ5RZn|E96bybT~04O zS5-YqKi5uzjaD#CkY8BpV9YyaeqU59bezXdBGCKuP03%f`Gy|$Qx zNcR>f)8UR0~5WXG=ku&pC&xLs9)?#%mny)^j;wgQ2LGony z{SSV9fX@)(@MIv$Fq-bD3v|$(4sqysu~v@PytKB)8=Sc_(86@NUkSN&IzVt*x|&a zD8qC#4RT@Uk58-iZN)`H(v;}tQ!*Fu=W%9VCgRfZ`rJoDkj=(b3B2?&{^FWftu>+9lCQ_dqJo02nb zG8+_==byTGBcw+6hd_16HgX1~g$i2VKlw)LmP7w!s--|`WjF{vIu3^^Y8`}Wy>J)6_s)V&|Pn?a%U>EoKc zvUiTM4}AS~o1zTqowo^8!ZTB)Gjre}&e8#aS7-RDRaJk8G&O+chuH@{pytQ0=J3w+ zZ*vHFlt#^!7`_Tsn~utNid67Xb4lPa(o|mo$poYz;sD~*=fq+oP~nmeVu6J~T{K{M zM87sPr{$5<*P-T+YaW{G!2`Rw=1cAgML@C=Fys5AldERnd`z~Auv*h4NUUCX*?v0vj*!|Ny1e!yZ_(JtYst`2qPXdpc zxfVc2&9gD+8e;!6Uw|GaL-RtYA0L-vwQI5(pnn|6i$%mhBmqG8gB5sgNb_N9PbNZh zr6wvjG~Yc^4bZQTt!`H-J2=40`-XP)Tcg_===pb; zcIHS4ApJgqzVsjH!2li6uGC27j?Hn}{pc#P@BliZ-3S75L68Uj${lwJVii}BH%oXf z3GkF-?Eh9n1;1qoVRk=K8Vk^r74h!yb_tstpkoY$-a;W5)hBw4C%RRSKZUui>6LwV zl>Hd#O#DfxJfX-ifrJt3u{Z75cJ73Thok`;8n$GZyK6Vl6)Kr_8xZkrZBXKCkRJ7y z_-NqOsSKLqW47@%Y@w%~YSRMnA?(Kk2z&wt{^-`f8XN@4TAj+Pl%EziJWGc51$5;1 zD4m${Zhi|7k({CKgjETwmw(6^fEVZ4Nc2wJMbfc3N)}Y)vmjELokED7{SRTnI-|qs zob2nZ;OSU1)XyRFZ4u^MZI$2_w=I_1@N6WH7mZa*E=Ut9oBu<HwjkM51l5%HRiJ{H1hZthNa6DN0mWdl(RkeBu6Gh7 z;l?4|-WWzV1SJuHi#D`?;L0H~YblIwwsKmwLe+J>ZrN^RqnXUw1|ejiJa7Rds7{shr4 z=;PE#EE+B-(PEi=^*_Y}IlqGVKshf;J6>GCSOxDL-N4r~a*5P|7Lgb=pnn+cQ-A1( zbYcy>u%aE>MhvqEdJcx859m+sQMU0Q=nqfFUbbSh5 zFmB&SUduOlB&G~gap)O1jQ%W`Y0^*~2IRl~*t{F24X5q>tVbK@16@BB4#t8G>KHwe=uuCht~6;wW;tOXia`% z%HuvQGLrWN!PZ2Y1DC4U^MNyv>;;XMlzAzyKFpTpOV+P$!Q6QUs{K~?-zl0Gt4U>i~r#A>kQHZ|%&3MYF$rr5};^=lXWi3NaC97=Ph z&?>0j3QTWzad`-5wkLbpgHn*y3!Pix%jwtI$^{vd5G8nj7XH}kWfj z)x&xFD)jB^-u0kDDA5MhP5AxwOH_LwEm=Oq*h4lB+ZnDJAEXoi^~tZ+ACaV|w`HbH z#g52XRDs`SU!WlrDJo5!N?H)!?bap7>|9|O;{q2AXLm!W103=o;PjM>M_DW4yjiXy zyrM>)T&(T76waOC?>T$d%Tz?M7LG~F0*z<@2r`a=7t=hnop7y}5wQwV)XxD5QGnX6 zt{xJanyC{0E3d+ZobZ!yOMzQUrVr}OuNdXE$d{!0_8F2>-evk`e|;QQI%HdJ;H8@8f5J6)pmerv5ZfARY5 z-E|%d{SPYL=&XpLJHa{nOy1}qQh6dPFc^J(I- zF~e_n#;0#ZJU?)9>KY`pABM!JhLfz&mP^)(_m^5637p(|ITntyP{_^}r?e?*?o$kSPH z*oHv?TZ$X%sWf14w$a^|rqqoMcSv6AD-ibG&pr@0bq!wAShN|>o?4o)FmVyQ!h>FB zoA1ASllcAkk@3^xB>3k7T<5>kHpStJz1T5@2iX^AI#SoMKX~4DeqE7j!8lF3$@39m zyVJ6yBAmG-?k<^4nL!L`@c z>j)wmeJ`X?XZnCB7>?n&I7&y({04iQsMICS@^Nub?P7DzytRRX{w2w7Zkdjx^`rY;&c*@0H(}#sQv`1 zBFD+mo4;rbO5%n*5{%Y6IKFme3atko&sONM~&g)qQ?IdmKk@CUg!+CmHq~y0LZt2+}?3a8W zC&QyYQ16e+k4;4YHh_fQFLpt-nKEq3yF8iSK=)IOpG;-lu^zj@`&^e(#iYRbeNi@P zYlPHLN2fHF-?eLg>iYP^BaY%`3zi1PQC0i2H+r*UHbwkU9Qh7sfB5P}rYU4BZF%+O z%f7gEaKXx+Sda`czGBMoBB}x|Tf^n&MOKbaU)!|_wg0+tef{OwviE1qf|s6b*)|-t zw$res=HARGoaob^+P!21j{@ayf`ymw=hP%w8re(fh6Q<9zWk5K*@-i|-<~;v0IdSV z9_3YSDq*hQM*Q~Kzb4cBx1*>}yXb0P)KZ=o!}!Bgypt?~Cy zcI-Aae8kCB>vPgtiMwa5x&Sc}4DDWqgWnJS>U*cFqT$ptz?ZsiztH4{@cBPEj4ljL z(i%_*&vm&lHyEy?0b;M$9DE}`^R-8F?H(xl0m*HgVGtNWA6d`C-h2Ubceu3r^@nBS zn3fp?aRA_4UNo8RW>r-3412N*Rzk+W?tlm@wDzL+0zqI&)PIM0R5n5usvtrF6m|4c z5x!i`0JYvsO1|e2W&2!frLyz1r6(6o90$MUYasvYaMSlTLaXj3GseU> zGgVN5j!VSRC;Orm4Ur@L%Dw7d&xwpQYFJ+tp3JzB+S8<|mkCpJadMwI+it zyi)ULB#C~zQjiAzy2DXElDkb`F^@EDY5O@G(?1*lYir89mb@v|(~uJtl0q&ygWtaC zB1!x9L(YCgL+|}uJ$60htX7Z+bDgka?$3=6me^I^rdtLYL7AV>MNC9x8yt}kdCcz{ z*AovfmF8JB24=fT!;9e*w>l+yEKJ4BENgje%%s|&mQ8c@+Xn~!tQU^q$3E1IrGpRe zwY9wHY-G>y%9F5g+Z^wmoY@|z2YCWQWtp80pcP7tJ=j7z3`ydg_XRKV-V>2#g%vY_ zI2O^l^PMAP_`3mxQ3%4VGN@dM2(vS4I1fr`A_{Tp@EWshPjJM!g!cweT%;IEYCJ|B zYEB&#l-6?zxpf4q<=~S9Mkq6tV;JVcJ5L37s*d*JU8o>PmnQr{HI9IhgVTp(a{qU= zOzQuCYne!9k&5R^RzP)}^Cc6_p3PXLjH3 ze~8B&CzE|F*!V3b0xU~2>hTOtj}q;)s$5P{5!*k-NiG0l+x?%K-^XKPO2p40fHzmd z#J$_Kv{g9>$Z#=&zUn^$0{u-pJ(hFIilD^O=nJif^=;ZaJ$7MSFm!|ga%fy`_(Q1j6n&(SE0=ASRT5+`3j`o9bK+W!3hZ+3n7#s7Brf0fd&+0SnpN<3eN$+O)p0`~aC zeV)+W2<%ac?%oX#ap9+dh4|XZ1IUMMc_5NhOSojoA2H)fQ!^?D6 zEphu|zCqh{;9>HUI3cH*fRFdKkN1UlxO$J@o9N3E6KG0(@N}GB9CqLP;w|i8h)Y+) z4ouicIu>$v2=pKOla1K@6Z&kXBJ_`@{BMWFT6i;GAW8k*CXI`FWriqp~`el_CvO!nW@>jdy`Km`@S9L zFPix9vfR6T7AvBIlN)e;I^5noThS>Mc;v(sSM;}BvfIeW^p-uNhobIl1aOsap5Gq{WLIomW-Mlq80J`P? zR235u0bXXq{J4kZG)h=S0Y^YpBGcY==qqCuFP#Gx|t_22x~I)E&!WNK0CWj{5V`}v*!%-!uY~=tK`)h znR#Sr@#e|4Zj;US7@yg5s_-GVu-!L#^`tJLBugGwbB0O@%b;LrRuymv?OI`#^F}JL z%`Se5OM!X=v>~1&O7%HObf~?O^LjFLddm3J5FU46zmD%k6>a~ED+0Kj=45fm;%QOl zisaS9*A_Nw;j%wo1zybejM@eZtJ!cgPQlnJ$2U>4FEh_qsuD*jsswphbI=IPp}8V; zFndwqk$q9w4v?ZIa~EjU5{}3%S8z@w%9nl4ZMe|9n0YP{2ub>Q56}c-XpG`HLN${} zHarmKP`i?F0LUwStp?n1VXA3%Vy?x$WWzTbU7^Jrdj>a=_B7eed!95lvODLLSJvUq zN9SbV_hSa2kvR?8x40A&ng86#*k={C>t=(@I(31YBL{wf{?%jL5dWx;jnu(Jr>nqC z;?*i%-P^8!Mv|k#C39$mw%^Ixa0bw10XOyQy)=9;ZgIrMZtN;&Wb98Aw%-w50YXFE z%=f1Q8qU}Zh|UQuZpEvheLKEAWCd9U3lkN}K~I-+#ztpuY~yVyv#N_N*>l%S465vwD^4aFT&``$^WkuCzkBp^$sYihzazsfq#IV)oO?UAZxqF9~KE6JiU7 zq3^sqWqW4T`hxOkp?jjLI$u?%k#OqUx?frE@q@KtAuz<_Z`7?75zJ@tU+4rs%Qr9H z8e^Y;?|qZWeol4UN9qSAt}!p8S_&VyCUYd5KL3ug$g+fB&D2kHCZ&8AtCvo8^IYLCeYuMFqC;=& zu~lo4JQ5%O7jI{MK#D(BwC3eZecYZwSPj`n@K#h4sfy(7jM%L(Y+5Hp!#3~A-4iq+ z)|EU1L#Eis!cmp`2+6A>TYiu1kNTbVvvU)htEhT! z3M4+het{svJhxqkr2Sn?SK5kdC{e zWzCy!<)FczKpmEEPQ9G8tBjPdH$9>< z?aj|*o}GHxz^dIJh5e>ECz2Jg`|Fy|Z^Nf!0YV|=1#tQUuuA~;A^Y$%GTv%!?CKVF zOylP~^5;D1woa>IZ(e5TnJMfyQXA>t*1YK)FH7nF81-GO>wKZ}ZmEiz0!Ws-!ha=C zQq7B6qo#(>c`rW88)eRvXU~L+G0U^3s*|Q%+gbJK4^lQ`BjK)(#t#wdT1~!-*{2se z=K%yzz63S@rv^ziZ)%M!(`L$ZX6BhsbOubMPMy>x468P>%+N1mAIq>rr+>Yw) z&E`tp*8K@YP$^Y8KooL6^#8T@<>64bU)*2G9;0YlEJGVDLdsH@iBwOEB`u;fC<=*6 zq!>vQSxQNvu{=c~Tb7a~V|~IXdyQlX8Bxa4Fw1+sU+VXJ-s^h*egFDB*K?WFxzGJM z=RWsx&VA20wTUAdV1g@W1~evdt|$4hM{yneq#XQiMpDS=-{#^?WzUA&p}+eZuXPUF zZkKi?#Kv9vhT7{M^CP#HIC=YXEpKxLaaoj*hxYs!sy$4aF`RxGZ>?kWypW{*%V14m zi-=k@FAptmg_T}uw_WH)-R48RmCNwMROexWRTky>vh&c=8Ed(ro!D~Qdbh>PXEctq zG9QUmbq@Q>&P6xGCM&8O|4grWOK;`FZym(?cH%xd?~LP3!23v(xT9wF*LwlbrySO2 z;T{VYS8*E}tde1}`MYZqH%h8E?5pPeMdR6Roitm1e1rg-AY0jJ_Sa(kVcE0iVd?Z1|M^qGGu3}ITzodq>TnMDK2Y zZbI>D=$d4_TI;%huZIL)Hve>aqT5p2xNqTHtpzi|Bke@m=^P5|vKZdZY)a7k=RcB8 zYYC$u1g~2(_xzo8qX+*61U)3>NgM0g=QByq8YX0ciJOLx}x);KovuSUp&W`v`-# zlkig(?e^O}LeH#qwYX>8`SOi!Qyf=IZ6>&Xn0iJ5MLVnA`VL~#*5^vlsS4I9XxAgG z91okYros)i5ckwx==6CmrO=LV9?zwP9fwZcu}-mHi*GD5ku&WNR$`0XwP?1NyrHI; zP*}NHHedIivBDB>kEgmb!4kuS5MV%V;b{_&kx@HWZQykWjiW%(g1SlxniDOR<-Zdkn6Lq)?n+aSd|!lcbK5~!^Y$KdDX$H#l2#!$!;XCS zSYw4P9mEZ;^+YL4hNEBmeqQ1lcCZj#9X9WxS|W1ha*1GiLYB!wDX*qb;dPa2mvSln z{pP#&PSVGd*wuES-8yS}f&7Tdxo!ThLz5TL$nRb`WXn<0kLF+zLWHKZgnBvxa|>&I%P}(cH#xB1ZuddAf%kgV<8BZP<{7`kvj^##yP%B{- zeD@d{o!3GkX>4Mv82n2Uve>%m^=%yQj%lJ6dV1JS{5FpEbRJWmh74Qf-|9OE>f0mb zRX?G48f$ds9W;Waegf_3<0h;pEq03Dzj`_dJvmExwS?ixSfgj}5~cj!@t(Q8vazeegb>|HN( z847Os{z<6P>Dlr_WP_Oj_uQ|9;AajG(IF)pum{}#)oM4a<{R}GH|iC4V*qb?q+aI^ zQ?oi)5wwGK!=PC$}cXYUOzuf6{#h*>Fql{;PtA3b4-~}(i@{+AO6bJFMYu(I_Bi}0?z#( z#u%>~SPG~2*o7wQGK!7L+IM<{b`DdE|C4R+Q zj-FY>k@^%vwLyi@PsxWE%p+JocT0KAGl}fM7uA6z+8scB`t^yZHMvUy80r-s-F9V@ZX zBaQ!Z{VwJK#=H;^ZI7V*$oznO7@v$OZm+or_bx?rh^ukR@8gh+x1vWm!ipDAiva*fhHtrGggSX+vOF$1cOcWgpL~{0x z*+lep*$O??{psn8;p0(Xh-+zsC$xS!z$>dpCr2JUuvTzi!%@B|*fSl&0>_mG;sIG(^3Dcte9QB2gpOgqQ~&OiD3 zJb*X&3KpbK?@>iq0iMA@+CBEecZo2zh)eBngShbHDmAnR@2-ABt-afy7B4aedTCdC z4OZk|44Oy+gU~8ygt0CAV-RIA`dtGM>tle%1-40fDV8ywf=o7;OtN5l8PJG!Hnty5 z)Zr`m(yRFBQT6s)R{STxw*>X9*F&qqW6978_ni>DH34lE3iO!*8u;kVpe)0Gj-bYx`KzPLCMU-CIM0EXX zyt*+2wMx`5BcsbD7tTc^PFE7w5p2gIHj0qvkKt@Ku;`=QqFpL1n)R4g23r-E8KNnO9Ra6e|ZyZ2rTdIZ`q7q@Bjr@dpyTO%=dI9dg#;dpi- zih9lVvS0mgO1q$Fpws}$NZPw&KuO{~tbfn0=G2+^3GeJ?Z&@1|-@2u$(6nJ)E70{{O&dqAMP?KFsle5!@X0Zh%hfa&4KCwzZ1^-hGqa3chIcGq=3 zQI}Ffq*eIit8G9e-#b)+k}vF*KS-DCM46hm2T19@=|h=TM^VnhPFrW@Hl|g^)h|8& zo9Su0ld}WVA}eV^N$Hnd3*ru^5m1U@_pcWt-YZ(7)je} z0|3maoTkI0Al1v&M8V-+c1twJcyQ_g1<5&JW#>5S{a*yI8-ed>Gu|_om%w-EE>$4B zn|%mYv%#rol-B%O7Yyqvn2(5*`YFAa2+45F>}c`;fn^!ZSzsPCaOCJ1F0tzfPoQRx zvd~5dMpOZ@HSv&RZhD`ZW{#7ec)eRdMU{XcS0I~+ITb?oH5 zddG2f@I%i3fIX4Lgl#g6EwFp<+xg+(I>UYI+xhagFHmFnSwn1tz3?HGS%)K;K0eWQ z+3z^)e_C*QTzikC2hoCv~N8QIjb5-vJJ73hG_ho z%^xu$@0;k@XcLi(HLTFa(X)O?sW-7TDfrD ztRL&&={!r(`fm#3?Si^sNpj*gB&%<^_wI`7WvwrCpja{=m zhX2K5pRs_T6`Tve{}c!gRm5<7u0i93h)*Bt1_&&TE*Hvr(1UNXfTFY=KImW~J}Un$ zE_taqzRW_lASS3BZ_Y5r#3gTrr4fcm5rzm9^ZJRoz&+Rue}K5o(ZLT26uD!4Fxt0a z9|Tz&S7HZQl8&sZzjZXkR)Lenyk)WRICaY8^(l_`j;m7_w;B+Vbhsg|KOlHa3gprp z(H_tv$jU-~)rrVVZLaax~ z!ya8T&t}$LF`z!cefHzireq5SJ0Ebw&PVFF@g^!LK0>MAE=$i0UK!=QuP6TO*CHB9 z(4BgUsD5KV32dv{_rnC_?p=y1%Jp^w{fW-Kyf0StQ0o&j(>8Se8Et}UOBStV%5v&Z zKtpB53C2Bs!ZvXm`TB0D(?(fNZ-e(d&!!-|jli#)A|RX0n*)qw^F%+6`wf-sfx~1c zcr>!X+Y-dy`uP|h`~ZMBW)c26H+lLucQLD)o1b%#Z0f^nBw=Mk|3j3h9w<{o#E&C2aKdhnhPITS<{jv-or zV9y+ab<=YQzCjElmZs1cNG8e?)_n`&3YKl}Blz_21j`o6<|Rm*s0BPPp}x*s^mn0& zwYbg8S+-ul_Vp<~k`=``sml5yq}rwyG0zY&WN5nP|_l-D-Gn z6RHHcF`O1C;mhBtLSI##7dE&2CItkCXGt#rsoIPP*&0YM@C9O`=2Y7@nlh3$f32HE zd^x^Dk0G#Mbh3qQE~Ya~@IO;S{9ywKF3jm``Ow@jJhy01S~APl!|-6a&?K%btB+7v z#}y&(3$cdl8vJ(S(mBCA#BIi_Fhd~5;qGVM4DT2TD9{|FIsLfP5ird_7 z03FzulY#WEyA_hUlXp!YY-VUqwPSuhN-%q53#|6rg+gKof&KfWhl@px4oFELl{Li3 z2LNE%9{>{PF#sYEeU<|q+!DB6ykz@eAZ=cm9e66iGq^I%KM)T0VLDg>wCge20F?F~ z&_YCE{2dG#VRq&yjiyMx!r-ol+lF`$Y)A0h&!I{S%IyTmTi7C1-8{jp@Yx{)eeJ;X z)wBAB+OGhVRs^H{$4=nO3ZVVU6Lcs3;d=|?d!rn`0hMgkf=S!?c8fqV^;)6^4iu)Y z>bzY!#CrZ^;`f`_%#pEd512uXag``a3tA|v=p)2{7BtrX;i_-})q;x=csdx`>!@o}X?ID7PX66-^Ze zV)s6%h6OV{=fLbDI_CF}2{wHtNp=$9UxBZOS=Q7F(SyKu)e1h6SI9?>{?YEKEtnd% z{(em{{|%QHEIb&(pE|;4)gIw-DFz19@tNL7OR9<7FJ?{LEB}1?)HU57#UG>co4)0> z+0Jm_*~ZjJ(Wp2Jx!8+tKf$q-%rUw_A9W_4MX#pwzKrLdfEZ_zL+uw0mVNC-m=dONbHPI=oX&J)Cqi-Jzg~E+1kg_L&9H5Z-e`LWA=dD2{uQPu<=#7tw0VqMBtFu*rKhTt{PpUp?gCu6_%h+ zhh_7?dx5hPZJzqsdZOX69C8Fw97*y13&<5Q@-;xNdPD6r$-~8MTZr}E5F2E?#?H?E zJ*SuUb$nPd;m8;rEIVLW(m!t4$$HFB;5r;VgJcW(&yy@%z%}z%)Z4JHZxAKFI4nk% z9i#6+$;D9eO+SGg%yhnNLDk`e)V#k7g-8+dc;Ula`M=!t^sfjkz0c9ofMCZJ0VS20 zhjnjGkOpM)l@?ZJWFJ&@R)ZKuU6y;;77D09#~@B7#b)@>xB>Qrspo zvgdHu@;{OqRa*}b2pfwAMh!I9vs1v#xAQ&=_MId)X^k$y{G)vyY3gEsL`_`TF&2S) z(D`#p{)@zz*)9OjF%SX%j;nyb3^;xQl^Kjh_}`i|vIiFd_uw1*iljTl(=-7+B~##h z4t3eXDT&>1FT6FW@cv#AlMD#u!$B`Aa`!oQb@02390OsiUA(_g_+1XDavXcO^X`IY zC$-isuf^_!TeNXo?awpB_DbaMSEZZqMfj^ zK%7@o=06H58%71zpo}6PBPkGMWUJJ4Z9^q)r_Tr-1cyY>lJU`T(zw%L);7z9$LPlm zkGb`aE+a{e(b3<==#IR{0x)Pa53mV%!>R#;z?2_SoU4pnjMql+YT-q5!I&rx8jVM8w9^~aE7jU}+es9r7N8Keq7YKk07BH>V1Uqw z=*~toh?UQ`k!OU}YQoI|xkm2j;bpLLXpLV%+^GHB5R5Sj{5EmXj5!lv|cH>_i6TK26RNlFiKn z2-N{7+m9EmA}NJutAXtXWYa9$rNCC+1Ux~ItkU2hK~BQFt=wN!3Lo2HYpI-(Ok0l1Am`CBv}Y9xyO$crn?A>D zjYAqU2KX%-$8ZorCE*Faqwxd$z+OTL?Dk!kd1m@0Y!xNiI*1EGnASkuxp?ZE3SkC< zgAnDPpVMdtZn2GgrF~!0DGQg{?r<0RA!I3_-7Lrucp>)ocPAHoL2yx&DmXahV%(Sg;jW+|!JYpB zJk`aa*$#Oaa$i91|Gke|QcEmL#{`{*U<&Gj{n{u}w}*J`B3$Ix+Yj$%CbizB9X|nT zR5Im#3x%q#LX~POpy6*d(gdzIvcJ$e3xRfW-_?Tn)0I)2;u)O|_ zTMMh@2W!F^AY}arRQ& zW*=125i67&LUJ3}A_-C$cL&&JG5d-VXa??@!2KWl1u+?@q)Xr;1L5AG*aLKJ3_AR2 zRxg#v$40X+?m*pO&md2tSUR;)=tQ=Y9K<9=Fy?1}lfOmI13AQ=Zmq@-F(#`xP>s zKrM3v-p)gnsi|-y*xdlO*uRnw_ge0s+W-I=o|h%;da?AU%I~)T7;g9b z=%l!ASO&M)-jU__+-1(1>zrG*e8g}-j1i)OnD)L%q0>R+s=uD9o5vj>9P$Ceyp~zO z?R!w}7{`64=oEgdNCw5cF|rHo@XTAfIPd(o@9qOIB0J!sejESs`wdW%?cvZpr_EDO3qeWe#Cv9Hzvr$ZA!$ z{or8b>shIc3+@&&}& zoUt56rNR}JnUOz%>2TcikFpOwMVAqh6iGP5Mi4v#hhxWq@EEHR8@{Dse|lEkhxWW( z-v2iA4A0W5U*|48apij+1U6jMa9-yOroYyL;Vpgmr-d#&Nx9c6sEZg_;R^<9lAY*} z*)014h%+`K$A5lIc1q(}4CGD|_`fop_+l@nQwW?hJru9+zSFhU5srLGWYbvpT^Q#0 ztEuxJ`OI)}{O*3f?-W5hiqihAQsfot&EdHI=2dMayy(#ru9ujl9s{g_(PyJ2GcTqN z9=^i)^)s|+2=&XD#F>dBCuF%?AJ+-=p+EQKN}iaFd808u^#bDm{+Eg=vUshtz|mis zNr-c{6SC;_q2{fl0|R{4b@&QFX-Z+Gaf3+)OJM?a*D6c>c(H9%IAyiNF@7E#SjgHT zHY8YgNQdEb?W8!#XbSw8&j%SjcVTDy#-2I}0o&Me{6RSOB6T}GBy?dXX_Tl``=UB2 zN-|oHIWcd>&9TFJ6+A|kglE4#an!ol!Lha4jI9rLC3ySmKM!HGo@{t2Vg zHgBG{6C&>Er_7L57cq~{WyO0~n0oNHjqM~BnM3X>N4Uy3mY6DZdyj`iVTCQSJ9UmGDXtcO}Dl4^?G%hzn~UJ2P(^F?5AX>SKGa{a!~}p0Ng40ynQ1^heU3 z8&A?xN-v0?hV)?VP`Vk)CC+nWd%<_W#h`{!_hFM(tR$^DB*r_57O8y+b=~$u9>NT$ z`Bua!7O82REm28+hL&r^--EOd%b=(plCjWjyJes?LV#+Q3cSaHCsnVbH53m;X3WyT zxBZ2nh#*GS0(4L&FTs{)3v@KB4c7l7(W?(0{+ z!ip@`K*~39EMFWHF;9XFDh=>?o_$3kGI1W-VQbJHtmd=;LxhFkvK>MNSdQN3i74{9eZqQ5zx(+yKKSAU6QW^sHNUSGpm9A zav%@(Zj|oFl(dquB*ssuMG-BFN!|u@k#ls~kb18@$Xz18cT|BCw0r^Dq1MaU@|gx$ zt>amIe}NohN{j$-Zv|^2&6!%|88R<1c1lo#5sDtqlBGc|Y^YW!#QZrWu4HVKaYd|P z4W#&kPJIK^PX7jnhfYs!$TeUElw#V@zh=BV5kK{9HEKpS^`iW#zLRkQUmOUT*dauh3eDS-}a z{X)05tAHpTh+;~YpsX@p3_+%zJgD|pr_w&paBfiFLfS3J3Rv*Pi>HX3+?{&=*dbuG z9_s7G!O&j?c<4}>^uo}eUF7zD6H^ftv3@aHa5x_-{58RMwts`)yc04AJc?I9%vy|rgLo+Ev0;f2uV3gAqr}v=I7Ch8X1OY?mIAv=BCmU(E?A1&u zlv95_nt9y2{>LXae7UE*qNDLi#>X zXn3GadhP3ZpoP#Y`_NQZPelt(L(0(Ij`D6DWC6rkg<)?8sT21oG3@_p#cV5X5EAZR zeeSy{d<7#3^4j!Iw@R!_c`aGsTIl}t#Bp6@Pp*s`x3qh&4&OZl$D*qf`QuO0gh|^2 zZR+egk&~xYn$KU+tuBS6%amh!4exi^l&d+fY`4d&2x~-zZ8NotN6aB#b4r#el6s9D zY-y!}EPJGD@viifd~f5{Y(L$qcu(kgO@JC+nPI<1&TC)xMkMtPJ9urY5CW-(G%8;s zHH`}+49BM%?#;B`n4sOO_3XB|)lAB&OacriH5?wmnL(nCIGiJeoQ5urw+fJg!bS6{ z-jw7rn?1?gEau;yN{pnF0cucg)qc(Oqn{XFh&ANFiJg%mh1L#t^lg{XXN&Z9dyFvyPE89}mCBmR{ESF3zL`Ix=&q8NJBNOMts@XR6`tOp6R&dugi*@6* zmeu{!Um{TUt&Vu=LKlLT(#?5w4p|2I1p$<8e#U6*gk}Ez(OCCTd9nQVd+wnR7dW2s zpdw^Lmf2B;3K9cd;itrujF-W}XWRAe?kC?Izklww_%3q00~OqkN~54QoEwoqHqbdy zI#WVOv=gs3c4l5=;sRKrGeMh;CEEr_WlM=zNYKw5z^bOu3~ zXbKo#WOngyn|gEa5+R-XM%I%MXyf`D!+1xY@TDdyD(vTPlc z4Q5T3WPHdhn#j#a$}DmZRf7zLk1#RLylOzQpfsNK3oXPIz(q3`L?(*E29!B^rsYz6 z2KD9h*A3-r2NtdH%S75)m@Ryn2B^p$@Ez7audzCURdq&rEX< zm7Q-RYl02msaN4hB#}kWIkpRdyd_RYU#x_s9~(aPv^?f%?uN8yOjU+Glne-2g&I_c z{tG$eUNuK6f+>uAg)A<;uLVw~LOtR-=8S&E2_2@>e6H~xZXe(GJ&t2Lo+fj!cw$fED+Cm?7-l9f>M7wY`xUWU{((|QpTtUD7I zguC$r(8Ct!Ax}GI8DzMHtPNSP@RPYdZ-OPQACwn)(V*~(Co>GXx>oo zM7&-)pN# zM=2!J7D*6*J>w6mAwZ=C8a*?Dq1pqmG3=?ZDPFeidPtk@c7-&dkgE;`QY(HdI)eTm ze(P$TQnP)3dG5#fL2R2H8G zxd7$=N)?imaq}q4-X8WN$QPPQJ0F4^I&xVa)tavD`&mJ&k=2V__iJH2->c-|s-b6G zBL3vg!pbiU|DE2(PF#&B^RyKwUit};C5X0u+ya6+6eeT7J{L?mDDY^Bk+-x_;R0n2 z-sollvEkLmB5G+_1i=~(cx79o<0zA2%KD0aT*A)M>LTg#DH>&}?E4MRcD{h)Aiw_C zBOOj-o-@v?e`-{;J2KPA6s z`Nj0ouC|v7-^v^64umY}qlG64U3Pl)VltkP;{4)quMW>n+E2oUD(|sk+w%^P>#j|+ zDn)|lL!!lHZK;Qq2%=3-2B^n_uQoNUNc`W(X1+1b_{RYSCQeE?wNB(Ch8-Zs}U@dw+_tsc6*`21IeN@ zpR>}9MY}t)E>Cn+wW~pTA(^+Wn_2YDEHj1HM-(^7bNVIvy_PdNqSUIT=bpd*5~(~x z9EL-KwDanFWJP8#n^!SuX}YO+nWN_W!-;`5EqfMMh@Kld2_2cI37}cq!?taeyEHWx zbgE;z_e-$OqEUm1?m9B_e3j7arDxj>A~bF3za|jFg>%Dt@9cMW$~JkI2^H;QxP{aE zr)FaBnN7z1a#wJ;YWr2ve?bR7QH!tCyl35e{e1P-*RSHMgZP{;WgFIfeC`jmfo+5| z%44@$5$lwjogw?oCdb|vXSIi)UZ&-^(u6yT-V=IgKSz(Z6?bsIFjfwlWe+fY2o6^d zawP@s{x<|C@8O1`_p#U2pDKEKEBzSiT6NX;i>3eKcK(@IcFIws49QiGsz2W@S(p`( zS#nFWq>IIxsyu$q;r5BIUK6_a-P5dI%~vmv-EEtO=E3G@LGY4oZp9M$dxfv)X`G~ibcKdmFbWaq^ zmr4|cutm1Ym?OxQ)xR`q?03XmA&`+B)2!W+tC^)VCZk%1h4^Yqpc$VX{a?Z18! z6@x_~pW?TqNU<5B`Q`{iS9aUjUBV^r9->aLRS06m`Px2z22cMFere7_*KIQnu z(2{X%$ZI9;*egZWT#~$!nQ0)t5K*m*msuLLOX0H%onADRZ9uY~q$H>sWn2n#dTwb} zy@gk7rf1dUT(x4Of!c%WrNFQZYulsU(q$ZPZ zKTZ|0iCjBFjNFolhbo56=jO}vuf9FJGSDV1P3`3}na}C7T&B=m|E>&yxKmxMa}UioAQ4xi-*UQ#}83)lvie@=Z>B5%9$A*Y*~tCY$bkq6jsXTNFRu7CRSx z3Z0^%$$-ZQ@PuFZa#8Kvfq6*fvH;eSwsgPRhWnbu z7mQuxtf_6N%zRt7e)AM-?LBvw{8pn_&F*^r)`$r$U>XHX?SbjYgzHOz$*ontT2Db3 zQ`X_lM;Yo=_F=-=V&=+>?&_lVD`jTb1JCqC|2fGQxx2{OqsBXY>qOv&Yj`iw0@GGZ zZ+hraYU09j$k`{Mx$_8a`OlQJQa=3!llQ^1lj1>VP0>qvuO{|td_y;=Wt7Wxu)u4@ zRV+PH)JBWFkMlBYF128P90q_N_neprYVolTW7~l z+0ak5A3s;YHTnBc<||gayU#Z_=`Q-w2>aW;Q3X=IyeXOv{xNrpc>$B@k~uolS+#0K z?3ou$elOm6982NC%vzz=?_Q4IT;X+W9%myAMM$1)XddFfykhBz3FX#>lzWDQK1+?f zy({QK;&yxy{MQ|7;S=RIk35ve%!R# z9#V0ihV|4RR~75n8@2`U?-@^V`F^?2PDlT#QCq*M8>IjhQXusXHQ0+U#22)-rt*{h5qA8b+4*RZ(@^7Tfwy6)zI9ITsX`Z9{js z-8&jE-ztvm@`&y9h@E09QM_F@Ja4+`Wr^N+%|N&2&8`T?q|c#Cdo?30=Zgaxb;y(_ znzy`wOzNT^CJqN$ReKw7+T*|0os9dt2UHQYGo!6z`mf|x=7wf_&j7VATG}IHWSZL} zoej*qOIcgu*8QY41iRVarktJuRs30)ws`TD^`vB zV`GBtBxQ`u>xeTC#YHnBmOJJ?xZ;?e9oxOCISpp&d$CkA+>I%XCrJPxH_ZA4IAiEf z^U#wJcG#{xl7DIzzv_KiX-Zst@zEA64_D9o~36&^_|DJGyZV z?#X8nrV9Eq5nl@-q$?eTpMqx325pa^x>{3SkjyGqe}TXLh@D5u+TwS8G_@)3l3^)@ z)9|$+7}lFo=aHSH-eJBgjS~ej7q{|+%hxIghIa3GVdGmf5w@*zkvN23v@fswiu$(j z6G{`q%BuS)tmx(37$26(k9#5Hy65-FClkDU(L`cKcl|4B*Y}8zQ6+zg^;PoBtox}a z1FiRc)NLO!+vZ!yQjRb_>9GuoEyZr?^P#3w(Vv0Vt|Jl!h;Hk@_g#|(2}^0Q56yO- z7+vorji@pNb)>ECatZ62GP}=F*z6SbO6xw=KzF^6yw4$dR>p)?$BrHA8=vMefAmJ! z$F5*}PC4P#6RUQVc&hd+_i7Aoh9XmG?FvOY;_9jt%u_?(Kk$Xa%BbT!BoCGt{htw= z!%M>b;#Qce&k$uH9sFdFrD>_0Z@fA~ul3&c!qqR=erkn@XqlhU2K6Y0AzNo|N1@;z z%{OQCr1G&1;`23`rH|u(4J@Y`t%Go3Hs9DT&|22+W?l)wH{*zD+lu>=kehq|@dLp+ z5Xm@@Nl3(Zh->cj60xd)!}?>UR%7V+|6`eS>SBT|T4c3QUraE3=N*`7YU$$Qvc$j> z?x*_H$5STjw(1;jGYHZAEdTQr*CDwJth+h(Mw#*?CHfTa=sx~V#)%!)aV}xpR9|$7 zd3E+`&SAc4MJ9ukf8N)(xRp6`_O^1)vrpDj9n)uM)>CZSRn-qGoC4Iy9@-<(c5{<# zT)4yib!*Z4;9@Z`SEE0}FBFjB`~DDRPpgh)gukNUXz+VTeO$S;^vrY+vMZaPyMRS^ zHB!T8!yFwpn@CBpRrHphXmYT>V)ZEiZ2Rf{y`5gn6!d2zz7p!Pq-A^PM9kT?_}kWB z6}QmScE$-OvRpt0NQ?@trpXVK-Z&N4+*mZSGQGPwD7O1xunH~W=gQ>bqoQ$jJi2~A zHCHUps`g&^-&_Cc;3S`N^^4{7(eF3dp^Q3FF!PIAt=A@ubsQ8#^Hjsh5?1kH zMXdI$*nY`(K5ENcCC}|Hk@Fo$YRdDk|IfVoA{Q8(l;QA3(X?;OQP~|oLmbfL$L&k4 zT!)XVe!M^>=JNno+PV1ruG$VU5HH9#{P>bq+>CtDMz9B_M1hpmr~k{?Wt8rRTBJ|d zrVAm>>#DrLg*ak-)ieE*jzoOAP@O$L`2K{;(5DlAyl;E6@i&-en|&1>uC8iLn(vEv zcz9?|%$dF1Wa058r6UzOMd^g6i~>LO2w7@jueRrFpqi3im&axKS)XRY`p35AQ}Hia z&fPp-;1_o7yRO~uMS3rB(d!wmhdw=M7s0Uo@&bDOkDcA0x;1ZoR-J#?jz6H=PragN z5xVN|Ry*cI1OK~I77WeQi0bN3dLGQKAYxEWkmc=UIVL=WdO@WCr8Ufy`u4(DN7{&z zoF^g+seS9QtfKz**s&4KBYScX6o}AZAN7l^ku&oHB zYVDwNSj!+R(4xT~cH*%im1u%exmx&3otF?jy=xxo3~QomdtuSLpiUL-AtW^#qCG6S z3V7^j(ph+6c?(*Q%jKkW*P$&)sU{PU!u66X!}lbuVW$EDHPWu0ghFvhqZAhYfxyrH zK%E5*;%Czd!bWP3Aa8L_%XHOon%pH|e>xhz$Q1RqZ65O1LrNWS*;O@U!#?k(bQ2>v zChB-Bz9Fp$1+1V5RW(dY@FZ#*Mkn)`ucyGNfr>?kZvS*_II@XjyM#9Sp6`ddcjr9> z7jVx?whp9;D<4y2UzsT7v0iyteFNb%tv?mIoW`V+C-a^~11BjB{=s*UlSiX_f8O0d z?N+nAK+h{AL z&w;2a$yAnh)vrSv+tjvzGn@8Wco0DrcK)?v`@!^&IwR{oXXRRmAWob3U@U^aKg+h4 z$J(D-_|b}3xyX67w*KQEMcrQCd!MB(?Va&GQCX3^fS@oP_kO@nXWE@#NMjlhr|fkn zT-x5-S)Bz5emZv+rnzGhY^dN^E&vIBf9{g`EW7euW7YK9Aaj?M%7MItX@nr}p$Xp; zCUCa?!Sb58(-wM*-r;q(?WBL6%8%E}%Cq_v!&Ko#mc^&4<0i91wHgjD5JV!+ed@;k zSOfJ*LBsih*2@O3KeseWHHgr@3U2J?pRDSiEq(MZ_8Y@7pF&pR8nX_l4At`NRPT!b z$!#!6B5$%)#UAKIn{y&uUOklkbYA1D^XVa}LyreYOIuUmJ=(mHoI$>)J`Vn=+&L3{JWX z&(7G+h{~lj%_DZ+$9iFjpQ&C^a&E{+BH#bx{ns8xz68a?M63y9tDv(G@)JkF6!bqC zs8f4z84OCTXx=&*qouoc1P5gNTzfRr{&tuAl`Tf1zQYsV1ID}J8xBE4z47)3?Gf>h z*zi8w#7{@T&3%?R2I{1pLBSmcaLtgu8wU2%PpUR}IBlM0mkh^ORC#+29}-i31GC9~ zz!)McOZFdk0j7@*0MmAiDI`FKvKE5K+$TvpP$%@vCSZyOrdFbfxGcYRu8g8jot
+E=Xk6@k7 zl0*~vdZU+!mj+k8FgDezPdf|=g15WLc`ZBJ-T{xD_RMD3COxSmihxZgK zXig2HK@G@x=>%qqiE`j5 z#nTDa*#j0gi&HeK+JZM;BfCIqV*iy-J{Rtt)mu9{*U|VmGVx6J&BBkX$XxSWC~^3zCE>@;(^1OI-~$Rb^FHHLPAZ_GBT784%{zycc!lsp zcbYR=^y12;k%2Y{sAfez(HX%rFvCtqGh5GUrxw+YY}s_;DiQmP*zSwz$pokN??h!L zh`|Y@Q`#U>8IOy);}!r&~ca*M(mF;PBak4Qh*sOucqMADXz?c z;&IpGalSGRS3N5R!psJI7CUgB=2b$fZ>x@1a$ZiZm|C$6+UQk+|MaQ_=K{4C=lIoB zT4x`g`q}0OG1kh4VB6}Y)XywEZX3&ST(@FCvx?b@2Om@Ej-}3s>FhK=3B@tyv~g4u zw6VEt+HS8)m33$LE;-Z3Ie7yYGp01FcByTYg?!oe)ou)hY;10-2F%?UAVaxi@0Bml zL{1nxgBA;n(>-&WA3zYLH|?V97S`(TP~)zK(6yK&Ci9O zIxvek_#YiS6a_^xAm}8i9B5*kFcXk5GIg5y)%|YkJzhmd+B3@{YdF2s)P1k&%)<1L z`uGq2T$#@ojpR&EakKtb3&?;erUE^B58TT%{NS@qe?>O&D6_A6Q|s>8%!X)|*vOhC z8#kkWK>s5x|E~n&JHXz4|99)Zl8rA~_@B(wtNttT_--g2@S8sJzmkwEL4Et*e@|NR zzYgYf@jn&)$yEG5EBZY@kpE4z->UfEQt`jlbk-LBx8eMr6aN3(lYgt?f2RtpAQY;O g|Gx(>BY5UQxV>osC-gSo6Yc&l6Vn|pjK~512cKb|vj6}9 literal 0 HcmV?d00001 diff --git a/pr-preview/pr-10/images/prototype_logo_4_horizontal.png b/pr-preview/pr-10/images/prototype_logo_4_horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7c084ea0efe66c4264a0711588fe167f856c00 GIT binary patch literal 7635 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

-
-

-

+ - 0.3 is here! + Coffee'n Jam and... 0.2!

-

Cubos 0.3 Release!

+

Cubos 0.2 Release and Coffee'n Jam!

-
-

New 0.3 Features

-

On this release, we focused on adding essential features we've been wanting to have for quite some time now. -It ended up being a tad smaller than expected, as we spent a lot of time working on non-code related stuff, such as rebranding the project. -TODO: should we introduce the rebranding here?

-

This blog post covers the most important changes, but you can check out the full changelog in our repository.

+
+

Coffee'n Jam

+

From 26th of April to 3rd of May, @RiscadoA and @joaomanita participated in the Coffee'n Jam, a game jam organized by GameDev Técnico, with our engine, Cubos. +The goal was to create a game in a week, with the theme "Apocalypse" - and we had a blast!

+

The game jam was a great opportunity to test the engine in a real game development scenario, and we learned a lot from it. +The game is called Scraps vs Zombies, and you can download it from its itch.io page. +You can also check out its source code in our demo repository.

+

We managed to win the "Best Gameplay" and "People's Choice" awards, which we're very proud of!

+
+ +
+

We found a lot of bugs and missing features during the jam. Additionally, we had performance become a problem for the first time. +One particular area that is in dire need of development is Audio, which we've been ignoring so far - people expect to hear something when they play a game! +We'll be working on fixing these issues in the next release, and we'll also be profiling the engine to find out where the bottlenecks are.

+
+
+

New 0.2 Features

+

Our focus on this release was to continue working on improving and implementing base functionality, such as rendering and physics, and also to improve on the tools available to the developer. +We've compiled here some of the most important changes (if you're curious, you can check out the full changelog in our repository).

On the Editor

-
-

Console Plugin (@Scarface1809)

-

TODO: describe changes, add a screenshot

-
+
+

Transform Gizmo Upgrades (@DiogoMendonc-a)

+

The biggest change was the addition of a rotation gizmo, so now you can rotate entities using your mouse!

+

We also added a toggle that allows changing between using global or local space with the Transform Gizmo, +and a new type of gizmo, a Rotated Box, which, unlike the old boz gizmos, does not need to be axis-aligned.

+

Finally, the transform gizmo is now always rendered at the same size, regardless of the selected entity's distance to the camera. +This should hopefully make it easier to use the tool when moving entities either very far away, or very close.

+
-
-

On the Engine

-
-

A New Physics Solver (@fallenatlas)

-

Upon discovering some potential issues with regards to NVidia's patent of XPBD, some problems with how XPBD handled friction, and stability, -we decided that this would be the ideal moment to switch to another solver. -Recently, Erin Catto shared his comparison of multiple solvers, and the results of TGS Soft seemed quite promising, so we decided to give it a try... And at this point, our simulation is already more stable than before!

-

In simple terms, it differs from XPBD in the sense that it uses impulses instead of changing the position of the bodies directly, however, like XPBD it also uses substeps. On top of this it also uses soft constraints, which is what Soft stands for in it's name.

-

Since these changes were mostly in internal systems, from a user stand point, everything works the same way.

-

Additionally, we added Friction and Bounciness. For now, these are a predefined value for every body, but will be customizable in the next release with a PhysicsMaterial.

- +
+

World Inspector Overhaul (@diogomsmiranda)

+

The World inspector has been on our radar for quite some time now, as a tool that could be improved. +This release we particularly aimed on making it better by focusing on:

+
    +
  • Making it easier to find the entities you are looking for.
  • +
  • Displaying more information about the entities in the scene.
  • +
+

To tackle the first point we've added a search bar that allows you to filter the entities in the scene, either by their name, or by their components. e.g:

+
    +
  • Searching for "player" will show all entities that have "player" in their name.
  • +
  • Searching for "Transform" will show all entities that have a Transform component.
  • +
  • Searching for "player, Transform" will show all entities that have a Transform component and contain "player" in their name.
  • +
+

To tackle the second point on our list we added an hierarchy view that shows the entities in the scene in a tree-like structure representing the ChildOf relation between entities.

+
-
-

Raycasting (@diogomsmiranda)

-

Raycasting is a commonly used tool in game development which we Cubos were lacking until now!

-

Raycasting is a technique used to determine the intersection of a ray with an object in a scene, right now in Cubos there are 2 shapes of colliders, -the BoxCollisionShape and the CapsuleCollisionShape.

-

Because of this, the new system argument Raycast implementation can be divided into 2 parts, collision with boxes and collision with capsules (notice that a sphere is a capsule with no height).

-

Collision with a Box

-

The collision with a box is based on the Cyrus-Beck algorithm, which is a line clipping algorithm that is used to find the intersection of a line segment with a convex polygon.

-

We can easily define a box by the minimum and maximum values of x,y,z and the ray by its origin and the direction.

-

A ray is defined then by the line formula:

-
-point = ray.origin + t*ray.direction -
-

Being t a scalar value that represents the distance from the ray's origin to the point.

-

Our objective is to find t, and check if the point is in the "right" side of the ray (the side that the ray is pointing to).

-

For that we can rearrange the previous formula to:

-
-t = (point − ray.origin) ⁄ ray.direction -
-
-OR(whendecomposedinx, y, z) -
-
-tX = (point.x − ray.origin.x) ⁄ ray.direction.xtY = (point.y − ray.origin.y) ⁄ ray.direction.ytZ = (point.z − ray.origin.z) ⁄ ray.direction.z -
-

If the point is in the right side of the ray, then the intersection point is the point that is closest to the ray's origin.

-

Now, the only thing that we still need to account is, that most of the times, we have 2 intersection points, one going in, and one going out.

-

For this we can change the way we use this formulas by instead of using the point, we use the minimum and maximum values of the box.

-

If both our t's make sense, then we have an intersection.

-

Here is an excerpt taken from the Raycast class:

-
static float intersects(cubos::engine::Raycast::Ray ray, cubos::core::geom::Box box)
-{
-    (...)
-
-    glm::vec3 max = corners[1];
-    glm::vec3 min = corners[0];
-
-    float tMinX = (min.x - ray.origin.x) / ray.direction.x;
-    float tMaxX = (max.x - ray.origin.x) / ray.direction.x;
-    float tMinY = (min.y - ray.origin.y) / ray.direction.y;
-    float tMaxY = (max.y - ray.origin.y) / ray.direction.y;
-    float tMinZ = (min.z - ray.origin.z) / ray.direction.z;
-    float tMaxZ = (max.z - ray.origin.z) / ray.direction.z;
-
-    // find the maximum of the min
-    float tMin = std::max(std::max(std::min(tMinX, tMaxX), std::min(tMinY, tMaxY)), std::min(tMinZ, tMaxZ));
-
-    // find the minimum of the max
-    float tMax = std::min(std::min(std::max(tMinX, tMaxX), std::max(tMinY, tMaxY)), std::max(tMinZ, tMaxZ));
-
-    if (tMax < 0 || tMin > tMax)
-    {
-        return -1.0F;
-    }
-
-    return tMin < 0.0F ? tMax : tMin;
-};
-

Collision with a Capsule

-

The collision with a capsule is more straight forward than the collision with a box, as we can separate a capsule into 3 parts, -a cylinder and the two spheres at the ends.

-

We then can check for a point of intersection by checking if the ray intersects the cylinder, and if it doesn't, we check if it intersects the spheres.

-

We can determine both intersections by simply subbing the the ray's equation for x and z in the cylinder and sphere equations, and then solving it for t.

-

Code excerpt from raycast.cpp for the cylinder intersection:

-
static float intersects(cubos::engine::Raycast::Ray ray, float radius, float top, float bottom)
-{
-    // We are gonna use the quadratic equation made by subbing the ray equation into the cylinder equation
-    // The cylinder equation is:
-    // x^2 + z^2 = r^2
-    // The ray equation is:
-    // x = x0 + t * dx
-    // z = z0 + t * dz
-
-    float a = ray.direction.x * ray.direction.x + ray.direction.z * ray.direction.z;
-    float b = 2.0F * (ray.direction.x * ray.origin.x + ray.direction.z * ray.origin.z);
-    float c = ray.origin.x * ray.origin.x + ray.origin.z * ray.origin.z - radius * radius;
-
-    float discriminant = b * b - 4.0F * a * c;
-    if (discriminant < 0)
-    {
-        return -1.0F; // no intersection with the cylinder
-    }
-
-    float t1 = (-b + std::sqrt(discriminant)) / (2.0F * a);
-    float t2 = (-b - std::sqrt(discriminant)) / (2.0F * a);
-
-    float max = std::max(t1, t2);
-    float min = std::min(t1, t2);
-
-    float t = min > 0.0F ? min : max;
-
-    if (t < 0.0F)
-    {
-        return -1.0F; // no valid intersection
-    }
-
-    float y = ray.origin.y + t * ray.direction.y;
-
-    if (y < bottom || y > top)
-    {
-        return -1.0F; // intersection is outside the finite cylinder
-    }
-
-    return t;
-};
-

To use the Raycast argument system, you can simply call the system Raycast.fire that takes a Ray as an argument.

-
cubos.system("raycast").call([](Raycast raycast)
-{
-    // raycast from the origin to -50,0,0
-    auto hit = Raycast.fire({{0.0F,0.0F,0.0F},{-50.0F,0.0F,0.0F}});
-    if (hit.contains())
-    {
-        // hit.point is the point where the ray hit the object
-        // hit.entitiy is the entity that was hit
-    }
-});
+
+

Sub-scene importing in scene editor (@teres4)

+

Previously our scene editor was lacking support for importing sub-scenes. +This meant that developers had to manually open the scene file and paste the sub-scene UUID in its import section. +To save time, we've added a popup that shows all the importable sub-scenes, and allows the developer to select the one they want to import.

+
-
-

Spot Light Shadows (@tomas7770)

-

Our graphics renderer has received a new major feature in this release: shadows!

- -

It should go without saying that this feature has a big impact on the visuals of games -developed with Cubos. We've tried it on Scraps vs Zombies and the result is stunning! -It's an important step towards the kind of appealing graphics that we hope to achieve.

-

For the time being, shadows support is limited to spot lights. To enable them, all you need -to do is add a SpotShadowCaster component to the spot lights for which you want shadows to be cast, -as shown in the Shadows sample. -Both hard and soft shadows are supported, with a configurable blurRadius.

-

Behind the scenes, this works by rendering the world from each light's perspective to determine which parts -are occluded, and making these parts unlit. A large texture known as the "shadow atlas" holds this information for -every light in a quadtree structure, reducing expensive texture switching. Finally, soft shadows are implemented -as a post-processing step that effectively blurs out the shadows. -Below is a screenshot of the shadow atlas with 5 spot lights. Lines have been drawn separating -the areas of the atlas reserved for each light.

-
-
-

Initial UI Plugin (@DiogoMendonc-a)

-

TODO: describe changes, add screenshots, maybe gifs too?

+
+

On the Engine

+
+

Physics Improvements (@fallenatlas)

+

This update we introduced the Solver, which works to satisfy the physics constraints applied to entities (e.g. Spring, Fixed distance between entities, etc.).

+

This means that the developers can now give entities any number of constraints, either engine defined or their own, and the solver will handle their expected interaction. +As of now, we have one constraint, internal to the engine, the PenetrationConstraint, which separates bodies that are inside each other, and comes in to replace our previous collision solving system.

+

With the ability to have repeating systems, it was possible to introduce the physics substeps loop, which +will perform the physics update in multiple smaller steps. This is important to increase the convergence rate of the solver and preservation of energy, by reducing the errors caused by approximations of the simulation.

+

These changes should lead to more realistic behavior, as well as better consistency between systems with different performance levels.

+
-
-

Arbitrary Input Combinations for Actions and Axes (@luishfonseca)

-

TODO: describe changes, show input bindings example

-

TODO: describe changes, add screenshots, maybe gifs too?

+
+

Modular Renderer (@RiscadoA, @tomas7770)

+

Before this update, our graphics renderer was very monolithic, with a lot of the code being held in a single file. This posed some problems, +namely that if we wanted to implement new rendering methods in the future (e.g. raytracing), we would end up with tons of duplicate code. +It also didn't fit well with our ECS design, since things such as the renderer and its active cameras were just global resources.

+

To overcome this, we've restructured the renderer, splitting it into several components with their respective plugins. The most important ones +are perhaps RenderTarget, representing something that can be drawn to, and PerspectiveCamera, which draws to render targets using perspective projection. +Entities with these components are related using a DrawsTo relation. There are also components that individually enable various parts of the renderer, +such as deferred shading, or effects like bloom and SSAO. This separation opens up possibilities for more customizability from the user side, +and makes the renderer code easier to deal with by engine developers.

+

We also used the opportunity to optimize the renderer, namely, by allocating a large GPU buffer for all the voxel meshes, which we then split into smaller buckets. +This way, we can draw all the voxel objects with fewer draw calls, and with way less context switches. +One other feature we improved greatly was entity picking - finding out which entity is visible at a given pixel. Previously, enabling it cut the framerate by more than half, which was unacceptable. +By using Pixel Buffers and double-buffering, we managed to make its performance impact negligible.

+ +

Additionally, we added a tone-mapping pass to the renderer, which makes better use of the HDR color space. It allows us to tune the exposure of the scene, and also to apply effects like bloom and SSAO in a more realistic way. +One side-effect of us changing the color-space is that now the colors in the game are a bit more washed out. We'll have to go back and tweak the colors in the game to make them look good again.

On the Core

-
-

Metrics (@roby2014)

-

We are excited to introduce the new metrics and profiling utilities! -This started becoming a priority since we detected lots of performance issues in the last Game Jam we participated.

-

These tools are designed to help track performance and gather valuable insights about code execution and data.

-

How it looks:

-
static void compute()
+
+

Clearer Plugin Dependencies (@RiscadoA)

+

One of the main features of Cubos is its plugin system. We structure all of the engine and editor features as plugins, each with its own set of components, systems, and resources. +The developer ultimately chooses which plugins to include in their game, and may also create their own plugins.

+

Plugins may depend on each other. One example is the physics plugin, which depends on the collisions plugin. +Previously, when a plugin was included, all of its dependencies were automatically included. It was also possible to include a plugin twice - the second time, the plugin would simply be ignored.

+

While this seems useful, this led to some problems. Since a plugin could be included more than once, there isn't a single place where its safe to make decisions about how a given plugin should behave. +This was particularly problematic with the new modular renderer plugins.

+

Imagine a scenario where we have two plugins A and B, which implement different rendering methods. +A and B are incompatible. Adding both should be an error, as it's impossible to have both rendering methods active at the same time. +Additionally, A and B both add on a plugin C, and make decisions about how C should behave. If both A and B are included, which one should have the final say? +How do we specify the dependency between them without coupling their code?

+

Our solution to this was to distinguish between depending and including a plugin. When a plugin X depends on a plugin Y, adding X without Y being present leads to an error. +When a plugin X includes a plugin Y, including X will also include Y. But, if a plugin is included twice, an error occurs. +This way, we get a clean plugin hierarchy, which is easier to reason about:

+
void myPlugin(Cubos& cubos)
 {
-    CUBOS_PROFILE();
-    // ...
-} // after the scope ends, a new metric `compute` will be added, with the duration of this scope
+    cubos.depends(renderVoxelsPlugin); // Don't care about internals, just need the plugin
 
-static void myFunction()
-{
-    /// simulate profiling loop
-    for (int i = 0; i < 1337; ++i)
-    {
-        // simulate frame by calling a function that does work..
-        compute();
+    cubos.plugin(mySubPlugin); // Include a sub-plugin, which becomes part of my plugin
 
-        // register some metrics, this could be FPS, entities count, ....
-        CUBOS_METRIC("count", i);
-    }
+    // ...
 }
-

Currently, metrics can be accessed manually through the singleton class. However, we plan to -integrate these metrics into our editor for a more streamlined experience.

-

Learn more about it on our metrics documentation :

+

One issue with this solution is that you would now have to manually include all plugins you need when making a game. +Of course, this is not ideal, and thus, we've added a new defaults plugin to the engine that includes all the plugins that are necessary for a basic game to run. +If the developer wants to configure the engine in a different way, they can simply write their own alternative defaults plugin.

-
-

Networking Utilities (@roby2014)

-

In the 0.3 release, Cubos finally has networking! This is a big step forward for our engine, bringing -powerful networking utilities such as ` Address <https://docs.cubosengine.org/classcubos_1_1core_1_1net_1_1Address.html>`_, -UdpSocket, TcpListener, -and TcpStream.

-

Creating an UDP client and sending a message is as simple as:

-
UdpSocket client;
-client.bind(8080, Address::LocalHost);
-
-const char* msg = "Hello, I'm a Cubos UDP client!";
-client.send(msg, std::strlen(msg), Address::from("server.com"), 8081))
-

Learn more about it on our networking documentation :

+
+

Observers (@RiscadoA)

+

Very often while working with Cubos, we find the need to react to the addition and removal of components in entities. +One use case, for example, is setting up the AABB of an entity when we add a collider to it. +Previously, we had to manually implement this logic, for example, by adding a flag to the collider which was initially false, and having a system initializing all colliders with the flag set to false.

+

To solve this problem in a more elegant way, we added a new special kind of system: observers. Observers are essentially systems which instead of running on a specific schedule, run immediately after a certain change occurs in the ECS (akin to callbacks).

+

We also found another unexpected use for this feature. Complex plugins with lots of components, such as the physics plugin, where previously cumbersome to work with, as all the required components had to be manually added to each entity we wanted physics to apply to. +With observers, we instead now add a single component PhysicsBundle. An observer picks up this addition, and immediately replaces this component with all of the required components for the physics plugin to work.

+

If you're interested in learning more about this feature and ECS in general on our engine, check out our ECS feature guide.

+
+
+

Introducing Inheritance in Reflection (@roby2014)

+

Cubos has a powerful reflection system to examine and interact with a structures and types at runtime +It works by attaching metadata to types, which we call traits. These traits can be queried at runtime to get information about the type. +For example, we provide a FieldsTrait, which you can add to a type to expose its fields to the reflection system.

+

One thing we were missing was information about inheritance relationships between types. +We've added a new trait, InheritsTrait, which allows you to specify that a type inherits from another type.

+

This will be particularly useful for serialization, as right now we have to manually add the fields of the base class to the derived class. Now, serializers can check if this trait is present and fallback to the base class if necessary.

+
+
+

Repeating Systems and Fixed-Step Updates (@joaomanita)

+

Certain plugins, like the physics plugin, required some of their systems to run multiple times per frame so that they could make more accurate +aproximations. In addition, some of them need to be executed in ordered groups. For example:

+
    +
  • The integration system needs to run before the velocity update system.
  • +
  • The velocity update system needs to run before the force clear system.
  • +
  • The force clear system needs to run before the impulse clear system.
  • +
+

To allow repeating groups such as these, we added a new feature to the ECS tags: the repeat while modifier. This makes the systems tagged by it repeat until a certain condition becomes false.

+
cubos.tag(groupTag).repeatWhile(myCondition);
+cubos.system("integrate physics").tagged(groupTag)./* ... */;
+cubos.system("update velocity").tagged(groupTag)./* ... */;
+cubos.system("clear forces").tagged(groupTag)./* ... */;
+

Its also possible to make repeating subgroups by tagging the subgroup with the parent tag.

+
cubos.tag(subgroupTag).tagged(groupTag).repeatWhile(myOtherCondition);
+

This way the subgroup's systems will repeat a total of n x m times, where n is the number of times the parent tag repeats and m is the number of times the subgroup tag repeats.

+

With this implemented, it was easy to implement the fixed-step plugin on the engine side. It simply adds a tag that makes systems repeat as needed according to +the DeltaTime passed, avoiding variance due to different frame rates and more/less powerful PCs.

-
-

Groundwork for a Standalone Editor (@RiscadoA)

-

The original main goal for this version was to get a first prototype of our standalone editor working. -Sadly, I didn't manage to get it done in time, as it was a bigger task than I anticipated.

-

The initial approach, to which I dedicated most of my time, was to have two instances of Cubos running at the same time, on the same process - one for the editor and one for the game. -The game instance would be running within the editor instance, and would be launched by loading the game's code from a shared library (such as a DLL). -With this separation, it would be possible for the editor to interact with the game, pause it, restart it and so on, even across game code changes, without having to restart the editor.

-

So, with this in mind, I restructured some parts of the code base to get it flexible enough to support this kind of setup. -Namely, it is now possible to step Cubos instances, reset them, restart them, and other similar operations. -I also added cross platform support for loading Cubos instances from shared libraries, so that we could load the game from the editor.

-

This all seems, at first, perfect, but after discussing with the team, we realized that this approach of having two Cubos instances in the same process is not ideal at all. -Any game crash would bring down the editor, any memory leak in the game would affect the editor, and infinite loops in the game would freeze the editor. -Since solving the halting problem isn't in our roadmap, we decided that we should discard this approach, and instead try to keep the editor and the game in two separate processes.

-

So, for the next release, I'll be focusing on following this new approach. It will be a big task, and it will be a lot more difficult, as it will require a lot of inter-process communication, but it will be worth it in the end. -It will allows us to have a stable editor, whose performance is not affected (that much at least) by the game, and vice-versa.

+
+

Moving Away from the Old Serialization (@Dacops)

+

Serialization is a crucial part of the game engine that allows for the saving of any Cubos game components as well as then loading them in. +Previously, serialization was done through a series of functions, both for reading and writing, that could be overloaded for each type. +On the previous (and first) release, we introduced a reflection system, that allowed for the inspection of types at runtime. This was an essential step to make the inspectors on the editor side work.

+

But with this new system, we now had two sources of truth for the types, the reflection system and the serialization system. +To solve this, we decided to change the serialization system to use the reflection system, and thus, not force the developer to write serialization code for each type.

+

On this release, we've finally finished this transition, by replacing serialization by direct stream manipulation in places where performance was more of a concern, such as voxel object saving/loading; and by replacing the serialization methods by reflection in other places, such as the input bindings.

Next Steps

-

TODO: I just copied this from the previous post, we should rewrite it: -We're very happy with the progress we've made on this release. The engine is becoming more and more powerful, and we were able to create a full game with it in a week!

-

For the next release, which should be out in September, we'll be WIP

+

We're very happy with the progress we've made on this release. The engine is becoming more and more powerful, and we were able to create a full game with it in a week!

+

For the next release, which should be out in July, we'll be focusing on expanding the engine's capabilities, as it is currently missing some key features, such as:

  • A standalone editor application. Our tools are currently integrated into the games themselves which is not ideal.
  • Audio support, as there's no sound at all in the engine right now.
  • +
  • An initial UI plugin, which can render images, text and handle buttons.
  • Actual voxel collisions, as we currently only check the bounding boxes.
  • Basic rigidbody physics, with rotation and friction.
  • -
  • Shadows for all light types.
  • +
  • Shadows, transparency and other rendering features.
  • +
  • Raycasting.
  • +
  • Networking utilities, to allow for online multiplayer games.
  • Web-support, so that games can be played in the browser.
  • -
  • Tracing and spans, for better tracking of program execution.
  • -
  • TODO: what else? review stuff above too
  • +
  • C API, so that we can use the engine from other languages (scripts!).
  • +
  • Better editor tools.
-

You can check out the full list of stuff we want to get done in the milestone for the next release.

-

We're currently a team of 13 people, and we're looking to expand! If you're interested in joining us, or just want to learn more about the project, join our Discord server!

+

You can check out the full list of stuff we want to get done in the milestone for the next release.

+

We're currently a team of 10 people, and we're looking to expand! If you're interested in joining us, or just want to learn more about the project, join our Discord server!

- -