From a73da5e966c78d2a1ea77af22924da88c476a103 Mon Sep 17 00:00:00 2001 From: Mikko Mononen Date: Wed, 9 Dec 2009 15:45:10 +0000 Subject: [PATCH] Moved all debug draw utilities to DebugUtils folder. Added recast data to .obj dump functions. --- Detour/Include/DetourDebugDraw.h | 28 - Detour/Source/DetourDebugDraw.cpp | 436 -- Recast/Include/RecastDebugDraw.h | 117 - Recast/Source/RecastDebugDraw.cpp | 931 ---- .../Bin/Recast.app/Contents/MacOS/Recast | Bin 530796 -> 536052 bytes .../Xcode/Recast.xcodeproj/memon.pbxuser | 4892 +++-------------- .../Recast.xcodeproj/memon.perspectivev3 | 88 +- .../Xcode/Recast.xcodeproj/project.pbxproj | 44 +- RecastDemo/Include/Sample.h | 6 +- RecastDemo/Source/Sample.cpp | 14 +- RecastDemo/Source/Sample_SoloMesh.cpp | 26 +- RecastDemo/Source/Sample_SoloMeshSimple.cpp | 35 +- RecastDemo/Source/Sample_SoloMeshTiled.cpp | 36 +- RecastDemo/Source/Sample_TileMesh.cpp | 30 +- 14 files changed, 783 insertions(+), 5900 deletions(-) delete mode 100755 Detour/Include/DetourDebugDraw.h delete mode 100755 Detour/Source/DetourDebugDraw.cpp delete mode 100644 Recast/Include/RecastDebugDraw.h delete mode 100644 Recast/Source/RecastDebugDraw.cpp diff --git a/Detour/Include/DetourDebugDraw.h b/Detour/Include/DetourDebugDraw.h deleted file mode 100755 index 5f53ed4..0000000 --- a/Detour/Include/DetourDebugDraw.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright (c) 2009 Mikko Mononen memon@inside.org -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source distribution. -// - -#ifndef DETOURDEBUGDRAW_H -#define DETOURDEBUGDRAW_H - -#include "DetourNavMesh.h" - -void dtDebugDrawNavMesh(const dtNavMesh* mesh, bool drawClosedList = false); -void dtDebugDrawNavMeshBVTree(const dtNavMesh* mesh); -void dtDebugDrawNavMeshPoly(const dtNavMesh* mesh, dtPolyRef ref, const float* col); - -#endif // DETOURDEBUGDRAW_H \ No newline at end of file diff --git a/Detour/Source/DetourDebugDraw.cpp b/Detour/Source/DetourDebugDraw.cpp deleted file mode 100755 index 12db317..0000000 --- a/Detour/Source/DetourDebugDraw.cpp +++ /dev/null @@ -1,436 +0,0 @@ -// -// Copyright (c) 2009 Mikko Mononen memon@inside.org -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source distribution. -// - -#include "DetourDebugDraw.h" -#include "DetourNavMesh.h" -#include "SDL.h" -#include "SDL_opengl.h" - -static void drawBoxWire(float minx, float miny, float minz, float maxx, float maxy, float maxz, const float* col) -{ - glColor4fv(col); - - // Top - glVertex3f(minx, miny, minz); - glVertex3f(maxx, miny, minz); - glVertex3f(maxx, miny, minz); - glVertex3f(maxx, miny, maxz); - glVertex3f(maxx, miny, maxz); - glVertex3f(minx, miny, maxz); - glVertex3f(minx, miny, maxz); - glVertex3f(minx, miny, minz); - - // bottom - glVertex3f(minx, maxy, minz); - glVertex3f(maxx, maxy, minz); - glVertex3f(maxx, maxy, minz); - glVertex3f(maxx, maxy, maxz); - glVertex3f(maxx, maxy, maxz); - glVertex3f(minx, maxy, maxz); - glVertex3f(minx, maxy, maxz); - glVertex3f(minx, maxy, minz); - - // Sides - glVertex3f(minx, miny, minz); - glVertex3f(minx, maxy, minz); - glVertex3f(maxx, miny, minz); - glVertex3f(maxx, maxy, minz); - glVertex3f(maxx, miny, maxz); - glVertex3f(maxx, maxy, maxz); - glVertex3f(minx, miny, maxz); - glVertex3f(minx, maxy, maxz); -} - -static float distancePtLine2d(const float* pt, const float* p, const float* q) -{ - float pqx = q[0] - p[0]; - float pqz = q[2] - p[2]; - float dx = pt[0] - p[0]; - float dz = pt[2] - p[2]; - float d = pqx*pqx + pqz*pqz; - float t = pqx*dx + pqz*dz; - if (d != 0) t /= d; - dx = p[0] + t*pqx - pt[0]; - dz = p[2] + t*pqz - pt[2]; - return dx*dx + dz*dz; -} - -static void drawPolyBoundaries(const dtMeshHeader* header, bool inner) -{ - static const float thr = 0.01f*0.01f; - - glBegin(GL_LINES); - for (int i = 0; i < header->npolys; ++i) - { - const dtPoly* p = &header->polys[i]; - const dtPolyDetail* pd = &header->dmeshes[i]; - - for (int j = 0, nj = (int)p->nv; j < nj; ++j) - { - if (inner) - { - if (p->n[j] == 0) continue; - if (p->n[j] & 0x8000) - { - bool con = false; - for (int k = 0; k < p->nlinks; ++k) - { - if (header->links[p->links+k].e == j) - { - con = true; - break; - } - } - if (con) - glColor4ub(255,255,255,128); - else - glColor4ub(0,0,0,128); - } - else - glColor4ub(0,48,64,32); - } - else - { - if (p->n[j] != 0) continue; - } - - const float* v0 = &header->verts[p->v[j]*3]; - const float* v1 = &header->verts[p->v[(j+1)%nj]*3]; - - // Draw detail mesh edges which align with the actual poly edge. - // This is really slow. - for (int k = 0; k < pd->ntris; ++k) - { - const unsigned char* t = &header->dtris[(pd->tbase+k)*4]; - const float* tv[3]; - for (int m = 0; m < 3; ++m) - { - if (t[m] < p->nv) - tv[m] = &header->verts[p->v[t[m]]*3]; - else - tv[m] = &header->dverts[(pd->vbase+(t[m]-p->nv))*3]; - } - for (int m = 0, n = 2; m < 3; n=m++) - { - if (((t[3] >> (n*2)) & 0x3) == 0) continue; // Skip inner detail edges. - if (distancePtLine2d(tv[n],v0,v1) < thr && - distancePtLine2d(tv[m],v0,v1) < thr) - { - glVertex3fv(tv[n]); - glVertex3fv(tv[m]); - } - } - } - } - } - glEnd(); -} - -static void drawMeshTile(const dtNavMesh* mesh, const dtMeshTile* tile, bool drawClosedList) -{ - const dtMeshHeader* header = tile->header; - dtPolyRef base = mesh->getTileId(tile); - - glBegin(GL_TRIANGLES); - for (int i = 0; i < header->npolys; ++i) - { - const dtPoly* p = &header->polys[i]; - const dtPolyDetail* pd = &header->dmeshes[i]; - - if (drawClosedList && mesh->isInClosedList(base | (dtPolyRef)i)) - glColor4ub(255,196,0,64); - else - glColor4ub(0,196,255,64); - - for (int j = 0; j < pd->ntris; ++j) - { - const unsigned char* t = &header->dtris[(pd->tbase+j)*4]; - for (int k = 0; k < 3; ++k) - { - if (t[k] < p->nv) - glVertex3fv(&header->verts[p->v[t[k]]*3]); - else - glVertex3fv(&header->dverts[(pd->vbase+t[k]-p->nv)*3]); - } - } - } - glEnd(); - - // Draw inter poly boundaries - glColor4ub(0,48,64,32); - glLineWidth(1.5f); - - drawPolyBoundaries(header, true); - - // Draw outer poly boundaries - glLineWidth(2.5f); - glColor4ub(0,48,64,220); - - drawPolyBoundaries(header, false); - - glLineWidth(1.0f); - - glPointSize(3.0f); - glColor4ub(0,0,0,196); - glBegin(GL_POINTS); - for (int i = 0; i < header->nverts; ++i) - { - const float* v = &header->verts[i*3]; - glVertex3f(v[0], v[1], v[2]); - } - glEnd(); - glPointSize(1.0f); - - // Draw portals - /* glBegin(GL_LINES); - - for (int i = 0; i < header->nportals[0]; ++i) - { - const dtTilePortal* p = &header->portals[0][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmin[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmin[0]); - - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmin[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmax[0]); - - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmax[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmax[0]); - - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmax[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmin[0]); - } - for (int i = 0; i < header->nportals[1]; ++i) - { - const dtTilePortal* p = &header->portals[1][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(p->bmin[0], p->bmin[1], header->bmax[2]-0.1f); - glVertex3f(p->bmin[0], p->bmax[1], header->bmax[2]-0.1f); - - glVertex3f(p->bmin[0], p->bmax[1], header->bmax[2]-0.1f); - glVertex3f(p->bmax[0], p->bmax[1], header->bmax[2]-0.1f); - - glVertex3f(p->bmax[0], p->bmax[1], header->bmax[2]-0.1f); - glVertex3f(p->bmax[0], p->bmin[1], header->bmax[2]-0.1f); - - glVertex3f(p->bmax[0], p->bmin[1], header->bmax[2]-0.1f); - glVertex3f(p->bmin[0], p->bmin[1], header->bmax[2]-0.1f); - } - for (int i = 0; i < header->nportals[2]; ++i) - { - const dtTilePortal* p = &header->portals[2][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmin[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmin[0]); - - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmin[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmax[0]); - - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmax[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmax[0]); - - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmax[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmin[0]); - } - for (int i = 0; i < header->nportals[3]; ++i) - { - const dtTilePortal* p = &header->portals[3][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(p->bmin[0], p->bmin[1], header->bmin[2]+0.1f); - glVertex3f(p->bmin[0], p->bmax[1], header->bmin[2]+0.1f); - - glVertex3f(p->bmin[0], p->bmax[1], header->bmin[2]+0.1f); - glVertex3f(p->bmax[0], p->bmax[1], header->bmin[2]+0.1f); - - glVertex3f(p->bmax[0], p->bmax[1], header->bmin[2]+0.1f); - glVertex3f(p->bmax[0], p->bmin[1], header->bmin[2]+0.1f); - - glVertex3f(p->bmax[0], p->bmin[1], header->bmin[2]+0.1f); - glVertex3f(p->bmin[0], p->bmin[1], header->bmin[2]+0.1f); - } - glEnd();*/ -} - -void dtDebugDrawNavMesh(const dtNavMesh* mesh, bool drawClosedList) -{ - if (!mesh) return; - - for (int i = 0; i < mesh->getMaxTiles(); ++i) - { - const dtMeshTile* tile = mesh->getTile(i); - if (!tile->header) continue; - drawMeshTile(mesh, tile, drawClosedList); - } -} - - -static void drawMeshTileBVTree(const dtNavMesh* mesh, const dtMeshTile* tile) -{ - const dtMeshHeader* header = tile->header; - - // Draw BV nodes. - const float col[] = { 1,1,1,0.5f }; - const float cs = 1.0f / header->bvquant; - glBegin(GL_LINES); - for (int i = 0; i < header->nbvtree; ++i) - { - const dtBVNode* n = &header->bvtree[i]; - if (n->i < 0) // Leaf indices are positive. - continue; - drawBoxWire(header->bmin[0] + n->bmin[0]*cs, - header->bmin[1] + n->bmin[1]*cs, - header->bmin[2] + n->bmin[2]*cs, - header->bmin[0] + n->bmax[0]*cs, - header->bmin[1] + n->bmax[1]*cs, - header->bmin[2] + n->bmax[2]*cs, col); - } - glEnd(); - - // Draw portals - /* glBegin(GL_LINES); - - for (int i = 0; i < header->nportals[0]; ++i) - { - const dtTilePortal* p = &header->portals[0][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmin[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmin[0]); - - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmin[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmax[0]); - - glVertex3f(header->bmax[0]-0.1f, p->bmax[1], p->bmax[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmax[0]); - - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmax[0]); - glVertex3f(header->bmax[0]-0.1f, p->bmin[1], p->bmin[0]); - } - for (int i = 0; i < header->nportals[1]; ++i) - { - const dtTilePortal* p = &header->portals[1][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(p->bmin[0], p->bmin[1], header->bmax[2]-0.1f); - glVertex3f(p->bmin[0], p->bmax[1], header->bmax[2]-0.1f); - - glVertex3f(p->bmin[0], p->bmax[1], header->bmax[2]-0.1f); - glVertex3f(p->bmax[0], p->bmax[1], header->bmax[2]-0.1f); - - glVertex3f(p->bmax[0], p->bmax[1], header->bmax[2]-0.1f); - glVertex3f(p->bmax[0], p->bmin[1], header->bmax[2]-0.1f); - - glVertex3f(p->bmax[0], p->bmin[1], header->bmax[2]-0.1f); - glVertex3f(p->bmin[0], p->bmin[1], header->bmax[2]-0.1f); - } - for (int i = 0; i < header->nportals[2]; ++i) - { - const dtTilePortal* p = &header->portals[2][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmin[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmin[0]); - - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmin[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmax[0]); - - glVertex3f(header->bmin[0]+0.1f, p->bmax[1], p->bmax[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmax[0]); - - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmax[0]); - glVertex3f(header->bmin[0]+0.1f, p->bmin[1], p->bmin[0]); - } - for (int i = 0; i < header->nportals[3]; ++i) - { - const dtTilePortal* p = &header->portals[3][i]; - if (p->ncon) - glColor4ub(255,255,255,192); - else - glColor4ub(255,0,0,64); - glVertex3f(p->bmin[0], p->bmin[1], header->bmin[2]+0.1f); - glVertex3f(p->bmin[0], p->bmax[1], header->bmin[2]+0.1f); - - glVertex3f(p->bmin[0], p->bmax[1], header->bmin[2]+0.1f); - glVertex3f(p->bmax[0], p->bmax[1], header->bmin[2]+0.1f); - - glVertex3f(p->bmax[0], p->bmax[1], header->bmin[2]+0.1f); - glVertex3f(p->bmax[0], p->bmin[1], header->bmin[2]+0.1f); - - glVertex3f(p->bmax[0], p->bmin[1], header->bmin[2]+0.1f); - glVertex3f(p->bmin[0], p->bmin[1], header->bmin[2]+0.1f); - } - glEnd();*/ -} - -void dtDebugDrawNavMeshBVTree(const dtNavMesh* mesh) -{ - if (!mesh) return; - - for (int i = 0; i < mesh->getMaxTiles(); ++i) - { - const dtMeshTile* tile = mesh->getTile(i); - if (!tile->header) continue; - drawMeshTileBVTree(mesh, tile); - } -} - -void dtDebugDrawNavMeshPoly(const dtNavMesh* mesh, dtPolyRef ref, const float* col) -{ - int ip = 0; - const dtMeshTile* tile = mesh->getTileByRef(ref, &ip); - if (!tile) - return; - const dtMeshHeader* header = tile->header; - const dtPoly* p = &header->polys[ip]; - const dtPolyDetail* pd = &header->dmeshes[ip]; - - glColor4f(col[0],col[1],col[2],0.25f); - - glBegin(GL_TRIANGLES); - for (int i = 0; i < pd->ntris; ++i) - { - const unsigned char* t = &header->dtris[(pd->tbase+i)*4]; - for (int j = 0; j < 3; ++j) - { - if (t[j] < p->nv) - glVertex3fv(&header->verts[p->v[t[j]]*3]); - else - glVertex3fv(&header->dverts[(pd->vbase+t[j]-p->nv)*3]); - } - } - glEnd(); -} - diff --git a/Recast/Include/RecastDebugDraw.h b/Recast/Include/RecastDebugDraw.h deleted file mode 100644 index 174c662..0000000 --- a/Recast/Include/RecastDebugDraw.h +++ /dev/null @@ -1,117 +0,0 @@ -// -// Copyright (c) 2009 Mikko Mononen memon@inside.org -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source distribution. -// - -#ifndef RECAST_DEBUGDRAW_H -#define RECAST_DEBUGDRAW_H - -enum rcDebugDrawPrimitives -{ - RC_DRAW_POINTS, - RC_DRAW_LINES, - RC_DRAW_TRIS, - RC_DRAW_QUADS, -}; - -// Abstrace debug draw interface. -struct rcDebugDraw -{ - // Begin drawing primitives. - // Params: - // prim - (in) primitive type to draw, one of rcDebugDrawPrimitives. - // nverts - (in) number of vertices to be submitted. - // size - (in) size of a primitive, applies to point size and line width only. - virtual void begin(rcDebugDrawPrimitives prim, int nverts, float size = 1.0f) = 0; - - // Submit a vertex - // Params: - // pos - (in) position of the verts. - // color - (in) color of the verts. - virtual void vertex(const float* pos, unsigned int color) = 0; - - // Submit a vertex - // Params: - // x,y,z - (in) position of the verts. - // color - (in) color of the verts. - virtual void vertex(const float x, const float y, const float z, unsigned int color) = 0; - - // End drawing primitives. - virtual void end() = 0; -}; - -inline unsigned int RGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a) -{ - return (r) | (g << 8) | (b << 16) | (a << 24); -} - -inline unsigned int RGBAf(float fr, float fg, float fb, float fa) -{ - unsigned char r = (unsigned char)(fr*255.0f); - unsigned char g = (unsigned char)(fg*255.0f); - unsigned char b = (unsigned char)(fb*255.0f); - unsigned char a = (unsigned char)(fa*255.0f); - return RGBA(r,g,b,a); -} - -inline int bit(int a, int b) -{ - return (a & (1 << b)) >> b; -} - -inline unsigned int intToCol(int i, int a) -{ - int r = bit(i, 0) + bit(i, 3) * 2 + 1; - int g = bit(i, 1) + bit(i, 4) * 2 + 1; - int b = bit(i, 2) + bit(i, 5) * 2 + 1; - return RGBA(r*63,g*63,b*63,a); -} - -inline void intToCol(int i, float* col) -{ - int r = bit(i, 0) + bit(i, 3) * 2 + 1; - int g = bit(i, 1) + bit(i, 4) * 2 + 1; - int b = bit(i, 2) + bit(i, 5) * 2 + 1; - col[0] = 1 - r*63.0f/255.0f; - col[1] = 1 - g*63.0f/255.0f; - col[2] = 1 - b*63.0f/255.0f; -} - -void rcDebugDrawHeightfieldSolid(rcDebugDraw* dd, const struct rcHeightfield& hf); -void rcDebugDrawHeightfieldWalkable(rcDebugDraw* dd, const struct rcHeightfield& hf); - -void rcDebugDrawMesh(rcDebugDraw* dd, const float* verts, int nverts, const int* tris, const float* normals, int ntris, const unsigned char* flags); -void rcDebugDrawMeshSlope(rcDebugDraw* dd, const float* verts, int nverts, const int* tris, const float* normals, int ntris, const float walkableSlopeAngle); - -void rcDebugDrawCompactHeightfieldSolid(rcDebugDraw* dd, const struct rcCompactHeightfield& chf); -void rcDebugDrawCompactHeightfieldRegions(rcDebugDraw* dd, const struct rcCompactHeightfield& chf); -void rcDebugDrawCompactHeightfieldDistance(rcDebugDraw* dd, const struct rcCompactHeightfield& chf); - -void rcDebugDrawRegionConnections(rcDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f); -void rcDebugDrawRawContours(rcDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f); -void rcDebugDrawContours(rcDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f); -void rcDebugDrawPolyMesh(rcDebugDraw* dd, const struct rcPolyMesh& mesh); -void rcDebugDrawPolyMeshDetail(rcDebugDraw* dd, const struct rcPolyMeshDetail& dmesh); - -void rcDebugDrawCylinderWire(rcDebugDraw* dd, float minx, float miny, float minz, - float maxx, float maxy, float maxz, const float* col); -void rcDebugDrawBoxWire(rcDebugDraw* dd, float minx, float miny, float minz, - float maxx, float maxy, float maxz, const float* col); -void rcDebugDrawBox(rcDebugDraw* dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, - const float* col1, const float* col2); -void rcDrawArc(rcDebugDraw* dd, const float* p0, const float* p1, const float* col, float lineWidth); - -#endif // RECAST_DEBUGDRAW_H diff --git a/Recast/Source/RecastDebugDraw.cpp b/Recast/Source/RecastDebugDraw.cpp deleted file mode 100644 index 0dbb76a..0000000 --- a/Recast/Source/RecastDebugDraw.cpp +++ /dev/null @@ -1,931 +0,0 @@ -// -// Copyright (c) 2009 Mikko Mononen memon@inside.org -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgment in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source distribution. -// - -#define _USE_MATH_DEFINES -#include -#include "RecastDebugDraw.h" -#include "MeshLoaderObj.h" -#include "Recast.h" - -inline unsigned int dark(unsigned int col) -{ - return ((col >> 1) & 0x007f7f7f) | (col & 0xff000000); -} - -void rcDebugDrawMesh(rcDebugDraw* dd, const float* verts, int nverts, - const int* tris, const float* normals, int ntris, - const unsigned char* flags) -{ - dd->begin(RC_DRAW_TRIS, ntris); - for (int i = 0; i < ntris*3; i += 3) - { - unsigned int color; - unsigned char a = (unsigned char)(150*(2+normals[i+0]+normals[i+1])/4); - if (flags && !flags[i/3]) - color = RGBA(a,a/4,a/16,255); - else - color = RGBA(a,a,a,255); - - dd->vertex(&verts[tris[i+0]*3], color); - dd->vertex(&verts[tris[i+1]*3], color); - dd->vertex(&verts[tris[i+2]*3], color); - } - dd->end(); -} - -void rcDebugDrawMeshSlope(rcDebugDraw* dd, const float* verts, int nverts, - const int* tris, const float* normals, int ntris, - const float walkableSlopeAngle) -{ - const float walkableThr = cosf(walkableSlopeAngle/180.0f*(float)M_PI); - - dd->begin(RC_DRAW_TRIS, ntris); - for (int i = 0; i < ntris*3; i += 3) - { - const float* norm = &normals[i]; - unsigned int color; - unsigned char a = (unsigned char)(255*(2+normals[i+0]+normals[i+1])/4); - if (norm[1] < walkableThr) - color = RGBA(a,a/4,a/16,255); - else - color = RGBA(a,a,a,255); - - dd->vertex(&verts[tris[i+0]*3], color); - dd->vertex(&verts[tris[i+1]*3], color); - dd->vertex(&verts[tris[i+2]*3], color); - } - dd->end(); -} - -static void drawBoxWire(rcDebugDraw* dd, - float minx, float miny, float minz, - float maxx, float maxy, float maxz, - const float* col) -{ - // Submits 24 vertices. - - unsigned int color = RGBAf(col[0],col[1],col[2],col[3]); - - // Top - dd->vertex(minx, miny, minz, color); - dd->vertex(maxx, miny, minz, color); - dd->vertex(maxx, miny, minz, color); - dd->vertex(maxx, miny, maxz, color); - dd->vertex(maxx, miny, maxz, color); - dd->vertex(minx, miny, maxz, color); - dd->vertex(minx, miny, maxz, color); - dd->vertex(minx, miny, minz, color); - - // bottom - dd->vertex(minx, maxy, minz, color); - dd->vertex(maxx, maxy, minz, color); - dd->vertex(maxx, maxy, minz, color); - dd->vertex(maxx, maxy, maxz, color); - dd->vertex(maxx, maxy, maxz, color); - dd->vertex(minx, maxy, maxz, color); - dd->vertex(minx, maxy, maxz, color); - dd->vertex(minx, maxy, minz, color); - - // Sides - dd->vertex(minx, miny, minz, color); - dd->vertex(minx, maxy, minz, color); - dd->vertex(maxx, miny, minz, color); - dd->vertex(maxx, maxy, minz, color); - dd->vertex(maxx, miny, maxz, color); - dd->vertex(maxx, maxy, maxz, color); - dd->vertex(minx, miny, maxz, color); - dd->vertex(minx, maxy, maxz, color); -} - -static void drawBox(rcDebugDraw* dd, - float minx, float miny, float minz, - float maxx, float maxy, float maxz, - const float* col1, const float* col2) -{ - // Submits 24 vertices. - - const float verts[8*3] = - { - minx, miny, minz, - maxx, miny, minz, - maxx, miny, maxz, - minx, miny, maxz, - minx, maxy, minz, - maxx, maxy, minz, - maxx, maxy, maxz, - minx, maxy, maxz, - }; - static const float dim[6] = - { - 0.95f, 0.55f, 0.65f, 0.85f, 0.65f, 0.85f, - }; - static const unsigned char inds[6*5] = - { - 0, 7, 6, 5, 4, - 1, 0, 1, 2, 3, - 2, 1, 5, 6, 2, - 3, 3, 7, 4, 0, - 4, 2, 6, 7, 3, - 5, 0, 4, 5, 1, - }; - - const unsigned char* in = inds; - for (int i = 0; i < 6; ++i) - { - float d = dim[*in]; in++; - unsigned int color; - if (i == 0) - color = RGBAf(d*col2[0],d*col2[1],d*col2[2], col2[3]); - else - color = RGBAf(d*col1[0],d*col1[1],d*col1[2], col1[3]); - dd->vertex(&verts[*in*3], color); in++; - dd->vertex(&verts[*in*3], color); in++; - dd->vertex(&verts[*in*3], color); in++; - dd->vertex(&verts[*in*3], color); in++; - } -} - -void rcDebugDrawCylinderWire(rcDebugDraw* dd, float minx, float miny, float minz, - float maxx, float maxy, float maxz, - const float* col) -{ - static const int NUM_SEG = 16; - float dir[NUM_SEG*2]; - for (int i = 0; i < NUM_SEG; ++i) - { - const float a = (float)i/(float)NUM_SEG*(float)M_PI*2; - dir[i*2] = cosf(a); - dir[i*2+1] = sinf(a); - } - - const float cx = (maxx + minx)/2; - const float cz = (maxz + minz)/2; - const float rx = (maxx - minx)/2; - const float rz = (maxz - minz)/2; - - unsigned int color = RGBAf(col[0],col[1],col[2],col[3]); - - const int nv = NUM_SEG*4 + 4*2; - - dd->begin(RC_DRAW_LINES, nv); - - for (int i = 0, j=NUM_SEG-1; i < NUM_SEG; j=i++) - { - dd->vertex(cx+dir[j*2+0]*rx, miny, cz+dir[j*2+1]*rz, color); - dd->vertex(cx+dir[i*2+0]*rx, miny, cz+dir[i*2+1]*rz, color); - dd->vertex(cx+dir[j*2+0]*rx, maxy, cz+dir[j*2+1]*rz, color); - dd->vertex(cx+dir[i*2+0]*rx, maxy, cz+dir[i*2+1]*rz, color); - } - for (int i = 0; i < NUM_SEG; i += NUM_SEG/4) - { - dd->vertex(cx+dir[i*2+0]*rx, miny, cz+dir[i*2+1]*rz, color); - dd->vertex(cx+dir[i*2+0]*rx, maxy, cz+dir[i*2+1]*rz, color); - } - - dd->end(); -} - -void rcDebugDrawBoxWire(rcDebugDraw* dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, const float* col) -{ - dd->begin(RC_DRAW_LINES, 24, 1.0f); - drawBoxWire(dd, minx, miny, minz, maxx, maxy, maxz, col); - dd->end(); -} - -void rcDebugDrawBox(rcDebugDraw* dd, float minx, float miny, float minz, float maxx, float maxy, float maxz, - const float* col1, const float* col2) -{ - dd->begin(RC_DRAW_QUADS,24); - drawBox(dd, minx, miny, minz, maxx, maxy, maxz, col1, col2); - dd->end(); -} - -static int getSpanCount(const rcHeightfield& hf) -{ - const int w = hf.width; - const int h = hf.height; - int spanCount = 0; - for (int y = 0; y < h; ++y) - for (int x = 0; x < w; ++x) - for (rcSpan* s = hf.spans[x + y*w]; s; s = s->next) - spanCount++; - return spanCount; -} - -void rcDebugDrawHeightfieldSolid(rcDebugDraw* dd, const rcHeightfield& hf) -{ - static const float col0[4] = { 1,1,1,1 }; - - const float* orig = hf.bmin; - const float cs = hf.cs; - const float ch = hf.ch; - - const int w = hf.width; - const int h = hf.height; - - const int spanCount = getSpanCount(hf); - const int nv = spanCount*24; - - dd->begin(RC_DRAW_QUADS, nv); - - for (int y = 0; y < h; ++y) - { - for (int x = 0; x < w; ++x) - { - float fx = orig[0] + x*cs; - float fz = orig[2] + y*cs; - const rcSpan* s = hf.spans[x + y*w]; - while (s) - { - drawBox(dd, fx, orig[1]+s->smin*ch, fz, fx+cs, orig[1] + s->smax*ch, fz+cs, col0, col0); - s = s->next; - } - } - } - dd->end(); -} - -void rcDebugDrawHeightfieldWalkable(rcDebugDraw* dd, const rcHeightfield& hf) -{ - static const float colb[4] = {0.85f,0.85f,0.85f,1 }; // Base - static const float col0[4] = {0.5f, 0.75f, 0.85f,1}; // Culled - static const float col1[4] = {0.3f, 0.55f, 0.65f, 1}; // Walkable - static const float col2[4] = {0.15f, 0.4f, 0.5f,1}; // Ledge - - const float* orig = hf.bmin; - const float cs = hf.cs; - const float ch = hf.ch; - - const int w = hf.width; - const int h = hf.height; - - const int spanCount = getSpanCount(hf); - const int nv = spanCount*24; - - dd->begin(RC_DRAW_QUADS, nv); - - for (int y = 0; y < h; ++y) - { - for (int x = 0; x < w; ++x) - { - float fx = orig[0] + x*cs; - float fz = orig[2] + y*cs; - const rcSpan* s = hf.spans[x + y*w]; - while (s) - { - const float* c = col0; - if (s->flags & RC_LEDGE) - c = col2; - else if (s->flags & RC_WALKABLE) - c = col1; - drawBox(dd, fx, orig[1]+s->smin*ch, fz, fx+cs, orig[1] + s->smax*ch, fz+cs, colb, c); - s = s->next; - } - } - } - - dd->end(); -} - -void rcDebugDrawCompactHeightfieldSolid(rcDebugDraw* dd, const rcCompactHeightfield& chf) -{ - const float cs = chf.cs; - const float ch = chf.ch; - - unsigned int color = RGBA(0,192,255,64); - - dd->begin(RC_DRAW_QUADS, chf.spanCount*4); - - for (int y = 0; y < chf.height; ++y) - { - for (int x = 0; x < chf.width; ++x) - { - const float fx = chf.bmin[0] + x*cs; - const float fz = chf.bmin[2] + y*cs; - const rcCompactCell& c = chf.cells[x+y*chf.width]; - - for (unsigned i = c.index, ni = c.index+c.count; i < ni; ++i) - { - const rcCompactSpan& s = chf.spans[i]; - const float fy = chf.bmin[1] + (s.y+1)*ch; - dd->vertex(fx, fy, fz, color); - dd->vertex(fx, fy, fz+cs, color); - dd->vertex(fx+cs, fy, fz+cs, color); - dd->vertex(fx+cs, fy, fz, color); - } - } - } - dd->end(); -} - -void rcDebugDrawCompactHeightfieldRegions(rcDebugDraw* dd, const rcCompactHeightfield& chf) -{ - const float cs = chf.cs; - const float ch = chf.ch; - - dd->begin(RC_DRAW_QUADS, chf.spanCount*4); - - for (int y = 0; y < chf.height; ++y) - { - for (int x = 0; x < chf.width; ++x) - { - const float fx = chf.bmin[0] + x*cs; - const float fz = chf.bmin[2] + y*cs; - const rcCompactCell& c = chf.cells[x+y*chf.width]; - - for (unsigned i = c.index, ni = c.index+c.count; i < ni; ++i) - { - const rcCompactSpan& s = chf.spans[i]; - const float fy = chf.bmin[1] + (s.y)*ch; - unsigned int color; - if (chf.reg[i]) - color = intToCol(chf.reg[i], 192); - else - color = RGBA(0,0,0,64); - - dd->vertex(fx, fy, fz, color); - dd->vertex(fx, fy, fz+cs, color); - dd->vertex(fx+cs, fy, fz+cs, color); - dd->vertex(fx+cs, fy, fz, color); - } - } - } - - dd->end(); -} - - -void rcDebugDrawCompactHeightfieldDistance(rcDebugDraw* dd, const rcCompactHeightfield& chf) -{ - const float cs = chf.cs; - const float ch = chf.ch; - - float maxd = chf.maxDistance; - if (maxd < 1.0f) maxd = 1; - const float dscale = 255.0f / maxd; - - dd->begin(RC_DRAW_QUADS, chf.spanCount*4); - - for (int y = 0; y < chf.height; ++y) - { - for (int x = 0; x < chf.width; ++x) - { - const float fx = chf.bmin[0] + x*cs; - const float fz = chf.bmin[2] + y*cs; - const rcCompactCell& c = chf.cells[x+y*chf.width]; - - for (unsigned i = c.index, ni = c.index+c.count; i < ni; ++i) - { - const rcCompactSpan& s = chf.spans[i]; - const float fy = chf.bmin[1] + (s.y+1)*ch; - const unsigned char cd = (unsigned char)(chf.dist[i] * dscale); - const unsigned int color = RGBA(cd,cd,cd,255); - dd->vertex(fx, fy, fz, color); - dd->vertex(fx, fy, fz+cs, color); - dd->vertex(fx+cs, fy, fz+cs, color); - dd->vertex(fx+cs, fy, fz, color); - } - } - } - dd->end(); -} - -static void getContourCenter(const rcContour* cont, const float* orig, float cs, float ch, float* center) -{ - center[0] = 0; - center[1] = 0; - center[2] = 0; - if (!cont->nverts) - return; - for (int i = 0; i < cont->nverts; ++i) - { - const int* v = &cont->verts[i*4]; - center[0] += (float)v[0]; - center[1] += (float)v[1]; - center[2] += (float)v[2]; - } - const float s = 1.0f / cont->nverts; - center[0] *= s * cs; - center[1] *= s * ch; - center[2] *= s * cs; - center[0] += orig[0]; - center[1] += orig[1] + 4*ch; - center[2] += orig[2]; -} - -static const rcContour* findContourFromSet(const rcContourSet& cset, unsigned short reg) -{ - for (int i = 0; i < cset.nconts; ++i) - { - if (cset.conts[i].reg == reg) - return &cset.conts[i]; - } - return 0; -} - -static const int NUM_ARC_PTS = 8; - -static void drawArc(rcDebugDraw* dd, const float* p0, const float* p1, unsigned int color) -{ - // Submits NPTS*2 vertices. - float pts[NUM_ARC_PTS*3]; - float dir[3]; - vsub(dir, p1, p0); - const float len = sqrtf(vdistSqr(p0, p1)); - for (int i = 0; i < NUM_ARC_PTS; ++i) - { - float u = (float)i / (float)(NUM_ARC_PTS-1); - float* p = &pts[i*3]; - p[0] = p0[0] + dir[0] * u; - p[1] = p0[1] + dir[1] * u + (len/4) * (1-rcSqr(u*2-1)); - p[2] = p0[2] + dir[2] * u; - } - for (int i = 0; i < NUM_ARC_PTS-1; ++i) - { - dd->vertex(&pts[i*3], color); - dd->vertex(&pts[(i+1)*3], color); - } -} - -void rcDrawArc(rcDebugDraw* dd, const float* p0, const float* p1, const float* col, float lineWidth) -{ - const unsigned int color = RGBAf(col[0],col[1],col[2],col[3]); - dd->begin(RC_DRAW_LINES, NUM_ARC_PTS*2, lineWidth); - drawArc(dd, p0, p1, color); - dd->end(); -} - -void rcDebugDrawRegionConnections(rcDebugDraw* dd, const rcContourSet& cset, const float alpha) -{ - const float* orig = cset.bmin; - const float cs = cset.cs; - const float ch = cset.ch; - - // Draw centers - float pos[3], pos2[3]; - - unsigned int color = RGBA(0,0,0,196); - - int nv = 0; - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour* cont = &cset.conts[i]; - for (int j = 0; j < cont->nverts; ++j) - { - const int* v = &cont->verts[j*4]; - if (v[3] == 0 || (unsigned short)v[3] < cont->reg) continue; - if (findContourFromSet(cset, (unsigned short)v[3])) - nv += NUM_ARC_PTS; - } - } - - dd->begin(RC_DRAW_LINES, nv, 2.0f); - - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour* cont = &cset.conts[i]; - getContourCenter(cont, orig, cs, ch, pos); - for (int j = 0; j < cont->nverts; ++j) - { - const int* v = &cont->verts[j*4]; - if (v[3] == 0 || (unsigned short)v[3] < cont->reg) continue; - const rcContour* cont2 = findContourFromSet(cset, (unsigned short)v[3]); - if (cont2) - { - getContourCenter(cont2, orig, cs, ch, pos2); - drawArc(dd, pos, pos2, color); - } - } - } - - dd->end(); - - unsigned char a = (unsigned char)(alpha * 255.0f); - - dd->begin(RC_DRAW_POINTS, nv, 7.0f); - - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour* cont = &cset.conts[i]; - unsigned int color = dark(intToCol(cont->reg,a)); - getContourCenter(cont, orig, cs, ch, pos); - dd->vertex(pos, color); - } - dd->end(); -} - -void rcDebugDrawRawContours(rcDebugDraw* dd, const rcContourSet& cset, const float alpha) -{ - const float* orig = cset.bmin; - const float cs = cset.cs; - const float ch = cset.ch; - - const unsigned char a = (unsigned char)(alpha*255.0f); - - int nv = 0; - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour& c = cset.conts[i]; - nv += c.nrverts; - } - - dd->begin(RC_DRAW_LINES, nv*2, 2.0f); - - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour& c = cset.conts[i]; - unsigned int color = intToCol(c.reg, a); - - for (int j = 0; j < c.nrverts; ++j) - { - const int* v = &c.rverts[j*4]; - float fx = orig[0] + v[0]*cs; - float fy = orig[1] + (v[1]+1+(i&1))*ch; - float fz = orig[2] + v[2]*cs; - dd->vertex(fx,fy,fz,color); - if (j > 0) - dd->vertex(fx,fy,fz,color); - } - // Loop last segment. - const int* v = &c.rverts[0]; - float fx = orig[0] + v[0]*cs; - float fy = orig[1] + (v[1]+1+(i&1))*ch; - float fz = orig[2] + v[2]*cs; - dd->vertex(fx,fy,fz,color); - } - dd->end(); - - dd->begin(RC_DRAW_POINTS, nv, 2.0f); - - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour& c = cset.conts[i]; - unsigned int color = dark(intToCol(c.reg, a)); - - for (int j = 0; j < c.nrverts; ++j) - { - const int* v = &c.rverts[j*4]; - float off = 0; - unsigned int colv = color; - if (v[3] & RC_BORDER_VERTEX) - { - colv = RGBA(255,255,255,a); - off = ch*2; - } - - float fx = orig[0] + v[0]*cs; - float fy = orig[1] + (v[1]+1+(i&1))*ch + off; - float fz = orig[2] + v[2]*cs; - dd->vertex(fx,fy,fz, colv); - } - } - dd->end(); -} - -void rcDebugDrawContours(rcDebugDraw* dd, const rcContourSet& cset, const float alpha) -{ - const float* orig = cset.bmin; - const float cs = cset.cs; - const float ch = cset.ch; - - const unsigned char a = (unsigned char)(alpha*255.0f); - - int nv = 0; - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour& c = cset.conts[i]; - nv += c.nverts; - } - - dd->begin(RC_DRAW_LINES, nv*2, 2.5f); - - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour& c = cset.conts[i]; - if (!c.nverts) - continue; - unsigned int color = intToCol(c.reg, a); - - for (int j = 0; j < c.nverts; ++j) - { - const int* v = &c.verts[j*4]; - float fx = orig[0] + v[0]*cs; - float fy = orig[1] + (v[1]+1+(i&1))*ch; - float fz = orig[2] + v[2]*cs; - dd->vertex(fx,fy,fz, color); - if (j > 0) - dd->vertex(fx,fy,fz, color); - } - // Loop last segment - const int* v = &c.verts[0]; - float fx = orig[0] + v[0]*cs; - float fy = orig[1] + (v[1]+1+(i&1))*ch; - float fz = orig[2] + v[2]*cs; - dd->vertex(fx,fy,fz, color); - } - dd->end(); - - dd->begin(RC_DRAW_POINTS, nv, 3.0f); - - for (int i = 0; i < cset.nconts; ++i) - { - const rcContour& c = cset.conts[i]; - unsigned int color = dark(intToCol(c.reg, a)); - for (int j = 0; j < c.nverts; ++j) - { - const int* v = &c.verts[j*4]; - float off = 0; - unsigned int colv = color; - if (v[3] & RC_BORDER_VERTEX) - { - colv = RGBA(255,255,255,a); - off = ch*2; - } - - float fx = orig[0] + v[0]*cs; - float fy = orig[1] + (v[1]+1+(i&1))*ch + off; - float fz = orig[2] + v[2]*cs; - dd->vertex(fx,fy,fz, colv); - } - } - dd->end(); -} - -void rcDebugDrawPolyMesh(rcDebugDraw* dd, const struct rcPolyMesh& mesh) -{ - const int nvp = mesh.nvp; - const float cs = mesh.cs; - const float ch = mesh.ch; - const float* orig = mesh.bmin; - - int nvt = 0; // triangle verts - int nvb = 0; // boundary edge verts - int nvn = 0; // neighbour edge verts - for (int i = 0; i < mesh.npolys; ++i) - { - const unsigned short* p = &mesh.polys[i*nvp*2]; - // Tris - for (int j = 2; j < nvp; ++j) - { - if (p[j] == 0xffff) break; - nvt += 3; - } - // boundary edges - for (int j = 0; j < nvp; ++j) - { - if (p[j] == 0xffff) break; - if (p[nvp+j] == 0xffff) continue; - nvb += 2; - } - // neighbour edges - for (int j = 0; j < nvp; ++j) - { - if (p[j] == 0xffff) break; - if (p[nvp+j] != 0xffff) continue; - nvb += 2; - } - } - - dd->begin(RC_DRAW_TRIS, nvt); - - for (int i = 0; i < mesh.npolys; ++i) - { - const unsigned short* p = &mesh.polys[i*nvp*2]; - unsigned int color = intToCol(i, 192); - unsigned short vi[3]; - for (int j = 2; j < nvp; ++j) - { - if (p[j] == 0xffff) break; - vi[0] = p[0]; - vi[1] = p[j-1]; - vi[2] = p[j]; - for (int k = 0; k < 3; ++k) - { - const unsigned short* v = &mesh.verts[vi[k]*3]; - const float x = orig[0] + v[0]*cs; - const float y = orig[1] + (v[1]+1)*ch; - const float z = orig[2] + v[2]*cs; - dd->vertex(x,y,z, color); - } - } - } - dd->end(); - - // Draw neighbours edges - const unsigned int coln = RGBA(0,48,64,32); - dd->begin(RC_DRAW_LINES, nvn, 1.5f); - for (int i = 0; i < mesh.npolys; ++i) - { - const unsigned short* p = &mesh.polys[i*nvp*2]; - for (int j = 0; j < nvp; ++j) - { - if (p[j] == 0xffff) break; - if (p[nvp+j] == 0xffff) continue; - int vi[2]; - vi[0] = p[j]; - if (j+1 >= nvp || p[j+1] == 0xffff) - vi[1] = p[0]; - else - vi[1] = p[j+1]; - for (int k = 0; k < 2; ++k) - { - const unsigned short* v = &mesh.verts[vi[k]*3]; - const float x = orig[0] + v[0]*cs; - const float y = orig[1] + (v[1]+1)*ch + 0.1f; - const float z = orig[2] + v[2]*cs; - dd->vertex(x, y, z, coln); - } - } - } - dd->end(); - - // Draw boundary edges - const unsigned int colb = RGBA(0,48,64,220); - dd->begin(RC_DRAW_LINES, nvb, 2.5f); - for (int i = 0; i < mesh.npolys; ++i) - { - const unsigned short* p = &mesh.polys[i*nvp*2]; - for (int j = 0; j < nvp; ++j) - { - if (p[j] == 0xffff) break; - if (p[nvp+j] != 0xffff) continue; - int vi[2]; - vi[0] = p[j]; - if (j+1 >= nvp || p[j+1] == 0xffff) - vi[1] = p[0]; - else - vi[1] = p[j+1]; - for (int k = 0; k < 2; ++k) - { - const unsigned short* v = &mesh.verts[vi[k]*3]; - const float x = orig[0] + v[0]*cs; - const float y = orig[1] + (v[1]+1)*ch + 0.1f; - const float z = orig[2] + v[2]*cs; - dd->vertex(x, y, z, colb); - } - } - } - dd->end(); - - dd->begin(RC_DRAW_POINTS, mesh.nverts, 3.0f); - const unsigned int colv = RGBA(0,0,0,220); - for (int i = 0; i < mesh.nverts; ++i) - { - const unsigned short* v = &mesh.verts[i*3]; - const float x = orig[0] + v[0]*cs; - const float y = orig[1] + (v[1]+1)*ch + 0.1f; - const float z = orig[2] + v[2]*cs; - dd->vertex(x,y,z, colv); - } - dd->end(); -} - -void rcDebugDrawPolyMeshDetail(rcDebugDraw* dd, const struct rcPolyMeshDetail& dmesh) -{ - int nvt = 0; - int nvi = 0; - int nve = 0; - int nvv = 0; - - for (int i = 0; i < dmesh.nmeshes; ++i) - { - const unsigned short* m = &dmesh.meshes[i*4]; - const unsigned short nverts = m[1]; - const unsigned short btris = m[2]; - const unsigned short ntris = m[3]; - const unsigned char* tris = &dmesh.tris[btris*4]; - - nvt += (int)ntris*3; - nvv += (int)nverts; - - for (int j = 0; j < ntris; ++j) - { - const unsigned char* t = &tris[j*4]; - for (int k = 0, kp = 2; k < 3; kp=k++) - { - unsigned char ef = (t[3] >> (kp*2)) & 0x3; - if (ef == 0) - { - if (t[kp] < t[k]) - nvi += 2; - } - else - { - nve += 2; - } - } - } - - } - - dd->begin(RC_DRAW_TRIS, nvt); - - for (int i = 0; i < dmesh.nmeshes; ++i) - { - const unsigned short* m = &dmesh.meshes[i*4]; - const unsigned short bverts = m[0]; - const unsigned short btris = m[2]; - const unsigned short ntris = m[3]; - const float* verts = &dmesh.verts[bverts*3]; - const unsigned char* tris = &dmesh.tris[btris*4]; - - unsigned int color = intToCol(i, 192); - - for (int j = 0; j < ntris; ++j) - { - dd->vertex(&verts[tris[j*4+0]*3], color); - dd->vertex(&verts[tris[j*4+1]*3], color); - dd->vertex(&verts[tris[j*4+2]*3], color); - } - } - dd->end(); - - // Internal edges. - dd->begin(RC_DRAW_LINES, nvi, 1.0f); - const unsigned int coli = RGBA(0,0,0,64); - for (int i = 0; i < dmesh.nmeshes; ++i) - { - const unsigned short* m = &dmesh.meshes[i*4]; - const unsigned short bverts = m[0]; - const unsigned short btris = m[2]; - const unsigned short ntris = m[3]; - const float* verts = &dmesh.verts[bverts*3]; - const unsigned char* tris = &dmesh.tris[btris*4]; - - for (int j = 0; j < ntris; ++j) - { - const unsigned char* t = &tris[j*4]; - for (int k = 0, kp = 2; k < 3; kp=k++) - { - unsigned char ef = (t[3] >> (kp*2)) & 0x3; - if (ef == 0) - { - // Internal edge - if (t[kp] < t[k]) - { - dd->vertex(&verts[t[kp]*3], coli); - dd->vertex(&verts[t[k]*3], coli); - } - } - } - } - } - dd->end(); - - // External edges. - dd->begin(RC_DRAW_LINES, nve, 2.0f); - const unsigned int cole = RGBA(0,0,0,64); - for (int i = 0; i < dmesh.nmeshes; ++i) - { - const unsigned short* m = &dmesh.meshes[i*4]; - const unsigned short bverts = m[0]; - const unsigned short btris = m[2]; - const unsigned short ntris = m[3]; - const float* verts = &dmesh.verts[bverts*3]; - const unsigned char* tris = &dmesh.tris[btris*4]; - - for (int j = 0; j < ntris; ++j) - { - const unsigned char* t = &tris[j*4]; - for (int k = 0, kp = 2; k < 3; kp=k++) - { - unsigned char ef = (t[3] >> (kp*2)) & 0x3; - if (ef != 0) - { - // Ext edge - dd->vertex(&verts[t[kp]*3], cole); - dd->vertex(&verts[t[k]*3], cole); - } - } - } - } - dd->end(); - - dd->begin(RC_DRAW_POINTS, nvv, 3.0f); - const unsigned int colv = RGBA(0,0,0,64); - for (int i = 0; i < dmesh.nmeshes; ++i) - { - const unsigned short* m = &dmesh.meshes[i*4]; - const unsigned short bverts = m[0]; - const unsigned short nverts = m[1]; - const float* verts = &dmesh.verts[bverts*3]; - for (int j = 0; j < nverts; ++j) - dd->vertex(&verts[j*3], colv); - } - dd->end(); -} diff --git a/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast b/RecastDemo/Bin/Recast.app/Contents/MacOS/Recast index ea04caee37299ef7cb407a49f426c166703ab1e8..6174e97864b1384464dd6a20f18de25badf0d003 100755 GIT binary patch delta 144007 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 M5B}!{5lq+q7e6DCJpcdz delta 140820 zcmbTf4O~=37eBspchwbFcTqr;R}~c%6?{ts6_7c(IR0bAFki zx#*|S2vWRvH|eY?xP6r@XtoI&O_lVADaI@HB|&qktwxjjyfnsplvmaZKP?PyUDNg&;@rW{qDGc4zm53YJQ*`42HAz54BpCHtS4 zH>B&a?+TSCu1SjjNa0N1Em3|YBfI5!y&V^-Evf3&i}fmmPOmD&Hq~|T!83wJ%=x)m z(6|~^n3!|Ey2PvZUM4JGCYAJw5Wae{g;M zps;3MN$`C-=CyI2p!p&&Oi4(WB1ZP|rQWDc4AYrVl{3B0fs*a>qy;1U2pRLFypdZw zk?O?ci$lFK+9)H^N+O~Qgx)LW05(o)Ml--{y{S+G?$gA~oBwvg=P2%-A z0vxk}YMYTNO&Z;EOnj=KA!*0b^AvE>A> zr8h_S@~Wc(WJ_mD^`k#9O@b<%`QHK0;S;9JOqJdlvrF)vCCwh|>^9wk`t!q3CMKAi zy10r)fn*tPDfw&cSW@xm_=i+gSuPIshN=$Fkc#7jCrz0lXiisJ9N(?GG!o|MNWbdH zyza=pxs$ig!l*sUp6QZrLeJUHp&++B zBhnEYrVIveXe|tFH_TMKQJ)T6($`YT>%zkK2pZ*EVg@~or6-zuAD(LckktfP>!wQ^ z6Oy`K1wThMRi8K$npnn&=%X1@b3%{a|KoLKdJ+9*&^O<=D{p~T!b1paY` z6g6&oUo$XIwaG;x+sRQN&CU&k3&vBwh7Ry-m?ph3uFvr6B$2scXI>79fhSu0N%a>v zxKXq;u#=+sV!x9POTD9(l@sNsDN>un;ljr0Qf%T7;eqMWvcza1WV-ZbVo$#t)4;A$ z1oBMqGS?CQjj7VNiG4bqAbpr?$Rpf*|Af@l+*epVO^P!|3!|q=&zOgg@&~QxJB$PY zF;TW9ZsuBX^lkvf;gM97fg)(WIR*MjZ=_a#Ge!ErJivNjilA8t^Xf*hx7-QnTND3 zshbdxA{|Kbou~sABpI-CgPU~cHcEixhpALeF6G>9tOvwluDh2^C#Fgr$NLMrrb>Os z2MM`TrKItFtZBgCxzx>9^xaM=beNggKw7cmB7#hYxG+XxqC!CPNgm8vXfg2c+E-{x{-eLk&smM&1zM7Y_ha*VppM8vb1+%|Ixos z2CvG$cg%T$yX*KA>7CpnY5cYH=<&&DakzD>%7Mh5>=7G=_zb|JFK@jdcI2(6K8I`% z5dpQ{mn+$AW|IhCwSRA}gOMI)(7_-gaksvwCyh${CJWZq&EH2fsKPagDsMefe*^^M z-ctc}ad@i={zC-AxwL*e!&(&_B09GoUU#R(>{=R;FCiOME)AR1msLq=lg9bfAWXSp zoYUqEe|kfXk0zFsOzO;p>i?FDNo0D+UDA&wa;#|_}vJR=bm z+`;ePNe~>`AMFur0@w^ys;8)eJw|MfA>(0F1vVrP;9Q>fr$}Q{x(Z8^N>WoCtV1c( zC8if?1MRy@E=`-r0#1|w&%D85$y45$q|qE>po7vTE4wF2DKq*BPn1Z{%vgX4wQNels5wj>SpO&zv5&Fb<;GYi{v*e6VtPqAJqs2tAc=k)a`>dF@VdE&<;39AVVI zEd^RG`!+%#;{kgrxM=O$=vS9tEA^OF+9l{9B(tvu$dR9gU&U}xQf3Vh29J?^XZI93 zj46qpUCq2}!N8G!5eQ=DaqTdBqvSm&v#ZMXkV0TP6|&1(U16n=CAE1h^L-B<^m`scy~`71M|mM@TCdtq{^9 zr0*B~TX=qe^wwiR!jb{fN00e;xHgRUZ@lv3FzNDR-8*l;i}ssgQsCktgLZExK{8xD%4Bl6*#F+abYE)Jald=}~?VJbHW$ZBN(Bi=cErIJD zNd`rS8W#^1YF?IlED0F%XFu5cfGC$}uJH`g?*YODMcRZ_@}|@Q)btu{lK zC#_l1-Ro5p(%9J6PkLp^;*d{=z_y0pM2{DeQBp|&VO(EVbqNB?TNVkAYDe@J5_kX0gznm_4vq_+KcNaXDjYgwQgE z1}v!*BD+lB*l~45S?UtuCtb%o(Bw(Wgt_{L-_b&?BV7*36#T5~F6DtxH0vGaBVwij z#7Uu7jNayQN}+mhbCuZEVXhHp=^U0b6$q2f6vCTn6$Q&}4iS^WMV)`ME?$h&q2<>T zY?ZngOHJ1IE_1y$`=V$*6K$@~ZtJ)ab+-9?5tW!AEf>qFn^<9O)Y5!L4Iqz$au}ei zbG5ma_*a`7>CtoGB7=(M0 zatE6>au%j3G?YRYQQswo1um+P_b(ShSe5+Ia$$(I3g|UJpBx7M-V|$aageqYDATS% zZFA8VCQE_+oYB76<#LU;nHzL5*)_(zZpgV1Tv{$NOCxV{ZFV<^Y_5gOszk>{b0dOd z=qKX=}Pr(N=olF(ijR|x-NMe>yu!Wbc|LLRzOcv{G*kl$J< z^c8X|4kp=)}M%$Tu9v+Ni^0px=8MlAw1n-_N*D}E*W4FVx~N8qp)!L zyJQ}arxJ*5HgH4q%zde(FCBHY-5-rmb_8NUx&5m}NP{DXaRfyZ%nO#HV4UrS+7S-G;Ta5$$p6(F_mudqDT)%xu*XTGpi@RNsU3cb8MLZY(ynL=o2 z9v|!tP`>U6eiDyR+uLk*s}?<0lqq~|&Eg|#yJ#^uECu5I21jyHwYeB=gl%JfqDQIv zIHEp|)1!$NkD~c_MWa@<6leuw*@U)^@$|d>72vtgf1o*XqW4& z&E=G79&J3lRvUHh7z`iVr_D4P59@}E(hXhdWiuZXnsqjFso)&P9ADb5 zYcq6?%H}$kx!iUNHorUCT%P%^XxYasM_lIPVscS*@^NF{vFw4i#xlXZu7>kSE)XZ`SPlG$u`EHyy~r7~Oq{M~wGQ(c>TnWX zOs;YuuxEjAWz|vFnlnZ7cF{y3jhK7}^1ls^VsedBw+>DNl5QtwFO z30i(21(IhXFlhGr?XT+)R<`oV_pwWYZ2DFQVdiDYiYRUAkD2LHTSv( zcwM*0YO17WnD48lu0yvlW0}e6Gri&)bXgtg-~&9-gF0tmJ}?n07HA*PN4e0O@Uolb zn@eR-;R(|Gd2*_(~_XV4Drm})&O z8}yGY)5M9E(w3GDKz-;9Y8rR;O%)`sx&9t4YmggP3%&yiv@2kRjX=|=?b+76D$4aP z8He$3lGbSmAWO`c0%gjfPYXd_w|hw*kNiw`-Z`E*Zm3PEZkAoL>To5w>y%hP6ZHYr$j!;|Vx1Sb#`H*RkYUge=kK?Z&*PxH5BE5Abd70sfGVWTT+~ zYbZhz%{W7krZ4a#W}kuhErZxx#DmDLATaN)Ht!?SCThEw46o%gb)oG~moZlcz*yF9 zp~Kv0EK8g!f3Zdg@Hgj(dN?4AZupP{c+~!woaUJG3XSIGJDGkauX(Ho7|E@KIM{B8VwpGZ}*20)!uJ=@!Hq+tw(`K#`U?0Z3 zfoOosT+D5xMl=`4Btc<+Au#4z^0-Cl4s{!_i;n?U(BeGM9=GpsPjBUbxYcEKW|6*r zBLLP%q^~3534*a|D2vtvV)BvO$|9HQe1I*qjddCA`;c*KDt*J+4tJ;tG*FYOrD`*u zNyX&j;!J1b9jfwCb=C0yUssqFZP~|#OdDp;YE@eiTwA4FTjip;lxxfNcWrsA+JbvZ z;(KH?YS1LEtizUw5Saa36txg3f)osBp&4_+VvaXgk}#@qzT^TDYzmW?-&cfR0- z1#N^?_^f?)u^1wnYaNNQSB@}gEU}rPcbU)F%#A*xhoiXoavST2&qf)rZb}dG1 zsqqYXNP+z-S;`Ua*A2j#nS3EfI2^)>vQ?|20m&CS7jS;US14!X)efPD^)6-XqqS!K zObjS@NZX>4G?Rg)my=3joK&9GEOu2z(Lg8Vcj|;Iq}p6Xf_b8n!{&Vsb6!&lS4gAQ z&ta(%)4lVs5dzI5aLw$&QD50_4q*ffORtKVht}_=*5B21)MqK@;l%_|nAkbJpf!uj z*vg^i`^)c&f-@w&ma`cSfx*VD46+$j8L}fo=t=AP{Tafv_I#^{2EFXc5d4M9jdHh4 zA(++?23t86>D#cBfUPBjVj!3cC`GFpOyvo1qj@cp^KP}(yzvO5Ed~(*LlwL3z=W8B zmHcM+Dx~>-7*<6i=FNRtL5wqCD`mLj6e(OZ?^_tX%(Nl<226v1SQMa$-BOL5j)F7s~8B0i!yFWS62%O+x>>s~aF+KN0D zgHC{1>fKR=do@%}f;S!DMew5rEzZC6msBa~EV{6$-%Ga#*y;oC5(z=I0bI*Hk*p$n7I+lplC~7b~`b>5x(eK<-Y zOFK4=cWl_uAhTk-hP$q6a|6}XL>mv7P%LKDRsZ5mhacpyZ38=fgKv^ zTEgY~HN{P2z@oN72|jiin;rXvOye;P*4F#j5fdK9M9d!8%z=JGs}0!62?dZi9F#*O z!GG9sFv30rrW(v_CNs?%nDi+LIwTFoGVQ|NE|_(>CyG4&!U~~V$~T{&FIw&LkeA`k zupZ0J@@VrJH3V{DO-oxnu%@bLb4_+IxR|kZG>4ji%_q^^;4s%CMwTC2Aq2@mbA{!4 zcs$#s$x5|!-_m2gh9xita}BoC6owfK!)~y0U26My7^{&6Jl-9zKO{YVz_1Uk!pc`` zuoqO6uqS#l-!B&tT{*%^PjM?ew=CFZe~)^nn3N=W>)h4n!~KaM@@{MGyJ=WNjX^=+An`#((hTTv~z!8CCjn{ z!Qp!*ZCV@FQ?nNvu2{R7s^iH&;gn*mquzKR-bX#i%>vqIYX=F#_DXH6Lp!{nfGu`V zI{`e-+Pm)}qJ9xxl26h^Ph%nlSYrB_if;wNJ^4S>WbMtiONXojj6Z$P=*U|Whb`iV zQS!63KdY6x=R|3>$W6)VDd_e|D{}g4hoFibIb%Ck!BC)mus!x2lbUmSwSqkV9V-b~ zH;4(t_DPeTebTz&Tc&CD$BrB{*gNW+nAu2&bt^cOwu*}Z$NH(5giIr-H;^pF7=21I zWrGQ+0Z1LhY7N=a5%PLXQnYPE@Gsvm>cFlv zt`mHA?OULw_7>rxG2I(|3e7A850!= zy$nbf9P5RVuS<_TAEvE1$E3~A4`fTF_nr^YE=R8M`JSvm(u(og=Nnkbc<~z3ieEA* z&N)vTiRVt|V>njpu<<^trXDSZUW+_>Eh0Vq@Hs(AW!t%4v$w-2%3$%TJLkWqXy|9Tv+J2Fse#CGapdn)BHmb( zzy7QC{LgrTpCy;rE66l=qorDBP1E-XAgHFzRMW@*WzwomAF!)Z{N_OIFP|}K{^p)S z;2Toz=Kg-6sKKdQg%M?^{a0e|1V+{7Fv9p@b06&(WV>wX>!0!l#?u%vJ%>RxIpphs z>#AeY^ey2mS9)g4{o3}Zsb))1MAK&&WXUE3>~{~pk5S?bJOq>AW)KH*@2x%Ie1>fu zV0;pVp7HnXr%ZZc>p+HMoUPH?r;)4Q3ZdVWZf@d9q+AmcEytu{M4LZTTajvY+Ln zF}s}9{Q-wkCm-ilV?Iu8EF~x(jmJsRds>i=aHQlTq~uK=r0gTaDTlJuadz6g240w& zB7O@#VpdJF5Bevc3W?|R7M`Ul&r;$U+rqPycn+j&Z<6jHkYEf4iCb4dX+*WhQ!O!) zO&lb)H_m{fJG_CP=%lKu8Gc;Y^(mSE;-|Xy|q!`pPT=!Hly{W8!L4 zBwctV3E=P@$AqP)q>DQi3o}niDMizT|NgsVcTqP1XRPnN`Z0bt?)sDe4w2s7U5kUp zygl(u$b4V=_%(mwU++szuMH9+i=}RRLj~XWrI@|pp$m%dJY>zU!6axeh1F7%D&8xx z?R}x0PaR}&IBA_Lo`}V-Hr9So8hBt{*NY_NffI>TVyAL;U8_4(SMursEfWe4mFzt@ zoCzyRrLW&EUlO8O6_}&GdmBtF|7D-(W zt?+I|Xs+W_FC2>0lZ2uUQvK&pR~020ykU7N%C$oygoXbq8FYBNR;YPII&<`8VZbBO zW5-4bKR+z(Irgw1J}k9=_aPztVQJ~RLx*2^2wQXAsDsJR^Y`2~zoGW-vv{i8Fv$(r zPdf*1peGYq_C`tFyKMzw(LSl+#M6O4?u8L#>Z_9yX@rT0{KxCn$@2VOY59A7*cqwd zy`kN;uX8jpNhkV6pEM?)q!S>F1j&y6A-AdV24zEDrn@>R7MWbyn$P;>gyf>lq}bR zC(fv5(a9>6C*wiH<90}_dW@jmA;sg-WtOzA`f*{mMY>!a8uqLOU7zePPSc6l(<*gL z-h2};L10M|NBi_-`|~Z*u$rfYpdHfwnr?!yL#nBH(Wn}Zd7l=$X6X5nWv2%+;q8~D z9UnvpBlk-meGn$3zbsw(Ad)ST!ahv$zW5SEG&hh_LIk3G_LB6>heL(X?b5*yLxo!} zmz@3Z7oG3NlOc<_k=N`@Z=fdO<(K-}U}5`Y={g=+lO_L8e)Cq%nc_P!vm9sl7p35{ ztKGJIh&Jy;I~DSC|2k>^*?k?jd1aS#yPyAQX6%WHye1qxIx?QU*;1z(4;0-l%xYDr z_L6O4iFci^c1hqS^uz!$p9T$FUnjAUQY5l~64mfVlk%@@1maMSE%Gz$Mgs9(B*zE; zLno)o2Y~V>6h`u^wb7d|Z; zrJq0VC%m;$>RulrZ=5TnF`e8zR~T)bET&@@_##=I(|nP(A?Qs`bTn;`Lx%CcQebM# z{S*jTQsR6E%Zeq}G4r0$u1O^0#zE=y6gv5-b?@PfLG7H;I2~ui?f-z2Pe3}bQS6jf z-;J|2KQ3BoY4Z*P+j9bDKBHZh8g&lGBSVdcrv{9yS?P;ocI+XJR}Z16?t}@=Jppv! zoW~4$6D^2qjfX$!SKA6_Cbi%qYQqMyHuC_jiFjpgqs?_$&nc6gm@RBollkfk+ZYtn zN22*+Dy_=f6saL7ZF9{V7e`A0vQ`TDlz-=;N3J#XM{^v%;_VFWj5IL;>uuu(KY&0y z1N*xPURX%bI)YY-sULtrawCc+MW6_qX8r3?WKE~CFHn|#5oP1TQHJ*qco{DOl6Sg7 z3Th4g6i~}0Kxy9`tDrfw>84h3S=~%0=9~czXuZu>A^26;ixLIFQIGi&py=x>RxHFX zBaJu20JdC35*GHBij_`S2=a-5kYE)^CM!t7KRQ$-3nAfX1|{i)gxwdyCnP9;fr>;8 zS5M+i7DB>Gn(!6W?~MU6)-4rbkyLjIMXVrHcehZ4^mn01atQUC$lGTjq`wPAND!)4 zMM{R`)_X`rSP<$>6{|&65b7dI?$p$J6{)qR2(Xum8J-ZGzI;8R2A!%s+Fn; zt3_2@sIG3IT4}14P;O2A`aD-cdMiz}63VTqk2sRm)LK;@sUVbFRr^#{q$-c5S_$RW zluboyt*O7;)I7IP#L3-#;AHiv$}Ls2iuHdtDxd$WP^1KO-_H)!(pzb&l~8U?ePC6w z{y|lQ1*6)dBDL03D@%84Dn~_XZRvm4)LbAX#jFf7=6!U-<+4>pTIbF?-SnRgOyhPx zCWIIWL9S)?Y>uE^NLsiYJqOpDV!)ij9W#MaK|PKVR+L3oX4ToMOyETCvh$sZEQh&x zgXK++y9z-CE$=4q4Wy<%SUciR zTg|g4!zmjNCqCOYx<11zKKhr;^Gy}NuTHdv8FIi1Gl$-#K6U(wR{@Z14xuR})Qu3Q zK6R1webG5a{S*D))dX_=LZF)I&j{en76shEXCS{nT|xKT#_zyx2A|$`3-oL z0ef|h>&hv-(*+mUQGXJl_@J6qL&U^F>_8n<5tO}m6?dTp%=PsYV(?YVk4WC}E=WH1 zyhIBmNWi>@J+F=kOXw|v^x8>c_U`EH+P+4+FV+VxbE(Z-hmDd_Y>vbv=#6}UYY%@F*gk5t%8j(96;mP6rIcCgo$=CTfPnH4pExE(u@JU`63Si60t2OW;axP zuhp(e$;ti@R`?_Jy}7XiLNkhC_=dES02aCB##}OFIcI?2W356PPz%|ZqT#jhQPI3W z?elv@BKUH_c=-NS!HB1u)nKF>k5JIZ_l!Ztpbj2`96}6YEVGX15s2h6H`vSZ>iO~mal5CYYj6V~z!jM&`6na>oj*pNgLsTQpC;tmqhFC6d53H`4e>mfo*W((x z>fHT?W@wrQzyxhou?XHuhSe_-dUo*RTGRWWP_#6X%{g`NV@Hq1J!XA*omBDVYuf+$ zGHLO-*+IXoMR47YLfh43GZuU}G~K=P^53=6*XM$Svb80Do$JVi?b(vys|&uZJ_>?< zx9&$Y^-(8D_|NYtO0-zE@R%tNsjy*-}u5^?dz8=`_45i=bE}72v zY4<6mvnlN-%{bq=-ItV~(p_45KHUEzr9--di9u!Z69Ia4l#0*yYxf(azwRbAoDcJF z^A^%2c>hr;>cDIBCqS72T>PcTMpL`Klwa9R8s9ju-F=iE+l|V?BMUKw53qqboJdJqS>*0?0a=vEb5^gKKVw1WqV5r<>wem;CZg77LxU z3c{Zvc^uP#&>3%8W0vnnP&CbVmE^n_8rq=+seJ}be=1T_ri%1grt}ezKBO$?^x^2+ zNUyt*@-s_1eiy-*P8#*U8$xKMbl>;UJ?^w{7rdkL#|m(%L?aEb-JLLMx$^j(FnE8BGUrYh9r-I}z?22}!ArHaCLf2hfOfIs zOg1G&3Ri+tr=SR@mYq;nDVfcmE78Q^Bo(Mhf;xf@BF?(7MoRbEMsq-B0P;Ukz6KNu z1Hut_TvyYp-BD}Za_JQ%Dl8Q9E~1^CVf?voXE=Wr?~LHjgT}*cB2P+Jls-e}6Tlt@ z`kf1SGMti&c#_us#tDA`!IuXKhnGlGF87>W4;+Z8i3k2EHT?~V zd708^4h~7ET);yqQp+!NMEV0Yy_|5X)HK6uY|2%nm8Qi~_2n^L+AmRg6MPrJ3l>ZM zzk~}pi=~8L!o6kzM3ETAN5(J1{f8s#w1?hS<6h$Z)nih{FFyX&kD<_6N`+V=LZDZv zuPJ?boS~gq481arQdpn90m@W#&t^gNOPSw zBCUM(sC4ePFHM{M13REldH=Utt_^kt@}qzCE&lzMwD|X-`Vh(tMrIE( z{V8+x+AXQ^_u!tzS8mZL8bz?mt4PCGh?&!}n>_McH*QIx*N63_qc{(MM!>$-ot$%MJ`5$U7r!NT50q#v($?KlIVcggqMe1FCP$@`DdKAj%n z9%=(V{Xs8NOE)|uJ^V+6Q1h^~`Hy~17{aNil~SzQ&6;-z!%y-*TO@Z-u1nlwG2S(h-e5^Jk*|IpS~$y!~%PYB&CQ zOPX|JynZVI7X$dxje)@-*KWD+*|WcE#!W{xrV1lX=+5Nbq`F=6rSEQR);1LYr&R@O#_Ja?ce;{?kGeDweMVj>E zU&DnNK2q4N5*&Ee-W42g{ZU9fVh|{ z@7A*3LRqT(p_T>qd4CofzP=n*M*qZDs_<(+mtmqfYzMx&qvy_9az`EO?iJw9XU~$O zke_~FxLQ7k^PsoG=%4sXEq*;by1H?Oa~vw6f8r~3`1RntJxt}}Jxeasv8b-u57L3B zG50*~{7{x5L;f-Fp!}VV^%KHo%ceFgR@iKjr?f%-QH%UEJx5vO-ECN*u&+`c*Or~O z_OU<*5I#N~eKqml)NT8)@N?uB<5%ecC{=M3VkkbyP!;zdRDBS6PtsKo;NlKiRf=U; z&uf(CG%!fR=Z)^~R~t^;NpK0}u+gb-biVUCx}6+OLi>-$Btu?LE^5cR3ft1;qwQGF zkokAjw+`emLTE#yR7_`bCqJRL9HM853qQb80V6v^IX_pGJ07oyDrb=)xwF8hsU7w4 zbH_>8I3CsqOosxVD+d4}WQ4NEP1z2VZoE{JvI$VMh`ZoY`Lv!@3$IR>x3*_E&1xr? z)AQm+`KR`5knntp9PGvV_nA2xT6vD_gd5j$2B?d)H4xt)LHfxkP$s9yPk6BhtXK4I zx!255<5UPBe5y7QadtV7(a z*AeT^Zq|WsgY|fMdYE+3E^Hi!TL^xp{MTUe(ADVUbQNA&)H> z-nmoOIkRNnPOKnh$X9OB@^O4htbWH@NZEi4wQwY;noj)12Z6Z}F<+Zvb>esqJF^;P z^$8k|NwZZt{ZGnb z+~h^A$!Gl|`O9~a4|bF9ZcYA2%0Jb9{4VmdDXQ@MT9a>A$?sv{O?Q!Js^n9bwOCog zKho+;@9ebzH*H1>tumF1eUEy>@1m`k%Eg|#x`lS5N_!9M9(Nb*zf{^y8(KFx>L1A$ z+(qu?CNFMHUN?nHeviSCdl&isDRPA`2FFt>#XaOLzKbGdirPh`tt;&QkL0y?kzYyX z*M8~-PkN)W4yek8|x!1j4yk&8#6IhBbRh%13HBr=5vIeqSxbNo{44r+$B_47b~9&W|M^4SUEg| z4QRIuC1|#63_tX5 ziIE=&Wi$IGc7csR&}X@zG#Q_h49zn_yj@wO})}~56*n|1|4F@CC zB(9qP97KS86Q@f4x(5sOaYdudOpqKZy<#M)&OKS5_Wwo+z{tk;WKms2WR*_%;i|=& zD&QqO4!u2a(h9;}Q88qQh2_9VqHsdic2F;BLfeI3(}e zJhXZo_^u{8SU~PeyFG;57>IB=2*+`zL^J`1e9bDJn#dSbm*4;W5nB#1x@PVE_=0%lj6E;hrQ^9CoibRV}$@>4U z)?s@+I)hFfyuqh4`#0S{tBCUdrnNs_bGZzpwwM=5vaDKFMc0SjR?#TPjxOgaIt=*# zLq%qwa}}BOF-P1gI_hBu6@A{4j#Iw!q@kkmNdKdXEaynkj(lt1XpMhZtNWnDPy-KP}Jjhi@}#%{c0 zfb=5Rosy`g!5RzZq4LylHduIlsGJkdB0`@*nR080TWOFd5P+uDybpCo`;+pSa2EU! z1y3y<0#(hTBbSvk3lbx{;#HgfywD-q%I^I5hdrKHneM9IM zs|ekgTZ7ig=lxlrJaI7d)#hHfB|kKnooBDf@sVs0Gt0{&G3V|qa?j_Ohok$;uSc@v zcIS>^d#vf0{8uCkYWE}YymUhD5yghKyGEIJPRMg9)9x@bt53-Jlrd6f%nAA9C^m@S zhKjGp=lL4c!NlW=my_kMo%)EKJDX)*5HjD+NIzPUzh~oH_|HkfB8Abb05YcI~wN4_+Qd3E|B1lHV9 zW|6{ELGn|h*+8KtSbl9Zn;868AWTIojx(rVDf~p)ae8)*y5>Tl z+;I%+E|`Pmeq&g$&^uV3IEMX!1;V(oY&R<^Q^v9n7_uettfx>@DSsZ%f;!h=Qdltq zcbVaMu@bA4GnHj+6WD6JMIc+pv9(NBc558dQdTgtPw=QSvkWksn8Z4;_Kkc>F%7&d zr;lfggxboo>ha8rc@HWRG|?wBXB!X4YmM*u4lXPEW&%6QW)s};CEkZyNk@g|#-l?$ zfQJc?WH>s~1DM7ErlX@hfH)5DIhx=B4CVm;qvOlu4wKjvVRBj7+)3<|mTu$fHI?=C zQv>|8k1(g0aT1q$iZ~vaTs?w&10{ENna-;;p$DehQ27EC-%kh+1Xzl415!1 zRo2e{pLqU-r|p#9abtW;c5UX1&dhdo1Ws=!kDbZwoLO?dhM^q2)rsZ|0D z78Yi>O;^`OUSwgxA-5rKwDE9Ct_3;zz|^ry-eY0s1N!9OqV;?~de}FkH!)>_CpJp+-{jJk%CPtEyjqmf9=D{hAD;;@yUH&?R8cp4U4{?yajO_5LveUC! z3>kczIc#M&we!6Bb(Y5W;|Z-?ZOWE8%x|Jf9Ipeo24D<_G|$HZb}YkPZW1cvU#%if z@AQKOObQhPj4R|Lq&2D?o&a-_dmdTp#`5j z!2GPLh%J}y+*vIb!P}{d%5~CGA0j<_9hc*Fqq!KI)!)QWMZS{-)Z8}oUaH|T-|v=r z{am(^Y~sdT_E6+VY_Ow0`D+{ZBfV3z6gG_@#RI%@iz8s>)+iTlY2>^#HcXp?L}eNq zq@9Yy)ikzZhyjBPEyzEJ7Lc;td3&*%4|3-V_o?}ghAO!roekB-fWd##S&()p5x@uATfv%?;wir7y@+MwlCauWt?^gZ1I1bIkO5JW%|=WZ(i8 z?(K%t2P*)7bxk8LT)>L8Q-0T!`98`5v>`QaQBFb=tpv{@QHp=n$Ws@wGpwd8@G;hv zg`9CC|Aob0E97m2{Q6~$Jbf|S1LW(AnSrr-xy@2GLE8oJl%*^ZqiEeyHbQ&oXN`Pp zDGS5kI=_@f529PWNOP<2)WsO$S@k38Nib0tksCMuq$x{!ob_Yc-+$D|E1qBjw1+Nf z{lT&PhPf+`D^t6h|AcBZd-l;k-3qkfb~4d zKcIc)2aWvYGM24vYSPFLEN3CwLL{=5;{@($B#M^9(AFaH@8#@IqojaE`c*OWx|n?v z_f3q=WWHtJu3(QaZFfZ@Pt1Th?fsvo?5zwI&V-If%IY)OI<0o)w;DO^X>7!eER)wf z&4Q@p#iv;prY*mqDLb%+4PZj&BXYwtEFdJ%t)b5l%eT^cKhn^5Uu(+zvY3v|^j9sw zeP8qKJ1fog$`zcWeG&Lo`2sCQvdK)JKcU65&vR%Mpm;YSG;;^>R{!h(kB`oMg)y0p zH#g`K<;N|B|woxH(S36Qe|f zR|b?NM2oi~@dpcHac@3KqRN{DP{^IuqIFLI@HZFsM}tOQvzD1dl8F(Fh`-5)X0UM1 zm^;7w(2lRyvTj`hfJD4!G~kH|coL|+tn3CXvu%zVlJ(E=gk<-(4$0&>Ic%h%2pZ-u zaJ4C~k_&U#I)q^%>sTcly6eI%EC%RH&_>Z;$w!X9d7OFsYT{zG3w56GUb-Or+So%v zpNaBn8=Dl~?{kQR7pF7(C}oYr%b2Uh7*pOrM#QGH`_Q~rZnm**eU<+Ld%Pa#p-QG3 zy@FONi;(f)8ji{Xa#^>8eHek`rGU3h6*pQ~BcRDgl+*Yk@{9B{9G*aUSBHU?ca~z(S^)(^)(DMC_-I*aAZ z1{`y|{yWXc_=1i;XzAnl!tpEK!BHexaIhy?n!Linjtezaa^&;O+~o{!#GDG_pxUQ! zIya|dZI!&?c@{C+c8$M9FpAzUqfcdg!f5q`EA@)$3ZX~U(mB7gTkxgM{OIld5a zD-^zMXq10>o^_po^*y3%6RC3_?tsB(F);#efJ{DuoBJ|#j;Q9YZfJro)5o^P;L61P zefu2u8*UR}z2-2>^FlbTtahRWajq8J%$5qbbI+ zJL^2ZPYK_gipf?~>m_DZ#YARy;x$7RV5@KT!Cizg6LgsdURhf)bDv|G0k6BeG)+4o zGVW%;ReCYrnO(%pBepTF%nsFU5fQnXuyDs5!?l9;KgHX>ygI=^h0TlLvhO_zd8YhcoZ^&g%)<4vW!$W*cVv5OZ%qqfZS4E>hQ6gB-+k(?_Www!B z^eg|2d$=*;gL?5P9d79|*D1xH$u~B#z|J{tj{%3pz59;OjyN z{NpATs&##!kxiR1BcDTJ7$wS(NTq~?MAl~JZ(aQX~8lEyi5fFo`H_7h_K#kZF zjyJjQI92}l>21eZdY1!iMp@GeA~{52IRjUDZWq8z=ELjA<#l8viG@^K#s37yp#{y4 zp@Zx*k%w9|)%MhuR9Z`FQA;YPS;cEgAb*^SDrpY*k=~%6)JitxF4;{-F`3uuP=9Ot)kNE=Zh-0G;J+?A34#6>^A|t{mQRw1hX_a~70Yp@ zC7eBOeCL!03W={%7eKRkY7O*j-VNpUQoj2{m3VSDNL>HPEmO-p6o`A4o5H%vjaykS zYkQE0>HZG<@uSRv$~HIA4Szt#89bel4X|exn@QBCVL-TS05w-AAzGgJwRt-8utt+8qxN!aj#yxrYZuS3;J$5s{6^w%_pDm437$I%uZ z{uTgnq7OL{G)$-lfc}03rr(T-uu-#*>eIdLCTNcQv5EYvo;zIJq77iReJL1#lgzd; zzXzV6x40cxDN+|-rc4$xo)#NO0NPj=^XF4nnDtuRN0+~hn&%`#b2w8u&kU8Prg;hO zzopVc%jD(TSokz`ym-f7rHin!Xrw8~o&pSvpZM#z%o39*UpTu*mUsNkaSoM5Az64d zPiH+R9!ett@^j=Lwy|-8A4JP3L?o5C56Vs1*zUKNx&>*%i=Y@Jloj)r$!Yn_pB
_#h{bH}FXkTv6n`wK7T=ym)%L56<^*dE4*qmFi71}#_jD4|tbf~1a5fq9aXn-l zIXS0#o%UbPAj+Z(%c>k1@_+*7Wp%f&v86yfM3Sr5Sg5pQ4CPc#b77UpE2DcoTwEV& zmqZtmGK_gLjUf6n3`Y9^gn&`!qOMiji%>+m#HYRepf5r!)7?)W&ics83(Ply5aMH; z)VEn5W7n>pKCwMPS?p#1>bQJ6Yab@}lUaa)D7ZF&Ca1_O#<~pF0XdWSZNfV4?Zd@h7vRhz_=w8_~Rb6x0mG7LO$Fv2e=pRz{PXjiC|-|peoxB7lX z)Ec=*0rT(Jm9X6EE0B{4*f_RXe!hSWn708n&?Gi77I&iCDQ7IhH$OtPJr8Npns`Ws z&J#o@!745YpWd*2YqZ@k8gsuV1dd9VcpTb{a$H~%haoBY*i)+HE-$iN;pl3T!bjf! zB5OBnJN^uc+XPz6tG32Ugh$>SjFK`mmQ}!$PWzFr>1lU+OEeLr}CVG z|BAd@v^+hURK38ILA@ex+RlOokibS~GDbhfsb1qAuaH&a%-;>)M4KxPs7Z7-%Aap%1Fa1p z5K9Yr*`cZ?G{h&)kskr5)3D0n45vg2a~h^Qw>znU)%JRTh+(z84k`L49^&}Nc@srD zr^&Sww!>}!PSXO&;mqaqDlX(#719BXw1<-o9}1T@7GmqkAiq|~UdKv3 z6CqK`kxx}7*ebMmTO=l*#5Lw^Mzd@u>g2{(ST{Xk83)--GTXrdVhCHbQxhHA?9@b; zeKXbNT!deTlefK)Ad?)0K6peI5-8hSJk%i1-oe5`bpYm^pdp~i>?b-`BSAj4)LwuB z(XNwU-obhV*AnzTClv_9Ifq47e0xnc(2|<#H0G?Pnd{Qn6JS@OKJCd#ya8 zhz+rF^l>-iROc~X%-;qw_NODC$Xn23PLR}DuiLmAFo;enbvOxEEWA!Na>wELI>~W} zvZ_Oh=FY{KSM&$B5_Ou#E(T0v%yRWqA722Hhp(lD!GPuR)gsn+I*Fu|5$nu4`!%B- z-$`negi5|z2vVYvAd}mSFpj1O&k}(U-lGhz_BYq5b1|+oKwa-FlONxS&6thLU`GnyNd=~0hNIqdMockW)WRy=D z2NfFR?YmfajHt3*Y$AI>#@S>D%aD8Q#u3LsJ}2y_pw;-C45qkR&>bo9YXeU`PQ7rP z?gcK41QN}M&dl9dvbOR?e|JSrKFny%u&fmk51?=`++{5l?U&(`CV*@Cg_8Ob!a~uq8_7o5pL_2Yd zwjY-(USku($t+uXRlU&6Yl%99sH2>!rT@NI9g@ia{vF+64cNp#K! zg>%?Mr|u9*LS5_k4xZS+4Z`wj_q*!qrURl~MMj1!gd9P={Odl}*C!EweoVap534A? z+g$v%Jn(fkiMu%KyP};p!s4$@@QLP2JEIe?DnXJ3s8^MQQjp{jJ!#2}{pUe%t0Lg< z_Z`POL$to?1uvrL|pf8Qm$$|Ay+vU%BuFZVb9Z z%hV_cKPJ7Kn?HBF|ap8+dI_A=YZk#DI^JSqj&pSFO_HE zNKkCBY9Y5P$;ZW|RMi;G)5bh}(2A*UDbQ?ovI@Ot$%Z){|Yqvvi;3GP3DMkZoQ_*9x|< zOW_#Aj$d&RPZ$DW5KF@Zq8ii!BfcChpas-&SEe2yiqZbu@BVv#^mp`VuZ&-vSN2me zJENsr?~fm3PrIK31&$ z;WRF|EaEUuDulOp%LmGs81TlcsC9e<4UOp-8shjs+VF$WTV9ndNARY2(=Ivt2qxY$ zyX2RSuneJLr))ZkmAt>)?f@)SYEnN125Q z?TX}2kFkE1h8?JCUZUqyvA@=#^ML;$2T$;TGu+@(0w;w*cf7}T@GL~eSJ1eYu_}-h z)a2MvHtk)O%Q_8(0C=g&)BJCbNNXx;s;X*hs(Egd5*q!| zO78o4_IYk{n|}S)yWao1{%if$`e)hB=lSes&-?7N&$IX07b_CZM{)uV;(Q9dZqCZD z^&JB1H?5E8?mE?OuW$60xaNHD4OaJ@)lxrwGI0F3p1@KKb56Mv7-doYZ=Tc>^rJZ& zPU@Y7xW6PP|CGK&7e|lE*{AhAxaKtZUiT6%#?Lm;Z_f4oL7(euY*KmiD1Mxt)9e@BQT3A6m-SnE zCt2$X9*rku!WF%)-dm2pqDNzo=$0$`Sv@vq3XZha_3N_kb$yTitGs_*?=2h~%D5YP zKfQwd;D$cTXWW~(`&+j;5$8dYCso+vogrQy-=4-{-{L z*30Nb-_a-P59Fyk`fmL{GV?BSF-CrH7ai{$cJtrUL-ob7**z>Df0mPePk*3$ebEhl z2ag$#S;vqP>dOI&qkh%*=^Jxu&Q>)U&Ur=WKn5?<9odD0%aDEP4$Z zEgc@~%TeX;J=VR2_=gOt zA9{d$X+xie>D-IMZQ z6UGGmwBs8WJ-U~-`De>cFZ4EL>AsrvZH5P}Ska*v4%s=IUtsmxne=dnX6NjBiJ2Cn zxBjJ17oz{0az=q3?W{Kaws~404;EmruG;nM1?d?{YTNJ4yaE|i2ubbx-3qC1p`PIX z@f|#?(D)&57z2|e8S6j1)z$9}d8kkit~h|z?(~CNv3DD3Eku9pn^W0}nNnq8(g$)CHP7DzIkmJ1ldodhE)z zBC`1eBvvxI`2X$bmOdg8p_$WCG>;W3H(9Nc zC@)>H6!Pac0*B%nayks)Gw+x^X1$=7rdBCrsPxCJLwANB3X|0;mCC}}2fj02>O9G( zZL4%UuMO}rz9^ZK;Y`IF@B1*AV$n!9er<-G?nLOe%u;&v1<5ZG#~z3Ir1UB7_FD{0 zi{`mOedHh^stSA^k|~5w;12lFZ<65qkc91x=1hX6e(K@e>bB6hF`D<02Zaa-|DiX> z7#COUj~Ew$S06#lrK}=j^seN9_&rU+C)yt|wVZjvtf|vDLb>RixXu|4_YcTSD_6)w>t! zwju2|;0LLyR`5|y_-kt=3co@uhdPKrJx^vihz9NW3k&)=lip|Xj*rtzP*8*JI^YNR?8Nv4 zrna;=ipmM8uW5~&$MJT%aBT*<3Ff>BS>4xW;7(f9@ltN3$9QV4P(E~Tz07rfEblvt z>ZN;hFK)nv(%VVIi<{WlSW7Q2$2f`V|I?==BV$zgR5_}3mj|3gL;Y*{!bwyOvUWug z=Xi}rXTV?9+KNE7xz`PxpGPC*t*)|>v+!~4$MS)$asXt@6MWl3{_m+c{EFfTw2Pw` z>x@@AE0K~RZ(GcNg%#&{X^}575oH8+9ADcOcp|*3{4;dn+AN$P5v3rzBa}2eArnwauZc+ z&M1nfr1k_m?Ke8hOg9l6eFn8?Yn|ZNhHTckI32ySyn=N6Zg-*@q#kK2)xL(sT1Pv{ zils%>h>w&O^+}u7(|W~PbK#r0?-0gpEu$`q=r!<|Tw7XHl9tlKty~`%aPW99_Dxj2 zHQfE-Ve2oYI>{ePizCi&;4z=O;d+65-(6I3R;OgmyjdW>b{DmslgO_Nq^BgMl2i>+ zbq`2h^u^NeHwt7AlBSa1K1g#($|7k#q_0Q{B+Xus9+DJIQVmE|Js~wF=?|pdnWW_u z?l7e3ByAvR38XJbN+iuUA>AV>hx|eyRVV}L7)dX$709+E4J6GIkfuP2JxhKouN7GF zF}Lf9nRHutpxWq%V^9@$$v5&!0e!$`#@FIAkNWk)CoFzf3gopiqC)+ir%~zXLNtVV z?3sB4bxQ4lkb%(74K?C*%KU?U(Q1pz3b%@bSbG#{7i+bXJIad6FsprER!oT))5S0){e&{)CPARgRiWc#(lPg< z9fgZ&Ji;{)Mu|o1YQEb{csXFK^lU5NDJL2TOKbUkIZ<8oZ7rYCwO(sk!AlIK(}OHt zVx>jADnPKKC=JDo8KosWKn?5v% zBu!*n9V*lmGmxy-UX+RH@yN`P`E%)6g-K*kt_z16flyfkymDW5RK-xq?~>npi^}55 z1o@k{h%~kNt3Xz(AR?+ho?d9p{F*w6Hoi(0$7PrlK4~dORS>m<$KgdPYp!i%&6@iL z(xdb{;OT%8bf6N9Y>7SPu6l@kP(g%MD~q;L<#-PR9hKuRSLiI{QSXtAsVJ(s?h7zF z;ei%%Kt4V7yu%M3HPIs&N5xXvJ%x{ieP|Jfy;KwyCl_uvxv;u|1VR*gwik9@|r;g*=3)oBsL<^uEbG*IeZrp91~w9NTjO+BBtkUskCu zf`qs#&y*Ddg5!HSpc( zvKpc*zI(b`Lp&2FqvfR_5zymIG#X6(>KjdBvsU8$SM9gyP!D?`*C=TX{aPHhz>p6w z1BSsDJ010B^H;_ZjTgnN-K0hpSEioq94x$@ULxw;8PPH|SOmm2gn&9y@BL;m;C`znl(i8O(PXppG zcUZJ$D*2$1A4SP$HAOfXxC3j6I#^GW-D-(;V)HS%u9m1Fwnxb0wM1C&)saT0m=uBQ z8k|6jJJEACT|Ig^EL9B>dNu;TlIYR)2&!A9c!g8MBU)SZ_EqZCA0iqGn4%(}Z<0II z7XIQ|xJ;`pZi}o4*)0U-pZ0kysK->Xy=H|p2Fk7?_6AgVvlvDFerP=T?D?sSCSG?NGd6;rBrNFd3Aq>x%Zm5-NYKD?-d&$!Acw zC?~Ji6;2{LR7QqlWN{0XeZx`t4?^VOa8X5k7b4#e7lGmb0NH?iYqNxj*1ph z=JP&A$O^6qsA|7LuslYIR}8jK+~=DhyP~*{A7@klG)P9&6G48X%NAN6Mr5_9nH7)U zOUBvKG#;^0v@86m0=?y;dZ?9n`=~sMqY4d@+bOESrHiA&5oiC1sulc-qw+phL**)S zuVFX|r+%GzOoqgWpeoDvqsJ#WXMSmzO(MxJ9XIj(BUy2>ZjA6Qy($C460%7HQjeUa zF=C+}ri>>(y9;pmzxqWQXZ+eM7CFA67BurZ2gs`3DKgqT;O%Y==D4NL2B) zI}48<9bML|J6aum6SJd0R>lvgc+DZx164DkROjG4K2SjC;P|SaRxy2Yu0W$}3eRe#En; z>&FL;EYvtCUpB?CKfkK1)J!xM&nwGb%`hsRsw`*FbzNooSu-)8Oggb~Vuh*Q*#h}P zobV0)0v`@h1)Zr5>&=BMOm${^(iYg2UbJo29Ed>?M_lE>cquDkYX`HML<1v!1sq%IfhVRQ%{IyTl7T*Zk!4cu}FEKSJ1Qw<30< zKG;cCnSgn6d%XA~aMW|8zbKSy2iuc|msjRXPwIw$ zmp-jUsLA&fjH<1X(Gy+dTdhTK@CZBt@XM!^6`G9CZ;UtJ}84w zR8lW27{CS-p4*+Hdx6Ed+}0G`8WkN3ididFbZVMs3Uodvm$VTzDyC0RA)|6%;lWIO zF`Gg@sjNy~&g*N`I?XI`BPe55-Lmp!8xfp%;H=7jRPIs^7EQrsLU>*NJ5W@)Fa%|_ zG{a(8p6)sE6b*&z)-p1^E$VY#88Uk{sW=g~e-tMw_h(crWojZiUG8xol_{@z6cZl% zlqqH5ax9}PTp_YkJ5epFVS+LRMdh~Sz`s%p#84BxrfQGM>~^BA&}YaW+hL;f^K_Zt zPMjIg6$5$J0cutJ>bf_#FLE36#K?6l{9!RyUGB(Zqss+S7~FhI)qT{$?D4rcY;521 zgb#ibhhjT4J~DT8Md{x`__$B2h=4qTXoqCm4p`gW>n>9|h$^+~!H-J60)v75&FS%Z z#oS7E;i3=8Z5>1pQQe)YFGPlS6qP;lF}1N(&<~|m1=W_b;N$yOJv72f$_YKShm}U; zi=s)wZPcffYIc6+**cnBBkFU^tIh zG)4xlsPOseWHSu0vl$M8N3M>@%2E{$q$Kmbj3m?Lna(1(-5`+cFr4Z$e5dY<*YV%oDGOZ@Q~LAFKK@?b8xmH8o|$a zye{)4O^_dZ7@21?q7i(|YlD}xLbl`JY*{mcd%ZSzNkioC?ndftOf-V$xW6v*C2f&Q zIXK%Bjo^J>8@!}BGKzy=!i*W_S0i{q>DQ%R(js{QuUvGKv6b8ip8eY3C5@7Aad0=x z&5BZQ`P$$m?UGeExTk&a`);qxe95!WzjjlZpGix7NPTuLjS%zQWMpp<*e4dYyP{uo zQbSV7v(N`4c+nP&5Vnklf-IVk;vrDdGFrz?e%@QuZvJQ-4WGHclu}vv-?WULhBhXq z^f+51efq$JVcsM!G!bdCQA6Fu;%j?O{eBaX;}L?N6v5-m*+wsBn$82w>TkBu)ovNu zICjzgQTPZS-%}*6il%3vH;K!Mrr%>!hd=&~2c!YN=^-2R6;0gM7BgB-oD?gB|I8-2 zID%XoUz%R@de1cnK3Kb`06+F=PI(00S|c|{UoGC#{r=1AksL_!F(o%8xhBcG|F(8V1l@@U zCE_EckV0}e$t#s?Avv1l*-BnPaxBT?mAskc#v~^zd9R$dR#daxBDxLH^%VUl$sI_p zp=5VQ$cZGES8{cdyOZpouOJtenXX0+y*sEH=G(uNj|US1tf1I`IwSd zlf0Sa-Adj<@>Y^RQgRN-+euzYvL)pt5xa<(trRYj{3Xfbm3*J%{Uj$V`8mmlNbaFz zGiK8%M@ddlvKPrGNv@~l>Li~gxrUOXNIpw)dB`~rvqisZa@rx$Ro*-*7Wi6PV%Jj~ z9G1Ip(zOYO7F@kset-IO6M6QKsE!VTKbdz(MAv`<7SnA`1J<+(IX}imM2sC0pFDW{ zu=ufqCdvkf#fdjM*U>d{5jZKCuHS{?*m2;UxZ3>euWg`H;xE%)Uj1GrO8TItO^%oN z!O%Id^B~X7ko=deO_|Lmo(_T8-}sZSj))g--=AKnGDzIJN5yf+>^M#HY@U;GOq?>c z?hccXb^wmb*PMh~EQFEpiUl_kN+E05aIGz`g8z0ySb@a*k&u!z`&-dZ#}Tx@oD$6} zS8oZB*pUaF?zq0ZQ7l()t!Z0vp!Mu^npTKwzmKq-0&C6c9h!Cu*9|{wS`1F$3%;po zgK!=3NYggq>QWY`;o{mBS8p6NHXqmKxRxugYpJ;Q9)!xp_1qxcqCEiUI#}17aLmYv zBwdTd_4oa{_9m{e_i%zPt}jA_=8i9R<3fcNitFfRLTiWX9$Zs!O^p-U99$=i5ZVr0 z590a*uCqoWE?hB|Yi`;~ZJ<#$Ej3uv`-GyLMSh8i-XcFd?5^E`ZU zd~d&|Pd%aGG(%0>b5he$Q)bkXdFTU8M=hCmz0@2pz0^c0%U|fZe`%r}t~dVD^v8c| zrY)MT-*?cpK2EwW(2z?@L3Y>8n) zk|K1+X%V_MFjCjg_0k=~dh0r>+yT|?&;~V)+IHAAM5o#|TYQJ=rsG3(v2B=c`g52r zdZy^6#VNYBVuUVmY@!xAQa2qLscXHa;)9#Fb?pm_u0NlyYroIb^=^xF#~F)olIVd&7{V>z8wN?Jllef7dnlC-D1^uI(wrRTrk;bfHah5_+8qLR(fr z=(YWXhz!8557rji)!M>THbe;Y7YFnehfMUB1))MHvcA_w4cM;-YSD~YGIiO=X6ryuEj}!u(%bYPs zh`c$%babxJ$TUNL`sBo}XnkkL_rt2=?sao8&!f}-G(WhlDFxQw@!ZwaJFmO*Ecw|Z z;UcH~BwS_OPoivv`vE0`c%>Ium&)e9it6&_8DVyq1bLy7U1$mJ62uSXhmS;gyI5Kk z#X^aa^PO8@eN!&`SyXVPyu`y@pC+gMAZk18v=mq^vdeWOaP|izZ~!O!E|$}Oz^-rf zUai{n0&6cCapZ>=MVMa?e`L@ol&0Yp(gNY;&MC0gLix>3&*i#{qN-6AM^aVACmlby zTv!3eP}Jq=EOTw9iSp70uJPIeYhQWohN$j}Hx6w?c7fHwL9RV30$j2ox5Tf-|Dv+! zavEYD#0zrJ6a4gy-(z8Rc>!+p<^pS^9T$iMGCnD=o|pP#QQajGV%5(ItZik)d5BXX zHiUtH5!GCE*Ub>$hyA~wgS>u21h}4qd@85F+C!*3xN7JXe|%M7tzpP6=vLaJeFfG6 zBevcU58#L2x)|ath_??GSX&xNZ-@BuaDg?-5U)bijulw9sq(lwV{DoMaREmi4f*DY z0&6~%C8EL>4CeprLIvMqp@|X-cD#8CWfrpkc@gdv^Do7e@1^^XqMpz181?_vVqxbC ztOMlJyV!R+`lcxB@aDw=Yk5On3%RuaWmGX*-MlOh=HtT;M71)zkna;W3ariCKyM;? z8EE&rpf5Zuus(+M$Xp=TUKGBn`72(>Lc>3^e*Vt_>yJ*Vid{M&*yO?j>(8pE$-Jw= zEc~tV;7{n0dDa5!3#mU6!4CViLhAP z%%6p`!#g&)n(9q`^+N0Ku5$4$*uYhP*@!S5pc5r;-51r%oQ3!h?@+U-VB?=~!OCdp z1kGS|Y(@o3x6w}Y^+zZFLYa0>)F~AJqhmXm49z{B*meBAm24%a-1))Hz>dIZIpz{_ z=zJcxxp$EU-2tTGg!~xI>hK%j1ml)2JcG80#`gfN)E)0iIqw81z1j|DtFNQo&^$-_o^CJ-J%MWu!urh?x{}J*b z$X`w>w4P!)4|3PZh1TA>>~v2Ax%goSm<;3Sw{ph?+<=9@h_a4eFr2!TR-LpoRZb>! z^5zv<`%u5G=C~PRz6 zJe}Vuw9<%b_Af(d zLhHv=ay)^qp!>8cW9vS)?)?Z0d=aXfxDrJp`k(K~u&W}-AsW@TQXak{BD}VF+QQj7 zeT7fu+N+|rXuVCI!quh6PE;apH}$Nkth(GrNK5t=TI(9Usqr=8?6?7PJ036d;eYBt zq4lL2M;!f-eR)u>y@t;F(bt96?~G1;@S*T0)Lq-Of!J6TAfCY>&{jyE2p zi8m1HFyx8GBY{@2+|IzvZlo0sG5L(#b^~P}_OrZ^>T1PkMg7jH1E^3}tIWD3>NvE)&ae4K;tj83#&YwPa5kMRWt9)%TY9QH zRx3~)X7e3e?{Pz&#+I>KcXN(^5$-OH!JPzm-^f-|a89YTAr?-*HI~A%7VYlgMm>~hwbnE8m35;)s}XLwej7H5_(=SgwXK*Hx&aK>Uj6XkCuJgn7|X$V2hz`8c`kzK9WH z9F2T!?klg~N4L7(SGxX+!8LAxY>2Bvl_5Bc(@1;iuSh!vvP#?Kx-pb?0-@6W&o%kO zuSh!u#7N@_iT43*Gej5M!RD{7p?PoJ5Y=2LOEboi76#gCG9wow{SLEThq8_I+dq+O zbCDU>E%FRqTa1&1bUiyxhCM(fmca(S>%|r0@D1dZRIW;r`iI>9K$snCPO)0wGDcK+ zlZdfXt=2ova@%d(Jwdar)@GQ!5sq14wf17gbab9l{j<2NORq@FZ>Z-9AXHhWU6G%I za99drs!`T?=qxuOKEX`G9CyW5R=lNZ+4#M*sYY2}JQ0B%r>+*-Lbwm$w!-a)I}LXg z?h)K8IJftORs}8;t}$E(xHsTZ;ikeZg!=$)t6Y>PDqFli5SkxcZMbN-c)0FxNpKl( zv*1?1ZG_tecNFd%++DbQIP)5zdBFw3MZ?9zb%#rW%Yd5&w*qb>+%CAIaOdFe!sV|K z7R|gC5x@n)MZ?9zb%#rW%Yd5&w*qb>+%CAIaOdFe!sWx6*C9MyAY3$DJY09UB)AN? zS#T@hHp14UTy9<{O zXZ{f3;R4~J;l2u%*Pn`@WpU0U5}yfeFMg?KBOJb_(wyPk;U>dn!rjLY^LXL92~UwZ zxZ3`DBU~$RHQ`<%>;*WC8QP3(coW2R0j?>~p+Az{j>yr^gpXx@fUZ6L9Ci>~1zrPO za4k!(1Nb`!{WfEDt@jvR8=9tTjWGtE8>VYM8M=0GoUWbhi+uFfHD8>EJ^~!YTLCr| zDg*s_{UNl>#xRXE5~?g^aiy|^H58g_f}pZk{!ti;pv}JG2)ZMJKRd&g0#_4`BB;_{ z6h*M06%v4}3748^6!hSJ)Gfl%-wIp{C&T6f=lhls{`$D$@PCc4AcEmS%N~SAn_@&T z_fT;JWLG?b2Et=b{gM1^qY*g~B%g&pjlJ|o@E=qqSUxRFGCz5YK#uH8bo$L+b zAqXlt{gFa`i3t8G5y30S_6eHS|1$vx$j-|myktW^vxi4gb6et?HYs21h!|hWLX11K zLf}rf!WgnaX#Q|pAjja^94-N_E8GCMF>n*$=D@9nTMxG#?kl)sa90uT0j?UV#uu(0 zTqC%6xUO(-!AZF7a9?i}G1@VJAK|XS-G%!DPX7qmhARj6Do&23@C_;G~L`Z_B^@q;ea5GTIxwx)@+XtQsdKfM*Ue&s4 zA1Vat{sJx@S4vyUG|7YhP8Bd0dX{ruH$8FpxoTSK9XDXWfN>dvhKw9ABxU4)VdDpl zP143*lGi;=jmzvZ9V+Fvv{KxFPTiWPr)y(x=7f|noiz0tn>;8#XdAKA zMyQHgVMwjghN*n6Di$X+qeMO^B8HQgZHTRtN89IQqm9joPaBVPRlYaNL*AzHp<4~V z4#P($_Zps*kwUR-XD)3}Qro2D(HX-tR5R?7dIgi0UzhjBdjxt5WPYxUOj# zgEEp;P7fJOw;{vFjWcTfsKFp(Ez{D*CPgZ>lSO3PQGe4?cRmiLV;8Y}-!Bb~4LPn`f-2Eq|LSo9K)P^Td zOivq|LD_m_P~$s~&9J1T8ClI^E-`uRxb);98N(;2`pCD@W79@}rO+>!>M=U8n0zJB z-BZ(sMTD!2WSSt38kCxvraJR1B_@v=lCJ819*g6WGkhq1h*Hw5yab7VV|P50p4QL-o>Z62_p3R3d!yG0fu9d-s)kJ_eLockRY)G6_ElsP$oKr11g1A6%b(jmR zC7T9OSa7XvVVR2sm&{yjEhCNg;3hKHp1JsS0j4xWAd(U0b#zZZ_Toe488PogFGC6Sumq zrr}#%RadL)$}PlM@EJ`4bCwAF-Z;1g_++Oqa|@!Rt1q}zd~-F9xzzfyA#r^grZBfJL3SmMCKMkqH=~uDK^)Dbjx%?K zwG;j$>;xU!olz5$p9+N0A!eceLm1Bkj%2(LxIrr!7GMepYXdF`@zCE!;F4v01Ltqh z5-FwsMkhH9Vajd+*OEEHBU{Uz0jApSTRJ2EHomj`4Z7~N67iy(4Q=FggbCXZ z&Q_jkZU0@K>b*4WBk+_?^)ajs!{&j-{jwP(-^GHfFuRNxTuD6KthD6;cS>j)lVmA+6LDDbb=Z! zo6VZ2X+JVY*cQhH0Kyc94O1L_-_o=)ux3%3z;gKjlfOsUWSk(&B(VGjq-Ed~O?#6` z!W3H|+<8-R%r;Ch*RyEaGS(+-({Bqvm~vvnq(3ba?>($fm~<%qMP`L9DgX=Wp;Br# zKFsWBWSy`rKtH?cvSCVK=mJ>XSf8*>zlSg|Wypp}f8RoEEoS|F3++l!!!CdgQ-GU` zaZ_^u!nOno00>h8Hca~0mTFosZU(A*!lXkb?gBuV^ldndUZBFTwBC;c5GExG(9*66 zY?u-lvl2TUSf8*>Kgv$uhDm?pDos1X`h;!z+mMEOfukIeKpqsJ>w9>0MYoXpq{_;beLz}FZj0=srG^izN-tt9#nf7li>I?&`A)&>4a2Bm!gTypGd zz7~C~t5Lw_Yvm@43r!Q(Y1$~}2;0gKX;(>vC3GmStC03a#+whz{upn)Gw! zW6O*WHSHbnRIxKYl$~l|EL;ojL*~{pw-?-Y=Jqmo0o>QjU107RxHHT>`%t>m1j`EU zHgi~8SCcN6^{8{^T-FdU+hH%4UhpK+l zHu)}bvp+}Cn4A5%JWgD{-I~^!xqiFlpWtFvA4XSZjxeH7-J2GT3Df;Rcms6Qd<|9g zeNWk`79LyA!P)AlKORw3NA{1KdEaT;Z{R6k^S+a75yt)AX~f&x;O?E4XNcQ#PSff$ zx96NJByRqBY=~lR{&^Wz8{Di5nzn|ySr=q~;-+5Iw4a!pdQmQ}jVX{rpW=KC11{Ni z)h=O^0C>t*wM+6b#j^)o`Mw6X=aTdd0k`1}ema1;4R>TG;)3%q$73!y4kZr}j15CvpYj@M%$2Pg)1B}c8%ZYU`fiLB)YcrTE;HCuf`;>Y!-yzOF=ed5?HnlH~E((1Al)e2~Qp@Cx@GAd(eWwcgzFJFQDu}D+O1W z1eSM*JPGn4lfa5}r}copnY>UU6ky5pM{6@j7}cXX{(M{sQ=cXL6Ljbuh?XpF zFs5aTXN1u=-HyPpj&=_!4P`7blw}+XT!S$!Jw!65C6Rs|Tad7QsX-N3evRP1^sH~H=zb3J4fZ=XM#j{~JwxkZFPQ^YH?n(IkmW`g ziFF+--zCLeSRkvz9I&BCt7fg4JUCAN2}O5WO-pCaC&RdnXf^G9=0;@5o^)%`D%&CE zd?&~`#2p9sH*?1)$UVfp09Ssbk(n10WV?894JYEU!Cb?M1~(O40&`O*s<0m0!1ZPh zSpMA?J^xRTX-opEo8QuNlCCXglCZ7a>f7~8!keH&H#Myb9w6+XX}!M@+DXPKz&|sd z1Z+w*bmjp^GF}BdgfRLEj4C0# zWRzUp5I0<>w{-0>^PS!@s(vlFa-$91wQot$2-R0{G8R9Xt2kLk5*H4xD|6w@wE>sH zT${lYdW@ zW1FA?7GS4!YvvZbE!Tr9n=lPsg*n1&((#cOD*8K%t`#!>okhBnsV!v|R;%&8NFz?l zEZMZFDKfG*WLxHT08{2N>>6^BM(xd4+7=78l7L72tTEki?EKo&kZV9$Uoxc~v&uY;S# z+;x0DM%+Dc>zKR8+#_%YnR}EaeK6&64_~Njzc3fRP))2kEO2yE26Yf%^&E9SzfRY> zGkJcUQgpu#E}6OO>*Ru#i11=IdLMHav*ljm%B)9aF;`~2{EfJ)AK`hz+|`ey4~>@d zHtYCs$VhnJW@EHG1M_^%6M0#2Tk#CHaa*Np z0`&T9)3t@n_1PvH64&i>%n_LD_PHEET>N(QSmxrl%hkkv1@0nqUu~DChzs9|`=7b+ zokow{4bEwzk>}k8=h5&BR4Q}8vTkkM-t~6j&5Ox;yNpD(fa}iOmR)jhD%JbwuFq z&vdN|bKRfGp2UUa>)KT2!t&)D;$olc+7{+wpUXYqJOW=}-xhPgGK*^DGRP}T0vnTu zyC5GkdH02E)d?}4`diohGmYGw`ddyQu4@6>hqx|H0PT2J{-AEc(N+O>*V-pjT!14rh~O$|SJNAWZQ7}9&pLqjegZBXqFK#u-r$Tfqvbo z8I!IRF=&mfYJLHY}uZDb_Z?(MU7 zI6jmFPmg+FIiwq6ij2gQf=OU`r5?yvAjKR*6IgyjnzW%Xh)G~$nmia}7bbzFsSz}< zf*i*ru>2GY&mOd`a21ols>$4G)8YXpUo?_`^+m^w!)C^d%mEv(`?SOHDU-nJ=J8kn zveaB7o51qpV5H;Q1cnMGfep=?Ae%7>EI0Ikt?=EZLQ7|ou&u!}9E%&=hG{IP-IOa> zA6QvQ`yT*7Ph8qjd5*9Hmc=kI-(Z|a12$v&siBJV3?2H3q6Ef%z!`+`>U9&ZURjL2 z{xH@;)6tO;F^dYFB~Hbuskfv1LTnjnw##DGD&HFKD&*-AbG=RvzTUoZ!3j6k%# zGhzW(Vk_CT7Xs7v&o`N?(q7IWj<$v_WUgjsxsy2BGP;+!(VdOv+XL=0bHGOP(f-oE zm;^Rb*07n>C(B4#OO#`KBSzX_+K{=_M7bVZ-w6Y;l*JrjTRY)}w&=zrJR3UH6tp>Y zJz+FOBC7TxBvub9ssB)1?g_tJxf_L8~MgXLx79)fdTY=nO}Sh}K*M5VxW7Ltsy#aPxILR&C{uvG|6?T$V` z+o^gncB`pr>5Tn=F$^mm+FtbmW7<}=oiS~vI%U%V&Sgy7r~YD0+omWTaMVcvIp&t>dlz;MU7-k`=O>WrhQN!GN%1cnBS{-Xy4OG#t&JwEt=UL{O>du}j}jl(DXjA^eMAp&zLrSSQ*n^4}T2t z6c26d=)st_Y|LRiEfb%(GNzptuMBKaTPiv_8G&iL#2Uu5`{5yD+SyRe+0da)3%wZA zhJ<$*(`JJ&8Ph(3myBtTKw}pQo2i!n+bfJy9@b);v)9FqFMT6+7DF|D}WVoVEdPZ?Wi zfz73?kuWW+1v94gv;@Yqj5d)mt)6XWOsi&JGNu)>lZ;)klJpDXw!lvq&j)raXQYJ{ zCaqpM9{*`&shRS~)Mz!S2V+_}8qEP{rDri?TH)Exm{xXfGo}?CM=v7*TFGg^m{xH5 zF{ag;>5R_}v*1;e1zL_d!Y;77)^ z9Ple+S_YuAJE&I3`tQw{jQ*hpwrFJRZ_6HJ#7|{Rw)^>v$!5QUG1=#DFedxFOC=)# zvdcGMOg8qmjLF8{n=#qehcPCb`uIvb{*y6%A$yP!{S(GyJU`BujOG^@ld;_FVuu5Z}zPK*sLNjLFDdrm~R$8Mo^(CZl#o#$?Q% zz?h8K3mB8}dOc$@S|4Cc#_As!labmAtj2#bPJ31{5+kE@8^&ae9?qDI(9;-`@p%Pf zGCFT(OvdIDjLFD+lQ9{WgQ^u@e(G74K6lQG!W*GQO*z%h);_}f8Yv_DyWhq4D5Ql~Q}18O#7GMw&bOa{}R z7?YvYv6_(p8AyW|lQFbCV={WCFeU@%e8yzR++|^btd_2RMnq&y3}Q@H#0ED0A#%-_ ztcEF!$yzv3fSYS@_;(OoqKP zjLD$)k}(cgAFOo5`4rZJQaBjqMy`GOd*jG~ywPS_{T|-0>mhU>3-LHkC2i&2}>;bJ;b< zWF<4#Fd`!3SR`Yzi49~-rm$HGXKG~iTFE?Ft+p{HW7P@57{D|#Qr%<^vQ0S#83~X{ zss&@RG^H{o1Jh#0WLMhBn9NDn7?Tyr%J?d9V6YJ<*^JsUCR34R2n%E*dYdtsh9qOM z2<>1@hM?~lll|uvV>0#7J0gwqWYTHNn5-yijLCYkoiSNW9vIl7k+r0JEh8{lN#Yrk zb!04KvWmRJn5-c?8Iuv@C&py^c*dA)9#v}_agu$b31hM~3}#HWhV`{Ah7uVWcCZH- z7tS&!qk?mYp+m-mD8^(&7{r*22a6e#&EPY}un%ab8Iy_NA!D)(xP}^W&ayy=W`QgL z-4xE$$N(^rF}?S%1@<-J&3HAwXD8lld~~s&F>OBjmN9KUy2_aLFZ{unmar<;F~ZUk z)^K18MMP^@E7^nAur4vCHLO>RX${Li%m_@Dxmd0|S*Yv|ZlrU|(PGd~l zprnQGtGVdiP;$7#m2_2VLA+WO%XVI)jjKVlfu z){kL~X|XATF)cPtXH1JtS!AW4T$6$GUB+bK{E)GB49D#;CIjay#(uydkw#du$PHvX z5LhxMJJ5HGGlBIe=$F>iCNy`(7TSg8&jRg23u8>X(3&fpsWzc?XPgdx80*lctqF{2 zgUceu^a1`x#$UZQhu{`%keM*?#|L7yBo$Rp?_$$Us zflo4~4el2huL8csI2*WBjFHjJz)_584_z0=+kr(9Fw z`vD(jOiQ8<7;gslsE_x3^e6gj0_@?1j+|-I-ekNTcmiQGUn-ho8sijdG6P$*fe_w- zVA4<(__v9blEBmN!g=7KavBes-N0Dcb)m%08MqYT|Jd;!vBf$e26iT$1OqGmBs)AU z7WY3QRZ1)E0&KU#C+zS~cKDSY_HCfzaizo>+u^Quc&LF@Cf-(9b3y;deo8x!H3k+G z(M~&j+zwx~!?||&Z#(SLP-RHPQ`rvJu*1>7n1AR>simDqM>{;g4v#f3hAS8?71r?d z(6mqN@XrcQSNs(_e8&#|R*Ws$QzaNDNtA1(a_vZw`Wsk96k~_mD{Le@zz&Z$bX3^6 z2CwjHJ3iYEf2^=YS4!LLJPzC86L$D}JAB>_U$w(`?eIf8{LBu&u)|i1o#5EGxb$8I zR(DrbI~;0<8`$9%b~w=v_p`&p?C?0o)cY1;7;Qo*<7SkQe|6vjSZ@~zb2 zqmz=y{v)*tvgWFkHN@;|jzZR`5vmbmtABH;Se$~=JqQ4}S))bI?l{ya(JqWU^NGo)Ui%2d zM^UuFSt`k62U8X!V*ef9KIGsWJrBoc=cF$(UDLho>LqdP@KM9*WSMcpbNYYe^tGEv zY@g%1(?iW!291deSx2xh(1pw?KIr z73y5UhL`L%xlw(V?A!rz;SN)DHxD z9r@NylYfOMrlVq`i(yo~oEXnkl}#U8SfLdQu8Gv3pEQo#mnPPCnA~wW(W9 z`>#zeOUsHu&K7y-ds8WS!`)ojD1f&#Jv7D1fxkMr%J*+Mxz{Xe&#)AuiR@DN|L=Fz zFaE!MzkAu;@Bg*$|G#{r_{(jf&MkAozc;liCBthtJ4nw5rm}KQb?U5tqO*2zGuQpU zJQ~IQAB{$QH`3iKpE{V^M1j?nF48a*mTX*$StjkTB@@ks6DW~|Eqg<=HX<`yy153NfFa697U01?L;Fzb0*`D$h$sa)1ubL(n zYBJ6r@_s*@47gnrTm7V8AV&VR{$@YdLuYaBNvbBcpIsJFQQq`72e=-`n@Fugn%L7= zx&@dcTtyxtTB_1*9bk?zWUUJ2<3^yl^77i{eEl?$R|T`({UCAG)SEM|^oLo9mL_io zm}`_0PcK0*YvR@==~>;}pqhAk6@(`Uy4r`LN$~aMdF3b&(idLP$y51W-q6bzC8wVf z(hh0ju36qhX_ikj*ppzx!JZ`D1}2gJLgME_8@gnI_e4B-a$TUgz7jRWnMXxvGo{cg4l>N!` z?fIrnQ{7CHnk+;)7hcGfufY5Kc=zq$rcIqP&3<@AGnqT9AnkjS0^9~Bf z;b&J`ncKh|&@^dt z6F<$gJXDKc);4K7;kQSY^=gbs{$u*){q4zYx6Z)o2nx;6&_i3jBW8e5mqj(K|4)~}8;_cwRUa^PJMC6~{#Au$gP0Ze||BJNukBjQK{)gvY z?p;CAAOS=~To4ruB3d;I3%Z~tt4k70P|=_+f+y5@kh1Q7TM>0?!5@HpU?C9KHuk$ecgNK%#Sl?&YU^t z%$eC+S!woW#TAJ3YiZI4)IjA#>2VcxcQ_*+>n8JYbp(p!|- zZIR{*G50cO-=BHr5^q1XKxBsWHg&f`CzbWS?zUuT-My9}4Ntszn=n@{7i^}6y|Txc zrrQ>#lR*Jb9CuHap2RTM-JC297etSd zM^2SqA;7Mw(%2MFY!s)VRiDY~16CT?)zLO83%rR|_Jc0iJs+yYMe@Qs{{nT0xIAC(eg3iga%r3M9B6$1+yt*Gy*ls6Jr(WrR7 z_^9*@@%@=cf$#M*{Pv?D5XwhdrQw8k51uqxSct}#3fnLbdF;qTw5qUTKtSATE7;3p ztUG0uo)aQKpzX}05s2kz1Y)_33sE30lM=1J4MTrYm+7#etOO-7L;(e4WgxzIoN=GN+T<97+8zr zv(6%iA<1MF3zzX08*nO2=N&fb4KaTicV()Aq3&3wv{1n8eQ1qJd2i%J7DB8_9l}+y zK6Un5FbWXSc}sl0k`cinh&dHX9__zRoh#6({qjb0i4!^tXx&u5kAgAmD9dT4Q~0UnMbGahXv=F?~6@di3me!$91BPbFTg#-*dL8-$z(1EoP}8Y^oRi zaI<-)e78S{9B%roaw+ol*9bLxu|}ZTd5R!qD)T__2U+k+%sZC8lSX{bKvT42=SAU$ z5Z*!96&%wibv5;@LM%Awi0HKfq~46yB&A$2+B$uHj+Y6$d5g{O0%LUz%uPdYFqEul z60n*Ctdz9b=ZP5?B*m}p%FO?zA1KA{k_-~Rp51w(8gC# zatl0VC=BulB$2W+f>N>rf>NC4=Onr!3q0I2TS^R8B3+19-4yNff{LtSXTdSvFm6}`lzyN^;#u~7{FQny$aWc zD!V_=ohwBJKXs0n$+C?Zwe+X1^L2Bfp(&eJAH9BoADk=2Zq;x+$qF@$*46)1}g;kBX7Lj?(n{;|PD1ee#t}fK{ltBQM^$`Dtm0L2;z~ z>t+bIKP?S^{N@w_uTEBqOF#Xnm^h7i-IRYb)){+3?Z)a#r3id4mHzdUV#gv3PyRQ> z%4f=pUEN$Au2im`t1Ml0Kq=%!xl){j(&OIBmBOA>3MjMMJ}RI-IN$%fN*`2UM_;n< z!GRy(;lMGsXMSpw8bbaYsc3!|nyclN^Q4yqg%6l7jlg5ld}&aq5=V3D9-&KN(16%Kn=efkJ(;|AzVwLb z$>JUJp{{wdOCly0JHGo#vDpoQ2m#qXial=?XAG`OS|G&;;uCXtwq1$|erlM4dUPfL z(?22CRoEr`P2XdO_{}_NzBmIJ7fO$d4Kw+!h0+nyehTuXC!MxiRLJFICU9Gqyn>n5iM+_af?; zrq%(Ok2(rb#}uM4m7o2Mf2!3iKCwctWSL%x6_uc|+5PoOlJG9~sALxk`ynlq7Zpfh z;uFJoMS=8BgC`;7xF@x)e3A6AkaD=*v3+Q7tUyt~v6Zr#h$Dj|5{3^Xi~*l`+~imhzo zB5o{^UKPg*d{2pV`tdOV8_&Y-zsn@W(Q_gsU8f$qBC)nasuCWDU}kR+LJ%~7d!WOfI4=ejv4Ao1dc+7v(Wi$ z;;_|svHGx`dmZ`z4sn&xdulw-a!L^+cdk*>N?9P%1maSf6DV7RvM)Mc`M!8{CksN^ zd3=*o8a{vY7nnCmG$6>+rgJhT`RGIVZr8sz;d?jots~W?M|u#_Hz3`g($n8yfu)l- zV$O~((H8pAi+H#qJ=rhimd)3(S%-!4Vg(#FDwW4N4Esb+D?jBhOz2(DXmHFsJqPPT zN(^2h(gY!F6-SQ8GGFAg_`6ExJyq2H4eC3X9LxFzm zU4DDDVdyB6GM~jcGIHn&!m((wb z+ka^o?HZWV{z-4xwf)WU0seXLyJ?| zARZY0MHG3I0-EN`tqeqz;L&hX*-DsxfH^Y65chdza06NQDkcsd0i}}#rIgrV_f}00 zL7CjOHgJ*=?O2$YZShYnu^5tyhA=-Ux6Vk1n6u9@EoYxo39?u!QSx7~(ZGIY_#sEH zWnxK;t=JTx%BVneqS)s1d6WJ18Bt-P8M3SNKun0~GZ+f5gwqVM6A>mV(7ZrV8r~Ey zT({#qv7o5R&Rs;XvN^0(nS*}|Jc}MBYpNv*c+GZX92}hJtPc)(cOElDVp=*C>dnv% z?!in#8C4KbPo3^y>ZL-BR&4cksOs>=|L{rc3{kzbw7cps@sf20e?6u1UP>>%XPqI? zoN}58plzV@Ev#3SzF2h}$*KhEK%2U*GJrbxsFf5x>JnPxSJxQ^i?fdMe(McCncD_B zqstY8F%GNzQynZUsR-Aif!20M`K5i1A(udEqs6inA|Caq42E`6-4<#`A_lv^Eys40 zK|AlPH$+*sGf_2xhv-8xL>&?bm{%*j_+8};_gvzD1htl3Q1*3tntlBBUl|6B*xp8sp2D2g8huA?w34!u{zcgj zWBT!vzcNHRO*DXROi01E+5T7jshb!kKzg>(fK4 z{M8WWE4OLt1eQT&r9zOCLQYd51=ONdG6fV$K_?cT_W9tHsa8m^g9=^JfXXxtTjeoY znGiyxD_#9ARp2#SpjQ1u#27~nEWP^)6mI^k%V6$@`pce1-BDPHfB8NC$Yt31^d=^h zzVIp)4{}0(O|R^{q#zIB0<_fj36K16{D0qA|5P}Ps_&oP_u)@V8u6cz@7Z98i1iq; zPQt7v7`DNo;nKe=1>{lFq7oQmzYQb;f8^r^y_5 zKZUtxgQ0i&y&fd|s0TIZfluv$@cE-7-jsIq&VMK^4 zktR@@eR2{JxA6#zEPI;&Z6p4YeC_wNj*4dAz20{G54~;Cd&`HsYzPhS>VnQROgX{= z)k%M5lOe*?g)#;UZ4REq4AgF8DT}21scmN%8pD(dPTT<1xgOmL* zQ?y{DtS9n(ttZNSZHFD@>OzH%Vit6|-LB3yH*7hf`e&k|A_G0C z00`K*W2+&WUw+#VCD^(DJBEja9Bz5XFd#mc)Er0e^C}%6bw$;ejzeN6&aoVy?_iv- z?RGd&$>Pd8h9SZe-2IN>Puy?2VL+H$MePT#VJw#TT4jMsH2m#br6Jo1ovmCWOrNtL zjIoO-KO#a3h%ooZL{L@o`=ml8fs@X^-bx~w_Nls$1!`_X-7_Q2ss435zN^5 zHsinAYDhpAJzEVAjn7(|p)e#yf*9G3CFc{#a=}EQ3oo)dm{;w_)wX92Lzg=pF33eGvG&@1N^iO z%|VCe>K%$ihbkE#;5Nk3n7Iv;hGk*0U_*}y)UmQjFf-9HOkMvj*1_0i@m+4iANX$^ z@&Nwo4nxr_PZsfsRqPc{dNYj&>C29Hh8ADh!D2!8>>+VrzHgy3cbJPIL7C?A2{=G4 zP+8L2eQo|OkVqs?5{(s!xPe1f>00#ede{o87Jb1R2`$>AYtinVkZw=#=ADL{PFj_q zyKaVs!Ze#oUX11P8rg0sUbG4erGxoLfiEk|Vwu!b&Wue3ESC0Epk6Xs=}O}L-g~u- zZNGnMjI^0X(qNi78#D+toe|0P#T%x}J0JaHu|u@djB^o|G~*x*{UMzK!Oxor>&E%`8$@7?JQa?C z{M)w-KXtyt7?i*SC6{E&C0B>#nv43tpnpzl3-KqmRX9nja7hKPnynqjP`-_zqdkoWDdv~g~br0GrNJ(dDtaRaz6wP z<~5rQgM~@__nQq*gaRd?Q=s%=5>Z5>6#vV6hM)Ey0`+w(t%SY=!byqZA8auU;U(`I zenKKz(wHsJw@GC-c;>94&|hUX7)~i@^#7RI8vhq&!_?@(Y=NZ*G-e|{nP_Kox(pg& zRu!1-C-ot!$hgm_Nd>d@V6@uEIiSoCQ0CZ2#j{OdDj;gkp#>Ebau9_AZq;S(GE@nD z6-LJ(7%evoH}TFYLzq7;>C_Srf6p*H`96Bsnc_uV;(BI11-VAk1Ozt1!&r z3VbiTaIGOl{PTXkYpr3J^MA1CeQtjjIkzynv|*FwSUITJya0xz9V-cbP?n8N7g(%P zP98tDOZg7kuOACZW>5qFB8DjMtLch@fR>q}aROPkaK!}b+tCH?UMwhkx-`-GDt468 zD_QpFa#Sp7iZO{wh>vk53%WZ^)vV)6>`xbCG($>;gEZ5i53b504JL@h4n2WH5Jbrt zJpD1V{K=|yR>TqiDW-h9uQt+qE*Yq4MhHyo5t$%q;AQJy?2X6hdohyW|eI zW*UK%^PUQtUgmfYyi_&tQq{Q38J=n$x6kmU_`7)CvCmM$Z!R;~>nauL8NpDWWDcme z)cLQ%KK=ZHlTIa^WnwqX1eQYt&dDy%yn^@t4ThaMEuS5Z>-_FANN-llYw6A0RW7aY z6K-Fw^Isz!4iIoVI%e)nZ#huo-xD<-?-Fo^CZsgL)sGSa*@5(eQ^NS;9A`h2UxR__M zTbNZiH-{G@Pt495|vRkBi`NFqvqGyrmud_Ik5j0t>!nb9V zM*0lAbg@pqCQ4g|v~V?#_B{{Zst%g|Djd<+jzpemS_i)!L;3Wy@qFpq(yEMt7J|8U z;6e}KtiE@`!j%XuMo5K;1+9QxCgxK9%!15qSO^$?7AO-73tD;7JJK>g;Vee-9cgT0 zL940i-PFj>n4jabJEv{FO9!m1kE-ocX2<*oi?ty_0D*9(@vTZJW@JHYs$1Qs5mB_z z@!c3ImS<(XYp{df+9Uf4o>?iS{5bz6E&pG!x6?aP#W4b=C;F+JFKDf+sg&ZuFW-K} z&um4E6;dj;Nsozs!k@qdZfR`TyIz~`d;D{s?3mpN2gUc;JrVu{M%W>Z41TvAFff8# zLv9eHFXFj7q{A`0!fn3uCF*2rz*0=z%0;(Ix;XFjT5j4Y#l+m}7xtfaWjfAMzs|>l zv8rc(PaJxBDtGLZM)unU$#U)r(!-TV(6e?YG0fMOoxA%(sScJ@P)&;(gjl$qvr)<76GpyufRf*fOjAvI%!yXV$O^tL? zR09odOERyhmWGGz>OgfbIzL~2diEKxS5vsjD*WLtKL%KERT5yPnV2w?D0VB$)91n8ufX03Yp^#zs|bw)y^i z(aH>Mv^l2b`SPwNxPE_&pWKb;!>VT9v0EDKC;YyOM}8nBhE;W-5HWfCkh{!p_VKOZyN_^;g;mMcrZQZmRcQW-(sZVX1;IBXtr2PA zW-SkWV?FqdH1I*8nM9)sDEae9$6y|Tp~0t?gD7M&^!m)R@4Mds?c?N1D+$@-={KUC;c;6EqaDA)kheCrg}_xIcC5>A0^;*PC6_D|B25i_d5J5#8R*~5ZT zN>g4dCa*>}NJn|dFm~Mp*@eN47HJ#hPk$x^dHkG%2Bh3;sukfTZ*kR5*PR|ftct+|c zW>)dyGtx6O^o#2Y_=Pjzo9#Q4gUp|VI@zaM&$q9yi#;oSCWu?U;_cr;N>pRXt6GVb zJeNd}MuIIHc+z*ELA90VekYCXw`B|>BWg|dAc&?d!+7O)QcT!ZL8((EsJ)x4l~?Lc zeJ4HdM_8-{17?0NJt728S&N255)s#(h_M z5Yi#ZH8O+rH1GEyElnfw>%+`$Oefm**3yS@$KNnd*MG%N{tZmFzLvL5kwdxgcN|E3 z{Tw&`T{7|P=U@s#GPs^Ij3QHz3`s}BLtUnyi`Wo`O4cUP*Ws9o)skJmo8X5LUd5VM zuSQb>%T!eh3q0#!RqrG`7cj}Ys@{LFokhVhFa>^*tZWu;axR%3;`CyRPk4Pi%t*;9 ztf%F!$PMp1^5i(pZLl9BMEpypwioDFaB1IKGaKYwWu*iYsrmlu`|sgcYP{6`M&S? z?r%cCxqhIQ&_#ju0YA>L?vB<#7ku62?gpuXbzgVGslj!}yW#5hq3-(C@7>+?ysrAzbn)L?2)QF$Kwuq0WW$6!scKkrxkbpD0I#po!2lL0`)2-T}d zkaEfXyu!IHoTk=Eo&{0k?1~pbYe%Ae9`a03D>S=YTAYa8v2|#1;$XN5jOr|_qL~CQ z%#^0{_2rmB;e(g6D9rgO5F}Z%jNvAd5h)hfm^gytWYa@leVGk{*YX17VTI%AH$qZi zMix|WPIR@%755lqJp=-86I-F zQPjx9iYVqcGX_?b9+-e$=FW^k05{AGS{&7oT)5s=pZDF=#_CSGuk1Fd2IFSCvE1u< zoU>V?b253e?nLWw-4a`SkSR?n z?m<=sc1?~$=c6Nyz8XjIAm>V}u)1DnprZ6uVjM9|8f?Zy3C!VzgL0=9&xq)uI53it z;66yIrd9Qk7`s#Cj36hjmHnw?H5QW5?*O@N!anw#rr$WYE-AF?DMw7-jsfou{D0U?F-WRgl&;g2=vfW%`!I?%bD&7@wmqR`zAV=GnsCWXkT4kq^17Ux?efjY6T&qAnjG)Uz4 zfssf=x`^?J0S^;1-DA8mZ(YvcC4-;%U^ch^fGFbfMqd1bR4P6=j^F-4dUC9DD~&1Q zRMoAe$Wk($$@p}x(bN6GK(3A7u|U9}c{rEVIj%}!f>=79Z@MPE<*YwRT!{S+^{~bl z@3LI{a$4}WSfpeS4DWWp_vr8A@UBMBAl-!b8a+J~@3s271@8y-_bGVy=e6-T;HfTfRLv5 z4*NB=aWtx4Tjq^HjB|dq$L4$RA`kqB6!C2JF}#1O=7&sB>)pzx5VGEk`c_Iu{uU~S zd|T0Wyx#U1w4HokIjc^PaJ}3GDyQM}U>%VCpV*At`in+Uq&%EEU1Q-tCFdQObM5sqxlGCv}GOd2IcRTjL z8(3UfeEnu_za>RVHecpluG~V{^!000n`<&jkd;YlCo;Ozy0!#NNaM$DNim5pM^hf` zb;fF9?d3Aym__d-5LTb_-RxS8tisEic*s9-Z0V&H1g9-sP1Sw*7SH}Cj^w`-Pdz}s zM((o1V0GWYS&te(`n^=I$~2hGR^g>Ge*2#=3s;77kBpeKjXO0d=K8Zt3|jPvrl@guwt(^xGUChZ<-v! zEAL3X`IC2~keC%4)Dpt-759~xqn8+SuS7)5igYdW#9Q}e4$v~ccuvdQeg`MHp5G1Q zF|IEB-&i!9%g;D;orieIo{yb*Vfl>u9llsndx#e{MgO)&$+&)|ECzuB(GM?$LWo)L z{B_dgp$G=))82)aE3gC#s7D4o5AWf4H{g9H-bojya?|v80q<$1K^j2B#~2;phxcLl zmGS2PNW-1a@1|wXa)gEJ4Z#udi(w`^g%E_&88SbVV~|59QD(iKr`5{dxTBWacCXwe ztMKzH$TJP0N>B)vUr#gYW!-GFV;S_XY4vTG{B5SZhttenD9j?Z&-k(qX-wG9r>U9q zCVZkcHtmS9EdGd**LFyW&Y#PsJOc!M$-Iq?kl`6qnIRJy4&glr&oVrXc&_BiUFpf*M_P{__ryU282OpI@D?4Z z<+txbgw)quS%PDuXyoXs`h#_rPAOP`oZ#6$I2!S+_2Jm|vb%3a%CCsaR=l}Oo+vIG z|K%%Gc%yXzCu>_i4t$70?SM?9sE zY%E6X*0m0&9v*j9Ns6@!MQK!+x`Vy;>Mo7KyYPs&L!odPe<*R!#hdKuKlviCiQv=x9Y$Fsy_AAoWAStx!2)!UrTiby_pC`C9tQtz<vPk%(NB)Sq4!B%GG7gwlk*JKCc)s|5Y0@@rAOL$uAiJJ z{%kN`=O@n+pZk?BlJpA|2dGRCjuM%zS1Q?93rs9Zhc=K!&mT_K90s4n zaf>8}5ewuoY$0oK+~?4<_?dB@}f} zJaVkN3rCuHxh$88&)(vaK_0&FS*)Zq-p^tx(ReSJhu^g4ED8fdwh&pGCmw0T*cXB! zPc@52T089iu4ceG%5l0*SlU-(fh7=JOZwCHOR2QFn6}7EKl=#hEw6sX*BRsqy>GZQ zGk0lUe$pTh^y|F7f?qPoBNK0Ia(Lphk_Cg;ys)!_f-h{H*LP6E6cPgu@Mc&R*iyZ* z+1B}wJZ|YF#~5x@;ysxcs_$;R_vfx&a_ErGtE#$(%)4xz*DjldhZ9VY%Vf6LI&aJT zSTA|}pw6pnsCHzkMy5ASc@y?fCR^vf4)73vIYWGAInVKzqbA;fynVI=$4uy4b0$c* z+59~$I(7A0LZ>YyM5LKiOq~%F3?s;}Od2%hQe0#Kwxo0*g zWpXTHaRii2NcCcF=LxZD+0Sl5PCq+_`v=Gw!MNIC@evP^47gd8U*D+ZxdHMs{T3fk zy$GE@ylLyavY)pE$YTvR4%#|zHFE#n@^r%u4~D;y7xk0FBk^{C%sfR1D}YHy7G0aI zv;7Wwn#b4mmSg(e@S42r-=KZ1t@DSz+|yf*_v`$Z%r5~LeB+p@js3f<&y8l&+Rl+^ zZZD7QBS%EsC|-U3Mk|7xBUgW?iY0-%X6wAMf@k%Sal^x7+|fr~;n#WV4!_x_XGJHq zirRPZxIk*@`f{EfC}%i-x}2<)&BDVE(Pl^KyT68;L|jZytFUkw5tz;XucVK`1Niz+i=ts-e}92Va2Su|!`K+_Jxi>5|HAr$f*d`e&WIp?CU2(c@U zYa_4BZ5@e8lz(OG?U9W;J(-jaITK0G_GrK7uQal;SJw4;>B`Jt2_^%Qtxj+`VI(gbp0QF@vYx8LNkU9?sm-F>9i=GXa;LwsC6 z8pIY1pvQE)^OUXgZ;N81W1k6?QU%5|NjNG$=22)yO0C%x&0~(0%hw z(>&Qt3pMlDr!X9jJJP}{ACSj77aVGa$iCY6ua{^I_qDNbbaPF6x)0yv@mLrSx5|V1 zZo)3KqZ*yi0kFp9Ewgq01$y37SjR|a+0T~kU>N^-UyXhplWZF^5gvqh;y}hmy$L7P zVo%(t2l32M_Y8!TL0@(gk2jNvYGun!)K>seNod(kS)$7$jqdDQ66&JvAl<|k{~ z%;L{iH_EZpJM#{K7K0+HvW5lP6__h8}ge&^XVZ#?rqnJ7rPM>`~C`E~qm=i~J z91E`}(#DOWlqG^x5NQ3;cwRFVjB(~3Sl!8vnK48gk1#LAi2wo3%gDy+5ly)}kf#~& zV?TzExueOo+%mvV0^WQdJWq$`0p0@m$sfa$mOCF(1!HbHGMqw&mLF#rtzA_jOInw9hHy&HS{>lP`Lut4Q8ykfz{H%>{AMqgH zX4))T%GZa=bNUsK?`<3niB*^*^P8da*k^lxu1Xyo{I~fE7Hi1#Lj*~|ydIserC>8O z;!zeN^is%KPx;^(^IEpCB;*~Vm#f74Fv{1XY&%Yg2T>mG3X`{qPaon*1LO$NaF%D% zbIX2SI6#gWIXexWG_TUYjwwzdP}we^j6Gf1u6^5l3kCysDAu#Flnszmh6kv3ub_S4 zy>N%te&0a6zuDdPo>(3dE)PxKp{;hawro_ZXU#U>J84uzFRnXp18Yz`xkqsX2!zWK z6Fj4OM~h{nO}3`Ksj+jd8l4b9LlC^IP`&MEN^^|dfM-9`6?@G}GDq4Co+N@ah6#q=bo)r{3ho3|8T#^U$u z@cle4LjHN;g1cIEy|EH4xQ-sQK$f!})lQ*Pcwhhw%mM`XM94oKU!r#eN1!SZDKny0zIGG+daxV_(_64y&Lc{z&8Vatp|KFPZ~n-selg#yb|zBJ>UoVCW6mBXYTjVAaEz~cdb5pZu0cmb~~g=%^)r(zZl?U=^eGLzW zTiM%p$?Adudy3X@x?RZ1KKOz!9Vx$}leKXbk#(dz*O{J2?m9YiY-iBbVU^KIhxBa$ zaY_?*9bZx3BbD!QlHr%?dk{9+4^ltj+Pg%uUv>Ycvpwj8(HspF-^JD`9knoGdmD!d zY`)lNutB7EC^qeTz*SfuU-BUcf2{9Q?(nvU0Qw%el!qmaEyVtex zVil(L)s8@E8!>1Zn{?#kp>Nu(n{vgu{Sr&x%3^7wrmHN{zv_C|^L?7W0eOC0cK>~O zcJQRBhH3qT$)VnfLXmgA@FJaY@Qso~!?7i_2sa=d)cH1$(6{*xf5DRyag8FV2U>i z<)}Q$wr8MR2BUK8e+1*7C(3=r$;zL)DnieHwq3%q*W7+pQ)=TYK#uwZ%T8>D` zH~>tu^j>757unst$k_5fz(#64%qZb4C@*H@(Q|+kxMxfSKB{|8!##bG5*2z9xFZ-# zu+rct+k{Q3aI0#7CbR#Lo~8-Vss;?={;INx0o8QQ2Q$Dz{cwJVyFJ{vB4Jen-3k(^ zmf0>;Q{b_=o_47BFE5)I6;N#oz~OWs>pF;b295902O=j3`nLL+Nm|*v<~G!4CY#Wb zrxHGmOEdflMPqg%#jLukvi6t7TCxwDSw?QF4sJ0&BE9x!r)+GE);4gFik=r)kZ^n3| zLYo_p2vbxleen04Zxy) zT1eTF22FQGgn3y2f-M7Z#50|(!%4NJWz%rf4O0M)m!((~i}1&}#T(LbIspOv_XZkM z!sgqDyD@(v51NsuCCk-xUz^SM&lyB|lX6e0D^?*DQD!(u21=+GJt807t!49>KP7%4 zHX(M=Pj*)D%yCdDCMENtaq_@NiF_Fih3(t@N48J$k4v6@=qB4AU`C8a?=F)wSn=p zShz67A!{f` zBaCR`6cET!7R`#A7Gfdxn&bvy1y_>MTr_}T!q~l_nt}Znk z;DKg&Wbjzlbz4){&f^vvOLsq%+U?ysga z*AT(v`c4>U6(;PZZ(HXl>y__d`MFUy7D-AoRqa0r_<9|_3>;GV-*F3LNAZL-u*i)z zo|PsKn6r0v1C$67X5_CTO0zenYLZ~g3cx%%EJ1@whjf@03kWS$i@ZBHMo(8G|82g5 z(X{m&7Cgpyk8;?VHf89|4i5eAW;f`Y(n)7|}%)@R9Wrw0Sjh53!{;X;x8SKzHjOmuRhz#@J1gCkxrUW)ddcQhsR?JgX_XPe#bK z`BHlLWcD{h5KdYB?)@bG)e5b)#45-P_<0iR=|(Lpb9VO`BZ~AjdcJw&nt;#fAjCg> z2`Rb{inZf?SZW`Q4X_UE@8G*E^25WH>5~U}lfTk+L>JzV>l}luA11w(E=TnqMQ$=U z@JC(eaq04iQFIlupqGYJOV+&>EFAAWycQqY@x6#U(y=LI&O(B4FQf1f|85El z6E)vMJARz+p$+%)i4Wml47w^bJT#^UAcz11`IRMx2i}?jgJ|St3f!GIcH|snO4aEC zn{VVad|P^aC*!;8NC?5>xpxX?>PUa8a6-TMFTk5Y7*}XK@t@YkPL)M5cm!_x)ox;Z z4AzWQ7*W$rfZ!2yEp_+x*20JtbiFlBevQbc`>i8+&7-h2M~uQ%vh!GRb*IuJ8Fjc!?-y;^-AqtvT+i1?6(D=8^$PPj zplR}9vL;VXlbI=TSD{ zG5JHPqwO(SJyH?*xcqba-t@Tk-SW7M&HFf>^o0Bp)v@OZ`H``M6KHmBJmyTi{s}YVc0ujGhS-eLZ9Cfi-^0$KcVRfDKqF_Pz-QSfT=|Ot>F{E$lk*-QRLE>MS&IgZ!P!*+Qnw#nzok0oqROo+z>NLkJmcWs@v+EJFtL_Cn*w<0=Wr%a@??Rks zX;KE?)lOOVU!xsd3cjL0FVZncGtS&Q@_z?05d4*1?>wppDiOFpxY4;yy{l~(!ORGr zFgp(upnozNjit>&WQ5KbtcqypQdDTYCc1*xIJdW2R2^UFKLP5v9~Wkbr+W;rDQCP;~n|(BmHn+tsuHg(2~6Y;Ge7luse{5 zTO|Kn2rf{0g-DAGbW2VwuX#qEW$+m3y)N*l@_Pd1t}T>55HOX~7*wjbrLny5S$VG5 zP|lA%E02wlu{%qVB?fhoq<3Z2QYh&190+~bCvrLuUjn%!Rq-k6b0sfYBA<53_dF5E zb5ZkBkat7gq8-zq-9q_uExnoE%e3^{^nRej=!Hi_O<&yQ(LnlEEnTf=hL*0@v!+M= z$!a}=5RQlf%ZRHghLF>Wu6^&EVilxmyltsGa)Q*i`Yh{L4f$8SmG!QMB?%ZEw*=?; zoufXHbIWt`a10DDd=9)N z<<(U@Cl3_+Fy9K=&PL8P=hzed0uXg6Pr^A2uU>KekN_UNnsrb}v2 z|K+z{kns=Pcdl{k3o@K@zQJ`TUyu*`^{b83v9Md&zuv6d^b5JS(7QIZE3vM+SPm2V z-AjPC;nqBUa;5y|o|$T1LMHk{g65ayG(YywbKKt{ryvM}dQlR8gRU{lRRwIe1B)5v zL9s)QM#g2l(jh+=^--JNUZs`YP>+?C47C-z@DDTizFrqsB2N>Bu$yZXTtwi+wlrer z>3UM~MAG#>g*frImb*&j!G7%eVqQ}!hx)N=8+dc6eBF=zV-)u|wT;b7PWfMT zlFirsN*?t9`|e81B*xTOMfQCoZ~hg$qLuz=r7u;gMUe^=p+rt!5$VI!brW}q>uIb@ z_XkXiXJzLb$u*9EB<(*V*moPiNaN^Yb-I-d<>21`u3oF>JF@7pCZAtVZJ|tvvlnT{ z?7O{usY{NS*sz&;1uu)~ zbIHSg!p>ozxbHcW5+|74h}@)aB@R6rj(AweeRi&|s*|ns%V;B6M5l_wnE! z)jEQ?Y{K_I?&0tXPg}uTIplwX!m~HaYyH@tkMp+8@>D1LqbkL{k@YP;1yURaGhGC( z{=tD4u`#e9+S3>USx;|Cj%K;op^=)-GJlfFu#f{C?1_DtO1Tb^%}7_kL&_!Qi1I5& z0Gq$_$lr^-sr4=G6Ce0D%Fofu`f99=~|}7g_`D-ys*K8BfU7G#-x&oVknw-IeG`vv%s^IyL$M+{(J7SWnX${aP-5bZl-KL0{B zKl8Rccr-hetn-p8@`+I=wUN~D2DS`&p~lKi#bZeQDXq!(LJg05M;;+u;aTs%2k;dy zd`F(+$G(W>$KH`M=KIw;7sn;8ep`znA8clUX?7Gl>J6fHBO?(3ZENUAUeeIfw9p$) zY0mh!L&|WPIL)YO=4u*yn@%%JDTiR1VABnIhFMK(y&=4yQhw8qo!-qmD&^6_4xX@8 zb&+Lmm4^y%@}jNsfP_6*XINQ3$jM5T&BK*o*gA^O2eu8|fOqu8sIEo0Tk*GBWo5E; zrX5#^W#je+<4!2-K{PqS=~BgerSPtnf_s#FlYmD8j>DH~tw9?C__l5Gq9pH3qgIi_ zj*8yVE5aF!dllhbtq5l`aH$`Ebh{jzu#OPck&WzuY!D2#PM3yoVHd)`-Y%PxXChwV z0^R9BfAvyQwWOG4E&X*#vXO$iZjMK&`%)t$BzGVqkCy zb5x`qk+Mmc2=5`*sIzr3KekhTPIQ#;aqr6GN3i2>cAY2aZ1Z>B^#-{%MPI(=$_tBg zm4zj^&V^yYn~31mcjWg})HJa@H7{?QHc*nc)z(MRp8UTR+;Ix51Lq_^R_MaHWlXl6WPp}hxN0IQt+G=^7 z#Kvh=Wi#8Uy@7D;p5CFPhsBW$BH3fAI*?0YMA@GOr2w|u$_6$o=`1&LAziHgyGFhV z0r4@X$7{1@U?K9v6I?A{b-)#Q6q`J3Kz7~DUGi38G;3~DC0|}hyCynMsiHJ}+kh8s zou}rglJ7HeA09Y{vkev8`<@&bT9X5ec$W#*1LY3d-6xb$ zNdh;%FULDsvnr(ZN+5S>4F9-Wt0e3o-nVwQUfYh_Pft?bjXSX=U&id&+hEM9Yvym& z9_aPpAR^15>6&Ii-1y^uAJP;D-5C6R@{i zR!Uw_+Xm=h_&M;`BAGut%*Ljid$1jQ3szu_K-@p})sc(DyU+tUtSTW%+*mE!$E7jY z+pw1#t3AfDSS(by>j1kHtt0@KBK!>M)EOKSXzjW}7ZE%+cx|;jytj6xZab64@(cKm z?fUk+(bC(89ev*vt5UqRa;z< z%#{x?XI6yLGn60t0K2X)UaxEZ02ZW(Ll~AlfW9!Z2lRz8ykd{MH{d8vpZ0kw(H+Jo z?v>*V4V9+yhCO`gUc{^|->cQSd@WDfhw{r8@$7x_%AvfK5!GR<#x}*Vq^qns7TerG z&aZIwJR`X#$MI|X(BgsWniGrtxv|i6+ z{lxlvEWJJYAk-}HN?1k5?pZ~6H{)JP9H6$Kaequ%izD>U^k;)U`X0K1`6l54-JjVN zwXF!SXDJRBrhHM4j^WP$ z+6UWHS_ZRT{4VLx;q=lQps^ z^sd242AmdTi}vx>{qmf_Z``KwvC}pEvlrrT8d6)cOc}lox(3%Vn?L@cd_wpakN8M- z3bXm!AISv^|9u-g8cVI%I+tw0d$|6-o`QPS)A;i0VpC&ao9SF=c(M=*=k(vtDMDx@ zNnS_?1W|u>NSlCgH+O!vmlk8xAu2on0g>}rBe&NgDs{;yUR(>KY>B{k)q+8vJ2*ctn@bMS(ppWI@kzRk;-9{oX2ulO!?vesm>-du&%TM>g zIKV#^X!Ct@oFDvHPJFV0f<-EnvQP;WgIQ0fAqsaZ>HklAZv$3UmH&^fbKvZAK;%VU z1ms;*R8&+jR8&+{6jW3+ElN~0C{#2|Ec6_U3JZ(!Wzj^5rVSM~*jQj<9?eRN8lADy z2`8MiuxNzDq6yBqpYL7^*qmnmzx&*K|Mz+B^IRU6`?EglyVhRsd+qP~?sa^fQ8Rdf z5&c7LKlBkgYMPE4-G!FG@pa=V9xW<0ao6&M8dxM}&+ba2E6($$?H%Y>I`bc_^cGx3 zUzMXjnkG)R+s%86skP(RokmAShu(JAE_w$kN1s&RQ>a)d5f!PdyGUO$aR9dtdEJg* zeT~C;?}?ZY6T|iv@+&n4lg`S&tuaIzu(F(eo_o|926|deNTReWiRS)%TCL%3zy55@ zd7XC~a+7Sq3J1DuXOx)#xz-S+JH#7mp-RCUNk^?Az`WnP`Sf=07Q3~*^z;hvHu~5f zg>o~$P)&uZvp>_q=3lw>C>|1df30QguVt74-o{H5y5?UC#CcLFwl#Bmy62jy|Gj&D zyJyrMX2%h~ZfK-1oco}2GCyBk!;cx(>jod40c|wB+Tp2o@<-8c^&P-MTa8so{GoR& zJo>mH#IL56o?b90?%C>KfBuwb9yh#W{&Sp6CpyLU-W8FK4y%IqE+kZ777*zi#W=uQ z$$NOI)2UBM3!ajr9;X!qbQzB_6P+`d%-*>y@6)r@z}|XWeX2rcf>m9Awp+IQ#c$X7 z`Y-tiCquj7dm;LX$_Zcam+K5W0)8Z$FZGvXp!HOLyAtzIiv7yxJn;l}b&m0j6NYfz zUcT*wA#M_Ofd*bxe{cew5IdlYDf{UA^g~gp@KY73i9oR+ekclW%8xa$B*fd#TTZ|h z<48D~JqTZiMA4WL@2N+~_AiKD`EfE`zEDb3{|YXfWTgKFJt5_Efpu;5WeWz7#(xfe zH;w-o{QesMYw$;oqQk_H*&-x>fy@f&rVa^j*Cgx-xebsr3AyeY5Wh^rcio8isTw{~ zlYybMx^ad8&S^V|m+?1!YGO|s=Bc|3MepM+`~>4i-=|#{s1wgX0RGZ5hM)A%78iYB z_)gball!4zicWWdSAB%HP^+ot>_>)obTn2h=M2y59~)8Q^ReN6o&Jw?-13Rxt-x0T z==QK>kDmInz6v{1LFy?F>=hkPtw%R~^(t)AgTSlPxad-^e#$NNhClQ>FqPCkRP1;d zOQhHfv6K9%VdUTgI+dsPw?DiSMOBZJRF(g1{|BNy_rFwQ`PA^CPQULuPyUNx!km4t zJ=Td0wtZ^dtKUha*b9~k;e9V5EV*~s=EE{L# zt4^G+DY|Mnt<&%LoF{){7)fc;$B2dBknS+5rt%v@h?Bl#6F>Vc^7=#(Z~E5oq2H5R z;~6^hRu)?t%wp(JuVnV*j+!&y!T6M7#eZ*j89M&RnoB?S&eWi7YfM6%{9yzwS9eTB9BObb5FKqoM@8gA-#^7dA|F>l~uKS61jK9#5c zgx9UL-13v*7u}Ycf?KGSer6p`l1n1Zrrin?1$){a-qD69{HOfvZNpuDqn8Oy+SXHO z-z<78V;3Td$Ny|dK}tnG8(!4m=jndI+wcOO_zP|`Kb+_PVt54A-|`E7&$QpehhUwP zM4x}rLH;=6V0_KeU#VSE`|{#{8#e1&_x^^L!42nl`fuE%`nez^L}+9 zfCb?$EX?S&&#JeE@yrg??i?3hqF&=_YC8<$uqf{2EuB!8Zu)>n*|3YVX^(nm*x`yh z&l<|JZHBLO3u=<=hK0Iexfi?kpXl59#}2f$Q5VN^&qSL6r1}wEdEJRUR>jZN8gxFm zttFYQJG`e+8L4k;sqxe)>+}&(ctc=eqn>6k{=?VlR;G{tFzO;WH;LPLg_Gi^Uw@s~ zIw|+-bNbdqIx8W1zZ@5Q8v}b=Lq2ABw)KMtq3p`N&6g_5$bMo+sW9^o>Y5OmnXsBN zMX~AiIfr)1TRmp6{RNm4@iEv*%R5bJnAKc&s4|7BIVLKM@ zhTk4au_Ydn-5?U7TPW}G6>#`KjZ#czS$lBR;TmkchdEm(;r(nYw%?{TMkTW~0ll~k zn4YpV1~omBBYDWeQmyEw&G=LEv?emSg3RixQYN@t2+HNuoBv>ARH4bL&c zs4F45xf;IBpAx|wl{H&t&I@`9^>mEmr~;v<$V}vkeU*1L+v8;HJe$vTSNiJjJzSIF zuH37OfJrv`)4CdRR`Ni++->W-)!&+3+;GvAug{-_x7Bpu4`vrK) zc-psDvJUJ7PKA{pWxXcGOL>b1IltCV*{jF58-?D=UHVL4e#slnwk(-@`hdS{53lr5 zrnw(U?lw;9{I)M|_fe#gQ;#uI=k?Edj4$zIn2ukcmo z=x;@lMUY>(ZHqdGV?L)TH^tWIB?iDUo%HjQ5c6isdW@n}(;gW=&=$};{?|uD{H6QJ zZpYVX`x@ilUda#uCn-@SpC z^jAXqz0=fLA&!%$xTomz#=8DWuv2FvtS0&^ll6C9m4Yq*O>i;K^~Y}m^bB;bYvP9(nuW}BTKhDSb??8qfpSjj8p5kv8?X)u$|wIFg?QDh)=P7x)y#M zH{jf231Qjd6$eWfHHuLFI7tbcIO5v8@;2zA`L@( z>1d1vD2$feAimp1^&V56b&@HUUPi53P5G(;C|mluCB#R4f$3!x%$FlRWQ5r zD$+~Dgy0zuF5b#4NW0TaiK}MF?9NsQV1`(-rPmFYx#>Ek4y#RZGaK8f~+9(*ImlcMf%|swpDw1*!&7WlPlI zhGuX^wJa0OkbYI0w%MA2c1S=wP?Z#RwZoE6)x@>7$!zf!nWz`4s0md7>us`4X1P>N z)R(8gQ8i6GVU5N6`v_}De%-0}@=MifQf-s-ORU@ScVpW!*D7q2&DqU!@x{S*Hmup| zKMXt2QO&F14oBfD_?SaIHM4lFm{roLhR~kr!Pa~8E3K3B4Bq#%uuzpB}S`mkgpG=l*9}KdDI_HZ{1HBP-Dhh)=a*El0 zvr`bxYG+BY-~3TET88BfEuYk1*%*uuV{8jA&`_ZcL>);EkMj5bk-r)bBeOo{{0~VYK@UgqKovQ(-2-b!0*>@(1mV%W!v{yYNP*c1EFp7Gdf&2OWp`Yfc&6BI z=c>;k*GsBFCj4`GW~kEN(2`>R+%$>1RPWPYqLWcuM4{y1LZ!I+lI`r`Y03I4#8%v4aEnR?@gJ&rN9P^JDh6R zClj&9TlQ^I4;V|a4ZbWnU!EPVg!rWydcqcAgP7#!U*+WpTRHy-!lJC$d#7QQVwBQEr?ShaykmlMfE*zH8%}Z2D@6zpf>&75}JR8yA4!Aeapt1ti_;SlVS#Rpgepc zt@zYf1}gn@gKJDFofls~f~7bzC@moqQ{Af9ld!hxF(B{!Vk@tWR6@)(p55z&&My|o zq2fl%o>DZSOe0mKQRClxefCATMjk87ZuulBAJu!E_j#*EUZ={NMJAJFgm^^IEEqpm zcUQ1Fr3~pcH%OQAWLMT9$S;-hX^>Ym@+-`m2#O{`hK!Jj2u4kW(HeQ9 zMm|%@)5_MQk=JSDO&a+uDQ_-B1ecx&7cXccxM(6|%LpZqch$)6*T}nS;7yW1>JMyN&vH%)}8nh0*18{|uQE9CoXM&t=sWa;;>tU#dN<| zf#YX)8{Bxq5T&2r$D1ts^3SS?R6r}csx~^M^KYYh*a8JV92TW`d3XM$sq590UdZt} zkgdL#MEp!TLCyC7|LQAN05jFoE${owpVvavCKf5=fpcrmZwA^xxS*zqu`pQs-Zn4RtofHvh8v0%1YD(s3HL`9H#a zVEKAejK#hwRufhP{sP=<_@Wz@57T2{chY^N#&hAi7+x`4aSf5jX-u=QQ#;6tO&41_ zRi_$Uomz=6ug?xw=DE(NX*4#OO<&8yqLnyv=k3vyA&6|P{2O98sFUUB^C?LJ1r;ZR)O*pigcJ zvzRww9kvPk=_xaCRsDDphNFO~$meXHG(s6aq_a&elqld_*(Lg*OU%`D37o}oaD*~& z{2|eJQ(xL8(nFm*p$>H!eYPlTAFPh&PU@+js`R}hmB4X-)KukMbt@f{w10{%wNoQn zjHq77V${S6s*b6Xc-lxMcx>mdr+V5U^=)w<*9t^_O%oaI0Nb-noV~#kf8-S-m67At z50&wvAgikLr@ri(2s~R8uMz%xl9?;ci=#cw#2wsulrnaxDlUqaA~!@RzbWd5h!`xj z$?)IinWL1DVZQf>>X~x=v6ENs|k%EG|e8z6_1H1f|w&a+EKJ?W!kv@$1fcHb0RGEUOSZ$!9B6JF0V z#~?iUHH70Njr?l}R}KBpmY8D>H}f-U_zZ;OB#r#0UHf~T#No-K#v=Z#t0}fw#}M9v z@RpwR-;CuYYWP-!<0OszHiS26!ZUb_8XkakHcryWZ%25eCcKcR$0GfiZzCKhY2PKRKgt#LgOfgz$07ZsQwYb>H2)&Pt9#=ADT!C9;rAdMr)%V2 zLU^SnJd1nYf%wyLY~1t<2yZ}mg(lp>^VM)1NH={g!kZCZrU|d$m(=jl2zNpLJP}^1 z3AgfucxBGQX`kX{YfujY|{=S{Bd(6KAXiWs=A{`7GLVgewCd_v$!i> z_X!@C;+1i((`JZ=;paKrf4nl?OI18MK35ZX<#=VFi#P*|#o@(jyb>`lZj*c|Eb0AH z=kmCCr;A(spI-`1w`F)7y%5s-9)2?`hbK)?#`&FCK*Jt>^=RWM>L%9Z%e-`gGR+(h zrDxpZ^xUW8I^RD{$DHCD1QvgUrX(^PxM?>Olcynn+z9e(J^lmVXY)0*F{ob2aI6mH>kVV>RUP@`8e?EJOTb9FPW&! zbZu>jpF^)RqjPE+CgR7oY0t1D0VNx|6AOv3cq>$LnYdc;Wf~iMqw7c&lzJ_F4^79b z0IyJS(JO=(t1<%PoTXS_q+?gpf$h6rZft}7lGT%ccWxCiOjgz{jO}ZFshv%HgyC37do^T#oVXvS=v6=)r@T*wFNyJoYR^yHZEvP7 zKWkiLZh9fbiS+OEt8?1K6Yb$qI$1__2Qm+>OF&|C^H9J z&qAL96PDj*)9=YPCzz04%=MdB*hc!E1$oEkC^4V&;wj3Q!L=8$QxJtS?3^e5!t|(v zsm)WGBB{l(otS#FlfDIr!Ef_SQJ&Y2eSzmEDuXA~E=In)HdUzc@N|#aDJne1mvllM ziM6=T=o=lBj?wZVK>XU8`yWP=%9tX&#Eb{d~uc%~`gPWCUt zdE!)Mr2JeB%koB4hHJc4hXr_T3on|gjOht$Ls)?bD=+8uQgcysdxcEI zwcyyo3KXCbMxmYWZ0C8?uzxgS22Wd{`16WsimQIueqJ?AncSmcDNJS~<+jntwR@+l z3YLi5JO&5~mcCf#^vRsu2n7ox12pr~Mv& zbh;Af)cNkn+vqho`DK`2^ma->Tg#}SD|GP7Li5O>U0*KIIWD+afcQ#Dp8LW^ zy7c(*MH3tG>wi4=g^jq{la4BPVXEV~FKomK2bsfWJ{kwV=%d4V;S8vTIz_7wKg_K& zlz8V9Tkr*Z(y8F1(V2=f51Oe&f%A{kaM^+jJlD4$y5qh~3R5Y^4*Ei+ML!*VQv zyDvdsqF@1(LA5)vk-FKi6}*K9`C)*flDSazgTIZeTAngrA(H4D=gvRc6K=naQWj zB(otv``vVZLsXyed)g|jow_$8&j1KcdgRs z&7s_FF8010l|zSrkLMjK@1UYN z?82kxQGOg$F;$m&hRQo=T&iB>r~!BgHkn{H>wvSWJ`=6Ap|{$ixF_ zzdZ7xv+_rp#EBcvuq57>e;)etT;h5i`OsMtKu11=J9U0~gO{dZ-ydf_RHrF}BL>E) zi;~Vt-;~ZjLOGgWPl;jTl)91EC-HWi6`>sSOzC{xm-Hll`d6=r$uwjuO{Nk0Ta~JY zgg>=F@$&jyOvJ&jiM7|652RKkxKcayL#rVpeUC^k;y3~pJX>f&&ZLtjWPtA;wIB>X zDn1GM5z3HCUhx3tP-{K6EL4^RMlBQXIsW-6wy3#s9jGcrc*{a1Voq32y!r81F~@pT zB(pI2J>~9;rJ;|<&;o7Z%bQ|S?BA{xi?vfZ@`^8+)TdvD`2Hs>oM$XTS%YA>qF!h7 zgX(n5bzKTOBjDkXAWN^%wK_CCXs)3+k&qW{=1eTjU3#j(qUi9C@rKt+z7q3cVX?;QImC1Z-yq z5iZpq4DX1MJEg4D=S1!Yx5e@g=yPn2`kcte5q3{^Ui+&rXveZ~?4Fug1g?gg#M_o& zZa!9+%WzI=k78#x6g%qbl@vR8$t*p$Usue}4_9XP8+bu3jWXg_7^;%lfXjUMooI;u zAMn~c(UI{my>zECY}mjNqLAKr!5<9IARQeR#GG7@t z3Vg6AiM|5Zt9RU69X#f4sEQue^~i@_mhu^RnyR`?P08C~dtpIFVTI$uf>(9c zKc|WOxQuKArj3y64rRjTn~jDPMIFSmGoV>g#bwkTB8NIRMBVBT z6&i^QWpH58mB)@VpTZ}gVOfon$nkPRFDTIYo#4**DBq9qT05#tb~^Pf_Pe#BGkUG= z-5J0AKy*g0xjgJ%#c!C`jKW6-kjXEK5F|BReNj_Es)mb3A9b+!L&q&Rr2)@2tBz`o>`}}p3Bxfdp7p38Xba%H6J@GGJ!Ji~eJa%H&J z5%GDk#|e=&kGFZ{a%GB(IG=`jY~?M>l>tL{h{u4(vd8L}C(P#Dda2fI|NK>kkLR(O z%1QHro*oc5TGX#=YKkpzP|qNSX3Z8j9y3-f@`HZvzM5>!aF%UOw{{JxZ}1~T((VR& zb>C&{(yl3*E#kh=Xat-S_i?$FVsj5T(Q_kc*DNcrf4o8F3EH(@aiNV0*dpU%_6%67 ziCTspnw(-YxAth)0_IBDr7%+84cp;T(qhmzYf~DhV`!RB?7FJUq<*Ao-A;FD-4q>u z?gR!|VJj8CK>uG6xg2Y@3Q~XIH@yxbp)y3?z|&Tuq0O);!c`%)+wmq|vQn8B=)VOk z(*>3gsC};Ll4T}IZC1+LRzj`g@0()l|0BXLAv{qNUd5NLLU{ip2;YJ5CWOap!s~gR z8a@}{gAm?~@EA>aGY`u`e7_qhHosE{Z$WrePdEhaZhaP|Fpl;m;u)<~2~OUG1e-yu=&S@DT_%Alwt-TD4+3PrMK5 zd!I|OdGANK55k*z$_KUFK{XstMDIx`UjxD$HQ`Czluhw5#EUKOPcU3o=f5V zUPAaLgkMAWc}=*5pI5`jBisw&Z3sWB39sO>If(D|d5X>JF!JY*aH}TV%FER74G5o& z@F0ZOYQmd%hZ^2D#pZb(;b91`?g_`CyqWhabMEzg4Pjk-_gIE_Zo;Ia=?7XBpXXMD zFQx&~H8|+25*jS{-t1GPU)hy@w~Ej7091UQzGAud%6OjqfHGa2uth4q|F&ZE=gki& z1I?cbHJuaGc=$dQ^MtwpQ0)ybjhA8L5$4=G?D8NP7K|{r-eF&kmSH-CdCIUz;_!jw zAzHl>rmf23r}#6uib=1(NT)&JAgWyDUcDYCuq4q>0Q^~b-Q4Q4bqAdQ<{UODlQ}*9 zbn8(EzrTZ@Iru#t{B92ZItRbCm*4z!Yi%#$>DGD&|JmODmI4RA!wp)R9Kur_{7G8B z`SGV)GPMN!`40X<2Y+&Je``>0e@m8wKhMFRt?`?w$}2Sl`FrIMer*H_PwXwlGr=E z<(h*((!qbm!QTwOSv&PQwoym#2(6B7T-7_grP0Cf*r_i%gy(MEVeU2egV6e08XWxX zz5T5YP12g`5FX~>ckB~qx0-w3u(o%Emh-*+t&aXohj7O#u6GEp=<*L5G;&bZ8pdjp zjw}9QyzDDwDL?wPQaob1885PUrJf9z*odb)T^VE3{cr`CVg*-U|7l_vW6QW#gEEkN zHYkz)Q!EJUat!*M3pM>mkKVY7$0L+yHYj242?M`$O{`#S+EFY5EPV1Q{b`iQ3V-qTG70)L5cVfM~!BxB%ayAsYjuH&%y zG2H^uLLe^&S1YgRR08l)gr~e!781aX zo~Y&tO-f!=)a#B}xY!PfOgQ?Z+aU`tFXd-kjl*5C?41>7QK5Of-PJe>UsHD;BB@#) z)5kd0;}X1uFcXZS8fTt-q=(Uu7xys^H$>SxD;sz%g!(3;f|1N?EetQi{F=M*4sW6= z?VVL<5na6+*PrkIR`D73p7ROCWh!%-siy>e+)H&{GtFL8x50z{0_kRZ=bO1GsT;5U zQ3;8JED5@~=SiVd~y3l9fd)-|INl|Ay zpUbUH=#3ZBc}tU$>N9X;w?w3n_#2kfHB5ri`L)@04He}+qZqD%V(spII3(+Xs z*D?J34P`=~ZxEs+JKOE8FL2-Ql^K1SI?%p(L_EV=ZHh1d?0Y4Gmw&JH>vP+mF_)th zbgDaOvQPNE-Fd;S=$7`QJnRQ$h0$i9QQx+=nf4riz(+zhrHWgBP{upij1~f8`KV?^ zG1^S&kgMZizbe6eS+f%49eTT~6zC{O(&mESU1?V4I@!i8b|I6)@--oumNUDB8j8jnU27(02)m^?R!O0bcuG`;9Oq$qq4xw zHZ%-{_aWg08sUV0DM3CV{kn^ZYM?yDMf2Q$DUkuefA0^7UzFeha%g*Y z5AB|T$g8g_KK?;_yK|q26i}`y7+ktWn%W|H{lB1BnTq`BovC>SaN|uS+-HETJ5G#< zGyNz}xQU&KnZ-QsCZ@?*OL_TCD5z%@@;dmHS*Q_~z%Ab?p)ME)tle&#RmXi=l%d{% z-90v1q_r}cr?sH7uPo-47R9g6>|*d~Xp|q`;rm;Z;6AgFL6%O$F&=(f3GiUGcH3-} zSxD9KR+36VW%yCU|8SBAv?>f-mB*`FVGUDYw>?jJ z6kg|p@bXbVDZ};8@8)TWaUeJUq!^Xw8zE9kF+%$yeB5ND&#?&<$DVim4A?D-crUX4`o0wo1dpg*xR=hFJ<#?5NHrgA?Irfyd>6Hf5Bqh`-pT%u=4j7|@$|c_*63>9*qCX9rbe8A{&d zNA(ljXGb~Zl?XQ?{P^ZOL^FvN%kJ$0;nm2M&WuiWD|WxnnrU;djit-r_P4&CK46{Cq~{-lJO2%_6u=3oDY zyEpIw9m;T}5iNzoq$}DKoEF)EM!puyD>^XAewToCP6H~o@fyG0fv(v1R9D*6(QtB? z%WhuKi5b%FQpd|W5p{YAukTbwINAG@@QzMpyqnz}73@@iM80mLi6zR(?v>7SZ6wn# zikI7z*-mz!I^JZ1wS~QZJrA=hi=FI&7kPnQS>R+J(!lHON}SO?3>^%MCUmd?{DEH; zccXoD8kmcFZOWiM_ZU5$?4z6Z-W#=)*StKFXN zgBxHFQt^JklEGEiVz)0wE)2!I0`oB+>}(w3tz7QPpXkhX{0L>HvvH*U?m}Kl*X60) z>Wtj1D&)<$_E~jM=H~Jq9&SKxRyD}nTz*=PDFbqog+^kT>J-4A1<@xfkui@BWcu;~ zzTaSsQy%P4B`~Ij^JiNX*Zv0IuB?b@$^L3OB+gJj8)!(i+h1*_S!bC3!CGFZAZPi> zyh^=h@dm{>M!zYMdm4@R>K~5gc}9dkQo<{Y#)bOFcJnr)F+wRWK!s$98D^&uYoaM8 zp*%aTfuP#`;O7f=QVbHku&_&b;`)D!*+O+@Tkh7`l4 zA}-ea&ZKP{E=;7=5*xQCNLxaiE`g-rj38`FhH;TpztVV7`?Vfxq4 zz#;PMK5$`h(QpZHNpNX!OW`u%5dU?2p7r`}xC-W!)d<%BTnkr+j1+d?O@GUW>DEMI zWT8+iQP|~Ym|2%m!gTlL!9_FOB4i+~is^FF;jctQWZ*3%jH=SV6R$}qgXt%`G5sXS zq2}}n32M#hCl)jP49kD0Ii&MWo0<+KqQ6zn^l2#2{CqS1L+Ox!ehx}36VT5Do@s?c zf@#!-NT3!ax`m;PKmDx+rr(mq^aWK+zd2dN-9#1M&68 zE;9Y`BslorHP_=ml<-{$ze^Jb{)}gtz8rHtb5p&-UoJ5HuZC9uDCCoVsx5=+72(yu zQZ=B;ABDe)C`N9o=i-bcO`)|2u7`0(}AZkz`3eRmD!*Mceh) z$jijl8}OiTJcrersR{7ZaO23SFHMHbJ_E$x#iWCP;RY z53VRZ6~MxehZ_fkl$WC{)B(kx9!=_GsfNQa-Cm7maUZYC>I!93F7)8Uh&8S_rNRI0 z%?Q?wRJ%ejdSv3hNQrquj4{GJ7{ep+yyQx`=R|NJ7^{hGf(wb~)rrI*7gPI6u7T&N za_!*4CD+c+6BmkFo;p!*q0TDT7c(H6x=eEX*&Jhp2Mdh__kiSLd1;O@9OP1vW=SsP zb)zXkG}qMKlFQ@G#D!7hKM5`@7Uqi-ISjd;dQOt@Jar5S=7VdHTs|*Uxe9PMC0D_# zh>IwIj<28KA_{l|af8tA(}oCcP&s!S3vLMFP8%<{Ar(A&Z`dEpP@9DE8J_vl5iibF5Rl<`i1FC=@m$({uuf%vCnqUkZ zIsNsX?v>>9`|dR^39sYDqJZO)L>C#C3GRU8uu7yZGOiF@o#YC6<~(Y>am^sVkYuxL z(s3;yTO`@ScgG?29mv^?0Kwf+%{$U5c6i+PdFtQF*xMDBK{ zF?r;bL#Gk+cI1V&$hX?d25tomBuV2SI1BPF&150@Bk zA=EsxCiIkd*52QjcLw4o`-ptZsN;=y7$X8_;)cnwf>Uuu5g7V|0TLB+RuBYggutvI zo*Iu9m_-R)kX#*anF21k9$d5FlIz7Non6Y<>`=kYF69jrcOC}8>}WKfbsr4$)#-leRB65#goEWB&Xux z-BnnaPgQt-Is~2-0{7#`hL;(`&1~HnknahSa95{bXz;F1A+VUb*B3%w)-T~Mc__xa z$$a8!gf&+$FEG5azje8@)W(gQ&>4ON7vaQ0;A^oaH0+xdnnG+!a&(LRofK zfyJFRqx^HLggoIcd8pliMfVn1$ZxSg{)&(%+$C>tBb+882#<)ctpw|w5D|fJR|II^ zyKf+{kbm3?`9(thaVx*JiW;G~0^~tK7FY1*hm7G<*wYx;^V$SSxGQC-%)3(-Sfso& zo3Z)Rg#6BI-iQ%`7eIfI4+)ZRS0c`uLhe{tY2d zxJ#b35au0=sU^z}LKEmAgvt(b3vxDvy?6;^nji^x#nhu1T`eQ9xYNstkl!WbUryxb zry2tnrX7%jp#Wjc5*IVJV4TEdz!r%sfj^eG7Pwtv+b_c+n?4H%=e+ z`x_tdghKNTagPI@Vm)*q4BWet3zHnuPM52V12N*kb|4kpB`KFGIaGG~canqFlOBKv z^1=NkxqQi47+dTjIaqY5a_H@gM@X(ja%JGAORkKUCSdkjyhc6=&LS*d;`+VQi~~lP zdrG_bYgyVYR9m9SUqOzStPrWa0*j?Ai@H@NUb_hAbT|LA_9XO(g5We%ctflk7 z*CoEh8>gen`u0@W(uaQEK|X82p0iHe;Nl(A?$>972cRrby68A+jIJqqRqM2KX z`?3+7T;G1#D4v{`D7~X1?xhyN{T(@9Cdd5W88yq8k#`042y&820;|)8U&een>e3OGA#s)%ff+eH1fX^b%UMK#|0FToM+N`vM0 zq#>|K!yUbGx#%J~!d>#%^6I{)z(U^hBIL!hMn||?K2w$V7Ly%3%kPubn=h(&`Np0a zS^kNvUf4Et)rfa2w4matp!3GN(|xF3Z!}Y8jwpH(rlrgon? zsG8s+kYWJ}+(jZ!tHh#O7hKjwR)M@K(haWSd2>-0P#LmSze=u!U&;grRU*skFSw9Y zo^Tg&7{6I@k}Kvx8Q|zeJWCFvP*0w*l(?nf%7k3#QXaVmojc4QT&3U$cXd8yB`gLA z;jCKm%0jBktPdo%0AG@QlJf9_#AS@Fb{|YiEPX4=uzG;Nq*GlzQsPA5iGxE`A$+6E zR?m|GOMzENjEQVM=IQ*Nezf|G9Qikpx*Yjoml#`5I{BGiKv?;a z#7m=Yd>XyvM!1tw?Y_rEyzy3go(GP&uUu5mdld+)mL)`W-giJ1aB!2Kp}J)w&4o&#(i(VtJnBt&1 zW;t>S%_!kVDcyTajNLDL@;xSgjkx7!z)ckCEQqwPN8k_C4k zevFplLe)O{bsE*W9ynkVF<5x z;?Zen=XJ=?df6`Pa3nq689a3BGC@8mgx6*Ay1P*u>n?(;mfS^J&y(OakRM9&S{K;{ zvO$t}ZER5=>)yHttsws?1PO2SQv65AoS$xCuYlEb99Nsj#OCA^AOzuVC~n`95!jwKN-*&g)-_kf7| zs3)l!BitWDIX3MV++$eU(S%-f4V-u<)fHV66Vu~C;5vld<3YTf;yziy*h6wce6oV4 zQQYEUaB^i|T+BO2?r9%z@(KF155BDhwv;bZ>N0-9Q0Kg(Ewe5k#CRy>g3s01f_?Hh8I zuELEAW{b#Gs7IQs4x?QPmJ9B1g_zCX#1Jl!%iK5p#hmsg`b~kX+&4?;wG=o06B@tZ zPa^W4u8B2ZHCmxS)_8R;Po;I?TV>#`3%R$-cp-5|(MbwA1$Q)vr{T@XL-$TQV_Uoh z`A$1;$iN=PmJ#Ba@n@8B%R-48fnO2$Cjhp- z_%VTVoPp(*L~bPT0l_=r2d-5G_``q7!mY&LBfh_%aBABadqfW3+BR;z2cZ$l`lSRd!&@4#5MY`MG7kT=&N<4DDD+2em;Jz!859{xcv28y|vO$tfv5cAJ zTUb-9c;RU(1s5&^n@YvZ*@RAPmJ9x-GWh^+LUzr|q+q2=y6c*1LCO_U6aN#mBHp?i z8Q}gP1XcV#uU~%V)4>Hq%)_PPYB6k#tVbbXXZm{4weI$1foP1Js9^@CZ5LvHt2Dx4p1Xedd zJoJWqkS`0;kWbSPB#o%pM@2^grV$E~^h=N46q3*{L6ZQ|747=i2tm45@-wT6bk77S z1{yGLQ%SEhkXwbMR~nC8k23c21jhx}&yz>51?QIw?!4gqa(U4jO3^<7WV;~!6Zlb; z3_$FnP(cQG@@py?5(RRuAVZ?K&wUg<0v)aB5kW@O@+6gvqUd6j>!UnLQ5Wc1R4uo# zqL_E6pAZR09i*hRL1l(iQH)rl%O)Q7Pr zOhR&~56{b{=);RaiYF2N>N`yO1k65vIC4d9VkuNPpyKm{ClcPd!lLB83!4AS}gPQGY-<8cZ55vso2wE&7_CbJKk~8 z+B2;n#RC*rRMN~d;95liXP)656dC4OtRz@)bIyn%2h%N9B74vLuwIKW*mfaIytx32 z#+-ih} zX87fZ$pn6;P2_{{vp8XDJ)Sc#HDk{f2!2JC=;SNVnVyw(yP}=822kOvOdvlJf~!pY zD9vZERb$V7E4b`*evLTTu(8q*!R1`zK6&6aCV~?SO#Q}0oH~pE%gX zu~M;H3L805f%LjoD(7aruBjslHgv31yduJ$PE`IDRLXPWQK8?G&6^)YdSpZQT$sqq zmIj`+0o?O-;N}SK`8pxD3k~;Nj^K91kQD(6ysHi5PD#SjVjk9<&m9%51fx9m+_EHPT|`3bURh+iTxG9q;iqKWkGsv?~%qu5x9(Nox+5;p4$g_CZn#JHF40g3a0x0$7< z0-pT>lLeFR9f8SmNq1IYvRKkx5tuBMbUzDB7D{?gfypvSA0;pu@#v>XoC%yEaUt+S z5}TXhDV3fU;9~-lZI1qHfypFCZxfhIZJY*3oCrKgV6v=nx>w>h;9`Nvj>hSIffLck zoX!bMCM-@j+;wJ#KeAVG_7VYPrs6zYVhB0U6qw9XoVN%}<|xjmfi2keM~R&;N!$SZ zFNskY0~7Kz0~usS$*{waC3x6#n3-Xh@R03>;grB+m!aqcCYuXIW{Auzl(~W@iwb4C zz?+e%@|M7438CB)n2a2ZvN_0@!6*w*Tmh`s1j)QUoRw1e55cY*!xe zdx9s^0n;^s$y&f=kicXZ;F1lD47{8Oyjk$H0q;^JFzvOwd?7IHkGq(!OHUX)Z4$>Y z=ISJIDsVrEkvZ4F5~E68VIN8XI~mHTkP(|&Rv*^z1QxX%xQrwv~> zIZx0=uUou3Y+><7JG^c=Lg>pz;Fkra9bLD-2~0b=eHDr8fJX`ZRVHwzz_cUVcdx*- z6WjMwfoTWUUDhJ)yt+>XZ(-PEMf8u&{YDSbNwGx;{trTiwh2A{42=8hyiuhde-{C?E$HbcFzp6daniq^AM_GN-gN z=XFT%var52DEwOGhXntY2$OZz_dZ*BWsQ}Vtif~ zJZ-@Ed?qk$y!ePoi46Xkub9GhS!T48ugo>=uK3Ou5olM%SBwZ9?WXvOiAYDgD84TV z8QMMZ{ZL{wjjwD1`e4A%Pw=!$;@aq6(Oh?-W{rd|{+Xnp;B+dk0E%8O*MPp+6&~6Q z=zm;d2k6ImR#d#O1&x0+Y5p z;5C6sKOP{PjP&9G<}XA5DZ~Sv1tvv!psZ3-fCq}1PDhIGz&S#O6yAY35~I@v7DzSV1Zvf2z-aYq%#gq6PQ%R!Ln&cMI0<=Pf`sBmkF7}6_|g6#lk^H zy5L}08qxs=Hwht9{RYdDk;*qDMDV2Q4H+jesdz(D1t!gI$Qpr3Q5quW22zlQ$Z4At zqaifk(ELvt(U8B22&4%ORRkstXs9eDX+A^6!bC?3&(LfkL(0w29RiaQGxVsyq_7Ng z6_}KUVKSZXihyOOCLN(UOy-(&gJCjJ(g}t=DI$|DFihr}RDfacO1>6Y&i|z43zs(| zEnoOpAw$}|@MQv%Rxf;u#AkqMzQO%p!lf@U<-B5CC!#JWL8+PH`_f+sCp#J2*I@@-%rfl28$Fh9(2Wx313yogK6|?ek1R3iK!*NR z2$Ak%=uZ-tGBzw&VA6FAn9|e>)LfComZ$MW2({0^A@l*)~Mq5}5X^M)*tI2%IDE zQ3kw6ViaJ+C5fYeJKW9c&5oiIjSLq7q_-OxFEFW&MlKeZ6ci&jxH}^~^}B_U+a#vA zPfNTMxJ+Wy%E&_!qW~jsN?eQshQ~`>hW5~G=7UXeH-_)TCm2Yrbea|#&u*PkeZ=b8{Atst?vnvWfgh2$7FcA?DXR{6ujH-3FG+j`xJu%)!0$?25B!0| z=YelZj2gP5zr+pb|98Ym531{q1rlEaUM(MwqksH6V#Hs3xJN%A`skCzPbG{4Bk>g|i@(c5wBJSGl@cS@@%KxNlEpuSggn)M zEdD9Uqm=QxJm?Y3f-8Vuz$vAw54cvxT)XgB8va%f9&bimqZArHv?s#&WDQ=ak=dfb zyEXU?4Sq+18+-5sy^guadrb%vnA)FB7^exC({tkqE09wXz~6*y4Zj`V+IA(hSA$>I z;Nu!xufbny@Q+x3bSGr*37Cj%cJUMaHF$^ykJjMn8oWfu3^H>Q*WipAk$*OErv}#m zZ>Ip1f8xn55Aa7C{Fw%Sj%w^m=ocN7lfsjLJ2`jZKn)%REaelBxo*5n6ZZjNwf-TP zuuT(Cq`^;X@bemcNQ2S#-5ENf!N)Y%s=;S_usPu`J)VRwG`K;7ztQ0DHMkugQOnX# z(rK`#1_x{KU=5B{u_*tfDVl&34Zc%@vo!c24Sr06pV8nl4c@20f7IaW1dRvdwYxOv z2i+KL-;J+naO>XZjQwcKG#H(Mc(np2 z+%3Ut--rA_(csqsKHel{I&+a*Nyc*B{Jhb z($p1(xF$2>*YINnVf@-mAVU)6^4cJ-ZO+Vi4dHDNRIicp8Y{0!@|rHMS@N1MuSN2@ zTV4;!>rrw2DVrJ1O_Z}-W>l|v@`?oDXT~#dAHaPGhXWamc#Ij(!F>$(2^=0@#!un? z0*A+)@dDgm;r<4PN1^d^xG&(ogu{c|co`0gc;i=aSoRpNuux`f1h@+KPq=U3uETu` z_Z{5#yneSaG!8HD#x}Uya6iNS0@n`rE8M@~euL|P>x8qx*|EjKxM`2^JF`EaH(VGT zp1vk8IK@FU1b)gcWf567xx%@?VIgV4w5=9{vW+a8hT%%tr(#i&sc6Wx2@iME0Jtc) z{%|-T)#QfpWy0KT@`3Y(AmtHdF$Kcmj1bdU_)%vjsMt;6aAV-&;bP&2BJ3uv(QrfH zLg7cHV&G}Ubu_M2fj_}f-*2o5ue36FYHFl5jefTCf( zO9enjrla{h((U|4;v*pY08Z%bI zPv4T8vo34(#$I>p?;EEPnY;SIY>|;!RZhVnnvk^hxmzeSX?6aJoLnK37-bsh{~u&T z=!q()0nTG7%PYK`2k=pco%&Fg6An8Kp)1HibS;toBVNt}W%!^0V`4PP(rp*zuFsQI z6#S-BK;Y={8iDES*X6I@wDCc4U$0@N(4aAz;DswT|4t%g7$tz(pSp3C8m+rIMD3vh z*Qga3k1THJ=NwE~L&_n}W05s#givC->fgCfe9pT3^!3x%=jP@}yrxRlXIkCI4Uy#md-lJYq^{`c{^?-<)m%QS(}re z^U&%Cb87BAWIXAnPfMu@dCQpHx5n~;(WEynzw0i?B8T$m;U=~JY3d==bu?wkBv6<@50Z%?c_$4>e$00_@e8^0KWet;{fkf>vKnr9z8B*4Babz zk$PhDnU9RKJYr);Zh(S=*za_Y~&4lud!(2tE@@IPO1O7hjzlzPV{bjOV(#`%&l(~bKNHXRft^5afFI3@DT?{KW#i&u^AQQZwZGMf?`jlR`QVRq;> zF8}{o;QxcOfRAPtpcek!VEBJ|4!f5>xrWV6UTH~ GZTufeV~1D( diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser index 00cfdcf..7094cba 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.pbxuser @@ -118,423 +118,109 @@ PBXFileDataSource_Target_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 281602357; - PBXWorkspaceStateSaveDate = 281602357; + PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID; + PBXFileTableDataSourceColumnWidthsKey = ( + 200, + 751, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFindDataSource_MessageID, + PBXFindDataSource_LocationID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 282058966; + PBXWorkspaceStateSaveDate = 282058966; }; perUserProjectItems = { - 6B3BFADF107A80E1006284CD = 6B3BFADF107A80E1006284CD /* PBXTextBookmark */; - 6B3BFB0D107A8979006284CD = 6B3BFB0D107A8979006284CD /* PBXTextBookmark */; - 6B3BFB12107A8979006284CD = 6B3BFB12107A8979006284CD /* PBXTextBookmark */; - 6B3BFB13107A8979006284CD = 6B3BFB13107A8979006284CD /* PBXTextBookmark */; 6B57D358108C66B200DDD053 = 6B57D358108C66B200DDD053 /* PBXTextBookmark */; - 6B57D35B108C66B200DDD053 = 6B57D35B108C66B200DDD053 /* PBXTextBookmark */; - 6B57D376108C692900DDD053 = 6B57D376108C692900DDD053 /* PBXTextBookmark */; - 6B57D38F108C69E400DDD053 = 6B57D38F108C69E400DDD053 /* PBXTextBookmark */; - 6B57D393108C69E400DDD053 = 6B57D393108C69E400DDD053 /* PBXTextBookmark */; - 6B6FA3611070C102009B0572 = 6B6FA3611070C102009B0572 /* PBXTextBookmark */; - 6B6FA36B1070C1F7009B0572 = 6B6FA36B1070C1F7009B0572 /* PBXTextBookmark */; - 6B6FA3B81076452F009B0572 = 6B6FA3B81076452F009B0572 /* PBXTextBookmark */; - 6B6FA3BA1076452F009B0572 = 6B6FA3BA1076452F009B0572 /* PBXTextBookmark */; 6B7FB74D1091EBDE001BA51A = 6B7FB74D1091EBDE001BA51A /* PBXTextBookmark */; - 6B7FB7541091EBDE001BA51A = 6B7FB7541091EBDE001BA51A /* PBXTextBookmark */; - 6B7FB7571091EBDE001BA51A = 6B7FB7571091EBDE001BA51A /* PBXTextBookmark */; - 6B8DE70110B01BBF00DF20FB = 6B8DE70110B01BBF00DF20FB /* PBXTextBookmark */; 6B8DE70D10B01BBF00DF20FB = 6B8DE70D10B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE71210B01BBF00DF20FB = 6B8DE71210B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE71510B01BBF00DF20FB = 6B8DE71510B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE71710B01BBF00DF20FB = 6B8DE71710B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE71810B01BBF00DF20FB = 6B8DE71810B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE72210B01BBF00DF20FB = 6B8DE72210B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE72B10B01BBF00DF20FB = 6B8DE72B10B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE72F10B01BBF00DF20FB = 6B8DE72F10B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE73710B01BBF00DF20FB = 6B8DE73710B01BBF00DF20FB /* PBXTextBookmark */; - 6B8DE73B10B01BBF00DF20FB = 6B8DE73B10B01BBF00DF20FB /* PBXTextBookmark */; 6B8DE76D10B0243500DF20FB = 6B8DE76D10B0243500DF20FB /* PBXTextBookmark */; - 6B8DE7A110B0404100DF20FB = 6B8DE7A110B0404100DF20FB /* PBXTextBookmark */; - 6B8DE7CD10B04B7F00DF20FB = 6B8DE7CD10B04B7F00DF20FB /* PBXTextBookmark */; - 6B8DE7D510B04C5000DF20FB = 6B8DE7D510B04C5000DF20FB /* PBXTextBookmark */; 6B8DE7F110B0517A00DF20FB = 6B8DE7F110B0517A00DF20FB /* PBXTextBookmark */; 6B8DE7F310B0517A00DF20FB = 6B8DE7F310B0517A00DF20FB /* PBXTextBookmark */; - 6B8DE7F710B0517A00DF20FB = 6B8DE7F710B0517A00DF20FB /* PBXTextBookmark */; - 6B8DE7F810B0517A00DF20FB = 6B8DE7F810B0517A00DF20FB /* PBXTextBookmark */; - 6B8DE80710B0517A00DF20FB = 6B8DE80710B0517A00DF20FB /* PBXTextBookmark */; - 6B8DE80810B0517A00DF20FB = 6B8DE80810B0517A00DF20FB /* PBXTextBookmark */; - 6B8DE80910B0517A00DF20FB = 6B8DE80910B0517A00DF20FB /* PBXTextBookmark */; - 6B8DE81810B0517A00DF20FB = 6B8DE81810B0517A00DF20FB /* PBXTextBookmark */; - 6B8DE82310B0528100DF20FB = 6B8DE82310B0528100DF20FB /* PBXTextBookmark */; - 6B8DE82410B0528100DF20FB = 6B8DE82410B0528100DF20FB /* PBXTextBookmark */; 6B8DE84910B0584400DF20FB = 6B8DE84910B0584400DF20FB /* PBXTextBookmark */; - 6B8DE84A10B0584400DF20FB = 6B8DE84A10B0584400DF20FB /* PBXTextBookmark */; - 6B8DE84E10B0584400DF20FB = 6B8DE84E10B0584400DF20FB /* PBXTextBookmark */; 6B8DE85210B6873400DF20FB = 6B8DE85210B6873400DF20FB /* PBXTextBookmark */; - 6B8DE86210B6899100DF20FB = 6B8DE86210B6899100DF20FB /* PBXTextBookmark */; - 6B8DE86410B6899100DF20FB = 6B8DE86410B6899100DF20FB /* PBXTextBookmark */; - 6B8DE87F10B68A7500DF20FB = 6B8DE87F10B68A7500DF20FB /* PBXTextBookmark */; 6B8DE89910B6B3F800DF20FB = 6B8DE89910B6B3F800DF20FB /* PBXTextBookmark */; 6B8DE89A10B6B3F800DF20FB = 6B8DE89A10B6B3F800DF20FB /* PBXTextBookmark */; - 6B8DE8A110B6B3F800DF20FB = 6B8DE8A110B6B3F800DF20FB /* PBXTextBookmark */; - 6B8DE8A310B6B3F800DF20FB = 6B8DE8A310B6B3F800DF20FB /* PBXTextBookmark */; - 6B8DE8A810B6B3F800DF20FB = 6B8DE8A810B6B3F800DF20FB /* PBXTextBookmark */; - 6B8DE8CA10B6B3F800DF20FB = 6B8DE8CA10B6B3F800DF20FB /* PBXTextBookmark */; - 6B8DE8E710B6B59A00DF20FB = 6B8DE8E710B6B59A00DF20FB /* PBXTextBookmark */; - 6B8DE8E910B6B59A00DF20FB = 6B8DE8E910B6B59A00DF20FB /* PBXTextBookmark */; - 6B8DE8EA10B6B59A00DF20FB = 6B8DE8EA10B6B59A00DF20FB /* PBXTextBookmark */; - 6B8DE8ED10B6B59A00DF20FB = 6B8DE8ED10B6B59A00DF20FB /* PBXTextBookmark */; - 6B8DE8EE10B6B59A00DF20FB = 6B8DE8EE10B6B59A00DF20FB /* PBXTextBookmark */; - 6B8DE8F010B6B59A00DF20FB = 6B8DE8F010B6B59A00DF20FB /* PBXTextBookmark */; - 6B8DE8F110B6B59A00DF20FB = 6B8DE8F110B6B59A00DF20FB /* PBXTextBookmark */; - 6B8DE90210B6B76800DF20FB = 6B8DE90210B6B76800DF20FB /* PBXTextBookmark */; - 6B8DE90310B6B76800DF20FB = 6B8DE90310B6B76800DF20FB /* PBXTextBookmark */; - 6B8DE92D10B6BCDA00DF20FB = 6B8DE92D10B6BCDA00DF20FB /* PBXTextBookmark */; 6B8DE98B10B6C53B00DF20FB = 6B8DE98B10B6C53B00DF20FB /* PBXTextBookmark */; - 6B8DE98C10B6C53B00DF20FB = 6B8DE98C10B6C53B00DF20FB /* PBXTextBookmark */; 6B8DE98E10B6C53B00DF20FB = 6B8DE98E10B6C53B00DF20FB /* PBXTextBookmark */; - 6B8DEA0110B6CA1500DF20FB = 6B8DEA0110B6CA1500DF20FB /* PBXTextBookmark */; - 6B8DEA0310B6CA1500DF20FB = 6B8DEA0310B6CA1500DF20FB /* PBXTextBookmark */; - 6B8DEA3610B6CBC200DF20FB = 6B8DEA3610B6CBC200DF20FB /* PBXTextBookmark */; 6B8DEA3810B6CBC200DF20FB = 6B8DEA3810B6CBC200DF20FB /* PBXTextBookmark */; 6B8DEA6510B6CF6400DF20FB = 6B8DEA6510B6CF6400DF20FB /* PBXTextBookmark */; - 6B8DEA6610B6CF6400DF20FB = 6B8DEA6610B6CF6400DF20FB /* PBXTextBookmark */; - 6B8DEA6710B6CF6400DF20FB = 6B8DEA6710B6CF6400DF20FB /* PBXTextBookmark */; - 6B8DEA7710B6CFC900DF20FB = 6B8DEA7710B6CFC900DF20FB /* PBXTextBookmark */; - 6B8DEA8210B6E15A00DF20FB = 6B8DEA8210B6E15A00DF20FB /* PBXTextBookmark */; 6B8DEA8A10B6E1C900DF20FB = 6B8DEA8A10B6E1C900DF20FB /* PBXTextBookmark */; - 6B8DEA9210B9463100DF20FB = 6B8DEA9210B9463100DF20FB /* PBXTextBookmark */; - 6B8DEA9710B9465F00DF20FB = 6B8DEA9710B9465F00DF20FB /* PBXTextBookmark */; - 6B8DEA9E10BC7BCD00DF20FB = 6B8DEA9E10BC7BCD00DF20FB /* PBXTextBookmark */; 6B8DEAA110BC7BCD00DF20FB = 6B8DEAA110BC7BCD00DF20FB /* PBXTextBookmark */; - 6B8DEAA210BC7BCD00DF20FB = 6B8DEAA210BC7BCD00DF20FB /* PBXTextBookmark */; - 6B8DEAA610BC7BCD00DF20FB = 6B8DEAA610BC7BCD00DF20FB /* PBXTextBookmark */; - 6B9BE374107BC6A40036CC81 = 6B9BE374107BC6A40036CC81 /* PBXTextBookmark */; 6BA1E63A10C1DB5B008007F6 = 6BA1E63A10C1DB5B008007F6 /* PBXTextBookmark */; - 6BA1E63C10C1DB5B008007F6 = 6BA1E63C10C1DB5B008007F6 /* PBXTextBookmark */; - 6BA1E66910C50A35008007F6 = 6BA1E66910C50A35008007F6 /* PBXTextBookmark */; - 6BA1E66A10C50A35008007F6 = 6BA1E66A10C50A35008007F6 /* PBXTextBookmark */; - 6BA1E66B10C50A35008007F6 = 6BA1E66B10C50A35008007F6 /* PBXTextBookmark */; - 6BA1E66C10C50A35008007F6 = 6BA1E66C10C50A35008007F6 /* PBXTextBookmark */; 6BA1E7F210C7B3FF008007F6 = 6BA1E7F210C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7F310C7B3FF008007F6 = 6BA1E7F310C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7F410C7B3FF008007F6 = 6BA1E7F410C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7F510C7B3FF008007F6 = 6BA1E7F510C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7F610C7B3FF008007F6 = 6BA1E7F610C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7F710C7B3FF008007F6 = 6BA1E7F710C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7F810C7B3FF008007F6 = 6BA1E7F810C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7F910C7B3FF008007F6 = 6BA1E7F910C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7FA10C7B3FF008007F6 = 6BA1E7FA10C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7FB10C7B3FF008007F6 = 6BA1E7FB10C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7FC10C7B3FF008007F6 = 6BA1E7FC10C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7FD10C7B3FF008007F6 = 6BA1E7FD10C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7FE10C7B3FF008007F6 = 6BA1E7FE10C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E7FF10C7B3FF008007F6 = 6BA1E7FF10C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E80010C7B3FF008007F6 = 6BA1E80010C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E80110C7B3FF008007F6 = 6BA1E80110C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E80210C7B3FF008007F6 = 6BA1E80210C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E80310C7B3FF008007F6 = 6BA1E80310C7B3FF008007F6 /* PBXTextBookmark */; - 6BA1E81D10C7BB85008007F6 = 6BA1E81D10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E81E10C7BB85008007F6 = 6BA1E81E10C7BB85008007F6 /* PBXTextBookmark */; 6BA1E81F10C7BB85008007F6 = 6BA1E81F10C7BB85008007F6 /* PBXTextBookmark */; 6BA1E82010C7BB85008007F6 = 6BA1E82010C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82110C7BB85008007F6 = 6BA1E82110C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82210C7BB85008007F6 = 6BA1E82210C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82310C7BB85008007F6 = 6BA1E82310C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82410C7BB85008007F6 = 6BA1E82410C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82510C7BB85008007F6 = 6BA1E82510C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82610C7BB85008007F6 = 6BA1E82610C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82710C7BB85008007F6 = 6BA1E82710C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82810C7BB85008007F6 = 6BA1E82810C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82910C7BB85008007F6 = 6BA1E82910C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82A10C7BB85008007F6 = 6BA1E82A10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82B10C7BB85008007F6 = 6BA1E82B10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82C10C7BB85008007F6 = 6BA1E82C10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82D10C7BB85008007F6 = 6BA1E82D10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82E10C7BB85008007F6 = 6BA1E82E10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E82F10C7BB85008007F6 = 6BA1E82F10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83010C7BB85008007F6 = 6BA1E83010C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83110C7BB85008007F6 = 6BA1E83110C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83210C7BB85008007F6 = 6BA1E83210C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83310C7BB85008007F6 = 6BA1E83310C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83410C7BB85008007F6 = 6BA1E83410C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83510C7BB85008007F6 = 6BA1E83510C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83610C7BB85008007F6 = 6BA1E83610C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83710C7BB85008007F6 = 6BA1E83710C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83810C7BB85008007F6 = 6BA1E83810C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83910C7BB85008007F6 = 6BA1E83910C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83A10C7BB85008007F6 = 6BA1E83A10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83B10C7BB85008007F6 = 6BA1E83B10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83C10C7BB85008007F6 = 6BA1E83C10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83D10C7BB85008007F6 = 6BA1E83D10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83E10C7BB85008007F6 = 6BA1E83E10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E83F10C7BB85008007F6 = 6BA1E83F10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84010C7BB85008007F6 = 6BA1E84010C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84110C7BB85008007F6 = 6BA1E84110C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84210C7BB85008007F6 = 6BA1E84210C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84310C7BB85008007F6 = 6BA1E84310C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84410C7BB85008007F6 = 6BA1E84410C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84510C7BB85008007F6 = 6BA1E84510C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84610C7BB85008007F6 = 6BA1E84610C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84710C7BB85008007F6 = 6BA1E84710C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84810C7BB85008007F6 = 6BA1E84810C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84910C7BB85008007F6 = 6BA1E84910C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84A10C7BB85008007F6 = 6BA1E84A10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84B10C7BB85008007F6 = 6BA1E84B10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84C10C7BB85008007F6 = 6BA1E84C10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84D10C7BB85008007F6 = 6BA1E84D10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84E10C7BB85008007F6 = 6BA1E84E10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E84F10C7BB85008007F6 = 6BA1E84F10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85010C7BB85008007F6 = 6BA1E85010C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85110C7BB85008007F6 = 6BA1E85110C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85210C7BB85008007F6 = 6BA1E85210C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85310C7BB85008007F6 = 6BA1E85310C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85410C7BB85008007F6 = 6BA1E85410C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85510C7BB85008007F6 = 6BA1E85510C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85610C7BB85008007F6 = 6BA1E85610C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85710C7BB85008007F6 = 6BA1E85710C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85810C7BB85008007F6 = 6BA1E85810C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85910C7BB85008007F6 = 6BA1E85910C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85A10C7BB85008007F6 = 6BA1E85A10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85B10C7BB85008007F6 = 6BA1E85B10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85C10C7BB85008007F6 = 6BA1E85C10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85D10C7BB85008007F6 = 6BA1E85D10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85E10C7BB85008007F6 = 6BA1E85E10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E85F10C7BB85008007F6 = 6BA1E85F10C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86010C7BB85008007F6 = 6BA1E86010C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86110C7BB85008007F6 = 6BA1E86110C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86210C7BB85008007F6 = 6BA1E86210C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86310C7BB85008007F6 = 6BA1E86310C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86410C7BB85008007F6 = 6BA1E86410C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86510C7BB85008007F6 = 6BA1E86510C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86610C7BB85008007F6 = 6BA1E86610C7BB85008007F6 /* PBXTextBookmark */; - 6BA1E86C10C7BCB8008007F6 = 6BA1E86C10C7BCB8008007F6 /* PBXTextBookmark */; - 6BA1E86D10C7BCB8008007F6 = 6BA1E86D10C7BCB8008007F6 /* PBXTextBookmark */; - 6BA1E86E10C7BCB8008007F6 = 6BA1E86E10C7BCB8008007F6 /* PBXTextBookmark */; - 6BA1E86F10C7BCB8008007F6 = 6BA1E86F10C7BCB8008007F6 /* PBXTextBookmark */; - 6BA1E87B10C7BD87008007F6 = 6BA1E87B10C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E87C10C7BD87008007F6 = 6BA1E87C10C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E87D10C7BD87008007F6 = 6BA1E87D10C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E87E10C7BD87008007F6 = 6BA1E87E10C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E87F10C7BD87008007F6 = 6BA1E87F10C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E88010C7BD87008007F6 = 6BA1E88010C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E88110C7BD87008007F6 = 6BA1E88110C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E88210C7BD87008007F6 = 6BA1E88210C7BD87008007F6 /* PBXTextBookmark */; - 6BA1E88310C7BD87008007F6 = 6BA1E88310C7BD87008007F6 /* PBXTextBookmark */; 6BA1E89310C7C227008007F6 = 6BA1E89310C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89410C7C227008007F6 = 6BA1E89410C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89510C7C227008007F6 = 6BA1E89510C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89610C7C227008007F6 = 6BA1E89610C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89710C7C227008007F6 = 6BA1E89710C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89810C7C227008007F6 = 6BA1E89810C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89910C7C227008007F6 = 6BA1E89910C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89A10C7C227008007F6 = 6BA1E89A10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89B10C7C227008007F6 = 6BA1E89B10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89C10C7C227008007F6 = 6BA1E89C10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89D10C7C227008007F6 = 6BA1E89D10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89E10C7C227008007F6 = 6BA1E89E10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E89F10C7C227008007F6 = 6BA1E89F10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A010C7C227008007F6 = 6BA1E8A010C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A110C7C227008007F6 = 6BA1E8A110C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A210C7C227008007F6 = 6BA1E8A210C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A310C7C227008007F6 = 6BA1E8A310C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A410C7C227008007F6 = 6BA1E8A410C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A510C7C227008007F6 = 6BA1E8A510C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A610C7C227008007F6 = 6BA1E8A610C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A710C7C227008007F6 = 6BA1E8A710C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A810C7C227008007F6 = 6BA1E8A810C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8A910C7C227008007F6 = 6BA1E8A910C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8AA10C7C227008007F6 = 6BA1E8AA10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8AB10C7C227008007F6 = 6BA1E8AB10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8AC10C7C227008007F6 = 6BA1E8AC10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8AD10C7C227008007F6 = 6BA1E8AD10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8AE10C7C227008007F6 = 6BA1E8AE10C7C227008007F6 /* PBXTextBookmark */; - 6BA1E8AF10C7C227008007F6 = 6BA1E8AF10C7C227008007F6 /* PBXTextBookmark */; 6BA1E8B010C7C5D1008007F6 = 6BA1E8B010C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B110C7C5D1008007F6 = 6BA1E8B110C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B210C7C5D1008007F6 = 6BA1E8B210C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B310C7C5D1008007F6 = 6BA1E8B310C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B410C7C5D1008007F6 = 6BA1E8B410C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B510C7C5D1008007F6 = 6BA1E8B510C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B610C7C5D1008007F6 = 6BA1E8B610C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B710C7C5D1008007F6 = 6BA1E8B710C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B810C7C5D1008007F6 = 6BA1E8B810C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8B910C7C5D1008007F6 = 6BA1E8B910C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8BA10C7C5D1008007F6 = 6BA1E8BA10C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8BB10C7C5D1008007F6 = 6BA1E8BB10C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8BC10C7C5D1008007F6 = 6BA1E8BC10C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8BD10C7C5D1008007F6 = 6BA1E8BD10C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8BE10C7C5D1008007F6 = 6BA1E8BE10C7C5D1008007F6 /* PBXTextBookmark */; - 6BA1E8BF10C7C700008007F6 = 6BA1E8BF10C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C010C7C700008007F6 = 6BA1E8C010C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C110C7C700008007F6 = 6BA1E8C110C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C210C7C700008007F6 = 6BA1E8C210C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C310C7C700008007F6 = 6BA1E8C310C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C410C7C700008007F6 = 6BA1E8C410C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C510C7C700008007F6 = 6BA1E8C510C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C610C7C700008007F6 = 6BA1E8C610C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C710C7C700008007F6 = 6BA1E8C710C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C810C7C700008007F6 = 6BA1E8C810C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8C910C7C700008007F6 = 6BA1E8C910C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8CA10C7C700008007F6 = 6BA1E8CA10C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8CB10C7C700008007F6 = 6BA1E8CB10C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8CC10C7C700008007F6 = 6BA1E8CC10C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8CD10C7C700008007F6 = 6BA1E8CD10C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8CE10C7C700008007F6 = 6BA1E8CE10C7C700008007F6 /* PBXTextBookmark */; - 6BA1E8CF10C7C9A8008007F6 = 6BA1E8CF10C7C9A8008007F6 /* PBXTextBookmark */; - 6BA1E8D010C7C9A8008007F6 = 6BA1E8D010C7C9A8008007F6 /* PBXTextBookmark */; - 6BA1E8D110C7C9A8008007F6 = 6BA1E8D110C7C9A8008007F6 /* PBXTextBookmark */; - 6BA1E8D210C7C9A8008007F6 = 6BA1E8D210C7C9A8008007F6 /* PBXTextBookmark */; - 6BA1E8D310C7CB2E008007F6 = 6BA1E8D310C7CB2E008007F6 /* PBXTextBookmark */; - 6BA1E8D410C7CB2E008007F6 = 6BA1E8D410C7CB2E008007F6 /* PBXTextBookmark */; - 6BA1E8D510C7CB2E008007F6 = 6BA1E8D510C7CB2E008007F6 /* PBXTextBookmark */; - 6BA1E8D610C7CB2E008007F6 = 6BA1E8D610C7CB2E008007F6 /* PBXTextBookmark */; - 6BA1E8D710C7CB2E008007F6 = 6BA1E8D710C7CB2E008007F6 /* PBXTextBookmark */; - 6BA1E8D810C7CB2E008007F6 = 6BA1E8D810C7CB2E008007F6 /* PBXTextBookmark */; - 6BA1E8D910C7CB2E008007F6 = 6BA1E8D910C7CB2E008007F6 /* PBXTextBookmark */; - 6BA1E8DA10C7CB2E008007F6 = 6BA1E8DA10C7CB2E008007F6 /* PBXTextBookmark */; 6BA1E8DB10C7CB62008007F6 = 6BA1E8DB10C7CB62008007F6 /* PBXTextBookmark */; - 6BA1E8DC10C7CB62008007F6 = 6BA1E8DC10C7CB62008007F6 /* PBXTextBookmark */; - 6BA1E8DD10C7CB62008007F6 = 6BA1E8DD10C7CB62008007F6 /* PBXTextBookmark */; - 6BA1E8DE10C7CB62008007F6 = 6BA1E8DE10C7CB62008007F6 /* PBXTextBookmark */; - 6BA1E8E310C7D2FA008007F6 = 6BA1E8E310C7D2FA008007F6 /* PBXTextBookmark */; 6BA1E8E410C7D2FA008007F6 = 6BA1E8E410C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8E510C7D2FA008007F6 = 6BA1E8E510C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8E610C7D2FA008007F6 = 6BA1E8E610C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8E710C7D2FA008007F6 = 6BA1E8E710C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8E810C7D2FA008007F6 = 6BA1E8E810C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8E910C7D2FA008007F6 = 6BA1E8E910C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8EA10C7D2FA008007F6 = 6BA1E8EA10C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8EB10C7D2FA008007F6 = 6BA1E8EB10C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8EC10C7D2FA008007F6 = 6BA1E8EC10C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8ED10C7D2FA008007F6 = 6BA1E8ED10C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8EE10C7D2FA008007F6 = 6BA1E8EE10C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8EF10C7D2FA008007F6 = 6BA1E8EF10C7D2FA008007F6 /* PBXTextBookmark */; - 6BA1E8F010C7D4D9008007F6 = 6BA1E8F010C7D4D9008007F6 /* PBXTextBookmark */; 6BA1E8F110C7D4D9008007F6 = 6BA1E8F110C7D4D9008007F6 /* PBXTextBookmark */; 6BA1E8F210C7D4D9008007F6 = 6BA1E8F210C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8F310C7D4D9008007F6 = 6BA1E8F310C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8F410C7D4D9008007F6 = 6BA1E8F410C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8F510C7D4D9008007F6 = 6BA1E8F510C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8F610C7D4D9008007F6 = 6BA1E8F610C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8F710C7D4D9008007F6 = 6BA1E8F710C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8F810C7D4D9008007F6 = 6BA1E8F810C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8F910C7D4D9008007F6 = 6BA1E8F910C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8FA10C7D4D9008007F6 = 6BA1E8FA10C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E8FB10C7D4D9008007F6 = 6BA1E8FB10C7D4D9008007F6 /* PBXTextBookmark */; - 6BA1E90210C7D850008007F6 = 6BA1E90210C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90310C7D850008007F6 = 6BA1E90310C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90410C7D850008007F6 = 6BA1E90410C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90510C7D850008007F6 = 6BA1E90510C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90610C7D850008007F6 = 6BA1E90610C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90710C7D850008007F6 = 6BA1E90710C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90810C7D850008007F6 = 6BA1E90810C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90910C7D850008007F6 = 6BA1E90910C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90A10C7D850008007F6 = 6BA1E90A10C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90B10C7D850008007F6 = 6BA1E90B10C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90C10C7D850008007F6 = 6BA1E90C10C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90D10C7D850008007F6 = 6BA1E90D10C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90E10C7D850008007F6 = 6BA1E90E10C7D850008007F6 /* PBXTextBookmark */; - 6BA1E90F10C7D850008007F6 = 6BA1E90F10C7D850008007F6 /* PBXTextBookmark */; - 6BA1E91210C7D8A9008007F6 = 6BA1E91210C7D8A9008007F6 /* PBXTextBookmark */; - 6BA1E91310C7D8A9008007F6 = 6BA1E91310C7D8A9008007F6 /* PBXTextBookmark */; - 6BA1E91410C7D8A9008007F6 = 6BA1E91410C7D8A9008007F6 /* PBXTextBookmark */; - 6BA1E91510C7D8A9008007F6 = 6BA1E91510C7D8A9008007F6 /* PBXTextBookmark */; - 6BA1E91610C7D8A9008007F6 = 6BA1E91610C7D8A9008007F6 /* PBXTextBookmark */; - 6BA1E91710C7D8A9008007F6 = 6BA1E91710C7D8A9008007F6 /* PBXTextBookmark */; - 6BA1E91C10C7D966008007F6 = 6BA1E91C10C7D966008007F6 /* PBXTextBookmark */; - 6BA1E91F10C7D999008007F6 = 6BA1E91F10C7D999008007F6 /* PBXTextBookmark */; - 6BA1E92510C7D9E8008007F6 = 6BA1E92510C7D9E8008007F6 /* PBXTextBookmark */; - 6BA1E92B10C7DAA1008007F6 = 6BA1E92B10C7DAA1008007F6 /* PBXTextBookmark */; - 6BA1E92C10C7DAA1008007F6 = 6BA1E92C10C7DAA1008007F6 /* PBXTextBookmark */; - 6BA1E92D10C7DAA1008007F6 = 6BA1E92D10C7DAA1008007F6 /* PBXTextBookmark */; - 6BA1E92E10C7DAA1008007F6 = 6BA1E92E10C7DAA1008007F6 /* PBXTextBookmark */; - 6BA1E92F10C7DAA1008007F6 = 6BA1E92F10C7DAA1008007F6 /* PBXTextBookmark */; - 6BA1E93010C7DAA1008007F6 = 6BA1E93010C7DAA1008007F6 /* PBXTextBookmark */; - 6BA1E93110C7DAA1008007F6 = 6BA1E93110C7DAA1008007F6 /* PBXTextBookmark */; - 6BA1E93710C7DB10008007F6 = 6BA1E93710C7DB10008007F6 /* PBXTextBookmark */; - 6BA1E93810C7DB10008007F6 = 6BA1E93810C7DB10008007F6 /* PBXTextBookmark */; - 6BA1E93910C7DB10008007F6 = 6BA1E93910C7DB10008007F6 /* PBXTextBookmark */; - 6BA1E93A10C7DB10008007F6 = 6BA1E93A10C7DB10008007F6 /* PBXTextBookmark */; - 6BA1E93B10C7DB10008007F6 = 6BA1E93B10C7DB10008007F6 /* PBXTextBookmark */; - 6BA1E93F10C7DB2F008007F6 = 6BA1E93F10C7DB2F008007F6 /* PBXTextBookmark */; - 6BA1E94010C7DB2F008007F6 = 6BA1E94010C7DB2F008007F6 /* PBXTextBookmark */; - 6BA1E94110C7DB2F008007F6 = 6BA1E94110C7DB2F008007F6 /* PBXTextBookmark */; - 6BA1E94210C7DB2F008007F6 = 6BA1E94210C7DB2F008007F6 /* PBXTextBookmark */; - 6BA1E94410C7DB45008007F6 = 6BA1E94410C7DB45008007F6 /* PBXTextBookmark */; - 6BA1E94510C7DB45008007F6 = 6BA1E94510C7DB45008007F6 /* PBXTextBookmark */; - 6BA1E94610C7DB45008007F6 = 6BA1E94610C7DB45008007F6 /* PBXTextBookmark */; - 6BA1E94710C7DB45008007F6 = 6BA1E94710C7DB45008007F6 /* PBXTextBookmark */; - 6BA1E94910C7DB51008007F6 = 6BA1E94910C7DB51008007F6 /* PBXTextBookmark */; - 6BA1E94A10C7DB51008007F6 = 6BA1E94A10C7DB51008007F6 /* PBXTextBookmark */; - 6BA1E94B10C7DB51008007F6 = 6BA1E94B10C7DB51008007F6 /* PBXTextBookmark */; - 6BA1E94C10C7DB51008007F6 = 6BA1E94C10C7DB51008007F6 /* PBXTextBookmark */; - 6BA1E94E10C7DB5C008007F6 = 6BA1E94E10C7DB5C008007F6 /* PBXTextBookmark */; - 6BA1E95110C7DBC6008007F6 = 6BA1E95110C7DBC6008007F6 /* PBXTextBookmark */; - 6BA1E95C10C7DBF9008007F6 = 6BA1E95C10C7DBF9008007F6 /* PBXTextBookmark */; - 6BA1E96310C7DC15008007F6 = 6BA1E96310C7DC15008007F6 /* PBXTextBookmark */; - 6BA1E96910C7DCD1008007F6 = 6BA1E96910C7DCD1008007F6 /* PBXTextBookmark */; - 6BA1E96D10C7DDD6008007F6 = 6BA1E96D10C7DDD6008007F6 /* PBXTextBookmark */; - 6BA1E96E10C7DDD6008007F6 = 6BA1E96E10C7DDD6008007F6 /* PBXTextBookmark */; - 6BA1E96F10C7DDD6008007F6 = 6BA1E96F10C7DDD6008007F6 /* PBXTextBookmark */; - 6BA1E97010C7DDD6008007F6 = 6BA1E97010C7DDD6008007F6 /* PBXTextBookmark */; - 6BA1E97110C7DDD6008007F6 = 6BA1E97110C7DDD6008007F6 /* PBXTextBookmark */; - 6BA1E97410C7DF1F008007F6 = 6BA1E97410C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97510C7DF1F008007F6 = 6BA1E97510C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97610C7DF1F008007F6 = 6BA1E97610C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97710C7DF1F008007F6 = 6BA1E97710C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97810C7DF1F008007F6 = 6BA1E97810C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97910C7DF1F008007F6 = 6BA1E97910C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97A10C7DF1F008007F6 = 6BA1E97A10C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97B10C7DF1F008007F6 = 6BA1E97B10C7DF1F008007F6 /* PBXTextBookmark */; - 6BA1E97E10C7DF98008007F6 = 6BA1E97E10C7DF98008007F6 /* PBXTextBookmark */; - 6BA1E98010C7DFEF008007F6 = 6BA1E98010C7DFEF008007F6 /* PBXTextBookmark */; - 6BA1E98310C7E0B7008007F6 = 6BA1E98310C7E0B7008007F6 /* PBXTextBookmark */; - 6BA1E98410C7E0BF008007F6 = 6BA1E98410C7E0BF008007F6 /* PBXTextBookmark */; - 6BA1E98610C7E0E8008007F6 = 6BA1E98610C7E0E8008007F6 /* PBXTextBookmark */; - 6BA1E98810C7E178008007F6 = 6BA1E98810C7E178008007F6 /* PBXTextBookmark */; - 6BA1E98D10C7EAC3008007F6 = 6BA1E98D10C7EAC3008007F6 /* PBXTextBookmark */; - 6BA1E98E10C7EAC3008007F6 = 6BA1E98E10C7EAC3008007F6 /* PBXTextBookmark */; - 6BA1E98F10C7EAC3008007F6 = 6BA1E98F10C7EAC3008007F6 /* PBXTextBookmark */; - 6BA1E99010C7EAC3008007F6 = 6BA1E99010C7EAC3008007F6 /* PBXTextBookmark */; - 6BA1E99110C7EAC3008007F6 = 6BA1E99110C7EAC3008007F6 /* PBXTextBookmark */; - 6BA1E99310C7EAEF008007F6 = 6BA1E99310C7EAEF008007F6 /* PBXTextBookmark */; - 6BA1E99510C7EB05008007F6 = 6BA1E99510C7EB05008007F6 /* PBXTextBookmark */; - 6BA1E99810C7EB71008007F6 = 6BA1E99810C7EB71008007F6 /* PBXTextBookmark */; - 6BA1E99B10C7EBB0008007F6 = 6BA1E99B10C7EBB0008007F6 /* PBXTextBookmark */; - 6BA1E99D10C7EC0F008007F6 = 6BA1E99D10C7EC0F008007F6 /* PBXTextBookmark */; - 6BA1E99F10C7EC3F008007F6 = 6BA1E99F10C7EC3F008007F6 /* PBXTextBookmark */; - 6BA1E9A110C7EC47008007F6 = 6BA1E9A110C7EC47008007F6 /* PBXTextBookmark */; - 6BA1E9A310C7EC77008007F6 = 6BA1E9A310C7EC77008007F6 /* PBXTextBookmark */; - 6BA1E9A510C7EC93008007F6 = 6BA1E9A510C7EC93008007F6 /* PBXTextBookmark */; - 6BA1E9A710C7ECFF008007F6 = 6BA1E9A710C7ECFF008007F6 /* PBXTextBookmark */; - 6BA1E9A910C7ED0B008007F6 = 6BA1E9A910C7ED0B008007F6 /* PBXTextBookmark */; - 6BA1E9AB10C7F12E008007F6 = 6BA1E9AB10C7F12E008007F6 /* PBXTextBookmark */; - 6BB4964410C8ECF300BC0805 /* PBXTextBookmark */ = 6BB4964410C8ECF300BC0805 /* PBXTextBookmark */; - 6BB4964510C8ECF300BC0805 /* PBXTextBookmark */ = 6BB4964510C8ECF300BC0805 /* PBXTextBookmark */; - 6BB4964610C8ECF300BC0805 /* PBXTextBookmark */ = 6BB4964610C8ECF300BC0805 /* PBXTextBookmark */; - 6BB4964710C8ECF300BC0805 /* PBXTextBookmark */ = 6BB4964710C8ECF300BC0805 /* PBXTextBookmark */; - 6BB4964810C8ECF300BC0805 /* PBXTextBookmark */ = 6BB4964810C8ECF300BC0805 /* PBXTextBookmark */; - 6BB4964910C8ECF300BC0805 /* PBXTextBookmark */ = 6BB4964910C8ECF300BC0805 /* PBXTextBookmark */; - 6BB4964A10C8ECF300BC0805 /* PBXTextBookmark */ = 6BB4964A10C8ECF300BC0805 /* PBXTextBookmark */; - 6BB4965E10C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4965E10C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4965F10C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4965F10C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966010C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966010C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966110C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966110C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966210C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966210C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966310C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966310C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966410C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966410C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966510C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966510C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966610C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966610C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966710C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966710C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966810C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966810C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966910C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966910C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966A10C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966A10C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966B10C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966B10C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4966C10C8F2AE00BC0805 /* PBXTextBookmark */ = 6BB4966C10C8F2AE00BC0805 /* PBXTextBookmark */; - 6BB4967810C8F40700BC0805 /* PBXTextBookmark */ = 6BB4967810C8F40700BC0805 /* PBXTextBookmark */; - 6BB4967910C8F55700BC0805 /* PBXTextBookmark */ = 6BB4967910C8F55700BC0805 /* PBXTextBookmark */; + 6BB4964510C8ECF300BC0805 = 6BB4964510C8ECF300BC0805 /* PBXTextBookmark */; + 6BB4965E10C8F2AE00BC0805 = 6BB4965E10C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4965F10C8F2AE00BC0805 = 6BB4965F10C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966010C8F2AE00BC0805 = 6BB4966010C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966110C8F2AE00BC0805 = 6BB4966110C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966210C8F2AE00BC0805 = 6BB4966210C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966310C8F2AE00BC0805 = 6BB4966310C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966410C8F2AE00BC0805 = 6BB4966410C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966510C8F2AE00BC0805 = 6BB4966510C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966610C8F2AE00BC0805 = 6BB4966610C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966710C8F2AE00BC0805 = 6BB4966710C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966810C8F2AE00BC0805 = 6BB4966810C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966910C8F2AE00BC0805 = 6BB4966910C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4966A10C8F2AE00BC0805 = 6BB4966A10C8F2AE00BC0805 /* PBXTextBookmark */; + 6BB4967C10C8F8F500BC0805 = 6BB4967C10C8F8F500BC0805 /* PBXTextBookmark */; + 6BB4967D10C8F8F500BC0805 = 6BB4967D10C8F8F500BC0805 /* PBXTextBookmark */; + 6BB4967E10C8F8F500BC0805 = 6BB4967E10C8F8F500BC0805 /* PBXTextBookmark */; + 6BB93C8210CFE3B100F74F2B /* PBXTextBookmark */ = 6BB93C8210CFE3B100F74F2B /* PBXTextBookmark */; + 6BB93C8310CFE3B100F74F2B /* PBXTextBookmark */ = 6BB93C8310CFE3B100F74F2B /* PBXTextBookmark */; + 6BB93C8410CFE3B100F74F2B /* PBXTextBookmark */ = 6BB93C8410CFE3B100F74F2B /* PBXTextBookmark */; + 6BB93C8510CFE3B100F74F2B /* PBXTextBookmark */ = 6BB93C8510CFE3B100F74F2B /* PBXTextBookmark */; + 6BB93C8610CFE3B100F74F2B /* PBXTextBookmark */ = 6BB93C8610CFE3B100F74F2B /* PBXTextBookmark */; + 6BB93C8710CFE3B100F74F2B /* PBXTextBookmark */ = 6BB93C8710CFE3B100F74F2B /* PBXTextBookmark */; + 6BB93CCE10CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CCE10CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CCF10CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CCF10CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD010CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD010CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD110CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD110CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD210CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD210CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD310CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD310CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD410CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD410CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD510CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD510CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD610CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD610CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD710CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD710CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD810CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD810CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CD910CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CD910CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CDA10CFEA7A00F74F2B /* PBXTextBookmark */ = 6BB93CDA10CFEA7A00F74F2B /* PBXTextBookmark */; + 6BB93CE710CFEB5D00F74F2B /* PBXTextBookmark */ = 6BB93CE710CFEB5D00F74F2B /* PBXTextBookmark */; + 6BB93CE810CFEB5D00F74F2B /* PBXTextBookmark */ = 6BB93CE810CFEB5D00F74F2B /* PBXTextBookmark */; + 6BB93CE910CFEB5D00F74F2B /* PBXTextBookmark */ = 6BB93CE910CFEB5D00F74F2B /* PBXTextBookmark */; + 6BB93CEA10CFEB5D00F74F2B /* PBXTextBookmark */ = 6BB93CEA10CFEB5D00F74F2B /* PBXTextBookmark */; + 6BB93CEB10CFEB5D00F74F2B /* PBXTextBookmark */ = 6BB93CEB10CFEB5D00F74F2B /* PBXTextBookmark */; + 6BB93CEC10CFEB5D00F74F2B /* PBXTextBookmark */ = 6BB93CEC10CFEB5D00F74F2B /* PBXTextBookmark */; + 6BB93CED10CFEB5D00F74F2B /* PBXTextBookmark */ = 6BB93CED10CFEB5D00F74F2B /* PBXTextBookmark */; + 6BB93CF210CFEBAD00F74F2B /* PBXTextBookmark */ = 6BB93CF210CFEBAD00F74F2B /* PBXTextBookmark */; + 6BB93D0510CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0510CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0610CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0610CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0710CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0710CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0810CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0810CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0910CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0910CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0A10CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0A10CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0B10CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0B10CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0C10CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0C10CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D0D10CFFC1300F74F2B /* PBXTextBookmark */ = 6BB93D0D10CFFC1300F74F2B /* PBXTextBookmark */; + 6BB93D1410CFFC6D00F74F2B /* PBXTextBookmark */ = 6BB93D1410CFFC6D00F74F2B /* PBXTextBookmark */; + 6BB93D1510CFFC6D00F74F2B /* PBXTextBookmark */ = 6BB93D1510CFFC6D00F74F2B /* PBXTextBookmark */; + 6BB93D1610CFFC6D00F74F2B /* PBXTextBookmark */ = 6BB93D1610CFFC6D00F74F2B /* PBXTextBookmark */; + 6BB93D1710CFFC6D00F74F2B /* PBXTextBookmark */ = 6BB93D1710CFFC6D00F74F2B /* PBXTextBookmark */; + 6BB93D1B10CFFD7600F74F2B /* PBXTextBookmark */ = 6BB93D1B10CFFD7600F74F2B /* PBXTextBookmark */; + 6BB93D1C10CFFD7600F74F2B /* PBXTextBookmark */ = 6BB93D1C10CFFD7600F74F2B /* PBXTextBookmark */; + 6BB93D1D10CFFD7600F74F2B /* PBXTextBookmark */ = 6BB93D1D10CFFD7600F74F2B /* PBXTextBookmark */; 6BF2589310BE6F220061DCC9 = 6BF2589310BE6F220061DCC9 /* PBXTextBookmark */; - 6BF2589B10BEADD20061DCC9 = 6BF2589B10BEADD20061DCC9 /* PBXTextBookmark */; - 6BF2589C10BEADD20061DCC9 = 6BF2589C10BEADD20061DCC9 /* PBXTextBookmark */; - 6BF2589D10BEADD20061DCC9 = 6BF2589D10BEADD20061DCC9 /* PBXTextBookmark */; - 6BF2589E10BEADD20061DCC9 = 6BF2589E10BEADD20061DCC9 /* PBXTextBookmark */; }; sourceControlManager = 6B8632A90F78115100E2684A /* Source Control */; userBookmarkGroup = 6B8DE6F010A88F0500DF20FB /* PBXBookmarkGroup */; @@ -628,24 +314,6 @@ name = DetourTileNavMeshBuilder.h; path = /Users/memon/Code/recastnavigation/Detour/Include/DetourTileNavMeshBuilder.h; sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 489}}"; - sepNavSelRange = "{1461, 0}"; - sepNavVisRange = "{0, 1461}"; - }; - }; - 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.cpp.cpp; - name = DetourTileNavMeshBuilder.cpp; - path = /Users/memon/Code/recastnavigation/Detour/Source/DetourTileNavMeshBuilder.cpp; - sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 3408}}"; - sepNavSelRange = "{4890, 0}"; - sepNavVisRange = "{4647, 399}"; - }; }; 6B1185F41006895B0018F96F /* DetourNode.cpp */ = { uiCtxt = { @@ -719,12 +387,18 @@ }; 6B137C7E0F7FCBFE00459200 /* Recast.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 9520}}"; - sepNavSelRange = "{11550, 0}"; - sepNavVisRange = "{11371, 409}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 9200}}"; + sepNavSelRange = "{11131, 0}"; + sepNavVisRange = "{10860, 552}"; }; }; 6B137C7F0F7FCBFE00459200 /* RecastDebugDraw.h */ = { + isa = PBXFileReference; + fileEncoding = 4; + lastKnownFileType = sourcecode.c.h; + name = RecastDebugDraw.h; + path = /Users/memon/Code/recastnavigation/Recast/Include/RecastDebugDraw.h; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {915, 2016}}"; sepNavSelRange = "{1492, 0}"; @@ -761,6 +435,12 @@ }; }; 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */ = { + isa = PBXFileReference; + fileEncoding = 4; + lastKnownFileType = sourcecode.cpp.cpp; + name = RecastDebugDraw.cpp; + path = /Users/memon/Code/recastnavigation/Recast/Source/RecastDebugDraw.cpp; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {922, 14544}}"; sepNavSelRange = "{8787, 0}"; @@ -812,42 +492,18 @@ }; 6B25B6100FFA62AD004F1BC4 /* Sample.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 1056}}"; - sepNavSelRange = "{141, 0}"; - sepNavVisRange = "{0, 588}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 1072}}"; + sepNavSelRange = "{161, 0}"; + sepNavVisRange = "{0, 508}"; }; }; - 6B25B6110FFA62AD004F1BC4 /* Sample_StatMesh.h */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.c.h; - name = Sample_StatMesh.h; - path = /Users/memon/Code/recastnavigation/RecastDemo/Include/Sample_StatMesh.h; - sourceTree = ""; - }; - 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.c.h; - name = Sample_StatMeshSimple.h; - path = /Users/memon/Code/recastnavigation/RecastDemo/Include/Sample_StatMeshSimple.h; - sourceTree = ""; - }; 6B25B6140FFA62BE004F1BC4 /* Sample.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 2832}}"; - sepNavSelRange = "{3158, 0}"; - sepNavVisRange = "{2145, 1081}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 3088}}"; + sepNavSelRange = "{1183, 0}"; + sepNavVisRange = "{1148, 514}"; }; }; - 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.cpp.cpp; - name = Sample_StatMesh.cpp; - path = /Users/memon/Code/recastnavigation/RecastDemo/Source/Sample_StatMesh.cpp; - sourceTree = ""; - }; 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */ = { isa = PBXFileReference; fileEncoding = 4; @@ -873,27 +529,11 @@ }; 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 15728}}"; - sepNavSelRange = "{3081, 0}"; - sepNavVisRange = "{2889, 731}"; + sepNavIntBoundsRect = "{{0, 0}, {1223, 15536}}"; + sepNavSelRange = "{12939, 0}"; + sepNavVisRange = "{12811, 672}"; }; }; - 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.cpp.cpp; - name = Sample_StatMeshTiled.cpp; - path = /Users/memon/Code/recastnavigation/RecastDemo/Source/Sample_StatMeshTiled.cpp; - sourceTree = ""; - }; - 6B2AEC570FFB89F4005BE9CC /* Sample_StatMeshTiled.h */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.c.h; - name = Sample_StatMeshTiled.h; - path = /Users/memon/Code/recastnavigation/RecastDemo/Include/Sample_StatMeshTiled.h; - sourceTree = ""; - }; 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */ = { isa = PBXFileReference; fileEncoding = 4; @@ -901,11 +541,6 @@ name = DetourTileNavMesh.h; path = /Users/memon/Code/recastnavigation/Detour/Include/DetourTileNavMesh.h; sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 4976}}"; - sepNavSelRange = "{12743, 0}"; - sepNavVisRange = "{11793, 1250}"; - }; }; 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */ = { isa = PBXFileReference; @@ -914,51 +549,6 @@ name = DetourTileNavMesh.cpp; path = /Users/memon/Code/recastnavigation/Detour/Source/DetourTileNavMesh.cpp; sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 22304}}"; - sepNavSelRange = "{9271, 0}"; - sepNavVisRange = "{8764, 799}"; - }; - }; - 6B3BFADF107A80E1006284CD /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; - name = "RecastMesh.cpp: 998"; - rLen = 0; - rLoc = 24957; - rType = 0; - vrLen = 701; - vrLoc = 24755; - }; - 6B3BFB0D107A8979006284CD /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; - name = "Sample_StatMeshSimple.h: 50"; - rLen = 0; - rLoc = 960; - rType = 0; - vrLen = 850; - vrLoc = 596; - }; - 6B3BFB12107A8979006284CD /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; - name = "Sample_StatMeshSimple.h: 50"; - rLen = 0; - rLoc = 960; - rType = 0; - vrLen = 850; - vrLoc = 596; - }; - 6B3BFB13107A8979006284CD /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 506"; - rLen = 0; - rLoc = 15455; - rType = 0; - vrLen = 969; - vrLoc = 13733; }; 6B4C5232104FC1F600E88FB8 /* Recast.cpp:281 */ = { isa = PBXFileBreakpoint; @@ -1027,26 +617,6 @@ vrLen = 415; vrLoc = 1195; }; - 6B57D35B108C66B200DDD053 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C6C0F7FCBBB00459200 /* imgui.cpp */; - name = "imgui.cpp: 36"; - rLen = 0; - rLoc = 1365; - rType = 0; - vrLen = 415; - vrLoc = 1195; - }; - 6B57D376108C692900DDD053 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 224"; - rLen = 0; - rLoc = 8486; - rType = 0; - vrLen = 371; - vrLoc = 8178; - }; 6B57D37B108C699200DDD053 /* RecastMeshDetail.cpp:252 */ = { isa = PBXFileBreakpoint; actions = ( @@ -1061,44 +631,10 @@ ignoreCount = 0; lineNumber = 252; location = Recast; - modificationTime = 281534653.9078139; + modificationTime = 281534653.9078138; originalNumberOfMultipleMatches = 0; state = 1; }; - 6B57D38F108C69E400DDD053 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B57D390108C69E400DDD053 /* main.cpp */; - name = "main.cpp: 1027"; - rLen = 75; - rLoc = 21634; - rType = 0; - vrLen = 785; - vrLoc = 21014; - }; - 6B57D390108C69E400DDD053 /* main.cpp */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = main.cpp; - path = /Users/memon/Code/polytes/main.cpp; - sourceTree = ""; - }; - 6B57D393108C69E400DDD053 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B57D394108C69E400DDD053 /* main.cpp */; - name = "main.cpp: 1027"; - rLen = 75; - rLoc = 21634; - rType = 0; - vrLen = 785; - vrLoc = 21014; - }; - 6B57D394108C69E400DDD053 /* main.cpp */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = main.cpp; - path = /Users/memon/Code/polytes/main.cpp; - sourceTree = ""; - }; 6B624169103434880002E346 /* RecastMeshDetail.cpp */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {915, 19152}}"; @@ -1107,46 +643,6 @@ sepNavWindowFrame = "{{61, 36}, {1011, 695}}"; }; }; - 6B6FA3611070C102009B0572 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; - name = "main.cpp: 578"; - rLen = 0; - rLoc = 12947; - rType = 0; - vrLen = 649; - vrLoc = 12515; - }; - 6B6FA36B1070C1F7009B0572 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; - name = "DetourStatNavMeshBuilder.cpp: 335"; - rLen = 0; - rLoc = 9171; - rType = 0; - vrLen = 982; - vrLoc = 8278; - }; - 6B6FA3B81076452F009B0572 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B624169103434880002E346 /* RecastMeshDetail.cpp */; - name = "RecastMeshDetail.cpp: 297"; - rLen = 0; - rLoc = 2843; - rType = 0; - vrLen = 870; - vrLoc = 7634; - }; - 6B6FA3BA1076452F009B0572 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 123"; - rLen = 0; - rLoc = 3474; - rType = 0; - vrLen = 769; - vrLoc = 3281; - }; 6B7FB74D1091EBDE001BA51A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C880F7FCC1100459200 /* RecastRasterization.cpp */; @@ -1157,26 +653,6 @@ vrLen = 942; vrLoc = 8661; }; - 6B7FB7541091EBDE001BA51A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C880F7FCC1100459200 /* RecastRasterization.cpp */; - name = "RecastRasterization.cpp: 334"; - rLen = 0; - rLoc = 8929; - rType = 0; - vrLen = 1005; - vrLoc = 8499; - }; - 6B7FB7571091EBDE001BA51A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 112"; - rLen = 0; - rLoc = 4559; - rType = 0; - vrLen = 1086; - vrLoc = 3771; - }; 6B8632970F78114600E2684A /* Recast */ = { isa = PBXExecutable; activeArgIndices = ( @@ -1230,23 +706,6 @@ ); name = Root; }; - 6B8DE70110B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE70210B01BBF00DF20FB /* serialize.cpp */; - name = "serialize.cpp: 109"; - rLen = 0; - rLoc = 1931; - rType = 0; - vrLen = 652; - vrLoc = 1586; - }; - 6B8DE70210B01BBF00DF20FB /* serialize.cpp */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = serialize.cpp; - path = "/Users/memon/Public/Drop Box/sx/ZenBoundEditor/dev/src/serialize.cpp"; - sourceTree = ""; - }; 6B8DE70D10B01BBF00DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B8DE70E10B01BBF00DF20FB /* string.h */; @@ -1264,110 +723,6 @@ path = /Developer/SDKs/MacOSX10.5.sdk/usr/include/string.h; sourceTree = ""; }; - 6B8DE71210B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C830F7FCC1100459200 /* RecastContour.cpp */; - name = "RecastContour.cpp: 443"; - rLen = 0; - rLoc = 11426; - rType = 0; - vrLen = 898; - vrLoc = 10897; - }; - 6B8DE71510B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE71610B01BBF00DF20FB /* serialize.cpp */; - name = "serialize.cpp: 109"; - rLen = 0; - rLoc = 1931; - rType = 0; - vrLen = 652; - vrLoc = 1586; - }; - 6B8DE71610B01BBF00DF20FB /* serialize.cpp */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = serialize.cpp; - path = "/Users/memon/Public/Drop Box/sx/ZenBoundEditor/dev/src/serialize.cpp"; - sourceTree = ""; - }; - 6B8DE71710B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; - name = "DetourNode.h: 126"; - rLen = 0; - rLoc = 2644; - rType = 0; - vrLen = 501; - vrLoc = 2453; - }; - 6B8DE71810B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 86"; - rLen = 0; - rLoc = 2322; - rType = 0; - vrLen = 660; - vrLoc = 2449; - }; - 6B8DE72210B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 163"; - rLen = 0; - rLoc = 6281; - rType = 0; - vrLen = 1175; - vrLoc = 5757; - }; - 6B8DE72B10B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */; - name = "DetourTileNavMeshBuilder.cpp: 138"; - rLen = 0; - rLoc = 4385; - rType = 0; - vrLen = 558; - vrLoc = 2421; - }; - 6B8DE72F10B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C850F7FCC1100459200 /* RecastFilter.cpp */; - name = "RecastFilter.cpp: 77"; - rLen = 58; - rLoc = 2482; - rType = 0; - vrLen = 1400; - vrLoc = 1803; - }; - 6B8DE73710B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C890F7FCC1100459200 /* RecastRegion.cpp */; - name = "RecastRegion.cpp: 1039"; - rLen = 0; - rLoc = 25124; - rType = 0; - vrLen = 643; - vrLoc = 25070; - }; - 6B8DE73B10B01BBF00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE73C10B01BBF00DF20FB /* string.h */; - name = "string.h: 78"; - rLen = 0; - rLoc = 3263; - rType = 0; - vrLen = 834; - vrLoc = 2921; - }; - 6B8DE73C10B01BBF00DF20FB /* string.h */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = string.h; - path = /Developer/SDKs/MacOSX10.5.sdk/usr/include/string.h; - sourceTree = ""; - }; 6B8DE76D10B0243500DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C850F7FCC1100459200 /* RecastFilter.cpp */; @@ -1378,36 +733,6 @@ vrLen = 1001; vrLoc = 1843; }; - 6B8DE7A110B0404100DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7F0F7FCBFE00459200 /* RecastDebugDraw.h */; - name = "RecastDebugDraw.h: 36"; - rLen = 0; - rLoc = 2840; - rType = 0; - vrLen = 1638; - vrLoc = 1160; - }; - 6B8DE7CD10B04B7F00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 292"; - rLen = 0; - rLoc = 7373; - rType = 0; - vrLen = 795; - vrLoc = 6877; - }; - 6B8DE7D510B04C5000DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 609"; - rLen = 0; - rLoc = 1099; - rType = 0; - vrLen = 1297; - vrLoc = 15422; - }; 6B8DE7F110B0517A00DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B555DAE100B211D00247EA3 /* imguiRenderGL.h */; @@ -1423,91 +748,11 @@ fRef = 6B25B6100FFA62AD004F1BC4 /* Sample.h */; name = "Sample.h: 8"; rLen = 0; - rLoc = 141; + rLoc = 135; rType = 0; vrLen = 588; vrLoc = 0; }; - 6B8DE7F710B0517A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 148"; - rLen = 19; - rLoc = 4642; - rType = 0; - vrLen = 538; - vrLoc = 4371; - }; - 6B8DE7F810B0517A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 384"; - rLen = 0; - rLoc = 10666; - rType = 0; - vrLen = 695; - vrLoc = 10487; - }; - 6B8DE80710B0517A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B555DAE100B211D00247EA3 /* imguiRenderGL.h */; - name = "imguiRenderGL.h: 17"; - rLen = 0; - rLoc = 917; - rType = 0; - vrLen = 1101; - vrLoc = 0; - }; - 6B8DE80810B0517A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6100FFA62AD004F1BC4 /* Sample.h */; - name = "Sample.h: 6"; - rLen = 293; - rLoc = 77; - rType = 0; - vrLen = 459; - vrLoc = 799; - }; - 6B8DE80910B0517A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6140FFA62BE004F1BC4 /* Sample.cpp */; - name = "Sample.cpp: 5"; - rLen = 0; - rLoc = 102; - rType = 0; - vrLen = 498; - vrLoc = 0; - }; - 6B8DE81810B0517A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 174"; - rLen = 0; - rLoc = 5607; - rType = 0; - vrLen = 542; - vrLoc = 5492; - }; - 6B8DE82310B0528100DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; - name = "DetourDebugDraw.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1279; - vrLoc = 0; - }; - 6B8DE82410B0528100DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 330"; - rLen = 0; - rLoc = 2279; - rType = 0; - vrLen = 566; - vrLoc = 8078; - }; 6B8DE84910B0584400DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; @@ -1518,26 +763,6 @@ vrLen = 460; vrLoc = 252; }; - 6B8DE84A10B0584400DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 469"; - rLen = 367; - rLoc = 15867; - rType = 0; - vrLen = 1132; - vrLoc = 15362; - }; - 6B8DE84E10B0584400DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */; - name = "RecastTimer.cpp: 29"; - rLen = 0; - rLoc = 471; - rType = 0; - vrLen = 460; - vrLoc = 252; - }; 6B8DE85210B6873400DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C7F0F7FCBFE00459200 /* RecastDebugDraw.h */; @@ -1548,36 +773,6 @@ vrLen = 884; vrLoc = 1106; }; - 6B8DE86210B6899100DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E060F91112200904EEF /* DetourStatNavMeshBuilder.h */; - name = "DetourStatNavMeshBuilder.h: 17"; - rLen = 0; - rLoc = 917; - rType = 0; - vrLen = 1416; - vrLoc = 0; - }; - 6B8DE86410B6899100DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 128"; - rLen = 48; - rLoc = 3842; - rType = 0; - vrLen = 508; - vrLoc = 3058; - }; - 6B8DE87F10B68A7500DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B092B920FFCC2AC0088D3A5 /* DetourTileNavMeshBuilder.h */; - name = "DetourTileNavMeshBuilder.h: 29"; - rLen = 0; - rLoc = 1461; - rType = 0; - vrLen = 1461; - vrLoc = 0; - }; 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {915, 26800}}"; @@ -1594,16 +789,16 @@ }; 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 6352}}"; - sepNavSelRange = "{15903, 0}"; - sepNavVisRange = "{14651, 1252}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 6016}}"; + sepNavSelRange = "{1178, 0}"; + sepNavVisRange = "{915, 1064}"; }; }; 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 480}}"; - sepNavSelRange = "{982, 422}"; - sepNavVisRange = "{56, 1382}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 495}}"; + sepNavSelRange = "{829, 0}"; + sepNavVisRange = "{0, 1438}"; }; }; 6B8DE89210B6A4B900DF20FB /* PBXTextBookmark */ = { @@ -1636,172 +831,6 @@ vrLen = 1461; vrLoc = 0; }; - 6B8DE8A110B6B3F800DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; - name = "DetourDebugDraw.h: 22"; - rLen = 27; - rLoc = 972; - rType = 0; - vrLen = 1110; - vrLoc = 516; - }; - 6B8DE8A310B6B3F800DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC590FFB8A7A005BE9CC /* DetourTileNavMesh.cpp */; - name = "DetourTileNavMesh.cpp: 341"; - rLen = 0; - rLoc = 9271; - rType = 0; - vrLen = 799; - vrLoc = 8764; - }; - 6B8DE8A810B6B3F800DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 109"; - rLen = 0; - rLoc = 3055; - rType = 0; - vrLen = 685; - vrLoc = 2783; - }; - 6B8DE8CA10B6B3F800DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 251"; - rLen = 0; - rLoc = 12708; - rType = 0; - vrLen = 1154; - vrLoc = 9966; - }; - 6B8DE8E710B6B59A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */; - name = "DetourNavMeshBuilder.h: 12"; - rLen = 0; - rLoc = 646; - rType = 0; - vrLen = 1310; - vrLoc = 128; - }; - 6B8DE8E910B6B59A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC570FFB89F4005BE9CC /* Sample_StatMeshTiled.h */; - name = "Sample_StatMeshTiled.h: 32"; - rLen = 0; - rLoc = 777; - rType = 0; - vrLen = 918; - vrLoc = 270; - }; - 6B8DE8EA10B6B59A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC510FFB8946005BE9CC /* Sample_TileMesh.h */; - name = "Sample_TileMesh.h: 98"; - rLen = 0; - rLoc = 939; - rType = 0; - vrLen = 872; - vrLoc = 2084; - }; - 6B8DE8ED10B6B59A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; - name = "DetourNavMeshBuilder.cpp: 23"; - rLen = 0; - rLoc = 1012; - rType = 0; - vrLen = 1271; - vrLoc = 59; - }; - 6B8DE8EE10B6B59A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */; - name = "DetourNavMeshBuilder.h: 12"; - rLen = 0; - rLoc = 646; - rType = 0; - vrLen = 1310; - vrLoc = 128; - }; - 6B8DE8F010B6B59A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC570FFB89F4005BE9CC /* Sample_StatMeshTiled.h */; - name = "Sample_StatMeshTiled.h: 32"; - rLen = 0; - rLoc = 777; - rType = 0; - vrLen = 918; - vrLoc = 270; - }; - 6B8DE8F110B6B59A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC510FFB8946005BE9CC /* Sample_TileMesh.h */; - name = "Sample_TileMesh.h: 98"; - rLen = 0; - rLoc = 939; - rType = 0; - vrLen = 872; - vrLoc = 2084; - }; - 6B8DE8F610B6B70100DF20FB /* Sample_DynMesh.h */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.c.h; - name = Sample_DynMesh.h; - path = /Users/memon/Code/recastnavigation/RecastDemo/Include/Sample_DynMesh.h; - sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 1872}}"; - sepNavSelRange = "{0, 2946}"; - sepNavVisRange = "{1478, 651}"; - }; - }; - 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.cpp.cpp; - name = Sample_DynMesh.cpp; - path = /Users/memon/Code/recastnavigation/RecastDemo/Source/Sample_DynMesh.cpp; - sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1223, 14912}}"; - sepNavSelRange = "{0, 27828}"; - sepNavVisRange = "{23079, 1267}"; - }; - }; - 6B8DE90210B6B76800DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F610B6B70100DF20FB /* Sample_DynMesh.h */; - name = "Sample_DynMesh.h: 114"; - rLen = 0; - rLoc = 2945; - rType = 0; - vrLen = 792; - vrLoc = 2154; - }; - 6B8DE90310B6B76800DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */; - name = "Sample_DynMesh.cpp: 34"; - rLen = 0; - rLoc = 1274; - rType = 0; - vrLen = 832; - vrLoc = 591; - }; - 6B8DE92D10B6BCDA00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 280"; - rLen = 0; - rLoc = 6944; - rType = 0; - vrLen = 726; - vrLoc = 6609; - }; 6B8DE98B10B6C53B00DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6BDD9E060F91112200904EEF /* DetourStatNavMeshBuilder.h */; @@ -1812,16 +841,6 @@ vrLen = 1416; vrLoc = 0; }; - 6B8DE98C10B6C53B00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 269"; - rLen = 0; - rLoc = 11301; - rType = 0; - vrLen = 1250; - vrLoc = 11793; - }; 6B8DE98E10B6C53B00DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */; @@ -1832,36 +851,6 @@ vrLen = 875; vrLoc = 8055; }; - 6B8DEA0110B6CA1500DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 122"; - rLen = 0; - rLoc = 2972; - rType = 0; - vrLen = 584; - vrLoc = 2683; - }; - 6B8DEA0310B6CA1500DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; - name = "DetourNavMeshBuilder.cpp: 182"; - rLen = 0; - rLoc = 4582; - rType = 0; - vrLen = 911; - vrLoc = 4585; - }; - 6B8DEA3610B6CBC200DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 289"; - rLen = 0; - rLoc = 13574; - rType = 0; - vrLen = 1428; - vrLoc = 11074; - }; 6B8DEA3810B6CBC200DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B1185F61006896B0018F96F /* DetourNode.h */; @@ -1877,51 +866,11 @@ fRef = 6B25B6140FFA62BE004F1BC4 /* Sample.cpp */; name = "Sample.cpp: 152"; rLen = 0; - rLoc = 3158; + rLoc = 3149; rType = 0; vrLen = 1081; vrLoc = 2145; }; - 6B8DEA6610B6CF6400DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; - name = "main.cpp: 566"; - rLen = 36; - rLoc = 12630; - rType = 0; - vrLen = 681; - vrLoc = 12381; - }; - 6B8DEA6710B6CF6400DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F610B6B70100DF20FB /* Sample_DynMesh.h */; - name = "Sample_DynMesh.h: 89"; - rLen = 0; - rLoc = 2247; - rType = 0; - vrLen = 631; - vrLoc = 1496; - }; - 6B8DEA7710B6CFC900DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */; - name = "Sample_DynMesh.cpp: 541"; - rLen = 0; - rLoc = 14018; - rType = 0; - vrLen = 605; - vrLoc = 13698; - }; - 6B8DEA8210B6E15A00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 33"; - rLen = 0; - rLoc = 1017; - rType = 0; - vrLen = 812; - vrLoc = 948; - }; 6B8DEA8A10B6E1C900DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */; @@ -1932,36 +881,6 @@ vrLen = 853; vrLoc = 8263; }; - 6B8DEA9210B9463100DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C820F7FCC1100459200 /* Recast.cpp */; - name = "Recast.cpp: 188"; - rLen = 0; - rLoc = 5012; - rType = 0; - vrLen = 799; - vrLoc = 4637; - }; - 6B8DEA9710B9465F00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 186"; - rLen = 0; - rLoc = 7223; - rType = 0; - vrLen = 2006; - vrLoc = 6251; - }; - 6B8DEA9E10BC7BCD00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 165"; - rLen = 0; - rLoc = 4648; - rType = 0; - vrLen = 1301; - vrLoc = 3641; - }; 6B8DEAA110BC7BCD00DF20FB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C830F7FCC1100459200 /* RecastContour.cpp */; @@ -1972,26 +891,6 @@ vrLen = 968; vrLoc = 14592; }; - 6B8DEAA210BC7BCD00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B624169103434880002E346 /* RecastMeshDetail.cpp */; - name = "RecastMeshDetail.cpp: 1049"; - rLen = 0; - rLoc = 25161; - rType = 0; - vrLen = 1166; - vrLoc = 24642; - }; - 6B8DEAA610BC7BCD00DF20FB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 168"; - rLen = 84; - rLoc = 4245; - rType = 0; - vrLen = 643; - vrLoc = 3999; - }; 6B9301521032F08300F0C0DA /* Recast.cpp:281 */ = { isa = PBXFileBreakpoint; actions = ( @@ -2028,16 +927,6 @@ originalNumberOfMultipleMatches = 0; state = 2; }; - 6B9BE374107BC6A40036CC81 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */; - name = "RecastDebugDraw.cpp: 714"; - rLen = 0; - rLoc = 1309; - rType = 0; - vrLen = 1030; - vrLoc = 16250; - }; 6B9D0891102715D5009B1A6C /* RecastTexture.cpp */ = { isa = PBXFileReference; fileEncoding = 4; @@ -2091,56 +980,6 @@ vrLen = 965; vrLoc = 2102; }; - 6BA1E63C10C1DB5B008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C820F7FCC1100459200 /* Recast.cpp */; - name = "Recast.cpp: 84"; - rLen = 0; - rLoc = 2355; - rType = 0; - vrLen = 965; - vrLoc = 2102; - }; - 6BA1E66910C50A35008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */; - name = "DetourTileNavMeshBuilder.cpp: 162"; - rLen = 0; - rLoc = 4890; - rType = 0; - vrLen = 1090; - vrLoc = 4647; - }; - 6BA1E66A10C50A35008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C890F7FCC1100459200 /* RecastRegion.cpp */; - name = "RecastRegion.cpp: 1032"; - rLen = 0; - rLoc = 24909; - rType = 0; - vrLen = 1130; - vrLoc = 24335; - }; - 6BA1E66B10C50A35008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B092B930FFCC2BD0088D3A5 /* DetourTileNavMeshBuilder.cpp */; - name = "DetourTileNavMeshBuilder.cpp: 162"; - rLen = 0; - rLoc = 4890; - rType = 0; - vrLen = 1090; - vrLoc = 4647; - }; - 6BA1E66C10C50A35008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C890F7FCC1100459200 /* RecastRegion.cpp */; - name = "RecastRegion.cpp: 1156"; - rLen = 0; - rLoc = 27769; - rType = 0; - vrLen = 1382; - vrLoc = 27642; - }; 6BA1E7F210C7B3FF008007F6 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B137C890F7FCC1100459200 /* RecastRegion.cpp */; @@ -2151,196 +990,6 @@ vrLen = 1382; vrLoc = 27642; }; - 6BA1E7F310C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */; - name = "Sample_DynMesh.cpp: 541"; - rLen = 0; - rLoc = 13962; - rType = 0; - vrLen = 520; - vrLoc = 13698; - }; - 6BA1E7F410C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 761"; - rLen = 0; - rLoc = 21823; - rType = 0; - vrLen = 592; - vrLoc = 19593; - }; - 6BA1E7F510C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 127"; - rLen = 0; - rLoc = 4814; - rType = 0; - vrLen = 1488; - vrLoc = 3632; - }; - 6BA1E7F610C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C890F7FCC1100459200 /* RecastRegion.cpp */; - name = "RecastRegion.cpp: 1163"; - rLen = 0; - rLoc = 28019; - rType = 0; - vrLen = 1382; - vrLoc = 27642; - }; - 6BA1E7F710C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 125"; - rLen = 27; - rLoc = 4938; - rType = 0; - vrLen = 1585; - vrLoc = 3831; - }; - 6BA1E7F810C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 742"; - rLen = 0; - rLoc = 21300; - rType = 0; - vrLen = 1054; - vrLoc = 18832; - }; - 6BA1E7F910C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 321"; - rLen = 0; - rLoc = 14958; - rType = 0; - vrLen = 1290; - vrLoc = 12186; - }; - 6BA1E7FA10C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 89"; - rLen = 0; - rLoc = 2955; - rType = 0; - vrLen = 855; - vrLoc = 2570; - }; - 6BA1E7FB10C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 321"; - rLen = 0; - rLoc = 14958; - rType = 0; - vrLen = 1290; - vrLoc = 12186; - }; - 6BA1E7FC10C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 89"; - rLen = 0; - rLoc = 2955; - rType = 0; - vrLen = 855; - vrLoc = 2570; - }; - 6BA1E7FD10C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 321"; - rLen = 0; - rLoc = 14958; - rType = 0; - vrLen = 1290; - vrLoc = 12186; - }; - 6BA1E7FE10C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 748"; - rLen = 0; - rLoc = 21562; - rType = 0; - vrLen = 1050; - vrLoc = 18781; - }; - 6BA1E7FF10C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 127"; - rLen = 0; - rLoc = 4814; - rType = 0; - vrLen = 1488; - vrLoc = 3632; - }; - 6BA1E80010C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 755"; - rLen = 0; - rLoc = 21693; - rType = 0; - vrLen = 767; - vrLoc = 18904; - }; - 6BA1E80110C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */; - name = "Sample_DynMesh.cpp: 541"; - rLen = 0; - rLoc = 13962; - rType = 0; - vrLen = 520; - vrLoc = 13698; - }; - 6BA1E80210C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 761"; - rLen = 0; - rLoc = 21823; - rType = 0; - vrLen = 592; - vrLoc = 19593; - }; - 6BA1E80310C7B3FF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 273"; - rLen = 0; - rLoc = 12659; - rType = 0; - vrLen = 1438; - vrLoc = 10187; - }; - 6BA1E81D10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6110FFA62AD004F1BC4 /* Sample_StatMesh.h */; - name = "Sample_StatMesh.h: 56"; - rLen = 0; - rLoc = 1023; - rType = 0; - vrLen = 748; - vrLoc = 539; - }; - 6BA1E81E10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; - name = "DetourDebugDraw.h: 33"; - rLen = 0; - rLoc = 1000; - rType = 0; - vrLen = 1652; - vrLoc = 3; - }; 6BA1E81F10C7BB85008007F6 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; @@ -2361,703 +1010,6 @@ vrLen = 847; vrLoc = 22785; }; - 6BA1E82110C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 576"; - rLen = 0; - rLoc = 4001; - rType = 0; - vrLen = 610; - vrLoc = 14492; - }; - 6BA1E82210C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 241"; - rLen = 0; - rLoc = 1099; - rType = 0; - vrLen = 593; - vrLoc = 5716; - }; - 6BA1E82310C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */; - name = "Sample_DynMesh.cpp: 873"; - rLen = 310; - rLoc = 23786; - rType = 0; - vrLen = 1142; - vrLoc = 23187; - }; - 6BA1E82410C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; - name = "Sample_StatMeshSimple.h: 50"; - rLen = 0; - rLoc = 960; - rType = 0; - vrLen = 741; - vrLoc = 632; - }; - 6BA1E82510C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; - name = "DetourNavMeshBuilder.cpp: 379"; - rLen = 0; - rLoc = 9869; - rType = 0; - vrLen = 953; - vrLoc = 9428; - }; - 6BA1E82610C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */; - name = "DetourNavMeshBuilder.h: 22"; - rLen = 422; - rLoc = 982; - rType = 0; - vrLen = 1382; - vrLoc = 56; - }; - 6BA1E82710C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 191"; - rLen = 0; - rLoc = 4243; - rType = 0; - vrLen = 598; - vrLoc = 4135; - }; - 6BA1E82810C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 134"; - rLen = 0; - rLoc = 5086; - rType = 0; - vrLen = 1354; - vrLoc = 4460; - }; - 6BA1E82910C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 516"; - rLen = 192; - rLoc = 15541; - rType = 0; - vrLen = 1197; - vrLoc = 15428; - }; - 6BA1E82A10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 935"; - rLen = 0; - rLoc = 26709; - rType = 0; - vrLen = 1084; - vrLoc = 26491; - }; - 6BA1E82B10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - rLen = 1; - rLoc = 348; - rType = 1; - }; - 6BA1E82C10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 275"; - rLen = 0; - rLoc = 12659; - rType = 0; - vrLen = 1438; - vrLoc = 10187; - }; - 6BA1E82D10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6110FFA62AD004F1BC4 /* Sample_StatMesh.h */; - name = "Sample_StatMesh.h: 56"; - rLen = 0; - rLoc = 1023; - rType = 0; - vrLen = 748; - vrLoc = 539; - }; - 6BA1E82E10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 207"; - rLen = 0; - rLoc = 4661; - rType = 0; - vrLen = 687; - vrLoc = 4210; - }; - 6BA1E82F10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */; - name = "DetourDebugDraw.h: 33"; - rLen = 0; - rLoc = 1000; - rType = 0; - vrLen = 1652; - vrLoc = 3; - }; - 6BA1E83010C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 577"; - rLen = 0; - rLoc = 4049; - rType = 0; - vrLen = 826; - vrLoc = 14158; - }; - 6BA1E83110C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 577"; - rLen = 0; - rLoc = 4008; - rType = 0; - vrLen = 862; - vrLoc = 14277; - }; - 6BA1E83210C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 303"; - rLen = 0; - rLoc = 13572; - rType = 0; - vrLen = 1254; - vrLoc = 11406; - }; - 6BA1E83310C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E050F91112200904EEF /* DetourStatNavMesh.h */; - name = "DetourStatNavMesh.h: 209"; - rLen = 47; - rLoc = 8514; - rType = 0; - vrLen = 1866; - vrLoc = 7491; - }; - 6BA1E83410C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 287"; - rLen = 43; - rLoc = 13033; - rType = 0; - vrLen = 1221; - vrLoc = 11406; - }; - 6BA1E83510C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 688"; - rLen = 26; - rLoc = 20151; - rType = 0; - vrLen = 940; - vrLoc = 17412; - }; - 6BA1E83610C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 579"; - rLen = 0; - rLoc = 4049; - rType = 0; - vrLen = 827; - vrLoc = 14277; - }; - 6BA1E83710C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 678"; - rLen = 36; - rLoc = 19892; - rType = 0; - vrLen = 940; - vrLoc = 17412; - }; - 6BA1E83810C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 577"; - rLen = 0; - rLoc = 4048; - rType = 0; - vrLen = 706; - vrLoc = 14492; - }; - 6BA1E83910C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 304"; - rLen = 0; - rLoc = 13564; - rType = 0; - vrLen = 1227; - vrLoc = 11406; - }; - 6BA1E83A10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 643"; - rLen = 0; - rLoc = 18561; - rType = 0; - vrLen = 844; - vrLoc = 16159; - }; - 6BA1E83B10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 298"; - rLen = 0; - rLoc = 13468; - rType = 0; - vrLen = 1011; - vrLoc = 11570; - }; - 6BA1E83C10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 577"; - rLen = 41; - rLoc = 4008; - rType = 0; - vrLen = 540; - vrLoc = 14492; - }; - 6BA1E83D10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 643"; - rLen = 0; - rLoc = 18561; - rType = 0; - vrLen = 641; - vrLoc = 16159; - }; - 6BA1E83E10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 304"; - rLen = 0; - rLoc = 13564; - rType = 0; - vrLen = 1017; - vrLoc = 11570; - }; - 6BA1E83F10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 643"; - rLen = 0; - rLoc = 18561; - rType = 0; - vrLen = 641; - vrLoc = 16159; - }; - 6BA1E84010C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; - name = "DetourDebugDraw.cpp: 576"; - rLen = 0; - rLoc = 4001; - rType = 0; - vrLen = 610; - vrLoc = 14492; - }; - 6BA1E84110C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 180"; - rLen = 0; - rLoc = 4241; - rType = 0; - vrLen = 665; - vrLoc = 3534; - }; - 6BA1E84210C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 641"; - rLen = 0; - rLoc = 18559; - rType = 0; - vrLen = 574; - vrLoc = 25228; - }; - 6BA1E84310C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 281"; - rLen = 0; - rLoc = 12840; - rType = 0; - vrLen = 958; - vrLoc = 11254; - }; - 6BA1E84410C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 241"; - rLen = 0; - rLoc = 1099; - rType = 0; - vrLen = 593; - vrLoc = 5716; - }; - 6BA1E84510C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 191"; - rLen = 0; - rLoc = 4243; - rType = 0; - vrLen = 601; - vrLoc = 4135; - }; - 6BA1E84610C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 512"; - rLen = 0; - rLoc = 15533; - rType = 0; - vrLen = 585; - vrLoc = 15211; - }; - 6BA1E84710C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */; - name = "Sample_DynMesh.cpp: 541"; - rLen = 126; - rLoc = 13909; - rType = 0; - vrLen = 644; - vrLoc = 13663; - }; - 6BA1E84810C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 525"; - rLen = 0; - rLoc = 15733; - rType = 0; - vrLen = 717; - vrLoc = 15230; - }; - 6BA1E84910C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 142"; - rLen = 48; - rLoc = 5987; - rType = 0; - vrLen = 1161; - vrLoc = 4795; - }; - 6BA1E84A10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 525"; - rLen = 0; - rLoc = 15733; - rType = 0; - vrLen = 906; - vrLoc = 14659; - }; - 6BA1E84B10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE8F710B6B70E00DF20FB /* Sample_DynMesh.cpp */; - name = "Sample_DynMesh.cpp: 873"; - rLen = 310; - rLoc = 23786; - rType = 0; - vrLen = 1142; - vrLoc = 23187; - }; - 6BA1E84C10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6120FFA62AD004F1BC4 /* Sample_StatMeshSimple.h */; - name = "Sample_StatMeshSimple.h: 50"; - rLen = 0; - rLoc = 960; - rType = 0; - vrLen = 741; - vrLoc = 632; - }; - 6BA1E84D10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 500"; - rLen = 0; - rLoc = 14905; - rType = 0; - vrLen = 1071; - vrLoc = 14659; - }; - 6BA1E84E10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; - name = "DetourNavMeshBuilder.cpp: 379"; - rLen = 0; - rLoc = 9869; - rType = 0; - vrLen = 953; - vrLoc = 9428; - }; - 6BA1E84F10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 191"; - rLen = 0; - rLoc = 4243; - rType = 0; - vrLen = 598; - vrLoc = 4135; - }; - 6BA1E85010C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 503"; - rLen = 6; - rLoc = 15039; - rType = 0; - vrLen = 971; - vrLoc = 14857; - }; - 6BA1E85110C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */; - name = "DetourNavMeshBuilder.h: 22"; - rLen = 422; - rLoc = 982; - rType = 0; - vrLen = 1382; - vrLoc = 56; - }; - 6BA1E85210C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 495"; - rLen = 333; - rLoc = 14905; - rType = 0; - vrLen = 943; - vrLoc = 14653; - }; - 6BA1E85310C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 923"; - rLen = 0; - rLoc = 26460; - rType = 0; - vrLen = 688; - vrLoc = 26421; - }; - 6BA1E85410C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 495"; - rLen = 333; - rLoc = 14905; - rType = 0; - vrLen = 907; - vrLoc = 14849; - }; - 6BA1E85510C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 918"; - rLen = 0; - rLoc = 26323; - rType = 0; - vrLen = 736; - vrLoc = 26050; - }; - 6BA1E85610C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 516"; - rLen = 192; - rLoc = 15541; - rType = 0; - vrLen = 761; - vrLoc = 15428; - }; - 6BA1E85710C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6150FFA62BE004F1BC4 /* Sample_StatMesh.cpp */; - name = "Sample_StatMesh.cpp: 191"; - rLen = 0; - rLoc = 4243; - rType = 0; - vrLen = 598; - vrLoc = 4135; - }; - 6BA1E85810C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 935"; - rLen = 0; - rLoc = 26628; - rType = 0; - vrLen = 757; - vrLoc = 26491; - }; - 6BA1E85910C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 133"; - rLen = 462; - rLoc = 5036; - rType = 0; - vrLen = 1399; - vrLoc = 4589; - }; - 6BA1E85A10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 176"; - rLen = 0; - rLoc = 5032; - rType = 0; - vrLen = 670; - vrLoc = 4467; - }; - 6BA1E85B10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 132"; - rLen = 0; - rLoc = 5035; - rType = 0; - vrLen = 848; - vrLoc = 2827; - }; - 6BA1E85C10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 177"; - rLen = 0; - rLoc = 5111; - rType = 0; - vrLen = 798; - vrLoc = 4481; - }; - 6BA1E85D10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 132"; - rLen = 0; - rLoc = 5035; - rType = 0; - vrLen = 848; - vrLoc = 2827; - }; - 6BA1E85E10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 177"; - rLen = 0; - rLoc = 5111; - rType = 0; - vrLen = 798; - vrLoc = 4481; - }; - 6BA1E85F10C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 518"; - rLen = 6; - rLoc = 15590; - rType = 0; - vrLen = 761; - vrLoc = 15428; - }; - 6BA1E86010C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 141"; - rLen = 0; - rLoc = 5483; - rType = 0; - vrLen = 1354; - vrLoc = 4460; - }; - 6BA1E86110C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 177"; - rLen = 0; - rLoc = 5111; - rType = 0; - vrLen = 798; - vrLoc = 4481; - }; - 6BA1E86210C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 134"; - rLen = 0; - rLoc = 5086; - rType = 0; - vrLen = 1354; - vrLoc = 4460; - }; - 6BA1E86310C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 175"; - rLen = 0; - rLoc = 5019; - rType = 0; - vrLen = 868; - vrLoc = 4481; - }; - 6BA1E86410C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 516"; - rLen = 192; - rLoc = 15541; - rType = 0; - vrLen = 1197; - vrLoc = 15428; - }; - 6BA1E86510C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC550FFB89E7005BE9CC /* Sample_StatMeshTiled.cpp */; - name = "Sample_StatMeshTiled.cpp: 935"; - rLen = 0; - rLoc = 26709; - rType = 0; - vrLen = 1084; - vrLoc = 26491; - }; - 6BA1E86610C7BB85008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 432"; - rLen = 0; - rLoc = 12221; - rType = 0; - vrLen = 679; - vrLoc = 11641; - }; 6BA1E86A10C7BC9F008007F6 /* Sample_StatMeshSimple.cpp:516 */ = { isa = PBXFileBreakpoint; actions = ( @@ -3076,155 +1028,25 @@ originalNumberOfMultipleMatches = 0; state = 1; }; - 6BA1E86C10C7BCB8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 429"; - rLen = 0; - rLoc = 12164; - rType = 0; - vrLen = 679; - vrLoc = 11641; - }; - 6BA1E86D10C7BCB8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 516"; - rLen = 192; - rLoc = 15541; - rType = 0; - vrLen = 1197; - vrLoc = 15428; - }; - 6BA1E86E10C7BCB8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 429"; - rLen = 0; - rLoc = 12164; - rType = 0; - vrLen = 679; - vrLoc = 11641; - }; - 6BA1E86F10C7BCB8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 518"; - rLen = 0; - rLoc = 15621; - rType = 0; - vrLen = 550; - vrLoc = 15238; - }; - 6BA1E87B10C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 518"; - rLen = 0; - rLoc = 15621; - rType = 0; - vrLen = 550; - vrLoc = 15238; - }; - 6BA1E87C10C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 102"; - rLen = 0; - rLoc = 2602; - rType = 0; - vrLen = 469; - vrLoc = 2357; - }; - 6BA1E87D10C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 376"; - rLen = 0; - rLoc = 10374; - rType = 0; - vrLen = 669; - vrLoc = 10118; - }; - 6BA1E87E10C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; - name = "DetourNavMeshBuilder.cpp: 379"; - rLen = 0; - rLoc = 9869; - rType = 0; - vrLen = 900; - vrLoc = 9481; - }; - 6BA1E87F10C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6160FFA62BE004F1BC4 /* Sample_StatMeshSimple.cpp */; - name = "Sample_StatMeshSimple.cpp: 518"; - rLen = 0; - rLoc = 15621; - rType = 0; - vrLen = 550; - vrLoc = 15238; - }; - 6BA1E88010C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 168"; - rLen = 0; - rLoc = 4766; - rType = 0; - vrLen = 575; - vrLoc = 3908; - }; - 6BA1E88110C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 102"; - rLen = 0; - rLoc = 2602; - rType = 0; - vrLen = 469; - vrLoc = 2357; - }; - 6BA1E88210C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 376"; - rLen = 0; - rLoc = 10374; - rType = 0; - vrLen = 669; - vrLoc = 10118; - }; - 6BA1E88310C7BD87008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; - name = "DetourNavMeshBuilder.cpp: 258"; - rLen = 0; - rLoc = 6617; - rType = 0; - vrLen = 598; - vrLoc = 5791; - }; 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 7120}}"; - sepNavSelRange = "{7058, 0}"; - sepNavVisRange = "{6604, 715}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 6848}}"; + sepNavSelRange = "{9905, 0}"; + sepNavVisRange = "{9343, 728}"; }; }; 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1048, 9360}}"; - sepNavSelRange = "{14842, 0}"; - sepNavVisRange = "{14224, 975}"; + sepNavIntBoundsRect = "{{0, 0}, {1160, 8384}}"; + sepNavSelRange = "{18793, 0}"; + sepNavVisRange = "{16357, 2453}"; }; }; 6BA1E88910C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {943, 16016}}"; - sepNavSelRange = "{25907, 20}"; - sepNavVisRange = "{25533, 785}"; + sepNavIntBoundsRect = "{{0, 0}, {915, 15568}}"; + sepNavSelRange = "{5916, 0}"; + sepNavVisRange = "{5719, 573}"; }; }; 6BA1E88D10C7BFD3008007F6 /* Sample_SoloMesh.h */ = { @@ -3258,286 +1080,6 @@ vrLen = 598; vrLoc = 5791; }; - 6BA1E89410C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88D10C7BFD3008007F6 /* Sample_SoloMesh.h */; - name = "Sample_SoloMesh.h: 70"; - rLen = 0; - rLoc = 1410; - rType = 0; - vrLen = 683; - vrLoc = 642; - }; - 6BA1E89510C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 15"; - rLen = 0; - rLoc = 355; - rType = 0; - vrLen = 699; - vrLoc = 0; - }; - 6BA1E89610C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88E10C7BFD3008007F6 /* Sample_SoloMeshSimple.h */; - name = "Sample_SoloMeshSimple.h: 54"; - rLen = 0; - rLoc = 1049; - rType = 0; - vrLen = 814; - vrLoc = 632; - }; - 6BA1E89710C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; - name = "Sample_SoloMeshSimple.cpp: 11"; - rLen = 0; - rLoc = 242; - rType = 0; - vrLen = 655; - vrLoc = 0; - }; - 6BA1E89810C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88F10C7BFD3008007F6 /* Sample_SoloMeshTiled.h */; - name = "Sample_SoloMeshTiled.h: 95"; - rLen = 0; - rLoc = 2170; - rType = 0; - vrLen = 810; - vrLoc = 1376; - }; - 6BA1E89910C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88910C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp */; - name = "Sample_SoloMeshTiled.cpp: 15"; - rLen = 0; - rLoc = 360; - rType = 0; - vrLen = 737; - vrLoc = 0; - }; - 6BA1E89A10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; - name = "main.cpp: 201"; - rLen = 0; - rLoc = 4116; - rType = 0; - vrLen = 830; - vrLoc = 3912; - }; - 6BA1E89B10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 288"; - rLen = 89; - rLoc = 12257; - rType = 0; - vrLen = 1629; - vrLoc = 10717; - }; - 6BA1E89C10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 560"; - rLen = 0; - rLoc = 14830; - rType = 0; - vrLen = 957; - vrLoc = 14351; - }; - 6BA1E89D10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */; - name = "DetourNavMeshBuilder.cpp: 258"; - rLen = 0; - rLoc = 6617; - rType = 0; - vrLen = 598; - vrLoc = 5791; - }; - 6BA1E89E10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 387"; - rLen = 0; - rLoc = 10686; - rType = 0; - vrLen = 668; - vrLoc = 10118; - }; - 6BA1E89F10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 134"; - rLen = 0; - rLoc = 5086; - rType = 0; - vrLen = 817; - vrLoc = 2145; - }; - 6BA1E8A010C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 439"; - rLen = 0; - rLoc = 12370; - rType = 0; - vrLen = 850; - vrLoc = 11596; - }; - 6BA1E8A110C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; - name = "main.cpp: 20"; - rLen = 0; - rLoc = 389; - rType = 0; - vrLen = 711; - vrLoc = 0; - }; - 6BA1E8A210C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88D10C7BFD3008007F6 /* Sample_SoloMesh.h */; - name = "Sample_SoloMesh.h: 70"; - rLen = 0; - rLoc = 1410; - rType = 0; - vrLen = 683; - vrLoc = 642; - }; - 6BA1E8A310C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 15"; - rLen = 0; - rLoc = 355; - rType = 0; - vrLen = 699; - vrLoc = 0; - }; - 6BA1E8A410C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88E10C7BFD3008007F6 /* Sample_SoloMeshSimple.h */; - name = "Sample_SoloMeshSimple.h: 54"; - rLen = 0; - rLoc = 1049; - rType = 0; - vrLen = 814; - vrLoc = 632; - }; - 6BA1E8A510C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; - name = "Sample_SoloMeshSimple.cpp: 11"; - rLen = 0; - rLoc = 242; - rType = 0; - vrLen = 655; - vrLoc = 0; - }; - 6BA1E8A610C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88F10C7BFD3008007F6 /* Sample_SoloMeshTiled.h */; - name = "Sample_SoloMeshTiled.h: 95"; - rLen = 0; - rLoc = 2170; - rType = 0; - vrLen = 810; - vrLoc = 1376; - }; - 6BA1E8A710C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88910C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp */; - name = "Sample_SoloMeshTiled.cpp: 15"; - rLen = 0; - rLoc = 360; - rType = 0; - vrLen = 737; - vrLoc = 0; - }; - 6BA1E8A810C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; - name = "main.cpp: 201"; - rLen = 0; - rLoc = 4116; - rType = 0; - vrLen = 830; - vrLoc = 3912; - }; - 6BA1E8A910C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 431"; - rLen = 0; - rLoc = 12220; - rType = 0; - vrLen = 649; - vrLoc = 11797; - }; - 6BA1E8AA10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 282"; - rLen = 0; - rLoc = 12659; - rType = 0; - vrLen = 1222; - vrLoc = 10937; - }; - 6BA1E8AB10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 431"; - rLen = 0; - rLoc = 12220; - rType = 0; - vrLen = 649; - vrLoc = 11797; - }; - 6BA1E8AC10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 234"; - rLen = 0; - rLoc = 9717; - rType = 0; - vrLen = 1513; - vrLoc = 8571; - }; - 6BA1E8AD10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 560"; - rLen = 0; - rLoc = 14830; - rType = 0; - vrLen = 957; - vrLoc = 14351; - }; - 6BA1E8AE10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 288"; - rLen = 89; - rLoc = 12257; - rType = 0; - vrLen = 1629; - vrLoc = 10717; - }; - 6BA1E8AF10C7C227008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 607"; - rLen = 0; - rLoc = 16244; - rType = 0; - vrLen = 867; - vrLoc = 15069; - }; 6BA1E8B010C7C5D1008007F6 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B624169103434880002E346 /* RecastMeshDetail.cpp */; @@ -3548,423 +1090,6 @@ vrLen = 975; vrLoc = 4089; }; - 6BA1E8B110C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 281"; - rLen = 0; - rLoc = 11807; - rType = 0; - vrLen = 1531; - vrLoc = 11002; - }; - 6BA1E8B210C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 177"; - rLen = 85; - rLoc = 5158; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8B310C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 615"; - rLen = 0; - rLoc = 15823; - rType = 0; - vrLen = 1020; - vrLoc = 15652; - }; - 6BA1E8B410C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 563"; - rLen = 0; - rLoc = 14737; - rType = 0; - vrLen = 944; - vrLoc = 14182; - }; - 6BA1E8B510C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 186"; - rLen = 0; - rLoc = 7265; - rType = 0; - vrLen = 1375; - vrLoc = 6157; - }; - 6BA1E8B610C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1554"; - rLen = 9; - rLoc = 42530; - rType = 0; - vrLen = 864; - vrLoc = 39825; - }; - 6BA1E8B710C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 292"; - rLen = 0; - rLoc = 12347; - rType = 0; - vrLen = 1531; - vrLoc = 11002; - }; - 6BA1E8B810C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 622"; - rLen = 0; - rLoc = 15950; - rType = 0; - vrLen = 966; - vrLoc = 15645; - }; - 6BA1E8B910C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 281"; - rLen = 0; - rLoc = 11807; - rType = 0; - vrLen = 1531; - vrLoc = 11002; - }; - 6BA1E8BA10C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 605"; - rLen = 0; - rLoc = 15823; - rType = 0; - vrLen = 1005; - vrLoc = 15652; - }; - 6BA1E8BB10C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 177"; - rLen = 18; - rLoc = 5164; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8BC10C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 615"; - rLen = 0; - rLoc = 15823; - rType = 0; - vrLen = 1020; - vrLoc = 15652; - }; - 6BA1E8BD10C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 177"; - rLen = 85; - rLoc = 5158; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8BE10C7C5D1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 604"; - rLen = 0; - rLoc = 15823; - rType = 0; - vrLen = 956; - vrLoc = 15652; - }; - 6BA1E8BF10C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 178"; - rLen = 0; - rLoc = 5156; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8C010C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 239"; - rLen = 112; - rLoc = 5894; - rType = 0; - vrLen = 1006; - vrLoc = 5348; - }; - 6BA1E8C110C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 604"; - rLen = 0; - rLoc = 15823; - rType = 0; - vrLen = 964; - vrLoc = 15652; - }; - 6BA1E8C210C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 604"; - rLen = 0; - rLoc = 15823; - rType = 0; - vrLen = 964; - vrLoc = 15652; - }; - 6BA1E8C310C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 206"; - rLen = 0; - rLoc = 4964; - rType = 0; - vrLen = 706; - vrLoc = 4614; - }; - 6BA1E8C410C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 176"; - rLen = 0; - rLoc = 5157; - rType = 0; - vrLen = 652; - vrLoc = 3195; - }; - 6BA1E8C510C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 207"; - rLen = 0; - rLoc = 4965; - rType = 0; - vrLen = 950; - vrLoc = 4762; - }; - 6BA1E8C610C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 154"; - rLen = 0; - rLoc = 4197; - rType = 0; - vrLen = 1112; - vrLoc = 3575; - }; - 6BA1E8C710C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 239"; - rLen = 0; - rLoc = 5950; - rType = 0; - vrLen = 1000; - vrLoc = 5348; - }; - 6BA1E8C810C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 174"; - rLen = 0; - rLoc = 5008; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8C910C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 239"; - rLen = 0; - rLoc = 5965; - rType = 0; - vrLen = 1006; - vrLoc = 5348; - }; - 6BA1E8CA10C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 174"; - rLen = 0; - rLoc = 5008; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8CB10C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 239"; - rLen = 112; - rLoc = 5894; - rType = 0; - vrLen = 1006; - vrLoc = 5348; - }; - 6BA1E8CC10C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 178"; - rLen = 0; - rLoc = 5156; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8CD10C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 239"; - rLen = 112; - rLoc = 5894; - rType = 0; - vrLen = 1006; - vrLoc = 5348; - }; - 6BA1E8CE10C7C700008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 638"; - rLen = 0; - rLoc = 16735; - rType = 0; - vrLen = 843; - vrLoc = 16276; - }; - 6BA1E8CF10C7C9A8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 622"; - rLen = 0; - rLoc = 16488; - rType = 0; - vrLen = 895; - vrLoc = 15670; - }; - 6BA1E8D010C7C9A8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - rLen = 1; - rLoc = 167; - rType = 1; - }; - 6BA1E8D110C7C9A8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 622"; - rLen = 0; - rLoc = 16488; - rType = 0; - vrLen = 895; - vrLoc = 15670; - }; - 6BA1E8D210C7C9A8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 235"; - rLen = 0; - rLoc = 6005; - rType = 0; - vrLen = 1006; - vrLoc = 5338; - }; - 6BA1E8D310C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 625"; - rLen = 0; - rLoc = 16503; - rType = 0; - vrLen = 809; - vrLoc = 15799; - }; - 6BA1E8D410C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 152"; - rLen = 9; - rLoc = 4081; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8D510C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 237"; - rLen = 0; - rLoc = 6054; - rType = 0; - vrLen = 1037; - vrLoc = 5338; - }; - 6BA1E8D610C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 235"; - rLen = 0; - rLoc = 6005; - rType = 0; - vrLen = 1006; - vrLoc = 5338; - }; - 6BA1E8D710C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 625"; - rLen = 0; - rLoc = 16503; - rType = 0; - vrLen = 809; - vrLoc = 15799; - }; - 6BA1E8D810C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 237"; - rLen = 0; - rLoc = 6054; - rType = 0; - vrLen = 1037; - vrLoc = 5338; - }; - 6BA1E8D910C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 152"; - rLen = 9; - rLoc = 4081; - rType = 0; - vrLen = 1266; - vrLoc = 3791; - }; - 6BA1E8DA10C7CB2E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 237"; - rLen = 0; - rLoc = 6054; - rType = 0; - vrLen = 1017; - vrLoc = 5374; - }; 6BA1E8DB10C7CB62008007F6 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; @@ -3975,46 +1100,6 @@ vrLen = 1017; vrLoc = 5374; }; - 6BA1E8DC10C7CB62008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 625"; - rLen = 0; - rLoc = 16503; - rType = 0; - vrLen = 809; - vrLoc = 15799; - }; - 6BA1E8DD10C7CB62008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 237"; - rLen = 0; - rLoc = 6054; - rType = 0; - vrLen = 1017; - vrLoc = 5374; - }; - 6BA1E8DE10C7CB62008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 635"; - rLen = 0; - rLoc = 16734; - rType = 0; - vrLen = 725; - vrLoc = 16332; - }; - 6BA1E8E310C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 470"; - rLen = 0; - rLoc = 15930; - rType = 0; - vrLen = 1462; - vrLoc = 15202; - }; 6BA1E8E410C7D2FA008007F6 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; @@ -4025,126 +1110,6 @@ vrLen = 564; vrLoc = 2323; }; - 6BA1E8E510C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 187"; - rLen = 85; - rLoc = 5158; - rType = 0; - vrLen = 1123; - vrLoc = 4235; - }; - 6BA1E8E610C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1188"; - rLen = 0; - rLoc = 30614; - rType = 0; - vrLen = 567; - vrLoc = 29809; - }; - 6BA1E8E710C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 630"; - rLen = 0; - rLoc = 16663; - rType = 0; - vrLen = 616; - vrLoc = 16222; - }; - 6BA1E8E810C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 163"; - rLen = 0; - rLoc = 4595; - rType = 0; - vrLen = 666; - vrLoc = 2258; - }; - 6BA1E8E910C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 470"; - rLen = 0; - rLoc = 15930; - rType = 0; - vrLen = 1462; - vrLoc = 15202; - }; - 6BA1E8EA10C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 56"; - rLen = 0; - rLoc = 2116; - rType = 0; - vrLen = 630; - vrLoc = 1768; - }; - 6BA1E8EB10C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1188"; - rLen = 0; - rLoc = 30614; - rType = 0; - vrLen = 567; - vrLoc = 29809; - }; - 6BA1E8EC10C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 187"; - rLen = 85; - rLoc = 5158; - rType = 0; - vrLen = 1123; - vrLoc = 4235; - }; - 6BA1E8ED10C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185F41006895B0018F96F /* DetourNode.cpp */; - name = "DetourNode.cpp: 102"; - rLen = 0; - rLoc = 2602; - rType = 0; - vrLen = 564; - vrLoc = 2323; - }; - 6BA1E8EE10C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 187"; - rLen = 85; - rLoc = 5158; - rType = 0; - vrLen = 1123; - vrLoc = 4235; - }; - 6BA1E8EF10C7D2FA008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1194"; - rLen = 0; - rLoc = 30614; - rType = 0; - vrLen = 558; - vrLoc = 29894; - }; - 6BA1E8F010C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1141"; - rLen = 0; - rLoc = 29124; - rType = 0; - vrLen = 1015; - vrLoc = 28576; - }; 6BA1E8F110C7D4D9008007F6 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; @@ -4165,973 +1130,6 @@ vrLen = 680; vrLoc = 250; }; - 6BA1E8F310C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 129"; - rLen = 0; - rLoc = 3252; - rType = 0; - vrLen = 962; - vrLoc = 2045; - }; - 6BA1E8F410C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1141"; - rLen = 0; - rLoc = 29124; - rType = 0; - vrLen = 1015; - vrLoc = 28576; - }; - 6BA1E8F510C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC580FFB8A68005BE9CC /* DetourTileNavMesh.h */; - name = "DetourTileNavMesh.h: 299"; - rLen = 0; - rLoc = 12743; - rType = 0; - vrLen = 1250; - vrLoc = 11793; - }; - 6BA1E8F610C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88D10C7BFD3008007F6 /* Sample_SoloMesh.h */; - name = "Sample_SoloMesh.h: 38"; - rLen = 13; - rLoc = 699; - rType = 0; - vrLen = 656; - vrLoc = 250; - }; - 6BA1E8F710C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 28"; - rLen = 0; - rLoc = 816; - rType = 0; - vrLen = 657; - vrLoc = 63; - }; - 6BA1E8F810C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88D10C7BFD3008007F6 /* Sample_SoloMesh.h */; - name = "Sample_SoloMesh.h: 36"; - rLen = 55; - rLoc = 659; - rType = 0; - vrLen = 680; - vrLoc = 250; - }; - 6BA1E8F910C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 129"; - rLen = 0; - rLoc = 3252; - rType = 0; - vrLen = 962; - vrLoc = 2045; - }; - 6BA1E8FA10C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88D10C7BFD3008007F6 /* Sample_SoloMesh.h */; - name = "Sample_SoloMesh.h: 30"; - rLen = 9; - rLoc = 499; - rType = 0; - vrLen = 680; - vrLoc = 250; - }; - 6BA1E8FB10C7D4D9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 128"; - rLen = 0; - rLoc = 2870; - rType = 0; - vrLen = 991; - vrLoc = 2045; - }; - 6BA1E90210C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 290"; - rLen = 0; - rLoc = 10363; - rType = 0; - vrLen = 664; - vrLoc = 10833; - }; - 6BA1E90310C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 171"; - rLen = 0; - rLoc = 4646; - rType = 0; - vrLen = 1125; - vrLoc = 1058; - }; - 6BA1E90410C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 235"; - rLen = 142; - rLoc = 9575; - rType = 0; - vrLen = 1645; - vrLoc = 9068; - }; - 6BA1E90510C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 320"; - rLen = 0; - rLoc = 8174; - rType = 0; - vrLen = 975; - vrLoc = 7173; - }; - 6BA1E90610C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - comments = "error: 'curRef' was not declared in this scope"; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - rLen = 1; - rLoc = 1155; - rType = 1; - }; - 6BA1E90710C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 155"; - rLen = 0; - rLoc = 4448; - rType = 0; - vrLen = 808; - vrLoc = 2731; - }; - 6BA1E90810C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 294"; - rLen = 0; - rLoc = 10416; - rType = 0; - vrLen = 1005; - vrLoc = 9804; - }; - 6BA1E90910C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 160"; - rLen = 0; - rLoc = 3980; - rType = 0; - vrLen = 949; - vrLoc = 2843; - }; - 6BA1E90A10C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 290"; - rLen = 0; - rLoc = 10363; - rType = 0; - vrLen = 664; - vrLoc = 10833; - }; - 6BA1E90B10C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 171"; - rLen = 0; - rLoc = 4646; - rType = 0; - vrLen = 1125; - vrLoc = 1058; - }; - 6BA1E90C10C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 168"; - rLen = 0; - rLoc = 4448; - rType = 0; - vrLen = 953; - vrLoc = 2976; - }; - 6BA1E90D10C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 235"; - rLen = 142; - rLoc = 9575; - rType = 0; - vrLen = 1645; - vrLoc = 9068; - }; - 6BA1E90E10C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 320"; - rLen = 0; - rLoc = 8174; - rType = 0; - vrLen = 975; - vrLoc = 7173; - }; - 6BA1E90F10C7D850008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1145"; - rLen = 0; - rLoc = 29241; - rType = 0; - vrLen = 830; - vrLoc = 28675; - }; - 6BA1E91210C7D8A9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1165"; - rLen = 0; - rLoc = 29854; - rType = 0; - vrLen = 806; - vrLoc = 29138; - }; - 6BA1E91310C7D8A9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 61"; - rLen = 0; - rLoc = 2624; - rType = 0; - vrLen = 985; - vrLoc = 2221; - }; - 6BA1E91410C7D8A9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 320"; - rLen = 0; - rLoc = 8174; - rType = 0; - vrLen = 993; - vrLoc = 7160; - }; - 6BA1E91510C7D8A9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1165"; - rLen = 0; - rLoc = 29854; - rType = 0; - vrLen = 806; - vrLoc = 29138; - }; - 6BA1E91610C7D8A9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 61"; - rLen = 0; - rLoc = 2624; - rType = 0; - vrLen = 985; - vrLoc = 2221; - }; - 6BA1E91710C7D8A9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 187"; - rLen = 0; - rLoc = 4662; - rType = 0; - vrLen = 665; - vrLoc = 3810; - }; - 6BA1E91C10C7D966008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 150"; - rLen = 0; - rLoc = 3635; - rType = 0; - vrLen = 905; - vrLoc = 2866; - }; - 6BA1E91F10C7D999008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 141"; - rLen = 0; - rLoc = 3306; - rType = 0; - vrLen = 907; - vrLoc = 2866; - }; - 6BA1E92510C7D9E8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 141"; - rLen = 0; - rLoc = 3306; - rType = 0; - vrLen = 588; - vrLoc = 4002; - }; - 6BA1E92B10C7DAA1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 180"; - rLen = 0; - rLoc = 4477; - rType = 0; - vrLen = 790; - vrLoc = 3750; - }; - 6BA1E92C10C7DAA1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 235"; - rLen = 21; - rLoc = 9580; - rType = 0; - vrLen = 1645; - vrLoc = 9068; - }; - 6BA1E92D10C7DAA1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 644"; - rLen = 0; - rLoc = 16882; - rType = 0; - vrLen = 796; - vrLoc = 16350; - }; - 6BA1E92E10C7DAA1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 180"; - rLen = 0; - rLoc = 4477; - rType = 0; - vrLen = 790; - vrLoc = 3750; - }; - 6BA1E92F10C7DAA1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 644"; - rLen = 0; - rLoc = 16882; - rType = 0; - vrLen = 796; - vrLoc = 16350; - }; - 6BA1E93010C7DAA1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 235"; - rLen = 21; - rLoc = 9580; - rType = 0; - vrLen = 1645; - vrLoc = 9068; - }; - 6BA1E93110C7DAA1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1182"; - rLen = 0; - rLoc = 30217; - rType = 0; - vrLen = 838; - vrLoc = 29661; - }; - 6BA1E93710C7DB10008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 140"; - rLen = 0; - rLoc = 3252; - rType = 0; - vrLen = 1036; - vrLoc = 2484; - }; - 6BA1E93810C7DB10008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - rLen = 0; - rLoc = 1195; - rType = 1; - }; - 6BA1E93910C7DB10008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1182"; - rLen = 0; - rLoc = 30217; - rType = 0; - vrLen = 838; - vrLoc = 29661; - }; - 6BA1E93A10C7DB10008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 140"; - rLen = 0; - rLoc = 3252; - rType = 0; - vrLen = 1036; - vrLoc = 2484; - }; - 6BA1E93B10C7DB10008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1189"; - rLen = 0; - rLoc = 30427; - rType = 0; - vrLen = 759; - vrLoc = 29759; - }; - 6BA1E93F10C7DB2F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1189"; - rLen = 0; - rLoc = 30427; - rType = 0; - vrLen = 901; - vrLoc = 29759; - }; - 6BA1E94010C7DB2F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 140"; - rLen = 0; - rLoc = 3252; - rType = 0; - vrLen = 1054; - vrLoc = 2479; - }; - 6BA1E94110C7DB2F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1189"; - rLen = 0; - rLoc = 30427; - rType = 0; - vrLen = 901; - vrLoc = 29759; - }; - 6BA1E94210C7DB2F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 160"; - rLen = 0; - rLoc = 3958; - rType = 0; - vrLen = 914; - vrLoc = 2936; - }; - 6BA1E94410C7DB45008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 160"; - rLen = 0; - rLoc = 3958; - rType = 0; - vrLen = 1113; - vrLoc = 2361; - }; - 6BA1E94510C7DB45008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - rLen = 0; - rLoc = 1206; - rType = 1; - }; - 6BA1E94610C7DB45008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 160"; - rLen = 0; - rLoc = 3958; - rType = 0; - vrLen = 1113; - vrLoc = 2361; - }; - 6BA1E94710C7DB45008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1196"; - rLen = 0; - rLoc = 30644; - rType = 0; - vrLen = 841; - vrLoc = 29819; - }; - 6BA1E94910C7DB51008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1196"; - rLen = 0; - rLoc = 30644; - rType = 0; - vrLen = 841; - vrLoc = 29819; - }; - 6BA1E94A10C7DB51008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - rLen = 0; - rLoc = 145; - rType = 1; - }; - 6BA1E94B10C7DB51008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1196"; - rLen = 0; - rLoc = 30644; - rType = 0; - vrLen = 841; - vrLoc = 29819; - }; - 6BA1E94C10C7DB51008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 137"; - rLen = 0; - rLoc = 3178; - rType = 0; - vrLen = 1113; - vrLoc = 2361; - }; - 6BA1E94E10C7DB5C008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 132"; - rLen = 0; - rLoc = 3104; - rType = 0; - vrLen = 1112; - vrLoc = 2361; - }; - 6BA1E95110C7DBC6008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 132"; - rLen = 0; - rLoc = 3104; - rType = 0; - vrLen = 971; - vrLoc = 2561; - }; - 6BA1E95C10C7DBF9008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 147"; - rLen = 0; - rLoc = 3533; - rType = 0; - vrLen = 854; - vrLoc = 2902; - }; - 6BA1E96310C7DC15008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 162"; - rLen = 0; - rLoc = 3765; - rType = 0; - vrLen = 728; - vrLoc = 3915; - }; - 6BA1E96910C7DCD1008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 201"; - rLen = 0; - rLoc = 4448; - rType = 0; - vrLen = 640; - vrLoc = 4046; - }; - 6BA1E96D10C7DDD6008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1097"; - rLen = 0; - rLoc = 28167; - rType = 0; - vrLen = 776; - vrLoc = 25780; - }; - 6BA1E96E10C7DDD6008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 203"; - rLen = 0; - rLoc = 4448; - rType = 0; - vrLen = 677; - vrLoc = 4046; - }; - 6BA1E96F10C7DDD6008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 203"; - rLen = 0; - rLoc = 4448; - rType = 0; - vrLen = 677; - vrLoc = 4046; - }; - 6BA1E97010C7DDD6008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 1097"; - rLen = 0; - rLoc = 28167; - rType = 0; - vrLen = 776; - vrLoc = 25780; - }; - 6BA1E97110C7DDD6008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 205"; - rLen = 0; - rLoc = 4466; - rType = 0; - vrLen = 640; - vrLoc = 4046; - }; - 6BA1E97410C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 977"; - rLen = 0; - rLoc = 25382; - rType = 0; - vrLen = 692; - vrLoc = 28068; - }; - 6BA1E97510C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 365"; - rLen = 0; - rLoc = 11881; - rType = 0; - vrLen = 805; - vrLoc = 11582; - }; - 6BA1E97610C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 156"; - rLen = 0; - rLoc = 3635; - rType = 0; - vrLen = 769; - vrLoc = 3008; - }; - 6BA1E97710C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 205"; - rLen = 0; - rLoc = 4466; - rType = 0; - vrLen = 923; - vrLoc = 2600; - }; - 6BA1E97810C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 977"; - rLen = 0; - rLoc = 25382; - rType = 0; - vrLen = 692; - vrLoc = 28068; - }; - 6BA1E97910C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 156"; - rLen = 0; - rLoc = 3635; - rType = 0; - vrLen = 769; - vrLoc = 3008; - }; - 6BA1E97A10C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 365"; - rLen = 0; - rLoc = 11881; - rType = 0; - vrLen = 805; - vrLoc = 11582; - }; - 6BA1E97B10C7DF1F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 162"; - rLen = 0; - rLoc = 3730; - rType = 0; - vrLen = 775; - vrLoc = 3008; - }; - 6BA1E97E10C7DF98008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 178"; - rLen = 0; - rLoc = 4091; - rType = 0; - vrLen = 733; - vrLoc = 3625; - }; - 6BA1E98010C7DFEF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 175"; - rLen = 0; - rLoc = 4062; - rType = 0; - vrLen = 740; - vrLoc = 3625; - }; - 6BA1E98310C7E0B7008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 171"; - rLen = 0; - rLoc = 4062; - rType = 0; - vrLen = 941; - vrLoc = 3288; - }; - 6BA1E98410C7E0BF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 171"; - rLen = 0; - rLoc = 4062; - rType = 0; - vrLen = 566; - vrLoc = 4247; - }; - 6BA1E98610C7E0E8008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 199"; - rLen = 0; - rLoc = 4721; - rType = 0; - vrLen = 699; - vrLoc = 4049; - }; - 6BA1E98810C7E178008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 139"; - rLen = 0; - rLoc = 3251; - rType = 0; - vrLen = 1022; - vrLoc = 2930; - }; - 6BA1E98D10C7EAC3008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 344"; - rLen = 172; - rLoc = 11412; - rType = 0; - vrLen = 742; - vrLoc = 11371; - }; - 6BA1E98E10C7EAC3008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - comments = "error: expected primary-expression before ')' token"; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - rLen = 1; - rLoc = 160; - rType = 1; - }; - 6BA1E98F10C7EAC3008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 21"; - rLen = 0; - rLoc = 406; - rType = 0; - vrLen = 567; - vrLoc = 237; - }; - 6BA1E99010C7EAC3008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; - name = "Recast.h: 344"; - rLen = 172; - rLoc = 11412; - rType = 0; - vrLen = 742; - vrLoc = 11371; - }; - 6BA1E99110C7EAC3008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 343"; - rLen = 0; - rLoc = 8059; - rType = 0; - vrLen = 874; - vrLoc = 7781; - }; - 6BA1E99310C7EAEF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 321"; - rLen = 0; - rLoc = 7414; - rType = 0; - vrLen = 872; - vrLoc = 7461; - }; - 6BA1E99510C7EB05008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 322"; - rLen = 0; - rLoc = 7414; - rType = 0; - vrLen = 874; - vrLoc = 7461; - }; - 6BA1E99810C7EB71008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 25"; - rLen = 0; - rLoc = 565; - rType = 0; - vrLen = 667; - vrLoc = 100; - }; - 6BA1E99B10C7EBB0008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 161"; - rLen = 0; - rLoc = 3654; - rType = 0; - vrLen = 765; - vrLoc = 3537; - }; - 6BA1E99D10C7EC0F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 320"; - rLen = 0; - rLoc = 7711; - rType = 0; - vrLen = 1073; - vrLoc = 7393; - }; - 6BA1E99F10C7EC3F008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 333"; - rLen = 0; - rLoc = 8114; - rType = 0; - vrLen = 1132; - vrLoc = 7286; - }; - 6BA1E9A110C7EC47008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 323"; - rLen = 0; - rLoc = 7848; - rType = 0; - vrLen = 1132; - vrLoc = 7286; - }; - 6BA1E9A310C7EC77008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 331"; - rLen = 0; - rLoc = 8013; - rType = 0; - vrLen = 1099; - vrLoc = 7327; - }; - 6BA1E9A510C7EC93008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 329"; - rLen = 0; - rLoc = 7961; - rType = 0; - vrLen = 1099; - vrLoc = 7327; - }; - 6BA1E9A710C7ECFF008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 320"; - rLen = 0; - rLoc = 7690; - rType = 0; - vrLen = 1114; - vrLoc = 7327; - }; - 6BA1E9A910C7ED0B008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 319"; - rLen = 0; - rLoc = 7663; - rType = 0; - vrLen = 1152; - vrLoc = 7327; - }; - 6BA1E9AB10C7F12E008007F6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 335"; - rLen = 0; - rLoc = 8150; - rType = 0; - vrLen = 969; - vrLoc = 7547; - }; - 6BB4964410C8ECF300BC0805 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; - name = "Sample_SoloMesh.cpp: 335"; - rLen = 0; - rLoc = 8150; - rType = 0; - vrLen = 969; - vrLoc = 7547; - }; 6BB4964510C8ECF300BC0805 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B2AEC510FFB8946005BE9CC /* Sample_TileMesh.h */; @@ -5142,56 +1140,6 @@ vrLen = 548; vrLoc = 1072; }; - 6BB4964610C8ECF300BC0805 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BA1E88910C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp */; - name = "Sample_SoloMeshTiled.cpp: 20"; - rLen = 0; - rLoc = 410; - rType = 0; - vrLen = 668; - vrLoc = 83; - }; - 6BB4964710C8ECF300BC0805 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FC10068B040018F96F /* DetourCommon.h */; - name = "DetourCommon.h: 135"; - rLen = 295; - rLoc = 3546; - rType = 0; - vrLen = 594; - vrLoc = 3382; - }; - 6BB4964810C8ECF300BC0805 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 28"; - rLen = 0; - rLoc = 1130; - rType = 0; - vrLen = 1123; - vrLoc = 202; - }; - 6BB4964910C8ECF300BC0805 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; - name = "main.cpp: 201"; - rLen = 0; - rLoc = 4116; - rType = 0; - vrLen = 876; - vrLoc = 3910; - }; - 6BB4964A10C8ECF300BC0805 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; - name = "main.cpp: 21"; - rLen = 0; - rLoc = 390; - rType = 0; - vrLen = 627; - vrLoc = 0; - }; 6BB4965E10C8F2AE00BC0805 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B25B6180FFA62BE004F1BC4 /* main.cpp */; @@ -5257,7 +1205,7 @@ fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; name = "Sample_SoloMesh.cpp: 297"; rLen = 0; - rLoc = 7058; + rLoc = 6926; rType = 0; vrLen = 715; vrLoc = 6604; @@ -5277,7 +1225,7 @@ fRef = 6BA1E88910C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp */; name = "Sample_SoloMeshTiled.cpp: 908"; rLen = 20; - rLoc = 25907; + rLoc = 25913; rType = 0; vrLen = 785; vrLoc = 25533; @@ -5287,7 +1235,7 @@ fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; name = "Sample_SoloMeshSimple.cpp: 491"; rLen = 0; - rLoc = 14842; + rLoc = 14872; rType = 0; vrLen = 975; vrLoc = 14224; @@ -5322,45 +1270,35 @@ vrLen = 1282; vrLoc = 18975; }; - 6BB4966B10C8F2AE00BC0805 /* PBXTextBookmark */ = { + 6BB4967C10C8F8F500BC0805 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 92"; - rLen = 7; - rLoc = 3170; - rType = 0; - vrLen = 1167; - vrLoc = 2838; - }; - 6BB4966C10C8F2AE00BC0805 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 29"; + fRef = 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */; + name = "DetourNavMeshBuilder.h: 15"; rLen = 0; - rLoc = 1218; + rLoc = 829; rType = 0; - vrLen = 1254; - vrLoc = 1134; + vrLen = 1438; + vrLoc = 0; }; - 6BB4967810C8F40700BC0805 /* PBXTextBookmark */ = { + 6BB4967D10C8F8F500BC0805 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 351"; + name = "DetourNavMesh.h: 122"; rLen = 0; - rLoc = 15303; + rLoc = 5085; rType = 0; - vrLen = 928; - vrLoc = 14651; + vrLen = 1510; + vrLoc = 4397; }; - 6BB4967910C8F55700BC0805 /* PBXTextBookmark */ = { + 6BB4967E10C8F8F500BC0805 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; - name = "DetourNavMesh.h: 368"; + name = "DetourNavMesh.h: 28"; rLen = 0; - rLoc = 15903; + rLoc = 1178; rType = 0; - vrLen = 1252; - vrLoc = 14651; + vrLen = 1060; + vrLoc = 919; }; 6BB788160FC0472B003C24DB /* ChunkyTriMesh.cpp */ = { uiCtxt = { @@ -5376,7 +1314,500 @@ sepNavVisRange = "{0, 1206}"; }; }; + 6BB93C7710CFE1D500F74F2B /* DebugDraw.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {915, 1168}}"; + sepNavSelRange = "{1112, 0}"; + sepNavVisRange = "{1281, 1021}"; + }; + }; + 6BB93C7810CFE1D500F74F2B /* DetourDebugDraw.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {915, 503}}"; + sepNavSelRange = "{1010, 0}"; + sepNavVisRange = "{0, 1316}"; + }; + }; + 6BB93C7910CFE1D500F74F2B /* RecastDebugDraw.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1181, 752}}"; + sepNavSelRange = "{2151, 19}"; + sepNavVisRange = "{837, 2086}"; + }; + }; + 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {915, 688}}"; + sepNavSelRange = "{942, 0}"; + sepNavVisRange = "{591, 799}"; + }; + }; + 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {922, 6960}}"; + sepNavSelRange = "{4910, 0}"; + sepNavVisRange = "{4578, 771}"; + }; + }; + 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {915, 13280}}"; + sepNavSelRange = "{919, 0}"; + sepNavVisRange = "{0, 1139}"; + }; + }; + 6BB93C8210CFE3B100F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */; + name = "DetourNavMesh.h: 28"; + rLen = 0; + rLoc = 1178; + rType = 0; + vrLen = 1064; + vrLoc = 915; + }; + 6BB93C8310CFE3B100F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */; + name = "DebugDraw.cpp: 25"; + rLen = 0; + rLoc = 1005; + rType = 0; + vrLen = 1230; + vrLoc = 128; + }; + 6BB93C8410CFE3B100F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7710CFE1D500F74F2B /* DebugDraw.h */; + name = "DebugDraw.h: 31"; + rLen = 11; + rLoc = 1099; + rType = 0; + vrLen = 857; + vrLoc = 837; + }; + 6BB93C8510CFE3B100F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7910CFE1D500F74F2B /* RecastDebugDraw.h */; + name = "RecastDebugDraw.h: 25"; + rLen = 0; + rLoc = 1302; + rType = 0; + vrLen = 2297; + vrLoc = 591; + }; + 6BB93C8610CFE3B100F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */; + name = "RecastDebugDraw.cpp: 30"; + rLen = 0; + rLoc = 1140; + rType = 0; + vrLen = 961; + vrLoc = 1036; + }; + 6BB93C8710CFE3B100F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */; + name = "RecastDebugDraw.cpp: 910"; + rLen = 1; + rLoc = 20929; + rType = 0; + vrLen = 708; + vrLoc = 22688; + }; + 6BB93CCE10CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7710CFE1D500F74F2B /* DebugDraw.h */; + name = "DebugDraw.h: 37"; + rLen = 0; + rLoc = 1314; + rType = 0; + vrLen = 843; + vrLoc = 1022; + }; + 6BB93CCF10CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6100FFA62AD004F1BC4 /* Sample.h */; + name = "Sample.h: 8"; + rLen = 0; + rLoc = 161; + rType = 0; + vrLen = 508; + vrLoc = 0; + }; + 6BB93CD010CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B25B6140FFA62BE004F1BC4 /* Sample.cpp */; + name = "Sample.cpp: 77"; + rLen = 0; + rLoc = 1183; + rType = 0; + vrLen = 514; + vrLoc = 1148; + }; + 6BB93CD110CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */; + name = "DebugDraw.cpp: 34"; + rLen = 1; + rLoc = 1237; + rType = 0; + vrLen = 510; + vrLoc = 942; + }; + 6BB93CD210CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88910C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp */; + name = "Sample_SoloMeshTiled.cpp: 190"; + rLen = 0; + rLoc = 5916; + rType = 0; + vrLen = 573; + vrLoc = 5719; + }; + 6BB93CD310CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; + name = "Sample_SoloMeshSimple.cpp: 161"; + rLen = 0; + rLoc = 4962; + rType = 0; + vrLen = 570; + vrLoc = 4641; + }; + 6BB93CD410CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7810CFE1D500F74F2B /* DetourDebugDraw.h */; + name = "DetourDebugDraw.h: 24"; + rLen = 0; + rLoc = 1010; + rType = 0; + vrLen = 1072; + vrLoc = 244; + }; + 6BB93CD510CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 421"; + rLen = 1; + rLoc = 12721; + rType = 0; + vrLen = 623; + vrLoc = 12020; + }; + 6BB93CD610CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7910CFE1D500F74F2B /* RecastDebugDraw.h */; + name = "RecastDebugDraw.h: 44"; + rLen = 14; + rLoc = 2784; + rType = 0; + vrLen = 1621; + vrLoc = 1302; + }; + 6BB93CD710CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88710C7BFC9008007F6 /* Sample_SoloMesh.cpp */; + name = "Sample_SoloMesh.cpp: 388"; + rLen = 0; + rLoc = 9905; + rType = 0; + vrLen = 728; + vrLoc = 9343; + }; + 6BB93CD810CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; + name = "Sample_TileMesh.cpp: 497"; + rLen = 0; + rLoc = 12939; + rType = 0; + vrLen = 672; + vrLoc = 12811; + }; + 6BB93CD910CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */; + name = "RecastDebugDraw.cpp: 465"; + rLen = 0; + rLoc = 12195; + rType = 0; + vrLen = 650; + vrLoc = 12069; + }; + 6BB93CDA10CFEA7A00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */; + name = "RecastDebugDraw.cpp: 53"; + rLen = 0; + rLoc = 1898; + rType = 0; + vrLen = 668; + vrLoc = 1575; + }; + 6BB93CE710CFEB5D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7710CFE1D500F74F2B /* DebugDraw.h */; + name = "DebugDraw.h: 32"; + rLen = 0; + rLoc = 1112; + rType = 0; + vrLen = 1021; + vrLoc = 1281; + }; + 6BB93CE810CFEB5D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */; + name = "DebugDraw.cpp: 24"; + rLen = 0; + rLoc = 1004; + rType = 0; + vrLen = 861; + vrLoc = 591; + }; + 6BB93CE910CFEB5D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7910CFE1D500F74F2B /* RecastDebugDraw.h */; + name = "RecastDebugDraw.h: 38"; + rLen = 23; + rLoc = 2327; + rType = 0; + vrLen = 2139; + vrLoc = 784; + }; + 6BB93CEA10CFEB5D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */; + name = "RecastDebugDraw.cpp: 701"; + rLen = 0; + rLoc = 18005; + rType = 0; + vrLen = 805; + vrLoc = 17561; + }; + 6BB93CEB10CFEB5D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7810CFE1D500F74F2B /* DetourDebugDraw.h */; + name = "DetourDebugDraw.h: 24"; + rLen = 0; + rLoc = 1010; + rType = 0; + vrLen = 1316; + vrLoc = 0; + }; + 6BB93CEC10CFEB5D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 421"; + rLen = 1; + rLoc = 12721; + rType = 0; + vrLen = 871; + vrLoc = 11853; + }; + 6BB93CED10CFEB5D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 179"; + rLen = 18; + rLoc = 4964; + rType = 0; + vrLen = 846; + vrLoc = 4480; + }; + 6BB93CF210CFEBAD00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 182"; + rLen = 0; + rLoc = 5127; + rType = 0; + vrLen = 769; + vrLoc = 4578; + }; + 6BB93CF410CFEC4500F74F2B /* RecastDump.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {915, 467}}"; + sepNavSelRange = "{964, 0}"; + sepNavVisRange = "{0, 1149}"; + sepNavWindowFrame = "{{38, 15}, {1174, 737}}"; + }; + }; + 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {915, 1616}}"; + sepNavSelRange = "{1765, 0}"; + sepNavVisRange = "{1343, 637}"; + }; + }; + 6BB93D0510CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */; + name = "DetourDebugDraw.cpp: 173"; + rLen = 0; + rLoc = 4910; + rType = 0; + vrLen = 771; + vrLoc = 4578; + }; + 6BB93D0610CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93CF410CFEC4500F74F2B /* RecastDump.h */; + name = "RecastDump.h: 22"; + rLen = 160; + rLoc = 964; + rType = 0; + vrLen = 1155; + vrLoc = 0; + }; + 6BB93D0710CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7910CFE1D500F74F2B /* RecastDebugDraw.h */; + name = "RecastDebugDraw.h: 35"; + rLen = 19; + rLoc = 2151; + rType = 0; + vrLen = 2086; + vrLoc = 837; + }; + 6BB93D0810CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */; + name = "Recast.h: 328"; + rLen = 0; + rLoc = 11131; + rType = 0; + vrLen = 552; + vrLoc = 10860; + }; + 6BB93D0910CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */; + name = "RecastDebugDraw.cpp: 19"; + rLen = 0; + rLoc = 919; + rType = 0; + vrLen = 1139; + vrLoc = 0; + }; + 6BB93D0A10CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */; + name = "DebugDraw.cpp: 20"; + rLen = 0; + rLoc = 942; + rType = 0; + vrLen = 799; + vrLoc = 591; + }; + 6BB93D0B10CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */; + name = "RecastDump.cpp: 83"; + rLen = 0; + rLoc = 2260; + rType = 0; + vrLen = 552; + vrLoc = 1854; + }; + 6BB93D0C10CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; + name = "Sample_SoloMeshSimple.cpp: 161"; + rLen = 0; + rLoc = 4962; + rType = 0; + vrLen = 737; + vrLoc = 4573; + }; + 6BB93D0D10CFFC1300F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; + name = "Sample_SoloMeshSimple.cpp: 570"; + rLen = 0; + rLoc = 18793; + rType = 0; + vrLen = 1973; + vrLoc = 16936; + }; + 6BB93D1410CFFC6D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; + name = "Sample_SoloMeshSimple.cpp: 567"; + rLen = 0; + rLoc = 18793; + rType = 0; + vrLen = 1561; + vrLoc = 17389; + }; + 6BB93D1510CFFC6D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93CF410CFEC4500F74F2B /* RecastDump.h */; + name = "RecastDump.h: 22"; + rLen = 0; + rLoc = 964; + rType = 0; + vrLen = 1149; + vrLoc = 0; + }; + 6BB93D1610CFFC6D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */; + name = "RecastDump.cpp: 83"; + rLen = 0; + rLoc = 2260; + rType = 0; + vrLen = 552; + vrLoc = 1854; + }; + 6BB93D1710CFFC6D00F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */; + name = "RecastDump.cpp: 55"; + rLen = 0; + rLoc = 1717; + rType = 0; + vrLen = 635; + vrLoc = 1343; + }; + 6BB93D1B10CFFD7600F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */; + name = "RecastDump.cpp: 56"; + rLen = 0; + rLoc = 1765; + rType = 0; + vrLen = 637; + vrLoc = 1343; + }; + 6BB93D1C10CFFD7600F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; + name = "Sample_SoloMeshSimple.cpp: 567"; + rLen = 0; + rLoc = 18793; + rType = 0; + vrLen = 1702; + vrLoc = 17248; + }; + 6BB93D1D10CFFD7600F74F2B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; + name = "Sample_SoloMeshSimple.cpp: 564"; + rLen = 0; + rLoc = 18793; + rType = 0; + vrLen = 2453; + vrLoc = 16357; + }; 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */ = { + isa = PBXFileReference; + fileEncoding = 4; + lastKnownFileType = sourcecode.c.h; + name = DetourDebugDraw.h; + path = /Users/memon/Code/recastnavigation/Detour/Include/DetourDebugDraw.h; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {915, 489}}"; sepNavSelRange = "{1077, 54}"; @@ -5390,11 +1821,6 @@ name = DetourStatNavMesh.h; path = /Users/memon/Code/recastnavigation/Detour/Include/DetourStatNavMesh.h; sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 3440}}"; - sepNavSelRange = "{8514, 47}"; - sepNavVisRange = "{7491, 1866}"; - }; }; 6BDD9E060F91112200904EEF /* DetourStatNavMeshBuilder.h */ = { isa = PBXFileReference; @@ -5403,13 +1829,14 @@ name = DetourStatNavMeshBuilder.h; path = /Users/memon/Code/recastnavigation/Detour/Include/DetourStatNavMeshBuilder.h; sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 559}}"; - sepNavSelRange = "{822, 0}"; - sepNavVisRange = "{0, 1416}"; - }; }; 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */ = { + isa = PBXFileReference; + fileEncoding = 4; + lastKnownFileType = sourcecode.cpp.cpp; + name = DetourDebugDraw.cpp; + path = /Users/memon/Code/recastnavigation/Detour/Source/DetourDebugDraw.cpp; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {915, 7088}}"; sepNavSelRange = "{8144, 0}"; @@ -5423,11 +1850,6 @@ name = DetourStatNavMesh.cpp; path = /Users/memon/Code/recastnavigation/Detour/Source/DetourStatNavMesh.cpp; sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 14928}}"; - sepNavSelRange = "{23286, 0}"; - sepNavVisRange = "{22785, 847}"; - }; }; 6BDD9E090F91113800904EEF /* DetourStatNavMeshBuilder.cpp */ = { isa = PBXFileReference; @@ -5436,12 +1858,6 @@ name = DetourStatNavMeshBuilder.cpp; path = /Users/memon/Code/recastnavigation/Detour/Source/DetourStatNavMeshBuilder.cpp; sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {915, 5200}}"; - sepNavSelRange = "{8381, 101}"; - sepNavVisRange = "{8055, 875}"; - sepNavWindowFrame = "{{15, 78}, {1011, 695}}"; - }; }; 6BF2589310BE6F220061DCC9 /* PBXTextBookmark */ = { isa = PBXTextBookmark; @@ -5453,46 +1869,6 @@ vrLen = 1078; vrLoc = 24779; }; - 6BF2589B10BEADD20061DCC9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */; - name = "DetourNavMesh.cpp: 541"; - rLen = 90; - rLoc = 14830; - rType = 0; - vrLen = 838; - vrLoc = 13296; - }; - 6BF2589C10BEADD20061DCC9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B1185FD10068B150018F96F /* DetourCommon.cpp */; - name = "DetourCommon.cpp: 35"; - rLen = 0; - rLoc = 1345; - rType = 0; - vrLen = 1198; - vrLoc = 391; - }; - 6BF2589D10BEADD20061DCC9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6BDD9E080F91113800904EEF /* DetourStatNavMesh.cpp */; - name = "DetourStatNavMesh.cpp: 72"; - rLen = 0; - rLoc = 2540; - rType = 0; - vrLen = 1278; - vrLoc = 1655; - }; - 6BF2589E10BEADD20061DCC9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 6B2AEC520FFB8958005BE9CC /* Sample_TileMesh.cpp */; - name = "Sample_TileMesh.cpp: 558"; - rLen = 0; - rLoc = 1099; - rType = 0; - vrLen = 1067; - vrLoc = 13902; - }; 8D1107260486CEB800E47090 /* Recast */ = { activeExec = 0; executables = ( diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 index 34907dc..c9b7998 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/memon.perspectivev3 @@ -293,25 +293,26 @@ 29B97314FDCFA39411CA2CEA 080E96DDFE201D6D7F000001 - 6BDD9E030F91110C00904EEF + 6BB93C7610CFE1BD00F74F2B 6B137C7D0F7FCBE800459200 6B555DF5100B25FC00247EA3 29B97315FDCFA39411CA2CEA 29B97317FDCFA39411CA2CEA 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 1C77FABC04509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey - 4 - 3 + 31 + 26 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {282, 660}} + {{0, 11}, {282, 660}} PBXTopSmartGroupGIDs @@ -346,7 +347,7 @@ PBXProjectModuleGUID 6B8632A30F78115100E2684A PBXProjectModuleLabel - DetourNavMesh.h + Sample_SoloMeshSimple.cpp PBXSplitModuleInNavigatorKey Split0 @@ -354,11 +355,11 @@ PBXProjectModuleGUID 6B8632A40F78115100E2684A PBXProjectModuleLabel - DetourNavMesh.h + Sample_SoloMeshSimple.cpp _historyCapacity 0 bookmark - 6BB4967910C8F55700BC0805 + 6BB93D1D10CFFD7600F74F2B history 6B57D358108C66B200DDD053 @@ -366,44 +367,41 @@ 6B8DE70D10B01BBF00DF20FB 6B8DE76D10B0243500DF20FB 6B8DE7F110B0517A00DF20FB - 6B8DE7F310B0517A00DF20FB 6B8DE84910B0584400DF20FB - 6B8DE85210B6873400DF20FB - 6B8DE89910B6B3F800DF20FB - 6B8DE89A10B6B3F800DF20FB - 6B8DE98B10B6C53B00DF20FB - 6B8DE98E10B6C53B00DF20FB 6B8DEA3810B6CBC200DF20FB - 6B8DEA6510B6CF6400DF20FB - 6B8DEA8A10B6E1C900DF20FB 6B8DEAA110BC7BCD00DF20FB 6BF2589310BE6F220061DCC9 6BA1E63A10C1DB5B008007F6 6BA1E7F210C7B3FF008007F6 - 6BA1E81F10C7BB85008007F6 - 6BA1E82010C7BB85008007F6 - 6BA1E82610C7BB85008007F6 6BA1E89310C7C227008007F6 6BA1E8B010C7C5D1008007F6 6BA1E8DB10C7CB62008007F6 6BA1E8E410C7D2FA008007F6 - 6BA1E8F110C7D4D9008007F6 6BA1E8F210C7D4D9008007F6 6BB4964510C8ECF300BC0805 6BB4965E10C8F2AE00BC0805 6BB4965F10C8F2AE00BC0805 - 6BB4966010C8F2AE00BC0805 6BB4966110C8F2AE00BC0805 - 6BB4966210C8F2AE00BC0805 - 6BB4966310C8F2AE00BC0805 - 6BB4966410C8F2AE00BC0805 6BB4966510C8F2AE00BC0805 - 6BB4966610C8F2AE00BC0805 - 6BB4966710C8F2AE00BC0805 6BB4966810C8F2AE00BC0805 - 6BB4966910C8F2AE00BC0805 6BB4966A10C8F2AE00BC0805 - 6BB4966B10C8F2AE00BC0805 + 6BB4967C10C8F8F500BC0805 + 6BB93C8210CFE3B100F74F2B + 6BB93CCF10CFEA7A00F74F2B + 6BB93CD010CFEA7A00F74F2B + 6BB93CD210CFEA7A00F74F2B + 6BB93CD710CFEA7A00F74F2B + 6BB93CD810CFEA7A00F74F2B + 6BB93CE710CFEB5D00F74F2B + 6BB93CEB10CFEB5D00F74F2B + 6BB93D0510CFFC1300F74F2B + 6BB93D0710CFFC1300F74F2B + 6BB93D0810CFFC1300F74F2B + 6BB93D0910CFFC1300F74F2B + 6BB93D0A10CFFC1300F74F2B + 6BB93D1510CFFC6D00F74F2B + 6BB93D1B10CFFD7600F74F2B + 6BB93D1C10CFFD7600F74F2B SplitCount @@ -417,18 +415,18 @@ GeometryConfiguration Frame - {{0, 0}, {976, 552}} + {{0, 0}, {976, 524}} RubberWindowFrame 0 59 1280 719 0 0 1280 778 Module PBXNavigatorGroup Proportion - 552pt + 524pt Proportion - 121pt + 149pt Tabs @@ -442,7 +440,7 @@ GeometryConfiguration Frame - {{10, 27}, {976, 81}} + {{10, 27}, {976, 220}} Module XCDetailModule @@ -458,7 +456,7 @@ GeometryConfiguration Frame - {{0, 0}, {614, 336}} + {{10, 27}, {976, 220}} Module PBXProjectFindModule @@ -496,7 +494,7 @@ GeometryConfiguration Frame - {{10, 27}, {976, 94}} + {{10, 27}, {976, 122}} RubberWindowFrame 0 59 1280 719 0 0 1280 778 @@ -526,11 +524,11 @@ TableOfContents - 6BB4966D10C8F2AE00BC0805 + 6BB93CDB10CFEA7A00F74F2B 1CA23ED40692098700951B8B - 6BB4966E10C8F2AE00BC0805 + 6BB93CDC10CFEA7A00F74F2B 6B8632A30F78115100E2684A - 6BB4966F10C8F2AE00BC0805 + 6BB93CDD10CFEA7A00F74F2B 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B @@ -679,14 +677,14 @@ TableOfContents - 6BB4967010C8F2AE00BC0805 + 6BB93CDE10CFEA7A00F74F2B 1CCC7628064C1048000F2A68 1CCC7629064C1048000F2A68 - 6BB4967110C8F2AE00BC0805 - 6BB4967210C8F2AE00BC0805 - 6BB4967310C8F2AE00BC0805 - 6BB4967410C8F2AE00BC0805 - 6BB4967510C8F2AE00BC0805 + 6BB93CDF10CFEA7A00F74F2B + 6BB93CE010CFEA7A00F74F2B + 6BB93CE110CFEA7A00F74F2B + 6BB93CE210CFEA7A00F74F2B + 6BB93CE310CFEA7A00F74F2B ToolbarConfigUserDefaultsMinorVersion 2 @@ -703,7 +701,7 @@ StatusbarIsVisible TimeStamp - 281605463.64179099 + 282066294.76513201 ToolbarDisplayMode 1 ToolbarIsVisible @@ -718,8 +716,8 @@ 5 WindowOrderList - 6BB4967610C8F2AE00BC0805 - 6BB4967710C8F2AE00BC0805 + 6BB93CE510CFEA7A00F74F2B + 6BB93CE610CFEA7A00F74F2B /Users/memon/Code/recastnavigation/RecastDemo/Build/Xcode/Recast.xcodeproj WindowString diff --git a/RecastDemo/Build/Xcode/Recast.xcodeproj/project.pbxproj b/RecastDemo/Build/Xcode/Recast.xcodeproj/project.pbxproj index 0820b62..0cc3bfc 100644 --- a/RecastDemo/Build/Xcode/Recast.xcodeproj/project.pbxproj +++ b/RecastDemo/Build/Xcode/Recast.xcodeproj/project.pbxproj @@ -16,7 +16,6 @@ 6B137C730F7FCBBB00459200 /* SDLMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B137C6E0F7FCBBB00459200 /* SDLMain.m */; }; 6B137C8B0F7FCC1100459200 /* Recast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B137C820F7FCC1100459200 /* Recast.cpp */; }; 6B137C8C0F7FCC1100459200 /* RecastContour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B137C830F7FCC1100459200 /* RecastContour.cpp */; }; - 6B137C8D0F7FCC1100459200 /* RecastDebugDraw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */; }; 6B137C8E0F7FCC1100459200 /* RecastFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B137C850F7FCC1100459200 /* RecastFilter.cpp */; }; 6B137C8F0F7FCC1100459200 /* RecastLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B137C860F7FCC1100459200 /* RecastLog.cpp */; }; 6B137C900F7FCC1100459200 /* RecastMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B137C870F7FCC1100459200 /* RecastMesh.cpp */; }; @@ -36,7 +35,10 @@ 6BA1E88B10C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */; }; 6BA1E88C10C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BA1E88910C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp */; }; 6BB788170FC0472B003C24DB /* ChunkyTriMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BB788160FC0472B003C24DB /* ChunkyTriMesh.cpp */; }; - 6BDD9E0A0F91113800904EEF /* DetourDebugDraw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */; }; + 6BB93C7D10CFE1D500F74F2B /* DebugDraw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */; }; + 6BB93C7E10CFE1D500F74F2B /* DetourDebugDraw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */; }; + 6BB93C7F10CFE1D500F74F2B /* RecastDebugDraw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */; }; + 6BB93CF610CFEC4500F74F2B /* RecastDump.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; /* End PBXBuildFile section */ @@ -61,12 +63,10 @@ 6B137C7B0F7FCBE400459200 /* MeshLoaderObj.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshLoaderObj.h; path = ../../Include/MeshLoaderObj.h; sourceTree = SOURCE_ROOT; }; 6B137C7C0F7FCBE400459200 /* SDLMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLMain.h; path = ../../Include/SDLMain.h; sourceTree = SOURCE_ROOT; }; 6B137C7E0F7FCBFE00459200 /* Recast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Recast.h; path = ../../../Recast/Include/Recast.h; sourceTree = SOURCE_ROOT; }; - 6B137C7F0F7FCBFE00459200 /* RecastDebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecastDebugDraw.h; path = ../../../Recast/Include/RecastDebugDraw.h; sourceTree = SOURCE_ROOT; }; 6B137C800F7FCBFE00459200 /* RecastLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecastLog.h; path = ../../../Recast/Include/RecastLog.h; sourceTree = SOURCE_ROOT; }; 6B137C810F7FCBFE00459200 /* RecastTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecastTimer.h; path = ../../../Recast/Include/RecastTimer.h; sourceTree = SOURCE_ROOT; }; 6B137C820F7FCC1100459200 /* Recast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Recast.cpp; path = ../../../Recast/Source/Recast.cpp; sourceTree = SOURCE_ROOT; }; 6B137C830F7FCC1100459200 /* RecastContour.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecastContour.cpp; path = ../../../Recast/Source/RecastContour.cpp; sourceTree = SOURCE_ROOT; }; - 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecastDebugDraw.cpp; path = ../../../Recast/Source/RecastDebugDraw.cpp; sourceTree = SOURCE_ROOT; }; 6B137C850F7FCC1100459200 /* RecastFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecastFilter.cpp; path = ../../../Recast/Source/RecastFilter.cpp; sourceTree = SOURCE_ROOT; }; 6B137C860F7FCC1100459200 /* RecastLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecastLog.cpp; path = ../../../Recast/Source/RecastLog.cpp; sourceTree = SOURCE_ROOT; }; 6B137C870F7FCC1100459200 /* RecastMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecastMesh.cpp; path = ../../../Recast/Source/RecastMesh.cpp; sourceTree = SOURCE_ROOT; }; @@ -96,8 +96,14 @@ 6BA1E88F10C7BFD3008007F6 /* Sample_SoloMeshTiled.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sample_SoloMeshTiled.h; path = ../../Include/Sample_SoloMeshTiled.h; sourceTree = SOURCE_ROOT; }; 6BB788160FC0472B003C24DB /* ChunkyTriMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ChunkyTriMesh.cpp; path = ../../Source/ChunkyTriMesh.cpp; sourceTree = SOURCE_ROOT; }; 6BB788180FC04753003C24DB /* ChunkyTriMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChunkyTriMesh.h; path = ../../Include/ChunkyTriMesh.h; sourceTree = SOURCE_ROOT; }; - 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetourDebugDraw.h; path = ../../../Detour/Include/DetourDebugDraw.h; sourceTree = SOURCE_ROOT; }; - 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DetourDebugDraw.cpp; path = ../../../Detour/Source/DetourDebugDraw.cpp; sourceTree = SOURCE_ROOT; }; + 6BB93C7710CFE1D500F74F2B /* DebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DebugDraw.h; path = ../../../DebugUtils/Include/DebugDraw.h; sourceTree = SOURCE_ROOT; }; + 6BB93C7810CFE1D500F74F2B /* DetourDebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetourDebugDraw.h; path = ../../../DebugUtils/Include/DetourDebugDraw.h; sourceTree = SOURCE_ROOT; }; + 6BB93C7910CFE1D500F74F2B /* RecastDebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecastDebugDraw.h; path = ../../../DebugUtils/Include/RecastDebugDraw.h; sourceTree = SOURCE_ROOT; }; + 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DebugDraw.cpp; path = ../../../DebugUtils/Source/DebugDraw.cpp; sourceTree = SOURCE_ROOT; }; + 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DetourDebugDraw.cpp; path = ../../../DebugUtils/Source/DetourDebugDraw.cpp; sourceTree = SOURCE_ROOT; }; + 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecastDebugDraw.cpp; path = ../../../DebugUtils/Source/RecastDebugDraw.cpp; sourceTree = SOURCE_ROOT; }; + 6BB93CF410CFEC4500F74F2B /* RecastDump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RecastDump.h; path = ../../../DebugUtils/Include/RecastDump.h; sourceTree = SOURCE_ROOT; }; + 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RecastDump.cpp; path = ../../../DebugUtils/Source/RecastDump.cpp; sourceTree = SOURCE_ROOT; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 8D1107320486CEB800E47090 /* Recast.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Recast.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -120,6 +126,7 @@ isa = PBXGroup; children = ( 6B555DF6100B273500247EA3 /* stb_truetype.h */, + 6BB93C7610CFE1BD00F74F2B /* DebugUtils */, 6BDD9E030F91110C00904EEF /* Detour */, 6B137C7D0F7FCBE800459200 /* Recast */, 6B555DF5100B25FC00247EA3 /* Samples */, @@ -211,7 +218,6 @@ children = ( 6B137C820F7FCC1100459200 /* Recast.cpp */, 6B137C830F7FCC1100459200 /* RecastContour.cpp */, - 6B137C840F7FCC1100459200 /* RecastDebugDraw.cpp */, 6B137C850F7FCC1100459200 /* RecastFilter.cpp */, 6B137C860F7FCC1100459200 /* RecastLog.cpp */, 6B137C870F7FCC1100459200 /* RecastMesh.cpp */, @@ -219,7 +225,6 @@ 6B137C890F7FCC1100459200 /* RecastRegion.cpp */, 6B137C8A0F7FCC1100459200 /* RecastTimer.cpp */, 6B137C7E0F7FCBFE00459200 /* Recast.h */, - 6B137C7F0F7FCBFE00459200 /* RecastDebugDraw.h */, 6B137C800F7FCBFE00459200 /* RecastLog.h */, 6B137C810F7FCBFE00459200 /* RecastTimer.h */, 6B624169103434880002E346 /* RecastMeshDetail.cpp */, @@ -244,6 +249,21 @@ name = Samples; sourceTree = ""; }; + 6BB93C7610CFE1BD00F74F2B /* DebugUtils */ = { + isa = PBXGroup; + children = ( + 6BB93CF410CFEC4500F74F2B /* RecastDump.h */, + 6BB93CF510CFEC4500F74F2B /* RecastDump.cpp */, + 6BB93C7710CFE1D500F74F2B /* DebugDraw.h */, + 6BB93C7A10CFE1D500F74F2B /* DebugDraw.cpp */, + 6BB93C7910CFE1D500F74F2B /* RecastDebugDraw.h */, + 6BB93C7C10CFE1D500F74F2B /* RecastDebugDraw.cpp */, + 6BB93C7810CFE1D500F74F2B /* DetourDebugDraw.h */, + 6BB93C7B10CFE1D500F74F2B /* DetourDebugDraw.cpp */, + ); + name = DebugUtils; + sourceTree = ""; + }; 6BDD9E030F91110C00904EEF /* Detour */ = { isa = PBXGroup; children = ( @@ -251,8 +271,6 @@ 6B8DE88710B69E3E00DF20FB /* DetourNavMesh.cpp */, 6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */, 6B8DE88810B69E3E00DF20FB /* DetourNavMeshBuilder.cpp */, - 6BDD9E040F91112200904EEF /* DetourDebugDraw.h */, - 6BDD9E070F91113800904EEF /* DetourDebugDraw.cpp */, 6B1185F61006896B0018F96F /* DetourNode.h */, 6B1185F41006895B0018F96F /* DetourNode.cpp */, 6B1185FC10068B040018F96F /* DetourCommon.h */, @@ -322,14 +340,12 @@ 6B137C730F7FCBBB00459200 /* SDLMain.m in Sources */, 6B137C8B0F7FCC1100459200 /* Recast.cpp in Sources */, 6B137C8C0F7FCC1100459200 /* RecastContour.cpp in Sources */, - 6B137C8D0F7FCC1100459200 /* RecastDebugDraw.cpp in Sources */, 6B137C8E0F7FCC1100459200 /* RecastFilter.cpp in Sources */, 6B137C8F0F7FCC1100459200 /* RecastLog.cpp in Sources */, 6B137C900F7FCC1100459200 /* RecastMesh.cpp in Sources */, 6B137C910F7FCC1100459200 /* RecastRasterization.cpp in Sources */, 6B137C920F7FCC1100459200 /* RecastRegion.cpp in Sources */, 6B137C930F7FCC1100459200 /* RecastTimer.cpp in Sources */, - 6BDD9E0A0F91113800904EEF /* DetourDebugDraw.cpp in Sources */, 6BB788170FC0472B003C24DB /* ChunkyTriMesh.cpp in Sources */, 6B25B6190FFA62BE004F1BC4 /* Sample.cpp in Sources */, 6B25B61D0FFA62BE004F1BC4 /* main.cpp in Sources */, @@ -343,6 +359,10 @@ 6BA1E88A10C7BFC9008007F6 /* Sample_SoloMesh.cpp in Sources */, 6BA1E88B10C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp in Sources */, 6BA1E88C10C7BFC9008007F6 /* Sample_SoloMeshTiled.cpp in Sources */, + 6BB93C7D10CFE1D500F74F2B /* DebugDraw.cpp in Sources */, + 6BB93C7E10CFE1D500F74F2B /* DetourDebugDraw.cpp in Sources */, + 6BB93C7F10CFE1D500F74F2B /* RecastDebugDraw.cpp in Sources */, + 6BB93CF610CFEC4500F74F2B /* RecastDump.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/RecastDemo/Include/Sample.h b/RecastDemo/Include/Sample.h index 9487799..e2dceff 100644 --- a/RecastDemo/Include/Sample.h +++ b/RecastDemo/Include/Sample.h @@ -1,11 +1,11 @@ #ifndef RECASTSAMPLE_H #define RECASTSAMPLE_H -#include "RecastDebugDraw.h" +#include "DebugDraw.h" -struct DebugDrawGL : public rcDebugDraw +struct DebugDrawGL : public duDebugDraw { - virtual void begin(rcDebugDrawPrimitives prim, int nverts, float size = 1.0f); + virtual void begin(duDebugDrawPrimitives prim, float size = 1.0f); virtual void vertex(const float* pos, unsigned int color); virtual void vertex(const float x, const float y, const float z, unsigned int color); virtual void end(); diff --git a/RecastDemo/Source/Sample.cpp b/RecastDemo/Source/Sample.cpp index ab87bbc..fd54749 100644 --- a/RecastDemo/Source/Sample.cpp +++ b/RecastDemo/Source/Sample.cpp @@ -13,22 +13,22 @@ #endif -void DebugDrawGL::begin(rcDebugDrawPrimitives prim, int nverts, float size) +void DebugDrawGL::begin(duDebugDrawPrimitives prim, float size) { switch (prim) { - case RC_DRAW_POINTS: + case DU_DRAW_POINTS: glPointSize(size); glBegin(GL_POINTS); break; - case RC_DRAW_LINES: + case DU_DRAW_LINES: glLineWidth(size); glBegin(GL_LINES); break; - case RC_DRAW_TRIS: + case DU_DRAW_TRIS: glBegin(GL_TRIANGLES); break; - case RC_DRAW_QUADS: + case DU_DRAW_QUADS: glBegin(GL_QUADS); break; }; @@ -84,10 +84,10 @@ void Sample::handleRender() DebugDrawGL dd; // Draw mesh - rcDebugDrawMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); + duDebugDrawTriMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); // Draw bounds float col[4] = {1,1,1,0.5f}; - rcDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); + duDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); } void Sample::handleRenderOverlay(double* proj, double* model, int* view) diff --git a/RecastDemo/Source/Sample_SoloMesh.cpp b/RecastDemo/Source/Sample_SoloMesh.cpp index 9dfce1d..f87199e 100644 --- a/RecastDemo/Source/Sample_SoloMesh.cpp +++ b/RecastDemo/Source/Sample_SoloMesh.cpp @@ -291,22 +291,22 @@ void Sample_SoloMesh::toolRender(int flags) glDepthMask(GL_FALSE); if (flags & NAVMESH_POLYS) - dtDebugDrawNavMesh(m_navMesh, m_toolMode == TOOLMODE_PATHFIND); + duDebugDrawNavMesh(&dd, m_navMesh, m_toolMode == TOOLMODE_PATHFIND); if (flags & NAVMESH_BVTREE) - dtDebugDrawNavMeshBVTree(m_navMesh); + duDebugDrawNavMeshBVTree(&dd, m_navMesh); if (flags & NAVMESH_TOOLS) { if (m_toolMode == TOOLMODE_PATHFIND) { - dtDebugDrawNavMeshPoly(m_navMesh, m_startRef, startCol); - dtDebugDrawNavMeshPoly(m_navMesh, m_endRef, endCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_startRef, startCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_endRef, endCol); if (m_npolys) { for (int i = 1; i < m_npolys-1; ++i) - dtDebugDrawNavMeshPoly(m_navMesh, m_polys[i], pathCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_polys[i], pathCol); } if (m_nstraightPath) { @@ -338,12 +338,12 @@ void Sample_SoloMesh::toolRender(int flags) } else if (m_toolMode == TOOLMODE_RAYCAST) { - dtDebugDrawNavMeshPoly(m_navMesh, m_startRef, startCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_startRef, startCol); if (m_nstraightPath) { for (int i = 1; i < m_npolys; ++i) - dtDebugDrawNavMeshPoly(m_navMesh, m_polys[i], pathCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_polys[i], pathCol); glColor4ub(64,16,0,220); glLineWidth(3.0f); @@ -362,9 +362,9 @@ void Sample_SoloMesh::toolRender(int flags) } else if (m_toolMode == TOOLMODE_DISTANCE_TO_WALL) { - dtDebugDrawNavMeshPoly(m_navMesh, m_startRef, startCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_startRef, startCol); const float col[4] = {1,1,1,0.5f}; - rcDebugDrawCylinderWire(&dd, m_spos[0]-m_distanceToWall, m_spos[1]+0.02f, m_spos[2]-m_distanceToWall, + duDebugDrawCylinderWire(&dd, m_spos[0]-m_distanceToWall, m_spos[1]+0.02f, m_spos[2]-m_distanceToWall, m_spos[0]+m_distanceToWall, m_spos[1]+m_agentHeight, m_spos[2]+m_distanceToWall, col); glLineWidth(3.0f); glColor4fv(col); @@ -379,13 +379,13 @@ void Sample_SoloMesh::toolRender(int flags) const float cola[4] = {0,0,0,0.5f}; for (int i = 0; i < m_npolys; ++i) { - dtDebugDrawNavMeshPoly(m_navMesh, m_polys[i], pathCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_polys[i], pathCol); if (m_parent[i]) { float p0[3], p1[3]; getPolyCenter(m_navMesh, m_polys[i], p0); getPolyCenter(m_navMesh, m_parent[i], p1); - rcDrawArc(&dd, p0, p1, cola, 2.0f); + duDebugDrawArc(&dd, p0, p1, cola, 2.0f); } } @@ -393,7 +393,7 @@ void Sample_SoloMesh::toolRender(int flags) const float dz = m_epos[2] - m_spos[2]; float dist = sqrtf(dx*dx + dz*dz); const float col[4] = {1,1,1,0.5f}; - rcDebugDrawCylinderWire(&dd, m_spos[0]-dist, m_spos[1]+0.02f, m_spos[2]-dist, + duDebugDrawCylinderWire(&dd, m_spos[0]-dist, m_spos[1]+0.02f, m_spos[2]-dist, m_spos[0]+dist, m_spos[1]+m_agentHeight, m_spos[2]+dist, col); } } @@ -426,7 +426,7 @@ void Sample_SoloMesh::drawAgent(const float* pos, float r, float h, float c, con // Agent dimensions. glLineWidth(2.0f); - rcDebugDrawCylinderWire(&dd, pos[0]-r, pos[1]+0.02f, pos[2]-r, pos[0]+r, pos[1]+h, pos[2]+r, col); + duDebugDrawCylinderWire(&dd, pos[0]-r, pos[1]+0.02f, pos[2]-r, pos[0]+r, pos[1]+h, pos[2]+r, col); glLineWidth(1.0f); glColor4ub(0,0,0,196); diff --git a/RecastDemo/Source/Sample_SoloMeshSimple.cpp b/RecastDemo/Source/Sample_SoloMeshSimple.cpp index 4682b27..7cb7909 100644 --- a/RecastDemo/Source/Sample_SoloMeshSimple.cpp +++ b/RecastDemo/Source/Sample_SoloMeshSimple.cpp @@ -10,6 +10,7 @@ #include "Recast.h" #include "RecastTimer.h" #include "RecastDebugDraw.h" +#include "RecastDump.h" #include "DetourNavMesh.h" #include "DetourNavMeshBuilder.h" #include "DetourDebugDraw.h" @@ -153,12 +154,12 @@ void Sample_SoloMeshSimple::handleRender() if (m_drawMode == DRAWMODE_MESH) { // Draw mesh - rcDebugDrawMeshSlope(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, m_agentMaxSlope); + duDebugDrawTriMeshSlope(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, m_agentMaxSlope); } else if (m_drawMode != DRAWMODE_NAVMESH_TRANS) { // Draw mesh - rcDebugDrawMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); + duDebugDrawTriMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); } glDisable(GL_FOG); @@ -166,7 +167,7 @@ void Sample_SoloMeshSimple::handleRender() // Draw bounds col[0] = 1; col[1] = 1; col[2] = 1; col[3] = 0.5f; - rcDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); + duDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); if (m_navMesh && (m_drawMode == DRAWMODE_NAVMESH || @@ -185,61 +186,61 @@ void Sample_SoloMeshSimple::handleRender() glDepthMask(GL_TRUE); if (m_chf && m_drawMode == DRAWMODE_COMPACT) - rcDebugDrawCompactHeightfieldSolid(&dd, *m_chf); + duDebugDrawCompactHeightfieldSolid(&dd, *m_chf); if (m_chf && m_drawMode == DRAWMODE_COMPACT_DISTANCE) - rcDebugDrawCompactHeightfieldDistance(&dd, *m_chf); + duDebugDrawCompactHeightfieldDistance(&dd, *m_chf); if (m_chf && m_drawMode == DRAWMODE_COMPACT_REGIONS) - rcDebugDrawCompactHeightfieldRegions(&dd, *m_chf); + duDebugDrawCompactHeightfieldRegions(&dd, *m_chf); if (m_solid && m_drawMode == DRAWMODE_VOXELS) { glEnable(GL_FOG); - rcDebugDrawHeightfieldSolid(&dd, *m_solid); + duDebugDrawHeightfieldSolid(&dd, *m_solid); glDisable(GL_FOG); } if (m_solid && m_drawMode == DRAWMODE_VOXELS_WALKABLE) { glEnable(GL_FOG); - rcDebugDrawHeightfieldWalkable(&dd, *m_solid); + duDebugDrawHeightfieldWalkable(&dd, *m_solid); glDisable(GL_FOG); } if (m_cset && m_drawMode == DRAWMODE_RAW_CONTOURS) { glDepthMask(GL_FALSE); - rcDebugDrawRawContours(&dd, *m_cset); + duDebugDrawRawContours(&dd, *m_cset); glDepthMask(GL_TRUE); } if (m_cset && m_drawMode == DRAWMODE_BOTH_CONTOURS) { glDepthMask(GL_FALSE); - rcDebugDrawRawContours(&dd, *m_cset, 0.5f); - rcDebugDrawContours(&dd, *m_cset); + duDebugDrawRawContours(&dd, *m_cset, 0.5f); + duDebugDrawContours(&dd, *m_cset); glDepthMask(GL_TRUE); } if (m_cset && m_drawMode == DRAWMODE_CONTOURS) { glDepthMask(GL_FALSE); - rcDebugDrawContours(&dd, *m_cset); + duDebugDrawContours(&dd, *m_cset); glDepthMask(GL_TRUE); } if (m_chf && m_cset && m_drawMode == DRAWMODE_REGION_CONNECTIONS) { - rcDebugDrawCompactHeightfieldRegions(&dd, *m_chf); + duDebugDrawCompactHeightfieldRegions(&dd, *m_chf); glDepthMask(GL_FALSE); - rcDebugDrawRegionConnections(&dd, *m_cset); + duDebugDrawRegionConnections(&dd, *m_cset); glDepthMask(GL_TRUE); } if (m_pmesh && m_drawMode == DRAWMODE_POLYMESH) { glDepthMask(GL_FALSE); - rcDebugDrawPolyMesh(&dd, *m_pmesh); + duDebugDrawPolyMesh(&dd, *m_pmesh); glDepthMask(GL_TRUE); } if (m_dmesh && m_drawMode == DRAWMODE_POLYMESH_DETAIL) { glDepthMask(GL_FALSE); - rcDebugDrawPolyMeshDetail(&dd, *m_dmesh); + duDebugDrawPolyMeshDetail(&dd, *m_dmesh); glDepthMask(GL_TRUE); } @@ -480,7 +481,7 @@ bool Sample_SoloMeshSimple::handleBuild() } // At this point the navigation mesh data is ready, you can access it from m_pmesh. - // See rcDebugDrawPolyMesh or dtCreateNavMeshData as examples how to access the data. + // See duDebugDrawPolyMesh or dtCreateNavMeshData as examples how to access the data. // // (Optional) Step 8. Create Detour data from Recast poly mesh. diff --git a/RecastDemo/Source/Sample_SoloMeshTiled.cpp b/RecastDemo/Source/Sample_SoloMeshTiled.cpp index 8f5f4dc..196d311 100644 --- a/RecastDemo/Source/Sample_SoloMeshTiled.cpp +++ b/RecastDemo/Source/Sample_SoloMeshTiled.cpp @@ -186,12 +186,12 @@ void Sample_SoloMeshTiled::handleRender() if (m_drawMode == DRAWMODE_MESH) { // Draw mesh - rcDebugDrawMeshSlope(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, m_agentMaxSlope); + duDebugDrawTriMeshSlope(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, m_agentMaxSlope); } else if (m_drawMode != DRAWMODE_NAVMESH_TRANS) { // Draw mesh - rcDebugDrawMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); + duDebugDrawTriMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); } glDisable(GL_FOG); @@ -199,7 +199,7 @@ void Sample_SoloMeshTiled::handleRender() // Draw bounds col[0] = 1; col[1] = 1; col[2] = 1; col[3] = 0.5f; - rcDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); + duDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); // Tiling grid. const int ts = (int)m_tileSize; @@ -262,7 +262,7 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].chf) - rcDebugDrawCompactHeightfieldSolid(&dd, *m_tileSet->tiles[i].chf); + duDebugDrawCompactHeightfieldSolid(&dd, *m_tileSet->tiles[i].chf); } } @@ -271,7 +271,7 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].chf) - rcDebugDrawCompactHeightfieldDistance(&dd, *m_tileSet->tiles[i].chf); + duDebugDrawCompactHeightfieldDistance(&dd, *m_tileSet->tiles[i].chf); } } if (m_drawMode == DRAWMODE_COMPACT_REGIONS) @@ -279,7 +279,7 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].chf) - rcDebugDrawCompactHeightfieldRegions(&dd, *m_tileSet->tiles[i].chf); + duDebugDrawCompactHeightfieldRegions(&dd, *m_tileSet->tiles[i].chf); } } @@ -289,7 +289,7 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].solid) - rcDebugDrawHeightfieldSolid(&dd, *m_tileSet->tiles[i].solid); + duDebugDrawHeightfieldSolid(&dd, *m_tileSet->tiles[i].solid); } glDisable(GL_FOG); } @@ -299,7 +299,7 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].solid) - rcDebugDrawHeightfieldWalkable(&dd, *m_tileSet->tiles[i].solid); + duDebugDrawHeightfieldWalkable(&dd, *m_tileSet->tiles[i].solid); } glDisable(GL_FOG); } @@ -309,7 +309,7 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].cset) - rcDebugDrawRawContours(&dd, *m_tileSet->tiles[i].cset); + duDebugDrawRawContours(&dd, *m_tileSet->tiles[i].cset); } glDepthMask(GL_TRUE); } @@ -320,8 +320,8 @@ void Sample_SoloMeshTiled::handleRender() { if (m_tileSet->tiles[i].cset) { - rcDebugDrawRawContours(&dd, *m_tileSet->tiles[i].cset, 0.5f); - rcDebugDrawContours(&dd, *m_tileSet->tiles[i].cset); + duDebugDrawRawContours(&dd, *m_tileSet->tiles[i].cset, 0.5f); + duDebugDrawContours(&dd, *m_tileSet->tiles[i].cset); } } glDepthMask(GL_TRUE); @@ -332,7 +332,7 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].cset) - rcDebugDrawContours(&dd, *m_tileSet->tiles[i].cset); + duDebugDrawContours(&dd, *m_tileSet->tiles[i].cset); } glDepthMask(GL_TRUE); } @@ -341,14 +341,14 @@ void Sample_SoloMeshTiled::handleRender() for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].chf) - rcDebugDrawCompactHeightfieldRegions(&dd, *m_tileSet->tiles[i].chf); + duDebugDrawCompactHeightfieldRegions(&dd, *m_tileSet->tiles[i].chf); } glDepthMask(GL_FALSE); for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].cset) - rcDebugDrawRegionConnections(&dd, *m_tileSet->tiles[i].cset); + duDebugDrawRegionConnections(&dd, *m_tileSet->tiles[i].cset); } glDepthMask(GL_TRUE); } @@ -357,14 +357,14 @@ void Sample_SoloMeshTiled::handleRender() glDepthMask(GL_FALSE); if (m_pmesh) { - rcDebugDrawPolyMesh(&dd, *m_pmesh); + duDebugDrawPolyMesh(&dd, *m_pmesh); } else { for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].pmesh) - rcDebugDrawPolyMesh(&dd, *m_tileSet->tiles[i].pmesh); + duDebugDrawPolyMesh(&dd, *m_tileSet->tiles[i].pmesh); } } @@ -375,14 +375,14 @@ void Sample_SoloMeshTiled::handleRender() glDepthMask(GL_FALSE); if (m_dmesh) { - rcDebugDrawPolyMeshDetail(&dd, *m_dmesh); + duDebugDrawPolyMeshDetail(&dd, *m_dmesh); } else { for (int i = 0; i < m_tileSet->width*m_tileSet->height; ++i) { if (m_tileSet->tiles[i].dmesh) - rcDebugDrawPolyMeshDetail(&dd, *m_tileSet->tiles[i].dmesh); + duDebugDrawPolyMeshDetail(&dd, *m_tileSet->tiles[i].dmesh); } } glDepthMask(GL_TRUE); diff --git a/RecastDemo/Source/Sample_TileMesh.cpp b/RecastDemo/Source/Sample_TileMesh.cpp index 0099f14..7b5fb2b 100644 --- a/RecastDemo/Source/Sample_TileMesh.cpp +++ b/RecastDemo/Source/Sample_TileMesh.cpp @@ -334,15 +334,15 @@ void Sample_TileMesh::handleRender() // Draw mesh if (m_navMesh) - rcDebugDrawMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); + duDebugDrawTriMesh(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, 0); else - rcDebugDrawMeshSlope(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, m_agentMaxSlope); + duDebugDrawTriMeshSlope(&dd, m_verts, m_nverts, m_tris, m_trinorms, m_ntris, m_agentMaxSlope); glDepthMask(GL_FALSE); // Draw bounds float col[4] = {1,1,1,0.5f}; - rcDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); + duDebugDrawBoxWire(&dd, m_bmin[0],m_bmin[1],m_bmin[2], m_bmax[0],m_bmax[1],m_bmax[2], col); // Tiling grid. const int ts = (int)m_tileSize; @@ -382,10 +382,10 @@ void Sample_TileMesh::handleRender() glEnd(); // Draw active tile - rcDebugDrawBoxWire(&dd, m_tileBmin[0],m_tileBmin[1],m_tileBmin[2], m_tileBmax[0],m_tileBmax[1],m_tileBmax[2], m_tileCol); + duDebugDrawBoxWire(&dd, m_tileBmin[0],m_tileBmin[1],m_tileBmin[2], m_tileBmax[0],m_tileBmax[1],m_tileBmax[2], m_tileCol); if (m_navMesh) - dtDebugDrawNavMesh(m_navMesh); + duDebugDrawNavMesh(&dd, m_navMesh); if (m_sposSet) { @@ -424,13 +424,13 @@ void Sample_TileMesh::handleRender() if (m_toolMode == TOOLMODE_PATHFIND) { - dtDebugDrawNavMeshPoly(m_navMesh, m_startRef, startCol); - dtDebugDrawNavMeshPoly(m_navMesh, m_endRef, endCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_startRef, startCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_endRef, endCol); if (m_npolys) { for (int i = 1; i < m_npolys-1; ++i) - dtDebugDrawNavMeshPoly(m_navMesh, m_polys[i], pathCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_polys[i], pathCol); } if (m_nstraightPath) { @@ -451,12 +451,12 @@ void Sample_TileMesh::handleRender() } else if (m_toolMode == TOOLMODE_RAYCAST) { - dtDebugDrawNavMeshPoly(m_navMesh, m_startRef, startCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_startRef, startCol); if (m_nstraightPath) { for (int i = 1; i < m_npolys; ++i) - dtDebugDrawNavMeshPoly(m_navMesh, m_polys[i], pathCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_polys[i], pathCol); glColor4ub(64,16,0,220); glLineWidth(3.0f); @@ -475,9 +475,9 @@ void Sample_TileMesh::handleRender() } else if (m_toolMode == TOOLMODE_DISTANCE_TO_WALL) { - dtDebugDrawNavMeshPoly(m_navMesh, m_startRef, startCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_startRef, startCol); const float col[4] = {1,1,1,0.5f}; - rcDebugDrawCylinderWire(&dd, m_spos[0]-m_distanceToWall, m_spos[1]+0.02f, m_spos[2]-m_distanceToWall, + duDebugDrawCylinderWire(&dd, m_spos[0]-m_distanceToWall, m_spos[1]+0.02f, m_spos[2]-m_distanceToWall, m_spos[0]+m_distanceToWall, m_spos[1]+m_agentHeight, m_spos[2]+m_distanceToWall, col); glLineWidth(3.0f); glColor4fv(col); @@ -492,14 +492,14 @@ void Sample_TileMesh::handleRender() const float cola[4] = {0,0,0,0.5f}; for (int i = 0; i < m_npolys; ++i) { - dtDebugDrawNavMeshPoly(m_navMesh, m_polys[i], pathCol); + duDebugDrawNavMeshPoly(&dd, m_navMesh, m_polys[i], pathCol); if (m_parent[i]) { float p0[3], p1[3]; getPolyCenter(m_navMesh, m_polys[i], p0); getPolyCenter(m_navMesh, m_parent[i], p1); glColor4ub(0,0,0,128); - rcDrawArc(&dd, p0, p1, cola, 2.0f); + duDebugDrawArc(&dd, p0, p1, cola, 2.0f); } } @@ -507,7 +507,7 @@ void Sample_TileMesh::handleRender() const float dz = m_epos[2] - m_spos[2]; float dist = sqrtf(dx*dx + dz*dz); const float col[4] = {1,1,1,0.5f}; - rcDebugDrawCylinderWire(&dd, m_spos[0]-dist, m_spos[1]+0.02f, m_spos[2]-dist, + duDebugDrawCylinderWire(&dd, m_spos[0]-dist, m_spos[1]+0.02f, m_spos[2]-dist, m_spos[0]+dist, m_spos[1]+m_agentHeight, m_spos[2]+dist, col); }